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

void __regparm3 process_mips_fpe_exception(int mask)

{
  undefined1 *puVar1;
  
  if (mask == 0) {
    fputc(0x30,*(FILE **)PTR_stdout_000b3fd8);
    return;
  }
  if ((mask & 1U) == 0) {
    if ((mask & 2U) != 0) {
      puVar1 = &DAT_0007bc55;
LAB_00037394:
      printf("%sUFLO",puVar1);
      goto joined_r0x000374c2;
    }
    if ((mask & 4U) != 0) {
      puVar1 = &DAT_0007bc55;
      goto LAB_000373b5;
    }
    if ((mask & 8U) == 0) {
      if ((mask & 0x10U) == 0) {
        return;
      }
      puVar1 = &DAT_0007bc55;
      goto LAB_000373f3;
    }
    puVar1 = &DAT_0007bc55;
LAB_000373d6:
    printf("%sDIV0",puVar1);
  }
  else {
    fwrite(&DAT_0007c0a8,1,4,*(FILE **)PTR_stdout_000b3fd8);
    if ((mask & 2U) != 0) {
      puVar1 = &DAT_0007c0a6;
      goto LAB_00037394;
    }
joined_r0x000374c2:
    if ((mask & 4U) != 0) {
      puVar1 = &DAT_0007c0a6;
LAB_000373b5:
      printf("%sOFLO",puVar1);
    }
    if ((mask & 8U) != 0) {
      puVar1 = &DAT_0007c0a6;
      goto LAB_000373d6;
    }
  }
  if ((mask & 0x10U) == 0) {
    return;
  }
  puVar1 = &DAT_0007c0a6;
LAB_000373f3:
  printf("%sINVAL",puVar1);
  return;
}



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

void __regparm3 FUN_00037350(uint param_1)

{
  undefined1 *puVar1;
  
  if (param_1 == 0) {
    fputc(0x30,*(FILE **)PTR_stdout_000b3fd8);
    return;
  }
  if ((param_1 & 1) == 0) {
    if ((param_1 & 2) != 0) {
      puVar1 = &DAT_0007bc55;
LAB_00037394:
      printf("%sUFLO",puVar1);
      goto joined_r0x000374c2;
    }
    if ((param_1 & 4) != 0) {
      puVar1 = &DAT_0007bc55;
      goto LAB_000373b5;
    }
    if ((param_1 & 8) == 0) {
      if ((param_1 & 0x10) == 0) {
        return;
      }
      puVar1 = &DAT_0007bc55;
      goto LAB_000373f3;
    }
    puVar1 = &DAT_0007bc55;
LAB_000373d6:
    printf("%sDIV0",puVar1);
  }
  else {
    fwrite(&DAT_0007c0a8,1,4,*(FILE **)PTR_stdout_000b3fd8);
    if ((param_1 & 2) != 0) {
      puVar1 = &DAT_0007c0a6;
      goto LAB_00037394;
    }
joined_r0x000374c2:
    if ((param_1 & 4) != 0) {
      puVar1 = &DAT_0007c0a6;
LAB_000373b5:
      printf("%sOFLO",puVar1);
    }
    if ((param_1 & 8) != 0) {
      puVar1 = &DAT_0007c0a6;
      goto LAB_000373d6;
    }
  }
  if ((param_1 & 0x10) == 0) {
    return;
  }
  puVar1 = &DAT_0007c0a6;
LAB_000373f3:
  printf("%sINVAL",puVar1);
  return;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00013f70
ADD EBX,0x7cca7
SUB ESP,0x1c
TEST EAX,EAX
JZ 0x00037450
MOV EDX,EAX
MOV EBP,EAX
MOV ESI,EAX
MOV EDI,EAX
AND EDX,0x2
AND EBP,0x4
AND ESI,0x8
AND EDI,0x10
TEST AL,0x1
JNZ 0x00037410
TEST EDX,EDX
JZ 0x00037470
LEA EAX,[EBX + 0xfffc7c55]
SUB ESP,0x8
PUSH EAX
LEA EAX,[EBX + 0xfffc80ad]
PUSH EAX
CALL 0x00013060
ADD ESP,0x10
TEST EBP,EBP
JZ 0x00037498
LEA EAX,[EBX + 0xfffc80a6]
SUB ESP,0x8
PUSH EAX
LEA EAX,[EBX + 0xfffc80b4]
PUSH EAX
CALL 0x00013060
ADD ESP,0x10
TEST ESI,ESI
JZ 0x00037488
LEA EAX,[EBX + 0xfffc80a6]
SUB ESP,0x8
PUSH EAX
LEA EAX,[EBX + 0xfffc80bb]
PUSH EAX
CALL 0x00013060
ADD ESP,0x10
TEST EDI,EDI
JZ 0x00037406
LEA EAX,[EBX + 0xfffc80a6]
SUB ESP,0x8
PUSH EAX
LEA EAX,[EBX + 0xfffc80c2]
PUSH EAX
CALL 0x00013060
ADD ESP,0x10
ADD ESP,0x1c
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EAX,dword ptr [EBX + 0xffffffd8]
MOV dword ptr [ESP + 0xc],EDX
PUSH dword ptr [EAX]
LEA EAX,[EBX + 0xfffc80a8]
PUSH 0x4
PUSH 0x1
PUSH EAX
CALL 0x00013150
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0xc]
TEST EDX,EDX
JZ 0x000374c0
LEA EAX,[EBX + 0xfffc80a6]
JMP 0x00037394
MOV EAX,dword ptr [EBX + 0xffffffd8]
SUB ESP,0x8
PUSH dword ptr [EAX]
PUSH 0x30
CALL 0x00013350
ADD ESP,0x10
ADD ESP,0x1c
POP EBX
POP ESI
POP EDI
POP EBP
RET
TEST EBP,EBP
JNZ 0x000374b0
TEST ESI,ESI
JZ 0x000374d0
LEA EAX,[EBX + 0xfffc7c55]
JMP 0x000373d6
TEST EDI,EDI
JNZ 0x000373ed
JMP 0x00037406
TEST ESI,ESI
JNZ 0x000373d0
TEST EDI,EDI
JZ 0x00037406
JMP 0x000373ed
LEA EAX,[EBX + 0xfffc7c55]
JMP 0x000373b5
TEST EBP,EBP
JZ 0x000373c8
JMP 0x000373af
TEST EDI,EDI
JZ 0x00037406
LEA EAX,[EBX + 0xfffc7c55]
JMP 0x000373f3
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid __regparm3 FUN_00037350(uint param_1)\n\n{\n  undefined1 *puVar1;\n  \n  if (param_1 == 0) {\n    fputc(0x30,*(FILE **)PTR_stdout_000b3fd8);\n    return;\n  }\n  if ((param_1 & 1) == 0) {\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_0007bc55;\nLAB_00037394:\n      printf("%sUFLO",puVar1);\n      goto joined_r0x000374c2;\n    }\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0007bc55;\n      goto LAB_000373b5;\n    }\n    if ((param_1 & 8) == 0) {\n      if ((param_1 & 0x10) == 0) {\n        return;\n      }\n      puVar1 = &DAT_0007bc55;\n      goto LAB_000373f3;\n    }\n    puVar1 = &DAT_0007bc55;\nLAB_000373d6:\n    printf("%sDIV0",puVar1);\n  }\n  else {\n    fwrite(&DAT_0007c0a8,1,4,*(FILE **)PTR_stdout_000b3fd8);\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_00037394;\n    }\njoined_r0x000374c2:\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0007c0a6;\nLAB_000373b5:\n      printf("%sOFLO",puVar1);\n    }\n    if ((param_1 & 8) != 0) {\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_000373d6;\n    }\n  }\n  if ((param_1 & 0x10) == 0) {\n    return;\n  }\n  puVar1 = &DAT_0007c0a6;\nLAB_000373f3:\n  printf("%sINVAL",puVar1);\n  return;\n}\n\n" comment (function_definition "void __regparm3 FUN_00037350(uint param_1)\n\n{\n  undefined1 *puVar1;\n  \n  if (param_1 == 0) {\n    fputc(0x30,*(FILE **)PTR_stdout_000b3fd8);\n    return;\n  }\n  if ((param_1 & 1) == 0) {\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_0007bc55;\nLAB_00037394:\n      printf("%sUFLO",puVar1);\n      goto joined_r0x000374c2;\n    }\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0007bc55;\n      goto LAB_000373b5;\n    }\n    if ((param_1 & 8) == 0) {\n      if ((param_1 & 0x10) == 0) {\n        return;\n      }\n      puVar1 = &DAT_0007bc55;\n      goto LAB_000373f3;\n    }\n    puVar1 = &DAT_0007bc55;\nLAB_000373d6:\n    printf("%sDIV0",puVar1);\n  }\n  else {\n    fwrite(&DAT_0007c0a8,1,4,*(FILE **)PTR_stdout_000b3fd8);\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_00037394;\n    }\njoined_r0x000374c2:\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0007c0a6;\nLAB_000373b5:\n      printf("%sOFLO",puVar1);\n    }\n    if ((param_1 & 8) != 0) {\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_000373d6;\n    }\n  }\n  if ((param_1 & 0x10) == 0) {\n    return;\n  }\n  puVar1 = &DAT_0007c0a6;\nLAB_000373f3:\n  printf("%sINVAL",puVar1);\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_00037350(uint param_1)" identifier (parameter_list "(uint param_1)" ( (parameter_declaration "uint param_1" type_identifier identifier) ))) (compound_statement "{\n  undefined1 *puVar1;\n  \n  if (param_1 == 0) {\n    fputc(0x30,*(FILE **)PTR_stdout_000b3fd8);\n    return;\n  }\n  if ((param_1 & 1) == 0) {\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_0007bc55;\nLAB_00037394:\n      printf("%sUFLO",puVar1);\n      goto joined_r0x000374c2;\n    }\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0007bc55;\n      goto LAB_000373b5;\n    }\n    if ((param_1 & 8) == 0) {\n      if ((param_1 & 0x10) == 0) {\n        return;\n      }\n      puVar1 = &DAT_0007bc55;\n      goto LAB_000373f3;\n    }\n    puVar1 = &DAT_0007bc55;\nLAB_000373d6:\n    printf("%sDIV0",puVar1);\n  }\n  else {\n    fwrite(&DAT_0007c0a8,1,4,*(FILE **)PTR_stdout_000b3fd8);\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_00037394;\n    }\njoined_r0x000374c2:\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0007c0a6;\nLAB_000373b5:\n      printf("%sOFLO",puVar1);\n    }\n    if ((param_1 & 8) != 0) {\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_000373d6;\n    }\n  }\n  if ((param_1 & 0x10) == 0) {\n    return;\n  }\n  puVar1 = &DAT_0007c0a6;\nLAB_000373f3:\n  printf("%sINVAL",puVar1);\n  return;\n}" { (declaration "undefined1 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (if_statement "if (param_1 == 0) {\n    fputc(0x30,*(FILE **)PTR_stdout_000b3fd8);\n    return;\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n    fputc(0x30,*(FILE **)PTR_stdout_000b3fd8);\n    return;\n  }" { (expression_statement "fputc(0x30,*(FILE **)PTR_stdout_000b3fd8);" (call_expression "fputc(0x30,*(FILE **)PTR_stdout_000b3fd8)" identifier (argument_list "(0x30,*(FILE **)PTR_stdout_000b3fd8)" ( number_literal , (pointer_expression "*(FILE **)PTR_stdout_000b3fd8" * (cast_expression "(FILE **)PTR_stdout_000b3fd8" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (return_statement "return;" return ;) })) (if_statement "if ((param_1 & 1) == 0) {\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_0007bc55;\nLAB_00037394:\n      printf("%sUFLO",puVar1);\n      goto joined_r0x000374c2;\n    }\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0007bc55;\n      goto LAB_000373b5;\n    }\n    if ((param_1 & 8) == 0) {\n      if ((param_1 & 0x10) == 0) {\n        return;\n      }\n      puVar1 = &DAT_0007bc55;\n      goto LAB_000373f3;\n    }\n    puVar1 = &DAT_0007bc55;\nLAB_000373d6:\n    printf("%sDIV0",puVar1);\n  }\n  else {\n    fwrite(&DAT_0007c0a8,1,4,*(FILE **)PTR_stdout_000b3fd8);\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_00037394;\n    }\njoined_r0x000374c2:\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0007c0a6;\nLAB_000373b5:\n      printf("%sOFLO",puVar1);\n    }\n    if ((param_1 & 8) != 0) {\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_000373d6;\n    }\n  }" if (parenthesized_expression "((param_1 & 1) == 0)" ( (binary_expression "(param_1 & 1) == 0" (parenthesized_expression "(param_1 & 1)" ( (binary_expression "param_1 & 1" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_0007bc55;\nLAB_00037394:\n      printf("%sUFLO",puVar1);\n      goto joined_r0x000374c2;\n    }\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0007bc55;\n      goto LAB_000373b5;\n    }\n    if ((param_1 & 8) == 0) {\n      if ((param_1 & 0x10) == 0) {\n        return;\n      }\n      puVar1 = &DAT_0007bc55;\n      goto LAB_000373f3;\n    }\n    puVar1 = &DAT_0007bc55;\nLAB_000373d6:\n    printf("%sDIV0",puVar1);\n  }" { (if_statement "if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_0007bc55;\nLAB_00037394:\n      printf("%sUFLO",puVar1);\n      goto joined_r0x000374c2;\n    }" if (parenthesized_expression "((param_1 & 2) != 0)" ( (binary_expression "(param_1 & 2) != 0" (parenthesized_expression "(param_1 & 2)" ( (binary_expression "param_1 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      puVar1 = &DAT_0007bc55;\nLAB_00037394:\n      printf("%sUFLO",puVar1);\n      goto joined_r0x000374c2;\n    }" { (expression_statement "puVar1 = &DAT_0007bc55;" (assignment_expression "puVar1 = &DAT_0007bc55" identifier = (pointer_expression "&DAT_0007bc55" & identifier)) ;) (labeled_statement "LAB_00037394:\n      printf("%sUFLO",puVar1);" statement_identifier : (expression_statement "printf("%sUFLO",puVar1);" (call_expression "printf("%sUFLO",puVar1)" identifier (argument_list "("%sUFLO",puVar1)" ( (string_literal ""%sUFLO"" " string_content ") , identifier ))) ;)) (goto_statement "goto joined_r0x000374c2;" goto statement_identifier ;) })) (if_statement "if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0007bc55;\n      goto LAB_000373b5;\n    }" if (parenthesized_expression "((param_1 & 4) != 0)" ( (binary_expression "(param_1 & 4) != 0" (parenthesized_expression "(param_1 & 4)" ( (binary_expression "param_1 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      puVar1 = &DAT_0007bc55;\n      goto LAB_000373b5;\n    }" { (expression_statement "puVar1 = &DAT_0007bc55;" (assignment_expression "puVar1 = &DAT_0007bc55" identifier = (pointer_expression "&DAT_0007bc55" & identifier)) ;) (goto_statement "goto LAB_000373b5;" goto statement_identifier ;) })) (if_statement "if ((param_1 & 8) == 0) {\n      if ((param_1 & 0x10) == 0) {\n        return;\n      }\n      puVar1 = &DAT_0007bc55;\n      goto LAB_000373f3;\n    }" if (parenthesized_expression "((param_1 & 8) == 0)" ( (binary_expression "(param_1 & 8) == 0" (parenthesized_expression "(param_1 & 8)" ( (binary_expression "param_1 & 8" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      if ((param_1 & 0x10) == 0) {\n        return;\n      }\n      puVar1 = &DAT_0007bc55;\n      goto LAB_000373f3;\n    }" { (if_statement "if ((param_1 & 0x10) == 0) {\n        return;\n      }" if (parenthesized_expression "((param_1 & 0x10) == 0)" ( (binary_expression "(param_1 & 0x10) == 0" (parenthesized_expression "(param_1 & 0x10)" ( (binary_expression "param_1 & 0x10" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (expression_statement "puVar1 = &DAT_0007bc55;" (assignment_expression "puVar1 = &DAT_0007bc55" identifier = (pointer_expression "&DAT_0007bc55" & identifier)) ;) (goto_statement "goto LAB_000373f3;" goto statement_identifier ;) })) (expression_statement "puVar1 = &DAT_0007bc55;" (assignment_expression "puVar1 = &DAT_0007bc55" identifier = (pointer_expression "&DAT_0007bc55" & identifier)) ;) (labeled_statement "LAB_000373d6:\n    printf("%sDIV0",puVar1);" statement_identifier : (expression_statement "printf("%sDIV0",puVar1);" (call_expression "printf("%sDIV0",puVar1)" identifier (argument_list "("%sDIV0",puVar1)" ( (string_literal ""%sDIV0"" " string_content ") , identifier ))) ;)) }) (else_clause "else {\n    fwrite(&DAT_0007c0a8,1,4,*(FILE **)PTR_stdout_000b3fd8);\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_00037394;\n    }\njoined_r0x000374c2:\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0007c0a6;\nLAB_000373b5:\n      printf("%sOFLO",puVar1);\n    }\n    if ((param_1 & 8) != 0) {\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_000373d6;\n    }\n  }" else (compound_statement "{\n    fwrite(&DAT_0007c0a8,1,4,*(FILE **)PTR_stdout_000b3fd8);\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_00037394;\n    }\njoined_r0x000374c2:\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0007c0a6;\nLAB_000373b5:\n      printf("%sOFLO",puVar1);\n    }\n    if ((param_1 & 8) != 0) {\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_000373d6;\n    }\n  }" { (expression_statement "fwrite(&DAT_0007c0a8,1,4,*(FILE **)PTR_stdout_000b3fd8);" (call_expression "fwrite(&DAT_0007c0a8,1,4,*(FILE **)PTR_stdout_000b3fd8)" identifier (argument_list "(&DAT_0007c0a8,1,4,*(FILE **)PTR_stdout_000b3fd8)" ( (pointer_expression "&DAT_0007c0a8" & identifier) , number_literal , number_literal , (pointer_expression "*(FILE **)PTR_stdout_000b3fd8" * (cast_expression "(FILE **)PTR_stdout_000b3fd8" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (if_statement "if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_00037394;\n    }" if (parenthesized_expression "((param_1 & 2) != 0)" ( (binary_expression "(param_1 & 2) != 0" (parenthesized_expression "(param_1 & 2)" ( (binary_expression "param_1 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_00037394;\n    }" { (expression_statement "puVar1 = &DAT_0007c0a6;" (assignment_expression "puVar1 = &DAT_0007c0a6" identifier = (pointer_expression "&DAT_0007c0a6" & identifier)) ;) (goto_statement "goto LAB_00037394;" goto statement_identifier ;) })) (labeled_statement "joined_r0x000374c2:\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0007c0a6;\nLAB_000373b5:\n      printf("%sOFLO",puVar1);\n    }" statement_identifier : (if_statement "if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0007c0a6;\nLAB_000373b5:\n      printf("%sOFLO",puVar1);\n    }" if (parenthesized_expression "((param_1 & 4) != 0)" ( (binary_expression "(param_1 & 4) != 0" (parenthesized_expression "(param_1 & 4)" ( (binary_expression "param_1 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      puVar1 = &DAT_0007c0a6;\nLAB_000373b5:\n      printf("%sOFLO",puVar1);\n    }" { (expression_statement "puVar1 = &DAT_0007c0a6;" (assignment_expression "puVar1 = &DAT_0007c0a6" identifier = (pointer_expression "&DAT_0007c0a6" & identifier)) ;) (labeled_statement "LAB_000373b5:\n      printf("%sOFLO",puVar1);" statement_identifier : (expression_statement "printf("%sOFLO",puVar1);" (call_expression "printf("%sOFLO",puVar1)" identifier (argument_list "("%sOFLO",puVar1)" ( (string_literal ""%sOFLO"" " string_content ") , identifier ))) ;)) }))) (if_statement "if ((param_1 & 8) != 0) {\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_000373d6;\n    }" if (parenthesized_expression "((param_1 & 8) != 0)" ( (binary_expression "(param_1 & 8) != 0" (parenthesized_expression "(param_1 & 8)" ( (binary_expression "param_1 & 8" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_000373d6;\n    }" { (expression_statement "puVar1 = &DAT_0007c0a6;" (assignment_expression "puVar1 = &DAT_0007c0a6" identifier = (pointer_expression "&DAT_0007c0a6" & identifier)) ;) (goto_statement "goto LAB_000373d6;" goto statement_identifier ;) })) }))) (if_statement "if ((param_1 & 0x10) == 0) {\n    return;\n  }" if (parenthesized_expression "((param_1 & 0x10) == 0)" ( (binary_expression "(param_1 & 0x10) == 0" (parenthesized_expression "(param_1 & 0x10)" ( (binary_expression "param_1 & 0x10" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "puVar1 = &DAT_0007c0a6;" (assignment_expression "puVar1 = &DAT_0007c0a6" identifier = (pointer_expression "&DAT_0007c0a6" & identifier)) ;) (labeled_statement "LAB_000373f3:\n  printf("%sINVAL",puVar1);" statement_identifier : (expression_statement "printf("%sINVAL",puVar1);" (call_expression "printf("%sINVAL",puVar1)" identifier (argument_list "("%sINVAL",puVar1)" ( (string_literal ""%sINVAL"" " string_content ") , identifier ))) ;)) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid __regparm3 process_mips_fpe_exception(int mask)\n\n{\n  undefined1 *puVar1;\n  \n  if (mask == 0) {\n    fputc(0x30,*(FILE **)PTR_stdout_000b3fd8);\n    return;\n  }\n  if ((mask & 1U) == 0) {\n    if ((mask & 2U) != 0) {\n      puVar1 = &DAT_0007bc55;\nLAB_00037394:\n      printf("%sUFLO",puVar1);\n      goto joined_r0x000374c2;\n    }\n    if ((mask & 4U) != 0) {\n      puVar1 = &DAT_0007bc55;\n      goto LAB_000373b5;\n    }\n    if ((mask & 8U) == 0) {\n      if ((mask & 0x10U) == 0) {\n        return;\n      }\n      puVar1 = &DAT_0007bc55;\n      goto LAB_000373f3;\n    }\n    puVar1 = &DAT_0007bc55;\nLAB_000373d6:\n    printf("%sDIV0",puVar1);\n  }\n  else {\n    fwrite(&DAT_0007c0a8,1,4,*(FILE **)PTR_stdout_000b3fd8);\n    if ((mask & 2U) != 0) {\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_00037394;\n    }\njoined_r0x000374c2:\n    if ((mask & 4U) != 0) {\n      puVar1 = &DAT_0007c0a6;\nLAB_000373b5:\n      printf("%sOFLO",puVar1);\n    }\n    if ((mask & 8U) != 0) {\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_000373d6;\n    }\n  }\n  if ((mask & 0x10U) == 0) {\n    return;\n  }\n  puVar1 = &DAT_0007c0a6;\nLAB_000373f3:\n  printf("%sINVAL",puVar1);\n  return;\n}\n\n" comment (function_definition "void __regparm3 process_mips_fpe_exception(int mask)\n\n{\n  undefined1 *puVar1;\n  \n  if (mask == 0) {\n    fputc(0x30,*(FILE **)PTR_stdout_000b3fd8);\n    return;\n  }\n  if ((mask & 1U) == 0) {\n    if ((mask & 2U) != 0) {\n      puVar1 = &DAT_0007bc55;\nLAB_00037394:\n      printf("%sUFLO",puVar1);\n      goto joined_r0x000374c2;\n    }\n    if ((mask & 4U) != 0) {\n      puVar1 = &DAT_0007bc55;\n      goto LAB_000373b5;\n    }\n    if ((mask & 8U) == 0) {\n      if ((mask & 0x10U) == 0) {\n        return;\n      }\n      puVar1 = &DAT_0007bc55;\n      goto LAB_000373f3;\n    }\n    puVar1 = &DAT_0007bc55;\nLAB_000373d6:\n    printf("%sDIV0",puVar1);\n  }\n  else {\n    fwrite(&DAT_0007c0a8,1,4,*(FILE **)PTR_stdout_000b3fd8);\n    if ((mask & 2U) != 0) {\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_00037394;\n    }\njoined_r0x000374c2:\n    if ((mask & 4U) != 0) {\n      puVar1 = &DAT_0007c0a6;\nLAB_000373b5:\n      printf("%sOFLO",puVar1);\n    }\n    if ((mask & 8U) != 0) {\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_000373d6;\n    }\n  }\n  if ((mask & 0x10U) == 0) {\n    return;\n  }\n  puVar1 = &DAT_0007c0a6;\nLAB_000373f3:\n  printf("%sINVAL",puVar1);\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "process_mips_fpe_exception(int mask)" identifier (parameter_list "(int mask)" ( (parameter_declaration "int mask" primitive_type identifier) ))) (compound_statement "{\n  undefined1 *puVar1;\n  \n  if (mask == 0) {\n    fputc(0x30,*(FILE **)PTR_stdout_000b3fd8);\n    return;\n  }\n  if ((mask & 1U) == 0) {\n    if ((mask & 2U) != 0) {\n      puVar1 = &DAT_0007bc55;\nLAB_00037394:\n      printf("%sUFLO",puVar1);\n      goto joined_r0x000374c2;\n    }\n    if ((mask & 4U) != 0) {\n      puVar1 = &DAT_0007bc55;\n      goto LAB_000373b5;\n    }\n    if ((mask & 8U) == 0) {\n      if ((mask & 0x10U) == 0) {\n        return;\n      }\n      puVar1 = &DAT_0007bc55;\n      goto LAB_000373f3;\n    }\n    puVar1 = &DAT_0007bc55;\nLAB_000373d6:\n    printf("%sDIV0",puVar1);\n  }\n  else {\n    fwrite(&DAT_0007c0a8,1,4,*(FILE **)PTR_stdout_000b3fd8);\n    if ((mask & 2U) != 0) {\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_00037394;\n    }\njoined_r0x000374c2:\n    if ((mask & 4U) != 0) {\n      puVar1 = &DAT_0007c0a6;\nLAB_000373b5:\n      printf("%sOFLO",puVar1);\n    }\n    if ((mask & 8U) != 0) {\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_000373d6;\n    }\n  }\n  if ((mask & 0x10U) == 0) {\n    return;\n  }\n  puVar1 = &DAT_0007c0a6;\nLAB_000373f3:\n  printf("%sINVAL",puVar1);\n  return;\n}" { (declaration "undefined1 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (if_statement "if (mask == 0) {\n    fputc(0x30,*(FILE **)PTR_stdout_000b3fd8);\n    return;\n  }" if (parenthesized_expression "(mask == 0)" ( (binary_expression "mask == 0" identifier == number_literal) )) (compound_statement "{\n    fputc(0x30,*(FILE **)PTR_stdout_000b3fd8);\n    return;\n  }" { (expression_statement "fputc(0x30,*(FILE **)PTR_stdout_000b3fd8);" (call_expression "fputc(0x30,*(FILE **)PTR_stdout_000b3fd8)" identifier (argument_list "(0x30,*(FILE **)PTR_stdout_000b3fd8)" ( number_literal , (pointer_expression "*(FILE **)PTR_stdout_000b3fd8" * (cast_expression "(FILE **)PTR_stdout_000b3fd8" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (return_statement "return;" return ;) })) (if_statement "if ((mask & 1U) == 0) {\n    if ((mask & 2U) != 0) {\n      puVar1 = &DAT_0007bc55;\nLAB_00037394:\n      printf("%sUFLO",puVar1);\n      goto joined_r0x000374c2;\n    }\n    if ((mask & 4U) != 0) {\n      puVar1 = &DAT_0007bc55;\n      goto LAB_000373b5;\n    }\n    if ((mask & 8U) == 0) {\n      if ((mask & 0x10U) == 0) {\n        return;\n      }\n      puVar1 = &DAT_0007bc55;\n      goto LAB_000373f3;\n    }\n    puVar1 = &DAT_0007bc55;\nLAB_000373d6:\n    printf("%sDIV0",puVar1);\n  }\n  else {\n    fwrite(&DAT_0007c0a8,1,4,*(FILE **)PTR_stdout_000b3fd8);\n    if ((mask & 2U) != 0) {\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_00037394;\n    }\njoined_r0x000374c2:\n    if ((mask & 4U) != 0) {\n      puVar1 = &DAT_0007c0a6;\nLAB_000373b5:\n      printf("%sOFLO",puVar1);\n    }\n    if ((mask & 8U) != 0) {\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_000373d6;\n    }\n  }" if (parenthesized_expression "((mask & 1U) == 0)" ( (binary_expression "(mask & 1U) == 0" (parenthesized_expression "(mask & 1U)" ( (binary_expression "mask & 1U" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    if ((mask & 2U) != 0) {\n      puVar1 = &DAT_0007bc55;\nLAB_00037394:\n      printf("%sUFLO",puVar1);\n      goto joined_r0x000374c2;\n    }\n    if ((mask & 4U) != 0) {\n      puVar1 = &DAT_0007bc55;\n      goto LAB_000373b5;\n    }\n    if ((mask & 8U) == 0) {\n      if ((mask & 0x10U) == 0) {\n        return;\n      }\n      puVar1 = &DAT_0007bc55;\n      goto LAB_000373f3;\n    }\n    puVar1 = &DAT_0007bc55;\nLAB_000373d6:\n    printf("%sDIV0",puVar1);\n  }" { (if_statement "if ((mask & 2U) != 0) {\n      puVar1 = &DAT_0007bc55;\nLAB_00037394:\n      printf("%sUFLO",puVar1);\n      goto joined_r0x000374c2;\n    }" if (parenthesized_expression "((mask & 2U) != 0)" ( (binary_expression "(mask & 2U) != 0" (parenthesized_expression "(mask & 2U)" ( (binary_expression "mask & 2U" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      puVar1 = &DAT_0007bc55;\nLAB_00037394:\n      printf("%sUFLO",puVar1);\n      goto joined_r0x000374c2;\n    }" { (expression_statement "puVar1 = &DAT_0007bc55;" (assignment_expression "puVar1 = &DAT_0007bc55" identifier = (pointer_expression "&DAT_0007bc55" & identifier)) ;) (labeled_statement "LAB_00037394:\n      printf("%sUFLO",puVar1);" statement_identifier : (expression_statement "printf("%sUFLO",puVar1);" (call_expression "printf("%sUFLO",puVar1)" identifier (argument_list "("%sUFLO",puVar1)" ( (string_literal ""%sUFLO"" " string_content ") , identifier ))) ;)) (goto_statement "goto joined_r0x000374c2;" goto statement_identifier ;) })) (if_statement "if ((mask & 4U) != 0) {\n      puVar1 = &DAT_0007bc55;\n      goto LAB_000373b5;\n    }" if (parenthesized_expression "((mask & 4U) != 0)" ( (binary_expression "(mask & 4U) != 0" (parenthesized_expression "(mask & 4U)" ( (binary_expression "mask & 4U" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      puVar1 = &DAT_0007bc55;\n      goto LAB_000373b5;\n    }" { (expression_statement "puVar1 = &DAT_0007bc55;" (assignment_expression "puVar1 = &DAT_0007bc55" identifier = (pointer_expression "&DAT_0007bc55" & identifier)) ;) (goto_statement "goto LAB_000373b5;" goto statement_identifier ;) })) (if_statement "if ((mask & 8U) == 0) {\n      if ((mask & 0x10U) == 0) {\n        return;\n      }\n      puVar1 = &DAT_0007bc55;\n      goto LAB_000373f3;\n    }" if (parenthesized_expression "((mask & 8U) == 0)" ( (binary_expression "(mask & 8U) == 0" (parenthesized_expression "(mask & 8U)" ( (binary_expression "mask & 8U" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      if ((mask & 0x10U) == 0) {\n        return;\n      }\n      puVar1 = &DAT_0007bc55;\n      goto LAB_000373f3;\n    }" { (if_statement "if ((mask & 0x10U) == 0) {\n        return;\n      }" if (parenthesized_expression "((mask & 0x10U) == 0)" ( (binary_expression "(mask & 0x10U) == 0" (parenthesized_expression "(mask & 0x10U)" ( (binary_expression "mask & 0x10U" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (expression_statement "puVar1 = &DAT_0007bc55;" (assignment_expression "puVar1 = &DAT_0007bc55" identifier = (pointer_expression "&DAT_0007bc55" & identifier)) ;) (goto_statement "goto LAB_000373f3;" goto statement_identifier ;) })) (expression_statement "puVar1 = &DAT_0007bc55;" (assignment_expression "puVar1 = &DAT_0007bc55" identifier = (pointer_expression "&DAT_0007bc55" & identifier)) ;) (labeled_statement "LAB_000373d6:\n    printf("%sDIV0",puVar1);" statement_identifier : (expression_statement "printf("%sDIV0",puVar1);" (call_expression "printf("%sDIV0",puVar1)" identifier (argument_list "("%sDIV0",puVar1)" ( (string_literal ""%sDIV0"" " string_content ") , identifier ))) ;)) }) (else_clause "else {\n    fwrite(&DAT_0007c0a8,1,4,*(FILE **)PTR_stdout_000b3fd8);\n    if ((mask & 2U) != 0) {\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_00037394;\n    }\njoined_r0x000374c2:\n    if ((mask & 4U) != 0) {\n      puVar1 = &DAT_0007c0a6;\nLAB_000373b5:\n      printf("%sOFLO",puVar1);\n    }\n    if ((mask & 8U) != 0) {\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_000373d6;\n    }\n  }" else (compound_statement "{\n    fwrite(&DAT_0007c0a8,1,4,*(FILE **)PTR_stdout_000b3fd8);\n    if ((mask & 2U) != 0) {\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_00037394;\n    }\njoined_r0x000374c2:\n    if ((mask & 4U) != 0) {\n      puVar1 = &DAT_0007c0a6;\nLAB_000373b5:\n      printf("%sOFLO",puVar1);\n    }\n    if ((mask & 8U) != 0) {\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_000373d6;\n    }\n  }" { (expression_statement "fwrite(&DAT_0007c0a8,1,4,*(FILE **)PTR_stdout_000b3fd8);" (call_expression "fwrite(&DAT_0007c0a8,1,4,*(FILE **)PTR_stdout_000b3fd8)" identifier (argument_list "(&DAT_0007c0a8,1,4,*(FILE **)PTR_stdout_000b3fd8)" ( (pointer_expression "&DAT_0007c0a8" & identifier) , number_literal , number_literal , (pointer_expression "*(FILE **)PTR_stdout_000b3fd8" * (cast_expression "(FILE **)PTR_stdout_000b3fd8" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (if_statement "if ((mask & 2U) != 0) {\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_00037394;\n    }" if (parenthesized_expression "((mask & 2U) != 0)" ( (binary_expression "(mask & 2U) != 0" (parenthesized_expression "(mask & 2U)" ( (binary_expression "mask & 2U" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_00037394;\n    }" { (expression_statement "puVar1 = &DAT_0007c0a6;" (assignment_expression "puVar1 = &DAT_0007c0a6" identifier = (pointer_expression "&DAT_0007c0a6" & identifier)) ;) (goto_statement "goto LAB_00037394;" goto statement_identifier ;) })) (labeled_statement "joined_r0x000374c2:\n    if ((mask & 4U) != 0) {\n      puVar1 = &DAT_0007c0a6;\nLAB_000373b5:\n      printf("%sOFLO",puVar1);\n    }" statement_identifier : (if_statement "if ((mask & 4U) != 0) {\n      puVar1 = &DAT_0007c0a6;\nLAB_000373b5:\n      printf("%sOFLO",puVar1);\n    }" if (parenthesized_expression "((mask & 4U) != 0)" ( (binary_expression "(mask & 4U) != 0" (parenthesized_expression "(mask & 4U)" ( (binary_expression "mask & 4U" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      puVar1 = &DAT_0007c0a6;\nLAB_000373b5:\n      printf("%sOFLO",puVar1);\n    }" { (expression_statement "puVar1 = &DAT_0007c0a6;" (assignment_expression "puVar1 = &DAT_0007c0a6" identifier = (pointer_expression "&DAT_0007c0a6" & identifier)) ;) (labeled_statement "LAB_000373b5:\n      printf("%sOFLO",puVar1);" statement_identifier : (expression_statement "printf("%sOFLO",puVar1);" (call_expression "printf("%sOFLO",puVar1)" identifier (argument_list "("%sOFLO",puVar1)" ( (string_literal ""%sOFLO"" " string_content ") , identifier ))) ;)) }))) (if_statement "if ((mask & 8U) != 0) {\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_000373d6;\n    }" if (parenthesized_expression "((mask & 8U) != 0)" ( (binary_expression "(mask & 8U) != 0" (parenthesized_expression "(mask & 8U)" ( (binary_expression "mask & 8U" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_000373d6;\n    }" { (expression_statement "puVar1 = &DAT_0007c0a6;" (assignment_expression "puVar1 = &DAT_0007c0a6" identifier = (pointer_expression "&DAT_0007c0a6" & identifier)) ;) (goto_statement "goto LAB_000373d6;" goto statement_identifier ;) })) }))) (if_statement "if ((mask & 0x10U) == 0) {\n    return;\n  }" if (parenthesized_expression "((mask & 0x10U) == 0)" ( (binary_expression "(mask & 0x10U) == 0" (parenthesized_expression "(mask & 0x10U)" ( (binary_expression "mask & 0x10U" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "puVar1 = &DAT_0007c0a6;" (assignment_expression "puVar1 = &DAT_0007c0a6" identifier = (pointer_expression "&DAT_0007c0a6" & identifier)) ;) (labeled_statement "LAB_000373f3:\n  printf("%sINVAL",puVar1);" statement_identifier : (expression_statement "printf("%sINVAL",puVar1);" (call_expression "printf("%sINVAL",puVar1)" identifier (argument_list "("%sINVAL",puVar1)" ( (string_literal ""%sINVAL"" " string_content ") , identifier ))) ;)) (return_statement "return;" return ;) })))
(translation_unit "void __regparm3 FUN_00037350(uint param_1)\n\n{\n  undefined1 *puVar1;\n  \n  if (param_1 == 0) {\n    fputc(0x30,*(FILE **)PTR_stdout_000b3fd8);\n    return;\n  }\n  if ((param_1 & 1) == 0) {\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_0007bc55;\nLAB_00037394:\n      printf("%sUFLO",puVar1);\n      goto joined_r0x000374c2;\n    }\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0007bc55;\n      goto LAB_000373b5;\n    }\n    if ((param_1 & 8) == 0) {\n      if ((param_1 & 0x10) == 0) {\n        return;\n      }\n      puVar1 = &DAT_0007bc55;\n      goto LAB_000373f3;\n    }\n    puVar1 = &DAT_0007bc55;\nLAB_000373d6:\n    printf("%sDIV0",puVar1);\n  }\n  else {\n    fwrite(&DAT_0007c0a8,1,4,*(FILE **)PTR_stdout_000b3fd8);\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_00037394;\n    }\njoined_r0x000374c2:\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0007c0a6;\nLAB_000373b5:\n      printf("%sOFLO",puVar1);\n    }\n    if ((param_1 & 8) != 0) {\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_000373d6;\n    }\n  }\n  if ((param_1 & 0x10) == 0) {\n    return;\n  }\n  puVar1 = &DAT_0007c0a6;\nLAB_000373f3:\n  printf("%sINVAL",puVar1);\n  return;\n}\n\n" (function_definition "void __regparm3 FUN_00037350(uint param_1)\n\n{\n  undefined1 *puVar1;\n  \n  if (param_1 == 0) {\n    fputc(0x30,*(FILE **)PTR_stdout_000b3fd8);\n    return;\n  }\n  if ((param_1 & 1) == 0) {\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_0007bc55;\nLAB_00037394:\n      printf("%sUFLO",puVar1);\n      goto joined_r0x000374c2;\n    }\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0007bc55;\n      goto LAB_000373b5;\n    }\n    if ((param_1 & 8) == 0) {\n      if ((param_1 & 0x10) == 0) {\n        return;\n      }\n      puVar1 = &DAT_0007bc55;\n      goto LAB_000373f3;\n    }\n    puVar1 = &DAT_0007bc55;\nLAB_000373d6:\n    printf("%sDIV0",puVar1);\n  }\n  else {\n    fwrite(&DAT_0007c0a8,1,4,*(FILE **)PTR_stdout_000b3fd8);\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_00037394;\n    }\njoined_r0x000374c2:\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0007c0a6;\nLAB_000373b5:\n      printf("%sOFLO",puVar1);\n    }\n    if ((param_1 & 8) != 0) {\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_000373d6;\n    }\n  }\n  if ((param_1 & 0x10) == 0) {\n    return;\n  }\n  puVar1 = &DAT_0007c0a6;\nLAB_000373f3:\n  printf("%sINVAL",puVar1);\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_00037350(uint param_1)" identifier (parameter_list "(uint param_1)" ( (parameter_declaration "uint param_1" type_identifier identifier) ))) (compound_statement "{\n  undefined1 *puVar1;\n  \n  if (param_1 == 0) {\n    fputc(0x30,*(FILE **)PTR_stdout_000b3fd8);\n    return;\n  }\n  if ((param_1 & 1) == 0) {\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_0007bc55;\nLAB_00037394:\n      printf("%sUFLO",puVar1);\n      goto joined_r0x000374c2;\n    }\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0007bc55;\n      goto LAB_000373b5;\n    }\n    if ((param_1 & 8) == 0) {\n      if ((param_1 & 0x10) == 0) {\n        return;\n      }\n      puVar1 = &DAT_0007bc55;\n      goto LAB_000373f3;\n    }\n    puVar1 = &DAT_0007bc55;\nLAB_000373d6:\n    printf("%sDIV0",puVar1);\n  }\n  else {\n    fwrite(&DAT_0007c0a8,1,4,*(FILE **)PTR_stdout_000b3fd8);\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_00037394;\n    }\njoined_r0x000374c2:\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0007c0a6;\nLAB_000373b5:\n      printf("%sOFLO",puVar1);\n    }\n    if ((param_1 & 8) != 0) {\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_000373d6;\n    }\n  }\n  if ((param_1 & 0x10) == 0) {\n    return;\n  }\n  puVar1 = &DAT_0007c0a6;\nLAB_000373f3:\n  printf("%sINVAL",puVar1);\n  return;\n}" { (declaration "undefined1 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (if_statement "if (param_1 == 0) {\n    fputc(0x30,*(FILE **)PTR_stdout_000b3fd8);\n    return;\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n    fputc(0x30,*(FILE **)PTR_stdout_000b3fd8);\n    return;\n  }" { (expression_statement "fputc(0x30,*(FILE **)PTR_stdout_000b3fd8);" (call_expression "fputc(0x30,*(FILE **)PTR_stdout_000b3fd8)" identifier (argument_list "(0x30,*(FILE **)PTR_stdout_000b3fd8)" ( number_literal , (pointer_expression "*(FILE **)PTR_stdout_000b3fd8" * (cast_expression "(FILE **)PTR_stdout_000b3fd8" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (return_statement "return;" return ;) })) (if_statement "if ((param_1 & 1) == 0) {\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_0007bc55;\nLAB_00037394:\n      printf("%sUFLO",puVar1);\n      goto joined_r0x000374c2;\n    }\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0007bc55;\n      goto LAB_000373b5;\n    }\n    if ((param_1 & 8) == 0) {\n      if ((param_1 & 0x10) == 0) {\n        return;\n      }\n      puVar1 = &DAT_0007bc55;\n      goto LAB_000373f3;\n    }\n    puVar1 = &DAT_0007bc55;\nLAB_000373d6:\n    printf("%sDIV0",puVar1);\n  }\n  else {\n    fwrite(&DAT_0007c0a8,1,4,*(FILE **)PTR_stdout_000b3fd8);\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_00037394;\n    }\njoined_r0x000374c2:\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0007c0a6;\nLAB_000373b5:\n      printf("%sOFLO",puVar1);\n    }\n    if ((param_1 & 8) != 0) {\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_000373d6;\n    }\n  }" if (parenthesized_expression "((param_1 & 1) == 0)" ( (binary_expression "(param_1 & 1) == 0" (parenthesized_expression "(param_1 & 1)" ( (binary_expression "param_1 & 1" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_0007bc55;\nLAB_00037394:\n      printf("%sUFLO",puVar1);\n      goto joined_r0x000374c2;\n    }\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0007bc55;\n      goto LAB_000373b5;\n    }\n    if ((param_1 & 8) == 0) {\n      if ((param_1 & 0x10) == 0) {\n        return;\n      }\n      puVar1 = &DAT_0007bc55;\n      goto LAB_000373f3;\n    }\n    puVar1 = &DAT_0007bc55;\nLAB_000373d6:\n    printf("%sDIV0",puVar1);\n  }" { (if_statement "if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_0007bc55;\nLAB_00037394:\n      printf("%sUFLO",puVar1);\n      goto joined_r0x000374c2;\n    }" if (parenthesized_expression "((param_1 & 2) != 0)" ( (binary_expression "(param_1 & 2) != 0" (parenthesized_expression "(param_1 & 2)" ( (binary_expression "param_1 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      puVar1 = &DAT_0007bc55;\nLAB_00037394:\n      printf("%sUFLO",puVar1);\n      goto joined_r0x000374c2;\n    }" { (expression_statement "puVar1 = &DAT_0007bc55;" (assignment_expression "puVar1 = &DAT_0007bc55" identifier = (pointer_expression "&DAT_0007bc55" & identifier)) ;) (labeled_statement "LAB_00037394:\n      printf("%sUFLO",puVar1);" statement_identifier : (expression_statement "printf("%sUFLO",puVar1);" (call_expression "printf("%sUFLO",puVar1)" identifier (argument_list "("%sUFLO",puVar1)" ( (string_literal ""%sUFLO"" " string_content ") , identifier ))) ;)) (goto_statement "goto joined_r0x000374c2;" goto statement_identifier ;) })) (if_statement "if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0007bc55;\n      goto LAB_000373b5;\n    }" if (parenthesized_expression "((param_1 & 4) != 0)" ( (binary_expression "(param_1 & 4) != 0" (parenthesized_expression "(param_1 & 4)" ( (binary_expression "param_1 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      puVar1 = &DAT_0007bc55;\n      goto LAB_000373b5;\n    }" { (expression_statement "puVar1 = &DAT_0007bc55;" (assignment_expression "puVar1 = &DAT_0007bc55" identifier = (pointer_expression "&DAT_0007bc55" & identifier)) ;) (goto_statement "goto LAB_000373b5;" goto statement_identifier ;) })) (if_statement "if ((param_1 & 8) == 0) {\n      if ((param_1 & 0x10) == 0) {\n        return;\n      }\n      puVar1 = &DAT_0007bc55;\n      goto LAB_000373f3;\n    }" if (parenthesized_expression "((param_1 & 8) == 0)" ( (binary_expression "(param_1 & 8) == 0" (parenthesized_expression "(param_1 & 8)" ( (binary_expression "param_1 & 8" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      if ((param_1 & 0x10) == 0) {\n        return;\n      }\n      puVar1 = &DAT_0007bc55;\n      goto LAB_000373f3;\n    }" { (if_statement "if ((param_1 & 0x10) == 0) {\n        return;\n      }" if (parenthesized_expression "((param_1 & 0x10) == 0)" ( (binary_expression "(param_1 & 0x10) == 0" (parenthesized_expression "(param_1 & 0x10)" ( (binary_expression "param_1 & 0x10" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (expression_statement "puVar1 = &DAT_0007bc55;" (assignment_expression "puVar1 = &DAT_0007bc55" identifier = (pointer_expression "&DAT_0007bc55" & identifier)) ;) (goto_statement "goto LAB_000373f3;" goto statement_identifier ;) })) (expression_statement "puVar1 = &DAT_0007bc55;" (assignment_expression "puVar1 = &DAT_0007bc55" identifier = (pointer_expression "&DAT_0007bc55" & identifier)) ;) (labeled_statement "LAB_000373d6:\n    printf("%sDIV0",puVar1);" statement_identifier : (expression_statement "printf("%sDIV0",puVar1);" (call_expression "printf("%sDIV0",puVar1)" identifier (argument_list "("%sDIV0",puVar1)" ( (string_literal ""%sDIV0"" " string_content ") , identifier ))) ;)) }) (else_clause "else {\n    fwrite(&DAT_0007c0a8,1,4,*(FILE **)PTR_stdout_000b3fd8);\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_00037394;\n    }\njoined_r0x000374c2:\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0007c0a6;\nLAB_000373b5:\n      printf("%sOFLO",puVar1);\n    }\n    if ((param_1 & 8) != 0) {\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_000373d6;\n    }\n  }" else (compound_statement "{\n    fwrite(&DAT_0007c0a8,1,4,*(FILE **)PTR_stdout_000b3fd8);\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_00037394;\n    }\njoined_r0x000374c2:\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0007c0a6;\nLAB_000373b5:\n      printf("%sOFLO",puVar1);\n    }\n    if ((param_1 & 8) != 0) {\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_000373d6;\n    }\n  }" { (expression_statement "fwrite(&DAT_0007c0a8,1,4,*(FILE **)PTR_stdout_000b3fd8);" (call_expression "fwrite(&DAT_0007c0a8,1,4,*(FILE **)PTR_stdout_000b3fd8)" identifier (argument_list "(&DAT_0007c0a8,1,4,*(FILE **)PTR_stdout_000b3fd8)" ( (pointer_expression "&DAT_0007c0a8" & identifier) , number_literal , number_literal , (pointer_expression "*(FILE **)PTR_stdout_000b3fd8" * (cast_expression "(FILE **)PTR_stdout_000b3fd8" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (if_statement "if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_00037394;\n    }" if (parenthesized_expression "((param_1 & 2) != 0)" ( (binary_expression "(param_1 & 2) != 0" (parenthesized_expression "(param_1 & 2)" ( (binary_expression "param_1 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_00037394;\n    }" { (expression_statement "puVar1 = &DAT_0007c0a6;" (assignment_expression "puVar1 = &DAT_0007c0a6" identifier = (pointer_expression "&DAT_0007c0a6" & identifier)) ;) (goto_statement "goto LAB_00037394;" goto statement_identifier ;) })) (labeled_statement "joined_r0x000374c2:\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0007c0a6;\nLAB_000373b5:\n      printf("%sOFLO",puVar1);\n    }" statement_identifier : (if_statement "if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0007c0a6;\nLAB_000373b5:\n      printf("%sOFLO",puVar1);\n    }" if (parenthesized_expression "((param_1 & 4) != 0)" ( (binary_expression "(param_1 & 4) != 0" (parenthesized_expression "(param_1 & 4)" ( (binary_expression "param_1 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      puVar1 = &DAT_0007c0a6;\nLAB_000373b5:\n      printf("%sOFLO",puVar1);\n    }" { (expression_statement "puVar1 = &DAT_0007c0a6;" (assignment_expression "puVar1 = &DAT_0007c0a6" identifier = (pointer_expression "&DAT_0007c0a6" & identifier)) ;) (labeled_statement "LAB_000373b5:\n      printf("%sOFLO",puVar1);" statement_identifier : (expression_statement "printf("%sOFLO",puVar1);" (call_expression "printf("%sOFLO",puVar1)" identifier (argument_list "("%sOFLO",puVar1)" ( (string_literal ""%sOFLO"" " string_content ") , identifier ))) ;)) }))) (if_statement "if ((param_1 & 8) != 0) {\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_000373d6;\n    }" if (parenthesized_expression "((param_1 & 8) != 0)" ( (binary_expression "(param_1 & 8) != 0" (parenthesized_expression "(param_1 & 8)" ( (binary_expression "param_1 & 8" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_000373d6;\n    }" { (expression_statement "puVar1 = &DAT_0007c0a6;" (assignment_expression "puVar1 = &DAT_0007c0a6" identifier = (pointer_expression "&DAT_0007c0a6" & identifier)) ;) (goto_statement "goto LAB_000373d6;" goto statement_identifier ;) })) }))) (if_statement "if ((param_1 & 0x10) == 0) {\n    return;\n  }" if (parenthesized_expression "((param_1 & 0x10) == 0)" ( (binary_expression "(param_1 & 0x10) == 0" (parenthesized_expression "(param_1 & 0x10)" ( (binary_expression "param_1 & 0x10" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "puVar1 = &DAT_0007c0a6;" (assignment_expression "puVar1 = &DAT_0007c0a6" identifier = (pointer_expression "&DAT_0007c0a6" & identifier)) ;) (labeled_statement "LAB_000373f3:\n  printf("%sINVAL",puVar1);" statement_identifier : (expression_statement "printf("%sINVAL",puVar1);" (call_expression "printf("%sINVAL",puVar1)" identifier (argument_list "("%sINVAL",puVar1)" ( (string_literal ""%sINVAL"" " string_content ") , identifier ))) ;)) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ))) ;) (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT ))) ;)) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT ))) ;)) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT ))) ;)) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (goto_statement goto statement_identifier ;) })) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT ))) ;)) (return_statement return ;) })))
(function_definition "void __regparm3 FUN_00037350(uint param_1)\n\n{\n  undefined1 *puVar1;\n  \n  if (param_1 == 0) {\n    fputc(0x30,*(FILE **)PTR_stdout_000b3fd8);\n    return;\n  }\n  if ((param_1 & 1) == 0) {\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_0007bc55;\nLAB_00037394:\n      printf("%sUFLO",puVar1);\n      goto joined_r0x000374c2;\n    }\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0007bc55;\n      goto LAB_000373b5;\n    }\n    if ((param_1 & 8) == 0) {\n      if ((param_1 & 0x10) == 0) {\n        return;\n      }\n      puVar1 = &DAT_0007bc55;\n      goto LAB_000373f3;\n    }\n    puVar1 = &DAT_0007bc55;\nLAB_000373d6:\n    printf("%sDIV0",puVar1);\n  }\n  else {\n    fwrite(&DAT_0007c0a8,1,4,*(FILE **)PTR_stdout_000b3fd8);\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_00037394;\n    }\njoined_r0x000374c2:\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0007c0a6;\nLAB_000373b5:\n      printf("%sOFLO",puVar1);\n    }\n    if ((param_1 & 8) != 0) {\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_000373d6;\n    }\n  }\n  if ((param_1 & 0x10) == 0) {\n    return;\n  }\n  puVar1 = &DAT_0007c0a6;\nLAB_000373f3:\n  printf("%sINVAL",puVar1);\n  return;\n}" (primitive_type "void") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_00037350(uint param_1)" (identifier "FUN_00037350") (parameter_list "(uint param_1)" (( "(") (parameter_declaration "uint param_1" (type_identifier "uint") (identifier "param_1")) () ")"))) (compound_statement "{\n  undefined1 *puVar1;\n  \n  if (param_1 == 0) {\n    fputc(0x30,*(FILE **)PTR_stdout_000b3fd8);\n    return;\n  }\n  if ((param_1 & 1) == 0) {\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_0007bc55;\nLAB_00037394:\n      printf("%sUFLO",puVar1);\n      goto joined_r0x000374c2;\n    }\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0007bc55;\n      goto LAB_000373b5;\n    }\n    if ((param_1 & 8) == 0) {\n      if ((param_1 & 0x10) == 0) {\n        return;\n      }\n      puVar1 = &DAT_0007bc55;\n      goto LAB_000373f3;\n    }\n    puVar1 = &DAT_0007bc55;\nLAB_000373d6:\n    printf("%sDIV0",puVar1);\n  }\n  else {\n    fwrite(&DAT_0007c0a8,1,4,*(FILE **)PTR_stdout_000b3fd8);\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_00037394;\n    }\njoined_r0x000374c2:\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0007c0a6;\nLAB_000373b5:\n      printf("%sOFLO",puVar1);\n    }\n    if ((param_1 & 8) != 0) {\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_000373d6;\n    }\n  }\n  if ((param_1 & 0x10) == 0) {\n    return;\n  }\n  puVar1 = &DAT_0007c0a6;\nLAB_000373f3:\n  printf("%sINVAL",puVar1);\n  return;\n}" ({ "{") (declaration "undefined1 *puVar1;" (type_identifier "undefined1") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (if_statement "if (param_1 == 0) {\n    fputc(0x30,*(FILE **)PTR_stdout_000b3fd8);\n    return;\n  }" (if "if") (parenthesized_expression "(param_1 == 0)" (( "(") (binary_expression "param_1 == 0" (identifier "param_1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    fputc(0x30,*(FILE **)PTR_stdout_000b3fd8);\n    return;\n  }" ({ "{") (expression_statement "fputc(0x30,*(FILE **)PTR_stdout_000b3fd8);" (call_expression "fputc(0x30,*(FILE **)PTR_stdout_000b3fd8)" (identifier "fputc") (argument_list "(0x30,*(FILE **)PTR_stdout_000b3fd8)" (( "(") (number_literal "0x30") (, ",") (pointer_expression "*(FILE **)PTR_stdout_000b3fd8" (* "*") (cast_expression "(FILE **)PTR_stdout_000b3fd8" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_stdout_000b3fd8"))) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if ((param_1 & 1) == 0) {\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_0007bc55;\nLAB_00037394:\n      printf("%sUFLO",puVar1);\n      goto joined_r0x000374c2;\n    }\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0007bc55;\n      goto LAB_000373b5;\n    }\n    if ((param_1 & 8) == 0) {\n      if ((param_1 & 0x10) == 0) {\n        return;\n      }\n      puVar1 = &DAT_0007bc55;\n      goto LAB_000373f3;\n    }\n    puVar1 = &DAT_0007bc55;\nLAB_000373d6:\n    printf("%sDIV0",puVar1);\n  }\n  else {\n    fwrite(&DAT_0007c0a8,1,4,*(FILE **)PTR_stdout_000b3fd8);\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_00037394;\n    }\njoined_r0x000374c2:\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0007c0a6;\nLAB_000373b5:\n      printf("%sOFLO",puVar1);\n    }\n    if ((param_1 & 8) != 0) {\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_000373d6;\n    }\n  }" (if "if") (parenthesized_expression "((param_1 & 1) == 0)" (( "(") (binary_expression "(param_1 & 1) == 0" (parenthesized_expression "(param_1 & 1)" (( "(") (binary_expression "param_1 & 1" (identifier "param_1") (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_0007bc55;\nLAB_00037394:\n      printf("%sUFLO",puVar1);\n      goto joined_r0x000374c2;\n    }\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0007bc55;\n      goto LAB_000373b5;\n    }\n    if ((param_1 & 8) == 0) {\n      if ((param_1 & 0x10) == 0) {\n        return;\n      }\n      puVar1 = &DAT_0007bc55;\n      goto LAB_000373f3;\n    }\n    puVar1 = &DAT_0007bc55;\nLAB_000373d6:\n    printf("%sDIV0",puVar1);\n  }" ({ "{") (if_statement "if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_0007bc55;\nLAB_00037394:\n      printf("%sUFLO",puVar1);\n      goto joined_r0x000374c2;\n    }" (if "if") (parenthesized_expression "((param_1 & 2) != 0)" (( "(") (binary_expression "(param_1 & 2) != 0" (parenthesized_expression "(param_1 & 2)" (( "(") (binary_expression "param_1 & 2" (identifier "param_1") (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      puVar1 = &DAT_0007bc55;\nLAB_00037394:\n      printf("%sUFLO",puVar1);\n      goto joined_r0x000374c2;\n    }" ({ "{") (expression_statement "puVar1 = &DAT_0007bc55;" (assignment_expression "puVar1 = &DAT_0007bc55" (identifier "puVar1") (= "=") (pointer_expression "&DAT_0007bc55" (& "&") (identifier "DAT_0007bc55"))) (; ";")) (labeled_statement "LAB_00037394:\n      printf("%sUFLO",puVar1);" (statement_identifier "LAB_00037394") (: ":") (expression_statement "printf("%sUFLO",puVar1);" (call_expression "printf("%sUFLO",puVar1)" (identifier "printf") (argument_list "("%sUFLO",puVar1)" (( "(") (string_literal ""%sUFLO"" (" """) (string_content "%sUFLO") (" """)) (, ",") (identifier "puVar1") () ")"))) (; ";"))) (goto_statement "goto joined_r0x000374c2;" (goto "goto") (statement_identifier "joined_r0x000374c2") (; ";")) (} "}"))) (if_statement "if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0007bc55;\n      goto LAB_000373b5;\n    }" (if "if") (parenthesized_expression "((param_1 & 4) != 0)" (( "(") (binary_expression "(param_1 & 4) != 0" (parenthesized_expression "(param_1 & 4)" (( "(") (binary_expression "param_1 & 4" (identifier "param_1") (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      puVar1 = &DAT_0007bc55;\n      goto LAB_000373b5;\n    }" ({ "{") (expression_statement "puVar1 = &DAT_0007bc55;" (assignment_expression "puVar1 = &DAT_0007bc55" (identifier "puVar1") (= "=") (pointer_expression "&DAT_0007bc55" (& "&") (identifier "DAT_0007bc55"))) (; ";")) (goto_statement "goto LAB_000373b5;" (goto "goto") (statement_identifier "LAB_000373b5") (; ";")) (} "}"))) (if_statement "if ((param_1 & 8) == 0) {\n      if ((param_1 & 0x10) == 0) {\n        return;\n      }\n      puVar1 = &DAT_0007bc55;\n      goto LAB_000373f3;\n    }" (if "if") (parenthesized_expression "((param_1 & 8) == 0)" (( "(") (binary_expression "(param_1 & 8) == 0" (parenthesized_expression "(param_1 & 8)" (( "(") (binary_expression "param_1 & 8" (identifier "param_1") (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if ((param_1 & 0x10) == 0) {\n        return;\n      }\n      puVar1 = &DAT_0007bc55;\n      goto LAB_000373f3;\n    }" ({ "{") (if_statement "if ((param_1 & 0x10) == 0) {\n        return;\n      }" (if "if") (parenthesized_expression "((param_1 & 0x10) == 0)" (( "(") (binary_expression "(param_1 & 0x10) == 0" (parenthesized_expression "(param_1 & 0x10)" (( "(") (binary_expression "param_1 & 0x10" (identifier "param_1") (& "&") (number_literal "0x10")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        return;\n      }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "puVar1 = &DAT_0007bc55;" (assignment_expression "puVar1 = &DAT_0007bc55" (identifier "puVar1") (= "=") (pointer_expression "&DAT_0007bc55" (& "&") (identifier "DAT_0007bc55"))) (; ";")) (goto_statement "goto LAB_000373f3;" (goto "goto") (statement_identifier "LAB_000373f3") (; ";")) (} "}"))) (expression_statement "puVar1 = &DAT_0007bc55;" (assignment_expression "puVar1 = &DAT_0007bc55" (identifier "puVar1") (= "=") (pointer_expression "&DAT_0007bc55" (& "&") (identifier "DAT_0007bc55"))) (; ";")) (labeled_statement "LAB_000373d6:\n    printf("%sDIV0",puVar1);" (statement_identifier "LAB_000373d6") (: ":") (expression_statement "printf("%sDIV0",puVar1);" (call_expression "printf("%sDIV0",puVar1)" (identifier "printf") (argument_list "("%sDIV0",puVar1)" (( "(") (string_literal ""%sDIV0"" (" """) (string_content "%sDIV0") (" """)) (, ",") (identifier "puVar1") () ")"))) (; ";"))) (} "}")) (else_clause "else {\n    fwrite(&DAT_0007c0a8,1,4,*(FILE **)PTR_stdout_000b3fd8);\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_00037394;\n    }\njoined_r0x000374c2:\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0007c0a6;\nLAB_000373b5:\n      printf("%sOFLO",puVar1);\n    }\n    if ((param_1 & 8) != 0) {\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_000373d6;\n    }\n  }" (else "else") (compound_statement "{\n    fwrite(&DAT_0007c0a8,1,4,*(FILE **)PTR_stdout_000b3fd8);\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_00037394;\n    }\njoined_r0x000374c2:\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0007c0a6;\nLAB_000373b5:\n      printf("%sOFLO",puVar1);\n    }\n    if ((param_1 & 8) != 0) {\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_000373d6;\n    }\n  }" ({ "{") (expression_statement "fwrite(&DAT_0007c0a8,1,4,*(FILE **)PTR_stdout_000b3fd8);" (call_expression "fwrite(&DAT_0007c0a8,1,4,*(FILE **)PTR_stdout_000b3fd8)" (identifier "fwrite") (argument_list "(&DAT_0007c0a8,1,4,*(FILE **)PTR_stdout_000b3fd8)" (( "(") (pointer_expression "&DAT_0007c0a8" (& "&") (identifier "DAT_0007c0a8")) (, ",") (number_literal "1") (, ",") (number_literal "4") (, ",") (pointer_expression "*(FILE **)PTR_stdout_000b3fd8" (* "*") (cast_expression "(FILE **)PTR_stdout_000b3fd8" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_stdout_000b3fd8"))) () ")"))) (; ";")) (if_statement "if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_00037394;\n    }" (if "if") (parenthesized_expression "((param_1 & 2) != 0)" (( "(") (binary_expression "(param_1 & 2) != 0" (parenthesized_expression "(param_1 & 2)" (( "(") (binary_expression "param_1 & 2" (identifier "param_1") (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_00037394;\n    }" ({ "{") (expression_statement "puVar1 = &DAT_0007c0a6;" (assignment_expression "puVar1 = &DAT_0007c0a6" (identifier "puVar1") (= "=") (pointer_expression "&DAT_0007c0a6" (& "&") (identifier "DAT_0007c0a6"))) (; ";")) (goto_statement "goto LAB_00037394;" (goto "goto") (statement_identifier "LAB_00037394") (; ";")) (} "}"))) (labeled_statement "joined_r0x000374c2:\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0007c0a6;\nLAB_000373b5:\n      printf("%sOFLO",puVar1);\n    }" (statement_identifier "joined_r0x000374c2") (: ":") (if_statement "if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0007c0a6;\nLAB_000373b5:\n      printf("%sOFLO",puVar1);\n    }" (if "if") (parenthesized_expression "((param_1 & 4) != 0)" (( "(") (binary_expression "(param_1 & 4) != 0" (parenthesized_expression "(param_1 & 4)" (( "(") (binary_expression "param_1 & 4" (identifier "param_1") (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      puVar1 = &DAT_0007c0a6;\nLAB_000373b5:\n      printf("%sOFLO",puVar1);\n    }" ({ "{") (expression_statement "puVar1 = &DAT_0007c0a6;" (assignment_expression "puVar1 = &DAT_0007c0a6" (identifier "puVar1") (= "=") (pointer_expression "&DAT_0007c0a6" (& "&") (identifier "DAT_0007c0a6"))) (; ";")) (labeled_statement "LAB_000373b5:\n      printf("%sOFLO",puVar1);" (statement_identifier "LAB_000373b5") (: ":") (expression_statement "printf("%sOFLO",puVar1);" (call_expression "printf("%sOFLO",puVar1)" (identifier "printf") (argument_list "("%sOFLO",puVar1)" (( "(") (string_literal ""%sOFLO"" (" """) (string_content "%sOFLO") (" """)) (, ",") (identifier "puVar1") () ")"))) (; ";"))) (} "}")))) (if_statement "if ((param_1 & 8) != 0) {\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_000373d6;\n    }" (if "if") (parenthesized_expression "((param_1 & 8) != 0)" (( "(") (binary_expression "(param_1 & 8) != 0" (parenthesized_expression "(param_1 & 8)" (( "(") (binary_expression "param_1 & 8" (identifier "param_1") (& "&") (number_literal "8")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      puVar1 = &DAT_0007c0a6;\n      goto LAB_000373d6;\n    }" ({ "{") (expression_statement "puVar1 = &DAT_0007c0a6;" (assignment_expression "puVar1 = &DAT_0007c0a6" (identifier "puVar1") (= "=") (pointer_expression "&DAT_0007c0a6" (& "&") (identifier "DAT_0007c0a6"))) (; ";")) (goto_statement "goto LAB_000373d6;" (goto "goto") (statement_identifier "LAB_000373d6") (; ";")) (} "}"))) (} "}")))) (if_statement "if ((param_1 & 0x10) == 0) {\n    return;\n  }" (if "if") (parenthesized_expression "((param_1 & 0x10) == 0)" (( "(") (binary_expression "(param_1 & 0x10) == 0" (parenthesized_expression "(param_1 & 0x10)" (( "(") (binary_expression "param_1 & 0x10" (identifier "param_1") (& "&") (number_literal "0x10")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "puVar1 = &DAT_0007c0a6;" (assignment_expression "puVar1 = &DAT_0007c0a6" (identifier "puVar1") (= "=") (pointer_expression "&DAT_0007c0a6" (& "&") (identifier "DAT_0007c0a6"))) (; ";")) (labeled_statement "LAB_000373f3:\n  printf("%sINVAL",puVar1);" (statement_identifier "LAB_000373f3") (: ":") (expression_statement "printf("%sINVAL",puVar1);" (call_expression "printf("%sINVAL",puVar1)" (identifier "printf") (argument_list "("%sINVAL",puVar1)" (( "(") (string_literal ""%sINVAL"" (" """) (string_content "%sINVAL") (" """)) (, ",") (identifier "puVar1") () ")"))) (; ";"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

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

void __regparm3 function_1(int var_1)

{
  type_1 *puVar1;
  
  if (var_1 == 0) {
    var_2(0x30,*(type_2 **)PTR_stdout_000b3fd8);
    return;
  }
  if ((var_1 & 1U) == 0) {
    if ((var_1 & 2U) != 0) {
      puVar1 = &DAT_0007bc55;
LAB_00037394:
      var_3("%sUFLO",puVar1);
      goto joined_r0x000374c2;
    }
    if ((var_1 & 4U) != 0) {
      puVar1 = &DAT_0007bc55;
      goto LAB_000373b5;
    }
    if ((var_1 & 8U) == 0) {
      if ((var_1 & 0x10U) == 0) {
        return;
      }
      puVar1 = &DAT_0007bc55;
      goto LAB_000373f3;
    }
    puVar1 = &DAT_0007bc55;
LAB_000373d6:
    var_3("%sDIV0",puVar1);
  }
  else {
    var_4(&DAT_0007c0a8,1,4,*(type_2 **)PTR_stdout_000b3fd8);
    if ((var_1 & 2U) != 0) {
      puVar1 = &DAT_0007c0a6;
      goto LAB_00037394;
    }
joined_r0x000374c2:
    if ((var_1 & 4U) != 0) {
      puVar1 = &DAT_0007c0a6;
LAB_000373b5:
      var_3("%sOFLO",puVar1);
    }
    if ((var_1 & 8U) != 0) {
      puVar1 = &DAT_0007c0a6;
      goto LAB_000373d6;
    }
  }
  if ((var_1 & 0x10U) == 0) {
    return;
  }
  puVar1 = &DAT_0007c0a6;
LAB_000373f3:
  var_3("%sINVAL",puVar1);
  return;
}


(translation_unit (function_definition type: (primitive_type) (ERROR (identifier)) 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))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (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)))))) (return_statement))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (identifier))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (identifier)))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (number_literal) (number_literal) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (identifier)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (goto_statement label: (statement_identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (identifier))))) (return_statement))))

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

void __regparm3 MASKED(uint param_1)

{
  undefined1 *puVar1;
  
  if (param_1 == 0) {
    fputc(0x30,*(FILE **)PTR_stdout_000b3fd8);
    return;
  }
  if ((param_1 & 1) == 0) {
    if ((param_1 & 2) != 0) {
      puVar1 = &DAT_0007bc55;
LAB_00037394:
      printf("%sUFLO",puVar1);
      goto joined_r0x000374c2;
    }
    if ((param_1 & 4) != 0) {
      puVar1 = &DAT_0007bc55;
      goto LAB_000373b5;
    }
    if ((param_1 & 8) == 0) {
      if ((param_1 & 0x10) == 0) {
        return;
      }
      puVar1 = &DAT_0007bc55;
      goto LAB_000373f3;
    }
    puVar1 = &DAT_0007bc55;
LAB_000373d6:
    printf("%sDIV0",puVar1);
  }
  else {
    fwrite(&DAT_0007c0a8,1,4,*(FILE **)PTR_stdout_000b3fd8);
    if ((param_1 & 2) != 0) {
      puVar1 = &DAT_0007c0a6;
      goto LAB_00037394;
    }
joined_r0x000374c2:
    if ((param_1 & 4) != 0) {
      puVar1 = &DAT_0007c0a6;
LAB_000373b5:
      printf("%sOFLO",puVar1);
    }
    if ((param_1 & 8) != 0) {
      puVar1 = &DAT_0007c0a6;
      goto LAB_000373d6;
    }
  }
  if ((param_1 & 0x10) == 0) {
    return;
  }
  puVar1 = &DAT_0007c0a6;
LAB_000373f3:
  printf("%sINVAL",puVar1);
  return;
}

