
void process_mips_fpe_exception(wchar_t mask)

{
  undefined1 *puVar1;
  
  if (mask == L'\0') {
    fputc(0x30,stdout);
    return;
  }
  if ((mask & 1U) == 0) {
    if ((mask & 2U) != 0) {
      puVar1 = &DAT_00169c35;
LAB_00128d83:
      printf("%sUFLO",puVar1);
      goto joined_r0x00128e8a;
    }
    if ((mask & 4U) != 0) {
      puVar1 = &DAT_00169c35;
      goto LAB_00128da0;
    }
    if ((mask & 8U) == 0) {
      if ((mask & 0x10U) == 0) {
        return;
      }
      puVar1 = &DAT_00169c35;
      goto LAB_00128dd7;
    }
    puVar1 = &DAT_00169c35;
LAB_00128dbd:
    printf("%sDIV0",puVar1);
  }
  else {
    fwrite(&DAT_0016a088,1,4,stdout);
    if ((mask & 2U) != 0) {
      puVar1 = &DAT_0016a086;
      goto LAB_00128d83;
    }
joined_r0x00128e8a:
    if ((mask & 4U) != 0) {
      puVar1 = &DAT_0016a086;
LAB_00128da0:
      printf("%sOFLO",puVar1);
    }
    if ((mask & 8U) != 0) {
      puVar1 = &DAT_0016a086;
      goto LAB_00128dbd;
    }
  }
  if ((mask & 0x10U) == 0) {
    return;
  }
  puVar1 = &DAT_0016a086;
LAB_00128dd7:
  printf("%sINVAL",puVar1);
  return;
}



void FUN_00128d40(uint param_1)

{
  undefined1 *puVar1;
  
  if (param_1 == 0) {
    fputc(0x30,stdout);
    return;
  }
  if ((param_1 & 1) == 0) {
    if ((param_1 & 2) != 0) {
      puVar1 = &DAT_00169c35;
LAB_00128d83:
      printf("%sUFLO",puVar1);
      goto joined_r0x00128e8a;
    }
    if ((param_1 & 4) != 0) {
      puVar1 = &DAT_00169c35;
      goto LAB_00128da0;
    }
    if ((param_1 & 8) == 0) {
      if ((param_1 & 0x10) == 0) {
        return;
      }
      puVar1 = &DAT_00169c35;
      goto LAB_00128dd7;
    }
    puVar1 = &DAT_00169c35;
LAB_00128dbd:
    printf("%sDIV0",puVar1);
  }
  else {
    fwrite(&DAT_0016a088,1,4,stdout);
    if ((param_1 & 2) != 0) {
      puVar1 = &DAT_0016a086;
      goto LAB_00128d83;
    }
joined_r0x00128e8a:
    if ((param_1 & 4) != 0) {
      puVar1 = &DAT_0016a086;
LAB_00128da0:
      printf("%sOFLO",puVar1);
    }
    if ((param_1 & 8) != 0) {
      puVar1 = &DAT_0016a086;
      goto LAB_00128dbd;
    }
  }
  if ((param_1 & 0x10) == 0) {
    return;
  }
  puVar1 = &DAT_0016a086;
LAB_00128dd7:
  printf("%sINVAL",puVar1);
  return;
}


TEST EDI,EDI
JZ 0x00128e38
PUSH R13
MOV R13D,EDI
PUSH R12
MOV R12D,EDI
AND R13D,0x10
PUSH RBP
MOV EBP,EDI
AND R12D,0x2
PUSH RBX
MOV EBX,EDI
AND EBP,0x4
AND EBX,0x8
SUB RSP,0x8
AND EDI,0x1
JNZ 0x00128df0
TEST R12D,R12D
JZ 0x00128e50
LEA RSI,[0x169c35]
XOR EAX,EAX
LEA RDI,[0x16a08d]
CALL 0x00107190
TEST EBP,EBP
JZ 0x00128e20
LEA RSI,[0x16a086]
LEA RDI,[0x16a094]
XOR EAX,EAX
CALL 0x00107190
TEST EBX,EBX
JZ 0x00128e68
LEA RSI,[0x16a086]
XOR EAX,EAX
LEA RDI,[0x16a09b]
CALL 0x00107190
TEST R13D,R13D
JZ 0x00128e29
LEA RSI,[0x16a086]
ADD RSP,0x8
LEA RDI,[0x16a0a2]
XOR EAX,EAX
POP RBX
POP RBP
POP R12
POP R13
JMP 0x00107190
MOV RCX,qword ptr [0x001923a0]
MOV EDX,0x4
MOV ESI,0x1
LEA RDI,[0x16a088]
CALL 0x001073e0
TEST R12D,R12D
JZ 0x00128e88
LEA RSI,[0x16a086]
JMP 0x00128d83
TEST EBX,EBX
JNZ 0x00128db6
TEST R13D,R13D
JNZ 0x00128dd0
ADD RSP,0x8
POP RBX
POP RBP
POP R12
POP R13
RET
MOV RSI,qword ptr [0x001923a0]
MOV EDI,0x30
JMP 0x00107230
TEST EBP,EBP
JNZ 0x00128e78
TEST EBX,EBX
JZ 0x00128e98
LEA RSI,[0x169c35]
JMP 0x00128dbd
TEST R13D,R13D
JNZ 0x00128dd0
JMP 0x00128e29
LEA RSI,[0x169c35]
JMP 0x00128da0
TEST EBP,EBP
JZ 0x00128dae
JMP 0x00128d99
TEST R13D,R13D
JZ 0x00128e29
LEA RSI,[0x169c35]
JMP 0x00128dd7
(translation_unit "void FUN_00128d40(uint param_1)\n\n{\n  undefined1 *puVar1;\n  \n  if (param_1 == 0) {\n    fputc(0x30,stdout);\n    return;\n  }\n  if ((param_1 & 1) == 0) {\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_00169c35;\nLAB_00128d83:\n      printf("%sUFLO",puVar1);\n      goto joined_r0x00128e8a;\n    }\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_00169c35;\n      goto LAB_00128da0;\n    }\n    if ((param_1 & 8) == 0) {\n      if ((param_1 & 0x10) == 0) {\n        return;\n      }\n      puVar1 = &DAT_00169c35;\n      goto LAB_00128dd7;\n    }\n    puVar1 = &DAT_00169c35;\nLAB_00128dbd:\n    printf("%sDIV0",puVar1);\n  }\n  else {\n    fwrite(&DAT_0016a088,1,4,stdout);\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_0016a086;\n      goto LAB_00128d83;\n    }\njoined_r0x00128e8a:\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0016a086;\nLAB_00128da0:\n      printf("%sOFLO",puVar1);\n    }\n    if ((param_1 & 8) != 0) {\n      puVar1 = &DAT_0016a086;\n      goto LAB_00128dbd;\n    }\n  }\n  if ((param_1 & 0x10) == 0) {\n    return;\n  }\n  puVar1 = &DAT_0016a086;\nLAB_00128dd7:\n  printf("%sINVAL",puVar1);\n  return;\n}\n\n" (function_definition "void FUN_00128d40(uint param_1)\n\n{\n  undefined1 *puVar1;\n  \n  if (param_1 == 0) {\n    fputc(0x30,stdout);\n    return;\n  }\n  if ((param_1 & 1) == 0) {\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_00169c35;\nLAB_00128d83:\n      printf("%sUFLO",puVar1);\n      goto joined_r0x00128e8a;\n    }\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_00169c35;\n      goto LAB_00128da0;\n    }\n    if ((param_1 & 8) == 0) {\n      if ((param_1 & 0x10) == 0) {\n        return;\n      }\n      puVar1 = &DAT_00169c35;\n      goto LAB_00128dd7;\n    }\n    puVar1 = &DAT_00169c35;\nLAB_00128dbd:\n    printf("%sDIV0",puVar1);\n  }\n  else {\n    fwrite(&DAT_0016a088,1,4,stdout);\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_0016a086;\n      goto LAB_00128d83;\n    }\njoined_r0x00128e8a:\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0016a086;\nLAB_00128da0:\n      printf("%sOFLO",puVar1);\n    }\n    if ((param_1 & 8) != 0) {\n      puVar1 = &DAT_0016a086;\n      goto LAB_00128dbd;\n    }\n  }\n  if ((param_1 & 0x10) == 0) {\n    return;\n  }\n  puVar1 = &DAT_0016a086;\nLAB_00128dd7:\n  printf("%sINVAL",puVar1);\n  return;\n}" primitive_type (function_declarator "FUN_00128d40(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,stdout);\n    return;\n  }\n  if ((param_1 & 1) == 0) {\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_00169c35;\nLAB_00128d83:\n      printf("%sUFLO",puVar1);\n      goto joined_r0x00128e8a;\n    }\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_00169c35;\n      goto LAB_00128da0;\n    }\n    if ((param_1 & 8) == 0) {\n      if ((param_1 & 0x10) == 0) {\n        return;\n      }\n      puVar1 = &DAT_00169c35;\n      goto LAB_00128dd7;\n    }\n    puVar1 = &DAT_00169c35;\nLAB_00128dbd:\n    printf("%sDIV0",puVar1);\n  }\n  else {\n    fwrite(&DAT_0016a088,1,4,stdout);\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_0016a086;\n      goto LAB_00128d83;\n    }\njoined_r0x00128e8a:\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0016a086;\nLAB_00128da0:\n      printf("%sOFLO",puVar1);\n    }\n    if ((param_1 & 8) != 0) {\n      puVar1 = &DAT_0016a086;\n      goto LAB_00128dbd;\n    }\n  }\n  if ((param_1 & 0x10) == 0) {\n    return;\n  }\n  puVar1 = &DAT_0016a086;\nLAB_00128dd7:\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,stdout);\n    return;\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n    fputc(0x30,stdout);\n    return;\n  }" { (expression_statement "fputc(0x30,stdout);" (call_expression "fputc(0x30,stdout)" identifier (argument_list "(0x30,stdout)" ( number_literal , identifier ))) ;) (return_statement "return;" return ;) })) (if_statement "if ((param_1 & 1) == 0) {\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_00169c35;\nLAB_00128d83:\n      printf("%sUFLO",puVar1);\n      goto joined_r0x00128e8a;\n    }\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_00169c35;\n      goto LAB_00128da0;\n    }\n    if ((param_1 & 8) == 0) {\n      if ((param_1 & 0x10) == 0) {\n        return;\n      }\n      puVar1 = &DAT_00169c35;\n      goto LAB_00128dd7;\n    }\n    puVar1 = &DAT_00169c35;\nLAB_00128dbd:\n    printf("%sDIV0",puVar1);\n  }\n  else {\n    fwrite(&DAT_0016a088,1,4,stdout);\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_0016a086;\n      goto LAB_00128d83;\n    }\njoined_r0x00128e8a:\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0016a086;\nLAB_00128da0:\n      printf("%sOFLO",puVar1);\n    }\n    if ((param_1 & 8) != 0) {\n      puVar1 = &DAT_0016a086;\n      goto LAB_00128dbd;\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_00169c35;\nLAB_00128d83:\n      printf("%sUFLO",puVar1);\n      goto joined_r0x00128e8a;\n    }\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_00169c35;\n      goto LAB_00128da0;\n    }\n    if ((param_1 & 8) == 0) {\n      if ((param_1 & 0x10) == 0) {\n        return;\n      }\n      puVar1 = &DAT_00169c35;\n      goto LAB_00128dd7;\n    }\n    puVar1 = &DAT_00169c35;\nLAB_00128dbd:\n    printf("%sDIV0",puVar1);\n  }" { (if_statement "if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_00169c35;\nLAB_00128d83:\n      printf("%sUFLO",puVar1);\n      goto joined_r0x00128e8a;\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_00169c35;\nLAB_00128d83:\n      printf("%sUFLO",puVar1);\n      goto joined_r0x00128e8a;\n    }" { (expression_statement "puVar1 = &DAT_00169c35;" (assignment_expression "puVar1 = &DAT_00169c35" identifier = (pointer_expression "&DAT_00169c35" & identifier)) ;) (labeled_statement "LAB_00128d83:\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_r0x00128e8a;" goto statement_identifier ;) })) (if_statement "if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_00169c35;\n      goto LAB_00128da0;\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_00169c35;\n      goto LAB_00128da0;\n    }" { (expression_statement "puVar1 = &DAT_00169c35;" (assignment_expression "puVar1 = &DAT_00169c35" identifier = (pointer_expression "&DAT_00169c35" & identifier)) ;) (goto_statement "goto LAB_00128da0;" goto statement_identifier ;) })) (if_statement "if ((param_1 & 8) == 0) {\n      if ((param_1 & 0x10) == 0) {\n        return;\n      }\n      puVar1 = &DAT_00169c35;\n      goto LAB_00128dd7;\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_00169c35;\n      goto LAB_00128dd7;\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_00169c35;" (assignment_expression "puVar1 = &DAT_00169c35" identifier = (pointer_expression "&DAT_00169c35" & identifier)) ;) (goto_statement "goto LAB_00128dd7;" goto statement_identifier ;) })) (expression_statement "puVar1 = &DAT_00169c35;" (assignment_expression "puVar1 = &DAT_00169c35" identifier = (pointer_expression "&DAT_00169c35" & identifier)) ;) (labeled_statement "LAB_00128dbd:\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_0016a088,1,4,stdout);\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_0016a086;\n      goto LAB_00128d83;\n    }\njoined_r0x00128e8a:\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0016a086;\nLAB_00128da0:\n      printf("%sOFLO",puVar1);\n    }\n    if ((param_1 & 8) != 0) {\n      puVar1 = &DAT_0016a086;\n      goto LAB_00128dbd;\n    }\n  }" else (compound_statement "{\n    fwrite(&DAT_0016a088,1,4,stdout);\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_0016a086;\n      goto LAB_00128d83;\n    }\njoined_r0x00128e8a:\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0016a086;\nLAB_00128da0:\n      printf("%sOFLO",puVar1);\n    }\n    if ((param_1 & 8) != 0) {\n      puVar1 = &DAT_0016a086;\n      goto LAB_00128dbd;\n    }\n  }" { (expression_statement "fwrite(&DAT_0016a088,1,4,stdout);" (call_expression "fwrite(&DAT_0016a088,1,4,stdout)" identifier (argument_list "(&DAT_0016a088,1,4,stdout)" ( (pointer_expression "&DAT_0016a088" & identifier) , number_literal , number_literal , identifier ))) ;) (if_statement "if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_0016a086;\n      goto LAB_00128d83;\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_0016a086;\n      goto LAB_00128d83;\n    }" { (expression_statement "puVar1 = &DAT_0016a086;" (assignment_expression "puVar1 = &DAT_0016a086" identifier = (pointer_expression "&DAT_0016a086" & identifier)) ;) (goto_statement "goto LAB_00128d83;" goto statement_identifier ;) })) (labeled_statement "joined_r0x00128e8a:\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0016a086;\nLAB_00128da0:\n      printf("%sOFLO",puVar1);\n    }" statement_identifier : (if_statement "if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0016a086;\nLAB_00128da0:\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_0016a086;\nLAB_00128da0:\n      printf("%sOFLO",puVar1);\n    }" { (expression_statement "puVar1 = &DAT_0016a086;" (assignment_expression "puVar1 = &DAT_0016a086" identifier = (pointer_expression "&DAT_0016a086" & identifier)) ;) (labeled_statement "LAB_00128da0:\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_0016a086;\n      goto LAB_00128dbd;\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_0016a086;\n      goto LAB_00128dbd;\n    }" { (expression_statement "puVar1 = &DAT_0016a086;" (assignment_expression "puVar1 = &DAT_0016a086" identifier = (pointer_expression "&DAT_0016a086" & identifier)) ;) (goto_statement "goto LAB_00128dbd;" 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_0016a086;" (assignment_expression "puVar1 = &DAT_0016a086" identifier = (pointer_expression "&DAT_0016a086" & identifier)) ;) (labeled_statement "LAB_00128dd7:\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 process_mips_fpe_exception(wchar_t mask)\n\n{\n  undefined1 *puVar1;\n  \n  if (mask == L'\0') {\n    fputc(0x30,stdout);\n    return;\n  }\n  if ((mask & 1U) == 0) {\n    if ((mask & 2U) != 0) {\n      puVar1 = &DAT_00169c35;\nLAB_00128d83:\n      printf("%sUFLO",puVar1);\n      goto joined_r0x00128e8a;\n    }\n    if ((mask & 4U) != 0) {\n      puVar1 = &DAT_00169c35;\n      goto LAB_00128da0;\n    }\n    if ((mask & 8U) == 0) {\n      if ((mask & 0x10U) == 0) {\n        return;\n      }\n      puVar1 = &DAT_00169c35;\n      goto LAB_00128dd7;\n    }\n    puVar1 = &DAT_00169c35;\nLAB_00128dbd:\n    printf("%sDIV0",puVar1);\n  }\n  else {\n    fwrite(&DAT_0016a088,1,4,stdout);\n    if ((mask & 2U) != 0) {\n      puVar1 = &DAT_0016a086;\n      goto LAB_00128d83;\n    }\njoined_r0x00128e8a:\n    if ((mask & 4U) != 0) {\n      puVar1 = &DAT_0016a086;\nLAB_00128da0:\n      printf("%sOFLO",puVar1);\n    }\n    if ((mask & 8U) != 0) {\n      puVar1 = &DAT_0016a086;\n      goto LAB_00128dbd;\n    }\n  }\n  if ((mask & 0x10U) == 0) {\n    return;\n  }\n  puVar1 = &DAT_0016a086;\nLAB_00128dd7:\n  printf("%sINVAL",puVar1);\n  return;\n}\n\n" (function_definition "void process_mips_fpe_exception(wchar_t mask)\n\n{\n  undefined1 *puVar1;\n  \n  if (mask == L'\0') {\n    fputc(0x30,stdout);\n    return;\n  }\n  if ((mask & 1U) == 0) {\n    if ((mask & 2U) != 0) {\n      puVar1 = &DAT_00169c35;\nLAB_00128d83:\n      printf("%sUFLO",puVar1);\n      goto joined_r0x00128e8a;\n    }\n    if ((mask & 4U) != 0) {\n      puVar1 = &DAT_00169c35;\n      goto LAB_00128da0;\n    }\n    if ((mask & 8U) == 0) {\n      if ((mask & 0x10U) == 0) {\n        return;\n      }\n      puVar1 = &DAT_00169c35;\n      goto LAB_00128dd7;\n    }\n    puVar1 = &DAT_00169c35;\nLAB_00128dbd:\n    printf("%sDIV0",puVar1);\n  }\n  else {\n    fwrite(&DAT_0016a088,1,4,stdout);\n    if ((mask & 2U) != 0) {\n      puVar1 = &DAT_0016a086;\n      goto LAB_00128d83;\n    }\njoined_r0x00128e8a:\n    if ((mask & 4U) != 0) {\n      puVar1 = &DAT_0016a086;\nLAB_00128da0:\n      printf("%sOFLO",puVar1);\n    }\n    if ((mask & 8U) != 0) {\n      puVar1 = &DAT_0016a086;\n      goto LAB_00128dbd;\n    }\n  }\n  if ((mask & 0x10U) == 0) {\n    return;\n  }\n  puVar1 = &DAT_0016a086;\nLAB_00128dd7:\n  printf("%sINVAL",puVar1);\n  return;\n}" primitive_type (function_declarator "process_mips_fpe_exception(wchar_t mask)" identifier (parameter_list "(wchar_t mask)" ( (parameter_declaration "wchar_t mask" type_identifier identifier) ))) (compound_statement "{\n  undefined1 *puVar1;\n  \n  if (mask == L'\0') {\n    fputc(0x30,stdout);\n    return;\n  }\n  if ((mask & 1U) == 0) {\n    if ((mask & 2U) != 0) {\n      puVar1 = &DAT_00169c35;\nLAB_00128d83:\n      printf("%sUFLO",puVar1);\n      goto joined_r0x00128e8a;\n    }\n    if ((mask & 4U) != 0) {\n      puVar1 = &DAT_00169c35;\n      goto LAB_00128da0;\n    }\n    if ((mask & 8U) == 0) {\n      if ((mask & 0x10U) == 0) {\n        return;\n      }\n      puVar1 = &DAT_00169c35;\n      goto LAB_00128dd7;\n    }\n    puVar1 = &DAT_00169c35;\nLAB_00128dbd:\n    printf("%sDIV0",puVar1);\n  }\n  else {\n    fwrite(&DAT_0016a088,1,4,stdout);\n    if ((mask & 2U) != 0) {\n      puVar1 = &DAT_0016a086;\n      goto LAB_00128d83;\n    }\njoined_r0x00128e8a:\n    if ((mask & 4U) != 0) {\n      puVar1 = &DAT_0016a086;\nLAB_00128da0:\n      printf("%sOFLO",puVar1);\n    }\n    if ((mask & 8U) != 0) {\n      puVar1 = &DAT_0016a086;\n      goto LAB_00128dbd;\n    }\n  }\n  if ((mask & 0x10U) == 0) {\n    return;\n  }\n  puVar1 = &DAT_0016a086;\nLAB_00128dd7:\n  printf("%sINVAL",puVar1);\n  return;\n}" { (declaration "undefined1 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (if_statement "if (mask == L'\0') {\n    fputc(0x30,stdout);\n    return;\n  }" if (parenthesized_expression "(mask == L'\0')" ( (binary_expression "mask == L'\0'" identifier == (char_literal "L'\0'" L' escape_sequence ')) )) (compound_statement "{\n    fputc(0x30,stdout);\n    return;\n  }" { (expression_statement "fputc(0x30,stdout);" (call_expression "fputc(0x30,stdout)" identifier (argument_list "(0x30,stdout)" ( number_literal , identifier ))) ;) (return_statement "return;" return ;) })) (if_statement "if ((mask & 1U) == 0) {\n    if ((mask & 2U) != 0) {\n      puVar1 = &DAT_00169c35;\nLAB_00128d83:\n      printf("%sUFLO",puVar1);\n      goto joined_r0x00128e8a;\n    }\n    if ((mask & 4U) != 0) {\n      puVar1 = &DAT_00169c35;\n      goto LAB_00128da0;\n    }\n    if ((mask & 8U) == 0) {\n      if ((mask & 0x10U) == 0) {\n        return;\n      }\n      puVar1 = &DAT_00169c35;\n      goto LAB_00128dd7;\n    }\n    puVar1 = &DAT_00169c35;\nLAB_00128dbd:\n    printf("%sDIV0",puVar1);\n  }\n  else {\n    fwrite(&DAT_0016a088,1,4,stdout);\n    if ((mask & 2U) != 0) {\n      puVar1 = &DAT_0016a086;\n      goto LAB_00128d83;\n    }\njoined_r0x00128e8a:\n    if ((mask & 4U) != 0) {\n      puVar1 = &DAT_0016a086;\nLAB_00128da0:\n      printf("%sOFLO",puVar1);\n    }\n    if ((mask & 8U) != 0) {\n      puVar1 = &DAT_0016a086;\n      goto LAB_00128dbd;\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_00169c35;\nLAB_00128d83:\n      printf("%sUFLO",puVar1);\n      goto joined_r0x00128e8a;\n    }\n    if ((mask & 4U) != 0) {\n      puVar1 = &DAT_00169c35;\n      goto LAB_00128da0;\n    }\n    if ((mask & 8U) == 0) {\n      if ((mask & 0x10U) == 0) {\n        return;\n      }\n      puVar1 = &DAT_00169c35;\n      goto LAB_00128dd7;\n    }\n    puVar1 = &DAT_00169c35;\nLAB_00128dbd:\n    printf("%sDIV0",puVar1);\n  }" { (if_statement "if ((mask & 2U) != 0) {\n      puVar1 = &DAT_00169c35;\nLAB_00128d83:\n      printf("%sUFLO",puVar1);\n      goto joined_r0x00128e8a;\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_00169c35;\nLAB_00128d83:\n      printf("%sUFLO",puVar1);\n      goto joined_r0x00128e8a;\n    }" { (expression_statement "puVar1 = &DAT_00169c35;" (assignment_expression "puVar1 = &DAT_00169c35" identifier = (pointer_expression "&DAT_00169c35" & identifier)) ;) (labeled_statement "LAB_00128d83:\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_r0x00128e8a;" goto statement_identifier ;) })) (if_statement "if ((mask & 4U) != 0) {\n      puVar1 = &DAT_00169c35;\n      goto LAB_00128da0;\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_00169c35;\n      goto LAB_00128da0;\n    }" { (expression_statement "puVar1 = &DAT_00169c35;" (assignment_expression "puVar1 = &DAT_00169c35" identifier = (pointer_expression "&DAT_00169c35" & identifier)) ;) (goto_statement "goto LAB_00128da0;" goto statement_identifier ;) })) (if_statement "if ((mask & 8U) == 0) {\n      if ((mask & 0x10U) == 0) {\n        return;\n      }\n      puVar1 = &DAT_00169c35;\n      goto LAB_00128dd7;\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_00169c35;\n      goto LAB_00128dd7;\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_00169c35;" (assignment_expression "puVar1 = &DAT_00169c35" identifier = (pointer_expression "&DAT_00169c35" & identifier)) ;) (goto_statement "goto LAB_00128dd7;" goto statement_identifier ;) })) (expression_statement "puVar1 = &DAT_00169c35;" (assignment_expression "puVar1 = &DAT_00169c35" identifier = (pointer_expression "&DAT_00169c35" & identifier)) ;) (labeled_statement "LAB_00128dbd:\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_0016a088,1,4,stdout);\n    if ((mask & 2U) != 0) {\n      puVar1 = &DAT_0016a086;\n      goto LAB_00128d83;\n    }\njoined_r0x00128e8a:\n    if ((mask & 4U) != 0) {\n      puVar1 = &DAT_0016a086;\nLAB_00128da0:\n      printf("%sOFLO",puVar1);\n    }\n    if ((mask & 8U) != 0) {\n      puVar1 = &DAT_0016a086;\n      goto LAB_00128dbd;\n    }\n  }" else (compound_statement "{\n    fwrite(&DAT_0016a088,1,4,stdout);\n    if ((mask & 2U) != 0) {\n      puVar1 = &DAT_0016a086;\n      goto LAB_00128d83;\n    }\njoined_r0x00128e8a:\n    if ((mask & 4U) != 0) {\n      puVar1 = &DAT_0016a086;\nLAB_00128da0:\n      printf("%sOFLO",puVar1);\n    }\n    if ((mask & 8U) != 0) {\n      puVar1 = &DAT_0016a086;\n      goto LAB_00128dbd;\n    }\n  }" { (expression_statement "fwrite(&DAT_0016a088,1,4,stdout);" (call_expression "fwrite(&DAT_0016a088,1,4,stdout)" identifier (argument_list "(&DAT_0016a088,1,4,stdout)" ( (pointer_expression "&DAT_0016a088" & identifier) , number_literal , number_literal , identifier ))) ;) (if_statement "if ((mask & 2U) != 0) {\n      puVar1 = &DAT_0016a086;\n      goto LAB_00128d83;\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_0016a086;\n      goto LAB_00128d83;\n    }" { (expression_statement "puVar1 = &DAT_0016a086;" (assignment_expression "puVar1 = &DAT_0016a086" identifier = (pointer_expression "&DAT_0016a086" & identifier)) ;) (goto_statement "goto LAB_00128d83;" goto statement_identifier ;) })) (labeled_statement "joined_r0x00128e8a:\n    if ((mask & 4U) != 0) {\n      puVar1 = &DAT_0016a086;\nLAB_00128da0:\n      printf("%sOFLO",puVar1);\n    }" statement_identifier : (if_statement "if ((mask & 4U) != 0) {\n      puVar1 = &DAT_0016a086;\nLAB_00128da0:\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_0016a086;\nLAB_00128da0:\n      printf("%sOFLO",puVar1);\n    }" { (expression_statement "puVar1 = &DAT_0016a086;" (assignment_expression "puVar1 = &DAT_0016a086" identifier = (pointer_expression "&DAT_0016a086" & identifier)) ;) (labeled_statement "LAB_00128da0:\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_0016a086;\n      goto LAB_00128dbd;\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_0016a086;\n      goto LAB_00128dbd;\n    }" { (expression_statement "puVar1 = &DAT_0016a086;" (assignment_expression "puVar1 = &DAT_0016a086" identifier = (pointer_expression "&DAT_0016a086" & identifier)) ;) (goto_statement "goto LAB_00128dbd;" 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_0016a086;" (assignment_expression "puVar1 = &DAT_0016a086" identifier = (pointer_expression "&DAT_0016a086" & identifier)) ;) (labeled_statement "LAB_00128dd7:\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 FUN_00128d40(uint param_1)\n\n{\n  undefined1 *puVar1;\n  \n  if (param_1 == 0) {\n    fputc(0x30,stdout);\n    return;\n  }\n  if ((param_1 & 1) == 0) {\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_00169c35;\nLAB_00128d83:\n      printf("%sUFLO",puVar1);\n      goto joined_r0x00128e8a;\n    }\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_00169c35;\n      goto LAB_00128da0;\n    }\n    if ((param_1 & 8) == 0) {\n      if ((param_1 & 0x10) == 0) {\n        return;\n      }\n      puVar1 = &DAT_00169c35;\n      goto LAB_00128dd7;\n    }\n    puVar1 = &DAT_00169c35;\nLAB_00128dbd:\n    printf("%sDIV0",puVar1);\n  }\n  else {\n    fwrite(&DAT_0016a088,1,4,stdout);\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_0016a086;\n      goto LAB_00128d83;\n    }\njoined_r0x00128e8a:\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0016a086;\nLAB_00128da0:\n      printf("%sOFLO",puVar1);\n    }\n    if ((param_1 & 8) != 0) {\n      puVar1 = &DAT_0016a086;\n      goto LAB_00128dbd;\n    }\n  }\n  if ((param_1 & 0x10) == 0) {\n    return;\n  }\n  puVar1 = &DAT_0016a086;\nLAB_00128dd7:\n  printf("%sINVAL",puVar1);\n  return;\n}\n\n" (function_definition "void FUN_00128d40(uint param_1)\n\n{\n  undefined1 *puVar1;\n  \n  if (param_1 == 0) {\n    fputc(0x30,stdout);\n    return;\n  }\n  if ((param_1 & 1) == 0) {\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_00169c35;\nLAB_00128d83:\n      printf("%sUFLO",puVar1);\n      goto joined_r0x00128e8a;\n    }\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_00169c35;\n      goto LAB_00128da0;\n    }\n    if ((param_1 & 8) == 0) {\n      if ((param_1 & 0x10) == 0) {\n        return;\n      }\n      puVar1 = &DAT_00169c35;\n      goto LAB_00128dd7;\n    }\n    puVar1 = &DAT_00169c35;\nLAB_00128dbd:\n    printf("%sDIV0",puVar1);\n  }\n  else {\n    fwrite(&DAT_0016a088,1,4,stdout);\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_0016a086;\n      goto LAB_00128d83;\n    }\njoined_r0x00128e8a:\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0016a086;\nLAB_00128da0:\n      printf("%sOFLO",puVar1);\n    }\n    if ((param_1 & 8) != 0) {\n      puVar1 = &DAT_0016a086;\n      goto LAB_00128dbd;\n    }\n  }\n  if ((param_1 & 0x10) == 0) {\n    return;\n  }\n  puVar1 = &DAT_0016a086;\nLAB_00128dd7:\n  printf("%sINVAL",puVar1);\n  return;\n}" primitive_type (function_declarator "FUN_00128d40(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,stdout);\n    return;\n  }\n  if ((param_1 & 1) == 0) {\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_00169c35;\nLAB_00128d83:\n      printf("%sUFLO",puVar1);\n      goto joined_r0x00128e8a;\n    }\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_00169c35;\n      goto LAB_00128da0;\n    }\n    if ((param_1 & 8) == 0) {\n      if ((param_1 & 0x10) == 0) {\n        return;\n      }\n      puVar1 = &DAT_00169c35;\n      goto LAB_00128dd7;\n    }\n    puVar1 = &DAT_00169c35;\nLAB_00128dbd:\n    printf("%sDIV0",puVar1);\n  }\n  else {\n    fwrite(&DAT_0016a088,1,4,stdout);\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_0016a086;\n      goto LAB_00128d83;\n    }\njoined_r0x00128e8a:\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0016a086;\nLAB_00128da0:\n      printf("%sOFLO",puVar1);\n    }\n    if ((param_1 & 8) != 0) {\n      puVar1 = &DAT_0016a086;\n      goto LAB_00128dbd;\n    }\n  }\n  if ((param_1 & 0x10) == 0) {\n    return;\n  }\n  puVar1 = &DAT_0016a086;\nLAB_00128dd7:\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,stdout);\n    return;\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n    fputc(0x30,stdout);\n    return;\n  }" { (expression_statement "fputc(0x30,stdout);" (call_expression "fputc(0x30,stdout)" identifier (argument_list "(0x30,stdout)" ( number_literal , identifier ))) ;) (return_statement "return;" return ;) })) (if_statement "if ((param_1 & 1) == 0) {\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_00169c35;\nLAB_00128d83:\n      printf("%sUFLO",puVar1);\n      goto joined_r0x00128e8a;\n    }\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_00169c35;\n      goto LAB_00128da0;\n    }\n    if ((param_1 & 8) == 0) {\n      if ((param_1 & 0x10) == 0) {\n        return;\n      }\n      puVar1 = &DAT_00169c35;\n      goto LAB_00128dd7;\n    }\n    puVar1 = &DAT_00169c35;\nLAB_00128dbd:\n    printf("%sDIV0",puVar1);\n  }\n  else {\n    fwrite(&DAT_0016a088,1,4,stdout);\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_0016a086;\n      goto LAB_00128d83;\n    }\njoined_r0x00128e8a:\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0016a086;\nLAB_00128da0:\n      printf("%sOFLO",puVar1);\n    }\n    if ((param_1 & 8) != 0) {\n      puVar1 = &DAT_0016a086;\n      goto LAB_00128dbd;\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_00169c35;\nLAB_00128d83:\n      printf("%sUFLO",puVar1);\n      goto joined_r0x00128e8a;\n    }\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_00169c35;\n      goto LAB_00128da0;\n    }\n    if ((param_1 & 8) == 0) {\n      if ((param_1 & 0x10) == 0) {\n        return;\n      }\n      puVar1 = &DAT_00169c35;\n      goto LAB_00128dd7;\n    }\n    puVar1 = &DAT_00169c35;\nLAB_00128dbd:\n    printf("%sDIV0",puVar1);\n  }" { (if_statement "if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_00169c35;\nLAB_00128d83:\n      printf("%sUFLO",puVar1);\n      goto joined_r0x00128e8a;\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_00169c35;\nLAB_00128d83:\n      printf("%sUFLO",puVar1);\n      goto joined_r0x00128e8a;\n    }" { (expression_statement "puVar1 = &DAT_00169c35;" (assignment_expression "puVar1 = &DAT_00169c35" identifier = (pointer_expression "&DAT_00169c35" & identifier)) ;) (labeled_statement "LAB_00128d83:\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_r0x00128e8a;" goto statement_identifier ;) })) (if_statement "if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_00169c35;\n      goto LAB_00128da0;\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_00169c35;\n      goto LAB_00128da0;\n    }" { (expression_statement "puVar1 = &DAT_00169c35;" (assignment_expression "puVar1 = &DAT_00169c35" identifier = (pointer_expression "&DAT_00169c35" & identifier)) ;) (goto_statement "goto LAB_00128da0;" goto statement_identifier ;) })) (if_statement "if ((param_1 & 8) == 0) {\n      if ((param_1 & 0x10) == 0) {\n        return;\n      }\n      puVar1 = &DAT_00169c35;\n      goto LAB_00128dd7;\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_00169c35;\n      goto LAB_00128dd7;\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_00169c35;" (assignment_expression "puVar1 = &DAT_00169c35" identifier = (pointer_expression "&DAT_00169c35" & identifier)) ;) (goto_statement "goto LAB_00128dd7;" goto statement_identifier ;) })) (expression_statement "puVar1 = &DAT_00169c35;" (assignment_expression "puVar1 = &DAT_00169c35" identifier = (pointer_expression "&DAT_00169c35" & identifier)) ;) (labeled_statement "LAB_00128dbd:\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_0016a088,1,4,stdout);\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_0016a086;\n      goto LAB_00128d83;\n    }\njoined_r0x00128e8a:\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0016a086;\nLAB_00128da0:\n      printf("%sOFLO",puVar1);\n    }\n    if ((param_1 & 8) != 0) {\n      puVar1 = &DAT_0016a086;\n      goto LAB_00128dbd;\n    }\n  }" else (compound_statement "{\n    fwrite(&DAT_0016a088,1,4,stdout);\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_0016a086;\n      goto LAB_00128d83;\n    }\njoined_r0x00128e8a:\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0016a086;\nLAB_00128da0:\n      printf("%sOFLO",puVar1);\n    }\n    if ((param_1 & 8) != 0) {\n      puVar1 = &DAT_0016a086;\n      goto LAB_00128dbd;\n    }\n  }" { (expression_statement "fwrite(&DAT_0016a088,1,4,stdout);" (call_expression "fwrite(&DAT_0016a088,1,4,stdout)" identifier (argument_list "(&DAT_0016a088,1,4,stdout)" ( (pointer_expression "&DAT_0016a088" & identifier) , number_literal , number_literal , identifier ))) ;) (if_statement "if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_0016a086;\n      goto LAB_00128d83;\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_0016a086;\n      goto LAB_00128d83;\n    }" { (expression_statement "puVar1 = &DAT_0016a086;" (assignment_expression "puVar1 = &DAT_0016a086" identifier = (pointer_expression "&DAT_0016a086" & identifier)) ;) (goto_statement "goto LAB_00128d83;" goto statement_identifier ;) })) (labeled_statement "joined_r0x00128e8a:\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0016a086;\nLAB_00128da0:\n      printf("%sOFLO",puVar1);\n    }" statement_identifier : (if_statement "if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0016a086;\nLAB_00128da0:\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_0016a086;\nLAB_00128da0:\n      printf("%sOFLO",puVar1);\n    }" { (expression_statement "puVar1 = &DAT_0016a086;" (assignment_expression "puVar1 = &DAT_0016a086" identifier = (pointer_expression "&DAT_0016a086" & identifier)) ;) (labeled_statement "LAB_00128da0:\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_0016a086;\n      goto LAB_00128dbd;\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_0016a086;\n      goto LAB_00128dbd;\n    }" { (expression_statement "puVar1 = &DAT_0016a086;" (assignment_expression "puVar1 = &DAT_0016a086" identifier = (pointer_expression "&DAT_0016a086" & identifier)) ;) (goto_statement "goto LAB_00128dbd;" 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_0016a086;" (assignment_expression "puVar1 = &DAT_0016a086" identifier = (pointer_expression "&DAT_0016a086" & identifier)) ;) (labeled_statement "LAB_00128dd7:\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 (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 , 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 , 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 FUN_00128d40(uint param_1)\n\n{\n  undefined1 *puVar1;\n  \n  if (param_1 == 0) {\n    fputc(0x30,stdout);\n    return;\n  }\n  if ((param_1 & 1) == 0) {\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_00169c35;\nLAB_00128d83:\n      printf("%sUFLO",puVar1);\n      goto joined_r0x00128e8a;\n    }\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_00169c35;\n      goto LAB_00128da0;\n    }\n    if ((param_1 & 8) == 0) {\n      if ((param_1 & 0x10) == 0) {\n        return;\n      }\n      puVar1 = &DAT_00169c35;\n      goto LAB_00128dd7;\n    }\n    puVar1 = &DAT_00169c35;\nLAB_00128dbd:\n    printf("%sDIV0",puVar1);\n  }\n  else {\n    fwrite(&DAT_0016a088,1,4,stdout);\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_0016a086;\n      goto LAB_00128d83;\n    }\njoined_r0x00128e8a:\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0016a086;\nLAB_00128da0:\n      printf("%sOFLO",puVar1);\n    }\n    if ((param_1 & 8) != 0) {\n      puVar1 = &DAT_0016a086;\n      goto LAB_00128dbd;\n    }\n  }\n  if ((param_1 & 0x10) == 0) {\n    return;\n  }\n  puVar1 = &DAT_0016a086;\nLAB_00128dd7:\n  printf("%sINVAL",puVar1);\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00128d40(uint param_1)" (identifier "FUN_00128d40") (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,stdout);\n    return;\n  }\n  if ((param_1 & 1) == 0) {\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_00169c35;\nLAB_00128d83:\n      printf("%sUFLO",puVar1);\n      goto joined_r0x00128e8a;\n    }\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_00169c35;\n      goto LAB_00128da0;\n    }\n    if ((param_1 & 8) == 0) {\n      if ((param_1 & 0x10) == 0) {\n        return;\n      }\n      puVar1 = &DAT_00169c35;\n      goto LAB_00128dd7;\n    }\n    puVar1 = &DAT_00169c35;\nLAB_00128dbd:\n    printf("%sDIV0",puVar1);\n  }\n  else {\n    fwrite(&DAT_0016a088,1,4,stdout);\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_0016a086;\n      goto LAB_00128d83;\n    }\njoined_r0x00128e8a:\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0016a086;\nLAB_00128da0:\n      printf("%sOFLO",puVar1);\n    }\n    if ((param_1 & 8) != 0) {\n      puVar1 = &DAT_0016a086;\n      goto LAB_00128dbd;\n    }\n  }\n  if ((param_1 & 0x10) == 0) {\n    return;\n  }\n  puVar1 = &DAT_0016a086;\nLAB_00128dd7:\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,stdout);\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,stdout);\n    return;\n  }" ({ "{") (expression_statement "fputc(0x30,stdout);" (call_expression "fputc(0x30,stdout)" (identifier "fputc") (argument_list "(0x30,stdout)" (( "(") (number_literal "0x30") (, ",") (identifier "stdout") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if ((param_1 & 1) == 0) {\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_00169c35;\nLAB_00128d83:\n      printf("%sUFLO",puVar1);\n      goto joined_r0x00128e8a;\n    }\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_00169c35;\n      goto LAB_00128da0;\n    }\n    if ((param_1 & 8) == 0) {\n      if ((param_1 & 0x10) == 0) {\n        return;\n      }\n      puVar1 = &DAT_00169c35;\n      goto LAB_00128dd7;\n    }\n    puVar1 = &DAT_00169c35;\nLAB_00128dbd:\n    printf("%sDIV0",puVar1);\n  }\n  else {\n    fwrite(&DAT_0016a088,1,4,stdout);\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_0016a086;\n      goto LAB_00128d83;\n    }\njoined_r0x00128e8a:\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0016a086;\nLAB_00128da0:\n      printf("%sOFLO",puVar1);\n    }\n    if ((param_1 & 8) != 0) {\n      puVar1 = &DAT_0016a086;\n      goto LAB_00128dbd;\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_00169c35;\nLAB_00128d83:\n      printf("%sUFLO",puVar1);\n      goto joined_r0x00128e8a;\n    }\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_00169c35;\n      goto LAB_00128da0;\n    }\n    if ((param_1 & 8) == 0) {\n      if ((param_1 & 0x10) == 0) {\n        return;\n      }\n      puVar1 = &DAT_00169c35;\n      goto LAB_00128dd7;\n    }\n    puVar1 = &DAT_00169c35;\nLAB_00128dbd:\n    printf("%sDIV0",puVar1);\n  }" ({ "{") (if_statement "if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_00169c35;\nLAB_00128d83:\n      printf("%sUFLO",puVar1);\n      goto joined_r0x00128e8a;\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_00169c35;\nLAB_00128d83:\n      printf("%sUFLO",puVar1);\n      goto joined_r0x00128e8a;\n    }" ({ "{") (expression_statement "puVar1 = &DAT_00169c35;" (assignment_expression "puVar1 = &DAT_00169c35" (identifier "puVar1") (= "=") (pointer_expression "&DAT_00169c35" (& "&") (identifier "DAT_00169c35"))) (; ";")) (labeled_statement "LAB_00128d83:\n      printf("%sUFLO",puVar1);" (statement_identifier "LAB_00128d83") (: ":") (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_r0x00128e8a;" (goto "goto") (statement_identifier "joined_r0x00128e8a") (; ";")) (} "}"))) (if_statement "if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_00169c35;\n      goto LAB_00128da0;\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_00169c35;\n      goto LAB_00128da0;\n    }" ({ "{") (expression_statement "puVar1 = &DAT_00169c35;" (assignment_expression "puVar1 = &DAT_00169c35" (identifier "puVar1") (= "=") (pointer_expression "&DAT_00169c35" (& "&") (identifier "DAT_00169c35"))) (; ";")) (goto_statement "goto LAB_00128da0;" (goto "goto") (statement_identifier "LAB_00128da0") (; ";")) (} "}"))) (if_statement "if ((param_1 & 8) == 0) {\n      if ((param_1 & 0x10) == 0) {\n        return;\n      }\n      puVar1 = &DAT_00169c35;\n      goto LAB_00128dd7;\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_00169c35;\n      goto LAB_00128dd7;\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_00169c35;" (assignment_expression "puVar1 = &DAT_00169c35" (identifier "puVar1") (= "=") (pointer_expression "&DAT_00169c35" (& "&") (identifier "DAT_00169c35"))) (; ";")) (goto_statement "goto LAB_00128dd7;" (goto "goto") (statement_identifier "LAB_00128dd7") (; ";")) (} "}"))) (expression_statement "puVar1 = &DAT_00169c35;" (assignment_expression "puVar1 = &DAT_00169c35" (identifier "puVar1") (= "=") (pointer_expression "&DAT_00169c35" (& "&") (identifier "DAT_00169c35"))) (; ";")) (labeled_statement "LAB_00128dbd:\n    printf("%sDIV0",puVar1);" (statement_identifier "LAB_00128dbd") (: ":") (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_0016a088,1,4,stdout);\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_0016a086;\n      goto LAB_00128d83;\n    }\njoined_r0x00128e8a:\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0016a086;\nLAB_00128da0:\n      printf("%sOFLO",puVar1);\n    }\n    if ((param_1 & 8) != 0) {\n      puVar1 = &DAT_0016a086;\n      goto LAB_00128dbd;\n    }\n  }" (else "else") (compound_statement "{\n    fwrite(&DAT_0016a088,1,4,stdout);\n    if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_0016a086;\n      goto LAB_00128d83;\n    }\njoined_r0x00128e8a:\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0016a086;\nLAB_00128da0:\n      printf("%sOFLO",puVar1);\n    }\n    if ((param_1 & 8) != 0) {\n      puVar1 = &DAT_0016a086;\n      goto LAB_00128dbd;\n    }\n  }" ({ "{") (expression_statement "fwrite(&DAT_0016a088,1,4,stdout);" (call_expression "fwrite(&DAT_0016a088,1,4,stdout)" (identifier "fwrite") (argument_list "(&DAT_0016a088,1,4,stdout)" (( "(") (pointer_expression "&DAT_0016a088" (& "&") (identifier "DAT_0016a088")) (, ",") (number_literal "1") (, ",") (number_literal "4") (, ",") (identifier "stdout") () ")"))) (; ";")) (if_statement "if ((param_1 & 2) != 0) {\n      puVar1 = &DAT_0016a086;\n      goto LAB_00128d83;\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_0016a086;\n      goto LAB_00128d83;\n    }" ({ "{") (expression_statement "puVar1 = &DAT_0016a086;" (assignment_expression "puVar1 = &DAT_0016a086" (identifier "puVar1") (= "=") (pointer_expression "&DAT_0016a086" (& "&") (identifier "DAT_0016a086"))) (; ";")) (goto_statement "goto LAB_00128d83;" (goto "goto") (statement_identifier "LAB_00128d83") (; ";")) (} "}"))) (labeled_statement "joined_r0x00128e8a:\n    if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0016a086;\nLAB_00128da0:\n      printf("%sOFLO",puVar1);\n    }" (statement_identifier "joined_r0x00128e8a") (: ":") (if_statement "if ((param_1 & 4) != 0) {\n      puVar1 = &DAT_0016a086;\nLAB_00128da0:\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_0016a086;\nLAB_00128da0:\n      printf("%sOFLO",puVar1);\n    }" ({ "{") (expression_statement "puVar1 = &DAT_0016a086;" (assignment_expression "puVar1 = &DAT_0016a086" (identifier "puVar1") (= "=") (pointer_expression "&DAT_0016a086" (& "&") (identifier "DAT_0016a086"))) (; ";")) (labeled_statement "LAB_00128da0:\n      printf("%sOFLO",puVar1);" (statement_identifier "LAB_00128da0") (: ":") (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_0016a086;\n      goto LAB_00128dbd;\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_0016a086;\n      goto LAB_00128dbd;\n    }" ({ "{") (expression_statement "puVar1 = &DAT_0016a086;" (assignment_expression "puVar1 = &DAT_0016a086" (identifier "puVar1") (= "=") (pointer_expression "&DAT_0016a086" (& "&") (identifier "DAT_0016a086"))) (; ";")) (goto_statement "goto LAB_00128dbd;" (goto "goto") (statement_identifier "LAB_00128dbd") (; ";")) (} "}"))) (} "}")))) (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_0016a086;" (assignment_expression "puVar1 = &DAT_0016a086" (identifier "puVar1") (= "=") (pointer_expression "&DAT_0016a086" (& "&") (identifier "DAT_0016a086"))) (; ";")) (labeled_statement "LAB_00128dd7:\n  printf("%sINVAL",puVar1);" (statement_identifier "LAB_00128dd7") (: ":") (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") (; ";")) (} "}")))

void function_1(type_1 var_1)

{
  type_2 *puVar1;
  
  if (var_1 == L'\0') {
    var_2(0x30,stdout);
    return;
  }
  if ((var_1 & 1U) == 0) {
    if ((var_1 & 2U) != 0) {
      puVar1 = &DAT_00169c35;
LAB_00128d83:
      var_3("%sUFLO",puVar1);
      goto joined_r0x00128e8a;
    }
    if ((var_1 & 4U) != 0) {
      puVar1 = &DAT_00169c35;
      goto LAB_00128da0;
    }
    if ((var_1 & 8U) == 0) {
      if ((var_1 & 0x10U) == 0) {
        return;
      }
      puVar1 = &DAT_00169c35;
      goto LAB_00128dd7;
    }
    puVar1 = &DAT_00169c35;
LAB_00128dbd:
    var_3("%sDIV0",puVar1);
  }
  else {
    var_4(&DAT_0016a088,1,4,stdout);
    if ((var_1 & 2U) != 0) {
      puVar1 = &DAT_0016a086;
      goto LAB_00128d83;
    }
joined_r0x00128e8a:
    if ((var_1 & 4U) != 0) {
      puVar1 = &DAT_0016a086;
LAB_00128da0:
      var_3("%sOFLO",puVar1);
    }
    if ((var_1 & 8U) != 0) {
      puVar1 = &DAT_0016a086;
      goto LAB_00128dbd;
    }
  }
  if ((var_1 & 0x10U) == 0) {
    return;
  }
  puVar1 = &DAT_0016a086;
LAB_00128dd7:
  var_3("%sINVAL",puVar1);
  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))) (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) (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) (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))))

void MASKED(uint param_1)

{
  undefined1 *puVar1;
  
  if (param_1 == 0) {
    fputc(0x30,stdout);
    return;
  }
  if ((param_1 & 1) == 0) {
    if ((param_1 & 2) != 0) {
      puVar1 = &DAT_00169c35;
LAB_00128d83:
      printf("%sUFLO",puVar1);
      goto joined_r0x00128e8a;
    }
    if ((param_1 & 4) != 0) {
      puVar1 = &DAT_00169c35;
      goto LAB_00128da0;
    }
    if ((param_1 & 8) == 0) {
      if ((param_1 & 0x10) == 0) {
        return;
      }
      puVar1 = &DAT_00169c35;
      goto LAB_00128dd7;
    }
    puVar1 = &DAT_00169c35;
LAB_00128dbd:
    printf("%sDIV0",puVar1);
  }
  else {
    fwrite(&DAT_0016a088,1,4,stdout);
    if ((param_1 & 2) != 0) {
      puVar1 = &DAT_0016a086;
      goto LAB_00128d83;
    }
joined_r0x00128e8a:
    if ((param_1 & 4) != 0) {
      puVar1 = &DAT_0016a086;
LAB_00128da0:
      printf("%sOFLO",puVar1);
    }
    if ((param_1 & 8) != 0) {
      puVar1 = &DAT_0016a086;
      goto LAB_00128dbd;
    }
  }
  if ((param_1 & 0x10) == 0) {
    return;
  }
  puVar1 = &DAT_0016a086;
LAB_00128dd7:
  printf("%sINVAL",puVar1);
  return;
}

