
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* WARNING: Struct "Output_section_headers": ignoring overlapping field "layout_" */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Struct "Output_reduced_debug_abbrev_section": ignoring overlapping field "data_" */
/* WARNING: Struct "Output_reduced_debug_info_section": ignoring overlapping field "data_" */

char * qualifier_string(int type_quals)

{
  char *pcVar1;
  
  if ((uint)type_quals < 8) {
                    /* WARNING: Could not emulate address calculation at 0x00296d44 */
                    /* WARNING: Treating indirect jump as call */
    pcVar1 = (char *)(*(code *)(&gold::Position_dependent_options::default_options_.sort_common_.
                                 user_set_via_option +
                               *(int *)(PTR_s__0043226c + type_quals * 4 + 0x4460)))();
    return pcVar1;
  }
  pcVar1 = (char *)(*(code *)PTR_abort_00436908)();
  return pcVar1;
}



void FUN_00296d18(uint param_1)

{
  if (param_1 < 8) {
                    /* WARNING: Could not emulate address calculation at 0x00296d44 */
                    /* WARNING: Treating indirect jump as call */
    (*(code *)(gold::Position_dependent_options::default_options_ +
              *(int *)(PTR_DAT_0043226c + param_1 * 4 + 0x4460) + 0x37e0))();
    return;
  }
  (*(code *)PTR_abort_00436908)();
  return;
}


lui gp,0x1a
addiu gp,gp,0x34b8
addu gp,gp,t9
addiu sp,sp,-0x20
sltiu v0,a0,0x8
sw gp,0x10(sp)
sw ra,0x1c(sp)
beq v0,zero,0x00296df8
_sll v0,a0,0x2
lw a0,-0x7f64(gp)
addiu a0,a0,0x4460
addu a0,a0,v0
lw v0,0x0(a0)
addu v0,v0,gp
jr v0
_nop
lw t9,-0x38c8(gp)
jalr t9
_nop
(translation_unit "void FUN_00296d18(uint param_1)\n\n{\n  if (param_1 < 8) {\n                    /* WARNING: Could not emulate address calculation at 0x00296d44 */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(gold::Position_dependent_options::default_options_ +\n              *(int *)(PTR_DAT_0043226c + param_1 * 4 + 0x4460) + 0x37e0))();\n    return;\n  }\n  (*(code *)PTR_abort_00436908)();\n  return;\n}\n\n" (function_definition "void FUN_00296d18(uint param_1)\n\n{\n  if (param_1 < 8) {\n                    /* WARNING: Could not emulate address calculation at 0x00296d44 */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(gold::Position_dependent_options::default_options_ +\n              *(int *)(PTR_DAT_0043226c + param_1 * 4 + 0x4460) + 0x37e0))();\n    return;\n  }\n  (*(code *)PTR_abort_00436908)();\n  return;\n}" primitive_type (function_declarator "FUN_00296d18(uint param_1)" identifier (parameter_list "(uint param_1)" ( (parameter_declaration "uint param_1" type_identifier identifier) ))) (compound_statement "{\n  if (param_1 < 8) {\n                    /* WARNING: Could not emulate address calculation at 0x00296d44 */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(gold::Position_dependent_options::default_options_ +\n              *(int *)(PTR_DAT_0043226c + param_1 * 4 + 0x4460) + 0x37e0))();\n    return;\n  }\n  (*(code *)PTR_abort_00436908)();\n  return;\n}" { (if_statement "if (param_1 < 8) {\n                    /* WARNING: Could not emulate address calculation at 0x00296d44 */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(gold::Position_dependent_options::default_options_ +\n              *(int *)(PTR_DAT_0043226c + param_1 * 4 + 0x4460) + 0x37e0))();\n    return;\n  }" if (parenthesized_expression "(param_1 < 8)" ( (binary_expression "param_1 < 8" identifier < number_literal) )) (compound_statement "{\n                    /* WARNING: Could not emulate address calculation at 0x00296d44 */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(gold::Position_dependent_options::default_options_ +\n              *(int *)(PTR_DAT_0043226c + param_1 * 4 + 0x4460) + 0x37e0))();\n    return;\n  }" { comment comment (expression_statement "(*(code *)(gold::Position_dependent_options::default_options_ +\n              *(int *)(PTR_DAT_0043226c + param_1 * 4 + 0x4460) + 0x37e0))();" (call_expression "(*(code *)(gold::Position_dependent_options::default_options_ +\n              *(int *)(PTR_DAT_0043226c + param_1 * 4 + 0x4460) + 0x37e0))()" (parenthesized_expression "(*(code *)(gold::Position_dependent_options::default_options_ +\n              *(int *)(PTR_DAT_0043226c + param_1 * 4 + 0x4460) + 0x37e0))" ( (pointer_expression "*(code *)(gold::Position_dependent_options::default_options_ +\n              *(int *)(PTR_DAT_0043226c + param_1 * 4 + 0x4460) + 0x37e0)" * (cast_expression "(code *)(gold::Position_dependent_options::default_options_ +\n              *(int *)(PTR_DAT_0043226c + param_1 * 4 + 0x4460) + 0x37e0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(gold::Position_dependent_options::default_options_ +\n              *(int *)(PTR_DAT_0043226c + param_1 * 4 + 0x4460) + 0x37e0)" ( (ERROR "gold::Position_dependent_options::" identifier : : identifier : :) (binary_expression "default_options_ +\n              *(int *)(PTR_DAT_0043226c + param_1 * 4 + 0x4460) + 0x37e0" (binary_expression "default_options_ +\n              *(int *)(PTR_DAT_0043226c + param_1 * 4 + 0x4460)" identifier + (pointer_expression "*(int *)(PTR_DAT_0043226c + param_1 * 4 + 0x4460)" * (cast_expression "(int *)(PTR_DAT_0043226c + param_1 * 4 + 0x4460)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043226c + param_1 * 4 + 0x4460)" ( (binary_expression "PTR_DAT_0043226c + param_1 * 4 + 0x4460" (binary_expression "PTR_DAT_0043226c + param_1 * 4" identifier + (binary_expression "param_1 * 4" identifier * number_literal)) + number_literal) ))))) + number_literal) )))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "(*(code *)PTR_abort_00436908)();" (call_expression "(*(code *)PTR_abort_00436908)()" (parenthesized_expression "(*(code *)PTR_abort_00436908)" ( (pointer_expression "*(code *)PTR_abort_00436908" * (cast_expression "(code *)PTR_abort_00436908" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */\n/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */\n/* WARNING: Struct "Output_section_headers": ignoring overlapping field "layout_" */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* WARNING: Struct "Output_reduced_debug_abbrev_section": ignoring overlapping field "data_" */\n/* WARNING: Struct "Output_reduced_debug_info_section": ignoring overlapping field "data_" */\n\nchar * qualifier_string(int type_quals)\n\n{\n  char *pcVar1;\n  \n  if ((uint)type_quals < 8) {\n                    /* WARNING: Could not emulate address calculation at 0x00296d44 */\n                    /* WARNING: Treating indirect jump as call */\n    pcVar1 = (char *)(*(code *)(&gold::Position_dependent_options::default_options_.sort_common_.\n                                 user_set_via_option +\n                               *(int *)(PTR_s__0043226c + type_quals * 4 + 0x4460)))();\n    return pcVar1;\n  }\n  pcVar1 = (char *)(*(code *)PTR_abort_00436908)();\n  return pcVar1;\n}\n\n" comment comment comment comment comment comment (function_definition "char * qualifier_string(int type_quals)\n\n{\n  char *pcVar1;\n  \n  if ((uint)type_quals < 8) {\n                    /* WARNING: Could not emulate address calculation at 0x00296d44 */\n                    /* WARNING: Treating indirect jump as call */\n    pcVar1 = (char *)(*(code *)(&gold::Position_dependent_options::default_options_.sort_common_.\n                                 user_set_via_option +\n                               *(int *)(PTR_s__0043226c + type_quals * 4 + 0x4460)))();\n    return pcVar1;\n  }\n  pcVar1 = (char *)(*(code *)PTR_abort_00436908)();\n  return pcVar1;\n}" primitive_type (pointer_declarator "* qualifier_string(int type_quals)" * (function_declarator "qualifier_string(int type_quals)" identifier (parameter_list "(int type_quals)" ( (parameter_declaration "int type_quals" primitive_type identifier) )))) (compound_statement "{\n  char *pcVar1;\n  \n  if ((uint)type_quals < 8) {\n                    /* WARNING: Could not emulate address calculation at 0x00296d44 */\n                    /* WARNING: Treating indirect jump as call */\n    pcVar1 = (char *)(*(code *)(&gold::Position_dependent_options::default_options_.sort_common_.\n                                 user_set_via_option +\n                               *(int *)(PTR_s__0043226c + type_quals * 4 + 0x4460)))();\n    return pcVar1;\n  }\n  pcVar1 = (char *)(*(code *)PTR_abort_00436908)();\n  return pcVar1;\n}" { (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (if_statement "if ((uint)type_quals < 8) {\n                    /* WARNING: Could not emulate address calculation at 0x00296d44 */\n                    /* WARNING: Treating indirect jump as call */\n    pcVar1 = (char *)(*(code *)(&gold::Position_dependent_options::default_options_.sort_common_.\n                                 user_set_via_option +\n                               *(int *)(PTR_s__0043226c + type_quals * 4 + 0x4460)))();\n    return pcVar1;\n  }" if (parenthesized_expression "((uint)type_quals < 8)" ( (binary_expression "(uint)type_quals < 8" (cast_expression "(uint)type_quals" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n                    /* WARNING: Could not emulate address calculation at 0x00296d44 */\n                    /* WARNING: Treating indirect jump as call */\n    pcVar1 = (char *)(*(code *)(&gold::Position_dependent_options::default_options_.sort_common_.\n                                 user_set_via_option +\n                               *(int *)(PTR_s__0043226c + type_quals * 4 + 0x4460)))();\n    return pcVar1;\n  }" { comment comment (expression_statement "pcVar1 = (char *)(*(code *)(&gold::Position_dependent_options::default_options_.sort_common_.\n                                 user_set_via_option +\n                               *(int *)(PTR_s__0043226c + type_quals * 4 + 0x4460)))();" (assignment_expression "pcVar1 = (char *)(*(code *)(&gold::Position_dependent_options::default_options_.sort_common_.\n                                 user_set_via_option +\n                               *(int *)(PTR_s__0043226c + type_quals * 4 + 0x4460)))()" identifier = (cast_expression "(char *)(*(code *)(&gold::Position_dependent_options::default_options_.sort_common_.\n                                 user_set_via_option +\n                               *(int *)(PTR_s__0043226c + type_quals * 4 + 0x4460)))()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(&gold::Position_dependent_options::default_options_.sort_common_.\n                                 user_set_via_option +\n                               *(int *)(PTR_s__0043226c + type_quals * 4 + 0x4460)))()" (parenthesized_expression "(*(code *)(&gold::Position_dependent_options::default_options_.sort_common_.\n                                 user_set_via_option +\n                               *(int *)(PTR_s__0043226c + type_quals * 4 + 0x4460)))" ( (pointer_expression "*(code *)(&gold::Position_dependent_options::default_options_.sort_common_.\n                                 user_set_via_option +\n                               *(int *)(PTR_s__0043226c + type_quals * 4 + 0x4460))" * (cast_expression "(code *)(&gold::Position_dependent_options::default_options_.sort_common_.\n                                 user_set_via_option +\n                               *(int *)(PTR_s__0043226c + type_quals * 4 + 0x4460))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&gold::Position_dependent_options::default_options_.sort_common_.\n                                 user_set_via_option +\n                               *(int *)(PTR_s__0043226c + type_quals * 4 + 0x4460))" ( (ERROR "&gold::Position_dependent_options::" (pointer_expression "&gold" & identifier) : : identifier : :) (binary_expression "default_options_.sort_common_.\n                                 user_set_via_option +\n                               *(int *)(PTR_s__0043226c + type_quals * 4 + 0x4460)" (field_expression "default_options_.sort_common_.\n                                 user_set_via_option" (field_expression "default_options_.sort_common_" identifier . field_identifier) . field_identifier) + (pointer_expression "*(int *)(PTR_s__0043226c + type_quals * 4 + 0x4460)" * (cast_expression "(int *)(PTR_s__0043226c + type_quals * 4 + 0x4460)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s__0043226c + type_quals * 4 + 0x4460)" ( (binary_expression "PTR_s__0043226c + type_quals * 4 + 0x4460" (binary_expression "PTR_s__0043226c + type_quals * 4" identifier + (binary_expression "type_quals * 4" identifier * number_literal)) + number_literal) ))))) )))) )) (argument_list "()" ( ))))) ;) (return_statement "return pcVar1;" return identifier ;) })) (expression_statement "pcVar1 = (char *)(*(code *)PTR_abort_00436908)();" (assignment_expression "pcVar1 = (char *)(*(code *)PTR_abort_00436908)()" identifier = (cast_expression "(char *)(*(code *)PTR_abort_00436908)()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_abort_00436908)()" (parenthesized_expression "(*(code *)PTR_abort_00436908)" ( (pointer_expression "*(code *)PTR_abort_00436908" * (cast_expression "(code *)PTR_abort_00436908" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (return_statement "return pcVar1;" return identifier ;) })))
(translation_unit "void FUN_00296d18(uint param_1)\n\n{\n  if (param_1 < 8) {\n                    \n                    \n    (*(code *)(gold::Position_dependent_options::default_options_ +\n              *(int *)(PTR_DAT_0043226c + param_1 * 4 + 0x4460) + 0x37e0))();\n    return;\n  }\n  (*(code *)PTR_abort_00436908)();\n  return;\n}\n\n" (function_definition "void FUN_00296d18(uint param_1)\n\n{\n  if (param_1 < 8) {\n                    \n                    \n    (*(code *)(gold::Position_dependent_options::default_options_ +\n              *(int *)(PTR_DAT_0043226c + param_1 * 4 + 0x4460) + 0x37e0))();\n    return;\n  }\n  (*(code *)PTR_abort_00436908)();\n  return;\n}" primitive_type (function_declarator "FUN_00296d18(uint param_1)" identifier (parameter_list "(uint param_1)" ( (parameter_declaration "uint param_1" type_identifier identifier) ))) (compound_statement "{\n  if (param_1 < 8) {\n                    \n                    \n    (*(code *)(gold::Position_dependent_options::default_options_ +\n              *(int *)(PTR_DAT_0043226c + param_1 * 4 + 0x4460) + 0x37e0))();\n    return;\n  }\n  (*(code *)PTR_abort_00436908)();\n  return;\n}" { (if_statement "if (param_1 < 8) {\n                    \n                    \n    (*(code *)(gold::Position_dependent_options::default_options_ +\n              *(int *)(PTR_DAT_0043226c + param_1 * 4 + 0x4460) + 0x37e0))();\n    return;\n  }" if (parenthesized_expression "(param_1 < 8)" ( (binary_expression "param_1 < 8" identifier < number_literal) )) (compound_statement "{\n                    \n                    \n    (*(code *)(gold::Position_dependent_options::default_options_ +\n              *(int *)(PTR_DAT_0043226c + param_1 * 4 + 0x4460) + 0x37e0))();\n    return;\n  }" { (expression_statement "(*(code *)(gold::Position_dependent_options::default_options_ +\n              *(int *)(PTR_DAT_0043226c + param_1 * 4 + 0x4460) + 0x37e0))();" (call_expression "(*(code *)(gold::Position_dependent_options::default_options_ +\n              *(int *)(PTR_DAT_0043226c + param_1 * 4 + 0x4460) + 0x37e0))()" (parenthesized_expression "(*(code *)(gold::Position_dependent_options::default_options_ +\n              *(int *)(PTR_DAT_0043226c + param_1 * 4 + 0x4460) + 0x37e0))" ( (pointer_expression "*(code *)(gold::Position_dependent_options::default_options_ +\n              *(int *)(PTR_DAT_0043226c + param_1 * 4 + 0x4460) + 0x37e0)" * (cast_expression "(code *)(gold::Position_dependent_options::default_options_ +\n              *(int *)(PTR_DAT_0043226c + param_1 * 4 + 0x4460) + 0x37e0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(gold::Position_dependent_options::default_options_ +\n              *(int *)(PTR_DAT_0043226c + param_1 * 4 + 0x4460) + 0x37e0)" ( (ERROR "gold::Position_dependent_options::" identifier : : identifier : :) (binary_expression "default_options_ +\n              *(int *)(PTR_DAT_0043226c + param_1 * 4 + 0x4460) + 0x37e0" (binary_expression "default_options_ +\n              *(int *)(PTR_DAT_0043226c + param_1 * 4 + 0x4460)" identifier + (pointer_expression "*(int *)(PTR_DAT_0043226c + param_1 * 4 + 0x4460)" * (cast_expression "(int *)(PTR_DAT_0043226c + param_1 * 4 + 0x4460)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043226c + param_1 * 4 + 0x4460)" ( (binary_expression "PTR_DAT_0043226c + param_1 * 4 + 0x4460" (binary_expression "PTR_DAT_0043226c + param_1 * 4" identifier + (binary_expression "param_1 * 4" identifier * number_literal)) + number_literal) ))))) + number_literal) )))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "(*(code *)PTR_abort_00436908)();" (call_expression "(*(code *)PTR_abort_00436908)()" (parenthesized_expression "(*(code *)PTR_abort_00436908)" ( (pointer_expression "*(code *)PTR_abort_00436908" * (cast_expression "(code *)PTR_abort_00436908" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (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 IDENT < LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (ERROR IDENT : : IDENT : :) (binary_expression (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) ))))) + LIT) )))) )) (argument_list ( ))) ;) (return_statement return ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (return_statement return ;) })))
(function_definition "void FUN_00296d18(uint param_1)\n\n{\n  if (param_1 < 8) {\n                    \n                    \n    (*(code *)(gold::Position_dependent_options::default_options_ +\n              *(int *)(PTR_DAT_0043226c + param_1 * 4 + 0x4460) + 0x37e0))();\n    return;\n  }\n  (*(code *)PTR_abort_00436908)();\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00296d18(uint param_1)" (identifier "FUN_00296d18") (parameter_list "(uint param_1)" (( "(") (parameter_declaration "uint param_1" (type_identifier "uint") (identifier "param_1")) () ")"))) (compound_statement "{\n  if (param_1 < 8) {\n                    \n                    \n    (*(code *)(gold::Position_dependent_options::default_options_ +\n              *(int *)(PTR_DAT_0043226c + param_1 * 4 + 0x4460) + 0x37e0))();\n    return;\n  }\n  (*(code *)PTR_abort_00436908)();\n  return;\n}" ({ "{") (if_statement "if (param_1 < 8) {\n                    \n                    \n    (*(code *)(gold::Position_dependent_options::default_options_ +\n              *(int *)(PTR_DAT_0043226c + param_1 * 4 + 0x4460) + 0x37e0))();\n    return;\n  }" (if "if") (parenthesized_expression "(param_1 < 8)" (( "(") (binary_expression "param_1 < 8" (identifier "param_1") (< "<") (number_literal "8")) () ")")) (compound_statement "{\n                    \n                    \n    (*(code *)(gold::Position_dependent_options::default_options_ +\n              *(int *)(PTR_DAT_0043226c + param_1 * 4 + 0x4460) + 0x37e0))();\n    return;\n  }" ({ "{") (expression_statement "(*(code *)(gold::Position_dependent_options::default_options_ +\n              *(int *)(PTR_DAT_0043226c + param_1 * 4 + 0x4460) + 0x37e0))();" (call_expression "(*(code *)(gold::Position_dependent_options::default_options_ +\n              *(int *)(PTR_DAT_0043226c + param_1 * 4 + 0x4460) + 0x37e0))()" (parenthesized_expression "(*(code *)(gold::Position_dependent_options::default_options_ +\n              *(int *)(PTR_DAT_0043226c + param_1 * 4 + 0x4460) + 0x37e0))" (( "(") (pointer_expression "*(code *)(gold::Position_dependent_options::default_options_ +\n              *(int *)(PTR_DAT_0043226c + param_1 * 4 + 0x4460) + 0x37e0)" (* "*") (cast_expression "(code *)(gold::Position_dependent_options::default_options_ +\n              *(int *)(PTR_DAT_0043226c + param_1 * 4 + 0x4460) + 0x37e0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(gold::Position_dependent_options::default_options_ +\n              *(int *)(PTR_DAT_0043226c + param_1 * 4 + 0x4460) + 0x37e0)" (( "(") (ERROR "gold::Position_dependent_options::" (identifier "gold") (: ":") (: ":") (identifier "Position_dependent_options") (: ":") (: ":")) (binary_expression "default_options_ +\n              *(int *)(PTR_DAT_0043226c + param_1 * 4 + 0x4460) + 0x37e0" (binary_expression "default_options_ +\n              *(int *)(PTR_DAT_0043226c + param_1 * 4 + 0x4460)" (identifier "default_options_") (+ "+") (pointer_expression "*(int *)(PTR_DAT_0043226c + param_1 * 4 + 0x4460)" (* "*") (cast_expression "(int *)(PTR_DAT_0043226c + param_1 * 4 + 0x4460)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0043226c + param_1 * 4 + 0x4460)" (( "(") (binary_expression "PTR_DAT_0043226c + param_1 * 4 + 0x4460" (binary_expression "PTR_DAT_0043226c + param_1 * 4" (identifier "PTR_DAT_0043226c") (+ "+") (binary_expression "param_1 * 4" (identifier "param_1") (* "*") (number_literal "4"))) (+ "+") (number_literal "0x4460")) () ")"))))) (+ "+") (number_literal "0x37e0")) () ")")))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_abort_00436908)();" (call_expression "(*(code *)PTR_abort_00436908)()" (parenthesized_expression "(*(code *)PTR_abort_00436908)" (( "(") (pointer_expression "*(code *)PTR_abort_00436908" (* "*") (cast_expression "(code *)PTR_abort_00436908" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_abort_00436908"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* WARNING: Struct "Output_section_headers": ignoring overlapping field "layout_" */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Struct "Output_reduced_debug_abbrev_section": ignoring overlapping field "data_" */
/* WARNING: Struct "Output_reduced_debug_info_section": ignoring overlapping field "data_" */

char * function_1(int var_2)

{
  char *pcVar1;
  
  if ((type_1)var_2 < 8) {
                    /* WARNING: Could not emulate address calculation at 0x00296d44 */
                    /* WARNING: Treating indirect jump as call */
    pcVar1 = (char *)(*(type_2 *)(&gold::Position_dependent_options::default_options_.sort_common_.
                                 user_set_via_option +
                               *(int *)(var_1 + var_2 * 4 + 0x4460)))();
    return pcVar1;
  }
  pcVar1 = (char *)(*(type_2 *)PTR_abort_00436908)();
  return pcVar1;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (ERROR (identifier) (identifier)) (binary_expression left: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))) right: (number_literal)))))) arguments: (argument_list))) (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))) (return_statement))))

void MASKED(uint param_1)

{
  if (param_1 < 8) {
                    /* WARNING: Could not emulate address calculation at 0x00296d44 */
                    /* WARNING: Treating indirect jump as call */
    (*(code *)(gold::Position_dependent_options::default_options_ +
              *(int *)(PTR_DAT_0043226c + param_1 * 4 + 0x4460) + 0x37e0))();
    return;
  }
  (*(code *)PTR_abort_00436908)();
  return;
}

