
/* WARNING: Type propagation algorithm not settling */

void FUN_001790dc(undefined8 param_1,int param_2)

{
  void *pvVar1;
  _Hash_node_base *p_Var2;
  Xindex *pXVar3;
  Sized_relobj_file<32,_true> *unaff_RBX;
  
  pvVar1 = (void *)unaff_RBX[1].super_Sized_relobj<32,_true>.local_got_offsets_._M_h.
                   _M_rehash_policy._M_next_resize;
  if (pvVar1 != (void *)0x0) {
    operator_delete(pvVar1);
  }
  p_Var2 = unaff_RBX[1].super_Sized_relobj<32,_true>.local_got_offsets_._M_h._M_before_begin._M_nxt;
  if (p_Var2 != (_Hash_node_base *)0x0) {
    operator_delete(p_Var2);
  }
  std::_Bvector_base<std::allocator<bool>_>::_M_deallocate
            ((_Bvector_base<std::allocator<bool>_> *)
             &unaff_RBX[1].super_Sized_relobj<32,_true>.super_Relobj.reloc_counts_);
  std::
  _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>
  ::~_Hashtable((_Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>
                 *)&unaff_RBX[1].super_Sized_relobj<32,_true>.super_Relobj.output_sections_.
                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
                    ._M_impl._M_finish,param_2);
  pXVar3 = unaff_RBX[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.xindex_;
  if (pXVar3 != (Xindex *)0x0) {
    operator_delete(pXVar3);
  }
  std::_Bvector_base<std::allocator<bool>_>::_M_deallocate
            ((_Bvector_base<std::allocator<bool>_> *)
             &unaff_RBX[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_.field_2);
  gold::Sized_relobj_file<32,_true>::~Sized_relobj_file(unaff_RBX,param_2);
  operator_delete(unaff_RBX,0x310);
                    /* WARNING: Subroutine does not return */
  _Unwind_Resume();
}



void FUN_001790dc(void)

{
  long unaff_RBX;
  
  if (*(long *)(unaff_RBX + 0x2f0) != 0) {
    FUN_0049e330();
  }
  if (*(long *)(unaff_RBX + 0x2d8) != 0) {
    FUN_0049e330();
  }
  FUN_00229910(unaff_RBX + 0x2b0);
  FUN_002296e0(unaff_RBX + 0x278);
  if (*(long *)(unaff_RBX + 0x260) != 0) {
    FUN_0049e330();
  }
  FUN_00229910(unaff_RBX + 0x238);
  FUN_003b7830();
  thunk_FUN_0049e330();
                    /* WARNING: Subroutine does not return */
  FUN_0052bfa0();
}


MOV RDI,qword ptr [RBX + 0x2f0]
TEST RDI,RDI
JZ 0x001790ed
CALL 0x0049e330
MOV RDI,qword ptr [RBX + 0x2d8]
TEST RDI,RDI
JZ 0x001790fe
CALL 0x0049e330
LEA RDI,[RBX + 0x2b0]
CALL 0x00229910
LEA RDI,[RBX + 0x278]
CALL 0x002296e0
MOV RDI,qword ptr [RBX + 0x260]
TEST RDI,RDI
JZ 0x00179127
CALL 0x0049e330
LEA RDI,[RBX + 0x238]
CALL 0x00229910
MOV RDI,RBX
CALL 0x003b7830
MOV RDI,RBX
MOV ESI,0x310
CALL 0x0049e320
MOV RDI,RBP
CALL 0x0052bfa0
(translation_unit "void FUN_001790dc(void)\n\n{\n  long unaff_RBX;\n  \n  if (*(long *)(unaff_RBX + 0x2f0) != 0) {\n    FUN_0049e330();\n  }\n  if (*(long *)(unaff_RBX + 0x2d8) != 0) {\n    FUN_0049e330();\n  }\n  FUN_00229910(unaff_RBX + 0x2b0);\n  FUN_002296e0(unaff_RBX + 0x278);\n  if (*(long *)(unaff_RBX + 0x260) != 0) {\n    FUN_0049e330();\n  }\n  FUN_00229910(unaff_RBX + 0x238);\n  FUN_003b7830();\n  thunk_FUN_0049e330();\n                    /* WARNING: Subroutine does not return */\n  FUN_0052bfa0();\n}\n\n" (function_definition "void FUN_001790dc(void)\n\n{\n  long unaff_RBX;\n  \n  if (*(long *)(unaff_RBX + 0x2f0) != 0) {\n    FUN_0049e330();\n  }\n  if (*(long *)(unaff_RBX + 0x2d8) != 0) {\n    FUN_0049e330();\n  }\n  FUN_00229910(unaff_RBX + 0x2b0);\n  FUN_002296e0(unaff_RBX + 0x278);\n  if (*(long *)(unaff_RBX + 0x260) != 0) {\n    FUN_0049e330();\n  }\n  FUN_00229910(unaff_RBX + 0x238);\n  FUN_003b7830();\n  thunk_FUN_0049e330();\n                    /* WARNING: Subroutine does not return */\n  FUN_0052bfa0();\n}" primitive_type (function_declarator "FUN_001790dc(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  long unaff_RBX;\n  \n  if (*(long *)(unaff_RBX + 0x2f0) != 0) {\n    FUN_0049e330();\n  }\n  if (*(long *)(unaff_RBX + 0x2d8) != 0) {\n    FUN_0049e330();\n  }\n  FUN_00229910(unaff_RBX + 0x2b0);\n  FUN_002296e0(unaff_RBX + 0x278);\n  if (*(long *)(unaff_RBX + 0x260) != 0) {\n    FUN_0049e330();\n  }\n  FUN_00229910(unaff_RBX + 0x238);\n  FUN_003b7830();\n  thunk_FUN_0049e330();\n                    /* WARNING: Subroutine does not return */\n  FUN_0052bfa0();\n}" { (declaration "long unaff_RBX;" (sized_type_specifier "long" long) identifier ;) (if_statement "if (*(long *)(unaff_RBX + 0x2f0) != 0) {\n    FUN_0049e330();\n  }" if (parenthesized_expression "(*(long *)(unaff_RBX + 0x2f0) != 0)" ( (binary_expression "*(long *)(unaff_RBX + 0x2f0) != 0" (pointer_expression "*(long *)(unaff_RBX + 0x2f0)" * (cast_expression "(long *)(unaff_RBX + 0x2f0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_RBX + 0x2f0)" ( (binary_expression "unaff_RBX + 0x2f0" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    FUN_0049e330();\n  }" { (expression_statement "FUN_0049e330();" (call_expression "FUN_0049e330()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(long *)(unaff_RBX + 0x2d8) != 0) {\n    FUN_0049e330();\n  }" if (parenthesized_expression "(*(long *)(unaff_RBX + 0x2d8) != 0)" ( (binary_expression "*(long *)(unaff_RBX + 0x2d8) != 0" (pointer_expression "*(long *)(unaff_RBX + 0x2d8)" * (cast_expression "(long *)(unaff_RBX + 0x2d8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_RBX + 0x2d8)" ( (binary_expression "unaff_RBX + 0x2d8" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    FUN_0049e330();\n  }" { (expression_statement "FUN_0049e330();" (call_expression "FUN_0049e330()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "FUN_00229910(unaff_RBX + 0x2b0);" (call_expression "FUN_00229910(unaff_RBX + 0x2b0)" identifier (argument_list "(unaff_RBX + 0x2b0)" ( (binary_expression "unaff_RBX + 0x2b0" identifier + number_literal) ))) ;) (expression_statement "FUN_002296e0(unaff_RBX + 0x278);" (call_expression "FUN_002296e0(unaff_RBX + 0x278)" identifier (argument_list "(unaff_RBX + 0x278)" ( (binary_expression "unaff_RBX + 0x278" identifier + number_literal) ))) ;) (if_statement "if (*(long *)(unaff_RBX + 0x260) != 0) {\n    FUN_0049e330();\n  }" if (parenthesized_expression "(*(long *)(unaff_RBX + 0x260) != 0)" ( (binary_expression "*(long *)(unaff_RBX + 0x260) != 0" (pointer_expression "*(long *)(unaff_RBX + 0x260)" * (cast_expression "(long *)(unaff_RBX + 0x260)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_RBX + 0x260)" ( (binary_expression "unaff_RBX + 0x260" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    FUN_0049e330();\n  }" { (expression_statement "FUN_0049e330();" (call_expression "FUN_0049e330()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "FUN_00229910(unaff_RBX + 0x238);" (call_expression "FUN_00229910(unaff_RBX + 0x238)" identifier (argument_list "(unaff_RBX + 0x238)" ( (binary_expression "unaff_RBX + 0x238" identifier + number_literal) ))) ;) (expression_statement "FUN_003b7830();" (call_expression "FUN_003b7830()" identifier (argument_list "()" ( ))) ;) (expression_statement "thunk_FUN_0049e330();" (call_expression "thunk_FUN_0049e330()" identifier (argument_list "()" ( ))) ;) comment (expression_statement "FUN_0052bfa0();" (call_expression "FUN_0052bfa0()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "/* WARNING: Type propagation algorithm not settling */\n\nvoid FUN_001790dc(undefined8 param_1,int param_2)\n\n{\n  void *pvVar1;\n  _Hash_node_base *p_Var2;\n  Xindex *pXVar3;\n  Sized_relobj_file<32,_true> *unaff_RBX;\n  \n  pvVar1 = (void *)unaff_RBX[1].super_Sized_relobj<32,_true>.local_got_offsets_._M_h.\n                   _M_rehash_policy._M_next_resize;\n  if (pvVar1 != (void *)0x0) {\n    operator_delete(pvVar1);\n  }\n  p_Var2 = unaff_RBX[1].super_Sized_relobj<32,_true>.local_got_offsets_._M_h._M_before_begin._M_nxt;\n  if (p_Var2 != (_Hash_node_base *)0x0) {\n    operator_delete(p_Var2);\n  }\n  std::_Bvector_base<std::allocator<bool>_>::_M_deallocate\n            ((_Bvector_base<std::allocator<bool>_> *)\n             &unaff_RBX[1].super_Sized_relobj<32,_true>.super_Relobj.reloc_counts_);\n  std::\n  _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n  ::~_Hashtable((_Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)&unaff_RBX[1].super_Sized_relobj<32,_true>.super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_finish,param_2);\n  pXVar3 = unaff_RBX[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.xindex_;\n  if (pXVar3 != (Xindex *)0x0) {\n    operator_delete(pXVar3);\n  }\n  std::_Bvector_base<std::allocator<bool>_>::_M_deallocate\n            ((_Bvector_base<std::allocator<bool>_> *)\n             &unaff_RBX[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_.field_2);\n  gold::Sized_relobj_file<32,_true>::~Sized_relobj_file(unaff_RBX,param_2);\n  operator_delete(unaff_RBX,0x310);\n                    /* WARNING: Subroutine does not return */\n  _Unwind_Resume();\n}\n\n" comment (function_definition "void FUN_001790dc(undefined8 param_1,int param_2)\n\n{\n  void *pvVar1;\n  _Hash_node_base *p_Var2;\n  Xindex *pXVar3;\n  Sized_relobj_file<32,_true> *unaff_RBX;\n  \n  pvVar1 = (void *)unaff_RBX[1].super_Sized_relobj<32,_true>.local_got_offsets_._M_h.\n                   _M_rehash_policy._M_next_resize;\n  if (pvVar1 != (void *)0x0) {\n    operator_delete(pvVar1);\n  }\n  p_Var2 = unaff_RBX[1].super_Sized_relobj<32,_true>.local_got_offsets_._M_h._M_before_begin._M_nxt;\n  if (p_Var2 != (_Hash_node_base *)0x0) {\n    operator_delete(p_Var2);\n  }\n  std::_Bvector_base<std::allocator<bool>_>::_M_deallocate\n            ((_Bvector_base<std::allocator<bool>_> *)\n             &unaff_RBX[1].super_Sized_relobj<32,_true>.super_Relobj.reloc_counts_);\n  std::\n  _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n  ::~_Hashtable((_Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)&unaff_RBX[1].super_Sized_relobj<32,_true>.super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_finish,param_2);\n  pXVar3 = unaff_RBX[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.xindex_;\n  if (pXVar3 != (Xindex *)0x0) {\n    operator_delete(pXVar3);\n  }\n  std::_Bvector_base<std::allocator<bool>_>::_M_deallocate\n            ((_Bvector_base<std::allocator<bool>_> *)\n             &unaff_RBX[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_.field_2);\n  gold::Sized_relobj_file<32,_true>::~Sized_relobj_file(unaff_RBX,param_2);\n  operator_delete(unaff_RBX,0x310);\n                    /* WARNING: Subroutine does not return */\n  _Unwind_Resume();\n}" primitive_type (function_declarator "FUN_001790dc(undefined8 param_1,int param_2)" identifier (parameter_list "(undefined8 param_1,int param_2)" ( (parameter_declaration "undefined8 param_1" type_identifier identifier) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  void *pvVar1;\n  _Hash_node_base *p_Var2;\n  Xindex *pXVar3;\n  Sized_relobj_file<32,_true> *unaff_RBX;\n  \n  pvVar1 = (void *)unaff_RBX[1].super_Sized_relobj<32,_true>.local_got_offsets_._M_h.\n                   _M_rehash_policy._M_next_resize;\n  if (pvVar1 != (void *)0x0) {\n    operator_delete(pvVar1);\n  }\n  p_Var2 = unaff_RBX[1].super_Sized_relobj<32,_true>.local_got_offsets_._M_h._M_before_begin._M_nxt;\n  if (p_Var2 != (_Hash_node_base *)0x0) {\n    operator_delete(p_Var2);\n  }\n  std::_Bvector_base<std::allocator<bool>_>::_M_deallocate\n            ((_Bvector_base<std::allocator<bool>_> *)\n             &unaff_RBX[1].super_Sized_relobj<32,_true>.super_Relobj.reloc_counts_);\n  std::\n  _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n  ::~_Hashtable((_Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)&unaff_RBX[1].super_Sized_relobj<32,_true>.super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_finish,param_2);\n  pXVar3 = unaff_RBX[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.xindex_;\n  if (pXVar3 != (Xindex *)0x0) {\n    operator_delete(pXVar3);\n  }\n  std::_Bvector_base<std::allocator<bool>_>::_M_deallocate\n            ((_Bvector_base<std::allocator<bool>_> *)\n             &unaff_RBX[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_.field_2);\n  gold::Sized_relobj_file<32,_true>::~Sized_relobj_file(unaff_RBX,param_2);\n  operator_delete(unaff_RBX,0x310);\n                    /* WARNING: Subroutine does not return */\n  _Unwind_Resume();\n}" { (declaration "void *pvVar1;" primitive_type (pointer_declarator "*pvVar1" * identifier) ;) (declaration "_Hash_node_base *p_Var2;" type_identifier (pointer_declarator "*p_Var2" * identifier) ;) (declaration "Xindex *pXVar3;" type_identifier (pointer_declarator "*pXVar3" * identifier) ;) (expression_statement "Sized_relobj_file<32,_true> *unaff_RBX;" (comma_expression "Sized_relobj_file<32,_true> *unaff_RBX" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_true> *unaff_RBX" identifier > (pointer_expression "*unaff_RBX" * identifier))) ;) (expression_statement "pvVar1 = (void *)unaff_RBX[1].super_Sized_relobj<32,_true>.local_got_offsets_._M_h.\n                   _M_rehash_policy._M_next_resize;" (comma_expression "pvVar1 = (void *)unaff_RBX[1].super_Sized_relobj<32,_true>.local_got_offsets_._M_h.\n                   _M_rehash_policy._M_next_resize" (assignment_expression "pvVar1 = (void *)unaff_RBX[1].super_Sized_relobj<32" identifier = (binary_expression "(void *)unaff_RBX[1].super_Sized_relobj<32" (cast_expression "(void *)unaff_RBX[1].super_Sized_relobj" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "unaff_RBX[1].super_Sized_relobj" (subscript_expression "unaff_RBX[1]" identifier [ number_literal ]) . field_identifier)) < number_literal)) , (field_expression "_true>.local_got_offsets_._M_h.\n                   _M_rehash_policy._M_next_resize" (field_expression "_true>.local_got_offsets_._M_h.\n                   _M_rehash_policy" (field_expression "_true>.local_got_offsets_._M_h" (field_expression "_true>.local_got_offsets_" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier)) ;) (if_statement "if (pvVar1 != (void *)0x0) {\n    operator_delete(pvVar1);\n  }" if (parenthesized_expression "(pvVar1 != (void *)0x0)" ( (binary_expression "pvVar1 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    operator_delete(pvVar1);\n  }" { (expression_statement "operator_delete(pvVar1);" (call_expression "operator_delete(pvVar1)" identifier (argument_list "(pvVar1)" ( identifier ))) ;) })) (expression_statement "p_Var2 = unaff_RBX[1].super_Sized_relobj<32,_true>.local_got_offsets_._M_h._M_before_begin._M_nxt;" (comma_expression "p_Var2 = unaff_RBX[1].super_Sized_relobj<32,_true>.local_got_offsets_._M_h._M_before_begin._M_nxt" (assignment_expression "p_Var2 = unaff_RBX[1].super_Sized_relobj<32" identifier = (binary_expression "unaff_RBX[1].super_Sized_relobj<32" (field_expression "unaff_RBX[1].super_Sized_relobj" (subscript_expression "unaff_RBX[1]" identifier [ number_literal ]) . field_identifier) < number_literal)) , (field_expression "_true>.local_got_offsets_._M_h._M_before_begin._M_nxt" (field_expression "_true>.local_got_offsets_._M_h._M_before_begin" (field_expression "_true>.local_got_offsets_._M_h" (field_expression "_true>.local_got_offsets_" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier)) ;) (if_statement "if (p_Var2 != (_Hash_node_base *)0x0) {\n    operator_delete(p_Var2);\n  }" if (parenthesized_expression "(p_Var2 != (_Hash_node_base *)0x0)" ( (binary_expression "p_Var2 != (_Hash_node_base *)0x0" identifier != (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    operator_delete(p_Var2);\n  }" { (expression_statement "operator_delete(p_Var2);" (call_expression "operator_delete(p_Var2)" identifier (argument_list "(p_Var2)" ( identifier ))) ;) })) (labeled_statement "std::_Bvector_base<std::allocator<bool>_>::_M_deallocate\n            ((_Bvector_base<std::allocator<bool>_> *)\n             &unaff_RBX[1].super_Sized_relobj<32,_true>.super_Relobj.reloc_counts_);" statement_identifier (ERROR "::_Bvector_base<std::allocator<bool>_>::_M_deallocate\n            ((_Bvector_base<std:" : : (binary_expression "_Bvector_base<std" identifier < identifier) : : (binary_expression "allocator<bool>_" (binary_expression "allocator<bool" identifier < identifier) > identifier) > : : identifier ( ( (binary_expression "_Bvector_base<std" identifier < identifier) :) : (expression_statement "allocator<bool>_> *)\n             &unaff_RBX[1].super_Sized_relobj<32,_true>.super_Relobj.reloc_counts_);" (comma_expression "allocator<bool>_> *)\n             &unaff_RBX[1].super_Sized_relobj<32,_true>.super_Relobj.reloc_counts_" (binary_expression "allocator<bool>_> *)\n             &unaff_RBX[1].super_Sized_relobj<32" (binary_expression "allocator<bool>_> *)\n             &unaff_RBX[1].super_Sized_relobj" (binary_expression "allocator<bool>_" (binary_expression "allocator<bool" identifier < identifier) > identifier) > (pointer_expression "*)\n             &unaff_RBX[1].super_Sized_relobj" * (ERROR ")" )) (pointer_expression "&unaff_RBX[1].super_Sized_relobj" & (field_expression "unaff_RBX[1].super_Sized_relobj" (subscript_expression "unaff_RBX[1]" identifier [ number_literal ]) . field_identifier)))) < number_literal) , (field_expression "_true>.super_Relobj.reloc_counts_" (field_expression "_true>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier)) (ERROR ")" )) ;)) (ERROR "std::\n  _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::" (comma_expression "std::\n  _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold" identifier (ERROR "::\n  _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>" : : (comma_expression "_Hashtable<unsigned_int,_std" (binary_expression "_Hashtable<unsigned_int" identifier < identifier) , identifier) : : (comma_expression "pair<unsigned_int_const,_std" (binary_expression "pair<unsigned_int_const" identifier < identifier) , identifier) : : (binary_expression "unordered_set<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : identifier * , identifier >) , identifier) : : (comma_expression "Section_id_hash,_std" identifier , identifier) : : (binary_expression "equal_to<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) : : (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>_>_" (binary_expression "Relobj*,_unsigned_int>_" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<unsigned_int_const,_std" (binary_expression "pair<unsigned_int_const" identifier < identifier) , identifier) : : (binary_expression "unordered_set<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>,_gold" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (comma_expression "Section_id_hash,_std" identifier , identifier) : : (binary_expression "equal_to<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) : : (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>_>_>_" (binary_expression "Relobj*,_unsigned_int>_>_" (binary_expression "Relobj*,_unsigned_int>_" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > identifier) > identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (comma_expression "__detail::_Select1st,_std::equal_to<unsigned_int>,_std" identifier (ERROR "::_Select1st,_std::equal_to<unsigned_int>" : : (comma_expression "_Select1st,_std" identifier , identifier) : : (binary_expression "equal_to<unsigned_int" identifier < identifier) >) , identifier) : : (binary_expression "hash<unsigned_int>,_std" (binary_expression "hash<unsigned_int" identifier < identifier) > (ERROR "," ,) identifier) : :) (labeled_statement "__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n  ::~_Hashtable((_Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)&unaff_RBX[1].super_Sized_relobj<32,_true>.super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_finish,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<false,_false,_true>_>\n  ::~_Hashtable((_Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)&unaff_RBX[1].super_Sized_relobj<32,_true>.super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_finish,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<false,_false,_true>_>\n  ::~_Hashtable((_Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)&unaff_RBX[1].super_Sized_relobj<32,_true>.super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_finish,param_2);" statement_identifier (ERROR "::_Prime_rehash_policy,_std:" : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) :) : (labeled_statement "__detail::_Hashtable_traits<false,_false,_true>_>\n  ::~_Hashtable((_Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)&unaff_RBX[1].super_Sized_relobj<32,_true>.super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_finish,param_2);" statement_identifier : (ERROR ":" :) (expression_statement "_Hashtable_traits<false,_false,_true>_>\n  ::~_Hashtable((_Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)&unaff_RBX[1].super_Sized_relobj<32,_true>.super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_finish,param_2);" (comma_expression "_Hashtable_traits<false,_false,_true>_>\n  ::~_Hashtable((_Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)&unaff_RBX[1].super_Sized_relobj<32,_true>.super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_finish,param_2)" (binary_expression "_Hashtable_traits<false" identifier < false) , (comma_expression "_false,_true>_>\n  ::~_Hashtable((_Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)&unaff_RBX[1].super_Sized_relobj<32,_true>.super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_finish,param_2)" identifier , (binary_expression "_true>_>\n  ::~_Hashtable((_Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)&unaff_RBX[1].super_Sized_relobj<32,_true>.super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_finish,param_2)" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) (unary_expression "~_Hashtable((_Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)&unaff_RBX[1].super_Sized_relobj<32,_true>.super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_finish,param_2)" ~ (call_expression "_Hashtable((_Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)&unaff_RBX[1].super_Sized_relobj<32,_true>.super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_finish,param_2)" identifier (argument_list "((_Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)&unaff_RBX[1].super_Sized_relobj<32,_true>.super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_finish,param_2)" ( (parenthesized_expression "(_Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)&unaff_RBX[1].super_Sized_relobj<32,_true>.super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_finish,param_2)" ( (ERROR "_Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)&unaff_RBX[1].super_Sized_relobj<32,_true>.super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::" (comma_expression "_Hashtable<unsigned_int,_std" (binary_expression "_Hashtable<unsigned_int" identifier < identifier) , identifier) : : (comma_expression "pair<unsigned_int_const,_std" (binary_expression "pair<unsigned_int_const" identifier < identifier) , identifier) : : (binary_expression "unordered_set<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) : : (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>_>,_std" (binary_expression "_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (type_descriptor "Relobj*" type_identifier (abstract_pointer_declarator "*" *)) , (binary_expression "_unsigned_int>_>_>_>,_std" (binary_expression "_unsigned_int>_>_>_" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<unsigned_int_const,_std" (binary_expression "pair<unsigned_int_const" identifier < identifier) , identifier) : : (binary_expression "unordered_set<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) : : (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>_>,_std" (binary_expression "_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (type_descriptor "Relobj*" type_identifier (abstract_pointer_declarator "*" *)) , (binary_expression "_unsigned_int>_>_>_>_>,_std" (binary_expression "_unsigned_int>_>_>_>_" (binary_expression "_unsigned_int>_>_>_" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : identifier : : (comma_expression "_Select1st,_std" identifier , identifier) : : (binary_expression "equal_to<unsigned_int>,_std" (binary_expression "equal_to<unsigned_int" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "hash<unsigned_int>,_std" (binary_expression "hash<unsigned_int" identifier < identifier) > (ERROR "," ,) identifier) : : identifier : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) : : identifier : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) : : identifier : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) : : identifier : : (comma_expression "_Hashtable_traits<false,_false,_true>_>\n                 *)&unaff_RBX[1].super_Sized_relobj<32,_true>.super_Relobj.output_sections_.\n                    super__Vector_base<gold" (binary_expression "_Hashtable_traits<false" identifier < false) , (comma_expression "_false,_true>_>\n                 *)&unaff_RBX[1].super_Sized_relobj<32,_true>.super_Relobj.output_sections_.\n                    super__Vector_base<gold" identifier , (comma_expression "_true>_>\n                 *)&unaff_RBX[1].super_Sized_relobj<32,_true>.super_Relobj.output_sections_.\n                    super__Vector_base<gold" (binary_expression "_true>_>\n                 *)&unaff_RBX[1].super_Sized_relobj<32" (binary_expression "_true>_>\n                 *)&unaff_RBX[1].super_Sized_relobj" (binary_expression "_true>_" identifier > identifier) > (pointer_expression "*)&unaff_RBX[1].super_Sized_relobj" * (ERROR ")" )) (pointer_expression "&unaff_RBX[1].super_Sized_relobj" & (field_expression "unaff_RBX[1].super_Sized_relobj" (subscript_expression "unaff_RBX[1]" identifier [ number_literal ]) . field_identifier)))) < number_literal) , (binary_expression "_true>.super_Relobj.output_sections_.\n                    super__Vector_base<gold" (field_expression "_true>.super_Relobj.output_sections_.\n                    super__Vector_base" (field_expression "_true>.super_Relobj.output_sections_" (field_expression "_true>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) < identifier)))) : : (type_descriptor "Output_section*" type_identifier (abstract_pointer_declarator "*" *)) , identifier : : (binary_expression "allocator<gold" identifier < identifier) : :) (comma_expression "Output_section*>_>\n                    ._M_impl._M_finish,param_2" (field_expression "Output_section*>_>\n                    ._M_impl._M_finish" (field_expression "Output_section*>_>\n                    ._M_impl" (binary_expression "Output_section*>_" identifier * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) , identifier) )) ))))))) ;))))) (expression_statement "pXVar3 = unaff_RBX[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.xindex_;" (comma_expression "pXVar3 = unaff_RBX[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.xindex_" (assignment_expression "pXVar3 = unaff_RBX[1].super_Sized_relobj<32" identifier = (binary_expression "unaff_RBX[1].super_Sized_relobj<32" (field_expression "unaff_RBX[1].super_Sized_relobj" (subscript_expression "unaff_RBX[1]" identifier [ number_literal ]) . field_identifier) < number_literal)) , (field_expression "_true>.super_Relobj.super_Object.xindex_" (field_expression "_true>.super_Relobj.super_Object" (field_expression "_true>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier)) ;) (if_statement "if (pXVar3 != (Xindex *)0x0) {\n    operator_delete(pXVar3);\n  }" if (parenthesized_expression "(pXVar3 != (Xindex *)0x0)" ( (binary_expression "pXVar3 != (Xindex *)0x0" identifier != (cast_expression "(Xindex *)0x0" ( (type_descriptor "Xindex *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    operator_delete(pXVar3);\n  }" { (expression_statement "operator_delete(pXVar3);" (call_expression "operator_delete(pXVar3)" identifier (argument_list "(pXVar3)" ( identifier ))) ;) })) (labeled_statement "std::_Bvector_base<std::allocator<bool>_>::_M_deallocate\n            ((_Bvector_base<std::allocator<bool>_> *)\n             &unaff_RBX[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_.field_2);" statement_identifier (ERROR "::_Bvector_base<std::allocator<bool>_>::_M_deallocate\n            ((_Bvector_base<std:" : : (binary_expression "_Bvector_base<std" identifier < identifier) : : (binary_expression "allocator<bool>_" (binary_expression "allocator<bool" identifier < identifier) > identifier) > : : identifier ( ( (binary_expression "_Bvector_base<std" identifier < identifier) :) : (expression_statement "allocator<bool>_> *)\n             &unaff_RBX[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_.field_2);" (comma_expression "allocator<bool>_> *)\n             &unaff_RBX[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_.field_2" (binary_expression "allocator<bool>_> *)\n             &unaff_RBX[1].super_Sized_relobj<32" (binary_expression "allocator<bool>_> *)\n             &unaff_RBX[1].super_Sized_relobj" (binary_expression "allocator<bool>_" (binary_expression "allocator<bool" identifier < identifier) > identifier) > (pointer_expression "*)\n             &unaff_RBX[1].super_Sized_relobj" * (ERROR ")" )) (pointer_expression "&unaff_RBX[1].super_Sized_relobj" & (field_expression "unaff_RBX[1].super_Sized_relobj" (subscript_expression "unaff_RBX[1]" identifier [ number_literal ]) . field_identifier)))) < number_literal) , (field_expression "_true>.super_Relobj.super_Object.name_.field_2" (field_expression "_true>.super_Relobj.super_Object.name_" (field_expression "_true>.super_Relobj.super_Object" (field_expression "_true>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier)) (ERROR ")" )) ;)) (labeled_statement "gold::Sized_relobj_file<32,_true>::~Sized_relobj_file(unaff_RBX,param_2);" statement_identifier : (ERROR ":" :) (expression_statement "Sized_relobj_file<32,_true>::~Sized_relobj_file(unaff_RBX,param_2);" (comma_expression "Sized_relobj_file<32,_true>::~Sized_relobj_file(unaff_RBX,param_2)" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_true>::~Sized_relobj_file(unaff_RBX,param_2)" identifier > (ERROR "::" : :) (unary_expression "~Sized_relobj_file(unaff_RBX,param_2)" ~ (call_expression "Sized_relobj_file(unaff_RBX,param_2)" identifier (argument_list "(unaff_RBX,param_2)" ( identifier , identifier )))))) ;)) (expression_statement "operator_delete(unaff_RBX,0x310);" (call_expression "operator_delete(unaff_RBX,0x310)" identifier (argument_list "(unaff_RBX,0x310)" ( identifier , number_literal ))) ;) comment (expression_statement "_Unwind_Resume();" (call_expression "_Unwind_Resume()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "void FUN_001790dc(void)\n\n{\n  long unaff_RBX;\n  \n  if (*(long *)(unaff_RBX + 0x2f0) != 0) {\n    FUN_0049e330();\n  }\n  if (*(long *)(unaff_RBX + 0x2d8) != 0) {\n    FUN_0049e330();\n  }\n  FUN_00229910(unaff_RBX + 0x2b0);\n  FUN_002296e0(unaff_RBX + 0x278);\n  if (*(long *)(unaff_RBX + 0x260) != 0) {\n    FUN_0049e330();\n  }\n  FUN_00229910(unaff_RBX + 0x238);\n  FUN_003b7830();\n  thunk_FUN_0049e330();\n                    \n  FUN_0052bfa0();\n}\n\n" (function_definition "void FUN_001790dc(void)\n\n{\n  long unaff_RBX;\n  \n  if (*(long *)(unaff_RBX + 0x2f0) != 0) {\n    FUN_0049e330();\n  }\n  if (*(long *)(unaff_RBX + 0x2d8) != 0) {\n    FUN_0049e330();\n  }\n  FUN_00229910(unaff_RBX + 0x2b0);\n  FUN_002296e0(unaff_RBX + 0x278);\n  if (*(long *)(unaff_RBX + 0x260) != 0) {\n    FUN_0049e330();\n  }\n  FUN_00229910(unaff_RBX + 0x238);\n  FUN_003b7830();\n  thunk_FUN_0049e330();\n                    \n  FUN_0052bfa0();\n}" primitive_type (function_declarator "FUN_001790dc(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  long unaff_RBX;\n  \n  if (*(long *)(unaff_RBX + 0x2f0) != 0) {\n    FUN_0049e330();\n  }\n  if (*(long *)(unaff_RBX + 0x2d8) != 0) {\n    FUN_0049e330();\n  }\n  FUN_00229910(unaff_RBX + 0x2b0);\n  FUN_002296e0(unaff_RBX + 0x278);\n  if (*(long *)(unaff_RBX + 0x260) != 0) {\n    FUN_0049e330();\n  }\n  FUN_00229910(unaff_RBX + 0x238);\n  FUN_003b7830();\n  thunk_FUN_0049e330();\n                    \n  FUN_0052bfa0();\n}" { (declaration "long unaff_RBX;" (sized_type_specifier "long" long) identifier ;) (if_statement "if (*(long *)(unaff_RBX + 0x2f0) != 0) {\n    FUN_0049e330();\n  }" if (parenthesized_expression "(*(long *)(unaff_RBX + 0x2f0) != 0)" ( (binary_expression "*(long *)(unaff_RBX + 0x2f0) != 0" (pointer_expression "*(long *)(unaff_RBX + 0x2f0)" * (cast_expression "(long *)(unaff_RBX + 0x2f0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_RBX + 0x2f0)" ( (binary_expression "unaff_RBX + 0x2f0" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    FUN_0049e330();\n  }" { (expression_statement "FUN_0049e330();" (call_expression "FUN_0049e330()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(long *)(unaff_RBX + 0x2d8) != 0) {\n    FUN_0049e330();\n  }" if (parenthesized_expression "(*(long *)(unaff_RBX + 0x2d8) != 0)" ( (binary_expression "*(long *)(unaff_RBX + 0x2d8) != 0" (pointer_expression "*(long *)(unaff_RBX + 0x2d8)" * (cast_expression "(long *)(unaff_RBX + 0x2d8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_RBX + 0x2d8)" ( (binary_expression "unaff_RBX + 0x2d8" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    FUN_0049e330();\n  }" { (expression_statement "FUN_0049e330();" (call_expression "FUN_0049e330()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "FUN_00229910(unaff_RBX + 0x2b0);" (call_expression "FUN_00229910(unaff_RBX + 0x2b0)" identifier (argument_list "(unaff_RBX + 0x2b0)" ( (binary_expression "unaff_RBX + 0x2b0" identifier + number_literal) ))) ;) (expression_statement "FUN_002296e0(unaff_RBX + 0x278);" (call_expression "FUN_002296e0(unaff_RBX + 0x278)" identifier (argument_list "(unaff_RBX + 0x278)" ( (binary_expression "unaff_RBX + 0x278" identifier + number_literal) ))) ;) (if_statement "if (*(long *)(unaff_RBX + 0x260) != 0) {\n    FUN_0049e330();\n  }" if (parenthesized_expression "(*(long *)(unaff_RBX + 0x260) != 0)" ( (binary_expression "*(long *)(unaff_RBX + 0x260) != 0" (pointer_expression "*(long *)(unaff_RBX + 0x260)" * (cast_expression "(long *)(unaff_RBX + 0x260)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_RBX + 0x260)" ( (binary_expression "unaff_RBX + 0x260" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    FUN_0049e330();\n  }" { (expression_statement "FUN_0049e330();" (call_expression "FUN_0049e330()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "FUN_00229910(unaff_RBX + 0x238);" (call_expression "FUN_00229910(unaff_RBX + 0x238)" identifier (argument_list "(unaff_RBX + 0x238)" ( (binary_expression "unaff_RBX + 0x238" identifier + number_literal) ))) ;) (expression_statement "FUN_003b7830();" (call_expression "FUN_003b7830()" identifier (argument_list "()" ( ))) ;) (expression_statement "thunk_FUN_0049e330();" (call_expression "thunk_FUN_0049e330()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0052bfa0();" (call_expression "FUN_0052bfa0()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (declaration (sized_type_specifier long) IDENT ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })))
(function_definition "void FUN_001790dc(void)\n\n{\n  long unaff_RBX;\n  \n  if (*(long *)(unaff_RBX + 0x2f0) != 0) {\n    FUN_0049e330();\n  }\n  if (*(long *)(unaff_RBX + 0x2d8) != 0) {\n    FUN_0049e330();\n  }\n  FUN_00229910(unaff_RBX + 0x2b0);\n  FUN_002296e0(unaff_RBX + 0x278);\n  if (*(long *)(unaff_RBX + 0x260) != 0) {\n    FUN_0049e330();\n  }\n  FUN_00229910(unaff_RBX + 0x238);\n  FUN_003b7830();\n  thunk_FUN_0049e330();\n                    \n  FUN_0052bfa0();\n}" (primitive_type "void") (function_declarator "FUN_001790dc(void)" (identifier "FUN_001790dc") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  long unaff_RBX;\n  \n  if (*(long *)(unaff_RBX + 0x2f0) != 0) {\n    FUN_0049e330();\n  }\n  if (*(long *)(unaff_RBX + 0x2d8) != 0) {\n    FUN_0049e330();\n  }\n  FUN_00229910(unaff_RBX + 0x2b0);\n  FUN_002296e0(unaff_RBX + 0x278);\n  if (*(long *)(unaff_RBX + 0x260) != 0) {\n    FUN_0049e330();\n  }\n  FUN_00229910(unaff_RBX + 0x238);\n  FUN_003b7830();\n  thunk_FUN_0049e330();\n                    \n  FUN_0052bfa0();\n}" ({ "{") (declaration "long unaff_RBX;" (sized_type_specifier "long" (long "long")) (identifier "unaff_RBX") (; ";")) (if_statement "if (*(long *)(unaff_RBX + 0x2f0) != 0) {\n    FUN_0049e330();\n  }" (if "if") (parenthesized_expression "(*(long *)(unaff_RBX + 0x2f0) != 0)" (( "(") (binary_expression "*(long *)(unaff_RBX + 0x2f0) != 0" (pointer_expression "*(long *)(unaff_RBX + 0x2f0)" (* "*") (cast_expression "(long *)(unaff_RBX + 0x2f0)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_RBX + 0x2f0)" (( "(") (binary_expression "unaff_RBX + 0x2f0" (identifier "unaff_RBX") (+ "+") (number_literal "0x2f0")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_0049e330();\n  }" ({ "{") (expression_statement "FUN_0049e330();" (call_expression "FUN_0049e330()" (identifier "FUN_0049e330") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (*(long *)(unaff_RBX + 0x2d8) != 0) {\n    FUN_0049e330();\n  }" (if "if") (parenthesized_expression "(*(long *)(unaff_RBX + 0x2d8) != 0)" (( "(") (binary_expression "*(long *)(unaff_RBX + 0x2d8) != 0" (pointer_expression "*(long *)(unaff_RBX + 0x2d8)" (* "*") (cast_expression "(long *)(unaff_RBX + 0x2d8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_RBX + 0x2d8)" (( "(") (binary_expression "unaff_RBX + 0x2d8" (identifier "unaff_RBX") (+ "+") (number_literal "0x2d8")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_0049e330();\n  }" ({ "{") (expression_statement "FUN_0049e330();" (call_expression "FUN_0049e330()" (identifier "FUN_0049e330") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_00229910(unaff_RBX + 0x2b0);" (call_expression "FUN_00229910(unaff_RBX + 0x2b0)" (identifier "FUN_00229910") (argument_list "(unaff_RBX + 0x2b0)" (( "(") (binary_expression "unaff_RBX + 0x2b0" (identifier "unaff_RBX") (+ "+") (number_literal "0x2b0")) () ")"))) (; ";")) (expression_statement "FUN_002296e0(unaff_RBX + 0x278);" (call_expression "FUN_002296e0(unaff_RBX + 0x278)" (identifier "FUN_002296e0") (argument_list "(unaff_RBX + 0x278)" (( "(") (binary_expression "unaff_RBX + 0x278" (identifier "unaff_RBX") (+ "+") (number_literal "0x278")) () ")"))) (; ";")) (if_statement "if (*(long *)(unaff_RBX + 0x260) != 0) {\n    FUN_0049e330();\n  }" (if "if") (parenthesized_expression "(*(long *)(unaff_RBX + 0x260) != 0)" (( "(") (binary_expression "*(long *)(unaff_RBX + 0x260) != 0" (pointer_expression "*(long *)(unaff_RBX + 0x260)" (* "*") (cast_expression "(long *)(unaff_RBX + 0x260)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_RBX + 0x260)" (( "(") (binary_expression "unaff_RBX + 0x260" (identifier "unaff_RBX") (+ "+") (number_literal "0x260")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_0049e330();\n  }" ({ "{") (expression_statement "FUN_0049e330();" (call_expression "FUN_0049e330()" (identifier "FUN_0049e330") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_00229910(unaff_RBX + 0x238);" (call_expression "FUN_00229910(unaff_RBX + 0x238)" (identifier "FUN_00229910") (argument_list "(unaff_RBX + 0x238)" (( "(") (binary_expression "unaff_RBX + 0x238" (identifier "unaff_RBX") (+ "+") (number_literal "0x238")) () ")"))) (; ";")) (expression_statement "FUN_003b7830();" (call_expression "FUN_003b7830()" (identifier "FUN_003b7830") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "thunk_FUN_0049e330();" (call_expression "thunk_FUN_0049e330()" (identifier "thunk_FUN_0049e330") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0052bfa0();" (call_expression "FUN_0052bfa0()" (identifier "FUN_0052bfa0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))

/* WARNING: Type propagation algorithm not settling */

void function_1(type_1 param_1,int param_2)

{
  void *var_3;
  type_2 *var_5;
  type_3 *var_12;
  var_1<32,var_2> *unaff_RBX;
  
  var_3 = (void *)unaff_RBX[1].super_Sized_relobj<32,var_2>.local_got_offsets_._M_h.
                   _M_rehash_policy._M_next_resize;
  if (var_3 != (void *)0x0) {
    var_4(var_3);
  }
  var_5 = unaff_RBX[1].super_Sized_relobj<32,var_2>.local_got_offsets_._M_h._M_before_begin._M_nxt;
  if (var_5 != (type_2 *)0x0) {
    var_4(var_5);
  }
  std::_Bvector_base<std::var_6<var_7>var_8>::_M_deallocate
            ((_Bvector_base<std::var_6<var_7>var_8> *)
             &unaff_RBX[1].super_Sized_relobj<32,var_2>.super_Relobj.reloc_counts_);
  std::
  var_10<unsigned_int,_std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>var_8>,_std::var_6<std::pair<gold::Relobj*,_unsigned_int>var_8>var_8>var_8>,_std::var_6<std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>var_8>,_std::var_6<std::pair<gold::Relobj*,_unsigned_int>var_8>var_8>var_8>var_8>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::var_9<false,_false,var_2>var_8>
  ::~var_10((var_10<unsigned_int,_std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>var_8>,_std::var_6<std::pair<gold::Relobj*,_unsigned_int>var_8>var_8>var_8>,_std::var_6<std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>var_8>,_std::var_6<std::pair<gold::Relobj*,_unsigned_int>var_8>var_8>var_8>var_8>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::var_9<false,_false,var_2>var_8>
                 *)&unaff_RBX[1].super_Sized_relobj<32,var_2>.super_Relobj.output_sections_.
                    super__Vector_base<gold::var_11*,_std::var_6<gold::var_11*>var_8>
                    ._M_impl._M_finish,param_2);
  var_12 = unaff_RBX[1].super_Sized_relobj<32,var_2>.super_Relobj.super_Object.xindex_;
  if (var_12 != (type_3 *)0x0) {
    var_4(var_12);
  }
  std::_Bvector_base<std::var_6<var_7>var_8>::_M_deallocate
            ((_Bvector_base<std::var_6<var_7>var_8> *)
             &unaff_RBX[1].super_Sized_relobj<32,var_2>.super_Relobj.super_Object.name_.field_2);
  gold::var_1<32,var_2>::~var_1(unaff_RBX,param_2);
  var_4(unaff_RBX,0x310);
                    /* WARNING: Subroutine does not return */
  var_13();
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type)))) body: (compound_statement (declaration type: (sized_type_specifier) declarator: (identifier)) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) 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))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) 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))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) 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))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))))

void MASKED(void)

{
  long unaff_RBX;
  
  if (*(long *)(unaff_RBX + 0x2f0) != 0) {
    FUN_0049e330();
  }
  if (*(long *)(unaff_RBX + 0x2d8) != 0) {
    FUN_0049e330();
  }
  FUN_00229910(unaff_RBX + 0x2b0);
  FUN_002296e0(unaff_RBX + 0x278);
  if (*(long *)(unaff_RBX + 0x260) != 0) {
    FUN_0049e330();
  }
  FUN_00229910(unaff_RBX + 0x238);
  FUN_003b7830();
  thunk_FUN_0049e330();
                    /* WARNING: Subroutine does not return */
  FUN_0052bfa0();
}

