
/* 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 is_ctors_in_init_array(Layout * this, Relobj * relobj, uint shndx)
    */

bool __thiscall gold::Layout::is_ctors_in_init_array(Layout *this,Relobj *relobj,uint shndx)

{
  __node_base *p_Var1;
  key_type local_10;
  
  if (*(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc) == 0) {
    trap(7);
  }
  local_10.first = relobj;
  local_10.second = shndx;
  p_Var1 = std::
           _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>
           ::_M_find_before_node
                     ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>
                       *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8),
                      ((uint)relobj ^ shndx) % *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc),
                      &local_10,(uint)relobj ^ shndx);
  if (p_Var1 != (__node_base *)0x0) {
    return p_Var1->_M_nxt != (_Hash_node_base *)0x0;
  }
  return false;
}



/* gold::Layout::is_ctors_in_init_array(gold::Relobj*, unsigned int) const */

bool __thiscall gold::Layout::is_ctors_in_init_array(Layout *this,Relobj *param_1,uint param_2)

{
  int *piVar1;
  Relobj *local_10;
  uint local_c;
  
  if (*(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc) == 0) {
    trap(7);
  }
  local_10 = param_1;
  local_c = param_2;
  piVar1 = (int *)std::
                  _Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>
                  ::_M_find_before_node
                            ((_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>
                              *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8),
                             ((uint)param_1 ^ param_2) %
                             *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc),(pair *)&local_10,
                             (uint)param_1 ^ param_2);
  if (piVar1 != (int *)0x0) {
    return *piVar1 != 0;
  }
  return false;
}


lui gp,0x31
addiu gp,gp,0x3970
addu gp,gp,t9
lw a0,-0x7fd8(gp)
addiu sp,sp,-0x28
xor v0,a1,a2
lw t9,-0x71d0(gp)
or a3,v0,zero
addiu a0,a0,0x69c8
sw a1,0x18(sp)
sw a2,0x1c(sp)
addiu a2,sp,0x18
sw gp,0x10(sp)
lw a1,0x4(a0)
sw ra,0x24(sp)
teq a1,zero
divu v0,a1
bal 0x001325f8
_mfhi a1
beq v0,zero,0x001268c4
_lw ra,0x24(sp)
lw v0,0x0(v0)
addiu sp,sp,0x28
jr ra
_sltu v0,zero,v0
or v0,zero,zero
jr ra
_addiu sp,sp,0x28
(translation_unit "/* gold::Layout::is_ctors_in_init_array(gold::Relobj*, unsigned int) const */\n\nbool __thiscall gold::Layout::is_ctors_in_init_array(Layout *this,Relobj *param_1,uint param_2)\n\n{\n  int *piVar1;\n  Relobj *local_10;\n  uint local_c;\n  \n  if (*(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc) == 0) {\n    trap(7);\n  }\n  local_10 = param_1;\n  local_c = param_2;\n  piVar1 = (int *)std::\n                  _Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                  ::_M_find_before_node\n                            ((_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                              *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8),\n                             ((uint)param_1 ^ param_2) %\n                             *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc),(pair *)&local_10,\n                             (uint)param_1 ^ param_2);\n  if (piVar1 != (int *)0x0) {\n    return *piVar1 != 0;\n  }\n  return false;\n}\n\n" comment (function_definition "bool __thiscall gold::Layout::is_ctors_in_init_array(Layout *this,Relobj *param_1,uint param_2)\n\n{\n  int *piVar1;\n  Relobj *local_10;\n  uint local_c;\n  \n  if (*(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc) == 0) {\n    trap(7);\n  }\n  local_10 = param_1;\n  local_c = param_2;\n  piVar1 = (int *)std::\n                  _Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                  ::_M_find_before_node\n                            ((_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                              *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8),\n                             ((uint)param_1 ^ param_2) %\n                             *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc),(pair *)&local_10,\n                             (uint)param_1 ^ param_2);\n  if (piVar1 != (int *)0x0) {\n    return *piVar1 != 0;\n  }\n  return false;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Layout::" identifier : : identifier : :) (function_declarator "is_ctors_in_init_array(Layout *this,Relobj *param_1,uint param_2)" identifier (parameter_list "(Layout *this,Relobj *param_1,uint param_2)" ( (parameter_declaration "Layout *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Relobj *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "uint param_2" type_identifier identifier) ))) (compound_statement "{\n  int *piVar1;\n  Relobj *local_10;\n  uint local_c;\n  \n  if (*(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc) == 0) {\n    trap(7);\n  }\n  local_10 = param_1;\n  local_c = param_2;\n  piVar1 = (int *)std::\n                  _Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                  ::_M_find_before_node\n                            ((_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                              *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8),\n                             ((uint)param_1 ^ param_2) %\n                             *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc),(pair *)&local_10,\n                             (uint)param_1 ^ param_2);\n  if (piVar1 != (int *)0x0) {\n    return *piVar1 != 0;\n  }\n  return false;\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "Relobj *local_10;" type_identifier (pointer_declarator "*local_10" * identifier) ;) (declaration "uint local_c;" type_identifier identifier ;) (if_statement "if (*(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc) == 0) {\n    trap(7);\n  }" if (parenthesized_expression "(*(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc) == 0)" ( (binary_expression "*(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc) == 0" (pointer_expression "*(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc)" * (cast_expression "(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_PTR__wfilebuf_004321f8 + 0x69cc)" ( (binary_expression "PTR_PTR__wfilebuf_004321f8 + 0x69cc" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    trap(7);\n  }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "local_10 = param_1;" (assignment_expression "local_10 = param_1" identifier = identifier) ;) (expression_statement "local_c = param_2;" (assignment_expression "local_c = param_2" identifier = identifier) ;) (ERROR "piVar1 = (int *)std::\n                  _Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::" (assignment_expression "piVar1 = (int *)std" identifier = (cast_expression "(int *)std" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) : : (binary_expression "_Hashtable<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,unsigned_int>,std" (binary_expression "Relobj*,unsigned_int" identifier * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,unsigned_int>,std" (binary_expression "Relobj*,unsigned_int" identifier * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,unsigned_int>>,std" (binary_expression "Relobj*,unsigned_int" identifier * (ERROR "," ,) identifier) >> (ERROR "," ,) identifier) : : (comma_expression "__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold" identifier (ERROR "::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>" : : (comma_expression "_Identity,std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : identifier * , identifier >>) , identifier) : : (comma_expression "Section_id_hash,std" identifier , identifier) : :) (labeled_statement "__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                  ::_M_find_before_node\n                            ((_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                              *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8),\n                             ((uint)param_1 ^ param_2) %\n                             *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc),(pair *)&local_10,\n                             (uint)param_1 ^ param_2);" statement_identifier (ERROR "::_Mod_range_hashing,std:" : : (comma_expression "_Mod_range_hashing,std" identifier , identifier) :) : (labeled_statement "__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                  ::_M_find_before_node\n                            ((_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                              *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8),\n                             ((uint)param_1 ^ param_2) %\n                             *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc),(pair *)&local_10,\n                             (uint)param_1 ^ param_2);" statement_identifier (ERROR "::_Default_ranged_hash,std:" : : (comma_expression "_Default_ranged_hash,std" identifier , identifier) :) : (labeled_statement "__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                  ::_M_find_before_node\n                            ((_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                              *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8),\n                             ((uint)param_1 ^ param_2) %\n                             *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc),(pair *)&local_10,\n                             (uint)param_1 ^ param_2);" statement_identifier (ERROR "::_Prime_rehash_policy,std:" : : (comma_expression "_Prime_rehash_policy,std" identifier , identifier) :) : (labeled_statement "__detail::_Hashtable_traits<true,true,true>>\n                  ::_M_find_before_node\n                            ((_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                              *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8),\n                             ((uint)param_1 ^ param_2) %\n                             *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc),(pair *)&local_10,\n                             (uint)param_1 ^ param_2);" statement_identifier : (ERROR ":" :) (expression_statement "_Hashtable_traits<true,true,true>>\n                  ::_M_find_before_node\n                            ((_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                              *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8),\n                             ((uint)param_1 ^ param_2) %\n                             *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc),(pair *)&local_10,\n                             (uint)param_1 ^ param_2);" (comma_expression "_Hashtable_traits<true,true,true>>\n                  ::_M_find_before_node\n                            ((_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                              *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8),\n                             ((uint)param_1 ^ param_2) %\n                             *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc),(pair *)&local_10,\n                             (uint)param_1 ^ param_2)" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "true,true>>\n                  ::_M_find_before_node\n                            ((_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                              *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8),\n                             ((uint)param_1 ^ param_2) %\n                             *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc),(pair *)&local_10,\n                             (uint)param_1 ^ param_2)" true , (binary_expression "true>>\n                  ::_M_find_before_node\n                            ((_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                              *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8),\n                             ((uint)param_1 ^ param_2) %\n                             *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc),(pair *)&local_10,\n                             (uint)param_1 ^ param_2)" true >> (ERROR "::" : :) (call_expression "_M_find_before_node\n                            ((_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                              *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8),\n                             ((uint)param_1 ^ param_2) %\n                             *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc),(pair *)&local_10,\n                             (uint)param_1 ^ param_2)" identifier (argument_list "((_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                              *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8),\n                             ((uint)param_1 ^ param_2) %\n                             *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc),(pair *)&local_10,\n                             (uint)param_1 ^ param_2)" ( (call_expression "(_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                              *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8)" (parenthesized_expression "(_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                              *)" ( (ERROR "_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::" (comma_expression "_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int" (binary_expression "_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold" (binary_expression "_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int" (binary_expression "_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold" (binary_expression "_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,unsigned_int" (binary_expression "_Hashtable<std::pair<gold" (binary_expression "_Hashtable<std" identifier < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) >> (ERROR "," ,) identifier) (ERROR "::__detail::_Identity" : : identifier : : identifier) , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (type_descriptor "Relobj*" type_identifier (abstract_pointer_declarator "*" *)) , (binary_expression "unsigned_int>>,gold" identifier >> (ERROR "," ,) identifier) : : (comma_expression "Section_id_hash,std" identifier , 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<true,true,true>>\n                              *" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "true,true>>\n                              *" true , (binary_expression "true>>\n                              *" true >> (pointer_expression "*" * identifier)))) )) (argument_list "(PTR_PTR__wfilebuf_004321f8 + 0x69c8)" ( (binary_expression "PTR_PTR__wfilebuf_004321f8 + 0x69c8" identifier + number_literal) ))) , (binary_expression "((uint)param_1 ^ param_2) %\n                             *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc)" (parenthesized_expression "((uint)param_1 ^ param_2)" ( (binary_expression "(uint)param_1 ^ param_2" (cast_expression "(uint)param_1" ( (type_descriptor "uint" type_identifier) ) identifier) ^ identifier) )) % (pointer_expression "*(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc)" * (cast_expression "(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_PTR__wfilebuf_004321f8 + 0x69cc)" ( (binary_expression "PTR_PTR__wfilebuf_004321f8 + 0x69cc" identifier + number_literal) ))))) , (cast_expression "(pair *)&local_10" ( (type_descriptor "pair *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_10" & identifier)) , (binary_expression "(uint)param_1 ^ param_2" (cast_expression "(uint)param_1" ( (type_descriptor "uint" type_identifier) ) identifier) ^ identifier) )))))) ;))))) (if_statement "if (piVar1 != (int *)0x0) {\n    return *piVar1 != 0;\n  }" if (parenthesized_expression "(piVar1 != (int *)0x0)" ( (binary_expression "piVar1 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    return *piVar1 != 0;\n  }" { (return_statement "return *piVar1 != 0;" return (binary_expression "*piVar1 != 0" (pointer_expression "*piVar1" * identifier) != number_literal) ;) })) (return_statement "return false;" return false ;) })))
(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 is_ctors_in_init_array(Layout * this, Relobj * relobj, uint shndx)\n    */\n\nbool __thiscall gold::Layout::is_ctors_in_init_array(Layout *this,Relobj *relobj,uint shndx)\n\n{\n  __node_base *p_Var1;\n  key_type local_10;\n  \n  if (*(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc) == 0) {\n    trap(7);\n  }\n  local_10.first = relobj;\n  local_10.second = shndx;\n  p_Var1 = std::\n           _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n           ::_M_find_before_node\n                     ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                       *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8),\n                      ((uint)relobj ^ shndx) % *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc),\n                      &local_10,(uint)relobj ^ shndx);\n  if (p_Var1 != (__node_base *)0x0) {\n    return p_Var1->_M_nxt != (_Hash_node_base *)0x0;\n  }\n  return false;\n}\n\n" comment comment comment comment comment comment comment (function_definition "bool __thiscall gold::Layout::is_ctors_in_init_array(Layout *this,Relobj *relobj,uint shndx)\n\n{\n  __node_base *p_Var1;\n  key_type local_10;\n  \n  if (*(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc) == 0) {\n    trap(7);\n  }\n  local_10.first = relobj;\n  local_10.second = shndx;\n  p_Var1 = std::\n           _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n           ::_M_find_before_node\n                     ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                       *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8),\n                      ((uint)relobj ^ shndx) % *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc),\n                      &local_10,(uint)relobj ^ shndx);\n  if (p_Var1 != (__node_base *)0x0) {\n    return p_Var1->_M_nxt != (_Hash_node_base *)0x0;\n  }\n  return false;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Layout::" identifier : : identifier : :) (function_declarator "is_ctors_in_init_array(Layout *this,Relobj *relobj,uint shndx)" identifier (parameter_list "(Layout *this,Relobj *relobj,uint shndx)" ( (parameter_declaration "Layout *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Relobj *relobj" type_identifier (pointer_declarator "*relobj" * identifier)) , (parameter_declaration "uint shndx" type_identifier identifier) ))) (compound_statement "{\n  __node_base *p_Var1;\n  key_type local_10;\n  \n  if (*(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc) == 0) {\n    trap(7);\n  }\n  local_10.first = relobj;\n  local_10.second = shndx;\n  p_Var1 = std::\n           _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n           ::_M_find_before_node\n                     ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                       *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8),\n                      ((uint)relobj ^ shndx) % *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc),\n                      &local_10,(uint)relobj ^ shndx);\n  if (p_Var1 != (__node_base *)0x0) {\n    return p_Var1->_M_nxt != (_Hash_node_base *)0x0;\n  }\n  return false;\n}" { (declaration "__node_base *p_Var1;" type_identifier (pointer_declarator "*p_Var1" * identifier) ;) (declaration "key_type local_10;" type_identifier identifier ;) (if_statement "if (*(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc) == 0) {\n    trap(7);\n  }" if (parenthesized_expression "(*(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc) == 0)" ( (binary_expression "*(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc) == 0" (pointer_expression "*(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc)" * (cast_expression "(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_PTR__wfilebuf_004321f8 + 0x69cc)" ( (binary_expression "PTR_PTR__wfilebuf_004321f8 + 0x69cc" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    trap(7);\n  }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "local_10.first = relobj;" (assignment_expression "local_10.first = relobj" (field_expression "local_10.first" identifier . field_identifier) = identifier) ;) (expression_statement "local_10.second = shndx;" (assignment_expression "local_10.second = shndx" (field_expression "local_10.second" identifier . field_identifier) = identifier) ;) (ERROR "p_Var1 = std::\n           _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::" (assignment_expression "p_Var1 = std" identifier = identifier) : : (binary_expression "_Hashtable<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>,_std" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>,_std" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>_>,_std" (binary_expression "Relobj*,_unsigned_int>_" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > identifier) > (ERROR "," ,) identifier) : : (comma_expression "__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold" identifier (ERROR "::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>" : : (comma_expression "_Identity,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : identifier * , (binary_expression "_unsigned_int>_" identifier > identifier) >) , identifier) : : (comma_expression "Section_id_hash,_std" identifier , identifier) : :) (labeled_statement "__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n           ::_M_find_before_node\n                     ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                       *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8),\n                      ((uint)relobj ^ shndx) % *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc),\n                      &local_10,(uint)relobj ^ shndx);" statement_identifier (ERROR "::_Mod_range_hashing,_std:" : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) :) : (labeled_statement "__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n           ::_M_find_before_node\n                     ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                       *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8),\n                      ((uint)relobj ^ shndx) % *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc),\n                      &local_10,(uint)relobj ^ shndx);" statement_identifier (ERROR "::_Default_ranged_hash,_std:" : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) :) : (labeled_statement "__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n           ::_M_find_before_node\n                     ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                       *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8),\n                      ((uint)relobj ^ shndx) % *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc),\n                      &local_10,(uint)relobj ^ shndx);" statement_identifier (ERROR "::_Prime_rehash_policy,_std:" : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) :) : (labeled_statement "__detail::_Hashtable_traits<true,_true,_true>_>\n           ::_M_find_before_node\n                     ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                       *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8),\n                      ((uint)relobj ^ shndx) % *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc),\n                      &local_10,(uint)relobj ^ shndx);" statement_identifier : (ERROR ":" :) (expression_statement "_Hashtable_traits<true,_true,_true>_>\n           ::_M_find_before_node\n                     ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                       *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8),\n                      ((uint)relobj ^ shndx) % *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc),\n                      &local_10,(uint)relobj ^ shndx);" (comma_expression "_Hashtable_traits<true,_true,_true>_>\n           ::_M_find_before_node\n                     ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                       *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8),\n                      ((uint)relobj ^ shndx) % *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc),\n                      &local_10,(uint)relobj ^ shndx)" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_true,_true>_>\n           ::_M_find_before_node\n                     ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                       *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8),\n                      ((uint)relobj ^ shndx) % *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc),\n                      &local_10,(uint)relobj ^ shndx)" identifier , (binary_expression "_true>_>\n           ::_M_find_before_node\n                     ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                       *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8),\n                      ((uint)relobj ^ shndx) % *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc),\n                      &local_10,(uint)relobj ^ shndx)" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) (call_expression "_M_find_before_node\n                     ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                       *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8),\n                      ((uint)relobj ^ shndx) % *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc),\n                      &local_10,(uint)relobj ^ shndx)" identifier (argument_list "((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                       *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8),\n                      ((uint)relobj ^ shndx) % *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc),\n                      &local_10,(uint)relobj ^ shndx)" ( (call_expression "(_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                       *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8)" (parenthesized_expression "(_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                       *)" ( (ERROR "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (comma_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "_Hashtable<std::pair<gold" (binary_expression "_Hashtable<std" identifier < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > identifier) > (ERROR "," ,) identifier) (ERROR "::__detail::_Identity" : : identifier : : identifier) , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (type_descriptor "Relobj*" type_identifier (abstract_pointer_declarator "*" *)) , (binary_expression "_unsigned_int>_>,_gold" (binary_expression "_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier) : : (comma_expression "Section_id_hash,_std" identifier , 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<true,_true,_true>_>\n                       *" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_true,_true>_>\n                       *" identifier , (binary_expression "_true>_>\n                       *" (binary_expression "_true>_" identifier > identifier) > (pointer_expression "*" * identifier)))) )) (argument_list "(PTR_PTR__wfilebuf_004321f8 + 0x69c8)" ( (binary_expression "PTR_PTR__wfilebuf_004321f8 + 0x69c8" identifier + number_literal) ))) , (binary_expression "((uint)relobj ^ shndx) % *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc)" (parenthesized_expression "((uint)relobj ^ shndx)" ( (binary_expression "(uint)relobj ^ shndx" (cast_expression "(uint)relobj" ( (type_descriptor "uint" type_identifier) ) identifier) ^ identifier) )) % (pointer_expression "*(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc)" * (cast_expression "(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_PTR__wfilebuf_004321f8 + 0x69cc)" ( (binary_expression "PTR_PTR__wfilebuf_004321f8 + 0x69cc" identifier + number_literal) ))))) , (pointer_expression "&local_10" & identifier) , (binary_expression "(uint)relobj ^ shndx" (cast_expression "(uint)relobj" ( (type_descriptor "uint" type_identifier) ) identifier) ^ identifier) )))))) ;))))) (if_statement "if (p_Var1 != (__node_base *)0x0) {\n    return p_Var1->_M_nxt != (_Hash_node_base *)0x0;\n  }" if (parenthesized_expression "(p_Var1 != (__node_base *)0x0)" ( (binary_expression "p_Var1 != (__node_base *)0x0" identifier != (cast_expression "(__node_base *)0x0" ( (type_descriptor "__node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    return p_Var1->_M_nxt != (_Hash_node_base *)0x0;\n  }" { (return_statement "return p_Var1->_M_nxt != (_Hash_node_base *)0x0;" return (binary_expression "p_Var1->_M_nxt != (_Hash_node_base *)0x0" (field_expression "p_Var1->_M_nxt" identifier -> field_identifier) != (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (return_statement "return false;" return false ;) })))
(translation_unit "bool __thiscall gold::Layout::is_ctors_in_init_array(Layout *this,Relobj *param_1,uint param_2)\n\n{\n  int *piVar1;\n  Relobj *local_10;\n  uint local_c;\n  \n  if (*(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc) == 0) {\n    trap(7);\n  }\n  local_10 = param_1;\n  local_c = param_2;\n  piVar1 = (int *)std::\n                  _Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                  ::_M_find_before_node\n                            ((_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                              *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8),\n                             ((uint)param_1 ^ param_2) %\n                             *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc),(pair *)&local_10,\n                             (uint)param_1 ^ param_2);\n  if (piVar1 != (int *)0x0) {\n    return *piVar1 != 0;\n  }\n  return false;\n}\n\n" (function_definition "bool __thiscall gold::Layout::is_ctors_in_init_array(Layout *this,Relobj *param_1,uint param_2)\n\n{\n  int *piVar1;\n  Relobj *local_10;\n  uint local_c;\n  \n  if (*(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc) == 0) {\n    trap(7);\n  }\n  local_10 = param_1;\n  local_c = param_2;\n  piVar1 = (int *)std::\n                  _Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                  ::_M_find_before_node\n                            ((_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                              *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8),\n                             ((uint)param_1 ^ param_2) %\n                             *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc),(pair *)&local_10,\n                             (uint)param_1 ^ param_2);\n  if (piVar1 != (int *)0x0) {\n    return *piVar1 != 0;\n  }\n  return false;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Layout::" identifier : : identifier : :) (function_declarator "is_ctors_in_init_array(Layout *this,Relobj *param_1,uint param_2)" identifier (parameter_list "(Layout *this,Relobj *param_1,uint param_2)" ( (parameter_declaration "Layout *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Relobj *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "uint param_2" type_identifier identifier) ))) (compound_statement "{\n  int *piVar1;\n  Relobj *local_10;\n  uint local_c;\n  \n  if (*(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc) == 0) {\n    trap(7);\n  }\n  local_10 = param_1;\n  local_c = param_2;\n  piVar1 = (int *)std::\n                  _Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                  ::_M_find_before_node\n                            ((_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                              *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8),\n                             ((uint)param_1 ^ param_2) %\n                             *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc),(pair *)&local_10,\n                             (uint)param_1 ^ param_2);\n  if (piVar1 != (int *)0x0) {\n    return *piVar1 != 0;\n  }\n  return false;\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "Relobj *local_10;" type_identifier (pointer_declarator "*local_10" * identifier) ;) (declaration "uint local_c;" type_identifier identifier ;) (if_statement "if (*(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc) == 0) {\n    trap(7);\n  }" if (parenthesized_expression "(*(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc) == 0)" ( (binary_expression "*(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc) == 0" (pointer_expression "*(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc)" * (cast_expression "(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_PTR__wfilebuf_004321f8 + 0x69cc)" ( (binary_expression "PTR_PTR__wfilebuf_004321f8 + 0x69cc" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    trap(7);\n  }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "local_10 = param_1;" (assignment_expression "local_10 = param_1" identifier = identifier) ;) (expression_statement "local_c = param_2;" (assignment_expression "local_c = param_2" identifier = identifier) ;) (ERROR "piVar1 = (int *)std::\n                  _Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::" (assignment_expression "piVar1 = (int *)std" identifier = (cast_expression "(int *)std" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) : : (binary_expression "_Hashtable<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,unsigned_int>,std" (binary_expression "Relobj*,unsigned_int" identifier * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,unsigned_int>,std" (binary_expression "Relobj*,unsigned_int" identifier * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,unsigned_int>>,std" (binary_expression "Relobj*,unsigned_int" identifier * (ERROR "," ,) identifier) >> (ERROR "," ,) identifier) : : (comma_expression "__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold" identifier (ERROR "::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>" : : (comma_expression "_Identity,std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : identifier * , identifier >>) , identifier) : : (comma_expression "Section_id_hash,std" identifier , identifier) : :) (labeled_statement "__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                  ::_M_find_before_node\n                            ((_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                              *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8),\n                             ((uint)param_1 ^ param_2) %\n                             *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc),(pair *)&local_10,\n                             (uint)param_1 ^ param_2);" statement_identifier (ERROR "::_Mod_range_hashing,std:" : : (comma_expression "_Mod_range_hashing,std" identifier , identifier) :) : (labeled_statement "__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                  ::_M_find_before_node\n                            ((_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                              *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8),\n                             ((uint)param_1 ^ param_2) %\n                             *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc),(pair *)&local_10,\n                             (uint)param_1 ^ param_2);" statement_identifier (ERROR "::_Default_ranged_hash,std:" : : (comma_expression "_Default_ranged_hash,std" identifier , identifier) :) : (labeled_statement "__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                  ::_M_find_before_node\n                            ((_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                              *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8),\n                             ((uint)param_1 ^ param_2) %\n                             *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc),(pair *)&local_10,\n                             (uint)param_1 ^ param_2);" statement_identifier (ERROR "::_Prime_rehash_policy,std:" : : (comma_expression "_Prime_rehash_policy,std" identifier , identifier) :) : (labeled_statement "__detail::_Hashtable_traits<true,true,true>>\n                  ::_M_find_before_node\n                            ((_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                              *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8),\n                             ((uint)param_1 ^ param_2) %\n                             *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc),(pair *)&local_10,\n                             (uint)param_1 ^ param_2);" statement_identifier : (ERROR ":" :) (expression_statement "_Hashtable_traits<true,true,true>>\n                  ::_M_find_before_node\n                            ((_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                              *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8),\n                             ((uint)param_1 ^ param_2) %\n                             *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc),(pair *)&local_10,\n                             (uint)param_1 ^ param_2);" (comma_expression "_Hashtable_traits<true,true,true>>\n                  ::_M_find_before_node\n                            ((_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                              *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8),\n                             ((uint)param_1 ^ param_2) %\n                             *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc),(pair *)&local_10,\n                             (uint)param_1 ^ param_2)" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "true,true>>\n                  ::_M_find_before_node\n                            ((_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                              *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8),\n                             ((uint)param_1 ^ param_2) %\n                             *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc),(pair *)&local_10,\n                             (uint)param_1 ^ param_2)" true , (binary_expression "true>>\n                  ::_M_find_before_node\n                            ((_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                              *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8),\n                             ((uint)param_1 ^ param_2) %\n                             *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc),(pair *)&local_10,\n                             (uint)param_1 ^ param_2)" true >> (ERROR "::" : :) (call_expression "_M_find_before_node\n                            ((_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                              *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8),\n                             ((uint)param_1 ^ param_2) %\n                             *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc),(pair *)&local_10,\n                             (uint)param_1 ^ param_2)" identifier (argument_list "((_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                              *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8),\n                             ((uint)param_1 ^ param_2) %\n                             *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc),(pair *)&local_10,\n                             (uint)param_1 ^ param_2)" ( (call_expression "(_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                              *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8)" (parenthesized_expression "(_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                              *)" ( (ERROR "_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::" (comma_expression "_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int" (binary_expression "_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold" (binary_expression "_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int" (binary_expression "_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold" (binary_expression "_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,unsigned_int" (binary_expression "_Hashtable<std::pair<gold" (binary_expression "_Hashtable<std" identifier < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) >> (ERROR "," ,) identifier) (ERROR "::__detail::_Identity" : : identifier : : identifier) , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (type_descriptor "Relobj*" type_identifier (abstract_pointer_declarator "*" *)) , (binary_expression "unsigned_int>>,gold" identifier >> (ERROR "," ,) identifier) : : (comma_expression "Section_id_hash,std" identifier , 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<true,true,true>>\n                              *" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "true,true>>\n                              *" true , (binary_expression "true>>\n                              *" true >> (pointer_expression "*" * identifier)))) )) (argument_list "(PTR_PTR__wfilebuf_004321f8 + 0x69c8)" ( (binary_expression "PTR_PTR__wfilebuf_004321f8 + 0x69c8" identifier + number_literal) ))) , (binary_expression "((uint)param_1 ^ param_2) %\n                             *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc)" (parenthesized_expression "((uint)param_1 ^ param_2)" ( (binary_expression "(uint)param_1 ^ param_2" (cast_expression "(uint)param_1" ( (type_descriptor "uint" type_identifier) ) identifier) ^ identifier) )) % (pointer_expression "*(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc)" * (cast_expression "(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_PTR__wfilebuf_004321f8 + 0x69cc)" ( (binary_expression "PTR_PTR__wfilebuf_004321f8 + 0x69cc" identifier + number_literal) ))))) , (cast_expression "(pair *)&local_10" ( (type_descriptor "pair *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_10" & identifier)) , (binary_expression "(uint)param_1 ^ param_2" (cast_expression "(uint)param_1" ( (type_descriptor "uint" type_identifier) ) identifier) ^ identifier) )))))) ;))))) (if_statement "if (piVar1 != (int *)0x0) {\n    return *piVar1 != 0;\n  }" if (parenthesized_expression "(piVar1 != (int *)0x0)" ( (binary_expression "piVar1 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    return *piVar1 != 0;\n  }" { (return_statement "return *piVar1 != 0;" return (binary_expression "*piVar1 != 0" (pointer_expression "*piVar1" * identifier) != number_literal) ;) })) (return_statement "return false;" return false ;) })))
(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)) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (ERROR (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) : : (binary_expression IDENT < IDENT) : : (binary_expression IDENT < IDENT) : : (binary_expression (binary_expression IDENT * (ERROR ,) IDENT) > (ERROR ,) IDENT) : : (binary_expression IDENT < IDENT) : : (binary_expression (binary_expression IDENT * (ERROR ,) IDENT) > (ERROR ,) IDENT) : : (binary_expression IDENT < IDENT) : : (binary_expression IDENT < IDENT) : : (binary_expression (binary_expression IDENT * (ERROR ,) IDENT) >> (ERROR ,) IDENT) : : (comma_expression IDENT (ERROR : : (comma_expression IDENT , IDENT) : : (binary_expression IDENT < IDENT) : : (binary_expression IDENT < IDENT) : : IDENT * , IDENT >>) , IDENT) : : (comma_expression IDENT , IDENT) : :) (labeled_statement statement_identifier (ERROR : : (comma_expression IDENT , IDENT) :) : (labeled_statement statement_identifier (ERROR : : (comma_expression IDENT , IDENT) :) : (labeled_statement statement_identifier (ERROR : : (comma_expression IDENT , IDENT) :) : (labeled_statement statement_identifier : (ERROR :) (expression_statement (comma_expression (binary_expression IDENT < BOOL) , (comma_expression BOOL , (binary_expression BOOL >> (ERROR : :) (call_expression IDENT (argument_list ( (call_expression (parenthesized_expression ( (ERROR (comma_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression IDENT < IDENT) (ERROR : : IDENT) < IDENT) (ERROR : : IDENT) * (ERROR ,) IDENT) > (ERROR ,) IDENT) (ERROR : : IDENT) < IDENT) (ERROR : : IDENT) * (ERROR ,) IDENT) > (ERROR ,) IDENT) (ERROR : : IDENT) < IDENT) (ERROR : : IDENT) < IDENT) (ERROR : : IDENT) * (ERROR ,) IDENT) >> (ERROR ,) IDENT) (ERROR : : IDENT : : IDENT) , IDENT) : : (binary_expression IDENT < IDENT) : : (binary_expression IDENT < IDENT) : : (type_descriptor TYPE (abstract_pointer_declarator *)) , (binary_expression IDENT >> (ERROR ,) IDENT) : : (comma_expression IDENT , IDENT) : : IDENT : : (comma_expression IDENT , IDENT) : : IDENT : : (comma_expression IDENT , IDENT) : : IDENT : : (comma_expression IDENT , IDENT) : : IDENT : :) (comma_expression (binary_expression IDENT < BOOL) , (comma_expression BOOL , (binary_expression BOOL >> (pointer_expression * IDENT)))) )) (argument_list ( (binary_expression IDENT + LIT) ))) , (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) ^ IDENT) )) % (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT)) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) ^ IDENT) )))))) ;))))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (return_statement return (binary_expression (pointer_expression * IDENT) != LIT) ;) })) (return_statement return BOOL ;) })))
(function_definition "bool __thiscall gold::Layout::is_ctors_in_init_array(Layout *this,Relobj *param_1,uint param_2)\n\n{\n  int *piVar1;\n  Relobj *local_10;\n  uint local_c;\n  \n  if (*(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc) == 0) {\n    trap(7);\n  }\n  local_10 = param_1;\n  local_c = param_2;\n  piVar1 = (int *)std::\n                  _Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                  ::_M_find_before_node\n                            ((_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                              *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8),\n                             ((uint)param_1 ^ param_2) %\n                             *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc),(pair *)&local_10,\n                             (uint)param_1 ^ param_2);\n  if (piVar1 != (int *)0x0) {\n    return *piVar1 != 0;\n  }\n  return false;\n}" (primitive_type "bool") (ms_call_modifier "__thiscall" (__thiscall "__thiscall")) (ERROR "gold::Layout::" (identifier "gold") (: ":") (: ":") (identifier "Layout") (: ":") (: ":")) (function_declarator "is_ctors_in_init_array(Layout *this,Relobj *param_1,uint param_2)" (identifier "is_ctors_in_init_array") (parameter_list "(Layout *this,Relobj *param_1,uint param_2)" (( "(") (parameter_declaration "Layout *this" (type_identifier "Layout") (pointer_declarator "*this" (* "*") (identifier "this"))) (, ",") (parameter_declaration "Relobj *param_1" (type_identifier "Relobj") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "uint param_2" (type_identifier "uint") (identifier "param_2")) () ")"))) (compound_statement "{\n  int *piVar1;\n  Relobj *local_10;\n  uint local_c;\n  \n  if (*(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc) == 0) {\n    trap(7);\n  }\n  local_10 = param_1;\n  local_c = param_2;\n  piVar1 = (int *)std::\n                  _Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                  ::_M_find_before_node\n                            ((_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                              *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8),\n                             ((uint)param_1 ^ param_2) %\n                             *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc),(pair *)&local_10,\n                             (uint)param_1 ^ param_2);\n  if (piVar1 != (int *)0x0) {\n    return *piVar1 != 0;\n  }\n  return false;\n}" ({ "{") (declaration "int *piVar1;" (primitive_type "int") (pointer_declarator "*piVar1" (* "*") (identifier "piVar1")) (; ";")) (declaration "Relobj *local_10;" (type_identifier "Relobj") (pointer_declarator "*local_10" (* "*") (identifier "local_10")) (; ";")) (declaration "uint local_c;" (type_identifier "uint") (identifier "local_c") (; ";")) (if_statement "if (*(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc) == 0) {\n    trap(7);\n  }" (if "if") (parenthesized_expression "(*(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc) == 0)" (( "(") (binary_expression "*(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc) == 0" (pointer_expression "*(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc)" (* "*") (cast_expression "(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_PTR__wfilebuf_004321f8 + 0x69cc)" (( "(") (binary_expression "PTR_PTR__wfilebuf_004321f8 + 0x69cc" (identifier "PTR_PTR__wfilebuf_004321f8") (+ "+") (number_literal "0x69cc")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    trap(7);\n  }" ({ "{") (expression_statement "trap(7);" (call_expression "trap(7)" (identifier "trap") (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (} "}"))) (expression_statement "local_10 = param_1;" (assignment_expression "local_10 = param_1" (identifier "local_10") (= "=") (identifier "param_1")) (; ";")) (expression_statement "local_c = param_2;" (assignment_expression "local_c = param_2" (identifier "local_c") (= "=") (identifier "param_2")) (; ";")) (ERROR "piVar1 = (int *)std::\n                  _Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::" (assignment_expression "piVar1 = (int *)std" (identifier "piVar1") (= "=") (cast_expression "(int *)std" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "std"))) (: ":") (: ":") (binary_expression "_Hashtable<std" (identifier "_Hashtable") (< "<") (identifier "std")) (: ":") (: ":") (binary_expression "pair<gold" (identifier "pair") (< "<") (identifier "gold")) (: ":") (: ":") (binary_expression "Relobj*,unsigned_int>,std" (binary_expression "Relobj*,unsigned_int" (identifier "Relobj") (* "*") (ERROR "," (, ",")) (identifier "unsigned_int")) (> ">") (ERROR "," (, ",")) (identifier "std")) (: ":") (: ":") (binary_expression "pair<gold" (identifier "pair") (< "<") (identifier "gold")) (: ":") (: ":") (binary_expression "Relobj*,unsigned_int>,std" (binary_expression "Relobj*,unsigned_int" (identifier "Relobj") (* "*") (ERROR "," (, ",")) (identifier "unsigned_int")) (> ">") (ERROR "," (, ",")) (identifier "std")) (: ":") (: ":") (binary_expression "allocator<std" (identifier "allocator") (< "<") (identifier "std")) (: ":") (: ":") (binary_expression "pair<gold" (identifier "pair") (< "<") (identifier "gold")) (: ":") (: ":") (binary_expression "Relobj*,unsigned_int>>,std" (binary_expression "Relobj*,unsigned_int" (identifier "Relobj") (* "*") (ERROR "," (, ",")) (identifier "unsigned_int")) (>> ">>") (ERROR "," (, ",")) (identifier "std")) (: ":") (: ":") (comma_expression "__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold" (identifier "__detail") (ERROR "::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>" (: ":") (: ":") (comma_expression "_Identity,std" (identifier "_Identity") (, ",") (identifier "std")) (: ":") (: ":") (binary_expression "equal_to<std" (identifier "equal_to") (< "<") (identifier "std")) (: ":") (: ":") (binary_expression "pair<gold" (identifier "pair") (< "<") (identifier "gold")) (: ":") (: ":") (identifier "Relobj") (* "*") (, ",") (identifier "unsigned_int") (>> ">>")) (, ",") (identifier "gold")) (: ":") (: ":") (comma_expression "Section_id_hash,std" (identifier "Section_id_hash") (, ",") (identifier "std")) (: ":") (: ":")) (labeled_statement "__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                  ::_M_find_before_node\n                            ((_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                              *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8),\n                             ((uint)param_1 ^ param_2) %\n                             *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc),(pair *)&local_10,\n                             (uint)param_1 ^ param_2);" (statement_identifier "__detail") (ERROR "::_Mod_range_hashing,std:" (: ":") (: ":") (comma_expression "_Mod_range_hashing,std" (identifier "_Mod_range_hashing") (, ",") (identifier "std")) (: ":")) (: ":") (labeled_statement "__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                  ::_M_find_before_node\n                            ((_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                              *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8),\n                             ((uint)param_1 ^ param_2) %\n                             *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc),(pair *)&local_10,\n                             (uint)param_1 ^ param_2);" (statement_identifier "__detail") (ERROR "::_Default_ranged_hash,std:" (: ":") (: ":") (comma_expression "_Default_ranged_hash,std" (identifier "_Default_ranged_hash") (, ",") (identifier "std")) (: ":")) (: ":") (labeled_statement "__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                  ::_M_find_before_node\n                            ((_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                              *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8),\n                             ((uint)param_1 ^ param_2) %\n                             *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc),(pair *)&local_10,\n                             (uint)param_1 ^ param_2);" (statement_identifier "__detail") (ERROR "::_Prime_rehash_policy,std:" (: ":") (: ":") (comma_expression "_Prime_rehash_policy,std" (identifier "_Prime_rehash_policy") (, ",") (identifier "std")) (: ":")) (: ":") (labeled_statement "__detail::_Hashtable_traits<true,true,true>>\n                  ::_M_find_before_node\n                            ((_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                              *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8),\n                             ((uint)param_1 ^ param_2) %\n                             *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc),(pair *)&local_10,\n                             (uint)param_1 ^ param_2);" (statement_identifier "__detail") (: ":") (ERROR ":" (: ":")) (expression_statement "_Hashtable_traits<true,true,true>>\n                  ::_M_find_before_node\n                            ((_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                              *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8),\n                             ((uint)param_1 ^ param_2) %\n                             *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc),(pair *)&local_10,\n                             (uint)param_1 ^ param_2);" (comma_expression "_Hashtable_traits<true,true,true>>\n                  ::_M_find_before_node\n                            ((_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                              *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8),\n                             ((uint)param_1 ^ param_2) %\n                             *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc),(pair *)&local_10,\n                             (uint)param_1 ^ param_2)" (binary_expression "_Hashtable_traits<true" (identifier "_Hashtable_traits") (< "<") (true "true")) (, ",") (comma_expression "true,true>>\n                  ::_M_find_before_node\n                            ((_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                              *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8),\n                             ((uint)param_1 ^ param_2) %\n                             *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc),(pair *)&local_10,\n                             (uint)param_1 ^ param_2)" (true "true") (, ",") (binary_expression "true>>\n                  ::_M_find_before_node\n                            ((_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                              *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8),\n                             ((uint)param_1 ^ param_2) %\n                             *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc),(pair *)&local_10,\n                             (uint)param_1 ^ param_2)" (true "true") (>> ">>") (ERROR "::" (: ":") (: ":")) (call_expression "_M_find_before_node\n                            ((_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                              *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8),\n                             ((uint)param_1 ^ param_2) %\n                             *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc),(pair *)&local_10,\n                             (uint)param_1 ^ param_2)" (identifier "_M_find_before_node") (argument_list "((_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                              *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8),\n                             ((uint)param_1 ^ param_2) %\n                             *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc),(pair *)&local_10,\n                             (uint)param_1 ^ param_2)" (( "(") (call_expression "(_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                              *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8)" (parenthesized_expression "(_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>\n                              *)" (( "(") (ERROR "_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::" (comma_expression "_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int" (binary_expression "_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold" (binary_expression "_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int" (binary_expression "_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold" (binary_expression "_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,unsigned_int" (binary_expression "_Hashtable<std::pair<gold" (binary_expression "_Hashtable<std" (identifier "_Hashtable") (< "<") (identifier "std")) (ERROR "::pair" (: ":") (: ":") (identifier "pair")) (< "<") (identifier "gold")) (ERROR "::Relobj" (: ":") (: ":") (identifier "Relobj")) (* "*") (ERROR "," (, ",")) (identifier "unsigned_int")) (> ">") (ERROR "," (, ",")) (identifier "std")) (ERROR "::pair" (: ":") (: ":") (identifier "pair")) (< "<") (identifier "gold")) (ERROR "::Relobj" (: ":") (: ":") (identifier "Relobj")) (* "*") (ERROR "," (, ",")) (identifier "unsigned_int")) (> ">") (ERROR "," (, ",")) (identifier "std")) (ERROR "::allocator" (: ":") (: ":") (identifier "allocator")) (< "<") (identifier "std")) (ERROR "::pair" (: ":") (: ":") (identifier "pair")) (< "<") (identifier "gold")) (ERROR "::Relobj" (: ":") (: ":") (identifier "Relobj")) (* "*") (ERROR "," (, ",")) (identifier "unsigned_int")) (>> ">>") (ERROR "," (, ",")) (identifier "std")) (ERROR "::__detail::_Identity" (: ":") (: ":") (identifier "__detail") (: ":") (: ":") (identifier "_Identity")) (, ",") (identifier "std")) (: ":") (: ":") (binary_expression "equal_to<std" (identifier "equal_to") (< "<") (identifier "std")) (: ":") (: ":") (binary_expression "pair<gold" (identifier "pair") (< "<") (identifier "gold")) (: ":") (: ":") (type_descriptor "Relobj*" (type_identifier "Relobj") (abstract_pointer_declarator "*" (* "*"))) (, ",") (binary_expression "unsigned_int>>,gold" (identifier "unsigned_int") (>> ">>") (ERROR "," (, ",")) (identifier "gold")) (: ":") (: ":") (comma_expression "Section_id_hash,std" (identifier "Section_id_hash") (, ",") (identifier "std")) (: ":") (: ":") (identifier "__detail") (: ":") (: ":") (comma_expression "_Mod_range_hashing,std" (identifier "_Mod_range_hashing") (, ",") (identifier "std")) (: ":") (: ":") (identifier "__detail") (: ":") (: ":") (comma_expression "_Default_ranged_hash,std" (identifier "_Default_ranged_hash") (, ",") (identifier "std")) (: ":") (: ":") (identifier "__detail") (: ":") (: ":") (comma_expression "_Prime_rehash_policy,std" (identifier "_Prime_rehash_policy") (, ",") (identifier "std")) (: ":") (: ":") (identifier "__detail") (: ":") (: ":")) (comma_expression "_Hashtable_traits<true,true,true>>\n                              *" (binary_expression "_Hashtable_traits<true" (identifier "_Hashtable_traits") (< "<") (true "true")) (, ",") (comma_expression "true,true>>\n                              *" (true "true") (, ",") (binary_expression "true>>\n                              *" (true "true") (>> ">>") (pointer_expression "*" (* "*") (identifier ""))))) () ")")) (argument_list "(PTR_PTR__wfilebuf_004321f8 + 0x69c8)" (( "(") (binary_expression "PTR_PTR__wfilebuf_004321f8 + 0x69c8" (identifier "PTR_PTR__wfilebuf_004321f8") (+ "+") (number_literal "0x69c8")) () ")"))) (, ",") (binary_expression "((uint)param_1 ^ param_2) %\n                             *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc)" (parenthesized_expression "((uint)param_1 ^ param_2)" (( "(") (binary_expression "(uint)param_1 ^ param_2" (cast_expression "(uint)param_1" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "param_1")) (^ "^") (identifier "param_2")) () ")")) (% "%") (pointer_expression "*(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc)" (* "*") (cast_expression "(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_PTR__wfilebuf_004321f8 + 0x69cc)" (( "(") (binary_expression "PTR_PTR__wfilebuf_004321f8 + 0x69cc" (identifier "PTR_PTR__wfilebuf_004321f8") (+ "+") (number_literal "0x69cc")) () ")"))))) (, ",") (cast_expression "(pair *)&local_10" (( "(") (type_descriptor "pair *" (type_identifier "pair") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&local_10" (& "&") (identifier "local_10"))) (, ",") (binary_expression "(uint)param_1 ^ param_2" (cast_expression "(uint)param_1" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "param_1")) (^ "^") (identifier "param_2")) () ")")))))) (; ";")))))) (if_statement "if (piVar1 != (int *)0x0) {\n    return *piVar1 != 0;\n  }" (if "if") (parenthesized_expression "(piVar1 != (int *)0x0)" (( "(") (binary_expression "piVar1 != (int *)0x0" (identifier "piVar1") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    return *piVar1 != 0;\n  }" ({ "{") (return_statement "return *piVar1 != 0;" (return "return") (binary_expression "*piVar1 != 0" (pointer_expression "*piVar1" (* "*") (identifier "piVar1")) (!= "!=") (number_literal "0")) (; ";")) (} "}"))) (return_statement "return false;" (return "return") (false "false") (; ";")) (} "}")))
(translation_unit (function_definition type: (primitive_type) (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))) (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (ERROR (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) (binary_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (binary_expression left: (binary_expression left: (identifier) (ERROR) right: (identifier)) (ERROR) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (binary_expression left: (binary_expression left: (identifier) (ERROR) right: (identifier)) (ERROR) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (binary_expression left: (binary_expression left: (identifier) (ERROR) right: (identifier)) (ERROR) right: (identifier)) (comma_expression left: (identifier) (ERROR (comma_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (identifier) (identifier)) right: (identifier)) (comma_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR (comma_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR (comma_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR (comma_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR) (expression_statement (comma_expression left: (binary_expression left: (identifier) right: (true)) right: (comma_expression left: (true) right: (binary_expression left: (true) (ERROR) right: (call_expression function: (identifier) arguments: (argument_list (call_expression function: (parenthesized_expression (ERROR (comma_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) (ERROR (identifier)) right: (identifier)) (ERROR (identifier)) (ERROR) right: (identifier)) (ERROR) right: (identifier)) (ERROR (identifier)) right: (identifier)) (ERROR (identifier)) (ERROR) right: (identifier)) (ERROR) right: (identifier)) (ERROR (identifier)) right: (identifier)) (ERROR (identifier)) right: (identifier)) (ERROR (identifier)) (ERROR) right: (identifier)) (ERROR) right: (identifier)) (ERROR (identifier) (identifier)) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) (binary_expression left: (identifier) (ERROR) right: (identifier)) (comma_expression left: (identifier) right: (identifier)) (identifier) (comma_expression left: (identifier) right: (identifier)) (identifier) (comma_expression left: (identifier) right: (identifier)) (identifier) (comma_expression left: (identifier) right: (identifier)) (identifier)) (comma_expression left: (binary_expression left: (identifier) right: (true)) right: (comma_expression left: (true) right: (binary_expression left: (true) right: (pointer_expression argument: (MISSING identifier)))))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (identifier))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))) (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (identifier)))))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (return_statement (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) (return_statement (false)))))

/* gold::Layout::MASKED(gold::Relobj*, unsigned int) const */

bool __thiscall gold::Layout::MASKED(Layout *this,Relobj *param_1,uint param_2)

{
  int *piVar1;
  Relobj *local_10;
  uint local_c;
  
  if (*(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc) == 0) {
    trap(7);
  }
  local_10 = param_1;
  local_c = param_2;
  piVar1 = (int *)std::
                  _Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>
                  ::_M_find_before_node
                            ((_Hashtable<std::pair<gold::Relobj*,unsigned_int>,std::pair<gold::Relobj*,unsigned_int>,std::allocator<std::pair<gold::Relobj*,unsigned_int>>,std::__detail::_Identity,std::equal_to<std::pair<gold::Relobj*,unsigned_int>>,gold::Section_id_hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,true,true>>
                              *)(PTR_PTR__wfilebuf_004321f8 + 0x69c8),
                             ((uint)param_1 ^ param_2) %
                             *(uint *)(PTR_PTR__wfilebuf_004321f8 + 0x69cc),(pair *)&local_10,
                             (uint)param_1 ^ param_2);
  if (piVar1 != (int *)0x0) {
    return *piVar1 != 0;
  }
  return false;
}

