
/* WARNING: Unknown calling convention -- yet parameter storage is locked */

ushort ** __ctype_b_loc(void)

{
  ushort **ppuVar1;
  int unaff_gp;
  
  (**(code **)(unaff_gp + -0x7ff0))();
  (**(code **)(unaff_gp + -0x7ff0))();
  (**(code **)(unaff_gp + -0x7ff0))();
  (**(code **)(unaff_gp + -0x7ff0))();
  (**(code **)(unaff_gp + -0x7ff0))();
  ppuVar1 = (ushort **)(*(code *)(PTR_0004ec04 + 0x57d4))();
  return ppuVar1;
}



/* WARNING: Unknown calling convention -- yet parameter storage is locked */

ushort ** __ctype_b_loc(void)

{
  ushort **ppuVar1;
  int unaff_gp;
  
  (**(code **)(unaff_gp + -0x7ff0))();
  (**(code **)(unaff_gp + -0x7ff0))();
  (**(code **)(unaff_gp + -0x7ff0))();
  (**(code **)(unaff_gp + -0x7ff0))();
  (**(code **)(unaff_gp + -0x7ff0))();
  ppuVar1 = (ushort **)(*(code *)(PTR_0004ec04 + 0x57d4))();
  return ppuVar1;
}


lw t9,-0x7ff0(gp)
or t7,ra,zero
jalr t9
_li t8,0x197
(translation_unit "/* WARNING: Unknown calling convention -- yet parameter storage is locked */\n\nushort ** __ctype_b_loc(void)\n\n{\n  ushort **ppuVar1;\n  int unaff_gp;\n  \n  (**(code **)(unaff_gp + -0x7ff0))();\n  (**(code **)(unaff_gp + -0x7ff0))();\n  (**(code **)(unaff_gp + -0x7ff0))();\n  (**(code **)(unaff_gp + -0x7ff0))();\n  (**(code **)(unaff_gp + -0x7ff0))();\n  ppuVar1 = (ushort **)(*(code *)(PTR_0004ec04 + 0x57d4))();\n  return ppuVar1;\n}\n\n" comment (function_definition "ushort ** __ctype_b_loc(void)\n\n{\n  ushort **ppuVar1;\n  int unaff_gp;\n  \n  (**(code **)(unaff_gp + -0x7ff0))();\n  (**(code **)(unaff_gp + -0x7ff0))();\n  (**(code **)(unaff_gp + -0x7ff0))();\n  (**(code **)(unaff_gp + -0x7ff0))();\n  (**(code **)(unaff_gp + -0x7ff0))();\n  ppuVar1 = (ushort **)(*(code *)(PTR_0004ec04 + 0x57d4))();\n  return ppuVar1;\n}" type_identifier (pointer_declarator "** __ctype_b_loc(void)" * (pointer_declarator "* __ctype_b_loc(void)" * (function_declarator "__ctype_b_loc(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))))) (compound_statement "{\n  ushort **ppuVar1;\n  int unaff_gp;\n  \n  (**(code **)(unaff_gp + -0x7ff0))();\n  (**(code **)(unaff_gp + -0x7ff0))();\n  (**(code **)(unaff_gp + -0x7ff0))();\n  (**(code **)(unaff_gp + -0x7ff0))();\n  (**(code **)(unaff_gp + -0x7ff0))();\n  ppuVar1 = (ushort **)(*(code *)(PTR_0004ec04 + 0x57d4))();\n  return ppuVar1;\n}" { (declaration "ushort **ppuVar1;" type_identifier (pointer_declarator "**ppuVar1" * (pointer_declarator "*ppuVar1" * identifier)) ;) (declaration "int unaff_gp;" primitive_type identifier ;) (expression_statement "(**(code **)(unaff_gp + -0x7ff0))();" (call_expression "(**(code **)(unaff_gp + -0x7ff0))()" (parenthesized_expression "(**(code **)(unaff_gp + -0x7ff0))" ( (pointer_expression "**(code **)(unaff_gp + -0x7ff0)" * (pointer_expression "*(code **)(unaff_gp + -0x7ff0)" * (cast_expression "(code **)(unaff_gp + -0x7ff0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_gp + -0x7ff0)" ( (binary_expression "unaff_gp + -0x7ff0" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "(**(code **)(unaff_gp + -0x7ff0))();" (call_expression "(**(code **)(unaff_gp + -0x7ff0))()" (parenthesized_expression "(**(code **)(unaff_gp + -0x7ff0))" ( (pointer_expression "**(code **)(unaff_gp + -0x7ff0)" * (pointer_expression "*(code **)(unaff_gp + -0x7ff0)" * (cast_expression "(code **)(unaff_gp + -0x7ff0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_gp + -0x7ff0)" ( (binary_expression "unaff_gp + -0x7ff0" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "(**(code **)(unaff_gp + -0x7ff0))();" (call_expression "(**(code **)(unaff_gp + -0x7ff0))()" (parenthesized_expression "(**(code **)(unaff_gp + -0x7ff0))" ( (pointer_expression "**(code **)(unaff_gp + -0x7ff0)" * (pointer_expression "*(code **)(unaff_gp + -0x7ff0)" * (cast_expression "(code **)(unaff_gp + -0x7ff0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_gp + -0x7ff0)" ( (binary_expression "unaff_gp + -0x7ff0" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "(**(code **)(unaff_gp + -0x7ff0))();" (call_expression "(**(code **)(unaff_gp + -0x7ff0))()" (parenthesized_expression "(**(code **)(unaff_gp + -0x7ff0))" ( (pointer_expression "**(code **)(unaff_gp + -0x7ff0)" * (pointer_expression "*(code **)(unaff_gp + -0x7ff0)" * (cast_expression "(code **)(unaff_gp + -0x7ff0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_gp + -0x7ff0)" ( (binary_expression "unaff_gp + -0x7ff0" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "(**(code **)(unaff_gp + -0x7ff0))();" (call_expression "(**(code **)(unaff_gp + -0x7ff0))()" (parenthesized_expression "(**(code **)(unaff_gp + -0x7ff0))" ( (pointer_expression "**(code **)(unaff_gp + -0x7ff0)" * (pointer_expression "*(code **)(unaff_gp + -0x7ff0)" * (cast_expression "(code **)(unaff_gp + -0x7ff0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_gp + -0x7ff0)" ( (binary_expression "unaff_gp + -0x7ff0" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "ppuVar1 = (ushort **)(*(code *)(PTR_0004ec04 + 0x57d4))();" (assignment_expression "ppuVar1 = (ushort **)(*(code *)(PTR_0004ec04 + 0x57d4))()" identifier = (cast_expression "(ushort **)(*(code *)(PTR_0004ec04 + 0x57d4))()" ( (type_descriptor "ushort **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(*(code *)(PTR_0004ec04 + 0x57d4))()" (parenthesized_expression "(*(code *)(PTR_0004ec04 + 0x57d4))" ( (pointer_expression "*(code *)(PTR_0004ec04 + 0x57d4)" * (cast_expression "(code *)(PTR_0004ec04 + 0x57d4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_0004ec04 + 0x57d4)" ( (binary_expression "PTR_0004ec04 + 0x57d4" identifier + number_literal) )))) )) (argument_list "()" ( ))))) ;) (return_statement "return ppuVar1;" return identifier ;) })))
(translation_unit "/* WARNING: Unknown calling convention -- yet parameter storage is locked */\n\nushort ** __ctype_b_loc(void)\n\n{\n  ushort **ppuVar1;\n  int unaff_gp;\n  \n  (**(code **)(unaff_gp + -0x7ff0))();\n  (**(code **)(unaff_gp + -0x7ff0))();\n  (**(code **)(unaff_gp + -0x7ff0))();\n  (**(code **)(unaff_gp + -0x7ff0))();\n  (**(code **)(unaff_gp + -0x7ff0))();\n  ppuVar1 = (ushort **)(*(code *)(PTR_0004ec04 + 0x57d4))();\n  return ppuVar1;\n}\n\n" comment (function_definition "ushort ** __ctype_b_loc(void)\n\n{\n  ushort **ppuVar1;\n  int unaff_gp;\n  \n  (**(code **)(unaff_gp + -0x7ff0))();\n  (**(code **)(unaff_gp + -0x7ff0))();\n  (**(code **)(unaff_gp + -0x7ff0))();\n  (**(code **)(unaff_gp + -0x7ff0))();\n  (**(code **)(unaff_gp + -0x7ff0))();\n  ppuVar1 = (ushort **)(*(code *)(PTR_0004ec04 + 0x57d4))();\n  return ppuVar1;\n}" type_identifier (pointer_declarator "** __ctype_b_loc(void)" * (pointer_declarator "* __ctype_b_loc(void)" * (function_declarator "__ctype_b_loc(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))))) (compound_statement "{\n  ushort **ppuVar1;\n  int unaff_gp;\n  \n  (**(code **)(unaff_gp + -0x7ff0))();\n  (**(code **)(unaff_gp + -0x7ff0))();\n  (**(code **)(unaff_gp + -0x7ff0))();\n  (**(code **)(unaff_gp + -0x7ff0))();\n  (**(code **)(unaff_gp + -0x7ff0))();\n  ppuVar1 = (ushort **)(*(code *)(PTR_0004ec04 + 0x57d4))();\n  return ppuVar1;\n}" { (declaration "ushort **ppuVar1;" type_identifier (pointer_declarator "**ppuVar1" * (pointer_declarator "*ppuVar1" * identifier)) ;) (declaration "int unaff_gp;" primitive_type identifier ;) (expression_statement "(**(code **)(unaff_gp + -0x7ff0))();" (call_expression "(**(code **)(unaff_gp + -0x7ff0))()" (parenthesized_expression "(**(code **)(unaff_gp + -0x7ff0))" ( (pointer_expression "**(code **)(unaff_gp + -0x7ff0)" * (pointer_expression "*(code **)(unaff_gp + -0x7ff0)" * (cast_expression "(code **)(unaff_gp + -0x7ff0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_gp + -0x7ff0)" ( (binary_expression "unaff_gp + -0x7ff0" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "(**(code **)(unaff_gp + -0x7ff0))();" (call_expression "(**(code **)(unaff_gp + -0x7ff0))()" (parenthesized_expression "(**(code **)(unaff_gp + -0x7ff0))" ( (pointer_expression "**(code **)(unaff_gp + -0x7ff0)" * (pointer_expression "*(code **)(unaff_gp + -0x7ff0)" * (cast_expression "(code **)(unaff_gp + -0x7ff0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_gp + -0x7ff0)" ( (binary_expression "unaff_gp + -0x7ff0" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "(**(code **)(unaff_gp + -0x7ff0))();" (call_expression "(**(code **)(unaff_gp + -0x7ff0))()" (parenthesized_expression "(**(code **)(unaff_gp + -0x7ff0))" ( (pointer_expression "**(code **)(unaff_gp + -0x7ff0)" * (pointer_expression "*(code **)(unaff_gp + -0x7ff0)" * (cast_expression "(code **)(unaff_gp + -0x7ff0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_gp + -0x7ff0)" ( (binary_expression "unaff_gp + -0x7ff0" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "(**(code **)(unaff_gp + -0x7ff0))();" (call_expression "(**(code **)(unaff_gp + -0x7ff0))()" (parenthesized_expression "(**(code **)(unaff_gp + -0x7ff0))" ( (pointer_expression "**(code **)(unaff_gp + -0x7ff0)" * (pointer_expression "*(code **)(unaff_gp + -0x7ff0)" * (cast_expression "(code **)(unaff_gp + -0x7ff0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_gp + -0x7ff0)" ( (binary_expression "unaff_gp + -0x7ff0" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "(**(code **)(unaff_gp + -0x7ff0))();" (call_expression "(**(code **)(unaff_gp + -0x7ff0))()" (parenthesized_expression "(**(code **)(unaff_gp + -0x7ff0))" ( (pointer_expression "**(code **)(unaff_gp + -0x7ff0)" * (pointer_expression "*(code **)(unaff_gp + -0x7ff0)" * (cast_expression "(code **)(unaff_gp + -0x7ff0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_gp + -0x7ff0)" ( (binary_expression "unaff_gp + -0x7ff0" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "ppuVar1 = (ushort **)(*(code *)(PTR_0004ec04 + 0x57d4))();" (assignment_expression "ppuVar1 = (ushort **)(*(code *)(PTR_0004ec04 + 0x57d4))()" identifier = (cast_expression "(ushort **)(*(code *)(PTR_0004ec04 + 0x57d4))()" ( (type_descriptor "ushort **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(*(code *)(PTR_0004ec04 + 0x57d4))()" (parenthesized_expression "(*(code *)(PTR_0004ec04 + 0x57d4))" ( (pointer_expression "*(code *)(PTR_0004ec04 + 0x57d4)" * (cast_expression "(code *)(PTR_0004ec04 + 0x57d4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_0004ec04 + 0x57d4)" ( (binary_expression "PTR_0004ec04 + 0x57d4" identifier + number_literal) )))) )) (argument_list "()" ( ))))) ;) (return_statement "return ppuVar1;" return identifier ;) })))
(translation_unit "ushort ** __ctype_b_loc(void)\n\n{\n  ushort **ppuVar1;\n  int unaff_gp;\n  \n  (**(code **)(unaff_gp + -0x7ff0))();\n  (**(code **)(unaff_gp + -0x7ff0))();\n  (**(code **)(unaff_gp + -0x7ff0))();\n  (**(code **)(unaff_gp + -0x7ff0))();\n  (**(code **)(unaff_gp + -0x7ff0))();\n  ppuVar1 = (ushort **)(*(code *)(PTR_0004ec04 + 0x57d4))();\n  return ppuVar1;\n}\n\n" (function_definition "ushort ** __ctype_b_loc(void)\n\n{\n  ushort **ppuVar1;\n  int unaff_gp;\n  \n  (**(code **)(unaff_gp + -0x7ff0))();\n  (**(code **)(unaff_gp + -0x7ff0))();\n  (**(code **)(unaff_gp + -0x7ff0))();\n  (**(code **)(unaff_gp + -0x7ff0))();\n  (**(code **)(unaff_gp + -0x7ff0))();\n  ppuVar1 = (ushort **)(*(code *)(PTR_0004ec04 + 0x57d4))();\n  return ppuVar1;\n}" type_identifier (pointer_declarator "** __ctype_b_loc(void)" * (pointer_declarator "* __ctype_b_loc(void)" * (function_declarator "__ctype_b_loc(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))))) (compound_statement "{\n  ushort **ppuVar1;\n  int unaff_gp;\n  \n  (**(code **)(unaff_gp + -0x7ff0))();\n  (**(code **)(unaff_gp + -0x7ff0))();\n  (**(code **)(unaff_gp + -0x7ff0))();\n  (**(code **)(unaff_gp + -0x7ff0))();\n  (**(code **)(unaff_gp + -0x7ff0))();\n  ppuVar1 = (ushort **)(*(code *)(PTR_0004ec04 + 0x57d4))();\n  return ppuVar1;\n}" { (declaration "ushort **ppuVar1;" type_identifier (pointer_declarator "**ppuVar1" * (pointer_declarator "*ppuVar1" * identifier)) ;) (declaration "int unaff_gp;" primitive_type identifier ;) (expression_statement "(**(code **)(unaff_gp + -0x7ff0))();" (call_expression "(**(code **)(unaff_gp + -0x7ff0))()" (parenthesized_expression "(**(code **)(unaff_gp + -0x7ff0))" ( (pointer_expression "**(code **)(unaff_gp + -0x7ff0)" * (pointer_expression "*(code **)(unaff_gp + -0x7ff0)" * (cast_expression "(code **)(unaff_gp + -0x7ff0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_gp + -0x7ff0)" ( (binary_expression "unaff_gp + -0x7ff0" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "(**(code **)(unaff_gp + -0x7ff0))();" (call_expression "(**(code **)(unaff_gp + -0x7ff0))()" (parenthesized_expression "(**(code **)(unaff_gp + -0x7ff0))" ( (pointer_expression "**(code **)(unaff_gp + -0x7ff0)" * (pointer_expression "*(code **)(unaff_gp + -0x7ff0)" * (cast_expression "(code **)(unaff_gp + -0x7ff0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_gp + -0x7ff0)" ( (binary_expression "unaff_gp + -0x7ff0" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "(**(code **)(unaff_gp + -0x7ff0))();" (call_expression "(**(code **)(unaff_gp + -0x7ff0))()" (parenthesized_expression "(**(code **)(unaff_gp + -0x7ff0))" ( (pointer_expression "**(code **)(unaff_gp + -0x7ff0)" * (pointer_expression "*(code **)(unaff_gp + -0x7ff0)" * (cast_expression "(code **)(unaff_gp + -0x7ff0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_gp + -0x7ff0)" ( (binary_expression "unaff_gp + -0x7ff0" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "(**(code **)(unaff_gp + -0x7ff0))();" (call_expression "(**(code **)(unaff_gp + -0x7ff0))()" (parenthesized_expression "(**(code **)(unaff_gp + -0x7ff0))" ( (pointer_expression "**(code **)(unaff_gp + -0x7ff0)" * (pointer_expression "*(code **)(unaff_gp + -0x7ff0)" * (cast_expression "(code **)(unaff_gp + -0x7ff0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_gp + -0x7ff0)" ( (binary_expression "unaff_gp + -0x7ff0" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "(**(code **)(unaff_gp + -0x7ff0))();" (call_expression "(**(code **)(unaff_gp + -0x7ff0))()" (parenthesized_expression "(**(code **)(unaff_gp + -0x7ff0))" ( (pointer_expression "**(code **)(unaff_gp + -0x7ff0)" * (pointer_expression "*(code **)(unaff_gp + -0x7ff0)" * (cast_expression "(code **)(unaff_gp + -0x7ff0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_gp + -0x7ff0)" ( (binary_expression "unaff_gp + -0x7ff0" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "ppuVar1 = (ushort **)(*(code *)(PTR_0004ec04 + 0x57d4))();" (assignment_expression "ppuVar1 = (ushort **)(*(code *)(PTR_0004ec04 + 0x57d4))()" identifier = (cast_expression "(ushort **)(*(code *)(PTR_0004ec04 + 0x57d4))()" ( (type_descriptor "ushort **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(*(code *)(PTR_0004ec04 + 0x57d4))()" (parenthesized_expression "(*(code *)(PTR_0004ec04 + 0x57d4))" ( (pointer_expression "*(code *)(PTR_0004ec04 + 0x57d4)" * (cast_expression "(code *)(PTR_0004ec04 + 0x57d4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_0004ec04 + 0x57d4)" ( (binary_expression "PTR_0004ec04 + 0x57d4" identifier + number_literal) )))) )) (argument_list "()" ( ))))) ;) (return_statement "return ppuVar1;" return identifier ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))))) (compound_statement { (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( ))))) ;) (return_statement return IDENT ;) })))
(function_definition "ushort ** __ctype_b_loc(void)\n\n{\n  ushort **ppuVar1;\n  int unaff_gp;\n  \n  (**(code **)(unaff_gp + -0x7ff0))();\n  (**(code **)(unaff_gp + -0x7ff0))();\n  (**(code **)(unaff_gp + -0x7ff0))();\n  (**(code **)(unaff_gp + -0x7ff0))();\n  (**(code **)(unaff_gp + -0x7ff0))();\n  ppuVar1 = (ushort **)(*(code *)(PTR_0004ec04 + 0x57d4))();\n  return ppuVar1;\n}" (type_identifier "ushort") (pointer_declarator "** __ctype_b_loc(void)" (* "*") (pointer_declarator "* __ctype_b_loc(void)" (* "*") (function_declarator "__ctype_b_loc(void)" (identifier "__ctype_b_loc") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))))) (compound_statement "{\n  ushort **ppuVar1;\n  int unaff_gp;\n  \n  (**(code **)(unaff_gp + -0x7ff0))();\n  (**(code **)(unaff_gp + -0x7ff0))();\n  (**(code **)(unaff_gp + -0x7ff0))();\n  (**(code **)(unaff_gp + -0x7ff0))();\n  (**(code **)(unaff_gp + -0x7ff0))();\n  ppuVar1 = (ushort **)(*(code *)(PTR_0004ec04 + 0x57d4))();\n  return ppuVar1;\n}" ({ "{") (declaration "ushort **ppuVar1;" (type_identifier "ushort") (pointer_declarator "**ppuVar1" (* "*") (pointer_declarator "*ppuVar1" (* "*") (identifier "ppuVar1"))) (; ";")) (declaration "int unaff_gp;" (primitive_type "int") (identifier "unaff_gp") (; ";")) (expression_statement "(**(code **)(unaff_gp + -0x7ff0))();" (call_expression "(**(code **)(unaff_gp + -0x7ff0))()" (parenthesized_expression "(**(code **)(unaff_gp + -0x7ff0))" (( "(") (pointer_expression "**(code **)(unaff_gp + -0x7ff0)" (* "*") (pointer_expression "*(code **)(unaff_gp + -0x7ff0)" (* "*") (cast_expression "(code **)(unaff_gp + -0x7ff0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(unaff_gp + -0x7ff0)" (( "(") (binary_expression "unaff_gp + -0x7ff0" (identifier "unaff_gp") (+ "+") (number_literal "-0x7ff0")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "(**(code **)(unaff_gp + -0x7ff0))();" (call_expression "(**(code **)(unaff_gp + -0x7ff0))()" (parenthesized_expression "(**(code **)(unaff_gp + -0x7ff0))" (( "(") (pointer_expression "**(code **)(unaff_gp + -0x7ff0)" (* "*") (pointer_expression "*(code **)(unaff_gp + -0x7ff0)" (* "*") (cast_expression "(code **)(unaff_gp + -0x7ff0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(unaff_gp + -0x7ff0)" (( "(") (binary_expression "unaff_gp + -0x7ff0" (identifier "unaff_gp") (+ "+") (number_literal "-0x7ff0")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "(**(code **)(unaff_gp + -0x7ff0))();" (call_expression "(**(code **)(unaff_gp + -0x7ff0))()" (parenthesized_expression "(**(code **)(unaff_gp + -0x7ff0))" (( "(") (pointer_expression "**(code **)(unaff_gp + -0x7ff0)" (* "*") (pointer_expression "*(code **)(unaff_gp + -0x7ff0)" (* "*") (cast_expression "(code **)(unaff_gp + -0x7ff0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(unaff_gp + -0x7ff0)" (( "(") (binary_expression "unaff_gp + -0x7ff0" (identifier "unaff_gp") (+ "+") (number_literal "-0x7ff0")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "(**(code **)(unaff_gp + -0x7ff0))();" (call_expression "(**(code **)(unaff_gp + -0x7ff0))()" (parenthesized_expression "(**(code **)(unaff_gp + -0x7ff0))" (( "(") (pointer_expression "**(code **)(unaff_gp + -0x7ff0)" (* "*") (pointer_expression "*(code **)(unaff_gp + -0x7ff0)" (* "*") (cast_expression "(code **)(unaff_gp + -0x7ff0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(unaff_gp + -0x7ff0)" (( "(") (binary_expression "unaff_gp + -0x7ff0" (identifier "unaff_gp") (+ "+") (number_literal "-0x7ff0")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "(**(code **)(unaff_gp + -0x7ff0))();" (call_expression "(**(code **)(unaff_gp + -0x7ff0))()" (parenthesized_expression "(**(code **)(unaff_gp + -0x7ff0))" (( "(") (pointer_expression "**(code **)(unaff_gp + -0x7ff0)" (* "*") (pointer_expression "*(code **)(unaff_gp + -0x7ff0)" (* "*") (cast_expression "(code **)(unaff_gp + -0x7ff0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(unaff_gp + -0x7ff0)" (( "(") (binary_expression "unaff_gp + -0x7ff0" (identifier "unaff_gp") (+ "+") (number_literal "-0x7ff0")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "ppuVar1 = (ushort **)(*(code *)(PTR_0004ec04 + 0x57d4))();" (assignment_expression "ppuVar1 = (ushort **)(*(code *)(PTR_0004ec04 + 0x57d4))()" (identifier "ppuVar1") (= "=") (cast_expression "(ushort **)(*(code *)(PTR_0004ec04 + 0x57d4))()" (( "(") (type_descriptor "ushort **" (type_identifier "ushort") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "(*(code *)(PTR_0004ec04 + 0x57d4))()" (parenthesized_expression "(*(code *)(PTR_0004ec04 + 0x57d4))" (( "(") (pointer_expression "*(code *)(PTR_0004ec04 + 0x57d4)" (* "*") (cast_expression "(code *)(PTR_0004ec04 + 0x57d4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_0004ec04 + 0x57d4)" (( "(") (binary_expression "PTR_0004ec04 + 0x57d4" (identifier "PTR_0004ec04") (+ "+") (number_literal "0x57d4")) () ")")))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (return_statement "return ppuVar1;" (return "return") (identifier "ppuVar1") (; ";")) (} "}")))

/* WARNING: Unknown calling convention -- yet parameter storage is locked */

type_1 ** function_1(void)

{
  type_1 **ppuVar1;
  int var_1;
  
  (**(type_2 **)(var_1 + -0x7ff0))();
  (**(type_2 **)(var_1 + -0x7ff0))();
  (**(type_2 **)(var_1 + -0x7ff0))();
  (**(type_2 **)(var_1 + -0x7ff0))();
  (**(type_2 **)(var_1 + -0x7ff0))();
  ppuVar1 = (type_1 **)(*(type_2 *)(var_2 + 0x57d4))();
  return ppuVar1;
}


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

/* WARNING: Unknown calling convention -- yet parameter storage is locked */

ushort ** MASKED(void)

{
  ushort **ppuVar1;
  int unaff_gp;
  
  (**(code **)(unaff_gp + -0x7ff0))();
  (**(code **)(unaff_gp + -0x7ff0))();
  (**(code **)(unaff_gp + -0x7ff0))();
  (**(code **)(unaff_gp + -0x7ff0))();
  (**(code **)(unaff_gp + -0x7ff0))();
  ppuVar1 = (ushort **)(*(code *)(PTR_0004ec04 + 0x57d4))();
  return ppuVar1;
}

