
/* WARNING: Function: __x86.get_pc_thunk.si replaced with injection: get_pc_thunk_si */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "STT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* DWARF original name: gold_undefined_symbol_at_location<64, true> */

void __thiscall
gold::gold_undefined_symbol_at_location<64,_true>
          (gold *this,Symbol *sym,Relocate_info<64,_true> *relinfo,size_t relnum,off_t reloffset)

{
  Errors *this_00;
  string local_34;
  
  this_00 = parameters->errors_;
  Relocate_info<64,_true>::location
            (&local_34,(Relocate_info<64,_true> *)sym,(size_t)relinfo,
             CONCAT44((undefined4)reloffset,relnum));
                    /* try { // try from 000d2382 to 000d2386 has its CatchHandler @ 000d23a8 */
  Errors::undefined_symbol(this_00,(Symbol *)this,&local_34);
  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
       *)local_34._M_dataplus._M_p != &local_34.field_2) {
    operator_delete(local_34._M_dataplus._M_p);
  }
  return;
}



/* WARNING: Function: __i686.get_pc_thunk.si replaced with injection: get_pc_thunk_si */

void FUN_000d2340(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,
                 undefined4 param_5)

{
  undefined4 uVar1;
  undefined1 *local_34 [2];
  undefined1 local_2c [28];
  
  uVar1 = *DAT_004144e8;
  FUN_0013c0c0(local_34,param_2,param_3,param_4,param_5);
                    /* try { // try from 000d2382 to 000d2386 has its CatchHandler @ 000d23a8 */
  FUN_000d13c0(uVar1,param_1,local_34);
  if (local_34[0] != local_2c) {
    FUN_00248220(local_34[0]);
  }
  return;
}


PUSH EBP
MOV EBP,ESP
PUSH EDI
PUSH ESI
LEA EDI,[EBP + -0x30]
CALL 0x0004d336
ADD ESI,0x341cb3
PUSH EBX
SUB ESP,0x48
LEA EAX,[ESI + 0x4e8]
MOV EBX,ESI
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX]
PUSH dword ptr [EBP + 0x18]
PUSH dword ptr [EBP + 0x14]
PUSH dword ptr [EBP + 0x10]
PUSH dword ptr [EBP + 0xc]
PUSH EDI
MOV dword ptr [EBP + -0x3c],EAX
CALL 0x0013c0c0
ADD ESP,0x18
PUSH EDI
PUSH dword ptr [EBP + 0x8]
PUSH dword ptr [EBP + -0x3c]
CALL 0x000d13c0
MOV EAX,dword ptr [EBP + -0x30]
LEA EDX,[EBP + -0x28]
ADD ESP,0x10
CMP EAX,EDX
JZ 0x000d23a0
SUB ESP,0xc
PUSH EAX
CALL 0x00248220
ADD ESP,0x10
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
POP EDI
POP EBP
RET
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.si replaced with injection: get_pc_thunk_si */\n\nvoid FUN_000d2340(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n                 undefined4 param_5)\n\n{\n  undefined4 uVar1;\n  undefined1 *local_34 [2];\n  undefined1 local_2c [28];\n  \n  uVar1 = *DAT_004144e8;\n  FUN_0013c0c0(local_34,param_2,param_3,param_4,param_5);\n                    /* try { // try from 000d2382 to 000d2386 has its CatchHandler @ 000d23a8 */\n  FUN_000d13c0(uVar1,param_1,local_34);\n  if (local_34[0] != local_2c) {\n    FUN_00248220(local_34[0]);\n  }\n  return;\n}\n\n" comment (function_definition "void FUN_000d2340(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n                 undefined4 param_5)\n\n{\n  undefined4 uVar1;\n  undefined1 *local_34 [2];\n  undefined1 local_2c [28];\n  \n  uVar1 = *DAT_004144e8;\n  FUN_0013c0c0(local_34,param_2,param_3,param_4,param_5);\n                    /* try { // try from 000d2382 to 000d2386 has its CatchHandler @ 000d23a8 */\n  FUN_000d13c0(uVar1,param_1,local_34);\n  if (local_34[0] != local_2c) {\n    FUN_00248220(local_34[0]);\n  }\n  return;\n}" primitive_type (function_declarator "FUN_000d2340(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n                 undefined4 param_5)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n                 undefined4 param_5)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "undefined4 param_5" type_identifier identifier) ))) (compound_statement "{\n  undefined4 uVar1;\n  undefined1 *local_34 [2];\n  undefined1 local_2c [28];\n  \n  uVar1 = *DAT_004144e8;\n  FUN_0013c0c0(local_34,param_2,param_3,param_4,param_5);\n                    /* try { // try from 000d2382 to 000d2386 has its CatchHandler @ 000d23a8 */\n  FUN_000d13c0(uVar1,param_1,local_34);\n  if (local_34[0] != local_2c) {\n    FUN_00248220(local_34[0]);\n  }\n  return;\n}" { (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "undefined1 *local_34 [2];" type_identifier (pointer_declarator "*local_34 [2]" * (array_declarator "local_34 [2]" identifier [ number_literal ])) ;) (declaration "undefined1 local_2c [28];" type_identifier (array_declarator "local_2c [28]" identifier [ number_literal ]) ;) (expression_statement "uVar1 = *DAT_004144e8;" (assignment_expression "uVar1 = *DAT_004144e8" identifier = (pointer_expression "*DAT_004144e8" * identifier)) ;) (expression_statement "FUN_0013c0c0(local_34,param_2,param_3,param_4,param_5);" (call_expression "FUN_0013c0c0(local_34,param_2,param_3,param_4,param_5)" identifier (argument_list "(local_34,param_2,param_3,param_4,param_5)" ( identifier , identifier , identifier , identifier , identifier ))) ;) comment (expression_statement "FUN_000d13c0(uVar1,param_1,local_34);" (call_expression "FUN_000d13c0(uVar1,param_1,local_34)" identifier (argument_list "(uVar1,param_1,local_34)" ( identifier , identifier , identifier ))) ;) (if_statement "if (local_34[0] != local_2c) {\n    FUN_00248220(local_34[0]);\n  }" if (parenthesized_expression "(local_34[0] != local_2c)" ( (binary_expression "local_34[0] != local_2c" (subscript_expression "local_34[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n    FUN_00248220(local_34[0]);\n  }" { (expression_statement "FUN_00248220(local_34[0]);" (call_expression "FUN_00248220(local_34[0])" identifier (argument_list "(local_34[0])" ( (subscript_expression "local_34[0]" identifier [ number_literal ]) ))) ;) })) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.si replaced with injection: get_pc_thunk_si */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* WARNING: Enum "STT": Some values do not have unique names */\n/* WARNING: Enum "ELFOSABI": Some values do not have unique names */\n/* DWARF original name: gold_undefined_symbol_at_location<64, true> */\n\nvoid __thiscall\ngold::gold_undefined_symbol_at_location<64,_true>\n          (gold *this,Symbol *sym,Relocate_info<64,_true> *relinfo,size_t relnum,off_t reloffset)\n\n{\n  Errors *this_00;\n  string local_34;\n  \n  this_00 = parameters->errors_;\n  Relocate_info<64,_true>::location\n            (&local_34,(Relocate_info<64,_true> *)sym,(size_t)relinfo,\n             CONCAT44((undefined4)reloffset,relnum));\n                    /* try { // try from 000d2382 to 000d2386 has its CatchHandler @ 000d23a8 */\n  Errors::undefined_symbol(this_00,(Symbol *)this,&local_34);\n  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)local_34._M_dataplus._M_p != &local_34.field_2) {\n    operator_delete(local_34._M_dataplus._M_p);\n  }\n  return;\n}\n\n" comment comment comment comment comment (declaration "void __thiscall\ngold::gold_undefined_symbol_at_location<64,_true>\n          (gold *this,Symbol *sym,Relocate_info<64,_true> *relinfo,size_t relnum,off_t reloffset)\n\n{\n  Errors *this_00;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::" identifier : :) identifier (ERROR "<64" < number_literal) , (ERROR "_true>\n          (gold *this,Symbol *sym,Relocate_info<64,_true> *relinfo,size_t relnum,off_t reloffset)\n\n{\n  Errors" (function_declarator "_true>\n          (gold *this,Symbol *sym,Relocate_info<64,_true> *relinfo,size_t relnum,off_t reloffset)" identifier (ERROR ">" >) (parameter_list "(gold *this,Symbol *sym,Relocate_info<64,_true> *relinfo,size_t relnum,off_t reloffset)" ( (parameter_declaration "gold *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Symbol *sym" type_identifier (pointer_declarator "*sym" * identifier)) , (parameter_declaration "Relocate_info" type_identifier) (ERROR "<64" < number_literal) , (parameter_declaration "_true> *relinfo" type_identifier (ERROR ">" >) (pointer_declarator "*relinfo" * identifier)) , (parameter_declaration "size_t relnum" primitive_type identifier) , (parameter_declaration "off_t reloffset" type_identifier identifier) ))) { identifier) (pointer_declarator "*this_00" * identifier) ;) (declaration "string local_34;" type_identifier identifier ;) (expression_statement "this_00 = parameters->errors_;" (assignment_expression "this_00 = parameters->errors_" identifier = (field_expression "parameters->errors_" identifier -> field_identifier)) ;) (ERROR "Relocate_info<64,_true>::location\n            (&local_34,(Relocate_info<64,_true> *)sym,(size_t)relinfo,\n             CONCAT44((undefined4)reloffset,relnum));\n                    /* try { // try from 000d2382 to 000d2386 has its CatchHandler @ 000d23a8 */\n  Errors::undefined_symbol(this_00,(Symbol *)this,&local_34);\n  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)local_34._M_dataplus._M_p != &local_34.field_2) {\n    operator_delete(local_34._M_dataplus._M_p);\n  }\n  return;\n}" (binary_expression "Relocate_info<64,_true>::location\n            (&local_34,(Relocate_info<64,_true> *)sym,(size_t)relinfo,\n             CONCAT44((undefined4)reloffset,relnum));\n                    /* try { // try from 000d2382 to 000d2386 has its CatchHandler @ 000d23a8 */\n  Errors::undefined_symbol(this_00,(Symbol *)this,&local_34);\n  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)local_34._M_dataplus._M_p != &local_34.field_2) {\n    operator_delete(local_34._M_dataplus._M_p)" (binary_expression "Relocate_info<64" identifier < number_literal) (ERROR ",_true" , identifier) > (ERROR "::location\n            (&local_34,(Relocate_info<64,_true> *)sym,(size_t)relinfo,\n             CONCAT44((undefined4)reloffset,relnum));\n                    /* try { // try from 000d2382 to 000d2386 has its CatchHandler @ 000d23a8 */\n  Errors::undefined_symbol(this_00,(Symbol *)this,&local_34);\n  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)local_34._M_dataplus._M_p != &local_34.field_2) {" : : (call_expression "location\n            (&local_34,(Relocate_info<64,_true> *)sym,(size_t)relinfo,\n             CONCAT44((undefined4)reloffset,relnum));\n                    /* try { // try from 000d2382 to 000d2386 has its CatchHandler @ 000d23a8 */\n  Errors::undefined_symbol(this_00,(Symbol *)this,&local_34);\n  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)local_34._M_dataplus._M_p != &local_34.field_2)" identifier (argument_list "(&local_34,(Relocate_info<64,_true> *)sym,(size_t)relinfo,\n             CONCAT44((undefined4)reloffset,relnum));\n                    /* try { // try from 000d2382 to 000d2386 has its CatchHandler @ 000d23a8 */\n  Errors::undefined_symbol(this_00,(Symbol *)this,&local_34);\n  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)local_34._M_dataplus._M_p != &local_34.field_2)" ( (pointer_expression "&local_34" & identifier) , (ERROR "(Relocate_info<64,_true> *)sym,(size_t)relinfo,\n             CONCAT44((undefined4)reloffset,relnum));" (parenthesized_expression "(Relocate_info<64,_true> *)sym,(size_t)relinfo,\n             CONCAT44((undefined4)reloffset,relnum))" ( (comma_expression "Relocate_info<64,_true> *)sym,(size_t)relinfo,\n             CONCAT44((undefined4)reloffset,relnum)" (binary_expression "Relocate_info<64" identifier < number_literal) , (comma_expression "_true> *)sym,(size_t)relinfo,\n             CONCAT44((undefined4)reloffset,relnum)" (binary_expression "_true> *)sym" identifier > (pointer_expression "*)sym" * (ERROR ")" )) identifier)) , (comma_expression "(size_t)relinfo,\n             CONCAT44((undefined4)reloffset,relnum)" (cast_expression "(size_t)relinfo" ( (type_descriptor "size_t" primitive_type) ) identifier) , (call_expression "CONCAT44((undefined4)reloffset,relnum)" identifier (argument_list "((undefined4)reloffset,relnum)" ( (cast_expression "(undefined4)reloffset" ( (type_descriptor "undefined4" type_identifier) ) identifier) , identifier )))))) )) ;) comment (ERROR "Errors::" identifier : :) (call_expression "undefined_symbol(this_00,(Symbol *)this,&local_34)" identifier (argument_list "(this_00,(Symbol *)this,&local_34)" ( identifier , (cast_expression "(Symbol *)this" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (pointer_expression "&local_34" & identifier) ))) (ERROR ";\n  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>" ; if ( ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<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" identifier < identifier) >) , (ERROR "_std::" identifier : :) (binary_expression "allocator<char>_>_9\n       *)local_34._M_dataplus._M_p != &local_34.field_2" (binary_expression "allocator<char>_>_9\n       *)local_34._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n       *)local_34._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "local_34._M_dataplus._M_p" (field_expression "local_34._M_dataplus" identifier . field_identifier) . field_identifier))) != (pointer_expression "&local_34.field_2" & (field_expression "local_34.field_2" identifier . field_identifier))) ))) {) (call_expression "operator_delete(local_34._M_dataplus._M_p)" identifier (argument_list "(local_34._M_dataplus._M_p)" ( (field_expression "local_34._M_dataplus._M_p" (field_expression "local_34._M_dataplus" identifier . field_identifier) . field_identifier) )))) ; } return ; }))
(translation_unit "void FUN_000d2340(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n                 undefined4 param_5)\n\n{\n  undefined4 uVar1;\n  undefined1 *local_34 [2];\n  undefined1 local_2c [28];\n  \n  uVar1 = *DAT_004144e8;\n  FUN_0013c0c0(local_34,param_2,param_3,param_4,param_5);\n                    \n  FUN_000d13c0(uVar1,param_1,local_34);\n  if (local_34[0] != local_2c) {\n    FUN_00248220(local_34[0]);\n  }\n  return;\n}\n\n" (function_definition "void FUN_000d2340(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n                 undefined4 param_5)\n\n{\n  undefined4 uVar1;\n  undefined1 *local_34 [2];\n  undefined1 local_2c [28];\n  \n  uVar1 = *DAT_004144e8;\n  FUN_0013c0c0(local_34,param_2,param_3,param_4,param_5);\n                    \n  FUN_000d13c0(uVar1,param_1,local_34);\n  if (local_34[0] != local_2c) {\n    FUN_00248220(local_34[0]);\n  }\n  return;\n}" primitive_type (function_declarator "FUN_000d2340(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n                 undefined4 param_5)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n                 undefined4 param_5)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "undefined4 param_5" type_identifier identifier) ))) (compound_statement "{\n  undefined4 uVar1;\n  undefined1 *local_34 [2];\n  undefined1 local_2c [28];\n  \n  uVar1 = *DAT_004144e8;\n  FUN_0013c0c0(local_34,param_2,param_3,param_4,param_5);\n                    \n  FUN_000d13c0(uVar1,param_1,local_34);\n  if (local_34[0] != local_2c) {\n    FUN_00248220(local_34[0]);\n  }\n  return;\n}" { (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "undefined1 *local_34 [2];" type_identifier (pointer_declarator "*local_34 [2]" * (array_declarator "local_34 [2]" identifier [ number_literal ])) ;) (declaration "undefined1 local_2c [28];" type_identifier (array_declarator "local_2c [28]" identifier [ number_literal ]) ;) (expression_statement "uVar1 = *DAT_004144e8;" (assignment_expression "uVar1 = *DAT_004144e8" identifier = (pointer_expression "*DAT_004144e8" * identifier)) ;) (expression_statement "FUN_0013c0c0(local_34,param_2,param_3,param_4,param_5);" (call_expression "FUN_0013c0c0(local_34,param_2,param_3,param_4,param_5)" identifier (argument_list "(local_34,param_2,param_3,param_4,param_5)" ( identifier , identifier , identifier , identifier , identifier ))) ;) (expression_statement "FUN_000d13c0(uVar1,param_1,local_34);" (call_expression "FUN_000d13c0(uVar1,param_1,local_34)" identifier (argument_list "(uVar1,param_1,local_34)" ( identifier , identifier , identifier ))) ;) (if_statement "if (local_34[0] != local_2c) {\n    FUN_00248220(local_34[0]);\n  }" if (parenthesized_expression "(local_34[0] != local_2c)" ( (binary_expression "local_34[0] != local_2c" (subscript_expression "local_34[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n    FUN_00248220(local_34[0]);\n  }" { (expression_statement "FUN_00248220(local_34[0]);" (call_expression "FUN_00248220(local_34[0])" identifier (argument_list "(local_34[0])" ( (subscript_expression "local_34[0]" identifier [ number_literal ]) ))) ;) })) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) })) (return_statement return ;) })))
(function_definition "void FUN_000d2340(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n                 undefined4 param_5)\n\n{\n  undefined4 uVar1;\n  undefined1 *local_34 [2];\n  undefined1 local_2c [28];\n  \n  uVar1 = *DAT_004144e8;\n  FUN_0013c0c0(local_34,param_2,param_3,param_4,param_5);\n                    \n  FUN_000d13c0(uVar1,param_1,local_34);\n  if (local_34[0] != local_2c) {\n    FUN_00248220(local_34[0]);\n  }\n  return;\n}" (primitive_type "void") (function_declarator "FUN_000d2340(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n                 undefined4 param_5)" (identifier "FUN_000d2340") (parameter_list "(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n                 undefined4 param_5)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) (, ",") (parameter_declaration "undefined4 param_4" (type_identifier "undefined4") (identifier "param_4")) (, ",") (parameter_declaration "undefined4 param_5" (type_identifier "undefined4") (identifier "param_5")) () ")"))) (compound_statement "{\n  undefined4 uVar1;\n  undefined1 *local_34 [2];\n  undefined1 local_2c [28];\n  \n  uVar1 = *DAT_004144e8;\n  FUN_0013c0c0(local_34,param_2,param_3,param_4,param_5);\n                    \n  FUN_000d13c0(uVar1,param_1,local_34);\n  if (local_34[0] != local_2c) {\n    FUN_00248220(local_34[0]);\n  }\n  return;\n}" ({ "{") (declaration "undefined4 uVar1;" (type_identifier "undefined4") (identifier "uVar1") (; ";")) (declaration "undefined1 *local_34 [2];" (type_identifier "undefined1") (pointer_declarator "*local_34 [2]" (* "*") (array_declarator "local_34 [2]" (identifier "local_34") ([ "[") (number_literal "2") (] "]"))) (; ";")) (declaration "undefined1 local_2c [28];" (type_identifier "undefined1") (array_declarator "local_2c [28]" (identifier "local_2c") ([ "[") (number_literal "28") (] "]")) (; ";")) (expression_statement "uVar1 = *DAT_004144e8;" (assignment_expression "uVar1 = *DAT_004144e8" (identifier "uVar1") (= "=") (pointer_expression "*DAT_004144e8" (* "*") (identifier "DAT_004144e8"))) (; ";")) (expression_statement "FUN_0013c0c0(local_34,param_2,param_3,param_4,param_5);" (call_expression "FUN_0013c0c0(local_34,param_2,param_3,param_4,param_5)" (identifier "FUN_0013c0c0") (argument_list "(local_34,param_2,param_3,param_4,param_5)" (( "(") (identifier "local_34") (, ",") (identifier "param_2") (, ",") (identifier "param_3") (, ",") (identifier "param_4") (, ",") (identifier "param_5") () ")"))) (; ";")) (expression_statement "FUN_000d13c0(uVar1,param_1,local_34);" (call_expression "FUN_000d13c0(uVar1,param_1,local_34)" (identifier "FUN_000d13c0") (argument_list "(uVar1,param_1,local_34)" (( "(") (identifier "uVar1") (, ",") (identifier "param_1") (, ",") (identifier "local_34") () ")"))) (; ";")) (if_statement "if (local_34[0] != local_2c) {\n    FUN_00248220(local_34[0]);\n  }" (if "if") (parenthesized_expression "(local_34[0] != local_2c)" (( "(") (binary_expression "local_34[0] != local_2c" (subscript_expression "local_34[0]" (identifier "local_34") ([ "[") (number_literal "0") (] "]")) (!= "!=") (identifier "local_2c")) () ")")) (compound_statement "{\n    FUN_00248220(local_34[0]);\n  }" ({ "{") (expression_statement "FUN_00248220(local_34[0]);" (call_expression "FUN_00248220(local_34[0])" (identifier "FUN_00248220") (argument_list "(local_34[0])" (( "(") (subscript_expression "local_34[0]" (identifier "local_34") ([ "[") (number_literal "0") (] "]")) () ")"))) (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.si replaced with injection: get_pc_thunk_si */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "STT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* DWARF original name: gold_undefined_symbol_at_location<64, true> */

void __thiscall
gold::gold_undefined_symbol_at_location<64,_true>
          (gold *this,Symbol *sym,Relocate_info<64,_true> *relinfo,size_t relnum,off_t reloffset)

{
  Errors *this_00;
  type_1 local_34;
  
  this_00 = parameters->errors_;
  Relocate_info<64,_true>::location
            (&local_34,(Relocate_info<64,_true> *)sym,(size_t)relinfo,
             CONCAT44((undefined4)reloffset,relnum));
                    /* try { // try from 000d2382 to 000d2386 has its CatchHandler @ 000d23a8 */
  Errors::undefined_symbol(this_00,(Symbol *)this,&local_34);
  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
       *)local_34._M_dataplus._M_p != &local_34.field_2) {
    operator_delete(local_34._M_dataplus._M_p);
  }
  return;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (array_declarator declarator: (identifier) size: (number_literal)))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))))) (return_statement))))

/* WARNING: Function: __i686.get_pc_thunk.si replaced with injection: get_pc_thunk_si */

void MASKED(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,
                 undefined4 param_5)

{
  undefined4 uVar1;
  undefined1 *local_34 [2];
  undefined1 local_2c [28];
  
  uVar1 = *DAT_004144e8;
  FUN_0013c0c0(local_34,param_2,param_3,param_4,param_5);
                    /* try { // try from 000d2382 to 000d2386 has its CatchHandler @ 000d23a8 */
  FUN_000d13c0(uVar1,param_1,local_34);
  if (local_34[0] != local_2c) {
    FUN_00248220(local_34[0]);
  }
  return;
}

