
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* WARNING: Struct "Output_section_headers": ignoring overlapping field "layout_" */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Struct "Output_reduced_debug_abbrev_section": ignoring overlapping field "data_" */
/* WARNING: Struct "Output_reduced_debug_info_section": ignoring overlapping field "data_" */
/* DWARF original prototype: bool read_pubnames_and_pubtypes(Gdb_index_info_reader * this, Dwarf_die
   * die) */

bool __thiscall
gold::Gdb_index_info_reader::read_pubnames_and_pubtypes(Gdb_index_info_reader *this,Dwarf_die *die)

{
  undefined3 extraout_var;
  Gdb_index *pGVar1;
  bool bVar3;
  bool bVar4;
  int iVar2;
  int extraout_v1;
  Relobj *pRVar5;
  off_t oVar6;
  longlong lVar7;
  int iVar8;
  undefined4 in_stack_ffffffc4;
  uint shndx;
  
  iVar8 = 0x4c9240;
  if (((die->abbrev_code_ == (Abbrev_code *)0x0) || (die->abbrev_code_->tag != 0x41)) ||
     (iVar2 = (*(code *)PTR_string_attribute_004c380c)(die,0x2130), iVar2 == 0)) {
    oVar6 = (**(code **)(iVar8 + -0x5a58))(die,0x10,&shndx);
    iVar2 = (int)((ulonglong)oVar6 >> 0x20);
    lVar7 = (**(code **)(iVar8 + -0x5a58))(die,0x2134,&shndx);
    (**(code **)(iVar8 + -0x5a48))(die,0x2134);
    if ((lVar7 == -1) && (extraout_v1 == 0)) {
      if ((((die->abbrev_code_ == (Abbrev_code *)0x0) || (die->abbrev_code_->tag != 0x41)) ||
          (pGVar1 = this->gdb_index_,
          pGVar1->pubnames_object_ != (this->super_Dwarf_info_reader).object_)) ||
         ((*(int *)&pGVar1->stmt_list_offset_ != iVar2 ||
          ((int)pGVar1->stmt_list_offset_ != (int)oVar6)))) {
        return false;
      }
    }
    else {
      pGVar1 = this->gdb_index_;
      pRVar5 = (this->super_Dwarf_info_reader).object_;
      if ((pGVar1->pubnames_object_ != pRVar5) ||
         ((*(int *)&pGVar1->stmt_list_offset_ != iVar2 ||
          ((int)pGVar1->stmt_list_offset_ != (int)oVar6)))) {
        pGVar1->stmt_list_offset_ = oVar6;
        pGVar1->pubnames_object_ = pRVar5;
        std::
        _Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>
        ::find((_Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>
                *)&stack0xffffffd8,(key_type_conflict1 *)&pGVar1->cu_pubname_map_);
        bVar3 = read_pubtable(this,this->gdb_index_->pubnames_table_,
                              CONCAT44(iVar8,in_stack_ffffffc4));
        std::
        _Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>
        ::find((_Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>
                *)&stack0xffffffd8,(key_type_conflict1 *)&this->gdb_index_->cu_pubtype_map_);
        bVar4 = read_pubtable(this,this->gdb_index_->pubtypes_table_,
                              CONCAT44(iVar8,in_stack_ffffffc4));
        if (CONCAT31(extraout_var,bVar3) == 0) {
          return bVar4;
        }
      }
    }
  }
  return true;
}



/* gold::Gdb_index_info_reader::read_pubnames_and_pubtypes(gold::Dwarf_die*) */

undefined4 __thiscall
gold::Gdb_index_info_reader::read_pubnames_and_pubtypes
          (Gdb_index_info_reader *this,Dwarf_die *param_1)

{
  int iVar1;
  int iVar2;
  undefined4 uVar3;
  int extraout_v1;
  int iVar4;
  undefined8 uVar5;
  longlong lVar6;
  int iVar7;
  undefined4 in_stack_ffffffc4;
  undefined1 auStack_30 [8];
  longlong local_28;
  
  iVar7 = 0x4c9240;
  if (((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)) ||
     (iVar2 = (*(code *)PTR_string_attribute_004c380c)(param_1,0x2130), iVar2 == 0)) {
    uVar5 = (**(code **)(iVar7 + -0x5a58))(param_1,0x10,auStack_30);
    iVar2 = (int)((ulonglong)uVar5 >> 0x20);
    lVar6 = (**(code **)(iVar7 + -0x5a58))(param_1,0x2134,auStack_30);
    (**(code **)(iVar7 + -0x5a48))(param_1,0x2134);
    if ((lVar6 == -1) && (extraout_v1 == 0)) {
      if ((((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)) ||
          (iVar7 = *(int *)(this + 0x4d8), *(int *)(iVar7 + 0x128) != *(int *)(this + 8))) ||
         ((*(int *)(iVar7 + 0x130) != iVar2 || (*(int *)(iVar7 + 0x134) != (int)uVar5)))) {
        return 0;
      }
    }
    else {
      iVar1 = *(int *)(this + 0x4d8);
      iVar4 = *(int *)(this + 8);
      if ((*(int *)(iVar1 + 0x128) != iVar4) ||
         ((*(int *)(iVar1 + 0x130) != iVar2 || (*(int *)(iVar1 + 0x134) != (int)uVar5)))) {
        *(undefined8 *)(iVar1 + 0x130) = uVar5;
        *(int *)(iVar1 + 0x128) = iVar4;
        std::
        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>
        ::find(&local_28);
        iVar2 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));
        std::
        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>
        ::find(&local_28);
        uVar3 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));
        if (iVar2 == 0) {
          return uVar3;
        }
      }
    }
  }
  return 1;
}


lui gp,0x35
addiu gp,gp,-0x20bc
addu gp,gp,t9
addiu sp,sp,-0x50
lw v0,0x28(a1)
sw gp,0x10(sp)
sw s1,0x38(sp)
or s1,a1,zero
sw s0,0x34(sp)
or s0,a0,zero
sw ra,0x4c(sp)
sw s5,0x48(sp)
sw s4,0x44(sp)
sw s3,0x40(sp)
beq v0,zero,0x0017b34c
_sw s2,0x3c(sp)
lw v1,0x0(v0)
li v0,0x41
beq v1,v0,0x0017b530
_lw t9,-0x5a34(gp)
lw t9,-0x5a58(gp)
addiu s2,sp,0x20
li a1,0x10
or a2,s2,zero
jalr t9
_or a0,s1,zero
li a1,0x2134
lw gp,0x10(sp)
or a2,s2,zero
or a0,s1,zero
or s4,v0,zero
lw t9,-0x5a58(gp)
jalr t9
_or s5,v1,zero
li a1,0x2134
lw gp,0x10(sp)
or a0,s1,zero
or s2,v0,zero
lw t9,-0x5a48(gp)
jalr t9
_or s3,v1,zero
li v0,-0x1
beq s2,v0,0x0017b4a8
_lw gp,0x10(sp)
lw v0,0x4d8(s0)
lw v1,0x8(s0)
lw a0,0x128(v0)
beq a0,v1,0x0017b510
_lw s2,-0x5a5c(gp)
addiu a1,v0,0x30
sw s4,0x130(v0)
addiu s3,sp,0x28
sw s5,0x134(v0)
addiu s4,sp,0x18
sw v1,0x128(v0)
or a0,s3,zero
lw v0,0x38(s0)
or a2,s4,zero
lw v1,0x3c(s0)
or t9,s2,zero
sw v0,0x18(sp)
bal 0x0017c9b0
_sw v1,0x1c(sp)
lw v0,0x28(sp)
beq v0,zero,0x0017b56c
_lw gp,0x10(sp)
lw a3,0x14(v0)
lw a2,0x10(v0)
lw v0,0x4d8(s0)
or a0,s0,zero
lw s1,-0x5a30(gp)
or t9,s1,zero
bal 0x0017b224
_lw a1,0x68(v0)
or a0,s3,zero
lw a1,0x4d8(s0)
or a2,s4,zero
lw t1,0x3c(s0)
or t9,s2,zero
lw t0,0x38(s0)
or s3,v0,zero
addiu a1,a1,0x4c
sw t1,0x1c(sp)
bal 0x0017c9b0
_sw t0,0x18(sp)
lw v0,0x28(sp)
beq v0,zero,0x0017b578
_li a3,-0x1
lw a3,0x14(v0)
lw a2,0x10(v0)
lw v0,0x4d8(s0)
or a0,s0,zero
or t9,s1,zero
bal 0x0017b224
_lw a1,0x6c(v0)
beq s3,zero,0x0017b488
_lw ra,0x4c(sp)
li v0,0x1
lw ra,0x4c(sp)
lw s5,0x48(sp)
lw s4,0x44(sp)
lw s3,0x40(sp)
lw s2,0x3c(sp)
lw s1,0x38(sp)
lw s0,0x34(sp)
jr ra
_addiu sp,sp,0x50
bne s3,s2,0x0017b3ac
_nop
bne v1,zero,0x0017b3ac
_nop
lw v0,0x28(s1)
beq v0,zero,0x0017b4e8
_nop
lw v1,0x0(v0)
li v0,0x41
bne v1,v0,0x0017b4ec
_or v0,zero,zero
lw v0,0x4d8(s0)
lw v1,0x8(s0)
lw a0,0x128(v0)
beq a0,v1,0x0017b54c
_nop
or v0,zero,zero
lw ra,0x4c(sp)
lw s5,0x48(sp)
lw s4,0x44(sp)
lw s3,0x40(sp)
lw s2,0x3c(sp)
lw s1,0x38(sp)
lw s0,0x34(sp)
jr ra
_addiu sp,sp,0x50
lw a0,0x130(v0)
bne a0,s4,0x0017b3c0
_nop
lw a0,0x134(v0)
bne a0,s5,0x0017b3c0
_nop
b 0x0017b484
_li v0,0x1
li a1,0x2130
jalr t9
_or a0,s1,zero
beq v0,zero,0x0017b34c
_lw gp,0x10(sp)
b 0x0017b484
_li v0,0x1
lw v1,0x130(v0)
bne v1,s4,0x0017b4e8
_nop
lw v0,0x134(v0)
beq v0,s5,0x0017b480
_or v0,zero,zero
b 0x0017b4f0
_lw ra,0x4c(sp)
li a3,-0x1
b 0x0017b40c
_li a2,-0x1
b 0x0017b464
_li a2,-0x1
(translation_unit "/* gold::Gdb_index_info_reader::read_pubnames_and_pubtypes(gold::Dwarf_die*) */\n\nundefined4 __thiscall\ngold::Gdb_index_info_reader::read_pubnames_and_pubtypes\n          (Gdb_index_info_reader *this,Dwarf_die *param_1)\n\n{\n  int iVar1;\n  int iVar2;\n  undefined4 uVar3;\n  int extraout_v1;\n  int iVar4;\n  undefined8 uVar5;\n  longlong lVar6;\n  int iVar7;\n  undefined4 in_stack_ffffffc4;\n  undefined1 auStack_30 [8];\n  longlong local_28;\n  \n  iVar7 = 0x4c9240;\n  if (((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)) ||\n     (iVar2 = (*(code *)PTR_string_attribute_004c380c)(param_1,0x2130), iVar2 == 0)) {\n    uVar5 = (**(code **)(iVar7 + -0x5a58))(param_1,0x10,auStack_30);\n    iVar2 = (int)((ulonglong)uVar5 >> 0x20);\n    lVar6 = (**(code **)(iVar7 + -0x5a58))(param_1,0x2134,auStack_30);\n    (**(code **)(iVar7 + -0x5a48))(param_1,0x2134);\n    if ((lVar6 == -1) && (extraout_v1 == 0)) {\n      if ((((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)) ||\n          (iVar7 = *(int *)(this + 0x4d8), *(int *)(iVar7 + 0x128) != *(int *)(this + 8))) ||\n         ((*(int *)(iVar7 + 0x130) != iVar2 || (*(int *)(iVar7 + 0x134) != (int)uVar5)))) {\n        return 0;\n      }\n    }\n    else {\n      iVar1 = *(int *)(this + 0x4d8);\n      iVar4 = *(int *)(this + 8);\n      if ((*(int *)(iVar1 + 0x128) != iVar4) ||\n         ((*(int *)(iVar1 + 0x130) != iVar2 || (*(int *)(iVar1 + 0x134) != (int)uVar5)))) {\n        *(undefined8 *)(iVar1 + 0x130) = uVar5;\n        *(int *)(iVar1 + 0x128) = iVar4;\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        iVar2 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        uVar3 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        if (iVar2 == 0) {\n          return uVar3;\n        }\n      }\n    }\n  }\n  return 1;\n}\n\n" comment (function_definition "undefined4 __thiscall\ngold::Gdb_index_info_reader::read_pubnames_and_pubtypes\n          (Gdb_index_info_reader *this,Dwarf_die *param_1)\n\n{\n  int iVar1;\n  int iVar2;\n  undefined4 uVar3;\n  int extraout_v1;\n  int iVar4;\n  undefined8 uVar5;\n  longlong lVar6;\n  int iVar7;\n  undefined4 in_stack_ffffffc4;\n  undefined1 auStack_30 [8];\n  longlong local_28;\n  \n  iVar7 = 0x4c9240;\n  if (((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)) ||\n     (iVar2 = (*(code *)PTR_string_attribute_004c380c)(param_1,0x2130), iVar2 == 0)) {\n    uVar5 = (**(code **)(iVar7 + -0x5a58))(param_1,0x10,auStack_30);\n    iVar2 = (int)((ulonglong)uVar5 >> 0x20);\n    lVar6 = (**(code **)(iVar7 + -0x5a58))(param_1,0x2134,auStack_30);\n    (**(code **)(iVar7 + -0x5a48))(param_1,0x2134);\n    if ((lVar6 == -1) && (extraout_v1 == 0)) {\n      if ((((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)) ||\n          (iVar7 = *(int *)(this + 0x4d8), *(int *)(iVar7 + 0x128) != *(int *)(this + 8))) ||\n         ((*(int *)(iVar7 + 0x130) != iVar2 || (*(int *)(iVar7 + 0x134) != (int)uVar5)))) {\n        return 0;\n      }\n    }\n    else {\n      iVar1 = *(int *)(this + 0x4d8);\n      iVar4 = *(int *)(this + 8);\n      if ((*(int *)(iVar1 + 0x128) != iVar4) ||\n         ((*(int *)(iVar1 + 0x130) != iVar2 || (*(int *)(iVar1 + 0x134) != (int)uVar5)))) {\n        *(undefined8 *)(iVar1 + 0x130) = uVar5;\n        *(int *)(iVar1 + 0x128) = iVar4;\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        iVar2 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        uVar3 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        if (iVar2 == 0) {\n          return uVar3;\n        }\n      }\n    }\n  }\n  return 1;\n}" type_identifier (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Gdb_index_info_reader::" identifier : : identifier : :) (function_declarator "read_pubnames_and_pubtypes\n          (Gdb_index_info_reader *this,Dwarf_die *param_1)" identifier (parameter_list "(Gdb_index_info_reader *this,Dwarf_die *param_1)" ( (parameter_declaration "Gdb_index_info_reader *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Dwarf_die *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  undefined4 uVar3;\n  int extraout_v1;\n  int iVar4;\n  undefined8 uVar5;\n  longlong lVar6;\n  int iVar7;\n  undefined4 in_stack_ffffffc4;\n  undefined1 auStack_30 [8];\n  longlong local_28;\n  \n  iVar7 = 0x4c9240;\n  if (((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)) ||\n     (iVar2 = (*(code *)PTR_string_attribute_004c380c)(param_1,0x2130), iVar2 == 0)) {\n    uVar5 = (**(code **)(iVar7 + -0x5a58))(param_1,0x10,auStack_30);\n    iVar2 = (int)((ulonglong)uVar5 >> 0x20);\n    lVar6 = (**(code **)(iVar7 + -0x5a58))(param_1,0x2134,auStack_30);\n    (**(code **)(iVar7 + -0x5a48))(param_1,0x2134);\n    if ((lVar6 == -1) && (extraout_v1 == 0)) {\n      if ((((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)) ||\n          (iVar7 = *(int *)(this + 0x4d8), *(int *)(iVar7 + 0x128) != *(int *)(this + 8))) ||\n         ((*(int *)(iVar7 + 0x130) != iVar2 || (*(int *)(iVar7 + 0x134) != (int)uVar5)))) {\n        return 0;\n      }\n    }\n    else {\n      iVar1 = *(int *)(this + 0x4d8);\n      iVar4 = *(int *)(this + 8);\n      if ((*(int *)(iVar1 + 0x128) != iVar4) ||\n         ((*(int *)(iVar1 + 0x130) != iVar2 || (*(int *)(iVar1 + 0x134) != (int)uVar5)))) {\n        *(undefined8 *)(iVar1 + 0x130) = uVar5;\n        *(int *)(iVar1 + 0x128) = iVar4;\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        iVar2 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        uVar3 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        if (iVar2 == 0) {\n          return uVar3;\n        }\n      }\n    }\n  }\n  return 1;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "int extraout_v1;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined8 uVar5;" type_identifier identifier ;) (declaration "longlong lVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined4 in_stack_ffffffc4;" type_identifier identifier ;) (declaration "undefined1 auStack_30 [8];" type_identifier (array_declarator "auStack_30 [8]" identifier [ number_literal ]) ;) (declaration "longlong local_28;" type_identifier identifier ;) (expression_statement "iVar7 = 0x4c9240;" (assignment_expression "iVar7 = 0x4c9240" identifier = number_literal) ;) (if_statement "if (((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)) ||\n     (iVar2 = (*(code *)PTR_string_attribute_004c380c)(param_1,0x2130), iVar2 == 0)) {\n    uVar5 = (**(code **)(iVar7 + -0x5a58))(param_1,0x10,auStack_30);\n    iVar2 = (int)((ulonglong)uVar5 >> 0x20);\n    lVar6 = (**(code **)(iVar7 + -0x5a58))(param_1,0x2134,auStack_30);\n    (**(code **)(iVar7 + -0x5a48))(param_1,0x2134);\n    if ((lVar6 == -1) && (extraout_v1 == 0)) {\n      if ((((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)) ||\n          (iVar7 = *(int *)(this + 0x4d8), *(int *)(iVar7 + 0x128) != *(int *)(this + 8))) ||\n         ((*(int *)(iVar7 + 0x130) != iVar2 || (*(int *)(iVar7 + 0x134) != (int)uVar5)))) {\n        return 0;\n      }\n    }\n    else {\n      iVar1 = *(int *)(this + 0x4d8);\n      iVar4 = *(int *)(this + 8);\n      if ((*(int *)(iVar1 + 0x128) != iVar4) ||\n         ((*(int *)(iVar1 + 0x130) != iVar2 || (*(int *)(iVar1 + 0x134) != (int)uVar5)))) {\n        *(undefined8 *)(iVar1 + 0x130) = uVar5;\n        *(int *)(iVar1 + 0x128) = iVar4;\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        iVar2 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        uVar3 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        if (iVar2 == 0) {\n          return uVar3;\n        }\n      }\n    }\n  }" if (parenthesized_expression "(((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)) ||\n     (iVar2 = (*(code *)PTR_string_attribute_004c380c)(param_1,0x2130), iVar2 == 0))" ( (binary_expression "((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)) ||\n     (iVar2 = (*(code *)PTR_string_attribute_004c380c)(param_1,0x2130), iVar2 == 0)" (parenthesized_expression "((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41))" ( (binary_expression "(*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)" (parenthesized_expression "(*(int **)(param_1 + 0x28) == (int *)0x0)" ( (binary_expression "*(int **)(param_1 + 0x28) == (int *)0x0" (pointer_expression "*(int **)(param_1 + 0x28)" * (cast_expression "(int **)(param_1 + 0x28)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(**(int **)(param_1 + 0x28) != 0x41)" ( (binary_expression "**(int **)(param_1 + 0x28) != 0x41" (pointer_expression "**(int **)(param_1 + 0x28)" * (pointer_expression "*(int **)(param_1 + 0x28)" * (cast_expression "(int **)(param_1 + 0x28)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) != number_literal) ))) )) || (parenthesized_expression "(iVar2 = (*(code *)PTR_string_attribute_004c380c)(param_1,0x2130), iVar2 == 0)" ( (comma_expression "iVar2 = (*(code *)PTR_string_attribute_004c380c)(param_1,0x2130), iVar2 == 0" (assignment_expression "iVar2 = (*(code *)PTR_string_attribute_004c380c)(param_1,0x2130)" identifier = (call_expression "(*(code *)PTR_string_attribute_004c380c)(param_1,0x2130)" (parenthesized_expression "(*(code *)PTR_string_attribute_004c380c)" ( (pointer_expression "*(code *)PTR_string_attribute_004c380c" * (cast_expression "(code *)PTR_string_attribute_004c380c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,0x2130)" ( identifier , number_literal )))) , (binary_expression "iVar2 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n    uVar5 = (**(code **)(iVar7 + -0x5a58))(param_1,0x10,auStack_30);\n    iVar2 = (int)((ulonglong)uVar5 >> 0x20);\n    lVar6 = (**(code **)(iVar7 + -0x5a58))(param_1,0x2134,auStack_30);\n    (**(code **)(iVar7 + -0x5a48))(param_1,0x2134);\n    if ((lVar6 == -1) && (extraout_v1 == 0)) {\n      if ((((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)) ||\n          (iVar7 = *(int *)(this + 0x4d8), *(int *)(iVar7 + 0x128) != *(int *)(this + 8))) ||\n         ((*(int *)(iVar7 + 0x130) != iVar2 || (*(int *)(iVar7 + 0x134) != (int)uVar5)))) {\n        return 0;\n      }\n    }\n    else {\n      iVar1 = *(int *)(this + 0x4d8);\n      iVar4 = *(int *)(this + 8);\n      if ((*(int *)(iVar1 + 0x128) != iVar4) ||\n         ((*(int *)(iVar1 + 0x130) != iVar2 || (*(int *)(iVar1 + 0x134) != (int)uVar5)))) {\n        *(undefined8 *)(iVar1 + 0x130) = uVar5;\n        *(int *)(iVar1 + 0x128) = iVar4;\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        iVar2 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        uVar3 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        if (iVar2 == 0) {\n          return uVar3;\n        }\n      }\n    }\n  }" { (expression_statement "uVar5 = (**(code **)(iVar7 + -0x5a58))(param_1,0x10,auStack_30);" (assignment_expression "uVar5 = (**(code **)(iVar7 + -0x5a58))(param_1,0x10,auStack_30)" identifier = (call_expression "(**(code **)(iVar7 + -0x5a58))(param_1,0x10,auStack_30)" (parenthesized_expression "(**(code **)(iVar7 + -0x5a58))" ( (pointer_expression "**(code **)(iVar7 + -0x5a58)" * (pointer_expression "*(code **)(iVar7 + -0x5a58)" * (cast_expression "(code **)(iVar7 + -0x5a58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + -0x5a58)" ( (binary_expression "iVar7 + -0x5a58" identifier + number_literal) ))))) )) (argument_list "(param_1,0x10,auStack_30)" ( identifier , number_literal , identifier )))) ;) (expression_statement "iVar2 = (int)((ulonglong)uVar5 >> 0x20);" (assignment_expression "iVar2 = (int)((ulonglong)uVar5 >> 0x20)" identifier = (cast_expression "(int)((ulonglong)uVar5 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar5 >> 0x20)" ( (binary_expression "(ulonglong)uVar5 >> 0x20" (cast_expression "(ulonglong)uVar5" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "lVar6 = (**(code **)(iVar7 + -0x5a58))(param_1,0x2134,auStack_30);" (assignment_expression "lVar6 = (**(code **)(iVar7 + -0x5a58))(param_1,0x2134,auStack_30)" identifier = (call_expression "(**(code **)(iVar7 + -0x5a58))(param_1,0x2134,auStack_30)" (parenthesized_expression "(**(code **)(iVar7 + -0x5a58))" ( (pointer_expression "**(code **)(iVar7 + -0x5a58)" * (pointer_expression "*(code **)(iVar7 + -0x5a58)" * (cast_expression "(code **)(iVar7 + -0x5a58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + -0x5a58)" ( (binary_expression "iVar7 + -0x5a58" identifier + number_literal) ))))) )) (argument_list "(param_1,0x2134,auStack_30)" ( identifier , number_literal , identifier )))) ;) (expression_statement "(**(code **)(iVar7 + -0x5a48))(param_1,0x2134);" (call_expression "(**(code **)(iVar7 + -0x5a48))(param_1,0x2134)" (parenthesized_expression "(**(code **)(iVar7 + -0x5a48))" ( (pointer_expression "**(code **)(iVar7 + -0x5a48)" * (pointer_expression "*(code **)(iVar7 + -0x5a48)" * (cast_expression "(code **)(iVar7 + -0x5a48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + -0x5a48)" ( (binary_expression "iVar7 + -0x5a48" identifier + number_literal) ))))) )) (argument_list "(param_1,0x2134)" ( identifier , number_literal ))) ;) (if_statement "if ((lVar6 == -1) && (extraout_v1 == 0)) {\n      if ((((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)) ||\n          (iVar7 = *(int *)(this + 0x4d8), *(int *)(iVar7 + 0x128) != *(int *)(this + 8))) ||\n         ((*(int *)(iVar7 + 0x130) != iVar2 || (*(int *)(iVar7 + 0x134) != (int)uVar5)))) {\n        return 0;\n      }\n    }\n    else {\n      iVar1 = *(int *)(this + 0x4d8);\n      iVar4 = *(int *)(this + 8);\n      if ((*(int *)(iVar1 + 0x128) != iVar4) ||\n         ((*(int *)(iVar1 + 0x130) != iVar2 || (*(int *)(iVar1 + 0x134) != (int)uVar5)))) {\n        *(undefined8 *)(iVar1 + 0x130) = uVar5;\n        *(int *)(iVar1 + 0x128) = iVar4;\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        iVar2 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        uVar3 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        if (iVar2 == 0) {\n          return uVar3;\n        }\n      }\n    }" if (parenthesized_expression "((lVar6 == -1) && (extraout_v1 == 0))" ( (binary_expression "(lVar6 == -1) && (extraout_v1 == 0)" (parenthesized_expression "(lVar6 == -1)" ( (binary_expression "lVar6 == -1" identifier == number_literal) )) && (parenthesized_expression "(extraout_v1 == 0)" ( (binary_expression "extraout_v1 == 0" identifier == number_literal) ))) )) (compound_statement "{\n      if ((((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)) ||\n          (iVar7 = *(int *)(this + 0x4d8), *(int *)(iVar7 + 0x128) != *(int *)(this + 8))) ||\n         ((*(int *)(iVar7 + 0x130) != iVar2 || (*(int *)(iVar7 + 0x134) != (int)uVar5)))) {\n        return 0;\n      }\n    }" { (if_statement "if ((((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)) ||\n          (iVar7 = *(int *)(this + 0x4d8), *(int *)(iVar7 + 0x128) != *(int *)(this + 8))) ||\n         ((*(int *)(iVar7 + 0x130) != iVar2 || (*(int *)(iVar7 + 0x134) != (int)uVar5)))) {\n        return 0;\n      }" if (parenthesized_expression "((((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)) ||\n          (iVar7 = *(int *)(this + 0x4d8), *(int *)(iVar7 + 0x128) != *(int *)(this + 8))) ||\n         ((*(int *)(iVar7 + 0x130) != iVar2 || (*(int *)(iVar7 + 0x134) != (int)uVar5))))" ( (binary_expression "(((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)) ||\n          (iVar7 = *(int *)(this + 0x4d8), *(int *)(iVar7 + 0x128) != *(int *)(this + 8))) ||\n         ((*(int *)(iVar7 + 0x130) != iVar2 || (*(int *)(iVar7 + 0x134) != (int)uVar5)))" (parenthesized_expression "(((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)) ||\n          (iVar7 = *(int *)(this + 0x4d8), *(int *)(iVar7 + 0x128) != *(int *)(this + 8)))" ( (binary_expression "((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)) ||\n          (iVar7 = *(int *)(this + 0x4d8), *(int *)(iVar7 + 0x128) != *(int *)(this + 8))" (parenthesized_expression "((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41))" ( (binary_expression "(*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)" (parenthesized_expression "(*(int **)(param_1 + 0x28) == (int *)0x0)" ( (binary_expression "*(int **)(param_1 + 0x28) == (int *)0x0" (pointer_expression "*(int **)(param_1 + 0x28)" * (cast_expression "(int **)(param_1 + 0x28)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(**(int **)(param_1 + 0x28) != 0x41)" ( (binary_expression "**(int **)(param_1 + 0x28) != 0x41" (pointer_expression "**(int **)(param_1 + 0x28)" * (pointer_expression "*(int **)(param_1 + 0x28)" * (cast_expression "(int **)(param_1 + 0x28)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) != number_literal) ))) )) || (parenthesized_expression "(iVar7 = *(int *)(this + 0x4d8), *(int *)(iVar7 + 0x128) != *(int *)(this + 8))" ( (comma_expression "iVar7 = *(int *)(this + 0x4d8), *(int *)(iVar7 + 0x128) != *(int *)(this + 8)" (assignment_expression "iVar7 = *(int *)(this + 0x4d8)" identifier = (pointer_expression "*(int *)(this + 0x4d8)" * (cast_expression "(int *)(this + 0x4d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x4d8)" ( (binary_expression "this + 0x4d8" identifier + number_literal) ))))) , (binary_expression "*(int *)(iVar7 + 0x128) != *(int *)(this + 8)" (pointer_expression "*(int *)(iVar7 + 0x128)" * (cast_expression "(int *)(iVar7 + 0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x128)" ( (binary_expression "iVar7 + 0x128" identifier + number_literal) )))) != (pointer_expression "*(int *)(this + 8)" * (cast_expression "(int *)(this + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 8)" ( (binary_expression "this + 8" identifier + number_literal) )))))) ))) )) || (parenthesized_expression "((*(int *)(iVar7 + 0x130) != iVar2 || (*(int *)(iVar7 + 0x134) != (int)uVar5)))" ( (parenthesized_expression "(*(int *)(iVar7 + 0x130) != iVar2 || (*(int *)(iVar7 + 0x134) != (int)uVar5))" ( (binary_expression "*(int *)(iVar7 + 0x130) != iVar2 || (*(int *)(iVar7 + 0x134) != (int)uVar5)" (binary_expression "*(int *)(iVar7 + 0x130) != iVar2" (pointer_expression "*(int *)(iVar7 + 0x130)" * (cast_expression "(int *)(iVar7 + 0x130)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x130)" ( (binary_expression "iVar7 + 0x130" identifier + number_literal) )))) != identifier) || (parenthesized_expression "(*(int *)(iVar7 + 0x134) != (int)uVar5)" ( (binary_expression "*(int *)(iVar7 + 0x134) != (int)uVar5" (pointer_expression "*(int *)(iVar7 + 0x134)" * (cast_expression "(int *)(iVar7 + 0x134)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x134)" ( (binary_expression "iVar7 + 0x134" identifier + number_literal) )))) != (cast_expression "(int)uVar5" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) ))) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) })) }) (else_clause "else {\n      iVar1 = *(int *)(this + 0x4d8);\n      iVar4 = *(int *)(this + 8);\n      if ((*(int *)(iVar1 + 0x128) != iVar4) ||\n         ((*(int *)(iVar1 + 0x130) != iVar2 || (*(int *)(iVar1 + 0x134) != (int)uVar5)))) {\n        *(undefined8 *)(iVar1 + 0x130) = uVar5;\n        *(int *)(iVar1 + 0x128) = iVar4;\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        iVar2 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        uVar3 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        if (iVar2 == 0) {\n          return uVar3;\n        }\n      }\n    }" else (compound_statement "{\n      iVar1 = *(int *)(this + 0x4d8);\n      iVar4 = *(int *)(this + 8);\n      if ((*(int *)(iVar1 + 0x128) != iVar4) ||\n         ((*(int *)(iVar1 + 0x130) != iVar2 || (*(int *)(iVar1 + 0x134) != (int)uVar5)))) {\n        *(undefined8 *)(iVar1 + 0x130) = uVar5;\n        *(int *)(iVar1 + 0x128) = iVar4;\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        iVar2 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        uVar3 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        if (iVar2 == 0) {\n          return uVar3;\n        }\n      }\n    }" { (expression_statement "iVar1 = *(int *)(this + 0x4d8);" (assignment_expression "iVar1 = *(int *)(this + 0x4d8)" identifier = (pointer_expression "*(int *)(this + 0x4d8)" * (cast_expression "(int *)(this + 0x4d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x4d8)" ( (binary_expression "this + 0x4d8" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = *(int *)(this + 8);" (assignment_expression "iVar4 = *(int *)(this + 8)" identifier = (pointer_expression "*(int *)(this + 8)" * (cast_expression "(int *)(this + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 8)" ( (binary_expression "this + 8" identifier + number_literal) ))))) ;) (if_statement "if ((*(int *)(iVar1 + 0x128) != iVar4) ||\n         ((*(int *)(iVar1 + 0x130) != iVar2 || (*(int *)(iVar1 + 0x134) != (int)uVar5)))) {\n        *(undefined8 *)(iVar1 + 0x130) = uVar5;\n        *(int *)(iVar1 + 0x128) = iVar4;\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        iVar2 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        uVar3 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        if (iVar2 == 0) {\n          return uVar3;\n        }\n      }" if (parenthesized_expression "((*(int *)(iVar1 + 0x128) != iVar4) ||\n         ((*(int *)(iVar1 + 0x130) != iVar2 || (*(int *)(iVar1 + 0x134) != (int)uVar5))))" ( (binary_expression "(*(int *)(iVar1 + 0x128) != iVar4) ||\n         ((*(int *)(iVar1 + 0x130) != iVar2 || (*(int *)(iVar1 + 0x134) != (int)uVar5)))" (parenthesized_expression "(*(int *)(iVar1 + 0x128) != iVar4)" ( (binary_expression "*(int *)(iVar1 + 0x128) != iVar4" (pointer_expression "*(int *)(iVar1 + 0x128)" * (cast_expression "(int *)(iVar1 + 0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x128)" ( (binary_expression "iVar1 + 0x128" identifier + number_literal) )))) != identifier) )) || (parenthesized_expression "((*(int *)(iVar1 + 0x130) != iVar2 || (*(int *)(iVar1 + 0x134) != (int)uVar5)))" ( (parenthesized_expression "(*(int *)(iVar1 + 0x130) != iVar2 || (*(int *)(iVar1 + 0x134) != (int)uVar5))" ( (binary_expression "*(int *)(iVar1 + 0x130) != iVar2 || (*(int *)(iVar1 + 0x134) != (int)uVar5)" (binary_expression "*(int *)(iVar1 + 0x130) != iVar2" (pointer_expression "*(int *)(iVar1 + 0x130)" * (cast_expression "(int *)(iVar1 + 0x130)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x130)" ( (binary_expression "iVar1 + 0x130" identifier + number_literal) )))) != identifier) || (parenthesized_expression "(*(int *)(iVar1 + 0x134) != (int)uVar5)" ( (binary_expression "*(int *)(iVar1 + 0x134) != (int)uVar5" (pointer_expression "*(int *)(iVar1 + 0x134)" * (cast_expression "(int *)(iVar1 + 0x134)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x134)" ( (binary_expression "iVar1 + 0x134" identifier + number_literal) )))) != (cast_expression "(int)uVar5" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) ))) )) (compound_statement "{\n        *(undefined8 *)(iVar1 + 0x130) = uVar5;\n        *(int *)(iVar1 + 0x128) = iVar4;\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        iVar2 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        uVar3 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        if (iVar2 == 0) {\n          return uVar3;\n        }\n      }" { (expression_statement "*(undefined8 *)(iVar1 + 0x130) = uVar5;" (assignment_expression "*(undefined8 *)(iVar1 + 0x130) = uVar5" (pointer_expression "*(undefined8 *)(iVar1 + 0x130)" * (cast_expression "(undefined8 *)(iVar1 + 0x130)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x130)" ( (binary_expression "iVar1 + 0x130" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar1 + 0x128) = iVar4;" (assignment_expression "*(int *)(iVar1 + 0x128) = iVar4" (pointer_expression "*(int *)(iVar1 + 0x128)" * (cast_expression "(int *)(iVar1 + 0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x128)" ( (binary_expression "iVar1 + 0x128" identifier + number_literal) )))) = identifier) ;) (ERROR "std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::" (comma_expression "std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std" identifier (ERROR "::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>" : : (comma_expression "_Hashtable<long_long,std" (binary_expression "_Hashtable<long_long" identifier < identifier) , identifier) : : (comma_expression "pair<long_long_const,long_long>,std" (binary_expression "pair<long_long_const" identifier < identifier) , (binary_expression "long_long>,std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<long_long_const,long_long>>,std" (binary_expression "pair<long_long_const" identifier < identifier) , (binary_expression "long_long>>,std" identifier >> (ERROR "," ,) identifier)) : : (comma_expression "__detail::_Select1st,std::equal_to<long_long>,std" identifier (ERROR "::_Select1st,std::equal_to<long_long>" : : (comma_expression "_Select1st,std" identifier , identifier) : : (binary_expression "equal_to<long_long" identifier < identifier) >) , identifier) : : (binary_expression "hash<long_long" identifier < identifier) >) , identifier) : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : :) (expression_statement "_Hashtable_traits<false,false,true>>\n        ::find(&local_28);" (comma_expression "_Hashtable_traits<false,false,true>>\n        ::find(&local_28)" (binary_expression "_Hashtable_traits<false" identifier < false) , (comma_expression "false,true>>\n        ::find(&local_28)" false , (binary_expression "true>>\n        ::find(&local_28)" true >> (ERROR "::" : :) (call_expression "find(&local_28)" identifier (argument_list "(&local_28)" ( (pointer_expression "&local_28" & identifier) )))))) ;) (expression_statement "iVar2 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));" (assignment_expression "iVar2 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4))" identifier = (call_expression "read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4))" identifier (argument_list "((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4))" ( (cast_expression "(Dwarf_pubnames_table *)this" ( (type_descriptor "Dwarf_pubnames_table *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (call_expression "CONCAT44(iVar7,in_stack_ffffffc4)" identifier (argument_list "(iVar7,in_stack_ffffffc4)" ( identifier , identifier ))) )))) ;) (ERROR "std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::" (comma_expression "std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std" identifier (ERROR "::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>" : : (comma_expression "_Hashtable<long_long,std" (binary_expression "_Hashtable<long_long" identifier < identifier) , identifier) : : (comma_expression "pair<long_long_const,long_long>,std" (binary_expression "pair<long_long_const" identifier < identifier) , (binary_expression "long_long>,std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<long_long_const,long_long>>,std" (binary_expression "pair<long_long_const" identifier < identifier) , (binary_expression "long_long>>,std" identifier >> (ERROR "," ,) identifier)) : : (comma_expression "__detail::_Select1st,std::equal_to<long_long>,std" identifier (ERROR "::_Select1st,std::equal_to<long_long>" : : (comma_expression "_Select1st,std" identifier , identifier) : : (binary_expression "equal_to<long_long" identifier < identifier) >) , identifier) : : (binary_expression "hash<long_long" identifier < identifier) >) , identifier) : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : :) (expression_statement "_Hashtable_traits<false,false,true>>\n        ::find(&local_28);" (comma_expression "_Hashtable_traits<false,false,true>>\n        ::find(&local_28)" (binary_expression "_Hashtable_traits<false" identifier < false) , (comma_expression "false,true>>\n        ::find(&local_28)" false , (binary_expression "true>>\n        ::find(&local_28)" true >> (ERROR "::" : :) (call_expression "find(&local_28)" identifier (argument_list "(&local_28)" ( (pointer_expression "&local_28" & identifier) )))))) ;) (expression_statement "uVar3 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));" (assignment_expression "uVar3 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4))" identifier = (call_expression "read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4))" identifier (argument_list "((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4))" ( (cast_expression "(Dwarf_pubnames_table *)this" ( (type_descriptor "Dwarf_pubnames_table *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (call_expression "CONCAT44(iVar7,in_stack_ffffffc4)" identifier (argument_list "(iVar7,in_stack_ffffffc4)" ( identifier , identifier ))) )))) ;) (if_statement "if (iVar2 == 0) {\n          return uVar3;\n        }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n          return uVar3;\n        }" { (return_statement "return uVar3;" return identifier ;) })) })) }))) })) (return_statement "return 1;" return number_literal ;) })))
(translation_unit "/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */\n/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */\n/* WARNING: Struct "Output_section_headers": ignoring overlapping field "layout_" */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* WARNING: Struct "Output_reduced_debug_abbrev_section": ignoring overlapping field "data_" */\n/* WARNING: Struct "Output_reduced_debug_info_section": ignoring overlapping field "data_" */\n/* DWARF original prototype: bool read_pubnames_and_pubtypes(Gdb_index_info_reader * this, Dwarf_die\n   * die) */\n\nbool __thiscall\ngold::Gdb_index_info_reader::read_pubnames_and_pubtypes(Gdb_index_info_reader *this,Dwarf_die *die)\n\n{\n  undefined3 extraout_var;\n  Gdb_index *pGVar1;\n  bool bVar3;\n  bool bVar4;\n  int iVar2;\n  int extraout_v1;\n  Relobj *pRVar5;\n  off_t oVar6;\n  longlong lVar7;\n  int iVar8;\n  undefined4 in_stack_ffffffc4;\n  uint shndx;\n  \n  iVar8 = 0x4c9240;\n  if (((die->abbrev_code_ == (Abbrev_code *)0x0) || (die->abbrev_code_->tag != 0x41)) ||\n     (iVar2 = (*(code *)PTR_string_attribute_004c380c)(die,0x2130), iVar2 == 0)) {\n    oVar6 = (**(code **)(iVar8 + -0x5a58))(die,0x10,&shndx);\n    iVar2 = (int)((ulonglong)oVar6 >> 0x20);\n    lVar7 = (**(code **)(iVar8 + -0x5a58))(die,0x2134,&shndx);\n    (**(code **)(iVar8 + -0x5a48))(die,0x2134);\n    if ((lVar7 == -1) && (extraout_v1 == 0)) {\n      if ((((die->abbrev_code_ == (Abbrev_code *)0x0) || (die->abbrev_code_->tag != 0x41)) ||\n          (pGVar1 = this->gdb_index_,\n          pGVar1->pubnames_object_ != (this->super_Dwarf_info_reader).object_)) ||\n         ((*(int *)&pGVar1->stmt_list_offset_ != iVar2 ||\n          ((int)pGVar1->stmt_list_offset_ != (int)oVar6)))) {\n        return false;\n      }\n    }\n    else {\n      pGVar1 = this->gdb_index_;\n      pRVar5 = (this->super_Dwarf_info_reader).object_;\n      if ((pGVar1->pubnames_object_ != pRVar5) ||\n         ((*(int *)&pGVar1->stmt_list_offset_ != iVar2 ||\n          ((int)pGVar1->stmt_list_offset_ != (int)oVar6)))) {\n        pGVar1->stmt_list_offset_ = oVar6;\n        pGVar1->pubnames_object_ = pRVar5;\n        std::\n        _Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n        ::find((_Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&stack0xffffffd8,(key_type_conflict1 *)&pGVar1->cu_pubname_map_);\n        bVar3 = read_pubtable(this,this->gdb_index_->pubnames_table_,\n                              CONCAT44(iVar8,in_stack_ffffffc4));\n        std::\n        _Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n        ::find((_Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&stack0xffffffd8,(key_type_conflict1 *)&this->gdb_index_->cu_pubtype_map_);\n        bVar4 = read_pubtable(this,this->gdb_index_->pubtypes_table_,\n                              CONCAT44(iVar8,in_stack_ffffffc4));\n        if (CONCAT31(extraout_var,bVar3) == 0) {\n          return bVar4;\n        }\n      }\n    }\n  }\n  return true;\n}\n\n" comment comment comment comment comment comment comment (function_definition "bool __thiscall\ngold::Gdb_index_info_reader::read_pubnames_and_pubtypes(Gdb_index_info_reader *this,Dwarf_die *die)\n\n{\n  undefined3 extraout_var;\n  Gdb_index *pGVar1;\n  bool bVar3;\n  bool bVar4;\n  int iVar2;\n  int extraout_v1;\n  Relobj *pRVar5;\n  off_t oVar6;\n  longlong lVar7;\n  int iVar8;\n  undefined4 in_stack_ffffffc4;\n  uint shndx;\n  \n  iVar8 = 0x4c9240;\n  if (((die->abbrev_code_ == (Abbrev_code *)0x0) || (die->abbrev_code_->tag != 0x41)) ||\n     (iVar2 = (*(code *)PTR_string_attribute_004c380c)(die,0x2130), iVar2 == 0)) {\n    oVar6 = (**(code **)(iVar8 + -0x5a58))(die,0x10,&shndx);\n    iVar2 = (int)((ulonglong)oVar6 >> 0x20);\n    lVar7 = (**(code **)(iVar8 + -0x5a58))(die,0x2134,&shndx);\n    (**(code **)(iVar8 + -0x5a48))(die,0x2134);\n    if ((lVar7 == -1) && (extraout_v1 == 0)) {\n      if ((((die->abbrev_code_ == (Abbrev_code *)0x0) || (die->abbrev_code_->tag != 0x41)) ||\n          (pGVar1 = this->gdb_index_,\n          pGVar1->pubnames_object_ != (this->super_Dwarf_info_reader).object_)) ||\n         ((*(int *)&pGVar1->stmt_list_offset_ != iVar2 ||\n          ((int)pGVar1->stmt_list_offset_ != (int)oVar6)))) {\n        return false;\n      }\n    }\n    else {\n      pGVar1 = this->gdb_index_;\n      pRVar5 = (this->super_Dwarf_info_reader).object_;\n      if ((pGVar1->pubnames_object_ != pRVar5) ||\n         ((*(int *)&pGVar1->stmt_list_offset_ != iVar2 ||\n          ((int)pGVar1->stmt_list_offset_ != (int)oVar6)))) {\n        pGVar1->stmt_list_offset_ = oVar6;\n        pGVar1->pubnames_object_ = pRVar5;\n        std::\n        _Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n        ::find((_Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&stack0xffffffd8,(key_type_conflict1 *)&pGVar1->cu_pubname_map_);\n        bVar3 = read_pubtable(this,this->gdb_index_->pubnames_table_,\n                              CONCAT44(iVar8,in_stack_ffffffc4));\n        std::\n        _Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n        ::find((_Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&stack0xffffffd8,(key_type_conflict1 *)&this->gdb_index_->cu_pubtype_map_);\n        bVar4 = read_pubtable(this,this->gdb_index_->pubtypes_table_,\n                              CONCAT44(iVar8,in_stack_ffffffc4));\n        if (CONCAT31(extraout_var,bVar3) == 0) {\n          return bVar4;\n        }\n      }\n    }\n  }\n  return true;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Gdb_index_info_reader::" identifier : : identifier : :) (function_declarator "read_pubnames_and_pubtypes(Gdb_index_info_reader *this,Dwarf_die *die)" identifier (parameter_list "(Gdb_index_info_reader *this,Dwarf_die *die)" ( (parameter_declaration "Gdb_index_info_reader *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Dwarf_die *die" type_identifier (pointer_declarator "*die" * identifier)) ))) (compound_statement "{\n  undefined3 extraout_var;\n  Gdb_index *pGVar1;\n  bool bVar3;\n  bool bVar4;\n  int iVar2;\n  int extraout_v1;\n  Relobj *pRVar5;\n  off_t oVar6;\n  longlong lVar7;\n  int iVar8;\n  undefined4 in_stack_ffffffc4;\n  uint shndx;\n  \n  iVar8 = 0x4c9240;\n  if (((die->abbrev_code_ == (Abbrev_code *)0x0) || (die->abbrev_code_->tag != 0x41)) ||\n     (iVar2 = (*(code *)PTR_string_attribute_004c380c)(die,0x2130), iVar2 == 0)) {\n    oVar6 = (**(code **)(iVar8 + -0x5a58))(die,0x10,&shndx);\n    iVar2 = (int)((ulonglong)oVar6 >> 0x20);\n    lVar7 = (**(code **)(iVar8 + -0x5a58))(die,0x2134,&shndx);\n    (**(code **)(iVar8 + -0x5a48))(die,0x2134);\n    if ((lVar7 == -1) && (extraout_v1 == 0)) {\n      if ((((die->abbrev_code_ == (Abbrev_code *)0x0) || (die->abbrev_code_->tag != 0x41)) ||\n          (pGVar1 = this->gdb_index_,\n          pGVar1->pubnames_object_ != (this->super_Dwarf_info_reader).object_)) ||\n         ((*(int *)&pGVar1->stmt_list_offset_ != iVar2 ||\n          ((int)pGVar1->stmt_list_offset_ != (int)oVar6)))) {\n        return false;\n      }\n    }\n    else {\n      pGVar1 = this->gdb_index_;\n      pRVar5 = (this->super_Dwarf_info_reader).object_;\n      if ((pGVar1->pubnames_object_ != pRVar5) ||\n         ((*(int *)&pGVar1->stmt_list_offset_ != iVar2 ||\n          ((int)pGVar1->stmt_list_offset_ != (int)oVar6)))) {\n        pGVar1->stmt_list_offset_ = oVar6;\n        pGVar1->pubnames_object_ = pRVar5;\n        std::\n        _Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n        ::find((_Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&stack0xffffffd8,(key_type_conflict1 *)&pGVar1->cu_pubname_map_);\n        bVar3 = read_pubtable(this,this->gdb_index_->pubnames_table_,\n                              CONCAT44(iVar8,in_stack_ffffffc4));\n        std::\n        _Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n        ::find((_Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&stack0xffffffd8,(key_type_conflict1 *)&this->gdb_index_->cu_pubtype_map_);\n        bVar4 = read_pubtable(this,this->gdb_index_->pubtypes_table_,\n                              CONCAT44(iVar8,in_stack_ffffffc4));\n        if (CONCAT31(extraout_var,bVar3) == 0) {\n          return bVar4;\n        }\n      }\n    }\n  }\n  return true;\n}" { (declaration "undefined3 extraout_var;" type_identifier identifier ;) (declaration "Gdb_index *pGVar1;" type_identifier (pointer_declarator "*pGVar1" * identifier) ;) (declaration "bool bVar3;" primitive_type identifier ;) (declaration "bool bVar4;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int extraout_v1;" primitive_type identifier ;) (declaration "Relobj *pRVar5;" type_identifier (pointer_declarator "*pRVar5" * identifier) ;) (declaration "off_t oVar6;" type_identifier identifier ;) (declaration "longlong lVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "undefined4 in_stack_ffffffc4;" type_identifier identifier ;) (declaration "uint shndx;" type_identifier identifier ;) (expression_statement "iVar8 = 0x4c9240;" (assignment_expression "iVar8 = 0x4c9240" identifier = number_literal) ;) (if_statement "if (((die->abbrev_code_ == (Abbrev_code *)0x0) || (die->abbrev_code_->tag != 0x41)) ||\n     (iVar2 = (*(code *)PTR_string_attribute_004c380c)(die,0x2130), iVar2 == 0)) {\n    oVar6 = (**(code **)(iVar8 + -0x5a58))(die,0x10,&shndx);\n    iVar2 = (int)((ulonglong)oVar6 >> 0x20);\n    lVar7 = (**(code **)(iVar8 + -0x5a58))(die,0x2134,&shndx);\n    (**(code **)(iVar8 + -0x5a48))(die,0x2134);\n    if ((lVar7 == -1) && (extraout_v1 == 0)) {\n      if ((((die->abbrev_code_ == (Abbrev_code *)0x0) || (die->abbrev_code_->tag != 0x41)) ||\n          (pGVar1 = this->gdb_index_,\n          pGVar1->pubnames_object_ != (this->super_Dwarf_info_reader).object_)) ||\n         ((*(int *)&pGVar1->stmt_list_offset_ != iVar2 ||\n          ((int)pGVar1->stmt_list_offset_ != (int)oVar6)))) {\n        return false;\n      }\n    }\n    else {\n      pGVar1 = this->gdb_index_;\n      pRVar5 = (this->super_Dwarf_info_reader).object_;\n      if ((pGVar1->pubnames_object_ != pRVar5) ||\n         ((*(int *)&pGVar1->stmt_list_offset_ != iVar2 ||\n          ((int)pGVar1->stmt_list_offset_ != (int)oVar6)))) {\n        pGVar1->stmt_list_offset_ = oVar6;\n        pGVar1->pubnames_object_ = pRVar5;\n        std::\n        _Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n        ::find((_Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&stack0xffffffd8,(key_type_conflict1 *)&pGVar1->cu_pubname_map_);\n        bVar3 = read_pubtable(this,this->gdb_index_->pubnames_table_,\n                              CONCAT44(iVar8,in_stack_ffffffc4));\n        std::\n        _Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n        ::find((_Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&stack0xffffffd8,(key_type_conflict1 *)&this->gdb_index_->cu_pubtype_map_);\n        bVar4 = read_pubtable(this,this->gdb_index_->pubtypes_table_,\n                              CONCAT44(iVar8,in_stack_ffffffc4));\n        if (CONCAT31(extraout_var,bVar3) == 0) {\n          return bVar4;\n        }\n      }\n    }\n  }" if (parenthesized_expression "(((die->abbrev_code_ == (Abbrev_code *)0x0) || (die->abbrev_code_->tag != 0x41)) ||\n     (iVar2 = (*(code *)PTR_string_attribute_004c380c)(die,0x2130), iVar2 == 0))" ( (binary_expression "((die->abbrev_code_ == (Abbrev_code *)0x0) || (die->abbrev_code_->tag != 0x41)) ||\n     (iVar2 = (*(code *)PTR_string_attribute_004c380c)(die,0x2130), iVar2 == 0)" (parenthesized_expression "((die->abbrev_code_ == (Abbrev_code *)0x0) || (die->abbrev_code_->tag != 0x41))" ( (binary_expression "(die->abbrev_code_ == (Abbrev_code *)0x0) || (die->abbrev_code_->tag != 0x41)" (parenthesized_expression "(die->abbrev_code_ == (Abbrev_code *)0x0)" ( (binary_expression "die->abbrev_code_ == (Abbrev_code *)0x0" (field_expression "die->abbrev_code_" identifier -> field_identifier) == (cast_expression "(Abbrev_code *)0x0" ( (type_descriptor "Abbrev_code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(die->abbrev_code_->tag != 0x41)" ( (binary_expression "die->abbrev_code_->tag != 0x41" (field_expression "die->abbrev_code_->tag" (field_expression "die->abbrev_code_" identifier -> field_identifier) -> field_identifier) != number_literal) ))) )) || (parenthesized_expression "(iVar2 = (*(code *)PTR_string_attribute_004c380c)(die,0x2130), iVar2 == 0)" ( (comma_expression "iVar2 = (*(code *)PTR_string_attribute_004c380c)(die,0x2130), iVar2 == 0" (assignment_expression "iVar2 = (*(code *)PTR_string_attribute_004c380c)(die,0x2130)" identifier = (call_expression "(*(code *)PTR_string_attribute_004c380c)(die,0x2130)" (parenthesized_expression "(*(code *)PTR_string_attribute_004c380c)" ( (pointer_expression "*(code *)PTR_string_attribute_004c380c" * (cast_expression "(code *)PTR_string_attribute_004c380c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(die,0x2130)" ( identifier , number_literal )))) , (binary_expression "iVar2 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n    oVar6 = (**(code **)(iVar8 + -0x5a58))(die,0x10,&shndx);\n    iVar2 = (int)((ulonglong)oVar6 >> 0x20);\n    lVar7 = (**(code **)(iVar8 + -0x5a58))(die,0x2134,&shndx);\n    (**(code **)(iVar8 + -0x5a48))(die,0x2134);\n    if ((lVar7 == -1) && (extraout_v1 == 0)) {\n      if ((((die->abbrev_code_ == (Abbrev_code *)0x0) || (die->abbrev_code_->tag != 0x41)) ||\n          (pGVar1 = this->gdb_index_,\n          pGVar1->pubnames_object_ != (this->super_Dwarf_info_reader).object_)) ||\n         ((*(int *)&pGVar1->stmt_list_offset_ != iVar2 ||\n          ((int)pGVar1->stmt_list_offset_ != (int)oVar6)))) {\n        return false;\n      }\n    }\n    else {\n      pGVar1 = this->gdb_index_;\n      pRVar5 = (this->super_Dwarf_info_reader).object_;\n      if ((pGVar1->pubnames_object_ != pRVar5) ||\n         ((*(int *)&pGVar1->stmt_list_offset_ != iVar2 ||\n          ((int)pGVar1->stmt_list_offset_ != (int)oVar6)))) {\n        pGVar1->stmt_list_offset_ = oVar6;\n        pGVar1->pubnames_object_ = pRVar5;\n        std::\n        _Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n        ::find((_Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&stack0xffffffd8,(key_type_conflict1 *)&pGVar1->cu_pubname_map_);\n        bVar3 = read_pubtable(this,this->gdb_index_->pubnames_table_,\n                              CONCAT44(iVar8,in_stack_ffffffc4));\n        std::\n        _Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n        ::find((_Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&stack0xffffffd8,(key_type_conflict1 *)&this->gdb_index_->cu_pubtype_map_);\n        bVar4 = read_pubtable(this,this->gdb_index_->pubtypes_table_,\n                              CONCAT44(iVar8,in_stack_ffffffc4));\n        if (CONCAT31(extraout_var,bVar3) == 0) {\n          return bVar4;\n        }\n      }\n    }\n  }" { (expression_statement "oVar6 = (**(code **)(iVar8 + -0x5a58))(die,0x10,&shndx);" (assignment_expression "oVar6 = (**(code **)(iVar8 + -0x5a58))(die,0x10,&shndx)" identifier = (call_expression "(**(code **)(iVar8 + -0x5a58))(die,0x10,&shndx)" (parenthesized_expression "(**(code **)(iVar8 + -0x5a58))" ( (pointer_expression "**(code **)(iVar8 + -0x5a58)" * (pointer_expression "*(code **)(iVar8 + -0x5a58)" * (cast_expression "(code **)(iVar8 + -0x5a58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + -0x5a58)" ( (binary_expression "iVar8 + -0x5a58" identifier + number_literal) ))))) )) (argument_list "(die,0x10,&shndx)" ( identifier , number_literal , (pointer_expression "&shndx" & identifier) )))) ;) (expression_statement "iVar2 = (int)((ulonglong)oVar6 >> 0x20);" (assignment_expression "iVar2 = (int)((ulonglong)oVar6 >> 0x20)" identifier = (cast_expression "(int)((ulonglong)oVar6 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)oVar6 >> 0x20)" ( (binary_expression "(ulonglong)oVar6 >> 0x20" (cast_expression "(ulonglong)oVar6" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "lVar7 = (**(code **)(iVar8 + -0x5a58))(die,0x2134,&shndx);" (assignment_expression "lVar7 = (**(code **)(iVar8 + -0x5a58))(die,0x2134,&shndx)" identifier = (call_expression "(**(code **)(iVar8 + -0x5a58))(die,0x2134,&shndx)" (parenthesized_expression "(**(code **)(iVar8 + -0x5a58))" ( (pointer_expression "**(code **)(iVar8 + -0x5a58)" * (pointer_expression "*(code **)(iVar8 + -0x5a58)" * (cast_expression "(code **)(iVar8 + -0x5a58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + -0x5a58)" ( (binary_expression "iVar8 + -0x5a58" identifier + number_literal) ))))) )) (argument_list "(die,0x2134,&shndx)" ( identifier , number_literal , (pointer_expression "&shndx" & identifier) )))) ;) (expression_statement "(**(code **)(iVar8 + -0x5a48))(die,0x2134);" (call_expression "(**(code **)(iVar8 + -0x5a48))(die,0x2134)" (parenthesized_expression "(**(code **)(iVar8 + -0x5a48))" ( (pointer_expression "**(code **)(iVar8 + -0x5a48)" * (pointer_expression "*(code **)(iVar8 + -0x5a48)" * (cast_expression "(code **)(iVar8 + -0x5a48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + -0x5a48)" ( (binary_expression "iVar8 + -0x5a48" identifier + number_literal) ))))) )) (argument_list "(die,0x2134)" ( identifier , number_literal ))) ;) (if_statement "if ((lVar7 == -1) && (extraout_v1 == 0)) {\n      if ((((die->abbrev_code_ == (Abbrev_code *)0x0) || (die->abbrev_code_->tag != 0x41)) ||\n          (pGVar1 = this->gdb_index_,\n          pGVar1->pubnames_object_ != (this->super_Dwarf_info_reader).object_)) ||\n         ((*(int *)&pGVar1->stmt_list_offset_ != iVar2 ||\n          ((int)pGVar1->stmt_list_offset_ != (int)oVar6)))) {\n        return false;\n      }\n    }\n    else {\n      pGVar1 = this->gdb_index_;\n      pRVar5 = (this->super_Dwarf_info_reader).object_;\n      if ((pGVar1->pubnames_object_ != pRVar5) ||\n         ((*(int *)&pGVar1->stmt_list_offset_ != iVar2 ||\n          ((int)pGVar1->stmt_list_offset_ != (int)oVar6)))) {\n        pGVar1->stmt_list_offset_ = oVar6;\n        pGVar1->pubnames_object_ = pRVar5;\n        std::\n        _Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n        ::find((_Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&stack0xffffffd8,(key_type_conflict1 *)&pGVar1->cu_pubname_map_);\n        bVar3 = read_pubtable(this,this->gdb_index_->pubnames_table_,\n                              CONCAT44(iVar8,in_stack_ffffffc4));\n        std::\n        _Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n        ::find((_Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&stack0xffffffd8,(key_type_conflict1 *)&this->gdb_index_->cu_pubtype_map_);\n        bVar4 = read_pubtable(this,this->gdb_index_->pubtypes_table_,\n                              CONCAT44(iVar8,in_stack_ffffffc4));\n        if (CONCAT31(extraout_var,bVar3) == 0) {\n          return bVar4;\n        }\n      }\n    }" if (parenthesized_expression "((lVar7 == -1) && (extraout_v1 == 0))" ( (binary_expression "(lVar7 == -1) && (extraout_v1 == 0)" (parenthesized_expression "(lVar7 == -1)" ( (binary_expression "lVar7 == -1" identifier == number_literal) )) && (parenthesized_expression "(extraout_v1 == 0)" ( (binary_expression "extraout_v1 == 0" identifier == number_literal) ))) )) (compound_statement "{\n      if ((((die->abbrev_code_ == (Abbrev_code *)0x0) || (die->abbrev_code_->tag != 0x41)) ||\n          (pGVar1 = this->gdb_index_,\n          pGVar1->pubnames_object_ != (this->super_Dwarf_info_reader).object_)) ||\n         ((*(int *)&pGVar1->stmt_list_offset_ != iVar2 ||\n          ((int)pGVar1->stmt_list_offset_ != (int)oVar6)))) {\n        return false;\n      }\n    }" { (if_statement "if ((((die->abbrev_code_ == (Abbrev_code *)0x0) || (die->abbrev_code_->tag != 0x41)) ||\n          (pGVar1 = this->gdb_index_,\n          pGVar1->pubnames_object_ != (this->super_Dwarf_info_reader).object_)) ||\n         ((*(int *)&pGVar1->stmt_list_offset_ != iVar2 ||\n          ((int)pGVar1->stmt_list_offset_ != (int)oVar6)))) {\n        return false;\n      }" if (parenthesized_expression "((((die->abbrev_code_ == (Abbrev_code *)0x0) || (die->abbrev_code_->tag != 0x41)) ||\n          (pGVar1 = this->gdb_index_,\n          pGVar1->pubnames_object_ != (this->super_Dwarf_info_reader).object_)) ||\n         ((*(int *)&pGVar1->stmt_list_offset_ != iVar2 ||\n          ((int)pGVar1->stmt_list_offset_ != (int)oVar6))))" ( (binary_expression "(((die->abbrev_code_ == (Abbrev_code *)0x0) || (die->abbrev_code_->tag != 0x41)) ||\n          (pGVar1 = this->gdb_index_,\n          pGVar1->pubnames_object_ != (this->super_Dwarf_info_reader).object_)) ||\n         ((*(int *)&pGVar1->stmt_list_offset_ != iVar2 ||\n          ((int)pGVar1->stmt_list_offset_ != (int)oVar6)))" (parenthesized_expression "(((die->abbrev_code_ == (Abbrev_code *)0x0) || (die->abbrev_code_->tag != 0x41)) ||\n          (pGVar1 = this->gdb_index_,\n          pGVar1->pubnames_object_ != (this->super_Dwarf_info_reader).object_))" ( (binary_expression "((die->abbrev_code_ == (Abbrev_code *)0x0) || (die->abbrev_code_->tag != 0x41)) ||\n          (pGVar1 = this->gdb_index_,\n          pGVar1->pubnames_object_ != (this->super_Dwarf_info_reader).object_)" (parenthesized_expression "((die->abbrev_code_ == (Abbrev_code *)0x0) || (die->abbrev_code_->tag != 0x41))" ( (binary_expression "(die->abbrev_code_ == (Abbrev_code *)0x0) || (die->abbrev_code_->tag != 0x41)" (parenthesized_expression "(die->abbrev_code_ == (Abbrev_code *)0x0)" ( (binary_expression "die->abbrev_code_ == (Abbrev_code *)0x0" (field_expression "die->abbrev_code_" identifier -> field_identifier) == (cast_expression "(Abbrev_code *)0x0" ( (type_descriptor "Abbrev_code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(die->abbrev_code_->tag != 0x41)" ( (binary_expression "die->abbrev_code_->tag != 0x41" (field_expression "die->abbrev_code_->tag" (field_expression "die->abbrev_code_" identifier -> field_identifier) -> field_identifier) != number_literal) ))) )) || (parenthesized_expression "(pGVar1 = this->gdb_index_,\n          pGVar1->pubnames_object_ != (this->super_Dwarf_info_reader).object_)" ( (comma_expression "pGVar1 = this->gdb_index_,\n          pGVar1->pubnames_object_ != (this->super_Dwarf_info_reader).object_" (assignment_expression "pGVar1 = this->gdb_index_" identifier = (field_expression "this->gdb_index_" identifier -> field_identifier)) , (binary_expression "pGVar1->pubnames_object_ != (this->super_Dwarf_info_reader).object_" (field_expression "pGVar1->pubnames_object_" identifier -> field_identifier) != (field_expression "(this->super_Dwarf_info_reader).object_" (parenthesized_expression "(this->super_Dwarf_info_reader)" ( (field_expression "this->super_Dwarf_info_reader" identifier -> field_identifier) )) . field_identifier))) ))) )) || (parenthesized_expression "((*(int *)&pGVar1->stmt_list_offset_ != iVar2 ||\n          ((int)pGVar1->stmt_list_offset_ != (int)oVar6)))" ( (parenthesized_expression "(*(int *)&pGVar1->stmt_list_offset_ != iVar2 ||\n          ((int)pGVar1->stmt_list_offset_ != (int)oVar6))" ( (binary_expression "*(int *)&pGVar1->stmt_list_offset_ != iVar2 ||\n          ((int)pGVar1->stmt_list_offset_ != (int)oVar6)" (binary_expression "*(int *)&pGVar1->stmt_list_offset_ != iVar2" (pointer_expression "*(int *)&pGVar1->stmt_list_offset_" * (cast_expression "(int *)&pGVar1->stmt_list_offset_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pGVar1->stmt_list_offset_" & (field_expression "pGVar1->stmt_list_offset_" identifier -> field_identifier)))) != identifier) || (parenthesized_expression "((int)pGVar1->stmt_list_offset_ != (int)oVar6)" ( (binary_expression "(int)pGVar1->stmt_list_offset_ != (int)oVar6" (cast_expression "(int)pGVar1->stmt_list_offset_" ( (type_descriptor "int" primitive_type) ) (field_expression "pGVar1->stmt_list_offset_" identifier -> field_identifier)) != (cast_expression "(int)oVar6" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) ))) )) (compound_statement "{\n        return false;\n      }" { (return_statement "return false;" return false ;) })) }) (else_clause "else {\n      pGVar1 = this->gdb_index_;\n      pRVar5 = (this->super_Dwarf_info_reader).object_;\n      if ((pGVar1->pubnames_object_ != pRVar5) ||\n         ((*(int *)&pGVar1->stmt_list_offset_ != iVar2 ||\n          ((int)pGVar1->stmt_list_offset_ != (int)oVar6)))) {\n        pGVar1->stmt_list_offset_ = oVar6;\n        pGVar1->pubnames_object_ = pRVar5;\n        std::\n        _Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n        ::find((_Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&stack0xffffffd8,(key_type_conflict1 *)&pGVar1->cu_pubname_map_);\n        bVar3 = read_pubtable(this,this->gdb_index_->pubnames_table_,\n                              CONCAT44(iVar8,in_stack_ffffffc4));\n        std::\n        _Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n        ::find((_Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&stack0xffffffd8,(key_type_conflict1 *)&this->gdb_index_->cu_pubtype_map_);\n        bVar4 = read_pubtable(this,this->gdb_index_->pubtypes_table_,\n                              CONCAT44(iVar8,in_stack_ffffffc4));\n        if (CONCAT31(extraout_var,bVar3) == 0) {\n          return bVar4;\n        }\n      }\n    }" else (compound_statement "{\n      pGVar1 = this->gdb_index_;\n      pRVar5 = (this->super_Dwarf_info_reader).object_;\n      if ((pGVar1->pubnames_object_ != pRVar5) ||\n         ((*(int *)&pGVar1->stmt_list_offset_ != iVar2 ||\n          ((int)pGVar1->stmt_list_offset_ != (int)oVar6)))) {\n        pGVar1->stmt_list_offset_ = oVar6;\n        pGVar1->pubnames_object_ = pRVar5;\n        std::\n        _Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n        ::find((_Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&stack0xffffffd8,(key_type_conflict1 *)&pGVar1->cu_pubname_map_);\n        bVar3 = read_pubtable(this,this->gdb_index_->pubnames_table_,\n                              CONCAT44(iVar8,in_stack_ffffffc4));\n        std::\n        _Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n        ::find((_Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&stack0xffffffd8,(key_type_conflict1 *)&this->gdb_index_->cu_pubtype_map_);\n        bVar4 = read_pubtable(this,this->gdb_index_->pubtypes_table_,\n                              CONCAT44(iVar8,in_stack_ffffffc4));\n        if (CONCAT31(extraout_var,bVar3) == 0) {\n          return bVar4;\n        }\n      }\n    }" { (expression_statement "pGVar1 = this->gdb_index_;" (assignment_expression "pGVar1 = this->gdb_index_" identifier = (field_expression "this->gdb_index_" identifier -> field_identifier)) ;) (expression_statement "pRVar5 = (this->super_Dwarf_info_reader).object_;" (assignment_expression "pRVar5 = (this->super_Dwarf_info_reader).object_" identifier = (field_expression "(this->super_Dwarf_info_reader).object_" (parenthesized_expression "(this->super_Dwarf_info_reader)" ( (field_expression "this->super_Dwarf_info_reader" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if ((pGVar1->pubnames_object_ != pRVar5) ||\n         ((*(int *)&pGVar1->stmt_list_offset_ != iVar2 ||\n          ((int)pGVar1->stmt_list_offset_ != (int)oVar6)))) {\n        pGVar1->stmt_list_offset_ = oVar6;\n        pGVar1->pubnames_object_ = pRVar5;\n        std::\n        _Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n        ::find((_Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&stack0xffffffd8,(key_type_conflict1 *)&pGVar1->cu_pubname_map_);\n        bVar3 = read_pubtable(this,this->gdb_index_->pubnames_table_,\n                              CONCAT44(iVar8,in_stack_ffffffc4));\n        std::\n        _Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n        ::find((_Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&stack0xffffffd8,(key_type_conflict1 *)&this->gdb_index_->cu_pubtype_map_);\n        bVar4 = read_pubtable(this,this->gdb_index_->pubtypes_table_,\n                              CONCAT44(iVar8,in_stack_ffffffc4));\n        if (CONCAT31(extraout_var,bVar3) == 0) {\n          return bVar4;\n        }\n      }" if (parenthesized_expression "((pGVar1->pubnames_object_ != pRVar5) ||\n         ((*(int *)&pGVar1->stmt_list_offset_ != iVar2 ||\n          ((int)pGVar1->stmt_list_offset_ != (int)oVar6))))" ( (binary_expression "(pGVar1->pubnames_object_ != pRVar5) ||\n         ((*(int *)&pGVar1->stmt_list_offset_ != iVar2 ||\n          ((int)pGVar1->stmt_list_offset_ != (int)oVar6)))" (parenthesized_expression "(pGVar1->pubnames_object_ != pRVar5)" ( (binary_expression "pGVar1->pubnames_object_ != pRVar5" (field_expression "pGVar1->pubnames_object_" identifier -> field_identifier) != identifier) )) || (parenthesized_expression "((*(int *)&pGVar1->stmt_list_offset_ != iVar2 ||\n          ((int)pGVar1->stmt_list_offset_ != (int)oVar6)))" ( (parenthesized_expression "(*(int *)&pGVar1->stmt_list_offset_ != iVar2 ||\n          ((int)pGVar1->stmt_list_offset_ != (int)oVar6))" ( (binary_expression "*(int *)&pGVar1->stmt_list_offset_ != iVar2 ||\n          ((int)pGVar1->stmt_list_offset_ != (int)oVar6)" (binary_expression "*(int *)&pGVar1->stmt_list_offset_ != iVar2" (pointer_expression "*(int *)&pGVar1->stmt_list_offset_" * (cast_expression "(int *)&pGVar1->stmt_list_offset_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pGVar1->stmt_list_offset_" & (field_expression "pGVar1->stmt_list_offset_" identifier -> field_identifier)))) != identifier) || (parenthesized_expression "((int)pGVar1->stmt_list_offset_ != (int)oVar6)" ( (binary_expression "(int)pGVar1->stmt_list_offset_ != (int)oVar6" (cast_expression "(int)pGVar1->stmt_list_offset_" ( (type_descriptor "int" primitive_type) ) (field_expression "pGVar1->stmt_list_offset_" identifier -> field_identifier)) != (cast_expression "(int)oVar6" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) ))) )) (compound_statement "{\n        pGVar1->stmt_list_offset_ = oVar6;\n        pGVar1->pubnames_object_ = pRVar5;\n        std::\n        _Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n        ::find((_Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&stack0xffffffd8,(key_type_conflict1 *)&pGVar1->cu_pubname_map_);\n        bVar3 = read_pubtable(this,this->gdb_index_->pubnames_table_,\n                              CONCAT44(iVar8,in_stack_ffffffc4));\n        std::\n        _Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n        ::find((_Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&stack0xffffffd8,(key_type_conflict1 *)&this->gdb_index_->cu_pubtype_map_);\n        bVar4 = read_pubtable(this,this->gdb_index_->pubtypes_table_,\n                              CONCAT44(iVar8,in_stack_ffffffc4));\n        if (CONCAT31(extraout_var,bVar3) == 0) {\n          return bVar4;\n        }\n      }" { (expression_statement "pGVar1->stmt_list_offset_ = oVar6;" (assignment_expression "pGVar1->stmt_list_offset_ = oVar6" (field_expression "pGVar1->stmt_list_offset_" identifier -> field_identifier) = identifier) ;) (expression_statement "pGVar1->pubnames_object_ = pRVar5;" (assignment_expression "pGVar1->pubnames_object_ = pRVar5" (field_expression "pGVar1->pubnames_object_" identifier -> field_identifier) = identifier) ;) (ERROR "std::\n        _Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (comma_expression "std::\n        _Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std" identifier (ERROR "::\n        _Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>" : : (comma_expression "_Hashtable<long_long_int,_std" (binary_expression "_Hashtable<long_long_int" identifier < identifier) , identifier) : : (comma_expression "pair<long_long_int_const,_long_long_int>,_std" (binary_expression "pair<long_long_int_const" identifier < identifier) , (binary_expression "_long_long_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<long_long_int_const,_long_long_int>_>,_std" (binary_expression "pair<long_long_int_const" identifier < identifier) , (binary_expression "_long_long_int>_>,_std" (binary_expression "_long_long_int>_" identifier > identifier) > (ERROR "," ,) identifier)) : : (comma_expression "__detail::_Select1st,_std::equal_to<long_long_int>,_std" identifier (ERROR "::_Select1st,_std::equal_to<long_long_int>" : : (comma_expression "_Select1st,_std" identifier , identifier) : : (binary_expression "equal_to<long_long_int" identifier < identifier) >) , identifier) : : (binary_expression "hash<long_long_int" identifier < identifier) >) , identifier) : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : :) (expression_statement "_Hashtable_traits<false,_false,_true>_>\n        ::find((_Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&stack0xffffffd8,(key_type_conflict1 *)&pGVar1->cu_pubname_map_);" (comma_expression "_Hashtable_traits<false,_false,_true>_>\n        ::find((_Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&stack0xffffffd8,(key_type_conflict1 *)&pGVar1->cu_pubname_map_)" (binary_expression "_Hashtable_traits<false" identifier < false) , (comma_expression "_false,_true>_>\n        ::find((_Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&stack0xffffffd8,(key_type_conflict1 *)&pGVar1->cu_pubname_map_)" identifier , (binary_expression "_true>_>\n        ::find((_Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&stack0xffffffd8,(key_type_conflict1 *)&pGVar1->cu_pubname_map_)" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) (call_expression "find((_Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&stack0xffffffd8,(key_type_conflict1 *)&pGVar1->cu_pubname_map_)" identifier (argument_list "((_Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&stack0xffffffd8,(key_type_conflict1 *)&pGVar1->cu_pubname_map_)" ( (binary_expression "(_Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&stack0xffffffd8" (parenthesized_expression "(_Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)" ( (ERROR "_Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (comma_expression "_Hashtable<long_long_int,_std" (binary_expression "_Hashtable<long_long_int" identifier < identifier) , identifier) : : (comma_expression "pair<long_long_int_const,_long_long_int>,_std" (binary_expression "pair<long_long_int_const" identifier < identifier) , (binary_expression "_long_long_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<long_long_int_const,_long_long_int>_>,_std" (binary_expression "pair<long_long_int_const" identifier < identifier) , (binary_expression "_long_long_int>_>,_std" (binary_expression "_long_long_int>_" identifier > identifier) > (ERROR "," ,) identifier)) : : identifier : : (comma_expression "_Select1st,_std" identifier , identifier) : : (binary_expression "equal_to<long_long_int>,_std" (binary_expression "equal_to<long_long_int" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "hash<long_long_int>,_std" (binary_expression "hash<long_long_int" identifier < identifier) > (ERROR "," ,) identifier) : : identifier : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) : : identifier : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) : : identifier : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) : : identifier : :) (comma_expression "_Hashtable_traits<false,_false,_true>_>\n                *" (binary_expression "_Hashtable_traits<false" identifier < false) , (comma_expression "_false,_true>_>\n                *" identifier , (binary_expression "_true>_>\n                *" (binary_expression "_true>_" identifier > identifier) > (pointer_expression "*" * identifier)))) )) & identifier) , (cast_expression "(key_type_conflict1 *)&pGVar1->cu_pubname_map_" ( (type_descriptor "key_type_conflict1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pGVar1->cu_pubname_map_" & (field_expression "pGVar1->cu_pubname_map_" identifier -> field_identifier))) )))))) ;) (expression_statement "bVar3 = read_pubtable(this,this->gdb_index_->pubnames_table_,\n                              CONCAT44(iVar8,in_stack_ffffffc4));" (assignment_expression "bVar3 = read_pubtable(this,this->gdb_index_->pubnames_table_,\n                              CONCAT44(iVar8,in_stack_ffffffc4))" identifier = (call_expression "read_pubtable(this,this->gdb_index_->pubnames_table_,\n                              CONCAT44(iVar8,in_stack_ffffffc4))" identifier (argument_list "(this,this->gdb_index_->pubnames_table_,\n                              CONCAT44(iVar8,in_stack_ffffffc4))" ( identifier , (field_expression "this->gdb_index_->pubnames_table_" (field_expression "this->gdb_index_" identifier -> field_identifier) -> field_identifier) , (call_expression "CONCAT44(iVar8,in_stack_ffffffc4)" identifier (argument_list "(iVar8,in_stack_ffffffc4)" ( identifier , identifier ))) )))) ;) (ERROR "std::\n        _Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (comma_expression "std::\n        _Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std" identifier (ERROR "::\n        _Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>" : : (comma_expression "_Hashtable<long_long_int,_std" (binary_expression "_Hashtable<long_long_int" identifier < identifier) , identifier) : : (comma_expression "pair<long_long_int_const,_long_long_int>,_std" (binary_expression "pair<long_long_int_const" identifier < identifier) , (binary_expression "_long_long_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<long_long_int_const,_long_long_int>_>,_std" (binary_expression "pair<long_long_int_const" identifier < identifier) , (binary_expression "_long_long_int>_>,_std" (binary_expression "_long_long_int>_" identifier > identifier) > (ERROR "," ,) identifier)) : : (comma_expression "__detail::_Select1st,_std::equal_to<long_long_int>,_std" identifier (ERROR "::_Select1st,_std::equal_to<long_long_int>" : : (comma_expression "_Select1st,_std" identifier , identifier) : : (binary_expression "equal_to<long_long_int" identifier < identifier) >) , identifier) : : (binary_expression "hash<long_long_int" identifier < identifier) >) , identifier) : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : :) (expression_statement "_Hashtable_traits<false,_false,_true>_>\n        ::find((_Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&stack0xffffffd8,(key_type_conflict1 *)&this->gdb_index_->cu_pubtype_map_);" (comma_expression "_Hashtable_traits<false,_false,_true>_>\n        ::find((_Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&stack0xffffffd8,(key_type_conflict1 *)&this->gdb_index_->cu_pubtype_map_)" (binary_expression "_Hashtable_traits<false" identifier < false) , (comma_expression "_false,_true>_>\n        ::find((_Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&stack0xffffffd8,(key_type_conflict1 *)&this->gdb_index_->cu_pubtype_map_)" identifier , (binary_expression "_true>_>\n        ::find((_Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&stack0xffffffd8,(key_type_conflict1 *)&this->gdb_index_->cu_pubtype_map_)" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) (call_expression "find((_Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&stack0xffffffd8,(key_type_conflict1 *)&this->gdb_index_->cu_pubtype_map_)" identifier (argument_list "((_Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&stack0xffffffd8,(key_type_conflict1 *)&this->gdb_index_->cu_pubtype_map_)" ( (binary_expression "(_Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&stack0xffffffd8" (parenthesized_expression "(_Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)" ( (ERROR "_Hashtable<long_long_int,_std::pair<long_long_int_const,_long_long_int>,_std::allocator<std::pair<long_long_int_const,_long_long_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_int>,_std::hash<long_long_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (comma_expression "_Hashtable<long_long_int,_std" (binary_expression "_Hashtable<long_long_int" identifier < identifier) , identifier) : : (comma_expression "pair<long_long_int_const,_long_long_int>,_std" (binary_expression "pair<long_long_int_const" identifier < identifier) , (binary_expression "_long_long_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<long_long_int_const,_long_long_int>_>,_std" (binary_expression "pair<long_long_int_const" identifier < identifier) , (binary_expression "_long_long_int>_>,_std" (binary_expression "_long_long_int>_" identifier > identifier) > (ERROR "," ,) identifier)) : : identifier : : (comma_expression "_Select1st,_std" identifier , identifier) : : (binary_expression "equal_to<long_long_int>,_std" (binary_expression "equal_to<long_long_int" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "hash<long_long_int>,_std" (binary_expression "hash<long_long_int" identifier < identifier) > (ERROR "," ,) identifier) : : identifier : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) : : identifier : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) : : identifier : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) : : identifier : :) (comma_expression "_Hashtable_traits<false,_false,_true>_>\n                *" (binary_expression "_Hashtable_traits<false" identifier < false) , (comma_expression "_false,_true>_>\n                *" identifier , (binary_expression "_true>_>\n                *" (binary_expression "_true>_" identifier > identifier) > (pointer_expression "*" * identifier)))) )) & identifier) , (cast_expression "(key_type_conflict1 *)&this->gdb_index_->cu_pubtype_map_" ( (type_descriptor "key_type_conflict1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->gdb_index_->cu_pubtype_map_" & (field_expression "this->gdb_index_->cu_pubtype_map_" (field_expression "this->gdb_index_" identifier -> field_identifier) -> field_identifier))) )))))) ;) (expression_statement "bVar4 = read_pubtable(this,this->gdb_index_->pubtypes_table_,\n                              CONCAT44(iVar8,in_stack_ffffffc4));" (assignment_expression "bVar4 = read_pubtable(this,this->gdb_index_->pubtypes_table_,\n                              CONCAT44(iVar8,in_stack_ffffffc4))" identifier = (call_expression "read_pubtable(this,this->gdb_index_->pubtypes_table_,\n                              CONCAT44(iVar8,in_stack_ffffffc4))" identifier (argument_list "(this,this->gdb_index_->pubtypes_table_,\n                              CONCAT44(iVar8,in_stack_ffffffc4))" ( identifier , (field_expression "this->gdb_index_->pubtypes_table_" (field_expression "this->gdb_index_" identifier -> field_identifier) -> field_identifier) , (call_expression "CONCAT44(iVar8,in_stack_ffffffc4)" identifier (argument_list "(iVar8,in_stack_ffffffc4)" ( identifier , identifier ))) )))) ;) (if_statement "if (CONCAT31(extraout_var,bVar3) == 0) {\n          return bVar4;\n        }" if (parenthesized_expression "(CONCAT31(extraout_var,bVar3) == 0)" ( (binary_expression "CONCAT31(extraout_var,bVar3) == 0" (call_expression "CONCAT31(extraout_var,bVar3)" identifier (argument_list "(extraout_var,bVar3)" ( identifier , identifier ))) == number_literal) )) (compound_statement "{\n          return bVar4;\n        }" { (return_statement "return bVar4;" return identifier ;) })) })) }))) })) (return_statement "return true;" return true ;) })))
(translation_unit "undefined4 __thiscall\ngold::Gdb_index_info_reader::read_pubnames_and_pubtypes\n          (Gdb_index_info_reader *this,Dwarf_die *param_1)\n\n{\n  int iVar1;\n  int iVar2;\n  undefined4 uVar3;\n  int extraout_v1;\n  int iVar4;\n  undefined8 uVar5;\n  longlong lVar6;\n  int iVar7;\n  undefined4 in_stack_ffffffc4;\n  undefined1 auStack_30 [8];\n  longlong local_28;\n  \n  iVar7 = 0x4c9240;\n  if (((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)) ||\n     (iVar2 = (*(code *)PTR_string_attribute_004c380c)(param_1,0x2130), iVar2 == 0)) {\n    uVar5 = (**(code **)(iVar7 + -0x5a58))(param_1,0x10,auStack_30);\n    iVar2 = (int)((ulonglong)uVar5 >> 0x20);\n    lVar6 = (**(code **)(iVar7 + -0x5a58))(param_1,0x2134,auStack_30);\n    (**(code **)(iVar7 + -0x5a48))(param_1,0x2134);\n    if ((lVar6 == -1) && (extraout_v1 == 0)) {\n      if ((((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)) ||\n          (iVar7 = *(int *)(this + 0x4d8), *(int *)(iVar7 + 0x128) != *(int *)(this + 8))) ||\n         ((*(int *)(iVar7 + 0x130) != iVar2 || (*(int *)(iVar7 + 0x134) != (int)uVar5)))) {\n        return 0;\n      }\n    }\n    else {\n      iVar1 = *(int *)(this + 0x4d8);\n      iVar4 = *(int *)(this + 8);\n      if ((*(int *)(iVar1 + 0x128) != iVar4) ||\n         ((*(int *)(iVar1 + 0x130) != iVar2 || (*(int *)(iVar1 + 0x134) != (int)uVar5)))) {\n        *(undefined8 *)(iVar1 + 0x130) = uVar5;\n        *(int *)(iVar1 + 0x128) = iVar4;\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        iVar2 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        uVar3 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        if (iVar2 == 0) {\n          return uVar3;\n        }\n      }\n    }\n  }\n  return 1;\n}\n\n" (function_definition "undefined4 __thiscall\ngold::Gdb_index_info_reader::read_pubnames_and_pubtypes\n          (Gdb_index_info_reader *this,Dwarf_die *param_1)\n\n{\n  int iVar1;\n  int iVar2;\n  undefined4 uVar3;\n  int extraout_v1;\n  int iVar4;\n  undefined8 uVar5;\n  longlong lVar6;\n  int iVar7;\n  undefined4 in_stack_ffffffc4;\n  undefined1 auStack_30 [8];\n  longlong local_28;\n  \n  iVar7 = 0x4c9240;\n  if (((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)) ||\n     (iVar2 = (*(code *)PTR_string_attribute_004c380c)(param_1,0x2130), iVar2 == 0)) {\n    uVar5 = (**(code **)(iVar7 + -0x5a58))(param_1,0x10,auStack_30);\n    iVar2 = (int)((ulonglong)uVar5 >> 0x20);\n    lVar6 = (**(code **)(iVar7 + -0x5a58))(param_1,0x2134,auStack_30);\n    (**(code **)(iVar7 + -0x5a48))(param_1,0x2134);\n    if ((lVar6 == -1) && (extraout_v1 == 0)) {\n      if ((((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)) ||\n          (iVar7 = *(int *)(this + 0x4d8), *(int *)(iVar7 + 0x128) != *(int *)(this + 8))) ||\n         ((*(int *)(iVar7 + 0x130) != iVar2 || (*(int *)(iVar7 + 0x134) != (int)uVar5)))) {\n        return 0;\n      }\n    }\n    else {\n      iVar1 = *(int *)(this + 0x4d8);\n      iVar4 = *(int *)(this + 8);\n      if ((*(int *)(iVar1 + 0x128) != iVar4) ||\n         ((*(int *)(iVar1 + 0x130) != iVar2 || (*(int *)(iVar1 + 0x134) != (int)uVar5)))) {\n        *(undefined8 *)(iVar1 + 0x130) = uVar5;\n        *(int *)(iVar1 + 0x128) = iVar4;\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        iVar2 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        uVar3 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        if (iVar2 == 0) {\n          return uVar3;\n        }\n      }\n    }\n  }\n  return 1;\n}" type_identifier (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Gdb_index_info_reader::" identifier : : identifier : :) (function_declarator "read_pubnames_and_pubtypes\n          (Gdb_index_info_reader *this,Dwarf_die *param_1)" identifier (parameter_list "(Gdb_index_info_reader *this,Dwarf_die *param_1)" ( (parameter_declaration "Gdb_index_info_reader *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Dwarf_die *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  undefined4 uVar3;\n  int extraout_v1;\n  int iVar4;\n  undefined8 uVar5;\n  longlong lVar6;\n  int iVar7;\n  undefined4 in_stack_ffffffc4;\n  undefined1 auStack_30 [8];\n  longlong local_28;\n  \n  iVar7 = 0x4c9240;\n  if (((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)) ||\n     (iVar2 = (*(code *)PTR_string_attribute_004c380c)(param_1,0x2130), iVar2 == 0)) {\n    uVar5 = (**(code **)(iVar7 + -0x5a58))(param_1,0x10,auStack_30);\n    iVar2 = (int)((ulonglong)uVar5 >> 0x20);\n    lVar6 = (**(code **)(iVar7 + -0x5a58))(param_1,0x2134,auStack_30);\n    (**(code **)(iVar7 + -0x5a48))(param_1,0x2134);\n    if ((lVar6 == -1) && (extraout_v1 == 0)) {\n      if ((((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)) ||\n          (iVar7 = *(int *)(this + 0x4d8), *(int *)(iVar7 + 0x128) != *(int *)(this + 8))) ||\n         ((*(int *)(iVar7 + 0x130) != iVar2 || (*(int *)(iVar7 + 0x134) != (int)uVar5)))) {\n        return 0;\n      }\n    }\n    else {\n      iVar1 = *(int *)(this + 0x4d8);\n      iVar4 = *(int *)(this + 8);\n      if ((*(int *)(iVar1 + 0x128) != iVar4) ||\n         ((*(int *)(iVar1 + 0x130) != iVar2 || (*(int *)(iVar1 + 0x134) != (int)uVar5)))) {\n        *(undefined8 *)(iVar1 + 0x130) = uVar5;\n        *(int *)(iVar1 + 0x128) = iVar4;\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        iVar2 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        uVar3 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        if (iVar2 == 0) {\n          return uVar3;\n        }\n      }\n    }\n  }\n  return 1;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "int extraout_v1;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined8 uVar5;" type_identifier identifier ;) (declaration "longlong lVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined4 in_stack_ffffffc4;" type_identifier identifier ;) (declaration "undefined1 auStack_30 [8];" type_identifier (array_declarator "auStack_30 [8]" identifier [ number_literal ]) ;) (declaration "longlong local_28;" type_identifier identifier ;) (expression_statement "iVar7 = 0x4c9240;" (assignment_expression "iVar7 = 0x4c9240" identifier = number_literal) ;) (if_statement "if (((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)) ||\n     (iVar2 = (*(code *)PTR_string_attribute_004c380c)(param_1,0x2130), iVar2 == 0)) {\n    uVar5 = (**(code **)(iVar7 + -0x5a58))(param_1,0x10,auStack_30);\n    iVar2 = (int)((ulonglong)uVar5 >> 0x20);\n    lVar6 = (**(code **)(iVar7 + -0x5a58))(param_1,0x2134,auStack_30);\n    (**(code **)(iVar7 + -0x5a48))(param_1,0x2134);\n    if ((lVar6 == -1) && (extraout_v1 == 0)) {\n      if ((((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)) ||\n          (iVar7 = *(int *)(this + 0x4d8), *(int *)(iVar7 + 0x128) != *(int *)(this + 8))) ||\n         ((*(int *)(iVar7 + 0x130) != iVar2 || (*(int *)(iVar7 + 0x134) != (int)uVar5)))) {\n        return 0;\n      }\n    }\n    else {\n      iVar1 = *(int *)(this + 0x4d8);\n      iVar4 = *(int *)(this + 8);\n      if ((*(int *)(iVar1 + 0x128) != iVar4) ||\n         ((*(int *)(iVar1 + 0x130) != iVar2 || (*(int *)(iVar1 + 0x134) != (int)uVar5)))) {\n        *(undefined8 *)(iVar1 + 0x130) = uVar5;\n        *(int *)(iVar1 + 0x128) = iVar4;\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        iVar2 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        uVar3 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        if (iVar2 == 0) {\n          return uVar3;\n        }\n      }\n    }\n  }" if (parenthesized_expression "(((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)) ||\n     (iVar2 = (*(code *)PTR_string_attribute_004c380c)(param_1,0x2130), iVar2 == 0))" ( (binary_expression "((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)) ||\n     (iVar2 = (*(code *)PTR_string_attribute_004c380c)(param_1,0x2130), iVar2 == 0)" (parenthesized_expression "((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41))" ( (binary_expression "(*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)" (parenthesized_expression "(*(int **)(param_1 + 0x28) == (int *)0x0)" ( (binary_expression "*(int **)(param_1 + 0x28) == (int *)0x0" (pointer_expression "*(int **)(param_1 + 0x28)" * (cast_expression "(int **)(param_1 + 0x28)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(**(int **)(param_1 + 0x28) != 0x41)" ( (binary_expression "**(int **)(param_1 + 0x28) != 0x41" (pointer_expression "**(int **)(param_1 + 0x28)" * (pointer_expression "*(int **)(param_1 + 0x28)" * (cast_expression "(int **)(param_1 + 0x28)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) != number_literal) ))) )) || (parenthesized_expression "(iVar2 = (*(code *)PTR_string_attribute_004c380c)(param_1,0x2130), iVar2 == 0)" ( (comma_expression "iVar2 = (*(code *)PTR_string_attribute_004c380c)(param_1,0x2130), iVar2 == 0" (assignment_expression "iVar2 = (*(code *)PTR_string_attribute_004c380c)(param_1,0x2130)" identifier = (call_expression "(*(code *)PTR_string_attribute_004c380c)(param_1,0x2130)" (parenthesized_expression "(*(code *)PTR_string_attribute_004c380c)" ( (pointer_expression "*(code *)PTR_string_attribute_004c380c" * (cast_expression "(code *)PTR_string_attribute_004c380c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,0x2130)" ( identifier , number_literal )))) , (binary_expression "iVar2 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n    uVar5 = (**(code **)(iVar7 + -0x5a58))(param_1,0x10,auStack_30);\n    iVar2 = (int)((ulonglong)uVar5 >> 0x20);\n    lVar6 = (**(code **)(iVar7 + -0x5a58))(param_1,0x2134,auStack_30);\n    (**(code **)(iVar7 + -0x5a48))(param_1,0x2134);\n    if ((lVar6 == -1) && (extraout_v1 == 0)) {\n      if ((((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)) ||\n          (iVar7 = *(int *)(this + 0x4d8), *(int *)(iVar7 + 0x128) != *(int *)(this + 8))) ||\n         ((*(int *)(iVar7 + 0x130) != iVar2 || (*(int *)(iVar7 + 0x134) != (int)uVar5)))) {\n        return 0;\n      }\n    }\n    else {\n      iVar1 = *(int *)(this + 0x4d8);\n      iVar4 = *(int *)(this + 8);\n      if ((*(int *)(iVar1 + 0x128) != iVar4) ||\n         ((*(int *)(iVar1 + 0x130) != iVar2 || (*(int *)(iVar1 + 0x134) != (int)uVar5)))) {\n        *(undefined8 *)(iVar1 + 0x130) = uVar5;\n        *(int *)(iVar1 + 0x128) = iVar4;\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        iVar2 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        uVar3 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        if (iVar2 == 0) {\n          return uVar3;\n        }\n      }\n    }\n  }" { (expression_statement "uVar5 = (**(code **)(iVar7 + -0x5a58))(param_1,0x10,auStack_30);" (assignment_expression "uVar5 = (**(code **)(iVar7 + -0x5a58))(param_1,0x10,auStack_30)" identifier = (call_expression "(**(code **)(iVar7 + -0x5a58))(param_1,0x10,auStack_30)" (parenthesized_expression "(**(code **)(iVar7 + -0x5a58))" ( (pointer_expression "**(code **)(iVar7 + -0x5a58)" * (pointer_expression "*(code **)(iVar7 + -0x5a58)" * (cast_expression "(code **)(iVar7 + -0x5a58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + -0x5a58)" ( (binary_expression "iVar7 + -0x5a58" identifier + number_literal) ))))) )) (argument_list "(param_1,0x10,auStack_30)" ( identifier , number_literal , identifier )))) ;) (expression_statement "iVar2 = (int)((ulonglong)uVar5 >> 0x20);" (assignment_expression "iVar2 = (int)((ulonglong)uVar5 >> 0x20)" identifier = (cast_expression "(int)((ulonglong)uVar5 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar5 >> 0x20)" ( (binary_expression "(ulonglong)uVar5 >> 0x20" (cast_expression "(ulonglong)uVar5" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "lVar6 = (**(code **)(iVar7 + -0x5a58))(param_1,0x2134,auStack_30);" (assignment_expression "lVar6 = (**(code **)(iVar7 + -0x5a58))(param_1,0x2134,auStack_30)" identifier = (call_expression "(**(code **)(iVar7 + -0x5a58))(param_1,0x2134,auStack_30)" (parenthesized_expression "(**(code **)(iVar7 + -0x5a58))" ( (pointer_expression "**(code **)(iVar7 + -0x5a58)" * (pointer_expression "*(code **)(iVar7 + -0x5a58)" * (cast_expression "(code **)(iVar7 + -0x5a58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + -0x5a58)" ( (binary_expression "iVar7 + -0x5a58" identifier + number_literal) ))))) )) (argument_list "(param_1,0x2134,auStack_30)" ( identifier , number_literal , identifier )))) ;) (expression_statement "(**(code **)(iVar7 + -0x5a48))(param_1,0x2134);" (call_expression "(**(code **)(iVar7 + -0x5a48))(param_1,0x2134)" (parenthesized_expression "(**(code **)(iVar7 + -0x5a48))" ( (pointer_expression "**(code **)(iVar7 + -0x5a48)" * (pointer_expression "*(code **)(iVar7 + -0x5a48)" * (cast_expression "(code **)(iVar7 + -0x5a48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + -0x5a48)" ( (binary_expression "iVar7 + -0x5a48" identifier + number_literal) ))))) )) (argument_list "(param_1,0x2134)" ( identifier , number_literal ))) ;) (if_statement "if ((lVar6 == -1) && (extraout_v1 == 0)) {\n      if ((((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)) ||\n          (iVar7 = *(int *)(this + 0x4d8), *(int *)(iVar7 + 0x128) != *(int *)(this + 8))) ||\n         ((*(int *)(iVar7 + 0x130) != iVar2 || (*(int *)(iVar7 + 0x134) != (int)uVar5)))) {\n        return 0;\n      }\n    }\n    else {\n      iVar1 = *(int *)(this + 0x4d8);\n      iVar4 = *(int *)(this + 8);\n      if ((*(int *)(iVar1 + 0x128) != iVar4) ||\n         ((*(int *)(iVar1 + 0x130) != iVar2 || (*(int *)(iVar1 + 0x134) != (int)uVar5)))) {\n        *(undefined8 *)(iVar1 + 0x130) = uVar5;\n        *(int *)(iVar1 + 0x128) = iVar4;\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        iVar2 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        uVar3 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        if (iVar2 == 0) {\n          return uVar3;\n        }\n      }\n    }" if (parenthesized_expression "((lVar6 == -1) && (extraout_v1 == 0))" ( (binary_expression "(lVar6 == -1) && (extraout_v1 == 0)" (parenthesized_expression "(lVar6 == -1)" ( (binary_expression "lVar6 == -1" identifier == number_literal) )) && (parenthesized_expression "(extraout_v1 == 0)" ( (binary_expression "extraout_v1 == 0" identifier == number_literal) ))) )) (compound_statement "{\n      if ((((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)) ||\n          (iVar7 = *(int *)(this + 0x4d8), *(int *)(iVar7 + 0x128) != *(int *)(this + 8))) ||\n         ((*(int *)(iVar7 + 0x130) != iVar2 || (*(int *)(iVar7 + 0x134) != (int)uVar5)))) {\n        return 0;\n      }\n    }" { (if_statement "if ((((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)) ||\n          (iVar7 = *(int *)(this + 0x4d8), *(int *)(iVar7 + 0x128) != *(int *)(this + 8))) ||\n         ((*(int *)(iVar7 + 0x130) != iVar2 || (*(int *)(iVar7 + 0x134) != (int)uVar5)))) {\n        return 0;\n      }" if (parenthesized_expression "((((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)) ||\n          (iVar7 = *(int *)(this + 0x4d8), *(int *)(iVar7 + 0x128) != *(int *)(this + 8))) ||\n         ((*(int *)(iVar7 + 0x130) != iVar2 || (*(int *)(iVar7 + 0x134) != (int)uVar5))))" ( (binary_expression "(((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)) ||\n          (iVar7 = *(int *)(this + 0x4d8), *(int *)(iVar7 + 0x128) != *(int *)(this + 8))) ||\n         ((*(int *)(iVar7 + 0x130) != iVar2 || (*(int *)(iVar7 + 0x134) != (int)uVar5)))" (parenthesized_expression "(((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)) ||\n          (iVar7 = *(int *)(this + 0x4d8), *(int *)(iVar7 + 0x128) != *(int *)(this + 8)))" ( (binary_expression "((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)) ||\n          (iVar7 = *(int *)(this + 0x4d8), *(int *)(iVar7 + 0x128) != *(int *)(this + 8))" (parenthesized_expression "((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41))" ( (binary_expression "(*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)" (parenthesized_expression "(*(int **)(param_1 + 0x28) == (int *)0x0)" ( (binary_expression "*(int **)(param_1 + 0x28) == (int *)0x0" (pointer_expression "*(int **)(param_1 + 0x28)" * (cast_expression "(int **)(param_1 + 0x28)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(**(int **)(param_1 + 0x28) != 0x41)" ( (binary_expression "**(int **)(param_1 + 0x28) != 0x41" (pointer_expression "**(int **)(param_1 + 0x28)" * (pointer_expression "*(int **)(param_1 + 0x28)" * (cast_expression "(int **)(param_1 + 0x28)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) != number_literal) ))) )) || (parenthesized_expression "(iVar7 = *(int *)(this + 0x4d8), *(int *)(iVar7 + 0x128) != *(int *)(this + 8))" ( (comma_expression "iVar7 = *(int *)(this + 0x4d8), *(int *)(iVar7 + 0x128) != *(int *)(this + 8)" (assignment_expression "iVar7 = *(int *)(this + 0x4d8)" identifier = (pointer_expression "*(int *)(this + 0x4d8)" * (cast_expression "(int *)(this + 0x4d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x4d8)" ( (binary_expression "this + 0x4d8" identifier + number_literal) ))))) , (binary_expression "*(int *)(iVar7 + 0x128) != *(int *)(this + 8)" (pointer_expression "*(int *)(iVar7 + 0x128)" * (cast_expression "(int *)(iVar7 + 0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x128)" ( (binary_expression "iVar7 + 0x128" identifier + number_literal) )))) != (pointer_expression "*(int *)(this + 8)" * (cast_expression "(int *)(this + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 8)" ( (binary_expression "this + 8" identifier + number_literal) )))))) ))) )) || (parenthesized_expression "((*(int *)(iVar7 + 0x130) != iVar2 || (*(int *)(iVar7 + 0x134) != (int)uVar5)))" ( (parenthesized_expression "(*(int *)(iVar7 + 0x130) != iVar2 || (*(int *)(iVar7 + 0x134) != (int)uVar5))" ( (binary_expression "*(int *)(iVar7 + 0x130) != iVar2 || (*(int *)(iVar7 + 0x134) != (int)uVar5)" (binary_expression "*(int *)(iVar7 + 0x130) != iVar2" (pointer_expression "*(int *)(iVar7 + 0x130)" * (cast_expression "(int *)(iVar7 + 0x130)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x130)" ( (binary_expression "iVar7 + 0x130" identifier + number_literal) )))) != identifier) || (parenthesized_expression "(*(int *)(iVar7 + 0x134) != (int)uVar5)" ( (binary_expression "*(int *)(iVar7 + 0x134) != (int)uVar5" (pointer_expression "*(int *)(iVar7 + 0x134)" * (cast_expression "(int *)(iVar7 + 0x134)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x134)" ( (binary_expression "iVar7 + 0x134" identifier + number_literal) )))) != (cast_expression "(int)uVar5" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) ))) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) })) }) (else_clause "else {\n      iVar1 = *(int *)(this + 0x4d8);\n      iVar4 = *(int *)(this + 8);\n      if ((*(int *)(iVar1 + 0x128) != iVar4) ||\n         ((*(int *)(iVar1 + 0x130) != iVar2 || (*(int *)(iVar1 + 0x134) != (int)uVar5)))) {\n        *(undefined8 *)(iVar1 + 0x130) = uVar5;\n        *(int *)(iVar1 + 0x128) = iVar4;\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        iVar2 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        uVar3 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        if (iVar2 == 0) {\n          return uVar3;\n        }\n      }\n    }" else (compound_statement "{\n      iVar1 = *(int *)(this + 0x4d8);\n      iVar4 = *(int *)(this + 8);\n      if ((*(int *)(iVar1 + 0x128) != iVar4) ||\n         ((*(int *)(iVar1 + 0x130) != iVar2 || (*(int *)(iVar1 + 0x134) != (int)uVar5)))) {\n        *(undefined8 *)(iVar1 + 0x130) = uVar5;\n        *(int *)(iVar1 + 0x128) = iVar4;\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        iVar2 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        uVar3 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        if (iVar2 == 0) {\n          return uVar3;\n        }\n      }\n    }" { (expression_statement "iVar1 = *(int *)(this + 0x4d8);" (assignment_expression "iVar1 = *(int *)(this + 0x4d8)" identifier = (pointer_expression "*(int *)(this + 0x4d8)" * (cast_expression "(int *)(this + 0x4d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x4d8)" ( (binary_expression "this + 0x4d8" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = *(int *)(this + 8);" (assignment_expression "iVar4 = *(int *)(this + 8)" identifier = (pointer_expression "*(int *)(this + 8)" * (cast_expression "(int *)(this + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 8)" ( (binary_expression "this + 8" identifier + number_literal) ))))) ;) (if_statement "if ((*(int *)(iVar1 + 0x128) != iVar4) ||\n         ((*(int *)(iVar1 + 0x130) != iVar2 || (*(int *)(iVar1 + 0x134) != (int)uVar5)))) {\n        *(undefined8 *)(iVar1 + 0x130) = uVar5;\n        *(int *)(iVar1 + 0x128) = iVar4;\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        iVar2 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        uVar3 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        if (iVar2 == 0) {\n          return uVar3;\n        }\n      }" if (parenthesized_expression "((*(int *)(iVar1 + 0x128) != iVar4) ||\n         ((*(int *)(iVar1 + 0x130) != iVar2 || (*(int *)(iVar1 + 0x134) != (int)uVar5))))" ( (binary_expression "(*(int *)(iVar1 + 0x128) != iVar4) ||\n         ((*(int *)(iVar1 + 0x130) != iVar2 || (*(int *)(iVar1 + 0x134) != (int)uVar5)))" (parenthesized_expression "(*(int *)(iVar1 + 0x128) != iVar4)" ( (binary_expression "*(int *)(iVar1 + 0x128) != iVar4" (pointer_expression "*(int *)(iVar1 + 0x128)" * (cast_expression "(int *)(iVar1 + 0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x128)" ( (binary_expression "iVar1 + 0x128" identifier + number_literal) )))) != identifier) )) || (parenthesized_expression "((*(int *)(iVar1 + 0x130) != iVar2 || (*(int *)(iVar1 + 0x134) != (int)uVar5)))" ( (parenthesized_expression "(*(int *)(iVar1 + 0x130) != iVar2 || (*(int *)(iVar1 + 0x134) != (int)uVar5))" ( (binary_expression "*(int *)(iVar1 + 0x130) != iVar2 || (*(int *)(iVar1 + 0x134) != (int)uVar5)" (binary_expression "*(int *)(iVar1 + 0x130) != iVar2" (pointer_expression "*(int *)(iVar1 + 0x130)" * (cast_expression "(int *)(iVar1 + 0x130)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x130)" ( (binary_expression "iVar1 + 0x130" identifier + number_literal) )))) != identifier) || (parenthesized_expression "(*(int *)(iVar1 + 0x134) != (int)uVar5)" ( (binary_expression "*(int *)(iVar1 + 0x134) != (int)uVar5" (pointer_expression "*(int *)(iVar1 + 0x134)" * (cast_expression "(int *)(iVar1 + 0x134)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x134)" ( (binary_expression "iVar1 + 0x134" identifier + number_literal) )))) != (cast_expression "(int)uVar5" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) ))) )) (compound_statement "{\n        *(undefined8 *)(iVar1 + 0x130) = uVar5;\n        *(int *)(iVar1 + 0x128) = iVar4;\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        iVar2 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        uVar3 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        if (iVar2 == 0) {\n          return uVar3;\n        }\n      }" { (expression_statement "*(undefined8 *)(iVar1 + 0x130) = uVar5;" (assignment_expression "*(undefined8 *)(iVar1 + 0x130) = uVar5" (pointer_expression "*(undefined8 *)(iVar1 + 0x130)" * (cast_expression "(undefined8 *)(iVar1 + 0x130)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x130)" ( (binary_expression "iVar1 + 0x130" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar1 + 0x128) = iVar4;" (assignment_expression "*(int *)(iVar1 + 0x128) = iVar4" (pointer_expression "*(int *)(iVar1 + 0x128)" * (cast_expression "(int *)(iVar1 + 0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x128)" ( (binary_expression "iVar1 + 0x128" identifier + number_literal) )))) = identifier) ;) (ERROR "std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::" (comma_expression "std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std" identifier (ERROR "::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>" : : (comma_expression "_Hashtable<long_long,std" (binary_expression "_Hashtable<long_long" identifier < identifier) , identifier) : : (comma_expression "pair<long_long_const,long_long>,std" (binary_expression "pair<long_long_const" identifier < identifier) , (binary_expression "long_long>,std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<long_long_const,long_long>>,std" (binary_expression "pair<long_long_const" identifier < identifier) , (binary_expression "long_long>>,std" identifier >> (ERROR "," ,) identifier)) : : (comma_expression "__detail::_Select1st,std::equal_to<long_long>,std" identifier (ERROR "::_Select1st,std::equal_to<long_long>" : : (comma_expression "_Select1st,std" identifier , identifier) : : (binary_expression "equal_to<long_long" identifier < identifier) >) , identifier) : : (binary_expression "hash<long_long" identifier < identifier) >) , identifier) : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : :) (expression_statement "_Hashtable_traits<false,false,true>>\n        ::find(&local_28);" (comma_expression "_Hashtable_traits<false,false,true>>\n        ::find(&local_28)" (binary_expression "_Hashtable_traits<false" identifier < false) , (comma_expression "false,true>>\n        ::find(&local_28)" false , (binary_expression "true>>\n        ::find(&local_28)" true >> (ERROR "::" : :) (call_expression "find(&local_28)" identifier (argument_list "(&local_28)" ( (pointer_expression "&local_28" & identifier) )))))) ;) (expression_statement "iVar2 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));" (assignment_expression "iVar2 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4))" identifier = (call_expression "read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4))" identifier (argument_list "((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4))" ( (cast_expression "(Dwarf_pubnames_table *)this" ( (type_descriptor "Dwarf_pubnames_table *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (call_expression "CONCAT44(iVar7,in_stack_ffffffc4)" identifier (argument_list "(iVar7,in_stack_ffffffc4)" ( identifier , identifier ))) )))) ;) (ERROR "std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::" (comma_expression "std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std" identifier (ERROR "::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>" : : (comma_expression "_Hashtable<long_long,std" (binary_expression "_Hashtable<long_long" identifier < identifier) , identifier) : : (comma_expression "pair<long_long_const,long_long>,std" (binary_expression "pair<long_long_const" identifier < identifier) , (binary_expression "long_long>,std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<long_long_const,long_long>>,std" (binary_expression "pair<long_long_const" identifier < identifier) , (binary_expression "long_long>>,std" identifier >> (ERROR "," ,) identifier)) : : (comma_expression "__detail::_Select1st,std::equal_to<long_long>,std" identifier (ERROR "::_Select1st,std::equal_to<long_long>" : : (comma_expression "_Select1st,std" identifier , identifier) : : (binary_expression "equal_to<long_long" identifier < identifier) >) , identifier) : : (binary_expression "hash<long_long" identifier < identifier) >) , identifier) : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : :) (expression_statement "_Hashtable_traits<false,false,true>>\n        ::find(&local_28);" (comma_expression "_Hashtable_traits<false,false,true>>\n        ::find(&local_28)" (binary_expression "_Hashtable_traits<false" identifier < false) , (comma_expression "false,true>>\n        ::find(&local_28)" false , (binary_expression "true>>\n        ::find(&local_28)" true >> (ERROR "::" : :) (call_expression "find(&local_28)" identifier (argument_list "(&local_28)" ( (pointer_expression "&local_28" & identifier) )))))) ;) (expression_statement "uVar3 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));" (assignment_expression "uVar3 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4))" identifier = (call_expression "read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4))" identifier (argument_list "((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4))" ( (cast_expression "(Dwarf_pubnames_table *)this" ( (type_descriptor "Dwarf_pubnames_table *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (call_expression "CONCAT44(iVar7,in_stack_ffffffc4)" identifier (argument_list "(iVar7,in_stack_ffffffc4)" ( identifier , identifier ))) )))) ;) (if_statement "if (iVar2 == 0) {\n          return uVar3;\n        }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n          return uVar3;\n        }" { (return_statement "return uVar3;" return identifier ;) })) })) }))) })) (return_statement "return 1;" return number_literal ;) })))
(translation_unit (function_definition TYPE (ms_call_modifier __thiscall) (ERROR IDENT : : IDENT : :) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (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) ))) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , IDENT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (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) ))) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != IDENT) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )) ))) )) (compound_statement { (return_statement return LIT ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != IDENT) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != IDENT) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )) ))) )) (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) ;) (ERROR (comma_expression IDENT (ERROR : : (comma_expression (binary_expression IDENT < IDENT) , IDENT) : : (comma_expression (binary_expression IDENT < IDENT) , (binary_expression IDENT > (ERROR ,) IDENT)) : : (binary_expression IDENT < IDENT) : : (comma_expression (binary_expression IDENT < IDENT) , (binary_expression IDENT >> (ERROR ,) IDENT)) : : (comma_expression IDENT (ERROR : : (comma_expression IDENT , IDENT) : : (binary_expression IDENT < IDENT) >) , IDENT) : : (binary_expression IDENT < IDENT) >) , IDENT) : : IDENT : : IDENT , IDENT : : IDENT : : IDENT , IDENT : : IDENT : : IDENT , IDENT : : IDENT : :) (expression_statement (comma_expression (binary_expression IDENT < BOOL) , (comma_expression BOOL , (binary_expression BOOL >> (ERROR : :) (call_expression IDENT (argument_list ( (pointer_expression & IDENT) )))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (call_expression IDENT (argument_list ( IDENT , IDENT ))) )))) ;) (ERROR (comma_expression IDENT (ERROR : : (comma_expression (binary_expression IDENT < IDENT) , IDENT) : : (comma_expression (binary_expression IDENT < IDENT) , (binary_expression IDENT > (ERROR ,) IDENT)) : : (binary_expression IDENT < IDENT) : : (comma_expression (binary_expression IDENT < IDENT) , (binary_expression IDENT >> (ERROR ,) IDENT)) : : (comma_expression IDENT (ERROR : : (comma_expression IDENT , IDENT) : : (binary_expression IDENT < IDENT) >) , IDENT) : : (binary_expression IDENT < IDENT) >) , IDENT) : : IDENT : : IDENT , IDENT : : IDENT : : IDENT , IDENT : : IDENT : : IDENT , IDENT : : IDENT : :) (expression_statement (comma_expression (binary_expression IDENT < BOOL) , (comma_expression BOOL , (binary_expression BOOL >> (ERROR : :) (call_expression IDENT (argument_list ( (pointer_expression & IDENT) )))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (call_expression IDENT (argument_list ( IDENT , IDENT ))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return IDENT ;) })) })) }))) })) (return_statement return LIT ;) })))
(function_definition "undefined4 __thiscall\ngold::Gdb_index_info_reader::read_pubnames_and_pubtypes\n          (Gdb_index_info_reader *this,Dwarf_die *param_1)\n\n{\n  int iVar1;\n  int iVar2;\n  undefined4 uVar3;\n  int extraout_v1;\n  int iVar4;\n  undefined8 uVar5;\n  longlong lVar6;\n  int iVar7;\n  undefined4 in_stack_ffffffc4;\n  undefined1 auStack_30 [8];\n  longlong local_28;\n  \n  iVar7 = 0x4c9240;\n  if (((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)) ||\n     (iVar2 = (*(code *)PTR_string_attribute_004c380c)(param_1,0x2130), iVar2 == 0)) {\n    uVar5 = (**(code **)(iVar7 + -0x5a58))(param_1,0x10,auStack_30);\n    iVar2 = (int)((ulonglong)uVar5 >> 0x20);\n    lVar6 = (**(code **)(iVar7 + -0x5a58))(param_1,0x2134,auStack_30);\n    (**(code **)(iVar7 + -0x5a48))(param_1,0x2134);\n    if ((lVar6 == -1) && (extraout_v1 == 0)) {\n      if ((((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)) ||\n          (iVar7 = *(int *)(this + 0x4d8), *(int *)(iVar7 + 0x128) != *(int *)(this + 8))) ||\n         ((*(int *)(iVar7 + 0x130) != iVar2 || (*(int *)(iVar7 + 0x134) != (int)uVar5)))) {\n        return 0;\n      }\n    }\n    else {\n      iVar1 = *(int *)(this + 0x4d8);\n      iVar4 = *(int *)(this + 8);\n      if ((*(int *)(iVar1 + 0x128) != iVar4) ||\n         ((*(int *)(iVar1 + 0x130) != iVar2 || (*(int *)(iVar1 + 0x134) != (int)uVar5)))) {\n        *(undefined8 *)(iVar1 + 0x130) = uVar5;\n        *(int *)(iVar1 + 0x128) = iVar4;\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        iVar2 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        uVar3 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        if (iVar2 == 0) {\n          return uVar3;\n        }\n      }\n    }\n  }\n  return 1;\n}" (type_identifier "undefined4") (ms_call_modifier "__thiscall" (__thiscall "__thiscall")) (ERROR "gold::Gdb_index_info_reader::" (identifier "gold") (: ":") (: ":") (identifier "Gdb_index_info_reader") (: ":") (: ":")) (function_declarator "read_pubnames_and_pubtypes\n          (Gdb_index_info_reader *this,Dwarf_die *param_1)" (identifier "read_pubnames_and_pubtypes") (parameter_list "(Gdb_index_info_reader *this,Dwarf_die *param_1)" (( "(") (parameter_declaration "Gdb_index_info_reader *this" (type_identifier "Gdb_index_info_reader") (pointer_declarator "*this" (* "*") (identifier "this"))) (, ",") (parameter_declaration "Dwarf_die *param_1" (type_identifier "Dwarf_die") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) () ")"))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  undefined4 uVar3;\n  int extraout_v1;\n  int iVar4;\n  undefined8 uVar5;\n  longlong lVar6;\n  int iVar7;\n  undefined4 in_stack_ffffffc4;\n  undefined1 auStack_30 [8];\n  longlong local_28;\n  \n  iVar7 = 0x4c9240;\n  if (((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)) ||\n     (iVar2 = (*(code *)PTR_string_attribute_004c380c)(param_1,0x2130), iVar2 == 0)) {\n    uVar5 = (**(code **)(iVar7 + -0x5a58))(param_1,0x10,auStack_30);\n    iVar2 = (int)((ulonglong)uVar5 >> 0x20);\n    lVar6 = (**(code **)(iVar7 + -0x5a58))(param_1,0x2134,auStack_30);\n    (**(code **)(iVar7 + -0x5a48))(param_1,0x2134);\n    if ((lVar6 == -1) && (extraout_v1 == 0)) {\n      if ((((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)) ||\n          (iVar7 = *(int *)(this + 0x4d8), *(int *)(iVar7 + 0x128) != *(int *)(this + 8))) ||\n         ((*(int *)(iVar7 + 0x130) != iVar2 || (*(int *)(iVar7 + 0x134) != (int)uVar5)))) {\n        return 0;\n      }\n    }\n    else {\n      iVar1 = *(int *)(this + 0x4d8);\n      iVar4 = *(int *)(this + 8);\n      if ((*(int *)(iVar1 + 0x128) != iVar4) ||\n         ((*(int *)(iVar1 + 0x130) != iVar2 || (*(int *)(iVar1 + 0x134) != (int)uVar5)))) {\n        *(undefined8 *)(iVar1 + 0x130) = uVar5;\n        *(int *)(iVar1 + 0x128) = iVar4;\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        iVar2 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        uVar3 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        if (iVar2 == 0) {\n          return uVar3;\n        }\n      }\n    }\n  }\n  return 1;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "int extraout_v1;" (primitive_type "int") (identifier "extraout_v1") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "undefined8 uVar5;" (type_identifier "undefined8") (identifier "uVar5") (; ";")) (declaration "longlong lVar6;" (type_identifier "longlong") (identifier "lVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "undefined4 in_stack_ffffffc4;" (type_identifier "undefined4") (identifier "in_stack_ffffffc4") (; ";")) (declaration "undefined1 auStack_30 [8];" (type_identifier "undefined1") (array_declarator "auStack_30 [8]" (identifier "auStack_30") ([ "[") (number_literal "8") (] "]")) (; ";")) (declaration "longlong local_28;" (type_identifier "longlong") (identifier "local_28") (; ";")) (expression_statement "iVar7 = 0x4c9240;" (assignment_expression "iVar7 = 0x4c9240" (identifier "iVar7") (= "=") (number_literal "0x4c9240")) (; ";")) (if_statement "if (((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)) ||\n     (iVar2 = (*(code *)PTR_string_attribute_004c380c)(param_1,0x2130), iVar2 == 0)) {\n    uVar5 = (**(code **)(iVar7 + -0x5a58))(param_1,0x10,auStack_30);\n    iVar2 = (int)((ulonglong)uVar5 >> 0x20);\n    lVar6 = (**(code **)(iVar7 + -0x5a58))(param_1,0x2134,auStack_30);\n    (**(code **)(iVar7 + -0x5a48))(param_1,0x2134);\n    if ((lVar6 == -1) && (extraout_v1 == 0)) {\n      if ((((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)) ||\n          (iVar7 = *(int *)(this + 0x4d8), *(int *)(iVar7 + 0x128) != *(int *)(this + 8))) ||\n         ((*(int *)(iVar7 + 0x130) != iVar2 || (*(int *)(iVar7 + 0x134) != (int)uVar5)))) {\n        return 0;\n      }\n    }\n    else {\n      iVar1 = *(int *)(this + 0x4d8);\n      iVar4 = *(int *)(this + 8);\n      if ((*(int *)(iVar1 + 0x128) != iVar4) ||\n         ((*(int *)(iVar1 + 0x130) != iVar2 || (*(int *)(iVar1 + 0x134) != (int)uVar5)))) {\n        *(undefined8 *)(iVar1 + 0x130) = uVar5;\n        *(int *)(iVar1 + 0x128) = iVar4;\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        iVar2 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        uVar3 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        if (iVar2 == 0) {\n          return uVar3;\n        }\n      }\n    }\n  }" (if "if") (parenthesized_expression "(((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)) ||\n     (iVar2 = (*(code *)PTR_string_attribute_004c380c)(param_1,0x2130), iVar2 == 0))" (( "(") (binary_expression "((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)) ||\n     (iVar2 = (*(code *)PTR_string_attribute_004c380c)(param_1,0x2130), iVar2 == 0)" (parenthesized_expression "((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41))" (( "(") (binary_expression "(*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)" (parenthesized_expression "(*(int **)(param_1 + 0x28) == (int *)0x0)" (( "(") (binary_expression "*(int **)(param_1 + 0x28) == (int *)0x0" (pointer_expression "*(int **)(param_1 + 0x28)" (* "*") (cast_expression "(int **)(param_1 + 0x28)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")")))) (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(**(int **)(param_1 + 0x28) != 0x41)" (( "(") (binary_expression "**(int **)(param_1 + 0x28) != 0x41" (pointer_expression "**(int **)(param_1 + 0x28)" (* "*") (pointer_expression "*(int **)(param_1 + 0x28)" (* "*") (cast_expression "(int **)(param_1 + 0x28)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")"))))) (!= "!=") (number_literal "0x41")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(iVar2 = (*(code *)PTR_string_attribute_004c380c)(param_1,0x2130), iVar2 == 0)" (( "(") (comma_expression "iVar2 = (*(code *)PTR_string_attribute_004c380c)(param_1,0x2130), iVar2 == 0" (assignment_expression "iVar2 = (*(code *)PTR_string_attribute_004c380c)(param_1,0x2130)" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_string_attribute_004c380c)(param_1,0x2130)" (parenthesized_expression "(*(code *)PTR_string_attribute_004c380c)" (( "(") (pointer_expression "*(code *)PTR_string_attribute_004c380c" (* "*") (cast_expression "(code *)PTR_string_attribute_004c380c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_string_attribute_004c380c"))) () ")")) (argument_list "(param_1,0x2130)" (( "(") (identifier "param_1") (, ",") (number_literal "0x2130") () ")")))) (, ",") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n    uVar5 = (**(code **)(iVar7 + -0x5a58))(param_1,0x10,auStack_30);\n    iVar2 = (int)((ulonglong)uVar5 >> 0x20);\n    lVar6 = (**(code **)(iVar7 + -0x5a58))(param_1,0x2134,auStack_30);\n    (**(code **)(iVar7 + -0x5a48))(param_1,0x2134);\n    if ((lVar6 == -1) && (extraout_v1 == 0)) {\n      if ((((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)) ||\n          (iVar7 = *(int *)(this + 0x4d8), *(int *)(iVar7 + 0x128) != *(int *)(this + 8))) ||\n         ((*(int *)(iVar7 + 0x130) != iVar2 || (*(int *)(iVar7 + 0x134) != (int)uVar5)))) {\n        return 0;\n      }\n    }\n    else {\n      iVar1 = *(int *)(this + 0x4d8);\n      iVar4 = *(int *)(this + 8);\n      if ((*(int *)(iVar1 + 0x128) != iVar4) ||\n         ((*(int *)(iVar1 + 0x130) != iVar2 || (*(int *)(iVar1 + 0x134) != (int)uVar5)))) {\n        *(undefined8 *)(iVar1 + 0x130) = uVar5;\n        *(int *)(iVar1 + 0x128) = iVar4;\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        iVar2 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        uVar3 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        if (iVar2 == 0) {\n          return uVar3;\n        }\n      }\n    }\n  }" ({ "{") (expression_statement "uVar5 = (**(code **)(iVar7 + -0x5a58))(param_1,0x10,auStack_30);" (assignment_expression "uVar5 = (**(code **)(iVar7 + -0x5a58))(param_1,0x10,auStack_30)" (identifier "uVar5") (= "=") (call_expression "(**(code **)(iVar7 + -0x5a58))(param_1,0x10,auStack_30)" (parenthesized_expression "(**(code **)(iVar7 + -0x5a58))" (( "(") (pointer_expression "**(code **)(iVar7 + -0x5a58)" (* "*") (pointer_expression "*(code **)(iVar7 + -0x5a58)" (* "*") (cast_expression "(code **)(iVar7 + -0x5a58)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar7 + -0x5a58)" (( "(") (binary_expression "iVar7 + -0x5a58" (identifier "iVar7") (+ "+") (number_literal "-0x5a58")) () ")"))))) () ")")) (argument_list "(param_1,0x10,auStack_30)" (( "(") (identifier "param_1") (, ",") (number_literal "0x10") (, ",") (identifier "auStack_30") () ")")))) (; ";")) (expression_statement "iVar2 = (int)((ulonglong)uVar5 >> 0x20);" (assignment_expression "iVar2 = (int)((ulonglong)uVar5 >> 0x20)" (identifier "iVar2") (= "=") (cast_expression "(int)((ulonglong)uVar5 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar5 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar5 >> 0x20" (cast_expression "(ulonglong)uVar5" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar5")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "lVar6 = (**(code **)(iVar7 + -0x5a58))(param_1,0x2134,auStack_30);" (assignment_expression "lVar6 = (**(code **)(iVar7 + -0x5a58))(param_1,0x2134,auStack_30)" (identifier "lVar6") (= "=") (call_expression "(**(code **)(iVar7 + -0x5a58))(param_1,0x2134,auStack_30)" (parenthesized_expression "(**(code **)(iVar7 + -0x5a58))" (( "(") (pointer_expression "**(code **)(iVar7 + -0x5a58)" (* "*") (pointer_expression "*(code **)(iVar7 + -0x5a58)" (* "*") (cast_expression "(code **)(iVar7 + -0x5a58)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar7 + -0x5a58)" (( "(") (binary_expression "iVar7 + -0x5a58" (identifier "iVar7") (+ "+") (number_literal "-0x5a58")) () ")"))))) () ")")) (argument_list "(param_1,0x2134,auStack_30)" (( "(") (identifier "param_1") (, ",") (number_literal "0x2134") (, ",") (identifier "auStack_30") () ")")))) (; ";")) (expression_statement "(**(code **)(iVar7 + -0x5a48))(param_1,0x2134);" (call_expression "(**(code **)(iVar7 + -0x5a48))(param_1,0x2134)" (parenthesized_expression "(**(code **)(iVar7 + -0x5a48))" (( "(") (pointer_expression "**(code **)(iVar7 + -0x5a48)" (* "*") (pointer_expression "*(code **)(iVar7 + -0x5a48)" (* "*") (cast_expression "(code **)(iVar7 + -0x5a48)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar7 + -0x5a48)" (( "(") (binary_expression "iVar7 + -0x5a48" (identifier "iVar7") (+ "+") (number_literal "-0x5a48")) () ")"))))) () ")")) (argument_list "(param_1,0x2134)" (( "(") (identifier "param_1") (, ",") (number_literal "0x2134") () ")"))) (; ";")) (if_statement "if ((lVar6 == -1) && (extraout_v1 == 0)) {\n      if ((((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)) ||\n          (iVar7 = *(int *)(this + 0x4d8), *(int *)(iVar7 + 0x128) != *(int *)(this + 8))) ||\n         ((*(int *)(iVar7 + 0x130) != iVar2 || (*(int *)(iVar7 + 0x134) != (int)uVar5)))) {\n        return 0;\n      }\n    }\n    else {\n      iVar1 = *(int *)(this + 0x4d8);\n      iVar4 = *(int *)(this + 8);\n      if ((*(int *)(iVar1 + 0x128) != iVar4) ||\n         ((*(int *)(iVar1 + 0x130) != iVar2 || (*(int *)(iVar1 + 0x134) != (int)uVar5)))) {\n        *(undefined8 *)(iVar1 + 0x130) = uVar5;\n        *(int *)(iVar1 + 0x128) = iVar4;\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        iVar2 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        uVar3 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        if (iVar2 == 0) {\n          return uVar3;\n        }\n      }\n    }" (if "if") (parenthesized_expression "((lVar6 == -1) && (extraout_v1 == 0))" (( "(") (binary_expression "(lVar6 == -1) && (extraout_v1 == 0)" (parenthesized_expression "(lVar6 == -1)" (( "(") (binary_expression "lVar6 == -1" (identifier "lVar6") (== "==") (number_literal "-1")) () ")")) (&& "&&") (parenthesized_expression "(extraout_v1 == 0)" (( "(") (binary_expression "extraout_v1 == 0" (identifier "extraout_v1") (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n      if ((((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)) ||\n          (iVar7 = *(int *)(this + 0x4d8), *(int *)(iVar7 + 0x128) != *(int *)(this + 8))) ||\n         ((*(int *)(iVar7 + 0x130) != iVar2 || (*(int *)(iVar7 + 0x134) != (int)uVar5)))) {\n        return 0;\n      }\n    }" ({ "{") (if_statement "if ((((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)) ||\n          (iVar7 = *(int *)(this + 0x4d8), *(int *)(iVar7 + 0x128) != *(int *)(this + 8))) ||\n         ((*(int *)(iVar7 + 0x130) != iVar2 || (*(int *)(iVar7 + 0x134) != (int)uVar5)))) {\n        return 0;\n      }" (if "if") (parenthesized_expression "((((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)) ||\n          (iVar7 = *(int *)(this + 0x4d8), *(int *)(iVar7 + 0x128) != *(int *)(this + 8))) ||\n         ((*(int *)(iVar7 + 0x130) != iVar2 || (*(int *)(iVar7 + 0x134) != (int)uVar5))))" (( "(") (binary_expression "(((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)) ||\n          (iVar7 = *(int *)(this + 0x4d8), *(int *)(iVar7 + 0x128) != *(int *)(this + 8))) ||\n         ((*(int *)(iVar7 + 0x130) != iVar2 || (*(int *)(iVar7 + 0x134) != (int)uVar5)))" (parenthesized_expression "(((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)) ||\n          (iVar7 = *(int *)(this + 0x4d8), *(int *)(iVar7 + 0x128) != *(int *)(this + 8)))" (( "(") (binary_expression "((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)) ||\n          (iVar7 = *(int *)(this + 0x4d8), *(int *)(iVar7 + 0x128) != *(int *)(this + 8))" (parenthesized_expression "((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41))" (( "(") (binary_expression "(*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)" (parenthesized_expression "(*(int **)(param_1 + 0x28) == (int *)0x0)" (( "(") (binary_expression "*(int **)(param_1 + 0x28) == (int *)0x0" (pointer_expression "*(int **)(param_1 + 0x28)" (* "*") (cast_expression "(int **)(param_1 + 0x28)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")")))) (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(**(int **)(param_1 + 0x28) != 0x41)" (( "(") (binary_expression "**(int **)(param_1 + 0x28) != 0x41" (pointer_expression "**(int **)(param_1 + 0x28)" (* "*") (pointer_expression "*(int **)(param_1 + 0x28)" (* "*") (cast_expression "(int **)(param_1 + 0x28)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")"))))) (!= "!=") (number_literal "0x41")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(iVar7 = *(int *)(this + 0x4d8), *(int *)(iVar7 + 0x128) != *(int *)(this + 8))" (( "(") (comma_expression "iVar7 = *(int *)(this + 0x4d8), *(int *)(iVar7 + 0x128) != *(int *)(this + 8)" (assignment_expression "iVar7 = *(int *)(this + 0x4d8)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(this + 0x4d8)" (* "*") (cast_expression "(int *)(this + 0x4d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x4d8)" (( "(") (binary_expression "this + 0x4d8" (identifier "this") (+ "+") (number_literal "0x4d8")) () ")"))))) (, ",") (binary_expression "*(int *)(iVar7 + 0x128) != *(int *)(this + 8)" (pointer_expression "*(int *)(iVar7 + 0x128)" (* "*") (cast_expression "(int *)(iVar7 + 0x128)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x128)" (( "(") (binary_expression "iVar7 + 0x128" (identifier "iVar7") (+ "+") (number_literal "0x128")) () ")")))) (!= "!=") (pointer_expression "*(int *)(this + 8)" (* "*") (cast_expression "(int *)(this + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 8)" (( "(") (binary_expression "this + 8" (identifier "this") (+ "+") (number_literal "8")) () ")")))))) () ")"))) () ")")) (|| "||") (parenthesized_expression "((*(int *)(iVar7 + 0x130) != iVar2 || (*(int *)(iVar7 + 0x134) != (int)uVar5)))" (( "(") (parenthesized_expression "(*(int *)(iVar7 + 0x130) != iVar2 || (*(int *)(iVar7 + 0x134) != (int)uVar5))" (( "(") (binary_expression "*(int *)(iVar7 + 0x130) != iVar2 || (*(int *)(iVar7 + 0x134) != (int)uVar5)" (binary_expression "*(int *)(iVar7 + 0x130) != iVar2" (pointer_expression "*(int *)(iVar7 + 0x130)" (* "*") (cast_expression "(int *)(iVar7 + 0x130)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x130)" (( "(") (binary_expression "iVar7 + 0x130" (identifier "iVar7") (+ "+") (number_literal "0x130")) () ")")))) (!= "!=") (identifier "iVar2")) (|| "||") (parenthesized_expression "(*(int *)(iVar7 + 0x134) != (int)uVar5)" (( "(") (binary_expression "*(int *)(iVar7 + 0x134) != (int)uVar5" (pointer_expression "*(int *)(iVar7 + 0x134)" (* "*") (cast_expression "(int *)(iVar7 + 0x134)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x134)" (( "(") (binary_expression "iVar7 + 0x134" (identifier "iVar7") (+ "+") (number_literal "0x134")) () ")")))) (!= "!=") (cast_expression "(int)uVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar5"))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n        return 0;\n      }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      iVar1 = *(int *)(this + 0x4d8);\n      iVar4 = *(int *)(this + 8);\n      if ((*(int *)(iVar1 + 0x128) != iVar4) ||\n         ((*(int *)(iVar1 + 0x130) != iVar2 || (*(int *)(iVar1 + 0x134) != (int)uVar5)))) {\n        *(undefined8 *)(iVar1 + 0x130) = uVar5;\n        *(int *)(iVar1 + 0x128) = iVar4;\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        iVar2 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        uVar3 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        if (iVar2 == 0) {\n          return uVar3;\n        }\n      }\n    }" (else "else") (compound_statement "{\n      iVar1 = *(int *)(this + 0x4d8);\n      iVar4 = *(int *)(this + 8);\n      if ((*(int *)(iVar1 + 0x128) != iVar4) ||\n         ((*(int *)(iVar1 + 0x130) != iVar2 || (*(int *)(iVar1 + 0x134) != (int)uVar5)))) {\n        *(undefined8 *)(iVar1 + 0x130) = uVar5;\n        *(int *)(iVar1 + 0x128) = iVar4;\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        iVar2 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        uVar3 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        if (iVar2 == 0) {\n          return uVar3;\n        }\n      }\n    }" ({ "{") (expression_statement "iVar1 = *(int *)(this + 0x4d8);" (assignment_expression "iVar1 = *(int *)(this + 0x4d8)" (identifier "iVar1") (= "=") (pointer_expression "*(int *)(this + 0x4d8)" (* "*") (cast_expression "(int *)(this + 0x4d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x4d8)" (( "(") (binary_expression "this + 0x4d8" (identifier "this") (+ "+") (number_literal "0x4d8")) () ")"))))) (; ";")) (expression_statement "iVar4 = *(int *)(this + 8);" (assignment_expression "iVar4 = *(int *)(this + 8)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(this + 8)" (* "*") (cast_expression "(int *)(this + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 8)" (( "(") (binary_expression "this + 8" (identifier "this") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if ((*(int *)(iVar1 + 0x128) != iVar4) ||\n         ((*(int *)(iVar1 + 0x130) != iVar2 || (*(int *)(iVar1 + 0x134) != (int)uVar5)))) {\n        *(undefined8 *)(iVar1 + 0x130) = uVar5;\n        *(int *)(iVar1 + 0x128) = iVar4;\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        iVar2 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        uVar3 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        if (iVar2 == 0) {\n          return uVar3;\n        }\n      }" (if "if") (parenthesized_expression "((*(int *)(iVar1 + 0x128) != iVar4) ||\n         ((*(int *)(iVar1 + 0x130) != iVar2 || (*(int *)(iVar1 + 0x134) != (int)uVar5))))" (( "(") (binary_expression "(*(int *)(iVar1 + 0x128) != iVar4) ||\n         ((*(int *)(iVar1 + 0x130) != iVar2 || (*(int *)(iVar1 + 0x134) != (int)uVar5)))" (parenthesized_expression "(*(int *)(iVar1 + 0x128) != iVar4)" (( "(") (binary_expression "*(int *)(iVar1 + 0x128) != iVar4" (pointer_expression "*(int *)(iVar1 + 0x128)" (* "*") (cast_expression "(int *)(iVar1 + 0x128)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x128)" (( "(") (binary_expression "iVar1 + 0x128" (identifier "iVar1") (+ "+") (number_literal "0x128")) () ")")))) (!= "!=") (identifier "iVar4")) () ")")) (|| "||") (parenthesized_expression "((*(int *)(iVar1 + 0x130) != iVar2 || (*(int *)(iVar1 + 0x134) != (int)uVar5)))" (( "(") (parenthesized_expression "(*(int *)(iVar1 + 0x130) != iVar2 || (*(int *)(iVar1 + 0x134) != (int)uVar5))" (( "(") (binary_expression "*(int *)(iVar1 + 0x130) != iVar2 || (*(int *)(iVar1 + 0x134) != (int)uVar5)" (binary_expression "*(int *)(iVar1 + 0x130) != iVar2" (pointer_expression "*(int *)(iVar1 + 0x130)" (* "*") (cast_expression "(int *)(iVar1 + 0x130)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x130)" (( "(") (binary_expression "iVar1 + 0x130" (identifier "iVar1") (+ "+") (number_literal "0x130")) () ")")))) (!= "!=") (identifier "iVar2")) (|| "||") (parenthesized_expression "(*(int *)(iVar1 + 0x134) != (int)uVar5)" (( "(") (binary_expression "*(int *)(iVar1 + 0x134) != (int)uVar5" (pointer_expression "*(int *)(iVar1 + 0x134)" (* "*") (cast_expression "(int *)(iVar1 + 0x134)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x134)" (( "(") (binary_expression "iVar1 + 0x134" (identifier "iVar1") (+ "+") (number_literal "0x134")) () ")")))) (!= "!=") (cast_expression "(int)uVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar5"))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n        *(undefined8 *)(iVar1 + 0x130) = uVar5;\n        *(int *)(iVar1 + 0x128) = iVar4;\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        iVar2 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>\n        ::find(&local_28);\n        uVar3 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));\n        if (iVar2 == 0) {\n          return uVar3;\n        }\n      }" ({ "{") (expression_statement "*(undefined8 *)(iVar1 + 0x130) = uVar5;" (assignment_expression "*(undefined8 *)(iVar1 + 0x130) = uVar5" (pointer_expression "*(undefined8 *)(iVar1 + 0x130)" (* "*") (cast_expression "(undefined8 *)(iVar1 + 0x130)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x130)" (( "(") (binary_expression "iVar1 + 0x130" (identifier "iVar1") (+ "+") (number_literal "0x130")) () ")")))) (= "=") (identifier "uVar5")) (; ";")) (expression_statement "*(int *)(iVar1 + 0x128) = iVar4;" (assignment_expression "*(int *)(iVar1 + 0x128) = iVar4" (pointer_expression "*(int *)(iVar1 + 0x128)" (* "*") (cast_expression "(int *)(iVar1 + 0x128)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x128)" (( "(") (binary_expression "iVar1 + 0x128" (identifier "iVar1") (+ "+") (number_literal "0x128")) () ")")))) (= "=") (identifier "iVar4")) (; ";")) (ERROR "std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::" (comma_expression "std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std" (identifier "std") (ERROR "::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>" (: ":") (: ":") (comma_expression "_Hashtable<long_long,std" (binary_expression "_Hashtable<long_long" (identifier "_Hashtable") (< "<") (identifier "long_long")) (, ",") (identifier "std")) (: ":") (: ":") (comma_expression "pair<long_long_const,long_long>,std" (binary_expression "pair<long_long_const" (identifier "pair") (< "<") (identifier "long_long_const")) (, ",") (binary_expression "long_long>,std" (identifier "long_long") (> ">") (ERROR "," (, ",")) (identifier "std"))) (: ":") (: ":") (binary_expression "allocator<std" (identifier "allocator") (< "<") (identifier "std")) (: ":") (: ":") (comma_expression "pair<long_long_const,long_long>>,std" (binary_expression "pair<long_long_const" (identifier "pair") (< "<") (identifier "long_long_const")) (, ",") (binary_expression "long_long>>,std" (identifier "long_long") (>> ">>") (ERROR "," (, ",")) (identifier "std"))) (: ":") (: ":") (comma_expression "__detail::_Select1st,std::equal_to<long_long>,std" (identifier "__detail") (ERROR "::_Select1st,std::equal_to<long_long>" (: ":") (: ":") (comma_expression "_Select1st,std" (identifier "_Select1st") (, ",") (identifier "std")) (: ":") (: ":") (binary_expression "equal_to<long_long" (identifier "equal_to") (< "<") (identifier "long_long")) (> ">")) (, ",") (identifier "std")) (: ":") (: ":") (binary_expression "hash<long_long" (identifier "hash") (< "<") (identifier "long_long")) (> ">")) (, ",") (identifier "std")) (: ":") (: ":") (identifier "__detail") (: ":") (: ":") (identifier "_Mod_range_hashing") (, ",") (identifier "std") (: ":") (: ":") (identifier "__detail") (: ":") (: ":") (identifier "_Default_ranged_hash") (, ",") (identifier "std") (: ":") (: ":") (identifier "__detail") (: ":") (: ":") (identifier "_Prime_rehash_policy") (, ",") (identifier "std") (: ":") (: ":") (identifier "__detail") (: ":") (: ":")) (expression_statement "_Hashtable_traits<false,false,true>>\n        ::find(&local_28);" (comma_expression "_Hashtable_traits<false,false,true>>\n        ::find(&local_28)" (binary_expression "_Hashtable_traits<false" (identifier "_Hashtable_traits") (< "<") (false "false")) (, ",") (comma_expression "false,true>>\n        ::find(&local_28)" (false "false") (, ",") (binary_expression "true>>\n        ::find(&local_28)" (true "true") (>> ">>") (ERROR "::" (: ":") (: ":")) (call_expression "find(&local_28)" (identifier "find") (argument_list "(&local_28)" (( "(") (pointer_expression "&local_28" (& "&") (identifier "local_28")) () ")")))))) (; ";")) (expression_statement "iVar2 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));" (assignment_expression "iVar2 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4))" (identifier "iVar2") (= "=") (call_expression "read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4))" (identifier "read_pubtable") (argument_list "((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4))" (( "(") (cast_expression "(Dwarf_pubnames_table *)this" (( "(") (type_descriptor "Dwarf_pubnames_table *" (type_identifier "Dwarf_pubnames_table") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "this")) (, ",") (call_expression "CONCAT44(iVar7,in_stack_ffffffc4)" (identifier "CONCAT44") (argument_list "(iVar7,in_stack_ffffffc4)" (( "(") (identifier "iVar7") (, ",") (identifier "in_stack_ffffffc4") () ")"))) () ")")))) (; ";")) (ERROR "std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::" (comma_expression "std::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std" (identifier "std") (ERROR "::\n        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>" (: ":") (: ":") (comma_expression "_Hashtable<long_long,std" (binary_expression "_Hashtable<long_long" (identifier "_Hashtable") (< "<") (identifier "long_long")) (, ",") (identifier "std")) (: ":") (: ":") (comma_expression "pair<long_long_const,long_long>,std" (binary_expression "pair<long_long_const" (identifier "pair") (< "<") (identifier "long_long_const")) (, ",") (binary_expression "long_long>,std" (identifier "long_long") (> ">") (ERROR "," (, ",")) (identifier "std"))) (: ":") (: ":") (binary_expression "allocator<std" (identifier "allocator") (< "<") (identifier "std")) (: ":") (: ":") (comma_expression "pair<long_long_const,long_long>>,std" (binary_expression "pair<long_long_const" (identifier "pair") (< "<") (identifier "long_long_const")) (, ",") (binary_expression "long_long>>,std" (identifier "long_long") (>> ">>") (ERROR "," (, ",")) (identifier "std"))) (: ":") (: ":") (comma_expression "__detail::_Select1st,std::equal_to<long_long>,std" (identifier "__detail") (ERROR "::_Select1st,std::equal_to<long_long>" (: ":") (: ":") (comma_expression "_Select1st,std" (identifier "_Select1st") (, ",") (identifier "std")) (: ":") (: ":") (binary_expression "equal_to<long_long" (identifier "equal_to") (< "<") (identifier "long_long")) (> ">")) (, ",") (identifier "std")) (: ":") (: ":") (binary_expression "hash<long_long" (identifier "hash") (< "<") (identifier "long_long")) (> ">")) (, ",") (identifier "std")) (: ":") (: ":") (identifier "__detail") (: ":") (: ":") (identifier "_Mod_range_hashing") (, ",") (identifier "std") (: ":") (: ":") (identifier "__detail") (: ":") (: ":") (identifier "_Default_ranged_hash") (, ",") (identifier "std") (: ":") (: ":") (identifier "__detail") (: ":") (: ":") (identifier "_Prime_rehash_policy") (, ",") (identifier "std") (: ":") (: ":") (identifier "__detail") (: ":") (: ":")) (expression_statement "_Hashtable_traits<false,false,true>>\n        ::find(&local_28);" (comma_expression "_Hashtable_traits<false,false,true>>\n        ::find(&local_28)" (binary_expression "_Hashtable_traits<false" (identifier "_Hashtable_traits") (< "<") (false "false")) (, ",") (comma_expression "false,true>>\n        ::find(&local_28)" (false "false") (, ",") (binary_expression "true>>\n        ::find(&local_28)" (true "true") (>> ">>") (ERROR "::" (: ":") (: ":")) (call_expression "find(&local_28)" (identifier "find") (argument_list "(&local_28)" (( "(") (pointer_expression "&local_28" (& "&") (identifier "local_28")) () ")")))))) (; ";")) (expression_statement "uVar3 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));" (assignment_expression "uVar3 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4))" (identifier "uVar3") (= "=") (call_expression "read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4))" (identifier "read_pubtable") (argument_list "((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4))" (( "(") (cast_expression "(Dwarf_pubnames_table *)this" (( "(") (type_descriptor "Dwarf_pubnames_table *" (type_identifier "Dwarf_pubnames_table") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "this")) (, ",") (call_expression "CONCAT44(iVar7,in_stack_ffffffc4)" (identifier "CONCAT44") (argument_list "(iVar7,in_stack_ffffffc4)" (( "(") (identifier "iVar7") (, ",") (identifier "in_stack_ffffffc4") () ")"))) () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n          return uVar3;\n        }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          return uVar3;\n        }" ({ "{") (return_statement "return uVar3;" (return "return") (identifier "uVar3") (; ";")) (} "}"))) (} "}"))) (} "}")))) (} "}"))) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}")))
(translation_unit (function_definition type: (type_identifier) (ms_call_modifier) (ERROR (identifier) (identifier)) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (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))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal)))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (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))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))))) consequence: (compound_statement (return_statement (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (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: (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: (identifier)) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (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))) (ERROR (comma_expression left: (identifier) (ERROR (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)) (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) (ERROR) right: (identifier))) (binary_expression left: (identifier) right: (identifier)) (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) (ERROR) right: (identifier))) (comma_expression left: (identifier) (ERROR (comma_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) right: (identifier))) right: (identifier)) (binary_expression left: (identifier) right: (identifier))) right: (identifier)) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier)) (expression_statement (comma_expression left: (binary_expression left: (identifier) right: (false)) right: (comma_expression left: (false) right: (binary_expression left: (true) (ERROR) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)) (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))))) (ERROR (comma_expression left: (identifier) (ERROR (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)) (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) (ERROR) right: (identifier))) (binary_expression left: (identifier) right: (identifier)) (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) (ERROR) right: (identifier))) (comma_expression left: (identifier) (ERROR (comma_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) right: (identifier))) right: (identifier)) (binary_expression left: (identifier) right: (identifier))) right: (identifier)) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier)) (expression_statement (comma_expression left: (binary_expression left: (identifier) right: (false)) right: (comma_expression left: (false) right: (binary_expression left: (true) (ERROR) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)) (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (identifier))))))))))) (return_statement (number_literal)))))

/* gold::Gdb_index_info_reader::MASKED(gold::Dwarf_die*) */

undefined4 __thiscall
gold::Gdb_index_info_reader::MASKED
          (Gdb_index_info_reader *this,Dwarf_die *param_1)

{
  int iVar1;
  int iVar2;
  undefined4 uVar3;
  int extraout_v1;
  int iVar4;
  undefined8 uVar5;
  longlong lVar6;
  int iVar7;
  undefined4 in_stack_ffffffc4;
  undefined1 auStack_30 [8];
  longlong local_28;
  
  iVar7 = 0x4c9240;
  if (((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)) ||
     (iVar2 = (*(code *)PTR_string_attribute_004c380c)(param_1,0x2130), iVar2 == 0)) {
    uVar5 = (**(code **)(iVar7 + -0x5a58))(param_1,0x10,auStack_30);
    iVar2 = (int)((ulonglong)uVar5 >> 0x20);
    lVar6 = (**(code **)(iVar7 + -0x5a58))(param_1,0x2134,auStack_30);
    (**(code **)(iVar7 + -0x5a48))(param_1,0x2134);
    if ((lVar6 == -1) && (extraout_v1 == 0)) {
      if ((((*(int **)(param_1 + 0x28) == (int *)0x0) || (**(int **)(param_1 + 0x28) != 0x41)) ||
          (iVar7 = *(int *)(this + 0x4d8), *(int *)(iVar7 + 0x128) != *(int *)(this + 8))) ||
         ((*(int *)(iVar7 + 0x130) != iVar2 || (*(int *)(iVar7 + 0x134) != (int)uVar5)))) {
        return 0;
      }
    }
    else {
      iVar1 = *(int *)(this + 0x4d8);
      iVar4 = *(int *)(this + 8);
      if ((*(int *)(iVar1 + 0x128) != iVar4) ||
         ((*(int *)(iVar1 + 0x130) != iVar2 || (*(int *)(iVar1 + 0x134) != (int)uVar5)))) {
        *(undefined8 *)(iVar1 + 0x130) = uVar5;
        *(int *)(iVar1 + 0x128) = iVar4;
        std::
        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>
        ::find(&local_28);
        iVar2 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));
        std::
        _Hashtable<long_long,std::pair<long_long_const,long_long>,std::allocator<std::pair<long_long_const,long_long>>,std::__detail::_Select1st,std::equal_to<long_long>,std::hash<long_long>,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<false,false,true>>
        ::find(&local_28);
        uVar3 = read_pubtable((Dwarf_pubnames_table *)this,CONCAT44(iVar7,in_stack_ffffffc4));
        if (iVar2 == 0) {
          return uVar3;
        }
      }
    }
  }
  return 1;
}

