
/* DWARF original prototype: void add_global_relative(Output_data_reloc<4,_true,_32,_true> * this,
   Symbol * gsym, uint type, Output_data * od, Address address, Addend addend, bool use_plt_offset)
    */

void __thiscall
gold::Output_data_reloc<4,_true,_32,_true>::add_global_relative
          (Output_data_reloc<4,_true,_32,_true> *this,Symbol *gsym,uint type,Output_data *od,
          Address address,Addend addend,bool use_plt_offset)

{
  Output_reloc_type OStack_58;
  
  Output_reloc<9,_true,_32,_true>::Output_reloc
            (&OStack_58.rel_,gsym,type,od,address,true,true,use_plt_offset);
  OStack_58.addend_ = addend;
  Output_data_reloc_base<4,_true,_32,_true>::add
            (&this->super_Output_data_reloc_base<4,_true,_32,_true>,od,&OStack_58);
  return;
}



void FUN_00224540(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,
                 undefined8 param_5,undefined4 param_6)

{
  undefined1 auStack_58 [32];
  undefined4 local_38;
  
  FUN_00204810(auStack_58);
  local_38 = param_6;
  FUN_002242b0(param_1,param_4,auStack_58);
  return;
}


PUSH R13
MOV R13D,R9D
MOV R9D,0x1
PUSH R12
MOV R12,RDI
PUSH RBP
PUSH RBX
MOV RBX,RCX
SUB RSP,0x38
MOVZX EAX,byte ptr [RSP + 0x60]
MOV RBP,RSP
MOV RDI,RBP
PUSH RAX
PUSH 0x1
CALL 0x00204810
MOV dword ptr [RSP + 0x30],R13D
MOV RSI,RBX
POP RAX
MOV RDI,R12
POP RDX
MOV RDX,RBP
CALL 0x002242b0
ADD RSP,0x38
POP RBX
POP RBP
POP R12
POP R13
RET
(translation_unit "void FUN_00224540(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n                 undefined8 param_5,undefined4 param_6)\n\n{\n  undefined1 auStack_58 [32];\n  undefined4 local_38;\n  \n  FUN_00204810(auStack_58);\n  local_38 = param_6;\n  FUN_002242b0(param_1,param_4,auStack_58);\n  return;\n}\n\n" (function_definition "void FUN_00224540(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n                 undefined8 param_5,undefined4 param_6)\n\n{\n  undefined1 auStack_58 [32];\n  undefined4 local_38;\n  \n  FUN_00204810(auStack_58);\n  local_38 = param_6;\n  FUN_002242b0(param_1,param_4,auStack_58);\n  return;\n}" primitive_type (function_declarator "FUN_00224540(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n                 undefined8 param_5,undefined4 param_6)" identifier (parameter_list "(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n                 undefined8 param_5,undefined4 param_6)" ( (parameter_declaration "undefined8 param_1" type_identifier identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) , (parameter_declaration "undefined8 param_3" type_identifier identifier) , (parameter_declaration "undefined8 param_4" type_identifier identifier) , (parameter_declaration "undefined8 param_5" type_identifier identifier) , (parameter_declaration "undefined4 param_6" type_identifier identifier) ))) (compound_statement "{\n  undefined1 auStack_58 [32];\n  undefined4 local_38;\n  \n  FUN_00204810(auStack_58);\n  local_38 = param_6;\n  FUN_002242b0(param_1,param_4,auStack_58);\n  return;\n}" { (declaration "undefined1 auStack_58 [32];" type_identifier (array_declarator "auStack_58 [32]" identifier [ number_literal ]) ;) (declaration "undefined4 local_38;" type_identifier identifier ;) (expression_statement "FUN_00204810(auStack_58);" (call_expression "FUN_00204810(auStack_58)" identifier (argument_list "(auStack_58)" ( identifier ))) ;) (expression_statement "local_38 = param_6;" (assignment_expression "local_38 = param_6" identifier = identifier) ;) (expression_statement "FUN_002242b0(param_1,param_4,auStack_58);" (call_expression "FUN_002242b0(param_1,param_4,auStack_58)" identifier (argument_list "(param_1,param_4,auStack_58)" ( identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit "/* DWARF original prototype: void add_global_relative(Output_data_reloc<4,_true,_32,_true> * this,\n   Symbol * gsym, uint type, Output_data * od, Address address, Addend addend, bool use_plt_offset)\n    */\n\nvoid __thiscall\ngold::Output_data_reloc<4,_true,_32,_true>::add_global_relative\n          (Output_data_reloc<4,_true,_32,_true> *this,Symbol *gsym,uint type,Output_data *od,\n          Address address,Addend addend,bool use_plt_offset)\n\n{\n  Output_reloc_type OStack_58;\n  \n  Output_reloc<9,_true,_32,_true>::Output_reloc\n            (&OStack_58.rel_,gsym,type,od,address,true,true,use_plt_offset);\n  OStack_58.addend_ = addend;\n  Output_data_reloc_base<4,_true,_32,_true>::add\n            (&this->super_Output_data_reloc_base<4,_true,_32,_true>,od,&OStack_58);\n  return;\n}\n\n" comment (declaration "void __thiscall\ngold::Output_data_reloc<4,_true,_32,_true>::add_global_relative\n          (Output_data_reloc<4,_true,_32,_true> *this,Symbol *gsym,uint type,Output_data *od,\n          Address address,Addend addend,bool use_plt_offset)\n\n{\n  Output_reloc_type OStack_58;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::" identifier : :) identifier (ERROR "<4" < number_literal) , identifier , identifier , (ERROR "_true>::add_global_relative\n          (Output_data_reloc<4,_true,_32,_true> *this,Symbol *gsym,uint type,Output_data *od,\n          Address address,Addend addend,bool use_plt_offset)\n\n{\n  Output_reloc_type" identifier > : : (function_declarator "add_global_relative\n          (Output_data_reloc<4,_true,_32,_true> *this,Symbol *gsym,uint type,Output_data *od,\n          Address address,Addend addend,bool use_plt_offset)" identifier (parameter_list "(Output_data_reloc<4,_true,_32,_true> *this,Symbol *gsym,uint type,Output_data *od,\n          Address address,Addend addend,bool use_plt_offset)" ( (parameter_declaration "Output_data_reloc" type_identifier) (ERROR "<4" < number_literal) , (parameter_declaration "_true" type_identifier) , (parameter_declaration "_32" type_identifier) , (parameter_declaration "_true> *this" type_identifier (ERROR ">" >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "Symbol *gsym" type_identifier (pointer_declarator "*gsym" * identifier)) , (parameter_declaration "uint type" type_identifier identifier) , (parameter_declaration "Output_data *od" type_identifier (pointer_declarator "*od" * identifier)) , (parameter_declaration "Address address" type_identifier identifier) , (parameter_declaration "Addend addend" type_identifier identifier) , (parameter_declaration "bool use_plt_offset" primitive_type identifier) ))) { identifier) identifier ;) (expression_statement "Output_reloc<9,_true,_32,_true>::Output_reloc\n            (&OStack_58.rel_,gsym,type,od,address,true,true,use_plt_offset);" (update_expression "Output_reloc<9,_true,_32,_true>::Output_reloc\n            (&OStack_58.rel_,gsym,type,od,address,true,true,use_plt_offset)" (binary_expression "Output_reloc<9,_true,_32,_true>::Output_reloc\n            (&OStack_58.rel_,gsym,type,od,address,true,true,use_plt_offset)" (binary_expression "Output_reloc<9" identifier < number_literal) (ERROR ",_true,_32,_true" , identifier , identifier , identifier) > (ERROR "::" : :) (call_expression "Output_reloc\n            (&OStack_58.rel_,gsym,type,od,address,true,true,use_plt_offset)" identifier (argument_list "(&OStack_58.rel_,gsym,type,od,address,true,true,use_plt_offset)" ( (pointer_expression "&OStack_58.rel_" & (field_expression "OStack_58.rel_" identifier . field_identifier)) , identifier , identifier , identifier , identifier , true , true , identifier )))) --) ;) (expression_statement "OStack_58.addend_ = addend;" (assignment_expression "OStack_58.addend_ = addend" (field_expression "OStack_58.addend_" identifier . field_identifier) = identifier) ;) (expression_statement "Output_data_reloc_base<4,_true,_32,_true>::add\n            (&this->super_Output_data_reloc_base<4,_true,_32,_true>,od,&OStack_58);" (update_expression "Output_data_reloc_base<4,_true,_32,_true>::add\n            (&this->super_Output_data_reloc_base<4,_true,_32,_true>,od,&OStack_58)" (binary_expression "Output_data_reloc_base<4,_true,_32,_true>::add\n            (&this->super_Output_data_reloc_base<4,_true,_32,_true>,od,&OStack_58)" (binary_expression "Output_data_reloc_base<4" identifier < number_literal) (ERROR ",_true,_32,_true" , identifier , identifier , identifier) > (ERROR "::" : :) (call_expression "add\n            (&this->super_Output_data_reloc_base<4,_true,_32,_true>,od,&OStack_58)" identifier (argument_list "(&this->super_Output_data_reloc_base<4,_true,_32,_true>,od,&OStack_58)" ( (binary_expression "&this->super_Output_data_reloc_base<4" (pointer_expression "&this->super_Output_data_reloc_base" & (field_expression "this->super_Output_data_reloc_base" identifier -> field_identifier)) < number_literal) , identifier , identifier , identifier (ERROR ">" >) , identifier , (pointer_expression "&OStack_58" & identifier) )))) --) ;) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit "void FUN_00224540(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n                 undefined8 param_5,undefined4 param_6)\n\n{\n  undefined1 auStack_58 [32];\n  undefined4 local_38;\n  \n  FUN_00204810(auStack_58);\n  local_38 = param_6;\n  FUN_002242b0(param_1,param_4,auStack_58);\n  return;\n}\n\n" (function_definition "void FUN_00224540(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n                 undefined8 param_5,undefined4 param_6)\n\n{\n  undefined1 auStack_58 [32];\n  undefined4 local_38;\n  \n  FUN_00204810(auStack_58);\n  local_38 = param_6;\n  FUN_002242b0(param_1,param_4,auStack_58);\n  return;\n}" primitive_type (function_declarator "FUN_00224540(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n                 undefined8 param_5,undefined4 param_6)" identifier (parameter_list "(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n                 undefined8 param_5,undefined4 param_6)" ( (parameter_declaration "undefined8 param_1" type_identifier identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) , (parameter_declaration "undefined8 param_3" type_identifier identifier) , (parameter_declaration "undefined8 param_4" type_identifier identifier) , (parameter_declaration "undefined8 param_5" type_identifier identifier) , (parameter_declaration "undefined4 param_6" type_identifier identifier) ))) (compound_statement "{\n  undefined1 auStack_58 [32];\n  undefined4 local_38;\n  \n  FUN_00204810(auStack_58);\n  local_38 = param_6;\n  FUN_002242b0(param_1,param_4,auStack_58);\n  return;\n}" { (declaration "undefined1 auStack_58 [32];" type_identifier (array_declarator "auStack_58 [32]" identifier [ number_literal ]) ;) (declaration "undefined4 local_38;" type_identifier identifier ;) (expression_statement "FUN_00204810(auStack_58);" (call_expression "FUN_00204810(auStack_58)" identifier (argument_list "(auStack_58)" ( identifier ))) ;) (expression_statement "local_38 = param_6;" (assignment_expression "local_38 = param_6" identifier = identifier) ;) (expression_statement "FUN_002242b0(param_1,param_4,auStack_58);" (call_expression "FUN_002242b0(param_1,param_4,auStack_58)" identifier (argument_list "(param_1,param_4,auStack_58)" ( identifier , identifier , identifier ))) ;) (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) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (return_statement return ;) })))
(function_definition "void FUN_00224540(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n                 undefined8 param_5,undefined4 param_6)\n\n{\n  undefined1 auStack_58 [32];\n  undefined4 local_38;\n  \n  FUN_00204810(auStack_58);\n  local_38 = param_6;\n  FUN_002242b0(param_1,param_4,auStack_58);\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00224540(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n                 undefined8 param_5,undefined4 param_6)" (identifier "FUN_00224540") (parameter_list "(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n                 undefined8 param_5,undefined4 param_6)" (( "(") (parameter_declaration "undefined8 param_1" (type_identifier "undefined8") (identifier "param_1")) (, ",") (parameter_declaration "undefined8 param_2" (type_identifier "undefined8") (identifier "param_2")) (, ",") (parameter_declaration "undefined8 param_3" (type_identifier "undefined8") (identifier "param_3")) (, ",") (parameter_declaration "undefined8 param_4" (type_identifier "undefined8") (identifier "param_4")) (, ",") (parameter_declaration "undefined8 param_5" (type_identifier "undefined8") (identifier "param_5")) (, ",") (parameter_declaration "undefined4 param_6" (type_identifier "undefined4") (identifier "param_6")) () ")"))) (compound_statement "{\n  undefined1 auStack_58 [32];\n  undefined4 local_38;\n  \n  FUN_00204810(auStack_58);\n  local_38 = param_6;\n  FUN_002242b0(param_1,param_4,auStack_58);\n  return;\n}" ({ "{") (declaration "undefined1 auStack_58 [32];" (type_identifier "undefined1") (array_declarator "auStack_58 [32]" (identifier "auStack_58") ([ "[") (number_literal "32") (] "]")) (; ";")) (declaration "undefined4 local_38;" (type_identifier "undefined4") (identifier "local_38") (; ";")) (expression_statement "FUN_00204810(auStack_58);" (call_expression "FUN_00204810(auStack_58)" (identifier "FUN_00204810") (argument_list "(auStack_58)" (( "(") (identifier "auStack_58") () ")"))) (; ";")) (expression_statement "local_38 = param_6;" (assignment_expression "local_38 = param_6" (identifier "local_38") (= "=") (identifier "param_6")) (; ";")) (expression_statement "FUN_002242b0(param_1,param_4,auStack_58);" (call_expression "FUN_002242b0(param_1,param_4,auStack_58)" (identifier "FUN_002242b0") (argument_list "(param_1,param_4,auStack_58)" (( "(") (identifier "param_1") (, ",") (identifier "param_4") (, ",") (identifier "auStack_58") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* DWARF original prototype: void add_global_relative(Output_data_reloc<4,_true,_32,_true> * this,
   Symbol * gsym, uint type, Output_data * od, Address address, Addend addend, bool use_plt_offset)
    */

void __thiscall
gold::Output_data_reloc<4,_true,_32,_true>::add_global_relative
          (Output_data_reloc<4,_true,_32,_true> *this,Symbol *gsym,uint type,Output_data *od,
          Address address,Addend addend,bool use_plt_offset)

{
  Output_reloc_type OStack_58;
  
  var_1<9,_true,_32,_true>::var_1
            (&OStack_58.rel_,gsym,type,od,address,true,true,use_plt_offset);
  OStack_58.addend_ = addend;
  var_2<4,_true,_32,_true>::var_3
            (&this->super_Output_data_reloc_base<4,_true,_32,_true>,od,&OStack_58);
  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)) (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier)))) (return_statement))))

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

{
  undefined1 auStack_58 [32];
  undefined4 local_38;
  
  FUN_00204810(auStack_58);
  local_38 = param_6;
  FUN_002242b0(param_1,param_4,auStack_58);
  return;
}

