
/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* DWARF original prototype: void add_symbol_reference(Script_options * this, char * name, size_t
   length) */

void __thiscall
gold::Script_options::add_symbol_reference(Script_options *this,char *name,size_t length)

{
  uint __code;
  __node_base *p_Var1;
  undefined1 local_44 [12];
  __node_gen_type __node_gen;
  string n;
  
  if ((length != 1) || (*name != '.')) {
    n._M_dataplus._M_p = (pointer)&n.field_2;
    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
    _M_construct<char_const*>(&n,name,name + length,0);
    __code = std::_Hash_bytes(n._M_dataplus._M_p,n._M_string_length,0xc70f6907);
    p_Var1 = std::
             _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>
             ::_M_find_before_node
                       (&(this->symbol_definitions_)._M_h,
                        __code % (this->symbol_definitions_)._M_h._M_bucket_count,&n,__code);
    if ((p_Var1 == (__node_base *)0x0) || (p_Var1->_M_nxt == (_Hash_node_base *)0x0)) {
      __node_gen._M_h = (__hashtable_alloc *)&this->symbol_references_;
                    /* try { // try from 00119bc2 to 00119bc6 has its CatchHandler @ 00119bd3 */
      std::
      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>
      ::
      _M_insert<const_std::__cxx11::basic_string<char>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::__cxx11::basic_string<char>,_true>_>_>_>
                ((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>
                  *)local_44,__node_gen._M_h,&n,&__node_gen,0,1);
    }
    if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
         *)n._M_dataplus._M_p != &n.field_2) {
      operator_delete(n._M_dataplus._M_p);
    }
  }
  return;
}



/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */

void FUN_00119b10(int param_1,char *param_2,int param_3)

{
  uint uVar1;
  int *piVar2;
  undefined4 *puVar3;
  undefined4 uStack_50;
  undefined1 auStack_4c [4];
  undefined **local_48;
  undefined1 local_44 [12];
  int local_38;
  undefined1 *local_34;
  undefined4 local_30;
  undefined1 local_2c [28];
  
  local_48 = &__DT_PLTGOT;
  if ((param_3 != 1) || (*param_2 != '.')) {
    uStack_50 = 0;
    local_34 = local_2c;
    FUN_0004cf80(&local_34,param_2,param_2 + param_3);
    uVar1 = FUN_0017eca0(local_34,local_30,0xc70f6907);
    piVar2 = (int *)FUN_000b7b00(param_1 + 0x24,uVar1 % *(uint *)(param_1 + 0x28),&local_34,uVar1);
    puVar3 = (undefined4 *)auStack_4c;
    if ((piVar2 == (int *)0x0) || (*piVar2 == 0)) {
      local_38 = param_1 + 0x40;
                    /* try { // try from 00119bc2 to 00119bc6 has its CatchHandler @ 00119bd3 */
      FUN_0011c640(local_44,local_38,&local_34,&local_38,0,1);
      puVar3 = &uStack_50;
    }
    if (local_34 != local_2c) {
      *(undefined1 **)((int)puVar3 + -0x10) = local_34;
      *(undefined4 *)((int)puVar3 + -0x14) = 0x119b97;
      FUN_001807a0();
    }
  }
  return;
}


CALL 0x0004fb76
ADD EAX,0x1e84eb
PUSH EBP
MOV EBP,ESP
PUSH EDI
PUSH ESI
PUSH EBX
SUB ESP,0x3c
MOV dword ptr [EBP + -0x44],EAX
MOV EAX,dword ptr [EBP + 0x10]
MOV EDX,dword ptr [EBP + 0xc]
CMP EAX,0x1
JNZ 0x00119b36
CMP byte ptr [EDX],0x2e
JZ 0x00119b9a
ADD EAX,EDX
LEA ESI,[EBP + -0x30]
PUSH 0x0
LEA EDI,[EBP + -0x28]
PUSH EAX
PUSH EDX
PUSH ESI
MOV dword ptr [EBP + -0x30],EDI
CALL 0x0004cf80
ADD ESP,0xc
MOV EBX,dword ptr [EBP + -0x44]
PUSH 0xc70f6907
PUSH dword ptr [EBP + -0x2c]
PUSH dword ptr [EBP + -0x30]
CALL 0x0017eca0
MOV ECX,dword ptr [EBP + 0x8]
XOR EDX,EDX
PUSH EAX
PUSH ESI
DIV dword ptr [ECX + 0x28]
MOV EAX,ECX
ADD EAX,0x24
PUSH EDX
PUSH EAX
CALL 0x000b7b00
ADD ESP,0x20
TEST EAX,EAX
JZ 0x00119ba8
MOV EAX,dword ptr [EAX]
TEST EAX,EAX
JZ 0x00119ba8
MOV EAX,dword ptr [EBP + -0x30]
CMP EAX,EDI
JZ 0x00119b9a
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x44]
PUSH EAX
CALL 0x001807a0
ADD ESP,0x10
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EAX,dword ptr [EBP + 0x8]
SUB ESP,0x8
LEA EDX,[EBP + -0x40]
LEA ECX,[EBP + -0x34]
PUSH 0x1
ADD EAX,0x40
PUSH 0x0
PUSH ECX
PUSH ESI
PUSH EAX
PUSH EDX
MOV dword ptr [EBP + -0x34],EAX
CALL 0x0011c640
MOV EAX,dword ptr [EBP + -0x30]
ADD ESP,0x1c
CMP EAX,EDI
JNZ 0x00119b8b
JMP 0x00119b9a
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n\nvoid FUN_00119b10(int param_1,char *param_2,int param_3)\n\n{\n  uint uVar1;\n  int *piVar2;\n  undefined4 *puVar3;\n  undefined4 uStack_50;\n  undefined1 auStack_4c [4];\n  undefined **local_48;\n  undefined1 local_44 [12];\n  int local_38;\n  undefined1 *local_34;\n  undefined4 local_30;\n  undefined1 local_2c [28];\n  \n  local_48 = &__DT_PLTGOT;\n  if ((param_3 != 1) || (*param_2 != '.')) {\n    uStack_50 = 0;\n    local_34 = local_2c;\n    FUN_0004cf80(&local_34,param_2,param_2 + param_3);\n    uVar1 = FUN_0017eca0(local_34,local_30,0xc70f6907);\n    piVar2 = (int *)FUN_000b7b00(param_1 + 0x24,uVar1 % *(uint *)(param_1 + 0x28),&local_34,uVar1);\n    puVar3 = (undefined4 *)auStack_4c;\n    if ((piVar2 == (int *)0x0) || (*piVar2 == 0)) {\n      local_38 = param_1 + 0x40;\n                    /* try { // try from 00119bc2 to 00119bc6 has its CatchHandler @ 00119bd3 */\n      FUN_0011c640(local_44,local_38,&local_34,&local_38,0,1);\n      puVar3 = &uStack_50;\n    }\n    if (local_34 != local_2c) {\n      *(undefined1 **)((int)puVar3 + -0x10) = local_34;\n      *(undefined4 *)((int)puVar3 + -0x14) = 0x119b97;\n      FUN_001807a0();\n    }\n  }\n  return;\n}\n\n" comment (function_definition "void FUN_00119b10(int param_1,char *param_2,int param_3)\n\n{\n  uint uVar1;\n  int *piVar2;\n  undefined4 *puVar3;\n  undefined4 uStack_50;\n  undefined1 auStack_4c [4];\n  undefined **local_48;\n  undefined1 local_44 [12];\n  int local_38;\n  undefined1 *local_34;\n  undefined4 local_30;\n  undefined1 local_2c [28];\n  \n  local_48 = &__DT_PLTGOT;\n  if ((param_3 != 1) || (*param_2 != '.')) {\n    uStack_50 = 0;\n    local_34 = local_2c;\n    FUN_0004cf80(&local_34,param_2,param_2 + param_3);\n    uVar1 = FUN_0017eca0(local_34,local_30,0xc70f6907);\n    piVar2 = (int *)FUN_000b7b00(param_1 + 0x24,uVar1 % *(uint *)(param_1 + 0x28),&local_34,uVar1);\n    puVar3 = (undefined4 *)auStack_4c;\n    if ((piVar2 == (int *)0x0) || (*piVar2 == 0)) {\n      local_38 = param_1 + 0x40;\n                    /* try { // try from 00119bc2 to 00119bc6 has its CatchHandler @ 00119bd3 */\n      FUN_0011c640(local_44,local_38,&local_34,&local_38,0,1);\n      puVar3 = &uStack_50;\n    }\n    if (local_34 != local_2c) {\n      *(undefined1 **)((int)puVar3 + -0x10) = local_34;\n      *(undefined4 *)((int)puVar3 + -0x14) = 0x119b97;\n      FUN_001807a0();\n    }\n  }\n  return;\n}" primitive_type (function_declarator "FUN_00119b10(int param_1,char *param_2,int param_3)" identifier (parameter_list "(int param_1,char *param_2,int param_3)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "char *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int param_3" primitive_type identifier) ))) (compound_statement "{\n  uint uVar1;\n  int *piVar2;\n  undefined4 *puVar3;\n  undefined4 uStack_50;\n  undefined1 auStack_4c [4];\n  undefined **local_48;\n  undefined1 local_44 [12];\n  int local_38;\n  undefined1 *local_34;\n  undefined4 local_30;\n  undefined1 local_2c [28];\n  \n  local_48 = &__DT_PLTGOT;\n  if ((param_3 != 1) || (*param_2 != '.')) {\n    uStack_50 = 0;\n    local_34 = local_2c;\n    FUN_0004cf80(&local_34,param_2,param_2 + param_3);\n    uVar1 = FUN_0017eca0(local_34,local_30,0xc70f6907);\n    piVar2 = (int *)FUN_000b7b00(param_1 + 0x24,uVar1 % *(uint *)(param_1 + 0x28),&local_34,uVar1);\n    puVar3 = (undefined4 *)auStack_4c;\n    if ((piVar2 == (int *)0x0) || (*piVar2 == 0)) {\n      local_38 = param_1 + 0x40;\n                    /* try { // try from 00119bc2 to 00119bc6 has its CatchHandler @ 00119bd3 */\n      FUN_0011c640(local_44,local_38,&local_34,&local_38,0,1);\n      puVar3 = &uStack_50;\n    }\n    if (local_34 != local_2c) {\n      *(undefined1 **)((int)puVar3 + -0x10) = local_34;\n      *(undefined4 *)((int)puVar3 + -0x14) = 0x119b97;\n      FUN_001807a0();\n    }\n  }\n  return;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined4 uStack_50;" type_identifier identifier ;) (declaration "undefined1 auStack_4c [4];" type_identifier (array_declarator "auStack_4c [4]" identifier [ number_literal ]) ;) (declaration "undefined **local_48;" type_identifier (pointer_declarator "**local_48" * (pointer_declarator "*local_48" * identifier)) ;) (declaration "undefined1 local_44 [12];" type_identifier (array_declarator "local_44 [12]" identifier [ number_literal ]) ;) (declaration "int local_38;" primitive_type identifier ;) (declaration "undefined1 *local_34;" type_identifier (pointer_declarator "*local_34" * identifier) ;) (declaration "undefined4 local_30;" type_identifier identifier ;) (declaration "undefined1 local_2c [28];" type_identifier (array_declarator "local_2c [28]" identifier [ number_literal ]) ;) (expression_statement "local_48 = &__DT_PLTGOT;" (assignment_expression "local_48 = &__DT_PLTGOT" identifier = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) (if_statement "if ((param_3 != 1) || (*param_2 != '.')) {\n    uStack_50 = 0;\n    local_34 = local_2c;\n    FUN_0004cf80(&local_34,param_2,param_2 + param_3);\n    uVar1 = FUN_0017eca0(local_34,local_30,0xc70f6907);\n    piVar2 = (int *)FUN_000b7b00(param_1 + 0x24,uVar1 % *(uint *)(param_1 + 0x28),&local_34,uVar1);\n    puVar3 = (undefined4 *)auStack_4c;\n    if ((piVar2 == (int *)0x0) || (*piVar2 == 0)) {\n      local_38 = param_1 + 0x40;\n                    /* try { // try from 00119bc2 to 00119bc6 has its CatchHandler @ 00119bd3 */\n      FUN_0011c640(local_44,local_38,&local_34,&local_38,0,1);\n      puVar3 = &uStack_50;\n    }\n    if (local_34 != local_2c) {\n      *(undefined1 **)((int)puVar3 + -0x10) = local_34;\n      *(undefined4 *)((int)puVar3 + -0x14) = 0x119b97;\n      FUN_001807a0();\n    }\n  }" if (parenthesized_expression "((param_3 != 1) || (*param_2 != '.'))" ( (binary_expression "(param_3 != 1) || (*param_2 != '.')" (parenthesized_expression "(param_3 != 1)" ( (binary_expression "param_3 != 1" identifier != number_literal) )) || (parenthesized_expression "(*param_2 != '.')" ( (binary_expression "*param_2 != '.'" (pointer_expression "*param_2" * identifier) != (char_literal "'.'" ' character ')) ))) )) (compound_statement "{\n    uStack_50 = 0;\n    local_34 = local_2c;\n    FUN_0004cf80(&local_34,param_2,param_2 + param_3);\n    uVar1 = FUN_0017eca0(local_34,local_30,0xc70f6907);\n    piVar2 = (int *)FUN_000b7b00(param_1 + 0x24,uVar1 % *(uint *)(param_1 + 0x28),&local_34,uVar1);\n    puVar3 = (undefined4 *)auStack_4c;\n    if ((piVar2 == (int *)0x0) || (*piVar2 == 0)) {\n      local_38 = param_1 + 0x40;\n                    /* try { // try from 00119bc2 to 00119bc6 has its CatchHandler @ 00119bd3 */\n      FUN_0011c640(local_44,local_38,&local_34,&local_38,0,1);\n      puVar3 = &uStack_50;\n    }\n    if (local_34 != local_2c) {\n      *(undefined1 **)((int)puVar3 + -0x10) = local_34;\n      *(undefined4 *)((int)puVar3 + -0x14) = 0x119b97;\n      FUN_001807a0();\n    }\n  }" { (expression_statement "uStack_50 = 0;" (assignment_expression "uStack_50 = 0" identifier = number_literal) ;) (expression_statement "local_34 = local_2c;" (assignment_expression "local_34 = local_2c" identifier = identifier) ;) (expression_statement "FUN_0004cf80(&local_34,param_2,param_2 + param_3);" (call_expression "FUN_0004cf80(&local_34,param_2,param_2 + param_3)" identifier (argument_list "(&local_34,param_2,param_2 + param_3)" ( (pointer_expression "&local_34" & identifier) , identifier , (binary_expression "param_2 + param_3" identifier + identifier) ))) ;) (expression_statement "uVar1 = FUN_0017eca0(local_34,local_30,0xc70f6907);" (assignment_expression "uVar1 = FUN_0017eca0(local_34,local_30,0xc70f6907)" identifier = (call_expression "FUN_0017eca0(local_34,local_30,0xc70f6907)" identifier (argument_list "(local_34,local_30,0xc70f6907)" ( identifier , identifier , number_literal )))) ;) (expression_statement "piVar2 = (int *)FUN_000b7b00(param_1 + 0x24,uVar1 % *(uint *)(param_1 + 0x28),&local_34,uVar1);" (assignment_expression "piVar2 = (int *)FUN_000b7b00(param_1 + 0x24,uVar1 % *(uint *)(param_1 + 0x28),&local_34,uVar1)" identifier = (cast_expression "(int *)FUN_000b7b00(param_1 + 0x24,uVar1 % *(uint *)(param_1 + 0x28),&local_34,uVar1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000b7b00(param_1 + 0x24,uVar1 % *(uint *)(param_1 + 0x28),&local_34,uVar1)" identifier (argument_list "(param_1 + 0x24,uVar1 % *(uint *)(param_1 + 0x28),&local_34,uVar1)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) , (binary_expression "uVar1 % *(uint *)(param_1 + 0x28)" identifier % (pointer_expression "*(uint *)(param_1 + 0x28)" * (cast_expression "(uint *)(param_1 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) , (pointer_expression "&local_34" & identifier) , identifier ))))) ;) (expression_statement "puVar3 = (undefined4 *)auStack_4c;" (assignment_expression "puVar3 = (undefined4 *)auStack_4c" identifier = (cast_expression "(undefined4 *)auStack_4c" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if ((piVar2 == (int *)0x0) || (*piVar2 == 0)) {\n      local_38 = param_1 + 0x40;\n                    /* try { // try from 00119bc2 to 00119bc6 has its CatchHandler @ 00119bd3 */\n      FUN_0011c640(local_44,local_38,&local_34,&local_38,0,1);\n      puVar3 = &uStack_50;\n    }" if (parenthesized_expression "((piVar2 == (int *)0x0) || (*piVar2 == 0))" ( (binary_expression "(piVar2 == (int *)0x0) || (*piVar2 == 0)" (parenthesized_expression "(piVar2 == (int *)0x0)" ( (binary_expression "piVar2 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(*piVar2 == 0)" ( (binary_expression "*piVar2 == 0" (pointer_expression "*piVar2" * identifier) == number_literal) ))) )) (compound_statement "{\n      local_38 = param_1 + 0x40;\n                    /* try { // try from 00119bc2 to 00119bc6 has its CatchHandler @ 00119bd3 */\n      FUN_0011c640(local_44,local_38,&local_34,&local_38,0,1);\n      puVar3 = &uStack_50;\n    }" { (expression_statement "local_38 = param_1 + 0x40;" (assignment_expression "local_38 = param_1 + 0x40" identifier = (binary_expression "param_1 + 0x40" identifier + number_literal)) ;) comment (expression_statement "FUN_0011c640(local_44,local_38,&local_34,&local_38,0,1);" (call_expression "FUN_0011c640(local_44,local_38,&local_34,&local_38,0,1)" identifier (argument_list "(local_44,local_38,&local_34,&local_38,0,1)" ( identifier , identifier , (pointer_expression "&local_34" & identifier) , (pointer_expression "&local_38" & identifier) , number_literal , number_literal ))) ;) (expression_statement "puVar3 = &uStack_50;" (assignment_expression "puVar3 = &uStack_50" identifier = (pointer_expression "&uStack_50" & identifier)) ;) })) (if_statement "if (local_34 != local_2c) {\n      *(undefined1 **)((int)puVar3 + -0x10) = local_34;\n      *(undefined4 *)((int)puVar3 + -0x14) = 0x119b97;\n      FUN_001807a0();\n    }" if (parenthesized_expression "(local_34 != local_2c)" ( (binary_expression "local_34 != local_2c" identifier != identifier) )) (compound_statement "{\n      *(undefined1 **)((int)puVar3 + -0x10) = local_34;\n      *(undefined4 *)((int)puVar3 + -0x14) = 0x119b97;\n      FUN_001807a0();\n    }" { (expression_statement "*(undefined1 **)((int)puVar3 + -0x10) = local_34;" (assignment_expression "*(undefined1 **)((int)puVar3 + -0x10) = local_34" (pointer_expression "*(undefined1 **)((int)puVar3 + -0x10)" * (cast_expression "(undefined1 **)((int)puVar3 + -0x10)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar3 + -0x10)" ( (binary_expression "(int)puVar3 + -0x10" (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar3 + -0x14) = 0x119b97;" (assignment_expression "*(undefined4 *)((int)puVar3 + -0x14) = 0x119b97" (pointer_expression "*(undefined4 *)((int)puVar3 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar3 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar3 + -0x14)" ( (binary_expression "(int)puVar3 + -0x14" (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001807a0();" (call_expression "FUN_001807a0()" identifier (argument_list "()" ( ))) ;) })) })) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n/* DWARF original prototype: void add_symbol_reference(Script_options * this, char * name, size_t\n   length) */\n\nvoid __thiscall\ngold::Script_options::add_symbol_reference(Script_options *this,char *name,size_t length)\n\n{\n  uint __code;\n  __node_base *p_Var1;\n  undefined1 local_44 [12];\n  __node_gen_type __node_gen;\n  string n;\n  \n  if ((length != 1) || (*name != '.')) {\n    n._M_dataplus._M_p = (pointer)&n.field_2;\n    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char_const*>(&n,name,name + length,0);\n    __code = std::_Hash_bytes(n._M_dataplus._M_p,n._M_string_length,0xc70f6907);\n    p_Var1 = std::\n             _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n             ::_M_find_before_node\n                       (&(this->symbol_definitions_)._M_h,\n                        __code % (this->symbol_definitions_)._M_h._M_bucket_count,&n,__code);\n    if ((p_Var1 == (__node_base *)0x0) || (p_Var1->_M_nxt == (_Hash_node_base *)0x0)) {\n      __node_gen._M_h = (__hashtable_alloc *)&this->symbol_references_;\n                    /* try { // try from 00119bc2 to 00119bc6 has its CatchHandler @ 00119bd3 */\n      std::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::\n      _M_insert<const_std::__cxx11::basic_string<char>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::__cxx11::basic_string<char>,_true>_>_>_>\n                ((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  *)local_44,__node_gen._M_h,&n,&__node_gen,0,1);\n    }\n    if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)n._M_dataplus._M_p != &n.field_2) {\n      operator_delete(n._M_dataplus._M_p);\n    }\n  }\n  return;\n}\n\n" comment comment (function_definition "void __thiscall\ngold::Script_options::add_symbol_reference(Script_options *this,char *name,size_t length)\n\n{\n  uint __code;\n  __node_base *p_Var1;\n  undefined1 local_44 [12];\n  __node_gen_type __node_gen;\n  string n;\n  \n  if ((length != 1) || (*name != '.')) {\n    n._M_dataplus._M_p = (pointer)&n.field_2;\n    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char_const*>(&n,name,name + length,0);\n    __code = std::_Hash_bytes(n._M_dataplus._M_p,n._M_string_length,0xc70f6907);\n    p_Var1 = std::\n             _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n             ::_M_find_before_node\n                       (&(this->symbol_definitions_)._M_h,\n                        __code % (this->symbol_definitions_)._M_h._M_bucket_count,&n,__code);\n    if ((p_Var1 == (__node_base *)0x0) || (p_Var1->_M_nxt == (_Hash_node_base *)0x0)) {\n      __node_gen._M_h = (__hashtable_alloc *)&this->symbol_references_;\n                    /* try { // try from 00119bc2 to 00119bc6 has its CatchHandler @ 00119bd3 */\n      std::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::\n      _M_insert<const_std::__cxx11::basic_string<char>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::__cxx11::basic_string<char>,_true>_>_>_>\n                ((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  *)local_44,__node_gen._M_h,&n,&__node_gen,0,1);\n    }\n    if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)n._M_dataplus._M_p != &n.field_2) {\n      operator_delete(n._M_dataplus._M_p);\n    }\n  }\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Script_options::" identifier : : identifier : :) (function_declarator "add_symbol_reference(Script_options *this,char *name,size_t length)" identifier (parameter_list "(Script_options *this,char *name,size_t length)" ( (parameter_declaration "Script_options *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "char *name" primitive_type (pointer_declarator "*name" * identifier)) , (parameter_declaration "size_t length" primitive_type identifier) ))) (compound_statement "{\n  uint __code;\n  __node_base *p_Var1;\n  undefined1 local_44 [12];\n  __node_gen_type __node_gen;\n  string n;\n  \n  if ((length != 1) || (*name != '.')) {\n    n._M_dataplus._M_p = (pointer)&n.field_2;\n    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char_const*>(&n,name,name + length,0);\n    __code = std::_Hash_bytes(n._M_dataplus._M_p,n._M_string_length,0xc70f6907);\n    p_Var1 = std::\n             _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n             ::_M_find_before_node\n                       (&(this->symbol_definitions_)._M_h,\n                        __code % (this->symbol_definitions_)._M_h._M_bucket_count,&n,__code);\n    if ((p_Var1 == (__node_base *)0x0) || (p_Var1->_M_nxt == (_Hash_node_base *)0x0)) {\n      __node_gen._M_h = (__hashtable_alloc *)&this->symbol_references_;\n                    /* try { // try from 00119bc2 to 00119bc6 has its CatchHandler @ 00119bd3 */\n      std::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::\n      _M_insert<const_std::__cxx11::basic_string<char>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::__cxx11::basic_string<char>,_true>_>_>_>\n                ((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  *)local_44,__node_gen._M_h,&n,&__node_gen,0,1);\n    }\n    if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)n._M_dataplus._M_p != &n.field_2) {\n      operator_delete(n._M_dataplus._M_p);\n    }\n  }\n  return;\n}" { (declaration "uint __code;" type_identifier identifier ;) (declaration "__node_base *p_Var1;" type_identifier (pointer_declarator "*p_Var1" * identifier) ;) (declaration "undefined1 local_44 [12];" type_identifier (array_declarator "local_44 [12]" identifier [ number_literal ]) ;) (declaration "__node_gen_type __node_gen;" type_identifier identifier ;) (declaration "string n;" type_identifier identifier ;) (if_statement "if ((length != 1) || (*name != '.')) {\n    n._M_dataplus._M_p = (pointer)&n.field_2;\n    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char_const*>(&n,name,name + length,0);\n    __code = std::_Hash_bytes(n._M_dataplus._M_p,n._M_string_length,0xc70f6907);\n    p_Var1 = std::\n             _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n             ::_M_find_before_node\n                       (&(this->symbol_definitions_)._M_h,\n                        __code % (this->symbol_definitions_)._M_h._M_bucket_count,&n,__code);\n    if ((p_Var1 == (__node_base *)0x0) || (p_Var1->_M_nxt == (_Hash_node_base *)0x0)) {\n      __node_gen._M_h = (__hashtable_alloc *)&this->symbol_references_;\n                    /* try { // try from 00119bc2 to 00119bc6 has its CatchHandler @ 00119bd3 */\n      std::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::\n      _M_insert<const_std::__cxx11::basic_string<char>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::__cxx11::basic_string<char>,_true>_>_>_>\n                ((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  *)local_44,__node_gen._M_h,&n,&__node_gen,0,1);\n    }\n    if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)n._M_dataplus._M_p != &n.field_2) {\n      operator_delete(n._M_dataplus._M_p);\n    }\n  }" if (parenthesized_expression "((length != 1) || (*name != '.'))" ( (binary_expression "(length != 1) || (*name != '.')" (parenthesized_expression "(length != 1)" ( (binary_expression "length != 1" identifier != number_literal) )) || (parenthesized_expression "(*name != '.')" ( (binary_expression "*name != '.'" (pointer_expression "*name" * identifier) != (char_literal "'.'" ' character ')) ))) )) (compound_statement "{\n    n._M_dataplus._M_p = (pointer)&n.field_2;\n    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char_const*>(&n,name,name + length,0);\n    __code = std::_Hash_bytes(n._M_dataplus._M_p,n._M_string_length,0xc70f6907);\n    p_Var1 = std::\n             _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n             ::_M_find_before_node\n                       (&(this->symbol_definitions_)._M_h,\n                        __code % (this->symbol_definitions_)._M_h._M_bucket_count,&n,__code);\n    if ((p_Var1 == (__node_base *)0x0) || (p_Var1->_M_nxt == (_Hash_node_base *)0x0)) {\n      __node_gen._M_h = (__hashtable_alloc *)&this->symbol_references_;\n                    /* try { // try from 00119bc2 to 00119bc6 has its CatchHandler @ 00119bd3 */\n      std::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::\n      _M_insert<const_std::__cxx11::basic_string<char>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::__cxx11::basic_string<char>,_true>_>_>_>\n                ((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  *)local_44,__node_gen._M_h,&n,&__node_gen,0,1);\n    }\n    if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)n._M_dataplus._M_p != &n.field_2) {\n      operator_delete(n._M_dataplus._M_p);\n    }\n  }" { (expression_statement "n._M_dataplus._M_p = (pointer)&n.field_2;" (assignment_expression "n._M_dataplus._M_p = (pointer)&n.field_2" (field_expression "n._M_dataplus._M_p" (field_expression "n._M_dataplus" identifier . field_identifier) . field_identifier) = (binary_expression "(pointer)&n.field_2" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "n.field_2" identifier . field_identifier))) ;) (labeled_statement "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char_const*>(&n,name,name + length,0);" statement_identifier (ERROR "::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>:" : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > :) : (expression_statement "_M_construct<char_const*>(&n,name,name + length,0);" (binary_expression "_M_construct<char_const*>(&n,name,name + length,0)" (binary_expression "_M_construct<char_const" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "(&n,name,name + length,0)" ( (comma_expression "&n,name,name + length,0" (pointer_expression "&n" & identifier) , (comma_expression "name,name + length,0" identifier , (comma_expression "name + length,0" (binary_expression "name + length" identifier + identifier) , number_literal))) ))) ;)) (ERROR "__code = std::" (assignment_expression "__code = std" identifier = identifier) : :) (expression_statement "_Hash_bytes(n._M_dataplus._M_p,n._M_string_length,0xc70f6907);" (call_expression "_Hash_bytes(n._M_dataplus._M_p,n._M_string_length,0xc70f6907)" identifier (argument_list "(n._M_dataplus._M_p,n._M_string_length,0xc70f6907)" ( (field_expression "n._M_dataplus._M_p" (field_expression "n._M_dataplus" identifier . field_identifier) . field_identifier) , (field_expression "n._M_string_length" identifier . field_identifier) , number_literal ))) ;) (ERROR "p_Var1 = std::\n             _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::" (assignment_expression "p_Var1 = std" identifier = identifier) : : (binary_expression "_Hashtable<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (comma_expression "__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std" identifier (ERROR "::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>" : : (comma_expression "_Identity,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) >) , identifier) : : (binary_expression "hash<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : :) (labeled_statement "__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n             ::_M_find_before_node\n                       (&(this->symbol_definitions_)._M_h,\n                        __code % (this->symbol_definitions_)._M_h._M_bucket_count,&n,__code);" statement_identifier (ERROR "::_Mod_range_hashing,_std:" : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) :) : (labeled_statement "__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n             ::_M_find_before_node\n                       (&(this->symbol_definitions_)._M_h,\n                        __code % (this->symbol_definitions_)._M_h._M_bucket_count,&n,__code);" statement_identifier (ERROR "::_Default_ranged_hash,_std:" : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) :) : (labeled_statement "__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n             ::_M_find_before_node\n                       (&(this->symbol_definitions_)._M_h,\n                        __code % (this->symbol_definitions_)._M_h._M_bucket_count,&n,__code);" statement_identifier (ERROR "::_Prime_rehash_policy,_std:" : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) :) : (labeled_statement "__detail::_Hashtable_traits<true,_true,_true>_>\n             ::_M_find_before_node\n                       (&(this->symbol_definitions_)._M_h,\n                        __code % (this->symbol_definitions_)._M_h._M_bucket_count,&n,__code);" statement_identifier : (ERROR ":" :) (expression_statement "_Hashtable_traits<true,_true,_true>_>\n             ::_M_find_before_node\n                       (&(this->symbol_definitions_)._M_h,\n                        __code % (this->symbol_definitions_)._M_h._M_bucket_count,&n,__code);" (comma_expression "_Hashtable_traits<true,_true,_true>_>\n             ::_M_find_before_node\n                       (&(this->symbol_definitions_)._M_h,\n                        __code % (this->symbol_definitions_)._M_h._M_bucket_count,&n,__code)" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_true,_true>_>\n             ::_M_find_before_node\n                       (&(this->symbol_definitions_)._M_h,\n                        __code % (this->symbol_definitions_)._M_h._M_bucket_count,&n,__code)" identifier , (binary_expression "_true>_>\n             ::_M_find_before_node\n                       (&(this->symbol_definitions_)._M_h,\n                        __code % (this->symbol_definitions_)._M_h._M_bucket_count,&n,__code)" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) (call_expression "_M_find_before_node\n                       (&(this->symbol_definitions_)._M_h,\n                        __code % (this->symbol_definitions_)._M_h._M_bucket_count,&n,__code)" identifier (argument_list "(&(this->symbol_definitions_)._M_h,\n                        __code % (this->symbol_definitions_)._M_h._M_bucket_count,&n,__code)" ( (pointer_expression "&(this->symbol_definitions_)._M_h" & (field_expression "(this->symbol_definitions_)._M_h" (parenthesized_expression "(this->symbol_definitions_)" ( (field_expression "this->symbol_definitions_" identifier -> field_identifier) )) . field_identifier)) , (binary_expression "__code % (this->symbol_definitions_)._M_h._M_bucket_count" identifier % (field_expression "(this->symbol_definitions_)._M_h._M_bucket_count" (field_expression "(this->symbol_definitions_)._M_h" (parenthesized_expression "(this->symbol_definitions_)" ( (field_expression "this->symbol_definitions_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) , (pointer_expression "&n" & identifier) , identifier )))))) ;))))) (if_statement "if ((p_Var1 == (__node_base *)0x0) || (p_Var1->_M_nxt == (_Hash_node_base *)0x0)) {\n      __node_gen._M_h = (__hashtable_alloc *)&this->symbol_references_;\n                    /* try { // try from 00119bc2 to 00119bc6 has its CatchHandler @ 00119bd3 */\n      std::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::\n      _M_insert<const_std::__cxx11::basic_string<char>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::__cxx11::basic_string<char>,_true>_>_>_>\n                ((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  *)local_44,__node_gen._M_h,&n,&__node_gen,0,1);\n    }" if (parenthesized_expression "((p_Var1 == (__node_base *)0x0) || (p_Var1->_M_nxt == (_Hash_node_base *)0x0))" ( (binary_expression "(p_Var1 == (__node_base *)0x0) || (p_Var1->_M_nxt == (_Hash_node_base *)0x0)" (parenthesized_expression "(p_Var1 == (__node_base *)0x0)" ( (binary_expression "p_Var1 == (__node_base *)0x0" identifier == (cast_expression "(__node_base *)0x0" ( (type_descriptor "__node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(p_Var1->_M_nxt == (_Hash_node_base *)0x0)" ( (binary_expression "p_Var1->_M_nxt == (_Hash_node_base *)0x0" (field_expression "p_Var1->_M_nxt" identifier -> field_identifier) == (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n      __node_gen._M_h = (__hashtable_alloc *)&this->symbol_references_;\n                    /* try { // try from 00119bc2 to 00119bc6 has its CatchHandler @ 00119bd3 */\n      std::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::\n      _M_insert<const_std::__cxx11::basic_string<char>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::__cxx11::basic_string<char>,_true>_>_>_>\n                ((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  *)local_44,__node_gen._M_h,&n,&__node_gen,0,1);\n    }" { (expression_statement "__node_gen._M_h = (__hashtable_alloc *)&this->symbol_references_;" (assignment_expression "__node_gen._M_h = (__hashtable_alloc *)&this->symbol_references_" (field_expression "__node_gen._M_h" identifier . field_identifier) = (cast_expression "(__hashtable_alloc *)&this->symbol_references_" ( (type_descriptor "__hashtable_alloc *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->symbol_references_" & (field_expression "this->symbol_references_" identifier -> field_identifier)))) ;) comment (ERROR "std::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::" (comma_expression "std::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std" identifier (ERROR "::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>" : : (binary_expression "_Hashtable<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) >) , identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (comma_expression "__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std" identifier (ERROR "::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>" : : (comma_expression "_Identity,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) >) , identifier) : : (binary_expression "hash<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : :) (labeled_statement "__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::\n      _M_insert<const_std::__cxx11::basic_string<char>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::__cxx11::basic_string<char>,_true>_>_>_>\n                ((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  *)local_44,__node_gen._M_h,&n,&__node_gen,0,1);" statement_identifier (ERROR "::_Mod_range_hashing,_std:" : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) :) : (labeled_statement "__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::\n      _M_insert<const_std::__cxx11::basic_string<char>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::__cxx11::basic_string<char>,_true>_>_>_>\n                ((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  *)local_44,__node_gen._M_h,&n,&__node_gen,0,1);" statement_identifier (ERROR "::_Default_ranged_hash,_std:" : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) :) : (labeled_statement "__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::\n      _M_insert<const_std::__cxx11::basic_string<char>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::__cxx11::basic_string<char>,_true>_>_>_>\n                ((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  *)local_44,__node_gen._M_h,&n,&__node_gen,0,1);" statement_identifier (ERROR "::_Prime_rehash_policy,_std:" : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) :) : (labeled_statement "__detail::_Hashtable_traits<true,_true,_true>_>\n      ::\n      _M_insert<const_std::__cxx11::basic_string<char>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::__cxx11::basic_string<char>,_true>_>_>_>\n                ((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  *)local_44,__node_gen._M_h,&n,&__node_gen,0,1);" statement_identifier (ERROR "::_Hashtable_traits<true,_true,_true>_>\n      ::\n      _M_insert<const_std:" : : (comma_expression "_Hashtable_traits<true,_true,_true>_>\n      ::\n      _M_insert<const_std" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_true,_true>_>\n      ::\n      _M_insert<const_std" identifier , (binary_expression "_true>_>\n      ::\n      _M_insert<const_std" (binary_expression "_true>_>\n      ::\n      _M_insert" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) identifier) < identifier))) :) : (labeled_statement "__cxx11::basic_string<char>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::__cxx11::basic_string<char>,_true>_>_>_>\n                ((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  *)local_44,__node_gen._M_h,&n,&__node_gen,0,1);" statement_identifier (ERROR "::basic_string<char>&,_std:" : : (binary_expression "basic_string<char>&,_std" (binary_expression "basic_string<char" identifier < identifier) > (pointer_expression "&,_std" & (ERROR "," ,) identifier)) :) : (labeled_statement "__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::__cxx11::basic_string<char>,_true>_>_>_>\n                ((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  *)local_44,__node_gen._M_h,&n,&__node_gen,0,1);" statement_identifier (ERROR "::_AllocNode<std::allocator<std:" : : (binary_expression "_AllocNode<std" identifier < identifier) : : (binary_expression "allocator<std" identifier < identifier) :) : (labeled_statement "__detail::_Hash_node<std::__cxx11::basic_string<char>,_true>_>_>_>\n                ((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  *)local_44,__node_gen._M_h,&n,&__node_gen,0,1);" statement_identifier (ERROR "::_Hash_node<std:" : : (binary_expression "_Hash_node<std" identifier < identifier) :) : (expression_statement "__cxx11::basic_string<char>,_true>_>_>_>\n                ((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  *)local_44,__node_gen._M_h,&n,&__node_gen,0,1);" (comma_expression "__cxx11::basic_string<char>,_true>_>_>_>\n                ((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  *)local_44,__node_gen._M_h,&n,&__node_gen,0,1)" identifier (ERROR "::basic_string<char>" : : (binary_expression "basic_string<char" identifier < identifier) >) , (binary_expression "_true>_>_>_>\n                ((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  *)local_44,__node_gen._M_h,&n,&__node_gen,0,1)" (binary_expression "_true>_>_>_" (binary_expression "_true>_>_" (binary_expression "_true>_" identifier > identifier) > identifier) > identifier) > (parenthesized_expression "((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  *)local_44,__node_gen._M_h,&n,&__node_gen,0,1)" ( (parenthesized_expression "(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  *)local_44,__node_gen._M_h,&n,&__node_gen,0,1)" ( (ERROR "_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (comma_expression "_Hashtable<std::__cxx11::basic_string<char,_std" (binary_expression "_Hashtable<std::__cxx11::basic_string<char" (binary_expression "_Hashtable<std" identifier < identifier) (ERROR "::__cxx11::basic_string" : : identifier : : identifier) < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : identifier : : (comma_expression "_Identity,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "hash<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : identifier : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) : : identifier : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) : : identifier : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) : : identifier : :) (comma_expression "_Hashtable_traits<true,_true,_true>_>\n                  *)local_44,__node_gen._M_h,&n,&__node_gen,0,1" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_true,_true>_>\n                  *)local_44,__node_gen._M_h,&n,&__node_gen,0,1" identifier , (comma_expression "_true>_>\n                  *)local_44,__node_gen._M_h,&n,&__node_gen,0,1" (binary_expression "_true>_>\n                  *)local_44" (binary_expression "_true>_" identifier > identifier) > (pointer_expression "*)local_44" * (ERROR ")" )) identifier)) , (comma_expression "__node_gen._M_h,&n,&__node_gen,0,1" (field_expression "__node_gen._M_h" identifier . field_identifier) , (comma_expression "&n,&__node_gen,0,1" (pointer_expression "&n" & identifier) , (comma_expression "&__node_gen,0,1" (pointer_expression "&__node_gen" & identifier) , (comma_expression "0,1" number_literal , number_literal))))))) )) )))) ;)))))))) })) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)n._M_dataplus._M_p != &n.field_2) {\n      operator_delete(n._M_dataplus._M_p);\n    }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)n._M_dataplus._M_p != &n.field_2)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)n._M_dataplus._M_p != &n.field_2)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9\n         *)n._M_dataplus._M_p != &n.field_2" (binary_expression "allocator<char>_>_9\n         *)n._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n         *)n._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "n._M_dataplus._M_p" (field_expression "n._M_dataplus" identifier . field_identifier) . field_identifier))) != (pointer_expression "&n.field_2" & (field_expression "n.field_2" identifier . field_identifier))) )) )) (compound_statement "{\n      operator_delete(n._M_dataplus._M_p);\n    }" { (expression_statement "operator_delete(n._M_dataplus._M_p);" (call_expression "operator_delete(n._M_dataplus._M_p)" identifier (argument_list "(n._M_dataplus._M_p)" ( (field_expression "n._M_dataplus._M_p" (field_expression "n._M_dataplus" identifier . field_identifier) . field_identifier) ))) ;) })) })) (return_statement "return;" return ;) })))
(translation_unit "void FUN_00119b10(int param_1,char *param_2,int param_3)\n\n{\n  uint uVar1;\n  int *piVar2;\n  undefined4 *puVar3;\n  undefined4 uStack_50;\n  undefined1 auStack_4c [4];\n  undefined **local_48;\n  undefined1 local_44 [12];\n  int local_38;\n  undefined1 *local_34;\n  undefined4 local_30;\n  undefined1 local_2c [28];\n  \n  local_48 = &__DT_PLTGOT;\n  if ((param_3 != 1) || (*param_2 != '.')) {\n    uStack_50 = 0;\n    local_34 = local_2c;\n    FUN_0004cf80(&local_34,param_2,param_2 + param_3);\n    uVar1 = FUN_0017eca0(local_34,local_30,0xc70f6907);\n    piVar2 = (int *)FUN_000b7b00(param_1 + 0x24,uVar1 % *(uint *)(param_1 + 0x28),&local_34,uVar1);\n    puVar3 = (undefined4 *)auStack_4c;\n    if ((piVar2 == (int *)0x0) || (*piVar2 == 0)) {\n      local_38 = param_1 + 0x40;\n                    \n      FUN_0011c640(local_44,local_38,&local_34,&local_38,0,1);\n      puVar3 = &uStack_50;\n    }\n    if (local_34 != local_2c) {\n      *(undefined1 **)((int)puVar3 + -0x10) = local_34;\n      *(undefined4 *)((int)puVar3 + -0x14) = 0x119b97;\n      FUN_001807a0();\n    }\n  }\n  return;\n}\n\n" (function_definition "void FUN_00119b10(int param_1,char *param_2,int param_3)\n\n{\n  uint uVar1;\n  int *piVar2;\n  undefined4 *puVar3;\n  undefined4 uStack_50;\n  undefined1 auStack_4c [4];\n  undefined **local_48;\n  undefined1 local_44 [12];\n  int local_38;\n  undefined1 *local_34;\n  undefined4 local_30;\n  undefined1 local_2c [28];\n  \n  local_48 = &__DT_PLTGOT;\n  if ((param_3 != 1) || (*param_2 != '.')) {\n    uStack_50 = 0;\n    local_34 = local_2c;\n    FUN_0004cf80(&local_34,param_2,param_2 + param_3);\n    uVar1 = FUN_0017eca0(local_34,local_30,0xc70f6907);\n    piVar2 = (int *)FUN_000b7b00(param_1 + 0x24,uVar1 % *(uint *)(param_1 + 0x28),&local_34,uVar1);\n    puVar3 = (undefined4 *)auStack_4c;\n    if ((piVar2 == (int *)0x0) || (*piVar2 == 0)) {\n      local_38 = param_1 + 0x40;\n                    \n      FUN_0011c640(local_44,local_38,&local_34,&local_38,0,1);\n      puVar3 = &uStack_50;\n    }\n    if (local_34 != local_2c) {\n      *(undefined1 **)((int)puVar3 + -0x10) = local_34;\n      *(undefined4 *)((int)puVar3 + -0x14) = 0x119b97;\n      FUN_001807a0();\n    }\n  }\n  return;\n}" primitive_type (function_declarator "FUN_00119b10(int param_1,char *param_2,int param_3)" identifier (parameter_list "(int param_1,char *param_2,int param_3)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "char *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int param_3" primitive_type identifier) ))) (compound_statement "{\n  uint uVar1;\n  int *piVar2;\n  undefined4 *puVar3;\n  undefined4 uStack_50;\n  undefined1 auStack_4c [4];\n  undefined **local_48;\n  undefined1 local_44 [12];\n  int local_38;\n  undefined1 *local_34;\n  undefined4 local_30;\n  undefined1 local_2c [28];\n  \n  local_48 = &__DT_PLTGOT;\n  if ((param_3 != 1) || (*param_2 != '.')) {\n    uStack_50 = 0;\n    local_34 = local_2c;\n    FUN_0004cf80(&local_34,param_2,param_2 + param_3);\n    uVar1 = FUN_0017eca0(local_34,local_30,0xc70f6907);\n    piVar2 = (int *)FUN_000b7b00(param_1 + 0x24,uVar1 % *(uint *)(param_1 + 0x28),&local_34,uVar1);\n    puVar3 = (undefined4 *)auStack_4c;\n    if ((piVar2 == (int *)0x0) || (*piVar2 == 0)) {\n      local_38 = param_1 + 0x40;\n                    \n      FUN_0011c640(local_44,local_38,&local_34,&local_38,0,1);\n      puVar3 = &uStack_50;\n    }\n    if (local_34 != local_2c) {\n      *(undefined1 **)((int)puVar3 + -0x10) = local_34;\n      *(undefined4 *)((int)puVar3 + -0x14) = 0x119b97;\n      FUN_001807a0();\n    }\n  }\n  return;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined4 uStack_50;" type_identifier identifier ;) (declaration "undefined1 auStack_4c [4];" type_identifier (array_declarator "auStack_4c [4]" identifier [ number_literal ]) ;) (declaration "undefined **local_48;" type_identifier (pointer_declarator "**local_48" * (pointer_declarator "*local_48" * identifier)) ;) (declaration "undefined1 local_44 [12];" type_identifier (array_declarator "local_44 [12]" identifier [ number_literal ]) ;) (declaration "int local_38;" primitive_type identifier ;) (declaration "undefined1 *local_34;" type_identifier (pointer_declarator "*local_34" * identifier) ;) (declaration "undefined4 local_30;" type_identifier identifier ;) (declaration "undefined1 local_2c [28];" type_identifier (array_declarator "local_2c [28]" identifier [ number_literal ]) ;) (expression_statement "local_48 = &__DT_PLTGOT;" (assignment_expression "local_48 = &__DT_PLTGOT" identifier = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) (if_statement "if ((param_3 != 1) || (*param_2 != '.')) {\n    uStack_50 = 0;\n    local_34 = local_2c;\n    FUN_0004cf80(&local_34,param_2,param_2 + param_3);\n    uVar1 = FUN_0017eca0(local_34,local_30,0xc70f6907);\n    piVar2 = (int *)FUN_000b7b00(param_1 + 0x24,uVar1 % *(uint *)(param_1 + 0x28),&local_34,uVar1);\n    puVar3 = (undefined4 *)auStack_4c;\n    if ((piVar2 == (int *)0x0) || (*piVar2 == 0)) {\n      local_38 = param_1 + 0x40;\n                    \n      FUN_0011c640(local_44,local_38,&local_34,&local_38,0,1);\n      puVar3 = &uStack_50;\n    }\n    if (local_34 != local_2c) {\n      *(undefined1 **)((int)puVar3 + -0x10) = local_34;\n      *(undefined4 *)((int)puVar3 + -0x14) = 0x119b97;\n      FUN_001807a0();\n    }\n  }" if (parenthesized_expression "((param_3 != 1) || (*param_2 != '.'))" ( (binary_expression "(param_3 != 1) || (*param_2 != '.')" (parenthesized_expression "(param_3 != 1)" ( (binary_expression "param_3 != 1" identifier != number_literal) )) || (parenthesized_expression "(*param_2 != '.')" ( (binary_expression "*param_2 != '.'" (pointer_expression "*param_2" * identifier) != (char_literal "'.'" ' character ')) ))) )) (compound_statement "{\n    uStack_50 = 0;\n    local_34 = local_2c;\n    FUN_0004cf80(&local_34,param_2,param_2 + param_3);\n    uVar1 = FUN_0017eca0(local_34,local_30,0xc70f6907);\n    piVar2 = (int *)FUN_000b7b00(param_1 + 0x24,uVar1 % *(uint *)(param_1 + 0x28),&local_34,uVar1);\n    puVar3 = (undefined4 *)auStack_4c;\n    if ((piVar2 == (int *)0x0) || (*piVar2 == 0)) {\n      local_38 = param_1 + 0x40;\n                    \n      FUN_0011c640(local_44,local_38,&local_34,&local_38,0,1);\n      puVar3 = &uStack_50;\n    }\n    if (local_34 != local_2c) {\n      *(undefined1 **)((int)puVar3 + -0x10) = local_34;\n      *(undefined4 *)((int)puVar3 + -0x14) = 0x119b97;\n      FUN_001807a0();\n    }\n  }" { (expression_statement "uStack_50 = 0;" (assignment_expression "uStack_50 = 0" identifier = number_literal) ;) (expression_statement "local_34 = local_2c;" (assignment_expression "local_34 = local_2c" identifier = identifier) ;) (expression_statement "FUN_0004cf80(&local_34,param_2,param_2 + param_3);" (call_expression "FUN_0004cf80(&local_34,param_2,param_2 + param_3)" identifier (argument_list "(&local_34,param_2,param_2 + param_3)" ( (pointer_expression "&local_34" & identifier) , identifier , (binary_expression "param_2 + param_3" identifier + identifier) ))) ;) (expression_statement "uVar1 = FUN_0017eca0(local_34,local_30,0xc70f6907);" (assignment_expression "uVar1 = FUN_0017eca0(local_34,local_30,0xc70f6907)" identifier = (call_expression "FUN_0017eca0(local_34,local_30,0xc70f6907)" identifier (argument_list "(local_34,local_30,0xc70f6907)" ( identifier , identifier , number_literal )))) ;) (expression_statement "piVar2 = (int *)FUN_000b7b00(param_1 + 0x24,uVar1 % *(uint *)(param_1 + 0x28),&local_34,uVar1);" (assignment_expression "piVar2 = (int *)FUN_000b7b00(param_1 + 0x24,uVar1 % *(uint *)(param_1 + 0x28),&local_34,uVar1)" identifier = (cast_expression "(int *)FUN_000b7b00(param_1 + 0x24,uVar1 % *(uint *)(param_1 + 0x28),&local_34,uVar1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000b7b00(param_1 + 0x24,uVar1 % *(uint *)(param_1 + 0x28),&local_34,uVar1)" identifier (argument_list "(param_1 + 0x24,uVar1 % *(uint *)(param_1 + 0x28),&local_34,uVar1)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) , (binary_expression "uVar1 % *(uint *)(param_1 + 0x28)" identifier % (pointer_expression "*(uint *)(param_1 + 0x28)" * (cast_expression "(uint *)(param_1 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) , (pointer_expression "&local_34" & identifier) , identifier ))))) ;) (expression_statement "puVar3 = (undefined4 *)auStack_4c;" (assignment_expression "puVar3 = (undefined4 *)auStack_4c" identifier = (cast_expression "(undefined4 *)auStack_4c" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if ((piVar2 == (int *)0x0) || (*piVar2 == 0)) {\n      local_38 = param_1 + 0x40;\n                    \n      FUN_0011c640(local_44,local_38,&local_34,&local_38,0,1);\n      puVar3 = &uStack_50;\n    }" if (parenthesized_expression "((piVar2 == (int *)0x0) || (*piVar2 == 0))" ( (binary_expression "(piVar2 == (int *)0x0) || (*piVar2 == 0)" (parenthesized_expression "(piVar2 == (int *)0x0)" ( (binary_expression "piVar2 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(*piVar2 == 0)" ( (binary_expression "*piVar2 == 0" (pointer_expression "*piVar2" * identifier) == number_literal) ))) )) (compound_statement "{\n      local_38 = param_1 + 0x40;\n                    \n      FUN_0011c640(local_44,local_38,&local_34,&local_38,0,1);\n      puVar3 = &uStack_50;\n    }" { (expression_statement "local_38 = param_1 + 0x40;" (assignment_expression "local_38 = param_1 + 0x40" identifier = (binary_expression "param_1 + 0x40" identifier + number_literal)) ;) (expression_statement "FUN_0011c640(local_44,local_38,&local_34,&local_38,0,1);" (call_expression "FUN_0011c640(local_44,local_38,&local_34,&local_38,0,1)" identifier (argument_list "(local_44,local_38,&local_34,&local_38,0,1)" ( identifier , identifier , (pointer_expression "&local_34" & identifier) , (pointer_expression "&local_38" & identifier) , number_literal , number_literal ))) ;) (expression_statement "puVar3 = &uStack_50;" (assignment_expression "puVar3 = &uStack_50" identifier = (pointer_expression "&uStack_50" & identifier)) ;) })) (if_statement "if (local_34 != local_2c) {\n      *(undefined1 **)((int)puVar3 + -0x10) = local_34;\n      *(undefined4 *)((int)puVar3 + -0x14) = 0x119b97;\n      FUN_001807a0();\n    }" if (parenthesized_expression "(local_34 != local_2c)" ( (binary_expression "local_34 != local_2c" identifier != identifier) )) (compound_statement "{\n      *(undefined1 **)((int)puVar3 + -0x10) = local_34;\n      *(undefined4 *)((int)puVar3 + -0x14) = 0x119b97;\n      FUN_001807a0();\n    }" { (expression_statement "*(undefined1 **)((int)puVar3 + -0x10) = local_34;" (assignment_expression "*(undefined1 **)((int)puVar3 + -0x10) = local_34" (pointer_expression "*(undefined1 **)((int)puVar3 + -0x10)" * (cast_expression "(undefined1 **)((int)puVar3 + -0x10)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar3 + -0x10)" ( (binary_expression "(int)puVar3 + -0x10" (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar3 + -0x14) = 0x119b97;" (assignment_expression "*(undefined4 *)((int)puVar3 + -0x14) = 0x119b97" (pointer_expression "*(undefined4 *)((int)puVar3 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar3 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar3 + -0x14)" ( (binary_expression "(int)puVar3 + -0x14" (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001807a0();" (call_expression "FUN_001807a0()" identifier (argument_list "()" ( ))) ;) })) })) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (char_literal ' character ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT , (binary_expression IDENT + IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (binary_expression IDENT % (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (pointer_expression & IDENT) , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) , (pointer_expression & IDENT) , LIT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) })) (return_statement return ;) })))
(function_definition "void FUN_00119b10(int param_1,char *param_2,int param_3)\n\n{\n  uint uVar1;\n  int *piVar2;\n  undefined4 *puVar3;\n  undefined4 uStack_50;\n  undefined1 auStack_4c [4];\n  undefined **local_48;\n  undefined1 local_44 [12];\n  int local_38;\n  undefined1 *local_34;\n  undefined4 local_30;\n  undefined1 local_2c [28];\n  \n  local_48 = &__DT_PLTGOT;\n  if ((param_3 != 1) || (*param_2 != '.')) {\n    uStack_50 = 0;\n    local_34 = local_2c;\n    FUN_0004cf80(&local_34,param_2,param_2 + param_3);\n    uVar1 = FUN_0017eca0(local_34,local_30,0xc70f6907);\n    piVar2 = (int *)FUN_000b7b00(param_1 + 0x24,uVar1 % *(uint *)(param_1 + 0x28),&local_34,uVar1);\n    puVar3 = (undefined4 *)auStack_4c;\n    if ((piVar2 == (int *)0x0) || (*piVar2 == 0)) {\n      local_38 = param_1 + 0x40;\n                    \n      FUN_0011c640(local_44,local_38,&local_34,&local_38,0,1);\n      puVar3 = &uStack_50;\n    }\n    if (local_34 != local_2c) {\n      *(undefined1 **)((int)puVar3 + -0x10) = local_34;\n      *(undefined4 *)((int)puVar3 + -0x14) = 0x119b97;\n      FUN_001807a0();\n    }\n  }\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00119b10(int param_1,char *param_2,int param_3)" (identifier "FUN_00119b10") (parameter_list "(int param_1,char *param_2,int param_3)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "char *param_2" (primitive_type "char") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) () ")"))) (compound_statement "{\n  uint uVar1;\n  int *piVar2;\n  undefined4 *puVar3;\n  undefined4 uStack_50;\n  undefined1 auStack_4c [4];\n  undefined **local_48;\n  undefined1 local_44 [12];\n  int local_38;\n  undefined1 *local_34;\n  undefined4 local_30;\n  undefined1 local_2c [28];\n  \n  local_48 = &__DT_PLTGOT;\n  if ((param_3 != 1) || (*param_2 != '.')) {\n    uStack_50 = 0;\n    local_34 = local_2c;\n    FUN_0004cf80(&local_34,param_2,param_2 + param_3);\n    uVar1 = FUN_0017eca0(local_34,local_30,0xc70f6907);\n    piVar2 = (int *)FUN_000b7b00(param_1 + 0x24,uVar1 % *(uint *)(param_1 + 0x28),&local_34,uVar1);\n    puVar3 = (undefined4 *)auStack_4c;\n    if ((piVar2 == (int *)0x0) || (*piVar2 == 0)) {\n      local_38 = param_1 + 0x40;\n                    \n      FUN_0011c640(local_44,local_38,&local_34,&local_38,0,1);\n      puVar3 = &uStack_50;\n    }\n    if (local_34 != local_2c) {\n      *(undefined1 **)((int)puVar3 + -0x10) = local_34;\n      *(undefined4 *)((int)puVar3 + -0x14) = 0x119b97;\n      FUN_001807a0();\n    }\n  }\n  return;\n}" ({ "{") (declaration "uint uVar1;" (type_identifier "uint") (identifier "uVar1") (; ";")) (declaration "int *piVar2;" (primitive_type "int") (pointer_declarator "*piVar2" (* "*") (identifier "piVar2")) (; ";")) (declaration "undefined4 *puVar3;" (type_identifier "undefined4") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "undefined4 uStack_50;" (type_identifier "undefined4") (identifier "uStack_50") (; ";")) (declaration "undefined1 auStack_4c [4];" (type_identifier "undefined1") (array_declarator "auStack_4c [4]" (identifier "auStack_4c") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "undefined **local_48;" (type_identifier "undefined") (pointer_declarator "**local_48" (* "*") (pointer_declarator "*local_48" (* "*") (identifier "local_48"))) (; ";")) (declaration "undefined1 local_44 [12];" (type_identifier "undefined1") (array_declarator "local_44 [12]" (identifier "local_44") ([ "[") (number_literal "12") (] "]")) (; ";")) (declaration "int local_38;" (primitive_type "int") (identifier "local_38") (; ";")) (declaration "undefined1 *local_34;" (type_identifier "undefined1") (pointer_declarator "*local_34" (* "*") (identifier "local_34")) (; ";")) (declaration "undefined4 local_30;" (type_identifier "undefined4") (identifier "local_30") (; ";")) (declaration "undefined1 local_2c [28];" (type_identifier "undefined1") (array_declarator "local_2c [28]" (identifier "local_2c") ([ "[") (number_literal "28") (] "]")) (; ";")) (expression_statement "local_48 = &__DT_PLTGOT;" (assignment_expression "local_48 = &__DT_PLTGOT" (identifier "local_48") (= "=") (pointer_expression "&__DT_PLTGOT" (& "&") (identifier "__DT_PLTGOT"))) (; ";")) (if_statement "if ((param_3 != 1) || (*param_2 != '.')) {\n    uStack_50 = 0;\n    local_34 = local_2c;\n    FUN_0004cf80(&local_34,param_2,param_2 + param_3);\n    uVar1 = FUN_0017eca0(local_34,local_30,0xc70f6907);\n    piVar2 = (int *)FUN_000b7b00(param_1 + 0x24,uVar1 % *(uint *)(param_1 + 0x28),&local_34,uVar1);\n    puVar3 = (undefined4 *)auStack_4c;\n    if ((piVar2 == (int *)0x0) || (*piVar2 == 0)) {\n      local_38 = param_1 + 0x40;\n                    \n      FUN_0011c640(local_44,local_38,&local_34,&local_38,0,1);\n      puVar3 = &uStack_50;\n    }\n    if (local_34 != local_2c) {\n      *(undefined1 **)((int)puVar3 + -0x10) = local_34;\n      *(undefined4 *)((int)puVar3 + -0x14) = 0x119b97;\n      FUN_001807a0();\n    }\n  }" (if "if") (parenthesized_expression "((param_3 != 1) || (*param_2 != '.'))" (( "(") (binary_expression "(param_3 != 1) || (*param_2 != '.')" (parenthesized_expression "(param_3 != 1)" (( "(") (binary_expression "param_3 != 1" (identifier "param_3") (!= "!=") (number_literal "1")) () ")")) (|| "||") (parenthesized_expression "(*param_2 != '.')" (( "(") (binary_expression "*param_2 != '.'" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (!= "!=") (char_literal "'.'" (' "'") (character ".") (' "'"))) () ")"))) () ")")) (compound_statement "{\n    uStack_50 = 0;\n    local_34 = local_2c;\n    FUN_0004cf80(&local_34,param_2,param_2 + param_3);\n    uVar1 = FUN_0017eca0(local_34,local_30,0xc70f6907);\n    piVar2 = (int *)FUN_000b7b00(param_1 + 0x24,uVar1 % *(uint *)(param_1 + 0x28),&local_34,uVar1);\n    puVar3 = (undefined4 *)auStack_4c;\n    if ((piVar2 == (int *)0x0) || (*piVar2 == 0)) {\n      local_38 = param_1 + 0x40;\n                    \n      FUN_0011c640(local_44,local_38,&local_34,&local_38,0,1);\n      puVar3 = &uStack_50;\n    }\n    if (local_34 != local_2c) {\n      *(undefined1 **)((int)puVar3 + -0x10) = local_34;\n      *(undefined4 *)((int)puVar3 + -0x14) = 0x119b97;\n      FUN_001807a0();\n    }\n  }" ({ "{") (expression_statement "uStack_50 = 0;" (assignment_expression "uStack_50 = 0" (identifier "uStack_50") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_34 = local_2c;" (assignment_expression "local_34 = local_2c" (identifier "local_34") (= "=") (identifier "local_2c")) (; ";")) (expression_statement "FUN_0004cf80(&local_34,param_2,param_2 + param_3);" (call_expression "FUN_0004cf80(&local_34,param_2,param_2 + param_3)" (identifier "FUN_0004cf80") (argument_list "(&local_34,param_2,param_2 + param_3)" (( "(") (pointer_expression "&local_34" (& "&") (identifier "local_34")) (, ",") (identifier "param_2") (, ",") (binary_expression "param_2 + param_3" (identifier "param_2") (+ "+") (identifier "param_3")) () ")"))) (; ";")) (expression_statement "uVar1 = FUN_0017eca0(local_34,local_30,0xc70f6907);" (assignment_expression "uVar1 = FUN_0017eca0(local_34,local_30,0xc70f6907)" (identifier "uVar1") (= "=") (call_expression "FUN_0017eca0(local_34,local_30,0xc70f6907)" (identifier "FUN_0017eca0") (argument_list "(local_34,local_30,0xc70f6907)" (( "(") (identifier "local_34") (, ",") (identifier "local_30") (, ",") (number_literal "0xc70f6907") () ")")))) (; ";")) (expression_statement "piVar2 = (int *)FUN_000b7b00(param_1 + 0x24,uVar1 % *(uint *)(param_1 + 0x28),&local_34,uVar1);" (assignment_expression "piVar2 = (int *)FUN_000b7b00(param_1 + 0x24,uVar1 % *(uint *)(param_1 + 0x28),&local_34,uVar1)" (identifier "piVar2") (= "=") (cast_expression "(int *)FUN_000b7b00(param_1 + 0x24,uVar1 % *(uint *)(param_1 + 0x28),&local_34,uVar1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_000b7b00(param_1 + 0x24,uVar1 % *(uint *)(param_1 + 0x28),&local_34,uVar1)" (identifier "FUN_000b7b00") (argument_list "(param_1 + 0x24,uVar1 % *(uint *)(param_1 + 0x28),&local_34,uVar1)" (( "(") (binary_expression "param_1 + 0x24" (identifier "param_1") (+ "+") (number_literal "0x24")) (, ",") (binary_expression "uVar1 % *(uint *)(param_1 + 0x28)" (identifier "uVar1") (% "%") (pointer_expression "*(uint *)(param_1 + 0x28)" (* "*") (cast_expression "(uint *)(param_1 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")"))))) (, ",") (pointer_expression "&local_34" (& "&") (identifier "local_34")) (, ",") (identifier "uVar1") () ")"))))) (; ";")) (expression_statement "puVar3 = (undefined4 *)auStack_4c;" (assignment_expression "puVar3 = (undefined4 *)auStack_4c" (identifier "puVar3") (= "=") (cast_expression "(undefined4 *)auStack_4c" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "auStack_4c"))) (; ";")) (if_statement "if ((piVar2 == (int *)0x0) || (*piVar2 == 0)) {\n      local_38 = param_1 + 0x40;\n                    \n      FUN_0011c640(local_44,local_38,&local_34,&local_38,0,1);\n      puVar3 = &uStack_50;\n    }" (if "if") (parenthesized_expression "((piVar2 == (int *)0x0) || (*piVar2 == 0))" (( "(") (binary_expression "(piVar2 == (int *)0x0) || (*piVar2 == 0)" (parenthesized_expression "(piVar2 == (int *)0x0)" (( "(") (binary_expression "piVar2 == (int *)0x0" (identifier "piVar2") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(*piVar2 == 0)" (( "(") (binary_expression "*piVar2 == 0" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n      local_38 = param_1 + 0x40;\n                    \n      FUN_0011c640(local_44,local_38,&local_34,&local_38,0,1);\n      puVar3 = &uStack_50;\n    }" ({ "{") (expression_statement "local_38 = param_1 + 0x40;" (assignment_expression "local_38 = param_1 + 0x40" (identifier "local_38") (= "=") (binary_expression "param_1 + 0x40" (identifier "param_1") (+ "+") (number_literal "0x40"))) (; ";")) (expression_statement "FUN_0011c640(local_44,local_38,&local_34,&local_38,0,1);" (call_expression "FUN_0011c640(local_44,local_38,&local_34,&local_38,0,1)" (identifier "FUN_0011c640") (argument_list "(local_44,local_38,&local_34,&local_38,0,1)" (( "(") (identifier "local_44") (, ",") (identifier "local_38") (, ",") (pointer_expression "&local_34" (& "&") (identifier "local_34")) (, ",") (pointer_expression "&local_38" (& "&") (identifier "local_38")) (, ",") (number_literal "0") (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "puVar3 = &uStack_50;" (assignment_expression "puVar3 = &uStack_50" (identifier "puVar3") (= "=") (pointer_expression "&uStack_50" (& "&") (identifier "uStack_50"))) (; ";")) (} "}"))) (if_statement "if (local_34 != local_2c) {\n      *(undefined1 **)((int)puVar3 + -0x10) = local_34;\n      *(undefined4 *)((int)puVar3 + -0x14) = 0x119b97;\n      FUN_001807a0();\n    }" (if "if") (parenthesized_expression "(local_34 != local_2c)" (( "(") (binary_expression "local_34 != local_2c" (identifier "local_34") (!= "!=") (identifier "local_2c")) () ")")) (compound_statement "{\n      *(undefined1 **)((int)puVar3 + -0x10) = local_34;\n      *(undefined4 *)((int)puVar3 + -0x14) = 0x119b97;\n      FUN_001807a0();\n    }" ({ "{") (expression_statement "*(undefined1 **)((int)puVar3 + -0x10) = local_34;" (assignment_expression "*(undefined1 **)((int)puVar3 + -0x10) = local_34" (pointer_expression "*(undefined1 **)((int)puVar3 + -0x10)" (* "*") (cast_expression "(undefined1 **)((int)puVar3 + -0x10)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar3 + -0x10)" (( "(") (binary_expression "(int)puVar3 + -0x10" (cast_expression "(int)puVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar3")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_34")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar3 + -0x14) = 0x119b97;" (assignment_expression "*(undefined4 *)((int)puVar3 + -0x14) = 0x119b97" (pointer_expression "*(undefined4 *)((int)puVar3 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar3 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar3 + -0x14)" (( "(") (binary_expression "(int)puVar3 + -0x14" (cast_expression "(int)puVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar3")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x119b97")) (; ";")) (expression_statement "FUN_001807a0();" (call_expression "FUN_001807a0()" (identifier "FUN_001807a0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* DWARF original prototype: void add_symbol_reference(Script_options * this, char * name, size_t
   length) */

void __thiscall
gold::type_1::function_1(type_1 *this,char *var_4,size_t var_1)

{
  type_2 var_10;
  type_3 *var_11;
  type_4 local_44 [12];
  type_5 __node_gen;
  type_6 n;
  
  if ((var_1 != 1) || (*var_4 != '.')) {
    n._M_dataplus._M_p = (pointer)&n.field_2;
    std::__cxx11::basic_string<var_13,_std::char_traits<var_13>,_std::var_12<var_13>var_8>::
    var_2<var_3*>(&n,var_4,var_4 + var_1,0);
    var_10 = std::var_5(n._M_dataplus._M_p,n._M_string_length,0xc70f6907);
    var_11 = std::
             _Hashtable<std::__cxx11::basic_string<var_13,_std::char_traits<var_13>,_std::var_12<var_13>var_8>,_std::__cxx11::basic_string<var_13,_std::char_traits<var_13>,_std::var_12<var_13>var_8>,_std::var_12<std::__cxx11::basic_string<var_13,_std::char_traits<var_13>,_std::var_12<var_13>var_8>var_8>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<var_13,_std::char_traits<var_13>,_std::var_12<var_13>var_8>var_8>,_std::hash<std::__cxx11::basic_string<var_13,_std::char_traits<var_13>,_std::var_12<var_13>var_8>var_8>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::var_6<true,var_7,var_7>var_8>
             ::var_9
                       (&(this->symbol_definitions_)._M_h,
                        var_10 % (this->symbol_definitions_)._M_h._M_bucket_count,&n,var_10);
    if ((var_11 == (type_3 *)0x0) || (var_11->_M_nxt == (type_7 *)0x0)) {
      __node_gen._M_h = (type_8 *)&this->symbol_references_;
                    /* try { // try from 00119bc2 to 00119bc6 has its CatchHandler @ 00119bd3 */
      std::
      _Hashtable<std::__cxx11::basic_string<var_13,_std::char_traits<var_13>,_std::var_12<var_13>var_8>,_std::__cxx11::basic_string<var_13,_std::char_traits<var_13>,_std::var_12<var_13>var_8>,_std::var_12<std::__cxx11::basic_string<var_13,_std::char_traits<var_13>,_std::var_12<var_13>var_8>var_8>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<var_13,_std::char_traits<var_13>,_std::var_12<var_13>var_8>var_8>,_std::hash<std::__cxx11::basic_string<var_13,_std::char_traits<var_13>,_std::var_12<var_13>var_8>var_8>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::var_6<true,var_7,var_7>var_8>
      ::
      _M_insert<const_std::__cxx11::basic_string<var_13>&,_std::__detail::_AllocNode<std::var_12<std::__detail::_Hash_node<std::__cxx11::basic_string<var_13>,var_7>var_8>var_8>var_8>
                ((_Hashtable<std::__cxx11::basic_string<var_13,_std::char_traits<var_13>,_std::var_12<var_13>var_8>,_std::__cxx11::basic_string<var_13,_std::char_traits<var_13>,_std::var_12<var_13>var_8>,_std::var_12<std::__cxx11::basic_string<var_13,_std::char_traits<var_13>,_std::var_12<var_13>var_8>var_8>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<var_13,_std::char_traits<var_13>,_std::var_12<var_13>var_8>var_8>,_std::hash<std::__cxx11::basic_string<var_13,_std::char_traits<var_13>,_std::var_12<var_13>var_8>var_8>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::var_6<true,var_7,var_7>var_8>
                  *)local_44,__node_gen._M_h,&n,&__node_gen,0,1);
    }
    if ((anon_union_16_2_edb7204a_for_basic_string<var_13,_std::char_traits<var_13>,_std::var_12<var_13>var_8>var_14
         *)n._M_dataplus._M_p != &n.field_2) {
      var_15(n._M_dataplus._M_p);
    }
  }
  return;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (identifier)))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) 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: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (character)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (identifier) (binary_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (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)))))) (pointer_expression argument: (identifier)) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)) (number_literal) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))))) (return_statement))))

/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */

void MASKED(int param_1,char *param_2,int param_3)

{
  uint uVar1;
  int *piVar2;
  undefined4 *puVar3;
  undefined4 uStack_50;
  undefined1 auStack_4c [4];
  undefined **local_48;
  undefined1 local_44 [12];
  int local_38;
  undefined1 *local_34;
  undefined4 local_30;
  undefined1 local_2c [28];
  
  local_48 = &__DT_PLTGOT;
  if ((param_3 != 1) || (*param_2 != '.')) {
    uStack_50 = 0;
    local_34 = local_2c;
    FUN_0004cf80(&local_34,param_2,param_2 + param_3);
    uVar1 = FUN_0017eca0(local_34,local_30,0xc70f6907);
    piVar2 = (int *)FUN_000b7b00(param_1 + 0x24,uVar1 % *(uint *)(param_1 + 0x28),&local_34,uVar1);
    puVar3 = (undefined4 *)auStack_4c;
    if ((piVar2 == (int *)0x0) || (*piVar2 == 0)) {
      local_38 = param_1 + 0x40;
                    /* try { // try from 00119bc2 to 00119bc6 has its CatchHandler @ 00119bd3 */
      FUN_0011c640(local_44,local_38,&local_34,&local_38,0,1);
      puVar3 = &uStack_50;
    }
    if (local_34 != local_2c) {
      *(undefined1 **)((int)puVar3 + -0x10) = local_34;
      *(undefined4 *)((int)puVar3 + -0x14) = 0x119b97;
      FUN_001807a0();
    }
  }
  return;
}

