
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention */

void rt_error(char *mesg,...)

{
  undefined *puVar1;
  
  puVar1 = PTR_stderr_00028fd0;
  __fprintf_chk(*(undefined4 *)PTR_stderr_00028fd0,1,"Runtime error (func=%s, adr=%d): ",
                f_names[pc.pc_func],pc.pc_addr);
  __vfprintf_chk(*(undefined4 *)puVar1,1,mesg,&stack0x00000008);
  fputc(10,*(FILE **)puVar1);
  checkferror_output(*(FILE **)puVar1);
  runtime_error = '\x01';
  return;
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

void FUN_00019f10(undefined4 param_1)

{
  undefined *puVar1;
  
  puVar1 = PTR_stderr_00028fd0;
  __fprintf_chk(*(undefined4 *)PTR_stderr_00028fd0,1,"Runtime error (func=%s, adr=%d): ",
                *(undefined4 *)(DAT_00029288 + DAT_000292ac * 4),DAT_000292b0);
  __vfprintf_chk(*(undefined4 *)puVar1,1,param_1,&stack0x00000008);
  fputc(10,*(FILE **)puVar1);
  FUN_0001d320(*(undefined4 *)puVar1);
  DAT_0002928c = 1;
  return;
}


PUSH ESI
PUSH EBX
CALL 0x00011650
ADD EBX,0xefed
SUB ESP,0x10
LEA EAX,[EBX + 0x3a8]
MOV ESI,dword ptr [EBX + 0xcc]
PUSH dword ptr [EAX + 0x4]
MOV EDX,dword ptr [EAX]
LEA EAX,[EBX + 0x384]
MOV EAX,dword ptr [EAX]
PUSH dword ptr [EAX + EDX*0x4]
LEA EAX,[EBX + 0xffff8f20]
PUSH EAX
PUSH 0x1
PUSH dword ptr [ESI]
CALL 0x000112a0
LEA EAX,[ESP + 0x34]
ADD ESP,0x20
PUSH EAX
PUSH dword ptr [ESP + 0x14]
PUSH 0x1
PUSH dword ptr [ESI]
CALL 0x00011070
POP EAX
POP EDX
PUSH dword ptr [ESI]
PUSH 0xa
CALL 0x00011280
POP ECX
PUSH dword ptr [ESI]
CALL 0x0001d320
LEA EAX,[EBX + 0x388]
MOV byte ptr [EAX],0x1
ADD ESP,0x14
POP EBX
POP ESI
RET
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid FUN_00019f10(undefined4 param_1)\n\n{\n  undefined *puVar1;\n  \n  puVar1 = PTR_stderr_00028fd0;\n  __fprintf_chk(*(undefined4 *)PTR_stderr_00028fd0,1,"Runtime error (func=%s, adr=%d): ",\n                *(undefined4 *)(DAT_00029288 + DAT_000292ac * 4),DAT_000292b0);\n  __vfprintf_chk(*(undefined4 *)puVar1,1,param_1,&stack0x00000008);\n  fputc(10,*(FILE **)puVar1);\n  FUN_0001d320(*(undefined4 *)puVar1);\n  DAT_0002928c = 1;\n  return;\n}\n\n" comment (function_definition "void FUN_00019f10(undefined4 param_1)\n\n{\n  undefined *puVar1;\n  \n  puVar1 = PTR_stderr_00028fd0;\n  __fprintf_chk(*(undefined4 *)PTR_stderr_00028fd0,1,"Runtime error (func=%s, adr=%d): ",\n                *(undefined4 *)(DAT_00029288 + DAT_000292ac * 4),DAT_000292b0);\n  __vfprintf_chk(*(undefined4 *)puVar1,1,param_1,&stack0x00000008);\n  fputc(10,*(FILE **)puVar1);\n  FUN_0001d320(*(undefined4 *)puVar1);\n  DAT_0002928c = 1;\n  return;\n}" primitive_type (function_declarator "FUN_00019f10(undefined4 param_1)" identifier (parameter_list "(undefined4 param_1)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  \n  puVar1 = PTR_stderr_00028fd0;\n  __fprintf_chk(*(undefined4 *)PTR_stderr_00028fd0,1,"Runtime error (func=%s, adr=%d): ",\n                *(undefined4 *)(DAT_00029288 + DAT_000292ac * 4),DAT_000292b0);\n  __vfprintf_chk(*(undefined4 *)puVar1,1,param_1,&stack0x00000008);\n  fputc(10,*(FILE **)puVar1);\n  FUN_0001d320(*(undefined4 *)puVar1);\n  DAT_0002928c = 1;\n  return;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (expression_statement "puVar1 = PTR_stderr_00028fd0;" (assignment_expression "puVar1 = PTR_stderr_00028fd0" identifier = identifier) ;) (expression_statement "__fprintf_chk(*(undefined4 *)PTR_stderr_00028fd0,1,"Runtime error (func=%s, adr=%d): ",\n                *(undefined4 *)(DAT_00029288 + DAT_000292ac * 4),DAT_000292b0);" (call_expression "__fprintf_chk(*(undefined4 *)PTR_stderr_00028fd0,1,"Runtime error (func=%s, adr=%d): ",\n                *(undefined4 *)(DAT_00029288 + DAT_000292ac * 4),DAT_000292b0)" identifier (argument_list "(*(undefined4 *)PTR_stderr_00028fd0,1,"Runtime error (func=%s, adr=%d): ",\n                *(undefined4 *)(DAT_00029288 + DAT_000292ac * 4),DAT_000292b0)" ( (pointer_expression "*(undefined4 *)PTR_stderr_00028fd0" * (cast_expression "(undefined4 *)PTR_stderr_00028fd0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , number_literal , (string_literal ""Runtime error (func=%s, adr=%d): "" " string_content ") , (pointer_expression "*(undefined4 *)(DAT_00029288 + DAT_000292ac * 4)" * (cast_expression "(undefined4 *)(DAT_00029288 + DAT_000292ac * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00029288 + DAT_000292ac * 4)" ( (binary_expression "DAT_00029288 + DAT_000292ac * 4" identifier + (binary_expression "DAT_000292ac * 4" identifier * number_literal)) )))) , identifier ))) ;) (expression_statement "__vfprintf_chk(*(undefined4 *)puVar1,1,param_1,&stack0x00000008);" (call_expression "__vfprintf_chk(*(undefined4 *)puVar1,1,param_1,&stack0x00000008)" identifier (argument_list "(*(undefined4 *)puVar1,1,param_1,&stack0x00000008)" ( (pointer_expression "*(undefined4 *)puVar1" * (cast_expression "(undefined4 *)puVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , number_literal , identifier , (pointer_expression "&stack0x00000008" & identifier) ))) ;) (expression_statement "fputc(10,*(FILE **)puVar1);" (call_expression "fputc(10,*(FILE **)puVar1)" identifier (argument_list "(10,*(FILE **)puVar1)" ( number_literal , (pointer_expression "*(FILE **)puVar1" * (cast_expression "(FILE **)puVar1" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "FUN_0001d320(*(undefined4 *)puVar1);" (call_expression "FUN_0001d320(*(undefined4 *)puVar1)" identifier (argument_list "(*(undefined4 *)puVar1)" ( (pointer_expression "*(undefined4 *)puVar1" * (cast_expression "(undefined4 *)puVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (expression_statement "DAT_0002928c = 1;" (assignment_expression "DAT_0002928c = 1" identifier = number_literal) ;) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention */\n\nvoid rt_error(char *mesg,...)\n\n{\n  undefined *puVar1;\n  \n  puVar1 = PTR_stderr_00028fd0;\n  __fprintf_chk(*(undefined4 *)PTR_stderr_00028fd0,1,"Runtime error (func=%s, adr=%d): ",\n                f_names[pc.pc_func],pc.pc_addr);\n  __vfprintf_chk(*(undefined4 *)puVar1,1,mesg,&stack0x00000008);\n  fputc(10,*(FILE **)puVar1);\n  checkferror_output(*(FILE **)puVar1);\n  runtime_error = '\x01';\n  return;\n}\n\n" comment comment (function_definition "void rt_error(char *mesg,...)\n\n{\n  undefined *puVar1;\n  \n  puVar1 = PTR_stderr_00028fd0;\n  __fprintf_chk(*(undefined4 *)PTR_stderr_00028fd0,1,"Runtime error (func=%s, adr=%d): ",\n                f_names[pc.pc_func],pc.pc_addr);\n  __vfprintf_chk(*(undefined4 *)puVar1,1,mesg,&stack0x00000008);\n  fputc(10,*(FILE **)puVar1);\n  checkferror_output(*(FILE **)puVar1);\n  runtime_error = '\x01';\n  return;\n}" primitive_type (function_declarator "rt_error(char *mesg,...)" identifier (parameter_list "(char *mesg,...)" ( (parameter_declaration "char *mesg" primitive_type (pointer_declarator "*mesg" * identifier)) , (variadic_parameter "..." ...) ))) (compound_statement "{\n  undefined *puVar1;\n  \n  puVar1 = PTR_stderr_00028fd0;\n  __fprintf_chk(*(undefined4 *)PTR_stderr_00028fd0,1,"Runtime error (func=%s, adr=%d): ",\n                f_names[pc.pc_func],pc.pc_addr);\n  __vfprintf_chk(*(undefined4 *)puVar1,1,mesg,&stack0x00000008);\n  fputc(10,*(FILE **)puVar1);\n  checkferror_output(*(FILE **)puVar1);\n  runtime_error = '\x01';\n  return;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (expression_statement "puVar1 = PTR_stderr_00028fd0;" (assignment_expression "puVar1 = PTR_stderr_00028fd0" identifier = identifier) ;) (expression_statement "__fprintf_chk(*(undefined4 *)PTR_stderr_00028fd0,1,"Runtime error (func=%s, adr=%d): ",\n                f_names[pc.pc_func],pc.pc_addr);" (call_expression "__fprintf_chk(*(undefined4 *)PTR_stderr_00028fd0,1,"Runtime error (func=%s, adr=%d): ",\n                f_names[pc.pc_func],pc.pc_addr)" identifier (argument_list "(*(undefined4 *)PTR_stderr_00028fd0,1,"Runtime error (func=%s, adr=%d): ",\n                f_names[pc.pc_func],pc.pc_addr)" ( (pointer_expression "*(undefined4 *)PTR_stderr_00028fd0" * (cast_expression "(undefined4 *)PTR_stderr_00028fd0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , number_literal , (string_literal ""Runtime error (func=%s, adr=%d): "" " string_content ") , (subscript_expression "f_names[pc.pc_func]" identifier [ (field_expression "pc.pc_func" identifier . field_identifier) ]) , (field_expression "pc.pc_addr" identifier . field_identifier) ))) ;) (expression_statement "__vfprintf_chk(*(undefined4 *)puVar1,1,mesg,&stack0x00000008);" (call_expression "__vfprintf_chk(*(undefined4 *)puVar1,1,mesg,&stack0x00000008)" identifier (argument_list "(*(undefined4 *)puVar1,1,mesg,&stack0x00000008)" ( (pointer_expression "*(undefined4 *)puVar1" * (cast_expression "(undefined4 *)puVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , number_literal , identifier , (pointer_expression "&stack0x00000008" & identifier) ))) ;) (expression_statement "fputc(10,*(FILE **)puVar1);" (call_expression "fputc(10,*(FILE **)puVar1)" identifier (argument_list "(10,*(FILE **)puVar1)" ( number_literal , (pointer_expression "*(FILE **)puVar1" * (cast_expression "(FILE **)puVar1" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "checkferror_output(*(FILE **)puVar1);" (call_expression "checkferror_output(*(FILE **)puVar1)" identifier (argument_list "(*(FILE **)puVar1)" ( (pointer_expression "*(FILE **)puVar1" * (cast_expression "(FILE **)puVar1" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "runtime_error = '\x01';" (assignment_expression "runtime_error = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (return_statement "return;" return ;) })))
(translation_unit "void FUN_00019f10(undefined4 param_1)\n\n{\n  undefined *puVar1;\n  \n  puVar1 = PTR_stderr_00028fd0;\n  __fprintf_chk(*(undefined4 *)PTR_stderr_00028fd0,1,"Runtime error (func=%s, adr=%d): ",\n                *(undefined4 *)(DAT_00029288 + DAT_000292ac * 4),DAT_000292b0);\n  __vfprintf_chk(*(undefined4 *)puVar1,1,param_1,&stack0x00000008);\n  fputc(10,*(FILE **)puVar1);\n  FUN_0001d320(*(undefined4 *)puVar1);\n  DAT_0002928c = 1;\n  return;\n}\n\n" (function_definition "void FUN_00019f10(undefined4 param_1)\n\n{\n  undefined *puVar1;\n  \n  puVar1 = PTR_stderr_00028fd0;\n  __fprintf_chk(*(undefined4 *)PTR_stderr_00028fd0,1,"Runtime error (func=%s, adr=%d): ",\n                *(undefined4 *)(DAT_00029288 + DAT_000292ac * 4),DAT_000292b0);\n  __vfprintf_chk(*(undefined4 *)puVar1,1,param_1,&stack0x00000008);\n  fputc(10,*(FILE **)puVar1);\n  FUN_0001d320(*(undefined4 *)puVar1);\n  DAT_0002928c = 1;\n  return;\n}" primitive_type (function_declarator "FUN_00019f10(undefined4 param_1)" identifier (parameter_list "(undefined4 param_1)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  \n  puVar1 = PTR_stderr_00028fd0;\n  __fprintf_chk(*(undefined4 *)PTR_stderr_00028fd0,1,"Runtime error (func=%s, adr=%d): ",\n                *(undefined4 *)(DAT_00029288 + DAT_000292ac * 4),DAT_000292b0);\n  __vfprintf_chk(*(undefined4 *)puVar1,1,param_1,&stack0x00000008);\n  fputc(10,*(FILE **)puVar1);\n  FUN_0001d320(*(undefined4 *)puVar1);\n  DAT_0002928c = 1;\n  return;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (expression_statement "puVar1 = PTR_stderr_00028fd0;" (assignment_expression "puVar1 = PTR_stderr_00028fd0" identifier = identifier) ;) (expression_statement "__fprintf_chk(*(undefined4 *)PTR_stderr_00028fd0,1,"Runtime error (func=%s, adr=%d): ",\n                *(undefined4 *)(DAT_00029288 + DAT_000292ac * 4),DAT_000292b0);" (call_expression "__fprintf_chk(*(undefined4 *)PTR_stderr_00028fd0,1,"Runtime error (func=%s, adr=%d): ",\n                *(undefined4 *)(DAT_00029288 + DAT_000292ac * 4),DAT_000292b0)" identifier (argument_list "(*(undefined4 *)PTR_stderr_00028fd0,1,"Runtime error (func=%s, adr=%d): ",\n                *(undefined4 *)(DAT_00029288 + DAT_000292ac * 4),DAT_000292b0)" ( (pointer_expression "*(undefined4 *)PTR_stderr_00028fd0" * (cast_expression "(undefined4 *)PTR_stderr_00028fd0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , number_literal , (string_literal ""Runtime error (func=%s, adr=%d): "" " string_content ") , (pointer_expression "*(undefined4 *)(DAT_00029288 + DAT_000292ac * 4)" * (cast_expression "(undefined4 *)(DAT_00029288 + DAT_000292ac * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00029288 + DAT_000292ac * 4)" ( (binary_expression "DAT_00029288 + DAT_000292ac * 4" identifier + (binary_expression "DAT_000292ac * 4" identifier * number_literal)) )))) , identifier ))) ;) (expression_statement "__vfprintf_chk(*(undefined4 *)puVar1,1,param_1,&stack0x00000008);" (call_expression "__vfprintf_chk(*(undefined4 *)puVar1,1,param_1,&stack0x00000008)" identifier (argument_list "(*(undefined4 *)puVar1,1,param_1,&stack0x00000008)" ( (pointer_expression "*(undefined4 *)puVar1" * (cast_expression "(undefined4 *)puVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , number_literal , identifier , (pointer_expression "&stack0x00000008" & identifier) ))) ;) (expression_statement "fputc(10,*(FILE **)puVar1);" (call_expression "fputc(10,*(FILE **)puVar1)" identifier (argument_list "(10,*(FILE **)puVar1)" ( number_literal , (pointer_expression "*(FILE **)puVar1" * (cast_expression "(FILE **)puVar1" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "FUN_0001d320(*(undefined4 *)puVar1);" (call_expression "FUN_0001d320(*(undefined4 *)puVar1)" identifier (argument_list "(*(undefined4 *)puVar1)" ( (pointer_expression "*(undefined4 *)puVar1" * (cast_expression "(undefined4 *)puVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (expression_statement "DAT_0002928c = 1;" (assignment_expression "DAT_0002928c = 1" identifier = number_literal) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) , LIT , (string_literal " string_content ") , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) , LIT , IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (return_statement return ;) })))
(function_definition "void FUN_00019f10(undefined4 param_1)\n\n{\n  undefined *puVar1;\n  \n  puVar1 = PTR_stderr_00028fd0;\n  __fprintf_chk(*(undefined4 *)PTR_stderr_00028fd0,1,"Runtime error (func=%s, adr=%d): ",\n                *(undefined4 *)(DAT_00029288 + DAT_000292ac * 4),DAT_000292b0);\n  __vfprintf_chk(*(undefined4 *)puVar1,1,param_1,&stack0x00000008);\n  fputc(10,*(FILE **)puVar1);\n  FUN_0001d320(*(undefined4 *)puVar1);\n  DAT_0002928c = 1;\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00019f10(undefined4 param_1)" (identifier "FUN_00019f10") (parameter_list "(undefined4 param_1)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) () ")"))) (compound_statement "{\n  undefined *puVar1;\n  \n  puVar1 = PTR_stderr_00028fd0;\n  __fprintf_chk(*(undefined4 *)PTR_stderr_00028fd0,1,"Runtime error (func=%s, adr=%d): ",\n                *(undefined4 *)(DAT_00029288 + DAT_000292ac * 4),DAT_000292b0);\n  __vfprintf_chk(*(undefined4 *)puVar1,1,param_1,&stack0x00000008);\n  fputc(10,*(FILE **)puVar1);\n  FUN_0001d320(*(undefined4 *)puVar1);\n  DAT_0002928c = 1;\n  return;\n}" ({ "{") (declaration "undefined *puVar1;" (type_identifier "undefined") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (expression_statement "puVar1 = PTR_stderr_00028fd0;" (assignment_expression "puVar1 = PTR_stderr_00028fd0" (identifier "puVar1") (= "=") (identifier "PTR_stderr_00028fd0")) (; ";")) (expression_statement "__fprintf_chk(*(undefined4 *)PTR_stderr_00028fd0,1,"Runtime error (func=%s, adr=%d): ",\n                *(undefined4 *)(DAT_00029288 + DAT_000292ac * 4),DAT_000292b0);" (call_expression "__fprintf_chk(*(undefined4 *)PTR_stderr_00028fd0,1,"Runtime error (func=%s, adr=%d): ",\n                *(undefined4 *)(DAT_00029288 + DAT_000292ac * 4),DAT_000292b0)" (identifier "__fprintf_chk") (argument_list "(*(undefined4 *)PTR_stderr_00028fd0,1,"Runtime error (func=%s, adr=%d): ",\n                *(undefined4 *)(DAT_00029288 + DAT_000292ac * 4),DAT_000292b0)" (( "(") (pointer_expression "*(undefined4 *)PTR_stderr_00028fd0" (* "*") (cast_expression "(undefined4 *)PTR_stderr_00028fd0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_stderr_00028fd0"))) (, ",") (number_literal "1") (, ",") (string_literal ""Runtime error (func=%s, adr=%d): "" (" """) (string_content "Runtime error (func=%s, adr=%d): ") (" """)) (, ",") (pointer_expression "*(undefined4 *)(DAT_00029288 + DAT_000292ac * 4)" (* "*") (cast_expression "(undefined4 *)(DAT_00029288 + DAT_000292ac * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00029288 + DAT_000292ac * 4)" (( "(") (binary_expression "DAT_00029288 + DAT_000292ac * 4" (identifier "DAT_00029288") (+ "+") (binary_expression "DAT_000292ac * 4" (identifier "DAT_000292ac") (* "*") (number_literal "4"))) () ")")))) (, ",") (identifier "DAT_000292b0") () ")"))) (; ";")) (expression_statement "__vfprintf_chk(*(undefined4 *)puVar1,1,param_1,&stack0x00000008);" (call_expression "__vfprintf_chk(*(undefined4 *)puVar1,1,param_1,&stack0x00000008)" (identifier "__vfprintf_chk") (argument_list "(*(undefined4 *)puVar1,1,param_1,&stack0x00000008)" (( "(") (pointer_expression "*(undefined4 *)puVar1" (* "*") (cast_expression "(undefined4 *)puVar1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) (, ",") (number_literal "1") (, ",") (identifier "param_1") (, ",") (pointer_expression "&stack0x00000008" (& "&") (identifier "stack0x00000008")) () ")"))) (; ";")) (expression_statement "fputc(10,*(FILE **)puVar1);" (call_expression "fputc(10,*(FILE **)puVar1)" (identifier "fputc") (argument_list "(10,*(FILE **)puVar1)" (( "(") (number_literal "10") (, ",") (pointer_expression "*(FILE **)puVar1" (* "*") (cast_expression "(FILE **)puVar1" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar1"))) () ")"))) (; ";")) (expression_statement "FUN_0001d320(*(undefined4 *)puVar1);" (call_expression "FUN_0001d320(*(undefined4 *)puVar1)" (identifier "FUN_0001d320") (argument_list "(*(undefined4 *)puVar1)" (( "(") (pointer_expression "*(undefined4 *)puVar1" (* "*") (cast_expression "(undefined4 *)puVar1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) () ")"))) (; ";")) (expression_statement "DAT_0002928c = 1;" (assignment_expression "DAT_0002928c = 1" (identifier "DAT_0002928c") (= "=") (number_literal "1")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention */

void function_1(char *mesg,...)

{
  type_1 *puVar1;
  
  puVar1 = PTR_stderr_00028fd0;
  var_1(*(type_2 *)PTR_stderr_00028fd0,1,"Runtime error (func=%s, adr=%d): ",
                f_names[pc.pc_func],pc.pc_addr);
  var_2(*(type_2 *)puVar1,1,mesg,&stack0x00000008);
  var_3(10,*(type_3 **)puVar1);
  var_4(*(type_3 **)puVar1);
  runtime_error = '\x01';
  return;
}


(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 (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) (number_literal) (string_literal (string_content)) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) (number_literal) (identifier) (pointer_expression argument: (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (return_statement))))

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

void MASKED(undefined4 param_1)

{
  undefined *puVar1;
  
  puVar1 = PTR_stderr_00028fd0;
  __fprintf_chk(*(undefined4 *)PTR_stderr_00028fd0,1,"Runtime error (func=%s, adr=%d): ",
                *(undefined4 *)(DAT_00029288 + DAT_000292ac * 4),DAT_000292b0);
  __vfprintf_chk(*(undefined4 *)puVar1,1,param_1,&stack0x00000008);
  fputc(10,*(FILE **)puVar1);
  FUN_0001d320(*(undefined4 *)puVar1);
  DAT_0002928c = 1;
  return;
}

