
/* DWARF original prototype: void add_absolute(Output_data_reloc<4,_true,_32,_false> * this, uint
   type, Output_data * od, Address address, Addend addend) */

void __thiscall
gold::Output_data_reloc<4,_true,_32,_false>::add_absolute
          (Output_data_reloc<4,_true,_32,_false> *this,uint type,Output_data *od,Address address,
          Addend addend)

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



void FUN_003f57c0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,
                 undefined4 param_5)

{
  undefined1 auStack_58 [32];
  undefined4 local_38;
  
  FUN_003d6ae0(auStack_58);
  local_38 = param_5;
  FUN_001c1470(param_1,param_3,auStack_58);
  return;
}


PUSH R13
MOV R13D,R8D
XOR R8D,R8D
PUSH R12
MOV R12,RDI
PUSH RBP
PUSH RBX
MOV RBX,RDX
SUB RSP,0x38
MOV RBP,RSP
MOV RDI,RBP
CALL 0x003d6ae0
MOV RDX,RBP
MOV RSI,RBX
MOV RDI,R12
MOV dword ptr [RSP + 0x20],R13D
CALL 0x001c1470
ADD RSP,0x38
POP RBX
POP RBP
POP R12
POP R13
RET
(translation_unit "void FUN_003f57c0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n                 undefined4 param_5)\n\n{\n  undefined1 auStack_58 [32];\n  undefined4 local_38;\n  \n  FUN_003d6ae0(auStack_58);\n  local_38 = param_5;\n  FUN_001c1470(param_1,param_3,auStack_58);\n  return;\n}\n\n" (function_definition "void FUN_003f57c0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n                 undefined4 param_5)\n\n{\n  undefined1 auStack_58 [32];\n  undefined4 local_38;\n  \n  FUN_003d6ae0(auStack_58);\n  local_38 = param_5;\n  FUN_001c1470(param_1,param_3,auStack_58);\n  return;\n}" primitive_type (function_declarator "FUN_003f57c0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n                 undefined4 param_5)" identifier (parameter_list "(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n                 undefined4 param_5)" ( (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 "undefined4 param_5" type_identifier identifier) ))) (compound_statement "{\n  undefined1 auStack_58 [32];\n  undefined4 local_38;\n  \n  FUN_003d6ae0(auStack_58);\n  local_38 = param_5;\n  FUN_001c1470(param_1,param_3,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_003d6ae0(auStack_58);" (call_expression "FUN_003d6ae0(auStack_58)" identifier (argument_list "(auStack_58)" ( identifier ))) ;) (expression_statement "local_38 = param_5;" (assignment_expression "local_38 = param_5" identifier = identifier) ;) (expression_statement "FUN_001c1470(param_1,param_3,auStack_58);" (call_expression "FUN_001c1470(param_1,param_3,auStack_58)" identifier (argument_list "(param_1,param_3,auStack_58)" ( identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit "/* DWARF original prototype: void add_absolute(Output_data_reloc<4,_true,_32,_false> * this, uint\n   type, Output_data * od, Address address, Addend addend) */\n\nvoid __thiscall\ngold::Output_data_reloc<4,_true,_32,_false>::add_absolute\n          (Output_data_reloc<4,_true,_32,_false> *this,uint type,Output_data *od,Address address,\n          Addend addend)\n\n{\n  Output_reloc_type OStack_58;\n  \n  Output_reloc<9,_true,_32,_false>::Output_reloc(&OStack_58.rel_,type,od,address,false);\n  OStack_58.addend_ = addend;\n  Output_data_reloc_base<4,_true,_32,_false>::add\n            (&this->super_Output_data_reloc_base<4,_true,_32,_false>,od,&OStack_58);\n  return;\n}\n\n" comment (declaration "void __thiscall\ngold::Output_data_reloc<4,_true,_32,_false>::add_absolute\n          (Output_data_reloc<4,_true,_32,_false> *this,uint type,Output_data *od,Address address,\n          Addend addend)\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 "_false>::add_absolute\n          (Output_data_reloc<4,_true,_32,_false> *this,uint type,Output_data *od,Address address,\n          Addend addend)\n\n{\n  Output_reloc_type" identifier > : : (function_declarator "add_absolute\n          (Output_data_reloc<4,_true,_32,_false> *this,uint type,Output_data *od,Address address,\n          Addend addend)" identifier (parameter_list "(Output_data_reloc<4,_true,_32,_false> *this,uint type,Output_data *od,Address address,\n          Addend addend)" ( (parameter_declaration "Output_data_reloc" type_identifier) (ERROR "<4" < number_literal) , (parameter_declaration "_true" type_identifier) , (parameter_declaration "_32" type_identifier) , (parameter_declaration "_false> *this" type_identifier (ERROR ">" >) (pointer_declarator "*this" * 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) ))) { identifier) identifier ;) (expression_statement "Output_reloc<9,_true,_32,_false>::Output_reloc(&OStack_58.rel_,type,od,address,false);" (update_expression "Output_reloc<9,_true,_32,_false>::Output_reloc(&OStack_58.rel_,type,od,address,false)" (binary_expression "Output_reloc<9,_true,_32,_false>::Output_reloc(&OStack_58.rel_,type,od,address,false)" (binary_expression "Output_reloc<9" identifier < number_literal) (ERROR ",_true,_32,_false" , identifier , identifier , identifier) > (ERROR "::" : :) (call_expression "Output_reloc(&OStack_58.rel_,type,od,address,false)" identifier (argument_list "(&OStack_58.rel_,type,od,address,false)" ( (pointer_expression "&OStack_58.rel_" & (field_expression "OStack_58.rel_" identifier . field_identifier)) , identifier , identifier , identifier , false )))) --) ;) (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,_false>::add\n            (&this->super_Output_data_reloc_base<4,_true,_32,_false>,od,&OStack_58);" (update_expression "Output_data_reloc_base<4,_true,_32,_false>::add\n            (&this->super_Output_data_reloc_base<4,_true,_32,_false>,od,&OStack_58)" (binary_expression "Output_data_reloc_base<4,_true,_32,_false>::add\n            (&this->super_Output_data_reloc_base<4,_true,_32,_false>,od,&OStack_58)" (binary_expression "Output_data_reloc_base<4" identifier < number_literal) (ERROR ",_true,_32,_false" , identifier , identifier , identifier) > (ERROR "::" : :) (call_expression "add\n            (&this->super_Output_data_reloc_base<4,_true,_32,_false>,od,&OStack_58)" identifier (argument_list "(&this->super_Output_data_reloc_base<4,_true,_32,_false>,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_003f57c0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n                 undefined4 param_5)\n\n{\n  undefined1 auStack_58 [32];\n  undefined4 local_38;\n  \n  FUN_003d6ae0(auStack_58);\n  local_38 = param_5;\n  FUN_001c1470(param_1,param_3,auStack_58);\n  return;\n}\n\n" (function_definition "void FUN_003f57c0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n                 undefined4 param_5)\n\n{\n  undefined1 auStack_58 [32];\n  undefined4 local_38;\n  \n  FUN_003d6ae0(auStack_58);\n  local_38 = param_5;\n  FUN_001c1470(param_1,param_3,auStack_58);\n  return;\n}" primitive_type (function_declarator "FUN_003f57c0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n                 undefined4 param_5)" identifier (parameter_list "(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n                 undefined4 param_5)" ( (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 "undefined4 param_5" type_identifier identifier) ))) (compound_statement "{\n  undefined1 auStack_58 [32];\n  undefined4 local_38;\n  \n  FUN_003d6ae0(auStack_58);\n  local_38 = param_5;\n  FUN_001c1470(param_1,param_3,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_003d6ae0(auStack_58);" (call_expression "FUN_003d6ae0(auStack_58)" identifier (argument_list "(auStack_58)" ( identifier ))) ;) (expression_statement "local_38 = param_5;" (assignment_expression "local_38 = param_5" identifier = identifier) ;) (expression_statement "FUN_001c1470(param_1,param_3,auStack_58);" (call_expression "FUN_001c1470(param_1,param_3,auStack_58)" identifier (argument_list "(param_1,param_3,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) ))) (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_003f57c0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n                 undefined4 param_5)\n\n{\n  undefined1 auStack_58 [32];\n  undefined4 local_38;\n  \n  FUN_003d6ae0(auStack_58);\n  local_38 = param_5;\n  FUN_001c1470(param_1,param_3,auStack_58);\n  return;\n}" (primitive_type "void") (function_declarator "FUN_003f57c0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n                 undefined4 param_5)" (identifier "FUN_003f57c0") (parameter_list "(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n                 undefined4 param_5)" (( "(") (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 "undefined4 param_5" (type_identifier "undefined4") (identifier "param_5")) () ")"))) (compound_statement "{\n  undefined1 auStack_58 [32];\n  undefined4 local_38;\n  \n  FUN_003d6ae0(auStack_58);\n  local_38 = param_5;\n  FUN_001c1470(param_1,param_3,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_003d6ae0(auStack_58);" (call_expression "FUN_003d6ae0(auStack_58)" (identifier "FUN_003d6ae0") (argument_list "(auStack_58)" (( "(") (identifier "auStack_58") () ")"))) (; ";")) (expression_statement "local_38 = param_5;" (assignment_expression "local_38 = param_5" (identifier "local_38") (= "=") (identifier "param_5")) (; ";")) (expression_statement "FUN_001c1470(param_1,param_3,auStack_58);" (call_expression "FUN_001c1470(param_1,param_3,auStack_58)" (identifier "FUN_001c1470") (argument_list "(param_1,param_3,auStack_58)" (( "(") (identifier "param_1") (, ",") (identifier "param_3") (, ",") (identifier "auStack_58") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* DWARF original prototype: void add_absolute(Output_data_reloc<4,_true,_32,_false> * this, uint
   type, Output_data * od, Address address, Addend addend) */

void __thiscall
gold::Output_data_reloc<4,_true,_32,_false>::add_absolute
          (Output_data_reloc<4,_true,_32,_false> *this,uint type,Output_data *od,Address address,
          Addend addend)

{
  Output_reloc_type OStack_58;
  
  var_1<9,_true,_32,_false>::var_1(&OStack_58.rel_,type,od,address,false);
  OStack_58.addend_ = addend;
  var_2<4,_true,_32,_false>::var_3
            (&this->super_Output_data_reloc_base<4,_true,_32,_false>,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)))) 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,
                 undefined4 param_5)

{
  undefined1 auStack_58 [32];
  undefined4 local_38;
  
  FUN_003d6ae0(auStack_58);
  local_38 = param_5;
  FUN_001c1470(param_1,param_3,auStack_58);
  return;
}

