
/* DWARF original name: _M_emplace<std::pair<std::pair<long unsigned int, long unsigned int>,
   gold::Symbol*> >
   DWARF original prototype:
   pair<std::__detail::_Node_iterator<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>,_false,_true>,_bool>
   _M_emplace<std::pair<std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>(_Hashtable<std::pair<long_unsigned_int,_long_unsigned_int>,_std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>,_std::__detail::_Select1st,_gold::Symbol_table::Symbol_table_eq,_gold::Symbol_table::Symbol_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
   * this, true_type param_2, pair<std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*> *
   __args#0) */

pair<std::__detail::_Node_iterator<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>,_false,_true>,_bool>
 __thiscall
std::
_Hashtable<std::pair<long_unsigned_int,_long_unsigned_int>,_std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>,_std::__detail::_Select1st,_gold::Symbol_table::Symbol_table_eq,_gold::Symbol_table::Symbol_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
::_M_emplace<std::pair<std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>
          (_Hashtable<std::pair<long_unsigned_int,_long_unsigned_int>,_std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>,_std::__detail::_Select1st,_gold::Symbol_table::Symbol_table_eq,_gold::Symbol_table::Symbol_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
           *this,anon_struct_8_0_00000001_for___align *param_2)

{
  _Hash_node_base *p_Var1;
  anon_struct_8_0_00000001_for___align aVar2;
  anon_struct_8_0_00000001_for___align aVar3;
  __node_type *__node;
  __node_base *p_Var4;
  ulong __n;
  ulong __code;
  pair<std::__detail::_Node_iterator<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>,_false,_true>,_bool>
  pVar5;
  pair<std::__detail::_Node_iterator<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>,_false,_true>,_bool>
  pVar6;
  
  __node = (__node_type *)operator_new(0x28);
  aVar2 = *param_2;
  aVar3 = param_2[1];
  (__node->
  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>
  ).super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;
  (__node->
  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>
  )._M_storage._M_storage.__align = aVar2;
  *(anon_struct_8_0_00000001_for___align *)
   ((long)&(__node->
           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>
           )._M_storage._M_storage + 8) = aVar3;
  __code = *(ulong *)((long)&(__node->
                             super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>
                             )._M_storage._M_storage + 8) ^
           (ulong)(__node->
                  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>
                  )._M_storage._M_storage.__align;
  *(anon_struct_8_0_00000001_for___align *)
   ((long)&(__node->
           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>
           )._M_storage._M_storage + 0x10) = param_2[2];
  __n = __code % this->_M_bucket_count;
  p_Var4 = _M_find_before_node(this,__n,(key_type *)
                                        &(__node->
                                         super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>
                                         )._M_storage,__code);
  if ((p_Var4 != (__node_base *)0x0) && (p_Var1 = p_Var4->_M_nxt, p_Var1 != (_Hash_node_base *)0x0))
  {
    operator_delete(__node);
    pVar5._8_8_ = 0;
    pVar5.first.
    super__Node_iterator_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>,_true>
    ._M_cur = (_Node_iterator_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>,_true>
               )(_Node_iterator_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>,_true>
                 )p_Var1;
    return pVar5;
  }
  pVar6.first.
  super__Node_iterator_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>,_true>
  ._M_cur = _M_insert_unique_node(this,__n,__code,__node,1);
  pVar6._8_8_ = 1;
  return pVar6;
}



undefined1  [16] FUN_002e8400(long param_1,undefined8 *param_2)

{
  ulong uVar1;
  undefined8 uVar2;
  undefined8 uVar3;
  undefined8 *puVar4;
  ulong *puVar5;
  ulong uVar6;
  ulong uVar7;
  undefined1 auVar8 [16];
  undefined1 auVar9 [16];
  
  puVar4 = (undefined8 *)FUN_00337270(0x28);
  uVar2 = *param_2;
  uVar3 = param_2[1];
  *puVar4 = 0;
  puVar4[1] = uVar2;
  puVar4[2] = uVar3;
  uVar7 = puVar4[2] ^ puVar4[1];
  puVar4[3] = param_2[2];
  uVar6 = uVar7 % *(ulong *)(param_1 + 8);
  puVar5 = (ulong *)FUN_002e7560(param_1,uVar6,puVar4 + 1,uVar7);
  if ((puVar5 != (ulong *)0x0) && (uVar1 = *puVar5, uVar1 != 0)) {
    FUN_00338a40(puVar4);
    auVar8._8_8_ = 0;
    auVar8._0_8_ = uVar1;
    return auVar8;
  }
  auVar9._0_8_ = FUN_002e8310(param_1,uVar6,uVar7,puVar4,1);
  auVar9._8_8_ = 1;
  return auVar9;
}


PUSH R14
PUSH R13
PUSH R12
MOV R12,RDI
MOV EDI,0x28
PUSH RBP
MOV RBP,RSI
PUSH RBX
CALL 0x00337270
MOVDQU XMM0,xmmword ptr [RBP]
XOR EDX,EDX
MOV RDI,R12
MOV RBX,RAX
MOV qword ptr [RAX],0x0
MOVUPS xmmword ptr [RAX + 0x8],XMM0
MOV RAX,qword ptr [RBP + 0x10]
MOV RBP,qword ptr [RBX + 0x10]
XOR RBP,qword ptr [RBX + 0x8]
MOV qword ptr [RBX + 0x18],RAX
MOV RAX,RBP
MOV RCX,RBP
DIV qword ptr [R12 + 0x8]
MOV R14,RDX
LEA RDX,[RBX + 0x8]
MOV RSI,R14
CALL 0x002e7560
TEST RAX,RAX
JZ 0x002e8480
MOV R13,qword ptr [RAX]
TEST R13,R13
JZ 0x002e8480
MOV RDI,RBX
CALL 0x00338a40
POP RBX
MOV RAX,R13
POP RBP
XOR EDX,EDX
POP R12
POP R13
POP R14
RET
MOV RDX,RBP
MOV RCX,RBX
MOV RSI,R14
MOV RDI,R12
MOV R8D,0x1
CALL 0x002e8310
POP RBX
MOV EDX,0x1
POP RBP
POP R12
POP R13
POP R14
RET
(translation_unit "undefined1  [16] FUN_002e8400(long param_1,undefined8 *param_2)\n\n{\n  ulong uVar1;\n  undefined8 uVar2;\n  undefined8 uVar3;\n  undefined8 *puVar4;\n  ulong *puVar5;\n  ulong uVar6;\n  ulong uVar7;\n  undefined1 auVar8 [16];\n  undefined1 auVar9 [16];\n  \n  puVar4 = (undefined8 *)FUN_00337270(0x28);\n  uVar2 = *param_2;\n  uVar3 = param_2[1];\n  *puVar4 = 0;\n  puVar4[1] = uVar2;\n  puVar4[2] = uVar3;\n  uVar7 = puVar4[2] ^ puVar4[1];\n  puVar4[3] = param_2[2];\n  uVar6 = uVar7 % *(ulong *)(param_1 + 8);\n  puVar5 = (ulong *)FUN_002e7560(param_1,uVar6,puVar4 + 1,uVar7);\n  if ((puVar5 != (ulong *)0x0) && (uVar1 = *puVar5, uVar1 != 0)) {\n    FUN_00338a40(puVar4);\n    auVar8._8_8_ = 0;\n    auVar8._0_8_ = uVar1;\n    return auVar8;\n  }\n  auVar9._0_8_ = FUN_002e8310(param_1,uVar6,uVar7,puVar4,1);\n  auVar9._8_8_ = 1;\n  return auVar9;\n}\n\n" (expression_statement "undefined1  [16]" (subscript_expression "undefined1  [16]" identifier [ number_literal ]) ;) (macro_type_specifier "FUN_002e8400(long param_1,undefined8 *param_2)" identifier ( (ERROR "long param_1,undefined8 *" (type_descriptor "long param_1" (sized_type_specifier "long param_1" long type_identifier)) , (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *))) (type_descriptor "param_2" type_identifier) )) ; (compound_statement "{\n  ulong uVar1;\n  undefined8 uVar2;\n  undefined8 uVar3;\n  undefined8 *puVar4;\n  ulong *puVar5;\n  ulong uVar6;\n  ulong uVar7;\n  undefined1 auVar8 [16];\n  undefined1 auVar9 [16];\n  \n  puVar4 = (undefined8 *)FUN_00337270(0x28);\n  uVar2 = *param_2;\n  uVar3 = param_2[1];\n  *puVar4 = 0;\n  puVar4[1] = uVar2;\n  puVar4[2] = uVar3;\n  uVar7 = puVar4[2] ^ puVar4[1];\n  puVar4[3] = param_2[2];\n  uVar6 = uVar7 % *(ulong *)(param_1 + 8);\n  puVar5 = (ulong *)FUN_002e7560(param_1,uVar6,puVar4 + 1,uVar7);\n  if ((puVar5 != (ulong *)0x0) && (uVar1 = *puVar5, uVar1 != 0)) {\n    FUN_00338a40(puVar4);\n    auVar8._8_8_ = 0;\n    auVar8._0_8_ = uVar1;\n    return auVar8;\n  }\n  auVar9._0_8_ = FUN_002e8310(param_1,uVar6,uVar7,puVar4,1);\n  auVar9._8_8_ = 1;\n  return auVar9;\n}" { (declaration "ulong uVar1;" type_identifier identifier ;) (declaration "undefined8 uVar2;" type_identifier identifier ;) (declaration "undefined8 uVar3;" type_identifier identifier ;) (declaration "undefined8 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "ulong *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "ulong uVar6;" type_identifier identifier ;) (declaration "ulong uVar7;" type_identifier identifier ;) (declaration "undefined1 auVar8 [16];" type_identifier (array_declarator "auVar8 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar9 [16];" type_identifier (array_declarator "auVar9 [16]" identifier [ number_literal ]) ;) (expression_statement "puVar4 = (undefined8 *)FUN_00337270(0x28);" (assignment_expression "puVar4 = (undefined8 *)FUN_00337270(0x28)" identifier = (cast_expression "(undefined8 *)FUN_00337270(0x28)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00337270(0x28)" identifier (argument_list "(0x28)" ( number_literal ))))) ;) (expression_statement "uVar2 = *param_2;" (assignment_expression "uVar2 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "uVar3 = param_2[1];" (assignment_expression "uVar3 = param_2[1]" identifier = (subscript_expression "param_2[1]" identifier [ number_literal ])) ;) (expression_statement "*puVar4 = 0;" (assignment_expression "*puVar4 = 0" (pointer_expression "*puVar4" * identifier) = number_literal) ;) (expression_statement "puVar4[1] = uVar2;" (assignment_expression "puVar4[1] = uVar2" (subscript_expression "puVar4[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar4[2] = uVar3;" (assignment_expression "puVar4[2] = uVar3" (subscript_expression "puVar4[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar7 = puVar4[2] ^ puVar4[1];" (assignment_expression "uVar7 = puVar4[2] ^ puVar4[1]" identifier = (binary_expression "puVar4[2] ^ puVar4[1]" (subscript_expression "puVar4[2]" identifier [ number_literal ]) ^ (subscript_expression "puVar4[1]" identifier [ number_literal ]))) ;) (expression_statement "puVar4[3] = param_2[2];" (assignment_expression "puVar4[3] = param_2[2]" (subscript_expression "puVar4[3]" identifier [ number_literal ]) = (subscript_expression "param_2[2]" identifier [ number_literal ])) ;) (expression_statement "uVar6 = uVar7 % *(ulong *)(param_1 + 8);" (assignment_expression "uVar6 = uVar7 % *(ulong *)(param_1 + 8)" identifier = (binary_expression "uVar7 % *(ulong *)(param_1 + 8)" identifier % (pointer_expression "*(ulong *)(param_1 + 8)" * (cast_expression "(ulong *)(param_1 + 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))))) ;) (expression_statement "puVar5 = (ulong *)FUN_002e7560(param_1,uVar6,puVar4 + 1,uVar7);" (assignment_expression "puVar5 = (ulong *)FUN_002e7560(param_1,uVar6,puVar4 + 1,uVar7)" identifier = (cast_expression "(ulong *)FUN_002e7560(param_1,uVar6,puVar4 + 1,uVar7)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002e7560(param_1,uVar6,puVar4 + 1,uVar7)" identifier (argument_list "(param_1,uVar6,puVar4 + 1,uVar7)" ( identifier , identifier , (binary_expression "puVar4 + 1" identifier + number_literal) , identifier ))))) ;) (if_statement "if ((puVar5 != (ulong *)0x0) && (uVar1 = *puVar5, uVar1 != 0)) {\n    FUN_00338a40(puVar4);\n    auVar8._8_8_ = 0;\n    auVar8._0_8_ = uVar1;\n    return auVar8;\n  }" if (parenthesized_expression "((puVar5 != (ulong *)0x0) && (uVar1 = *puVar5, uVar1 != 0))" ( (binary_expression "(puVar5 != (ulong *)0x0) && (uVar1 = *puVar5, uVar1 != 0)" (parenthesized_expression "(puVar5 != (ulong *)0x0)" ( (binary_expression "puVar5 != (ulong *)0x0" identifier != (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(uVar1 = *puVar5, uVar1 != 0)" ( (comma_expression "uVar1 = *puVar5, uVar1 != 0" (assignment_expression "uVar1 = *puVar5" identifier = (pointer_expression "*puVar5" * identifier)) , (binary_expression "uVar1 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n    FUN_00338a40(puVar4);\n    auVar8._8_8_ = 0;\n    auVar8._0_8_ = uVar1;\n    return auVar8;\n  }" { (expression_statement "FUN_00338a40(puVar4);" (call_expression "FUN_00338a40(puVar4)" identifier (argument_list "(puVar4)" ( identifier ))) ;) (expression_statement "auVar8._8_8_ = 0;" (assignment_expression "auVar8._8_8_ = 0" (field_expression "auVar8._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar8._0_8_ = uVar1;" (assignment_expression "auVar8._0_8_ = uVar1" (field_expression "auVar8._0_8_" identifier . field_identifier) = identifier) ;) (return_statement "return auVar8;" return identifier ;) })) (expression_statement "auVar9._0_8_ = FUN_002e8310(param_1,uVar6,uVar7,puVar4,1);" (assignment_expression "auVar9._0_8_ = FUN_002e8310(param_1,uVar6,uVar7,puVar4,1)" (field_expression "auVar9._0_8_" identifier . field_identifier) = (call_expression "FUN_002e8310(param_1,uVar6,uVar7,puVar4,1)" identifier (argument_list "(param_1,uVar6,uVar7,puVar4,1)" ( identifier , identifier , identifier , identifier , number_literal )))) ;) (expression_statement "auVar9._8_8_ = 1;" (assignment_expression "auVar9._8_8_ = 1" (field_expression "auVar9._8_8_" identifier . field_identifier) = number_literal) ;) (return_statement "return auVar9;" return identifier ;) }))
(translation_unit "/* DWARF original name: _M_emplace<std::pair<std::pair<long unsigned int, long unsigned int>,\n   gold::Symbol*> >\n   DWARF original prototype:\n   pair<std::__detail::_Node_iterator<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>,_false,_true>,_bool>\n   _M_emplace<std::pair<std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>(_Hashtable<std::pair<long_unsigned_int,_long_unsigned_int>,_std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>,_std::__detail::_Select1st,_gold::Symbol_table::Symbol_table_eq,_gold::Symbol_table::Symbol_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n   * this, true_type param_2, pair<std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*> *\n   __args#0) */\n\npair<std::__detail::_Node_iterator<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>,_false,_true>,_bool>\n __thiscall\nstd::\n_Hashtable<std::pair<long_unsigned_int,_long_unsigned_int>,_std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>,_std::__detail::_Select1st,_gold::Symbol_table::Symbol_table_eq,_gold::Symbol_table::Symbol_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n::_M_emplace<std::pair<std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n          (_Hashtable<std::pair<long_unsigned_int,_long_unsigned_int>,_std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>,_std::__detail::_Select1st,_gold::Symbol_table::Symbol_table_eq,_gold::Symbol_table::Symbol_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n           *this,anon_struct_8_0_00000001_for___align *param_2)\n\n{\n  _Hash_node_base *p_Var1;\n  anon_struct_8_0_00000001_for___align aVar2;\n  anon_struct_8_0_00000001_for___align aVar3;\n  __node_type *__node;\n  __node_base *p_Var4;\n  ulong __n;\n  ulong __code;\n  pair<std::__detail::_Node_iterator<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>,_false,_true>,_bool>\n  pVar5;\n  pair<std::__detail::_Node_iterator<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>,_false,_true>,_bool>\n  pVar6;\n  \n  __node = (__node_type *)operator_new(0x28);\n  aVar2 = *param_2;\n  aVar3 = param_2[1];\n  (__node->\n  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n  ).super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;\n  (__node->\n  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n  )._M_storage._M_storage.__align = aVar2;\n  *(anon_struct_8_0_00000001_for___align *)\n   ((long)&(__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n           )._M_storage._M_storage + 8) = aVar3;\n  __code = *(ulong *)((long)&(__node->\n                             super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n                             )._M_storage._M_storage + 8) ^\n           (ulong)(__node->\n                  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n                  )._M_storage._M_storage.__align;\n  *(anon_struct_8_0_00000001_for___align *)\n   ((long)&(__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n           )._M_storage._M_storage + 0x10) = param_2[2];\n  __n = __code % this->_M_bucket_count;\n  p_Var4 = _M_find_before_node(this,__n,(key_type *)\n                                        &(__node->\n                                         super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n                                         )._M_storage,__code);\n  if ((p_Var4 != (__node_base *)0x0) && (p_Var1 = p_Var4->_M_nxt, p_Var1 != (_Hash_node_base *)0x0))\n  {\n    operator_delete(__node);\n    pVar5._8_8_ = 0;\n    pVar5.first.\n    super__Node_iterator_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>,_true>\n    ._M_cur = (_Node_iterator_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>,_true>\n               )(_Node_iterator_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>,_true>\n                 )p_Var1;\n    return pVar5;\n  }\n  pVar6.first.\n  super__Node_iterator_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>,_true>\n  ._M_cur = _M_insert_unique_node(this,__n,__code,__node,1);\n  pVar6._8_8_ = 1;\n  return pVar6;\n}\n\n" comment (ERROR "pair<std::" (binary_expression "pair<std" identifier < identifier) : :) (labeled_statement "__detail::_Node_iterator<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>,_false,_true>,_bool>\n __thiscall" statement_identifier (ERROR "::_Node_iterator<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold:" : : (binary_expression "_Node_iterator<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "pair<long_unsigned_int,_long_unsigned_int>,_gold" (binary_expression "pair<long_unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>,_gold" identifier > (ERROR "," ,) identifier)) :) : (expression_statement "Symbol*>,_false,_true>,_bool>\n __thiscall" (comma_expression "Symbol*>,_false,_true>,_bool>\n __thiscall" (binary_expression "Symbol*>,_false" identifier * (ERROR ">," > ,) identifier) , (binary_expression "_true>,_bool>\n __thiscall" (binary_expression "_true>,_bool" identifier > (ERROR "," ,) identifier) > identifier)) ;)) (ERROR "std::\n_Hashtable<std::pair<long_unsigned_int,_long_unsigned_int>,_std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>,_std::__detail::_Select1st,_gold::Symbol_table::Symbol_table_eq,_gold::Symbol_table::Symbol_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n::_M_emplace<std::pair<std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n          (_Hashtable<std::pair<long_unsigned_int,_long_unsigned_int>,_std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>,_std::__detail::_Select1st,_gold::Symbol_table::Symbol_table_eq,_gold::Symbol_table::Symbol_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n           *this,anon_struct_8_0_00000001_for___align *param_2)" (binary_expression "std::\n_Hashtable<std::pair<long_unsigned_int,_long_unsigned_int>,_std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>,_std" (binary_expression "std::\n_Hashtable<std::pair<long_unsigned_int,_long_unsigned_int>,_std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_" identifier (ERROR "::\n_Hashtable<std::pair<long_unsigned_int,_long_unsigned_int>,_std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*" : : (binary_expression "_Hashtable<std" identifier < identifier) : : (comma_expression "pair<long_unsigned_int,_long_unsigned_int>,_std" (binary_expression "pair<long_unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "pair<long_unsigned_int,_long_unsigned_int>,_gold" (binary_expression "pair<long_unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>,_gold" identifier > (ERROR "," ,) identifier)) : : (comma_expression "Symbol*>,_std" identifier (ERROR "*>" * >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "pair<long_unsigned_int,_long_unsigned_int>,_gold" (binary_expression "pair<long_unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>,_gold" identifier > (ERROR "," ,) identifier)) : : identifier *) > identifier) > (ERROR "," ,) identifier) : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : : identifier < true , identifier , (binary_expression "_true>_>\n::_M_emplace<std" (binary_expression "_true>_>\n::_M_emplace" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) identifier) < identifier) : : (binary_expression "pair<std" identifier < identifier) : : (binary_expression "pair<long_unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>,_gold" identifier > (ERROR "," ,) identifier) : : (binary_expression "Symbol*>_>\n          (_Hashtable<std::pair<long_unsigned_int,_long_unsigned_int>,_std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>,_std::__detail::_Select1st,_gold::Symbol_table::Symbol_table_eq,_gold::Symbol_table::Symbol_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n           *this,anon_struct_8_0_00000001_for___align *param_2)" (binary_expression "Symbol*>_" identifier * (ERROR ">" >) identifier) > (parenthesized_expression "(_Hashtable<std::pair<long_unsigned_int,_long_unsigned_int>,_std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>,_std::__detail::_Select1st,_gold::Symbol_table::Symbol_table_eq,_gold::Symbol_table::Symbol_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n           *this,anon_struct_8_0_00000001_for___align *param_2)" ( (ERROR "_Hashtable<std::pair<long_unsigned_int,_long_unsigned_int>,_std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>,_std::__detail::_Select1st,_gold::Symbol_table::Symbol_table_eq,_gold::Symbol_table::Symbol_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (comma_expression "_Hashtable<std::pair<long_unsigned_int,_long_unsigned_int>,_std" (binary_expression "_Hashtable<std::pair<long_unsigned_int" (binary_expression "_Hashtable<std" identifier < identifier) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_long_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "pair<long_unsigned_int,_long_unsigned_int>,_gold" (binary_expression "pair<long_unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>,_gold" identifier > (ERROR "," ,) identifier)) : : (comma_expression "Symbol*>,_std" identifier (ERROR "*>" * >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "pair<long_unsigned_int,_long_unsigned_int>,_gold" (binary_expression "pair<long_unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>,_gold" identifier > (ERROR "," ,) identifier)) : : (binary_expression "Symbol*>_>,_std" (binary_expression "Symbol*>_" identifier * (ERROR ">" >) identifier) > (ERROR "," ,) identifier) : : identifier : : (comma_expression "_Select1st,_gold" identifier , identifier) : : identifier : : (comma_expression "Symbol_table_eq,_gold" identifier , identifier) : : identifier : : (comma_expression "Symbol_table_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,_false,_true>_>\n           *this,anon_struct_8_0_00000001_for___align *param_2" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_false,_true>_>\n           *this,anon_struct_8_0_00000001_for___align *param_2" identifier , (comma_expression "_true>_>\n           *this,anon_struct_8_0_00000001_for___align *param_2" (binary_expression "_true>_>\n           *this" (binary_expression "_true>_" identifier > identifier) > (pointer_expression "*this" * identifier)) , (binary_expression "anon_struct_8_0_00000001_for___align *param_2" identifier * identifier)))) )))) (compound_statement "{\n  _Hash_node_base *p_Var1;\n  anon_struct_8_0_00000001_for___align aVar2;\n  anon_struct_8_0_00000001_for___align aVar3;\n  __node_type *__node;\n  __node_base *p_Var4;\n  ulong __n;\n  ulong __code;\n  pair<std::__detail::_Node_iterator<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>,_false,_true>,_bool>\n  pVar5;\n  pair<std::__detail::_Node_iterator<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>,_false,_true>,_bool>\n  pVar6;\n  \n  __node = (__node_type *)operator_new(0x28);\n  aVar2 = *param_2;\n  aVar3 = param_2[1];\n  (__node->\n  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n  ).super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;\n  (__node->\n  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n  )._M_storage._M_storage.__align = aVar2;\n  *(anon_struct_8_0_00000001_for___align *)\n   ((long)&(__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n           )._M_storage._M_storage + 8) = aVar3;\n  __code = *(ulong *)((long)&(__node->\n                             super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n                             )._M_storage._M_storage + 8) ^\n           (ulong)(__node->\n                  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n                  )._M_storage._M_storage.__align;\n  *(anon_struct_8_0_00000001_for___align *)\n   ((long)&(__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n           )._M_storage._M_storage + 0x10) = param_2[2];\n  __n = __code % this->_M_bucket_count;\n  p_Var4 = _M_find_before_node(this,__n,(key_type *)\n                                        &(__node->\n                                         super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n                                         )._M_storage,__code);\n  if ((p_Var4 != (__node_base *)0x0) && (p_Var1 = p_Var4->_M_nxt, p_Var1 != (_Hash_node_base *)0x0))\n  {\n    operator_delete(__node);\n    pVar5._8_8_ = 0;\n    pVar5.first.\n    super__Node_iterator_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>,_true>\n    ._M_cur = (_Node_iterator_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>,_true>\n               )(_Node_iterator_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>,_true>\n                 )p_Var1;\n    return pVar5;\n  }\n  pVar6.first.\n  super__Node_iterator_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>,_true>\n  ._M_cur = _M_insert_unique_node(this,__n,__code,__node,1);\n  pVar6._8_8_ = 1;\n  return pVar6;\n}" { (declaration "_Hash_node_base *p_Var1;" type_identifier (pointer_declarator "*p_Var1" * identifier) ;) (declaration "anon_struct_8_0_00000001_for___align aVar2;" type_identifier identifier ;) (declaration "anon_struct_8_0_00000001_for___align aVar3;" type_identifier identifier ;) (declaration "__node_type *__node;" type_identifier (pointer_declarator "*__node" * identifier) ;) (declaration "__node_base *p_Var4;" type_identifier (pointer_declarator "*p_Var4" * identifier) ;) (declaration "ulong __n;" type_identifier identifier ;) (declaration "ulong __code;" type_identifier identifier ;) (ERROR "pair<std::" (binary_expression "pair<std" identifier < identifier) : :) (labeled_statement "__detail::_Node_iterator<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>,_false,_true>,_bool>\n  pVar5;" statement_identifier (ERROR "::_Node_iterator<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold:" : : (binary_expression "_Node_iterator<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "pair<long_unsigned_int,_long_unsigned_int>,_gold" (binary_expression "pair<long_unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>,_gold" identifier > (ERROR "," ,) identifier)) :) : (expression_statement "Symbol*>,_false,_true>,_bool>\n  pVar5;" (comma_expression "Symbol*>,_false,_true>,_bool>\n  pVar5" (binary_expression "Symbol*>,_false" identifier * (ERROR ">," > ,) identifier) , (binary_expression "_true>,_bool>\n  pVar5" (binary_expression "_true>,_bool" identifier > (ERROR "," ,) identifier) > identifier)) ;)) (ERROR "pair<std::" (binary_expression "pair<std" identifier < identifier) : :) (labeled_statement "__detail::_Node_iterator<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>,_false,_true>,_bool>\n  pVar6;" statement_identifier (ERROR "::_Node_iterator<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold:" : : (binary_expression "_Node_iterator<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "pair<long_unsigned_int,_long_unsigned_int>,_gold" (binary_expression "pair<long_unsigned_int" identifier < identifier) , (binary_expression "_long_unsigned_int>,_gold" identifier > (ERROR "," ,) identifier)) :) : (expression_statement "Symbol*>,_false,_true>,_bool>\n  pVar6;" (comma_expression "Symbol*>,_false,_true>,_bool>\n  pVar6" (binary_expression "Symbol*>,_false" identifier * (ERROR ">," > ,) identifier) , (binary_expression "_true>,_bool>\n  pVar6" (binary_expression "_true>,_bool" identifier > (ERROR "," ,) identifier) > identifier)) ;)) (expression_statement "__node = (__node_type *)operator_new(0x28);" (assignment_expression "__node = (__node_type *)operator_new(0x28)" identifier = (cast_expression "(__node_type *)operator_new(0x28)" ( (type_descriptor "__node_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0x28)" identifier (argument_list "(0x28)" ( number_literal ))))) ;) (expression_statement "aVar2 = *param_2;" (assignment_expression "aVar2 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "aVar3 = param_2[1];" (assignment_expression "aVar3 = param_2[1]" identifier = (subscript_expression "param_2[1]" identifier [ number_literal ])) ;) (expression_statement "(__node->\n  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n  ).super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;" (assignment_expression "(__node->\n  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n  ).super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0" (field_expression "(__node->\n  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n  ).super__Hash_node_base._M_nxt" (field_expression "(__node->\n  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n  ).super__Hash_node_base" (parenthesized_expression "(__node->\n  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n  )" ( (comma_expression "__node->\n  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold" (binary_expression "__node->\n  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int" (binary_expression "__node->\n  super__Hash_node_value_base<std::pair<const_std" (binary_expression "__node->\n  super__Hash_node_value_base<std" (field_expression "__node->\n  super__Hash_node_value_base" identifier -> field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_long_unsigned_int>,_gold" identifier > (ERROR "," ,) identifier)) (ERROR "::Symbol*>_>" : : identifier * > identifier >) )) . field_identifier) . field_identifier) = (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(__node->\n  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n  )._M_storage._M_storage.__align = aVar2;" (assignment_expression "(__node->\n  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n  )._M_storage._M_storage.__align = aVar2" (field_expression "(__node->\n  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n  )._M_storage._M_storage.__align" (field_expression "(__node->\n  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n  )._M_storage._M_storage" (field_expression "(__node->\n  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n  )._M_storage" (parenthesized_expression "(__node->\n  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n  )" ( (comma_expression "__node->\n  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold" (binary_expression "__node->\n  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int" (binary_expression "__node->\n  super__Hash_node_value_base<std::pair<const_std" (binary_expression "__node->\n  super__Hash_node_value_base<std" (field_expression "__node->\n  super__Hash_node_value_base" identifier -> field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_long_unsigned_int>,_gold" identifier > (ERROR "," ,) identifier)) (ERROR "::Symbol*>_>" : : identifier * > identifier >) )) . field_identifier) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "*(anon_struct_8_0_00000001_for___align *)\n   ((long)&(__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n           )._M_storage._M_storage + 8) = aVar3;" (assignment_expression "*(anon_struct_8_0_00000001_for___align *)\n   ((long)&(__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n           )._M_storage._M_storage + 8) = aVar3" (pointer_expression "*(anon_struct_8_0_00000001_for___align *)\n   ((long)&(__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n           )._M_storage._M_storage + 8)" * (cast_expression "(anon_struct_8_0_00000001_for___align *)\n   ((long)&(__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n           )._M_storage._M_storage + 8)" ( (type_descriptor "anon_struct_8_0_00000001_for___align *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&(__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n           )._M_storage._M_storage + 8)" ( (binary_expression "(long)&(__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n           )._M_storage._M_storage + 8" (cast_expression "(long)&(__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n           )._M_storage._M_storage" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&(__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n           )._M_storage._M_storage" & (field_expression "(__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n           )._M_storage._M_storage" (field_expression "(__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n           )._M_storage" (parenthesized_expression "(__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n           )" ( (comma_expression "__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold" (binary_expression "__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int" (binary_expression "__node->\n           super__Hash_node_value_base<std::pair<const_std" (binary_expression "__node->\n           super__Hash_node_value_base<std" (field_expression "__node->\n           super__Hash_node_value_base" identifier -> field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_long_unsigned_int>,_gold" identifier > (ERROR "," ,) identifier)) (ERROR "::Symbol*>_>" : : identifier * > identifier >) )) . field_identifier) . field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "__code = *(ulong *)((long)&(__node->\n                             super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n                             )._M_storage._M_storage + 8) ^\n           (ulong)(__node->\n                  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n                  )._M_storage._M_storage.__align;" (assignment_expression "__code = *(ulong *)((long)&(__node->\n                             super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n                             )._M_storage._M_storage + 8) ^\n           (ulong)(__node->\n                  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n                  )._M_storage._M_storage.__align" identifier = (binary_expression "*(ulong *)((long)&(__node->\n                             super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n                             )._M_storage._M_storage + 8) ^\n           (ulong)(__node->\n                  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n                  )._M_storage._M_storage.__align" (pointer_expression "*(ulong *)((long)&(__node->\n                             super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n                             )._M_storage._M_storage + 8)" * (cast_expression "(ulong *)((long)&(__node->\n                             super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n                             )._M_storage._M_storage + 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&(__node->\n                             super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n                             )._M_storage._M_storage + 8)" ( (binary_expression "(long)&(__node->\n                             super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n                             )._M_storage._M_storage + 8" (cast_expression "(long)&(__node->\n                             super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n                             )._M_storage._M_storage" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&(__node->\n                             super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n                             )._M_storage._M_storage" & (field_expression "(__node->\n                             super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n                             )._M_storage._M_storage" (field_expression "(__node->\n                             super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n                             )._M_storage" (parenthesized_expression "(__node->\n                             super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n                             )" ( (comma_expression "__node->\n                             super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold" (binary_expression "__node->\n                             super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int" (binary_expression "__node->\n                             super__Hash_node_value_base<std::pair<const_std" (binary_expression "__node->\n                             super__Hash_node_value_base<std" (field_expression "__node->\n                             super__Hash_node_value_base" identifier -> field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_long_unsigned_int>,_gold" identifier > (ERROR "," ,) identifier)) (ERROR "::Symbol*>_>" : : identifier * > identifier >) )) . field_identifier) . field_identifier))) + number_literal) )))) ^ (field_expression "(ulong)(__node->\n                  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n                  )._M_storage._M_storage.__align" (field_expression "(ulong)(__node->\n                  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n                  )._M_storage._M_storage" (field_expression "(ulong)(__node->\n                  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n                  )._M_storage" (call_expression "(ulong)(__node->\n                  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n                  )" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(__node->\n                  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n                  )" ( (binary_expression "__node->\n                  super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int" (binary_expression "__node->\n                  super__Hash_node_value_base<std::pair<const_std" (binary_expression "__node->\n                  super__Hash_node_value_base<std" (field_expression "__node->\n                  super__Hash_node_value_base" identifier -> field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) , identifier (ERROR ">" >) , (ERROR "_gold::" identifier : :) (binary_expression "Symbol*>_" identifier * (ERROR ">" >) identifier) (ERROR ">" >) ))) . field_identifier) . field_identifier) . field_identifier))) ;) (expression_statement "*(anon_struct_8_0_00000001_for___align *)\n   ((long)&(__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n           )._M_storage._M_storage + 0x10) = param_2[2];" (assignment_expression "*(anon_struct_8_0_00000001_for___align *)\n   ((long)&(__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n           )._M_storage._M_storage + 0x10) = param_2[2]" (pointer_expression "*(anon_struct_8_0_00000001_for___align *)\n   ((long)&(__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n           )._M_storage._M_storage + 0x10)" * (cast_expression "(anon_struct_8_0_00000001_for___align *)\n   ((long)&(__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n           )._M_storage._M_storage + 0x10)" ( (type_descriptor "anon_struct_8_0_00000001_for___align *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&(__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n           )._M_storage._M_storage + 0x10)" ( (binary_expression "(long)&(__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n           )._M_storage._M_storage + 0x10" (cast_expression "(long)&(__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n           )._M_storage._M_storage" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&(__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n           )._M_storage._M_storage" & (field_expression "(__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n           )._M_storage._M_storage" (field_expression "(__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n           )._M_storage" (parenthesized_expression "(__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n           )" ( (comma_expression "__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold" (binary_expression "__node->\n           super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int" (binary_expression "__node->\n           super__Hash_node_value_base<std::pair<const_std" (binary_expression "__node->\n           super__Hash_node_value_base<std" (field_expression "__node->\n           super__Hash_node_value_base" identifier -> field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_long_unsigned_int>,_gold" identifier > (ERROR "," ,) identifier)) (ERROR "::Symbol*>_>" : : identifier * > identifier >) )) . field_identifier) . field_identifier))) + number_literal) )))) = (subscript_expression "param_2[2]" identifier [ number_literal ])) ;) (expression_statement "__n = __code % this->_M_bucket_count;" (assignment_expression "__n = __code % this->_M_bucket_count" identifier = (binary_expression "__code % this->_M_bucket_count" identifier % (field_expression "this->_M_bucket_count" identifier -> field_identifier))) ;) (expression_statement "p_Var4 = _M_find_before_node(this,__n,(key_type *)\n                                        &(__node->\n                                         super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n                                         )._M_storage,__code);" (assignment_expression "p_Var4 = _M_find_before_node(this,__n,(key_type *)\n                                        &(__node->\n                                         super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n                                         )._M_storage,__code)" identifier = (call_expression "_M_find_before_node(this,__n,(key_type *)\n                                        &(__node->\n                                         super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n                                         )._M_storage,__code)" identifier (argument_list "(this,__n,(key_type *)\n                                        &(__node->\n                                         super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n                                         )._M_storage,__code)" ( identifier , identifier , (cast_expression "(key_type *)\n                                        &(__node->\n                                         super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n                                         )._M_storage" ( (type_descriptor "key_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(__node->\n                                         super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n                                         )._M_storage" & (field_expression "(__node->\n                                         super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n                                         )._M_storage" (parenthesized_expression "(__node->\n                                         super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>\n                                         )" ( (comma_expression "__node->\n                                         super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold" (binary_expression "__node->\n                                         super__Hash_node_value_base<std::pair<const_std::pair<long_unsigned_int" (binary_expression "__node->\n                                         super__Hash_node_value_base<std::pair<const_std" (binary_expression "__node->\n                                         super__Hash_node_value_base<std" (field_expression "__node->\n                                         super__Hash_node_value_base" identifier -> field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_long_unsigned_int>,_gold" identifier > (ERROR "," ,) identifier)) (ERROR "::Symbol*>_>" : : identifier * > identifier >) )) . field_identifier))) , identifier )))) ;) (if_statement "if ((p_Var4 != (__node_base *)0x0) && (p_Var1 = p_Var4->_M_nxt, p_Var1 != (_Hash_node_base *)0x0))\n  {\n    operator_delete(__node);\n    pVar5._8_8_ = 0;\n    pVar5.first.\n    super__Node_iterator_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>,_true>\n    ._M_cur = (_Node_iterator_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>,_true>\n               )(_Node_iterator_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>,_true>\n                 )p_Var1;\n    return pVar5;\n  }" if (parenthesized_expression "((p_Var4 != (__node_base *)0x0) && (p_Var1 = p_Var4->_M_nxt, p_Var1 != (_Hash_node_base *)0x0))" ( (binary_expression "(p_Var4 != (__node_base *)0x0) && (p_Var1 = p_Var4->_M_nxt, p_Var1 != (_Hash_node_base *)0x0)" (parenthesized_expression "(p_Var4 != (__node_base *)0x0)" ( (binary_expression "p_Var4 != (__node_base *)0x0" identifier != (cast_expression "(__node_base *)0x0" ( (type_descriptor "__node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(p_Var1 = p_Var4->_M_nxt, p_Var1 != (_Hash_node_base *)0x0)" ( (comma_expression "p_Var1 = p_Var4->_M_nxt, p_Var1 != (_Hash_node_base *)0x0" (assignment_expression "p_Var1 = p_Var4->_M_nxt" identifier = (field_expression "p_Var4->_M_nxt" identifier -> field_identifier)) , (binary_expression "p_Var1 != (_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(__node);\n    pVar5._8_8_ = 0;\n    pVar5.first.\n    super__Node_iterator_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>,_true>\n    ._M_cur = (_Node_iterator_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>,_true>\n               )(_Node_iterator_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>,_true>\n                 )p_Var1;\n    return pVar5;\n  }" { (expression_statement "operator_delete(__node);" (call_expression "operator_delete(__node)" identifier (argument_list "(__node)" ( identifier ))) ;) (expression_statement "pVar5._8_8_ = 0;" (assignment_expression "pVar5._8_8_ = 0" (field_expression "pVar5._8_8_" identifier . field_identifier) = number_literal) ;) (ERROR "pVar5.first.\n    super__Node_iterator_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>,_true>\n    ." (comma_expression "pVar5.first.\n    super__Node_iterator_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold" (binary_expression "pVar5.first.\n    super__Node_iterator_base<std::pair<const_std::pair<long_unsigned_int" (binary_expression "pVar5.first.\n    super__Node_iterator_base<std::pair<const_std" (binary_expression "pVar5.first.\n    super__Node_iterator_base<std" (field_expression "pVar5.first.\n    super__Node_iterator_base" (field_expression "pVar5.first" identifier . field_identifier) . field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_long_unsigned_int>,_gold" identifier > (ERROR "," ,) identifier)) : : identifier * > , identifier > .) (expression_statement "_M_cur = (_Node_iterator_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>,_true>\n               )(_Node_iterator_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>,_true>\n                 )p_Var1;" (assignment_expression "_M_cur = (_Node_iterator_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>,_true>\n               )(_Node_iterator_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>,_true>\n                 )p_Var1" identifier = (call_expression "(_Node_iterator_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>,_true>\n               )(_Node_iterator_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>,_true>\n                 )p_Var1" (parenthesized_expression "(_Node_iterator_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>,_true>\n               )" ( (ERROR "_Node_iterator_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::" (comma_expression "_Node_iterator_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold" (binary_expression "_Node_iterator_base<std::pair<const_std::pair<long_unsigned_int" (binary_expression "_Node_iterator_base<std::pair<const_std" (binary_expression "_Node_iterator_base<std" identifier < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_long_unsigned_int>,_gold" identifier > (ERROR "," ,) identifier)) : :) (binary_expression "Symbol*>,_true>" (binary_expression "Symbol*>,_true" (binary_expression "Symbol*" identifier * identifier) > (ERROR "," ,) identifier) > identifier) )) (argument_list "(_Node_iterator_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>,_true>\n                 )p_Var1" ( (binary_expression "_Node_iterator_base<std::pair<const_std::pair<long_unsigned_int" (binary_expression "_Node_iterator_base<std::pair<const_std" (binary_expression "_Node_iterator_base<std" identifier < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) , identifier (ERROR ">" >) , (ERROR "_gold::" identifier : :) (binary_expression "Symbol*>,_true>\n                 )p_Var1" (binary_expression "Symbol*>,_true" identifier * (ERROR ">," > ,) identifier) > (ERROR ")" )) identifier) )))) ;) (return_statement "return pVar5;" return identifier ;) })) (ERROR "pVar6.first.\n  super__Node_iterator_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>,_true>\n  ." (comma_expression "pVar6.first.\n  super__Node_iterator_base<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold" (binary_expression "pVar6.first.\n  super__Node_iterator_base<std::pair<const_std::pair<long_unsigned_int" (binary_expression "pVar6.first.\n  super__Node_iterator_base<std::pair<const_std" (binary_expression "pVar6.first.\n  super__Node_iterator_base<std" (field_expression "pVar6.first.\n  super__Node_iterator_base" (field_expression "pVar6.first" identifier . field_identifier) . field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_long_unsigned_int>,_gold" identifier > (ERROR "," ,) identifier)) : : identifier * > , identifier > .) (expression_statement "_M_cur = _M_insert_unique_node(this,__n,__code,__node,1);" (assignment_expression "_M_cur = _M_insert_unique_node(this,__n,__code,__node,1)" identifier = (call_expression "_M_insert_unique_node(this,__n,__code,__node,1)" identifier (argument_list "(this,__n,__code,__node,1)" ( identifier , identifier , identifier , identifier , number_literal )))) ;) (expression_statement "pVar6._8_8_ = 1;" (assignment_expression "pVar6._8_8_ = 1" (field_expression "pVar6._8_8_" identifier . field_identifier) = number_literal) ;) (return_statement "return pVar6;" return identifier ;) }))
(translation_unit "undefined1  [16] FUN_002e8400(long param_1,undefined8 *param_2)\n\n{\n  ulong uVar1;\n  undefined8 uVar2;\n  undefined8 uVar3;\n  undefined8 *puVar4;\n  ulong *puVar5;\n  ulong uVar6;\n  ulong uVar7;\n  undefined1 auVar8 [16];\n  undefined1 auVar9 [16];\n  \n  puVar4 = (undefined8 *)FUN_00337270(0x28);\n  uVar2 = *param_2;\n  uVar3 = param_2[1];\n  *puVar4 = 0;\n  puVar4[1] = uVar2;\n  puVar4[2] = uVar3;\n  uVar7 = puVar4[2] ^ puVar4[1];\n  puVar4[3] = param_2[2];\n  uVar6 = uVar7 % *(ulong *)(param_1 + 8);\n  puVar5 = (ulong *)FUN_002e7560(param_1,uVar6,puVar4 + 1,uVar7);\n  if ((puVar5 != (ulong *)0x0) && (uVar1 = *puVar5, uVar1 != 0)) {\n    FUN_00338a40(puVar4);\n    auVar8._8_8_ = 0;\n    auVar8._0_8_ = uVar1;\n    return auVar8;\n  }\n  auVar9._0_8_ = FUN_002e8310(param_1,uVar6,uVar7,puVar4,1);\n  auVar9._8_8_ = 1;\n  return auVar9;\n}\n\n" (expression_statement "undefined1  [16]" (subscript_expression "undefined1  [16]" identifier [ number_literal ]) ;) (macro_type_specifier "FUN_002e8400(long param_1,undefined8 *param_2)" identifier ( (ERROR "long param_1,undefined8 *" (type_descriptor "long param_1" (sized_type_specifier "long param_1" long type_identifier)) , (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *))) (type_descriptor "param_2" type_identifier) )) ; (compound_statement "{\n  ulong uVar1;\n  undefined8 uVar2;\n  undefined8 uVar3;\n  undefined8 *puVar4;\n  ulong *puVar5;\n  ulong uVar6;\n  ulong uVar7;\n  undefined1 auVar8 [16];\n  undefined1 auVar9 [16];\n  \n  puVar4 = (undefined8 *)FUN_00337270(0x28);\n  uVar2 = *param_2;\n  uVar3 = param_2[1];\n  *puVar4 = 0;\n  puVar4[1] = uVar2;\n  puVar4[2] = uVar3;\n  uVar7 = puVar4[2] ^ puVar4[1];\n  puVar4[3] = param_2[2];\n  uVar6 = uVar7 % *(ulong *)(param_1 + 8);\n  puVar5 = (ulong *)FUN_002e7560(param_1,uVar6,puVar4 + 1,uVar7);\n  if ((puVar5 != (ulong *)0x0) && (uVar1 = *puVar5, uVar1 != 0)) {\n    FUN_00338a40(puVar4);\n    auVar8._8_8_ = 0;\n    auVar8._0_8_ = uVar1;\n    return auVar8;\n  }\n  auVar9._0_8_ = FUN_002e8310(param_1,uVar6,uVar7,puVar4,1);\n  auVar9._8_8_ = 1;\n  return auVar9;\n}" { (declaration "ulong uVar1;" type_identifier identifier ;) (declaration "undefined8 uVar2;" type_identifier identifier ;) (declaration "undefined8 uVar3;" type_identifier identifier ;) (declaration "undefined8 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "ulong *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "ulong uVar6;" type_identifier identifier ;) (declaration "ulong uVar7;" type_identifier identifier ;) (declaration "undefined1 auVar8 [16];" type_identifier (array_declarator "auVar8 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar9 [16];" type_identifier (array_declarator "auVar9 [16]" identifier [ number_literal ]) ;) (expression_statement "puVar4 = (undefined8 *)FUN_00337270(0x28);" (assignment_expression "puVar4 = (undefined8 *)FUN_00337270(0x28)" identifier = (cast_expression "(undefined8 *)FUN_00337270(0x28)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00337270(0x28)" identifier (argument_list "(0x28)" ( number_literal ))))) ;) (expression_statement "uVar2 = *param_2;" (assignment_expression "uVar2 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "uVar3 = param_2[1];" (assignment_expression "uVar3 = param_2[1]" identifier = (subscript_expression "param_2[1]" identifier [ number_literal ])) ;) (expression_statement "*puVar4 = 0;" (assignment_expression "*puVar4 = 0" (pointer_expression "*puVar4" * identifier) = number_literal) ;) (expression_statement "puVar4[1] = uVar2;" (assignment_expression "puVar4[1] = uVar2" (subscript_expression "puVar4[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar4[2] = uVar3;" (assignment_expression "puVar4[2] = uVar3" (subscript_expression "puVar4[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar7 = puVar4[2] ^ puVar4[1];" (assignment_expression "uVar7 = puVar4[2] ^ puVar4[1]" identifier = (binary_expression "puVar4[2] ^ puVar4[1]" (subscript_expression "puVar4[2]" identifier [ number_literal ]) ^ (subscript_expression "puVar4[1]" identifier [ number_literal ]))) ;) (expression_statement "puVar4[3] = param_2[2];" (assignment_expression "puVar4[3] = param_2[2]" (subscript_expression "puVar4[3]" identifier [ number_literal ]) = (subscript_expression "param_2[2]" identifier [ number_literal ])) ;) (expression_statement "uVar6 = uVar7 % *(ulong *)(param_1 + 8);" (assignment_expression "uVar6 = uVar7 % *(ulong *)(param_1 + 8)" identifier = (binary_expression "uVar7 % *(ulong *)(param_1 + 8)" identifier % (pointer_expression "*(ulong *)(param_1 + 8)" * (cast_expression "(ulong *)(param_1 + 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))))) ;) (expression_statement "puVar5 = (ulong *)FUN_002e7560(param_1,uVar6,puVar4 + 1,uVar7);" (assignment_expression "puVar5 = (ulong *)FUN_002e7560(param_1,uVar6,puVar4 + 1,uVar7)" identifier = (cast_expression "(ulong *)FUN_002e7560(param_1,uVar6,puVar4 + 1,uVar7)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002e7560(param_1,uVar6,puVar4 + 1,uVar7)" identifier (argument_list "(param_1,uVar6,puVar4 + 1,uVar7)" ( identifier , identifier , (binary_expression "puVar4 + 1" identifier + number_literal) , identifier ))))) ;) (if_statement "if ((puVar5 != (ulong *)0x0) && (uVar1 = *puVar5, uVar1 != 0)) {\n    FUN_00338a40(puVar4);\n    auVar8._8_8_ = 0;\n    auVar8._0_8_ = uVar1;\n    return auVar8;\n  }" if (parenthesized_expression "((puVar5 != (ulong *)0x0) && (uVar1 = *puVar5, uVar1 != 0))" ( (binary_expression "(puVar5 != (ulong *)0x0) && (uVar1 = *puVar5, uVar1 != 0)" (parenthesized_expression "(puVar5 != (ulong *)0x0)" ( (binary_expression "puVar5 != (ulong *)0x0" identifier != (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(uVar1 = *puVar5, uVar1 != 0)" ( (comma_expression "uVar1 = *puVar5, uVar1 != 0" (assignment_expression "uVar1 = *puVar5" identifier = (pointer_expression "*puVar5" * identifier)) , (binary_expression "uVar1 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n    FUN_00338a40(puVar4);\n    auVar8._8_8_ = 0;\n    auVar8._0_8_ = uVar1;\n    return auVar8;\n  }" { (expression_statement "FUN_00338a40(puVar4);" (call_expression "FUN_00338a40(puVar4)" identifier (argument_list "(puVar4)" ( identifier ))) ;) (expression_statement "auVar8._8_8_ = 0;" (assignment_expression "auVar8._8_8_ = 0" (field_expression "auVar8._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar8._0_8_ = uVar1;" (assignment_expression "auVar8._0_8_ = uVar1" (field_expression "auVar8._0_8_" identifier . field_identifier) = identifier) ;) (return_statement "return auVar8;" return identifier ;) })) (expression_statement "auVar9._0_8_ = FUN_002e8310(param_1,uVar6,uVar7,puVar4,1);" (assignment_expression "auVar9._0_8_ = FUN_002e8310(param_1,uVar6,uVar7,puVar4,1)" (field_expression "auVar9._0_8_" identifier . field_identifier) = (call_expression "FUN_002e8310(param_1,uVar6,uVar7,puVar4,1)" identifier (argument_list "(param_1,uVar6,uVar7,puVar4,1)" ( identifier , identifier , identifier , identifier , number_literal )))) ;) (expression_statement "auVar9._8_8_ = 1;" (assignment_expression "auVar9._8_8_ = 1" (field_expression "auVar9._8_8_" identifier . field_identifier) = number_literal) ;) (return_statement "return auVar9;" return identifier ;) }))
(translation_unit (expression_statement (subscript_expression IDENT [ LIT ]) ;) (macro_type_specifier IDENT ( (ERROR (type_descriptor (sized_type_specifier long TYPE)) , (type_descriptor TYPE (abstract_pointer_declarator *))) (type_descriptor TYPE) )) ; (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) ^ (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT % (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT , (binary_expression IDENT + LIT) , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * IDENT)) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = IDENT) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , LIT )))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (return_statement return IDENT ;) }))
(expression_statement "undefined1  [16]" (subscript_expression "undefined1  [16]" (identifier "undefined1") ([ "[") (number_literal "16") (] "]")) (; "")) (macro_type_specifier "FUN_002e8400(long param_1,undefined8 *param_2)" (identifier "FUN_002e8400") (( "(") (ERROR "long param_1,undefined8 *" (type_descriptor "long param_1" (sized_type_specifier "long param_1" (long "long") (type_identifier "param_1"))) (, ",") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*")))) (type_descriptor "param_2" (type_identifier "param_2")) () ")")) (; "") (compound_statement "{\n  ulong uVar1;\n  undefined8 uVar2;\n  undefined8 uVar3;\n  undefined8 *puVar4;\n  ulong *puVar5;\n  ulong uVar6;\n  ulong uVar7;\n  undefined1 auVar8 [16];\n  undefined1 auVar9 [16];\n  \n  puVar4 = (undefined8 *)FUN_00337270(0x28);\n  uVar2 = *param_2;\n  uVar3 = param_2[1];\n  *puVar4 = 0;\n  puVar4[1] = uVar2;\n  puVar4[2] = uVar3;\n  uVar7 = puVar4[2] ^ puVar4[1];\n  puVar4[3] = param_2[2];\n  uVar6 = uVar7 % *(ulong *)(param_1 + 8);\n  puVar5 = (ulong *)FUN_002e7560(param_1,uVar6,puVar4 + 1,uVar7);\n  if ((puVar5 != (ulong *)0x0) && (uVar1 = *puVar5, uVar1 != 0)) {\n    FUN_00338a40(puVar4);\n    auVar8._8_8_ = 0;\n    auVar8._0_8_ = uVar1;\n    return auVar8;\n  }\n  auVar9._0_8_ = FUN_002e8310(param_1,uVar6,uVar7,puVar4,1);\n  auVar9._8_8_ = 1;\n  return auVar9;\n}" ({ "{") (declaration "ulong uVar1;" (type_identifier "ulong") (identifier "uVar1") (; ";")) (declaration "undefined8 uVar2;" (type_identifier "undefined8") (identifier "uVar2") (; ";")) (declaration "undefined8 uVar3;" (type_identifier "undefined8") (identifier "uVar3") (; ";")) (declaration "undefined8 *puVar4;" (type_identifier "undefined8") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "ulong *puVar5;" (type_identifier "ulong") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "ulong uVar6;" (type_identifier "ulong") (identifier "uVar6") (; ";")) (declaration "ulong uVar7;" (type_identifier "ulong") (identifier "uVar7") (; ";")) (declaration "undefined1 auVar8 [16];" (type_identifier "undefined1") (array_declarator "auVar8 [16]" (identifier "auVar8") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 auVar9 [16];" (type_identifier "undefined1") (array_declarator "auVar9 [16]" (identifier "auVar9") ([ "[") (number_literal "16") (] "]")) (; ";")) (expression_statement "puVar4 = (undefined8 *)FUN_00337270(0x28);" (assignment_expression "puVar4 = (undefined8 *)FUN_00337270(0x28)" (identifier "puVar4") (= "=") (cast_expression "(undefined8 *)FUN_00337270(0x28)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00337270(0x28)" (identifier "FUN_00337270") (argument_list "(0x28)" (( "(") (number_literal "0x28") () ")"))))) (; ";")) (expression_statement "uVar2 = *param_2;" (assignment_expression "uVar2 = *param_2" (identifier "uVar2") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (expression_statement "uVar3 = param_2[1];" (assignment_expression "uVar3 = param_2[1]" (identifier "uVar3") (= "=") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "*puVar4 = 0;" (assignment_expression "*puVar4 = 0" (pointer_expression "*puVar4" (* "*") (identifier "puVar4")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar4[1] = uVar2;" (assignment_expression "puVar4[1] = uVar2" (subscript_expression "puVar4[1]" (identifier "puVar4") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "puVar4[2] = uVar3;" (assignment_expression "puVar4[2] = uVar3" (subscript_expression "puVar4[2]" (identifier "puVar4") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "uVar3")) (; ";")) (expression_statement "uVar7 = puVar4[2] ^ puVar4[1];" (assignment_expression "uVar7 = puVar4[2] ^ puVar4[1]" (identifier "uVar7") (= "=") (binary_expression "puVar4[2] ^ puVar4[1]" (subscript_expression "puVar4[2]" (identifier "puVar4") ([ "[") (number_literal "2") (] "]")) (^ "^") (subscript_expression "puVar4[1]" (identifier "puVar4") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "puVar4[3] = param_2[2];" (assignment_expression "puVar4[3] = param_2[2]" (subscript_expression "puVar4[3]" (identifier "puVar4") ([ "[") (number_literal "3") (] "]")) (= "=") (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uVar6 = uVar7 % *(ulong *)(param_1 + 8);" (assignment_expression "uVar6 = uVar7 % *(ulong *)(param_1 + 8)" (identifier "uVar6") (= "=") (binary_expression "uVar7 % *(ulong *)(param_1 + 8)" (identifier "uVar7") (% "%") (pointer_expression "*(ulong *)(param_1 + 8)" (* "*") (cast_expression "(ulong *)(param_1 + 8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")")))))) (; ";")) (expression_statement "puVar5 = (ulong *)FUN_002e7560(param_1,uVar6,puVar4 + 1,uVar7);" (assignment_expression "puVar5 = (ulong *)FUN_002e7560(param_1,uVar6,puVar4 + 1,uVar7)" (identifier "puVar5") (= "=") (cast_expression "(ulong *)FUN_002e7560(param_1,uVar6,puVar4 + 1,uVar7)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_002e7560(param_1,uVar6,puVar4 + 1,uVar7)" (identifier "FUN_002e7560") (argument_list "(param_1,uVar6,puVar4 + 1,uVar7)" (( "(") (identifier "param_1") (, ",") (identifier "uVar6") (, ",") (binary_expression "puVar4 + 1" (identifier "puVar4") (+ "+") (number_literal "1")) (, ",") (identifier "uVar7") () ")"))))) (; ";")) (if_statement "if ((puVar5 != (ulong *)0x0) && (uVar1 = *puVar5, uVar1 != 0)) {\n    FUN_00338a40(puVar4);\n    auVar8._8_8_ = 0;\n    auVar8._0_8_ = uVar1;\n    return auVar8;\n  }" (if "if") (parenthesized_expression "((puVar5 != (ulong *)0x0) && (uVar1 = *puVar5, uVar1 != 0))" (( "(") (binary_expression "(puVar5 != (ulong *)0x0) && (uVar1 = *puVar5, uVar1 != 0)" (parenthesized_expression "(puVar5 != (ulong *)0x0)" (( "(") (binary_expression "puVar5 != (ulong *)0x0" (identifier "puVar5") (!= "!=") (cast_expression "(ulong *)0x0" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(uVar1 = *puVar5, uVar1 != 0)" (( "(") (comma_expression "uVar1 = *puVar5, uVar1 != 0" (assignment_expression "uVar1 = *puVar5" (identifier "uVar1") (= "=") (pointer_expression "*puVar5" (* "*") (identifier "puVar5"))) (, ",") (binary_expression "uVar1 != 0" (identifier "uVar1") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n    FUN_00338a40(puVar4);\n    auVar8._8_8_ = 0;\n    auVar8._0_8_ = uVar1;\n    return auVar8;\n  }" ({ "{") (expression_statement "FUN_00338a40(puVar4);" (call_expression "FUN_00338a40(puVar4)" (identifier "FUN_00338a40") (argument_list "(puVar4)" (( "(") (identifier "puVar4") () ")"))) (; ";")) (expression_statement "auVar8._8_8_ = 0;" (assignment_expression "auVar8._8_8_ = 0" (field_expression "auVar8._8_8_" (identifier "auVar8") (. ".") (field_identifier "_8_8_")) (= "=") (number_literal "0")) (; ";")) (expression_statement "auVar8._0_8_ = uVar1;" (assignment_expression "auVar8._0_8_ = uVar1" (field_expression "auVar8._0_8_" (identifier "auVar8") (. ".") (field_identifier "_0_8_")) (= "=") (identifier "uVar1")) (; ";")) (return_statement "return auVar8;" (return "return") (identifier "auVar8") (; ";")) (} "}"))) (expression_statement "auVar9._0_8_ = FUN_002e8310(param_1,uVar6,uVar7,puVar4,1);" (assignment_expression "auVar9._0_8_ = FUN_002e8310(param_1,uVar6,uVar7,puVar4,1)" (field_expression "auVar9._0_8_" (identifier "auVar9") (. ".") (field_identifier "_0_8_")) (= "=") (call_expression "FUN_002e8310(param_1,uVar6,uVar7,puVar4,1)" (identifier "FUN_002e8310") (argument_list "(param_1,uVar6,uVar7,puVar4,1)" (( "(") (identifier "param_1") (, ",") (identifier "uVar6") (, ",") (identifier "uVar7") (, ",") (identifier "puVar4") (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "auVar9._8_8_ = 1;" (assignment_expression "auVar9._8_8_ = 1" (field_expression "auVar9._8_8_" (identifier "auVar9") (. ".") (field_identifier "_8_8_")) (= "=") (number_literal "1")) (; ";")) (return_statement "return auVar9;" (return "return") (identifier "auVar9") (; ";")) (} "}"))

/* DWARF original name: _M_emplace<std::pair<std::pair<long unsigned int, long unsigned int>,
   gold::Symbol*> >
   DWARF original prototype:
   pair<std::__detail::_Node_iterator<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>,_false,_true>,_bool>
   _M_emplace<std::pair<std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>(_Hashtable<std::pair<long_unsigned_int,_long_unsigned_int>,_std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>,_std::allocator<std::pair<const_std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*>_>,_std::__detail::_Select1st,_gold::Symbol_table::Symbol_table_eq,_gold::Symbol_table::Symbol_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
   * this, true_type param_2, pair<std::pair<long_unsigned_int,_long_unsigned_int>,_gold::Symbol*> *
   __args#0) */

pair<var_9::__detail::_Node_iterator<var_9::pair<var_10::pair<var_11,var_12>,var_13::var_1*>,var_2,var_3>,var_4>
 var_5
var_9::
_Hashtable<var_9::pair<var_11,var_12>,_std::pair<var_10::pair<var_11,var_12>,var_13::var_1*>,_std::allocator<var_9::pair<var_10::pair<var_11,var_12>,var_13::var_1*>var_14>,_std::__detail::_Select1st,var_13::Symbol_table::Symbol_table_eq,var_13::Symbol_table::Symbol_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,var_2,var_3>var_14>
::_M_emplace<var_9::pair<var_9::pair<var_11,var_12>,var_13::var_1*>var_14>
          (_Hashtable<var_9::pair<var_11,var_12>,_std::pair<var_10::pair<var_11,var_12>,var_13::var_1*>,_std::allocator<var_9::pair<var_10::pair<var_11,var_12>,var_13::var_1*>var_14>,_std::__detail::_Select1st,var_13::Symbol_table::Symbol_table_eq,var_13::Symbol_table::Symbol_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,var_2,var_3>var_14>
           *this,type_2 *param_2)

{
  type_1 *var_18;
  type_2 aVar2;
  type_2 aVar3;
  type_3 *__node;
  type_4 *var_17;
  type_5 __n;
  type_5 var_15;
  pair<var_9::__detail::_Node_iterator<var_9::pair<var_10::pair<var_11,var_12>,var_13::var_1*>,var_2,var_3>,var_4>
  var_6;
  pair<var_9::__detail::_Node_iterator<var_9::pair<var_10::pair<var_11,var_12>,var_13::var_1*>,var_2,var_3>,var_4>
  var_7;
  
  __node = (type_3 *)var_8(0x28);
  aVar2 = *param_2;
  aVar3 = param_2[1];
  (__node->
  super__Hash_node_value_base<var_9::pair<var_10::pair<var_11,var_12>,var_13::var_1*>var_14>
  ).super__Hash_node_base._M_nxt = (type_1 *)0x0;
  (__node->
  super__Hash_node_value_base<var_9::pair<var_10::pair<var_11,var_12>,var_13::var_1*>var_14>
  )._M_storage._M_storage.__align = aVar2;
  *(type_2 *)
   ((long)&(__node->
           super__Hash_node_value_base<var_9::pair<var_10::pair<var_11,var_12>,var_13::var_1*>var_14>
           )._M_storage._M_storage + 8) = aVar3;
  var_15 = *(type_5 *)((long)&(__node->
                             super__Hash_node_value_base<var_9::pair<var_10::pair<var_11,var_12>,var_13::var_1*>var_14>
                             )._M_storage._M_storage + 8) ^
           (type_5)(__node->
                  super__Hash_node_value_base<var_9::pair<var_10::pair<var_11,var_12>,var_13::var_1*>var_14>
                  )._M_storage._M_storage.__align;
  *(type_2 *)
   ((long)&(__node->
           super__Hash_node_value_base<var_9::pair<var_10::pair<var_11,var_12>,var_13::var_1*>var_14>
           )._M_storage._M_storage + 0x10) = param_2[2];
  __n = var_15 % this->_M_bucket_count;
  var_17 = var_16(this,__n,(type_6 *)
                                        &(__node->
                                         super__Hash_node_value_base<var_9::pair<var_10::pair<var_11,var_12>,var_13::var_1*>var_14>
                                         )._M_storage,var_15);
  if ((var_17 != (type_4 *)0x0) && (var_18 = var_17->_M_nxt, var_18 != (type_1 *)0x0))
  {
    var_19(__node);
    var_6._8_8_ = 0;
    var_6.first.
    super__Node_iterator_base<var_9::pair<var_10::pair<var_11,var_12>,var_13::var_1*>,var_3>
    ._M_cur = (var_21<var_9::pair<var_10::pair<var_11,var_12>,var_13::var_1*var_20>,var_3>var_20
               )(var_21<var_9::pair<var_10::pair<var_11,var_12>,var_13::var_1*>,var_3>
                 )var_18;
    return var_6;
  }
  var_7.first.
  super__Node_iterator_base<var_9::pair<var_10::pair<var_11,var_12>,var_13::var_1*>,var_3>
  ._M_cur = var_22(this,__n,var_15,__node,1);
  var_7._8_8_ = 1;
  return var_7;
}


(translation_unit (expression_statement (subscript_expression argument: (identifier) index: (number_literal)) (MISSING ";")) (macro_type_specifier name: (identifier) (ERROR (type_descriptor type: (sized_type_specifier type: (type_identifier))) (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator))) type: (type_descriptor type: (type_identifier))) (MISSING ";") (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier))) (return_statement (identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier) (number_literal))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (return_statement (identifier))))

undefined1  [16] MASKED(long param_1,undefined8 *param_2)

{
  ulong uVar1;
  undefined8 uVar2;
  undefined8 uVar3;
  undefined8 *puVar4;
  ulong *puVar5;
  ulong uVar6;
  ulong uVar7;
  undefined1 auVar8 [16];
  undefined1 auVar9 [16];
  
  puVar4 = (undefined8 *)FUN_00337270(0x28);
  uVar2 = *param_2;
  uVar3 = param_2[1];
  *puVar4 = 0;
  puVar4[1] = uVar2;
  puVar4[2] = uVar3;
  uVar7 = puVar4[2] ^ puVar4[1];
  puVar4[3] = param_2[2];
  uVar6 = uVar7 % *(ulong *)(param_1 + 8);
  puVar5 = (ulong *)FUN_002e7560(param_1,uVar6,puVar4 + 1,uVar7);
  if ((puVar5 != (ulong *)0x0) && (uVar1 = *puVar5, uVar1 != 0)) {
    FUN_00338a40(puVar4);
    auVar8._8_8_ = 0;
    auVar8._0_8_ = uVar1;
    return auVar8;
  }
  auVar9._0_8_ = FUN_002e8310(param_1,uVar6,uVar7,puVar4,1);
  auVar9._8_8_ = 1;
  return auVar9;
}

