
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* DWARF original prototype: void do_reserve_slot(Output_data_got<64,_false> * this, uint i) */

void __thiscall
gold::Output_data_got<64,_false>::do_reserve_slot(Output_data_got<64,_false> *this,uint i)

{
  uint uVar1;
  
  uVar1 = i * 0x40;
  (*(code *)PTR_remove_00433250)(&this->free_list_,uVar1,0,uVar1 >> 3,0,uVar1 + 0x40 >> 3);
  return;
}



/* gold::Output_data_got<64, false>::do_reserve_slot(unsigned int) */

void __thiscall
gold::Output_data_got<64,false>::do_reserve_slot(Output_data_got<64,false> *this,uint param_1)

{
  uint uVar1;
  
  uVar1 = param_1 * 0x40;
  (*(code *)PTR_remove_00433250)(this + 0x40,uVar1,0,uVar1 >> 3,0,uVar1 + 0x40 >> 3);
  return;
}


lui gp,0x2b
addiu gp,gp,-0x7cf8
addu gp,gp,t9
sll a1,a1,0x6
lw t9,-0x6f80(gp)
addiu sp,sp,-0x28
addiu v0,a1,0x40
or a2,zero,zero
srl v0,v0,0x3
sw ra,0x24(sp)
srl a3,a1,0x3
sw gp,0x18(sp)
addiu a0,a0,0x40
sw v0,0x14(sp)
jalr t9
_sw zero,0x10(sp)
lw ra,0x24(sp)
jr ra
_addiu sp,sp,0x28
(translation_unit "/* gold::Output_data_got<64, false>::do_reserve_slot(unsigned int) */\n\nvoid __thiscall\ngold::Output_data_got<64,false>::do_reserve_slot(Output_data_got<64,false> *this,uint param_1)\n\n{\n  uint uVar1;\n  \n  uVar1 = param_1 * 0x40;\n  (*(code *)PTR_remove_00433250)(this + 0x40,uVar1,0,uVar1 >> 3,0,uVar1 + 0x40 >> 3);\n  return;\n}\n\n" comment (declaration "void __thiscall\ngold::Output_data_got<64,false>::do_reserve_slot(Output_data_got<64,false> *this,uint param_1)\n\n{\n  uint uVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::" identifier : :) identifier (ERROR "<64" < number_literal) , (ERROR "false>::do_reserve_slot(Output_data_got<64,false> *this,uint param_1)\n\n{\n  uint" identifier > : : (function_declarator "do_reserve_slot(Output_data_got<64,false> *this,uint param_1)" identifier (parameter_list "(Output_data_got<64,false> *this,uint param_1)" ( (parameter_declaration "Output_data_got" type_identifier) (ERROR "<64" < number_literal) , (parameter_declaration "false> *this" type_identifier (ERROR ">" >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "uint param_1" type_identifier identifier) ))) { identifier) identifier ;) (expression_statement "uVar1 = param_1 * 0x40;" (assignment_expression "uVar1 = param_1 * 0x40" identifier = (binary_expression "param_1 * 0x40" identifier * number_literal)) ;) (expression_statement "(*(code *)PTR_remove_00433250)(this + 0x40,uVar1,0,uVar1 >> 3,0,uVar1 + 0x40 >> 3);" (call_expression "(*(code *)PTR_remove_00433250)(this + 0x40,uVar1,0,uVar1 >> 3,0,uVar1 + 0x40 >> 3)" (parenthesized_expression "(*(code *)PTR_remove_00433250)" ( (pointer_expression "*(code *)PTR_remove_00433250" * (cast_expression "(code *)PTR_remove_00433250" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(this + 0x40,uVar1,0,uVar1 >> 3,0,uVar1 + 0x40 >> 3)" ( (binary_expression "this + 0x40" identifier + number_literal) , identifier , number_literal , (binary_expression "uVar1 >> 3" identifier >> number_literal) , number_literal , (binary_expression "uVar1 + 0x40 >> 3" (binary_expression "uVar1 + 0x40" identifier + number_literal) >> number_literal) ))) ;) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit "/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */\n/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */\n/* DWARF original prototype: void do_reserve_slot(Output_data_got<64,_false> * this, uint i) */\n\nvoid __thiscall\ngold::Output_data_got<64,_false>::do_reserve_slot(Output_data_got<64,_false> *this,uint i)\n\n{\n  uint uVar1;\n  \n  uVar1 = i * 0x40;\n  (*(code *)PTR_remove_00433250)(&this->free_list_,uVar1,0,uVar1 >> 3,0,uVar1 + 0x40 >> 3);\n  return;\n}\n\n" comment comment comment (declaration "void __thiscall\ngold::Output_data_got<64,_false>::do_reserve_slot(Output_data_got<64,_false> *this,uint i)\n\n{\n  uint uVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::" identifier : :) identifier (ERROR "<64" < number_literal) , (ERROR "_false>::do_reserve_slot(Output_data_got<64,_false> *this,uint i)\n\n{\n  uint" identifier > : : (function_declarator "do_reserve_slot(Output_data_got<64,_false> *this,uint i)" identifier (parameter_list "(Output_data_got<64,_false> *this,uint i)" ( (parameter_declaration "Output_data_got" type_identifier) (ERROR "<64" < number_literal) , (parameter_declaration "_false> *this" type_identifier (ERROR ">" >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "uint i" type_identifier identifier) ))) { identifier) identifier ;) (expression_statement "uVar1 = i * 0x40;" (assignment_expression "uVar1 = i * 0x40" identifier = (binary_expression "i * 0x40" identifier * number_literal)) ;) (expression_statement "(*(code *)PTR_remove_00433250)(&this->free_list_,uVar1,0,uVar1 >> 3,0,uVar1 + 0x40 >> 3);" (call_expression "(*(code *)PTR_remove_00433250)(&this->free_list_,uVar1,0,uVar1 >> 3,0,uVar1 + 0x40 >> 3)" (parenthesized_expression "(*(code *)PTR_remove_00433250)" ( (pointer_expression "*(code *)PTR_remove_00433250" * (cast_expression "(code *)PTR_remove_00433250" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&this->free_list_,uVar1,0,uVar1 >> 3,0,uVar1 + 0x40 >> 3)" ( (pointer_expression "&this->free_list_" & (field_expression "this->free_list_" identifier -> field_identifier)) , identifier , number_literal , (binary_expression "uVar1 >> 3" identifier >> number_literal) , number_literal , (binary_expression "uVar1 + 0x40 >> 3" (binary_expression "uVar1 + 0x40" identifier + number_literal) >> number_literal) ))) ;) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit "void __thiscall\ngold::Output_data_got<64,false>::do_reserve_slot(Output_data_got<64,false> *this,uint param_1)\n\n{\n  uint uVar1;\n  \n  uVar1 = param_1 * 0x40;\n  (*(code *)PTR_remove_00433250)(this + 0x40,uVar1,0,uVar1 >> 3,0,uVar1 + 0x40 >> 3);\n  return;\n}\n\n" (declaration "void __thiscall\ngold::Output_data_got<64,false>::do_reserve_slot(Output_data_got<64,false> *this,uint param_1)\n\n{\n  uint uVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::" identifier : :) identifier (ERROR "<64" < number_literal) , (ERROR "false>::do_reserve_slot(Output_data_got<64,false> *this,uint param_1)\n\n{\n  uint" identifier > : : (function_declarator "do_reserve_slot(Output_data_got<64,false> *this,uint param_1)" identifier (parameter_list "(Output_data_got<64,false> *this,uint param_1)" ( (parameter_declaration "Output_data_got" type_identifier) (ERROR "<64" < number_literal) , (parameter_declaration "false> *this" type_identifier (ERROR ">" >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "uint param_1" type_identifier identifier) ))) { identifier) identifier ;) (expression_statement "uVar1 = param_1 * 0x40;" (assignment_expression "uVar1 = param_1 * 0x40" identifier = (binary_expression "param_1 * 0x40" identifier * number_literal)) ;) (expression_statement "(*(code *)PTR_remove_00433250)(this + 0x40,uVar1,0,uVar1 >> 3,0,uVar1 + 0x40 >> 3);" (call_expression "(*(code *)PTR_remove_00433250)(this + 0x40,uVar1,0,uVar1 >> 3,0,uVar1 + 0x40 >> 3)" (parenthesized_expression "(*(code *)PTR_remove_00433250)" ( (pointer_expression "*(code *)PTR_remove_00433250" * (cast_expression "(code *)PTR_remove_00433250" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(this + 0x40,uVar1,0,uVar1 >> 3,0,uVar1 + 0x40 >> 3)" ( (binary_expression "this + 0x40" identifier + number_literal) , identifier , number_literal , (binary_expression "uVar1 >> 3" identifier >> number_literal) , number_literal , (binary_expression "uVar1 + 0x40 >> 3" (binary_expression "uVar1 + 0x40" identifier + number_literal) >> number_literal) ))) ;) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit (declaration TYPE (ms_call_modifier __thiscall) (ERROR IDENT : :) IDENT (ERROR < LIT) , (ERROR IDENT > : : (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) (ERROR < LIT) , (parameter_declaration TYPE (ERROR >) (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) ))) { IDENT) IDENT ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , IDENT , LIT , (binary_expression IDENT >> LIT) , LIT , (binary_expression (binary_expression IDENT + LIT) >> LIT) ))) ;) (return_statement return ;) (ERROR }))
(declaration "void __thiscall\ngold::Output_data_got<64,false>::do_reserve_slot(Output_data_got<64,false> *this,uint param_1)\n\n{\n  uint uVar1;" (primitive_type "void") (ms_call_modifier "__thiscall" (__thiscall "__thiscall")) (ERROR "gold::" (identifier "gold") (: ":") (: ":")) (identifier "Output_data_got") (ERROR "<64" (< "<") (number_literal "64")) (, ",") (ERROR "false>::do_reserve_slot(Output_data_got<64,false> *this,uint param_1)\n\n{\n  uint" (identifier "false") (> ">") (: ":") (: ":") (function_declarator "do_reserve_slot(Output_data_got<64,false> *this,uint param_1)" (identifier "do_reserve_slot") (parameter_list "(Output_data_got<64,false> *this,uint param_1)" (( "(") (parameter_declaration "Output_data_got" (type_identifier "Output_data_got")) (ERROR "<64" (< "<") (number_literal "64")) (, ",") (parameter_declaration "false> *this" (type_identifier "false") (ERROR ">" (> ">")) (pointer_declarator "*this" (* "*") (identifier "this"))) (, ",") (parameter_declaration "uint param_1" (type_identifier "uint") (identifier "param_1")) () ")"))) ({ "{") (identifier "uint")) (identifier "uVar1") (; ";")) (expression_statement "uVar1 = param_1 * 0x40;" (assignment_expression "uVar1 = param_1 * 0x40" (identifier "uVar1") (= "=") (binary_expression "param_1 * 0x40" (identifier "param_1") (* "*") (number_literal "0x40"))) (; ";")) (expression_statement "(*(code *)PTR_remove_00433250)(this + 0x40,uVar1,0,uVar1 >> 3,0,uVar1 + 0x40 >> 3);" (call_expression "(*(code *)PTR_remove_00433250)(this + 0x40,uVar1,0,uVar1 >> 3,0,uVar1 + 0x40 >> 3)" (parenthesized_expression "(*(code *)PTR_remove_00433250)" (( "(") (pointer_expression "*(code *)PTR_remove_00433250" (* "*") (cast_expression "(code *)PTR_remove_00433250" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_remove_00433250"))) () ")")) (argument_list "(this + 0x40,uVar1,0,uVar1 >> 3,0,uVar1 + 0x40 >> 3)" (( "(") (binary_expression "this + 0x40" (identifier "this") (+ "+") (number_literal "0x40")) (, ",") (identifier "uVar1") (, ",") (number_literal "0") (, ",") (binary_expression "uVar1 >> 3" (identifier "uVar1") (>> ">>") (number_literal "3")) (, ",") (number_literal "0") (, ",") (binary_expression "uVar1 + 0x40 >> 3" (binary_expression "uVar1 + 0x40" (identifier "uVar1") (+ "+") (number_literal "0x40")) (>> ">>") (number_literal "3")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (ERROR "}" (} "}"))

/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* DWARF original prototype: void do_reserve_slot(Output_data_got<64,_false> * this, uint i) */

void __thiscall
gold::Output_data_got<64,_false>::do_reserve_slot(Output_data_got<64,_false> *this,uint var_1)

{
  uint var_2;
  
  var_2 = var_1 * 0x40;
  (*(type_1 *)PTR_remove_00433250)(&this->free_list_,var_2,0,var_2 >> 3,0,var_2 + 0x40 >> 3);
  return;
}


(translation_unit (declaration type: (primitive_type) declarator: (ms_call_modifier) (ERROR (identifier)) declarator: (identifier) (ERROR (number_literal)) (ERROR (identifier) (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier)) (ERROR (number_literal)) (parameter_declaration type: (type_identifier) (ERROR) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (identifier)))) (identifier)) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier) (number_literal) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))))) (return_statement) (ERROR))

/* gold::Output_data_got<64, false>::MASKED(unsigned int) */

void __thiscall
gold::Output_data_got<64,false>::MASKED(Output_data_got<64,false> *this,uint param_1)

{
  uint uVar1;
  
  uVar1 = param_1 * 0x40;
  (*(code *)PTR_remove_00433250)(this + 0x40,uVar1,0,uVar1 >> 3,0,uVar1 + 0x40 >> 3);
  return;
}

