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

void __thiscall gold::Output_data_got<64,_false>::set_got_size(Output_data_got<64,_false> *this)

{
  pointer pGVar1;
  undefined4 *puVar2;
  pointer pGVar3;
  
  pGVar3 = (this->entries_).
           super__Vector_base<gold::Output_data_got<64,_false>::Got_entry,_std::allocator<gold::Output_data_got<64,_false>::Got_entry>_>
           ._M_impl._M_start;
  pGVar1 = (this->entries_).
           super__Vector_base<gold::Output_data_got<64,_false>::Got_entry,_std::allocator<gold::Output_data_got<64,_false>::Got_entry>_>
           ._M_impl._M_finish;
  if (-1 < *(int *)&(this->super_Output_data_got_base).super_Output_section_data_build.
                    super_Output_section_data.super_Output_data.field_0x20 << 1) {
    *(undefined4 *)
     &(this->super_Output_data_got_base).super_Output_section_data_build.super_Output_section_data.
      super_Output_data.data_size_ = 0;
    *(int *)((int)&(this->super_Output_data_got_base).super_Output_section_data_build.
                   super_Output_section_data.super_Output_data.data_size_ + 4) =
         ((int)pGVar1 - (int)pGVar3 >> 3) * 0x55555558;
    return;
  }
  puVar2 = (undefined4 *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574);
  (*(code *)PTR_do_gold_unreachable_004c1a30)
            (puVar2,0x231,PTR_s_in_a_linker_script_004c191c + -0x2b1c);
  puVar2[4] = 0;
  *puVar2 = 0;
  puVar2[5] = 0;
  puVar2[1] = 0;
  puVar2[2] = 0xfffffffa;
  return;
}



void FUN_0022e86c(int param_1)

{
  if (-1 < *(int *)(param_1 + 0x20) << 1) {
    *(undefined4 *)(param_1 + 0x10) = 0;
    *(int *)(param_1 + 0x14) =
         (*(int *)(param_1 + 0x34) - *(int *)(param_1 + 0x30) >> 3) * 0x55555558;
    return;
  }
  (*(code *)PTR_do_gold_unreachable_004c1a30)
            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,
             PTR_s_in_a_linker_script_004c191c + -0x2b1c);
  return;
}


lui gp,0x2a
addiu gp,gp,-0x562c
addu gp,gp,t9
lw a1,0x30(a0)
lw v0,0x34(a0)
lw v1,0x20(a0)
subu v0,v0,a1
lui a1,0xaaaa
sra v0,v0,0x3
ext v1,v1,0x1e,0x1
ori a1,a1,0xaaab
bne v1,zero,0x0022e8b0
_mul v0,v0,a1
sll v0,v0,0x3
sw zero,0x10(a0)
jr ra
_sw v0,0x14(a0)
lw a2,-0x7924(gp)
addiu sp,sp,-0x20
lw a0,-0x7fc4(gp)
li a1,0x231
lw t9,-0x7810(gp)
addiu a2,a2,-0x2b1c
sw gp,0x10(sp)
sw ra,0x1c(sp)
jalr t9
_addiu a0,a0,0x3574
(translation_unit "void FUN_0022e86c(int param_1)\n\n{\n  if (-1 < *(int *)(param_1 + 0x20) << 1) {\n    *(undefined4 *)(param_1 + 0x10) = 0;\n    *(int *)(param_1 + 0x14) =\n         (*(int *)(param_1 + 0x34) - *(int *)(param_1 + 0x30) >> 3) * 0x55555558;\n    return;\n  }\n  (*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n             PTR_s_in_a_linker_script_004c191c + -0x2b1c);\n  return;\n}\n\n" (function_definition "void FUN_0022e86c(int param_1)\n\n{\n  if (-1 < *(int *)(param_1 + 0x20) << 1) {\n    *(undefined4 *)(param_1 + 0x10) = 0;\n    *(int *)(param_1 + 0x14) =\n         (*(int *)(param_1 + 0x34) - *(int *)(param_1 + 0x30) >> 3) * 0x55555558;\n    return;\n  }\n  (*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n             PTR_s_in_a_linker_script_004c191c + -0x2b1c);\n  return;\n}" primitive_type (function_declarator "FUN_0022e86c(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  if (-1 < *(int *)(param_1 + 0x20) << 1) {\n    *(undefined4 *)(param_1 + 0x10) = 0;\n    *(int *)(param_1 + 0x14) =\n         (*(int *)(param_1 + 0x34) - *(int *)(param_1 + 0x30) >> 3) * 0x55555558;\n    return;\n  }\n  (*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n             PTR_s_in_a_linker_script_004c191c + -0x2b1c);\n  return;\n}" { (if_statement "if (-1 < *(int *)(param_1 + 0x20) << 1) {\n    *(undefined4 *)(param_1 + 0x10) = 0;\n    *(int *)(param_1 + 0x14) =\n         (*(int *)(param_1 + 0x34) - *(int *)(param_1 + 0x30) >> 3) * 0x55555558;\n    return;\n  }" if (parenthesized_expression "(-1 < *(int *)(param_1 + 0x20) << 1)" ( (binary_expression "-1 < *(int *)(param_1 + 0x20) << 1" number_literal < (binary_expression "*(int *)(param_1 + 0x20) << 1" (pointer_expression "*(int *)(param_1 + 0x20)" * (cast_expression "(int *)(param_1 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) << number_literal)) )) (compound_statement "{\n    *(undefined4 *)(param_1 + 0x10) = 0;\n    *(int *)(param_1 + 0x14) =\n         (*(int *)(param_1 + 0x34) - *(int *)(param_1 + 0x30) >> 3) * 0x55555558;\n    return;\n  }" { (expression_statement "*(undefined4 *)(param_1 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x10) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x10)" * (cast_expression "(undefined4 *)(param_1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(param_1 + 0x14) =\n         (*(int *)(param_1 + 0x34) - *(int *)(param_1 + 0x30) >> 3) * 0x55555558;" (assignment_expression "*(int *)(param_1 + 0x14) =\n         (*(int *)(param_1 + 0x34) - *(int *)(param_1 + 0x30) >> 3) * 0x55555558" (pointer_expression "*(int *)(param_1 + 0x14)" * (cast_expression "(int *)(param_1 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) = (binary_expression "(*(int *)(param_1 + 0x34) - *(int *)(param_1 + 0x30) >> 3) * 0x55555558" (parenthesized_expression "(*(int *)(param_1 + 0x34) - *(int *)(param_1 + 0x30) >> 3)" ( (binary_expression "*(int *)(param_1 + 0x34) - *(int *)(param_1 + 0x30) >> 3" (binary_expression "*(int *)(param_1 + 0x34) - *(int *)(param_1 + 0x30)" (pointer_expression "*(int *)(param_1 + 0x34)" * (cast_expression "(int *)(param_1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) )))) - (pointer_expression "*(int *)(param_1 + 0x30)" * (cast_expression "(int *)(param_1 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) >> number_literal) )) * number_literal)) ;) (return_statement "return;" return ;) })) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n             PTR_s_in_a_linker_script_004c191c + -0x2b1c);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n             PTR_s_in_a_linker_script_004c191c + -0x2b1c)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n             PTR_s_in_a_linker_script_004c191c + -0x2b1c)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" identifier + number_literal) , number_literal , (binary_expression "PTR_s_in_a_linker_script_004c191c + -0x2b1c" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })))
(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 set_got_size(Output_data_got<64,_false> * this) */\n\nvoid __thiscall gold::Output_data_got<64,_false>::set_got_size(Output_data_got<64,_false> *this)\n\n{\n  pointer pGVar1;\n  undefined4 *puVar2;\n  pointer pGVar3;\n  \n  pGVar3 = (this->entries_).\n           super__Vector_base<gold::Output_data_got<64,_false>::Got_entry,_std::allocator<gold::Output_data_got<64,_false>::Got_entry>_>\n           ._M_impl._M_start;\n  pGVar1 = (this->entries_).\n           super__Vector_base<gold::Output_data_got<64,_false>::Got_entry,_std::allocator<gold::Output_data_got<64,_false>::Got_entry>_>\n           ._M_impl._M_finish;\n  if (-1 < *(int *)&(this->super_Output_data_got_base).super_Output_section_data_build.\n                    super_Output_section_data.super_Output_data.field_0x20 << 1) {\n    *(undefined4 *)\n     &(this->super_Output_data_got_base).super_Output_section_data_build.super_Output_section_data.\n      super_Output_data.data_size_ = 0;\n    *(int *)((int)&(this->super_Output_data_got_base).super_Output_section_data_build.\n                   super_Output_section_data.super_Output_data.data_size_ + 4) =\n         ((int)pGVar1 - (int)pGVar3 >> 3) * 0x55555558;\n    return;\n  }\n  puVar2 = (undefined4 *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574);\n  (*(code *)PTR_do_gold_unreachable_004c1a30)\n            (puVar2,0x231,PTR_s_in_a_linker_script_004c191c + -0x2b1c);\n  puVar2[4] = 0;\n  *puVar2 = 0;\n  puVar2[5] = 0;\n  puVar2[1] = 0;\n  puVar2[2] = 0xfffffffa;\n  return;\n}\n\n" comment comment comment (declaration "void __thiscall gold::Output_data_got<64,_false>::set_got_size(Output_data_got<64,_false> *this)\n\n{\n  pointer pGVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::" identifier : :) identifier (ERROR "<64" < number_literal) , (ERROR "_false>::set_got_size(Output_data_got<64,_false> *this)\n\n{\n  pointer" identifier > : : (function_declarator "set_got_size(Output_data_got<64,_false> *this)" identifier (parameter_list "(Output_data_got<64,_false> *this)" ( (parameter_declaration "Output_data_got" type_identifier) (ERROR "<64" < number_literal) , (parameter_declaration "_false> *this" type_identifier (ERROR ">" >) (pointer_declarator "*this" * identifier)) ))) { identifier) identifier ;) (declaration "undefined4 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "pointer pGVar3;" type_identifier identifier ;) (expression_statement "pGVar3 = (this->entries_).\n           super__Vector_base<gold::Output_data_got<64,_false>::Got_entry,_std::allocator<gold::Output_data_got<64,_false>::Got_entry>_>\n           ._M_impl._M_start;" (field_expression "pGVar3 = (this->entries_).\n           super__Vector_base<gold::Output_data_got<64,_false>::Got_entry,_std::allocator<gold::Output_data_got<64,_false>::Got_entry>_>\n           ._M_impl._M_start" (field_expression "pGVar3 = (this->entries_).\n           super__Vector_base<gold::Output_data_got<64,_false>::Got_entry,_std::allocator<gold::Output_data_got<64,_false>::Got_entry>_>\n           ._M_impl" (binary_expression "pGVar3 = (this->entries_).\n           super__Vector_base<gold::Output_data_got<64,_false>::Got_entry,_std::allocator<gold::Output_data_got<64,_false>::Got_entry>_" (binary_expression "pGVar3 = (this->entries_).\n           super__Vector_base<gold::Output_data_got<64,_false>::Got_entry,_std::allocator<gold::Output_data_got<64,_false>::Got_entry" (binary_expression "pGVar3 = (this->entries_).\n           super__Vector_base<gold::Output_data_got<64,_false>::Got_entry,_std::allocator<gold::Output_data_got<64" (binary_expression "pGVar3 = (this->entries_).\n           super__Vector_base<gold::Output_data_got<64,_false>::Got_entry,_std::allocator<gold" (binary_expression "pGVar3 = (this->entries_).\n           super__Vector_base<gold::Output_data_got<64,_false>::Got_entry" (binary_expression "pGVar3 = (this->entries_).\n           super__Vector_base<gold::Output_data_got<64" (assignment_expression "pGVar3 = (this->entries_).\n           super__Vector_base<gold" identifier = (binary_expression "(this->entries_).\n           super__Vector_base<gold" (field_expression "(this->entries_).\n           super__Vector_base" (parenthesized_expression "(this->entries_)" ( (field_expression "this->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_data_got" : : identifier) < number_literal) (ERROR ",_false" , identifier) > (ERROR "::" : :) identifier) (ERROR ",_std::allocator" , identifier : : identifier) < identifier) (ERROR "::Output_data_got" : : identifier) < number_literal) (ERROR ",_false" , identifier) > (ERROR "::" : :) identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (expression_statement "pGVar1 = (this->entries_).\n           super__Vector_base<gold::Output_data_got<64,_false>::Got_entry,_std::allocator<gold::Output_data_got<64,_false>::Got_entry>_>\n           ._M_impl._M_finish;" (field_expression "pGVar1 = (this->entries_).\n           super__Vector_base<gold::Output_data_got<64,_false>::Got_entry,_std::allocator<gold::Output_data_got<64,_false>::Got_entry>_>\n           ._M_impl._M_finish" (field_expression "pGVar1 = (this->entries_).\n           super__Vector_base<gold::Output_data_got<64,_false>::Got_entry,_std::allocator<gold::Output_data_got<64,_false>::Got_entry>_>\n           ._M_impl" (binary_expression "pGVar1 = (this->entries_).\n           super__Vector_base<gold::Output_data_got<64,_false>::Got_entry,_std::allocator<gold::Output_data_got<64,_false>::Got_entry>_" (binary_expression "pGVar1 = (this->entries_).\n           super__Vector_base<gold::Output_data_got<64,_false>::Got_entry,_std::allocator<gold::Output_data_got<64,_false>::Got_entry" (binary_expression "pGVar1 = (this->entries_).\n           super__Vector_base<gold::Output_data_got<64,_false>::Got_entry,_std::allocator<gold::Output_data_got<64" (binary_expression "pGVar1 = (this->entries_).\n           super__Vector_base<gold::Output_data_got<64,_false>::Got_entry,_std::allocator<gold" (binary_expression "pGVar1 = (this->entries_).\n           super__Vector_base<gold::Output_data_got<64,_false>::Got_entry" (binary_expression "pGVar1 = (this->entries_).\n           super__Vector_base<gold::Output_data_got<64" (assignment_expression "pGVar1 = (this->entries_).\n           super__Vector_base<gold" identifier = (binary_expression "(this->entries_).\n           super__Vector_base<gold" (field_expression "(this->entries_).\n           super__Vector_base" (parenthesized_expression "(this->entries_)" ( (field_expression "this->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_data_got" : : identifier) < number_literal) (ERROR ",_false" , identifier) > (ERROR "::" : :) identifier) (ERROR ",_std::allocator" , identifier : : identifier) < identifier) (ERROR "::Output_data_got" : : identifier) < number_literal) (ERROR ",_false" , identifier) > (ERROR "::" : :) identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if (-1 < *(int *)&(this->super_Output_data_got_base).super_Output_section_data_build.\n                    super_Output_section_data.super_Output_data.field_0x20 << 1) {\n    *(undefined4 *)\n     &(this->super_Output_data_got_base).super_Output_section_data_build.super_Output_section_data.\n      super_Output_data.data_size_ = 0;\n    *(int *)((int)&(this->super_Output_data_got_base).super_Output_section_data_build.\n                   super_Output_section_data.super_Output_data.data_size_ + 4) =\n         ((int)pGVar1 - (int)pGVar3 >> 3) * 0x55555558;\n    return;\n  }" if (parenthesized_expression "(-1 < *(int *)&(this->super_Output_data_got_base).super_Output_section_data_build.\n                    super_Output_section_data.super_Output_data.field_0x20 << 1)" ( (binary_expression "-1 < *(int *)&(this->super_Output_data_got_base).super_Output_section_data_build.\n                    super_Output_section_data.super_Output_data.field_0x20 << 1" number_literal < (binary_expression "*(int *)&(this->super_Output_data_got_base).super_Output_section_data_build.\n                    super_Output_section_data.super_Output_data.field_0x20 << 1" (pointer_expression "*(int *)&(this->super_Output_data_got_base).super_Output_section_data_build.\n                    super_Output_section_data.super_Output_data.field_0x20" * (cast_expression "(int *)&(this->super_Output_data_got_base).super_Output_section_data_build.\n                    super_Output_section_data.super_Output_data.field_0x20" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(this->super_Output_data_got_base).super_Output_section_data_build.\n                    super_Output_section_data.super_Output_data.field_0x20" & (field_expression "(this->super_Output_data_got_base).super_Output_section_data_build.\n                    super_Output_section_data.super_Output_data.field_0x20" (field_expression "(this->super_Output_data_got_base).super_Output_section_data_build.\n                    super_Output_section_data.super_Output_data" (field_expression "(this->super_Output_data_got_base).super_Output_section_data_build.\n                    super_Output_section_data" (field_expression "(this->super_Output_data_got_base).super_Output_section_data_build" (parenthesized_expression "(this->super_Output_data_got_base)" ( (field_expression "this->super_Output_data_got_base" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier)))) << number_literal)) )) (compound_statement "{\n    *(undefined4 *)\n     &(this->super_Output_data_got_base).super_Output_section_data_build.super_Output_section_data.\n      super_Output_data.data_size_ = 0;\n    *(int *)((int)&(this->super_Output_data_got_base).super_Output_section_data_build.\n                   super_Output_section_data.super_Output_data.data_size_ + 4) =\n         ((int)pGVar1 - (int)pGVar3 >> 3) * 0x55555558;\n    return;\n  }" { (expression_statement "*(undefined4 *)\n     &(this->super_Output_data_got_base).super_Output_section_data_build.super_Output_section_data.\n      super_Output_data.data_size_ = 0;" (assignment_expression "*(undefined4 *)\n     &(this->super_Output_data_got_base).super_Output_section_data_build.super_Output_section_data.\n      super_Output_data.data_size_ = 0" (pointer_expression "*(undefined4 *)\n     &(this->super_Output_data_got_base).super_Output_section_data_build.super_Output_section_data.\n      super_Output_data.data_size_" * (cast_expression "(undefined4 *)\n     &(this->super_Output_data_got_base).super_Output_section_data_build.super_Output_section_data.\n      super_Output_data.data_size_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(this->super_Output_data_got_base).super_Output_section_data_build.super_Output_section_data.\n      super_Output_data.data_size_" & (field_expression "(this->super_Output_data_got_base).super_Output_section_data_build.super_Output_section_data.\n      super_Output_data.data_size_" (field_expression "(this->super_Output_data_got_base).super_Output_section_data_build.super_Output_section_data.\n      super_Output_data" (field_expression "(this->super_Output_data_got_base).super_Output_section_data_build.super_Output_section_data" (field_expression "(this->super_Output_data_got_base).super_Output_section_data_build" (parenthesized_expression "(this->super_Output_data_got_base)" ( (field_expression "this->super_Output_data_got_base" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier)))) = number_literal) ;) (expression_statement "*(int *)((int)&(this->super_Output_data_got_base).super_Output_section_data_build.\n                   super_Output_section_data.super_Output_data.data_size_ + 4) =\n         ((int)pGVar1 - (int)pGVar3 >> 3) * 0x55555558;" (assignment_expression "*(int *)((int)&(this->super_Output_data_got_base).super_Output_section_data_build.\n                   super_Output_section_data.super_Output_data.data_size_ + 4) =\n         ((int)pGVar1 - (int)pGVar3 >> 3) * 0x55555558" (pointer_expression "*(int *)((int)&(this->super_Output_data_got_base).super_Output_section_data_build.\n                   super_Output_section_data.super_Output_data.data_size_ + 4)" * (cast_expression "(int *)((int)&(this->super_Output_data_got_base).super_Output_section_data_build.\n                   super_Output_section_data.super_Output_data.data_size_ + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(this->super_Output_data_got_base).super_Output_section_data_build.\n                   super_Output_section_data.super_Output_data.data_size_ + 4)" ( (binary_expression "(int)&(this->super_Output_data_got_base).super_Output_section_data_build.\n                   super_Output_section_data.super_Output_data.data_size_ + 4" (cast_expression "(int)&(this->super_Output_data_got_base).super_Output_section_data_build.\n                   super_Output_section_data.super_Output_data.data_size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(this->super_Output_data_got_base).super_Output_section_data_build.\n                   super_Output_section_data.super_Output_data.data_size_" & (field_expression "(this->super_Output_data_got_base).super_Output_section_data_build.\n                   super_Output_section_data.super_Output_data.data_size_" (field_expression "(this->super_Output_data_got_base).super_Output_section_data_build.\n                   super_Output_section_data.super_Output_data" (field_expression "(this->super_Output_data_got_base).super_Output_section_data_build.\n                   super_Output_section_data" (field_expression "(this->super_Output_data_got_base).super_Output_section_data_build" (parenthesized_expression "(this->super_Output_data_got_base)" ( (field_expression "this->super_Output_data_got_base" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier))) + number_literal) )))) = (binary_expression "((int)pGVar1 - (int)pGVar3 >> 3) * 0x55555558" (parenthesized_expression "((int)pGVar1 - (int)pGVar3 >> 3)" ( (binary_expression "(int)pGVar1 - (int)pGVar3 >> 3" (binary_expression "(int)pGVar1 - (int)pGVar3" (cast_expression "(int)pGVar1" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pGVar3" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )) * number_literal)) ;) (return_statement "return;" return ;) })) (expression_statement "puVar2 = (undefined4 *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574);" (assignment_expression "puVar2 = (undefined4 *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574)" identifier = (cast_expression "(undefined4 *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" identifier + number_literal) )))) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n            (puVar2,0x231,PTR_s_in_a_linker_script_004c191c + -0x2b1c);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n            (puVar2,0x231,PTR_s_in_a_linker_script_004c191c + -0x2b1c)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar2,0x231,PTR_s_in_a_linker_script_004c191c + -0x2b1c)" ( identifier , number_literal , (binary_expression "PTR_s_in_a_linker_script_004c191c + -0x2b1c" identifier + number_literal) ))) ;) (expression_statement "puVar2[4] = 0;" (assignment_expression "puVar2[4] = 0" (subscript_expression "puVar2[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*puVar2 = 0;" (assignment_expression "*puVar2 = 0" (pointer_expression "*puVar2" * identifier) = number_literal) ;) (expression_statement "puVar2[5] = 0;" (assignment_expression "puVar2[5] = 0" (subscript_expression "puVar2[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[1] = 0;" (assignment_expression "puVar2[1] = 0" (subscript_expression "puVar2[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[2] = 0xfffffffa;" (assignment_expression "puVar2[2] = 0xfffffffa" (subscript_expression "puVar2[2]" identifier [ number_literal ]) = number_literal) ;) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit "void FUN_0022e86c(int param_1)\n\n{\n  if (-1 < *(int *)(param_1 + 0x20) << 1) {\n    *(undefined4 *)(param_1 + 0x10) = 0;\n    *(int *)(param_1 + 0x14) =\n         (*(int *)(param_1 + 0x34) - *(int *)(param_1 + 0x30) >> 3) * 0x55555558;\n    return;\n  }\n  (*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n             PTR_s_in_a_linker_script_004c191c + -0x2b1c);\n  return;\n}\n\n" (function_definition "void FUN_0022e86c(int param_1)\n\n{\n  if (-1 < *(int *)(param_1 + 0x20) << 1) {\n    *(undefined4 *)(param_1 + 0x10) = 0;\n    *(int *)(param_1 + 0x14) =\n         (*(int *)(param_1 + 0x34) - *(int *)(param_1 + 0x30) >> 3) * 0x55555558;\n    return;\n  }\n  (*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n             PTR_s_in_a_linker_script_004c191c + -0x2b1c);\n  return;\n}" primitive_type (function_declarator "FUN_0022e86c(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  if (-1 < *(int *)(param_1 + 0x20) << 1) {\n    *(undefined4 *)(param_1 + 0x10) = 0;\n    *(int *)(param_1 + 0x14) =\n         (*(int *)(param_1 + 0x34) - *(int *)(param_1 + 0x30) >> 3) * 0x55555558;\n    return;\n  }\n  (*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n             PTR_s_in_a_linker_script_004c191c + -0x2b1c);\n  return;\n}" { (if_statement "if (-1 < *(int *)(param_1 + 0x20) << 1) {\n    *(undefined4 *)(param_1 + 0x10) = 0;\n    *(int *)(param_1 + 0x14) =\n         (*(int *)(param_1 + 0x34) - *(int *)(param_1 + 0x30) >> 3) * 0x55555558;\n    return;\n  }" if (parenthesized_expression "(-1 < *(int *)(param_1 + 0x20) << 1)" ( (binary_expression "-1 < *(int *)(param_1 + 0x20) << 1" number_literal < (binary_expression "*(int *)(param_1 + 0x20) << 1" (pointer_expression "*(int *)(param_1 + 0x20)" * (cast_expression "(int *)(param_1 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) << number_literal)) )) (compound_statement "{\n    *(undefined4 *)(param_1 + 0x10) = 0;\n    *(int *)(param_1 + 0x14) =\n         (*(int *)(param_1 + 0x34) - *(int *)(param_1 + 0x30) >> 3) * 0x55555558;\n    return;\n  }" { (expression_statement "*(undefined4 *)(param_1 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x10) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x10)" * (cast_expression "(undefined4 *)(param_1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(param_1 + 0x14) =\n         (*(int *)(param_1 + 0x34) - *(int *)(param_1 + 0x30) >> 3) * 0x55555558;" (assignment_expression "*(int *)(param_1 + 0x14) =\n         (*(int *)(param_1 + 0x34) - *(int *)(param_1 + 0x30) >> 3) * 0x55555558" (pointer_expression "*(int *)(param_1 + 0x14)" * (cast_expression "(int *)(param_1 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) = (binary_expression "(*(int *)(param_1 + 0x34) - *(int *)(param_1 + 0x30) >> 3) * 0x55555558" (parenthesized_expression "(*(int *)(param_1 + 0x34) - *(int *)(param_1 + 0x30) >> 3)" ( (binary_expression "*(int *)(param_1 + 0x34) - *(int *)(param_1 + 0x30) >> 3" (binary_expression "*(int *)(param_1 + 0x34) - *(int *)(param_1 + 0x30)" (pointer_expression "*(int *)(param_1 + 0x34)" * (cast_expression "(int *)(param_1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) )))) - (pointer_expression "*(int *)(param_1 + 0x30)" * (cast_expression "(int *)(param_1 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) >> number_literal) )) * number_literal)) ;) (return_statement "return;" return ;) })) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n             PTR_s_in_a_linker_script_004c191c + -0x2b1c);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n             PTR_s_in_a_linker_script_004c191c + -0x2b1c)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n             PTR_s_in_a_linker_script_004c191c + -0x2b1c)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" identifier + number_literal) , number_literal , (binary_expression "PTR_s_in_a_linker_script_004c191c + -0x2b1c" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) >> LIT) )) * LIT)) ;) (return_statement return ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) (return_statement return ;) })))
(function_definition "void FUN_0022e86c(int param_1)\n\n{\n  if (-1 < *(int *)(param_1 + 0x20) << 1) {\n    *(undefined4 *)(param_1 + 0x10) = 0;\n    *(int *)(param_1 + 0x14) =\n         (*(int *)(param_1 + 0x34) - *(int *)(param_1 + 0x30) >> 3) * 0x55555558;\n    return;\n  }\n  (*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n             PTR_s_in_a_linker_script_004c191c + -0x2b1c);\n  return;\n}" (primitive_type "void") (function_declarator "FUN_0022e86c(int param_1)" (identifier "FUN_0022e86c") (parameter_list "(int param_1)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) () ")"))) (compound_statement "{\n  if (-1 < *(int *)(param_1 + 0x20) << 1) {\n    *(undefined4 *)(param_1 + 0x10) = 0;\n    *(int *)(param_1 + 0x14) =\n         (*(int *)(param_1 + 0x34) - *(int *)(param_1 + 0x30) >> 3) * 0x55555558;\n    return;\n  }\n  (*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n             PTR_s_in_a_linker_script_004c191c + -0x2b1c);\n  return;\n}" ({ "{") (if_statement "if (-1 < *(int *)(param_1 + 0x20) << 1) {\n    *(undefined4 *)(param_1 + 0x10) = 0;\n    *(int *)(param_1 + 0x14) =\n         (*(int *)(param_1 + 0x34) - *(int *)(param_1 + 0x30) >> 3) * 0x55555558;\n    return;\n  }" (if "if") (parenthesized_expression "(-1 < *(int *)(param_1 + 0x20) << 1)" (( "(") (binary_expression "-1 < *(int *)(param_1 + 0x20) << 1" (number_literal "-1") (< "<") (binary_expression "*(int *)(param_1 + 0x20) << 1" (pointer_expression "*(int *)(param_1 + 0x20)" (* "*") (cast_expression "(int *)(param_1 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x20)" (( "(") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20")) () ")")))) (<< "<<") (number_literal "1"))) () ")")) (compound_statement "{\n    *(undefined4 *)(param_1 + 0x10) = 0;\n    *(int *)(param_1 + 0x14) =\n         (*(int *)(param_1 + 0x34) - *(int *)(param_1 + 0x30) >> 3) * 0x55555558;\n    return;\n  }" ({ "{") (expression_statement "*(undefined4 *)(param_1 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x10) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x10)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int *)(param_1 + 0x14) =\n         (*(int *)(param_1 + 0x34) - *(int *)(param_1 + 0x30) >> 3) * 0x55555558;" (assignment_expression "*(int *)(param_1 + 0x14) =\n         (*(int *)(param_1 + 0x34) - *(int *)(param_1 + 0x30) >> 3) * 0x55555558" (pointer_expression "*(int *)(param_1 + 0x14)" (* "*") (cast_expression "(int *)(param_1 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (binary_expression "(*(int *)(param_1 + 0x34) - *(int *)(param_1 + 0x30) >> 3) * 0x55555558" (parenthesized_expression "(*(int *)(param_1 + 0x34) - *(int *)(param_1 + 0x30) >> 3)" (( "(") (binary_expression "*(int *)(param_1 + 0x34) - *(int *)(param_1 + 0x30) >> 3" (binary_expression "*(int *)(param_1 + 0x34) - *(int *)(param_1 + 0x30)" (pointer_expression "*(int *)(param_1 + 0x34)" (* "*") (cast_expression "(int *)(param_1 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x34)" (( "(") (binary_expression "param_1 + 0x34" (identifier "param_1") (+ "+") (number_literal "0x34")) () ")")))) (- "-") (pointer_expression "*(int *)(param_1 + 0x30)" (* "*") (cast_expression "(int *)(param_1 + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x30)" (( "(") (binary_expression "param_1 + 0x30" (identifier "param_1") (+ "+") (number_literal "0x30")) () ")"))))) (>> ">>") (number_literal "3")) () ")")) (* "*") (number_literal "0x55555558"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n             PTR_s_in_a_linker_script_004c191c + -0x2b1c);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n             PTR_s_in_a_linker_script_004c191c + -0x2b1c)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004c1a30"))) () ")")) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n             PTR_s_in_a_linker_script_004c191c + -0x2b1c)" (( "(") (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" (identifier "PTR_s_ral_options14Struct_no_crefE_004c127c") (+ "+") (number_literal "0x3574")) (, ",") (number_literal "0x231") (, ",") (binary_expression "PTR_s_in_a_linker_script_004c191c + -0x2b1c" (identifier "PTR_s_in_a_linker_script_004c191c") (+ "+") (number_literal "-0x2b1c")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))
(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)))) body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) consequence: (compound_statement (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: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))) right: (number_literal)))) (return_statement))) (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)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))) (return_statement))))

void MASKED(int param_1)

{
  if (-1 < *(int *)(param_1 + 0x20) << 1) {
    *(undefined4 *)(param_1 + 0x10) = 0;
    *(int *)(param_1 + 0x14) =
         (*(int *)(param_1 + 0x34) - *(int *)(param_1 + 0x30) >> 3) * 0x55555558;
    return;
  }
  (*(code *)PTR_do_gold_unreachable_004c1a30)
            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,
             PTR_s_in_a_linker_script_004c191c + -0x2b1c);
  return;
}

