
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention -- yet parameter storage is locked */

void at_exit(void)

{
  uint uVar1;
  
  if ((attrmode & 8U) == 0) {
    uVar1 = attrmode & 4;
  }
  else {
    tputs(sc_s_out,1,PTR_putchr_00042ff8);
    uVar1 = attrmode & 4;
  }
  if (uVar1 != 0) {
    tputs(sc_bl_out,1,PTR_putchr_00042ff8);
  }
  if ((attrmode & 2U) != 0) {
    tputs(sc_b_out,1,PTR_putchr_00042ff8);
  }
  if ((attrmode & 1U) == 0) {
    attrmode = 0;
    return;
  }
  tputs(sc_u_out,1,PTR_putchr_00042ff8);
  attrmode = 0;
  return;
}



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

void FUN_00014e90(void)

{
  uint uVar1;
  
  if ((DAT_000450cc & 8) == 0) {
    uVar1 = DAT_000450cc & 4;
  }
  else {
    tputs(DAT_00045104,1,PTR_FUN_00042ff8);
    uVar1 = DAT_000450cc & 4;
  }
  if (uVar1 != 0) {
    tputs(DAT_000450ec,1,PTR_FUN_00042ff8);
  }
  if ((DAT_000450cc & 2) != 0) {
    tputs(DAT_000450f4,1,PTR_FUN_00042ff8);
  }
  if ((DAT_000450cc & 1) == 0) {
    DAT_000450cc = 0;
    return;
  }
  tputs(DAT_000450fc,1,PTR_FUN_00042ff8);
  DAT_000450cc = 0;
  return;
}


PUSH EBX
CALL 0x000129d0
ADD EBX,0x2dff6
SUB ESP,0x8
MOV EAX,dword ptr [EBX + 0x2240]
TEST AL,0x8
JNZ 0x00014ec8
TEST AL,0x4
JNZ 0x00014eeb
TEST AL,0x2
JNZ 0x00014f0e
TEST AL,0x1
JNZ 0x00014f31
MOV dword ptr [EBX + 0x2240],0x0
ADD ESP,0x8
POP EBX
RET
SUB ESP,0x4
PUSH dword ptr [EBX + 0x16c]
PUSH 0x1
PUSH dword ptr [EBX + 0x2278]
CALL 0x00012070
MOV EAX,dword ptr [EBX + 0x2240]
ADD ESP,0x10
TEST AL,0x4
JZ 0x00014ead
SUB ESP,0x4
PUSH dword ptr [EBX + 0x16c]
PUSH 0x1
PUSH dword ptr [EBX + 0x2260]
CALL 0x00012070
MOV EAX,dword ptr [EBX + 0x2240]
ADD ESP,0x10
TEST AL,0x2
JZ 0x00014eb1
SUB ESP,0x4
PUSH dword ptr [EBX + 0x16c]
PUSH 0x1
PUSH dword ptr [EBX + 0x2268]
CALL 0x00012070
MOV EAX,dword ptr [EBX + 0x2240]
ADD ESP,0x10
TEST AL,0x1
JZ 0x00014eb5
SUB ESP,0x4
PUSH dword ptr [EBX + 0x16c]
PUSH 0x1
PUSH dword ptr [EBX + 0x2270]
CALL 0x00012070
ADD ESP,0x10
MOV dword ptr [EBX + 0x2240],0x0
ADD ESP,0x8
POP EBX
RET
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid FUN_00014e90(void)\n\n{\n  uint uVar1;\n  \n  if ((DAT_000450cc & 8) == 0) {\n    uVar1 = DAT_000450cc & 4;\n  }\n  else {\n    tputs(DAT_00045104,1,PTR_FUN_00042ff8);\n    uVar1 = DAT_000450cc & 4;\n  }\n  if (uVar1 != 0) {\n    tputs(DAT_000450ec,1,PTR_FUN_00042ff8);\n  }\n  if ((DAT_000450cc & 2) != 0) {\n    tputs(DAT_000450f4,1,PTR_FUN_00042ff8);\n  }\n  if ((DAT_000450cc & 1) == 0) {\n    DAT_000450cc = 0;\n    return;\n  }\n  tputs(DAT_000450fc,1,PTR_FUN_00042ff8);\n  DAT_000450cc = 0;\n  return;\n}\n\n" comment (function_definition "void FUN_00014e90(void)\n\n{\n  uint uVar1;\n  \n  if ((DAT_000450cc & 8) == 0) {\n    uVar1 = DAT_000450cc & 4;\n  }\n  else {\n    tputs(DAT_00045104,1,PTR_FUN_00042ff8);\n    uVar1 = DAT_000450cc & 4;\n  }\n  if (uVar1 != 0) {\n    tputs(DAT_000450ec,1,PTR_FUN_00042ff8);\n  }\n  if ((DAT_000450cc & 2) != 0) {\n    tputs(DAT_000450f4,1,PTR_FUN_00042ff8);\n  }\n  if ((DAT_000450cc & 1) == 0) {\n    DAT_000450cc = 0;\n    return;\n  }\n  tputs(DAT_000450fc,1,PTR_FUN_00042ff8);\n  DAT_000450cc = 0;\n  return;\n}" primitive_type (function_declarator "FUN_00014e90(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  uint uVar1;\n  \n  if ((DAT_000450cc & 8) == 0) {\n    uVar1 = DAT_000450cc & 4;\n  }\n  else {\n    tputs(DAT_00045104,1,PTR_FUN_00042ff8);\n    uVar1 = DAT_000450cc & 4;\n  }\n  if (uVar1 != 0) {\n    tputs(DAT_000450ec,1,PTR_FUN_00042ff8);\n  }\n  if ((DAT_000450cc & 2) != 0) {\n    tputs(DAT_000450f4,1,PTR_FUN_00042ff8);\n  }\n  if ((DAT_000450cc & 1) == 0) {\n    DAT_000450cc = 0;\n    return;\n  }\n  tputs(DAT_000450fc,1,PTR_FUN_00042ff8);\n  DAT_000450cc = 0;\n  return;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (if_statement "if ((DAT_000450cc & 8) == 0) {\n    uVar1 = DAT_000450cc & 4;\n  }\n  else {\n    tputs(DAT_00045104,1,PTR_FUN_00042ff8);\n    uVar1 = DAT_000450cc & 4;\n  }" if (parenthesized_expression "((DAT_000450cc & 8) == 0)" ( (binary_expression "(DAT_000450cc & 8) == 0" (parenthesized_expression "(DAT_000450cc & 8)" ( (binary_expression "DAT_000450cc & 8" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    uVar1 = DAT_000450cc & 4;\n  }" { (expression_statement "uVar1 = DAT_000450cc & 4;" (assignment_expression "uVar1 = DAT_000450cc & 4" identifier = (binary_expression "DAT_000450cc & 4" identifier & number_literal)) ;) }) (else_clause "else {\n    tputs(DAT_00045104,1,PTR_FUN_00042ff8);\n    uVar1 = DAT_000450cc & 4;\n  }" else (compound_statement "{\n    tputs(DAT_00045104,1,PTR_FUN_00042ff8);\n    uVar1 = DAT_000450cc & 4;\n  }" { (expression_statement "tputs(DAT_00045104,1,PTR_FUN_00042ff8);" (call_expression "tputs(DAT_00045104,1,PTR_FUN_00042ff8)" identifier (argument_list "(DAT_00045104,1,PTR_FUN_00042ff8)" ( identifier , number_literal , identifier ))) ;) (expression_statement "uVar1 = DAT_000450cc & 4;" (assignment_expression "uVar1 = DAT_000450cc & 4" identifier = (binary_expression "DAT_000450cc & 4" identifier & number_literal)) ;) }))) (if_statement "if (uVar1 != 0) {\n    tputs(DAT_000450ec,1,PTR_FUN_00042ff8);\n  }" if (parenthesized_expression "(uVar1 != 0)" ( (binary_expression "uVar1 != 0" identifier != number_literal) )) (compound_statement "{\n    tputs(DAT_000450ec,1,PTR_FUN_00042ff8);\n  }" { (expression_statement "tputs(DAT_000450ec,1,PTR_FUN_00042ff8);" (call_expression "tputs(DAT_000450ec,1,PTR_FUN_00042ff8)" identifier (argument_list "(DAT_000450ec,1,PTR_FUN_00042ff8)" ( identifier , number_literal , identifier ))) ;) })) (if_statement "if ((DAT_000450cc & 2) != 0) {\n    tputs(DAT_000450f4,1,PTR_FUN_00042ff8);\n  }" if (parenthesized_expression "((DAT_000450cc & 2) != 0)" ( (binary_expression "(DAT_000450cc & 2) != 0" (parenthesized_expression "(DAT_000450cc & 2)" ( (binary_expression "DAT_000450cc & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    tputs(DAT_000450f4,1,PTR_FUN_00042ff8);\n  }" { (expression_statement "tputs(DAT_000450f4,1,PTR_FUN_00042ff8);" (call_expression "tputs(DAT_000450f4,1,PTR_FUN_00042ff8)" identifier (argument_list "(DAT_000450f4,1,PTR_FUN_00042ff8)" ( identifier , number_literal , identifier ))) ;) })) (if_statement "if ((DAT_000450cc & 1) == 0) {\n    DAT_000450cc = 0;\n    return;\n  }" if (parenthesized_expression "((DAT_000450cc & 1) == 0)" ( (binary_expression "(DAT_000450cc & 1) == 0" (parenthesized_expression "(DAT_000450cc & 1)" ( (binary_expression "DAT_000450cc & 1" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    DAT_000450cc = 0;\n    return;\n  }" { (expression_statement "DAT_000450cc = 0;" (assignment_expression "DAT_000450cc = 0" identifier = number_literal) ;) (return_statement "return;" return ;) })) (expression_statement "tputs(DAT_000450fc,1,PTR_FUN_00042ff8);" (call_expression "tputs(DAT_000450fc,1,PTR_FUN_00042ff8)" identifier (argument_list "(DAT_000450fc,1,PTR_FUN_00042ff8)" ( identifier , number_literal , identifier ))) ;) (expression_statement "DAT_000450cc = 0;" (assignment_expression "DAT_000450cc = 0" identifier = number_literal) ;) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention -- yet parameter storage is locked */\n\nvoid at_exit(void)\n\n{\n  uint uVar1;\n  \n  if ((attrmode & 8U) == 0) {\n    uVar1 = attrmode & 4;\n  }\n  else {\n    tputs(sc_s_out,1,PTR_putchr_00042ff8);\n    uVar1 = attrmode & 4;\n  }\n  if (uVar1 != 0) {\n    tputs(sc_bl_out,1,PTR_putchr_00042ff8);\n  }\n  if ((attrmode & 2U) != 0) {\n    tputs(sc_b_out,1,PTR_putchr_00042ff8);\n  }\n  if ((attrmode & 1U) == 0) {\n    attrmode = 0;\n    return;\n  }\n  tputs(sc_u_out,1,PTR_putchr_00042ff8);\n  attrmode = 0;\n  return;\n}\n\n" comment comment (function_definition "void at_exit(void)\n\n{\n  uint uVar1;\n  \n  if ((attrmode & 8U) == 0) {\n    uVar1 = attrmode & 4;\n  }\n  else {\n    tputs(sc_s_out,1,PTR_putchr_00042ff8);\n    uVar1 = attrmode & 4;\n  }\n  if (uVar1 != 0) {\n    tputs(sc_bl_out,1,PTR_putchr_00042ff8);\n  }\n  if ((attrmode & 2U) != 0) {\n    tputs(sc_b_out,1,PTR_putchr_00042ff8);\n  }\n  if ((attrmode & 1U) == 0) {\n    attrmode = 0;\n    return;\n  }\n  tputs(sc_u_out,1,PTR_putchr_00042ff8);\n  attrmode = 0;\n  return;\n}" primitive_type (function_declarator "at_exit(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  uint uVar1;\n  \n  if ((attrmode & 8U) == 0) {\n    uVar1 = attrmode & 4;\n  }\n  else {\n    tputs(sc_s_out,1,PTR_putchr_00042ff8);\n    uVar1 = attrmode & 4;\n  }\n  if (uVar1 != 0) {\n    tputs(sc_bl_out,1,PTR_putchr_00042ff8);\n  }\n  if ((attrmode & 2U) != 0) {\n    tputs(sc_b_out,1,PTR_putchr_00042ff8);\n  }\n  if ((attrmode & 1U) == 0) {\n    attrmode = 0;\n    return;\n  }\n  tputs(sc_u_out,1,PTR_putchr_00042ff8);\n  attrmode = 0;\n  return;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (if_statement "if ((attrmode & 8U) == 0) {\n    uVar1 = attrmode & 4;\n  }\n  else {\n    tputs(sc_s_out,1,PTR_putchr_00042ff8);\n    uVar1 = attrmode & 4;\n  }" if (parenthesized_expression "((attrmode & 8U) == 0)" ( (binary_expression "(attrmode & 8U) == 0" (parenthesized_expression "(attrmode & 8U)" ( (binary_expression "attrmode & 8U" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    uVar1 = attrmode & 4;\n  }" { (expression_statement "uVar1 = attrmode & 4;" (assignment_expression "uVar1 = attrmode & 4" identifier = (binary_expression "attrmode & 4" identifier & number_literal)) ;) }) (else_clause "else {\n    tputs(sc_s_out,1,PTR_putchr_00042ff8);\n    uVar1 = attrmode & 4;\n  }" else (compound_statement "{\n    tputs(sc_s_out,1,PTR_putchr_00042ff8);\n    uVar1 = attrmode & 4;\n  }" { (expression_statement "tputs(sc_s_out,1,PTR_putchr_00042ff8);" (call_expression "tputs(sc_s_out,1,PTR_putchr_00042ff8)" identifier (argument_list "(sc_s_out,1,PTR_putchr_00042ff8)" ( identifier , number_literal , identifier ))) ;) (expression_statement "uVar1 = attrmode & 4;" (assignment_expression "uVar1 = attrmode & 4" identifier = (binary_expression "attrmode & 4" identifier & number_literal)) ;) }))) (if_statement "if (uVar1 != 0) {\n    tputs(sc_bl_out,1,PTR_putchr_00042ff8);\n  }" if (parenthesized_expression "(uVar1 != 0)" ( (binary_expression "uVar1 != 0" identifier != number_literal) )) (compound_statement "{\n    tputs(sc_bl_out,1,PTR_putchr_00042ff8);\n  }" { (expression_statement "tputs(sc_bl_out,1,PTR_putchr_00042ff8);" (call_expression "tputs(sc_bl_out,1,PTR_putchr_00042ff8)" identifier (argument_list "(sc_bl_out,1,PTR_putchr_00042ff8)" ( identifier , number_literal , identifier ))) ;) })) (if_statement "if ((attrmode & 2U) != 0) {\n    tputs(sc_b_out,1,PTR_putchr_00042ff8);\n  }" if (parenthesized_expression "((attrmode & 2U) != 0)" ( (binary_expression "(attrmode & 2U) != 0" (parenthesized_expression "(attrmode & 2U)" ( (binary_expression "attrmode & 2U" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    tputs(sc_b_out,1,PTR_putchr_00042ff8);\n  }" { (expression_statement "tputs(sc_b_out,1,PTR_putchr_00042ff8);" (call_expression "tputs(sc_b_out,1,PTR_putchr_00042ff8)" identifier (argument_list "(sc_b_out,1,PTR_putchr_00042ff8)" ( identifier , number_literal , identifier ))) ;) })) (if_statement "if ((attrmode & 1U) == 0) {\n    attrmode = 0;\n    return;\n  }" if (parenthesized_expression "((attrmode & 1U) == 0)" ( (binary_expression "(attrmode & 1U) == 0" (parenthesized_expression "(attrmode & 1U)" ( (binary_expression "attrmode & 1U" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    attrmode = 0;\n    return;\n  }" { (expression_statement "attrmode = 0;" (assignment_expression "attrmode = 0" identifier = number_literal) ;) (return_statement "return;" return ;) })) (expression_statement "tputs(sc_u_out,1,PTR_putchr_00042ff8);" (call_expression "tputs(sc_u_out,1,PTR_putchr_00042ff8)" identifier (argument_list "(sc_u_out,1,PTR_putchr_00042ff8)" ( identifier , number_literal , identifier ))) ;) (expression_statement "attrmode = 0;" (assignment_expression "attrmode = 0" identifier = number_literal) ;) (return_statement "return;" return ;) })))
(translation_unit "void FUN_00014e90(void)\n\n{\n  uint uVar1;\n  \n  if ((DAT_000450cc & 8) == 0) {\n    uVar1 = DAT_000450cc & 4;\n  }\n  else {\n    tputs(DAT_00045104,1,PTR_FUN_00042ff8);\n    uVar1 = DAT_000450cc & 4;\n  }\n  if (uVar1 != 0) {\n    tputs(DAT_000450ec,1,PTR_FUN_00042ff8);\n  }\n  if ((DAT_000450cc & 2) != 0) {\n    tputs(DAT_000450f4,1,PTR_FUN_00042ff8);\n  }\n  if ((DAT_000450cc & 1) == 0) {\n    DAT_000450cc = 0;\n    return;\n  }\n  tputs(DAT_000450fc,1,PTR_FUN_00042ff8);\n  DAT_000450cc = 0;\n  return;\n}\n\n" (function_definition "void FUN_00014e90(void)\n\n{\n  uint uVar1;\n  \n  if ((DAT_000450cc & 8) == 0) {\n    uVar1 = DAT_000450cc & 4;\n  }\n  else {\n    tputs(DAT_00045104,1,PTR_FUN_00042ff8);\n    uVar1 = DAT_000450cc & 4;\n  }\n  if (uVar1 != 0) {\n    tputs(DAT_000450ec,1,PTR_FUN_00042ff8);\n  }\n  if ((DAT_000450cc & 2) != 0) {\n    tputs(DAT_000450f4,1,PTR_FUN_00042ff8);\n  }\n  if ((DAT_000450cc & 1) == 0) {\n    DAT_000450cc = 0;\n    return;\n  }\n  tputs(DAT_000450fc,1,PTR_FUN_00042ff8);\n  DAT_000450cc = 0;\n  return;\n}" primitive_type (function_declarator "FUN_00014e90(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  uint uVar1;\n  \n  if ((DAT_000450cc & 8) == 0) {\n    uVar1 = DAT_000450cc & 4;\n  }\n  else {\n    tputs(DAT_00045104,1,PTR_FUN_00042ff8);\n    uVar1 = DAT_000450cc & 4;\n  }\n  if (uVar1 != 0) {\n    tputs(DAT_000450ec,1,PTR_FUN_00042ff8);\n  }\n  if ((DAT_000450cc & 2) != 0) {\n    tputs(DAT_000450f4,1,PTR_FUN_00042ff8);\n  }\n  if ((DAT_000450cc & 1) == 0) {\n    DAT_000450cc = 0;\n    return;\n  }\n  tputs(DAT_000450fc,1,PTR_FUN_00042ff8);\n  DAT_000450cc = 0;\n  return;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (if_statement "if ((DAT_000450cc & 8) == 0) {\n    uVar1 = DAT_000450cc & 4;\n  }\n  else {\n    tputs(DAT_00045104,1,PTR_FUN_00042ff8);\n    uVar1 = DAT_000450cc & 4;\n  }" if (parenthesized_expression "((DAT_000450cc & 8) == 0)" ( (binary_expression "(DAT_000450cc & 8) == 0" (parenthesized_expression "(DAT_000450cc & 8)" ( (binary_expression "DAT_000450cc & 8" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    uVar1 = DAT_000450cc & 4;\n  }" { (expression_statement "uVar1 = DAT_000450cc & 4;" (assignment_expression "uVar1 = DAT_000450cc & 4" identifier = (binary_expression "DAT_000450cc & 4" identifier & number_literal)) ;) }) (else_clause "else {\n    tputs(DAT_00045104,1,PTR_FUN_00042ff8);\n    uVar1 = DAT_000450cc & 4;\n  }" else (compound_statement "{\n    tputs(DAT_00045104,1,PTR_FUN_00042ff8);\n    uVar1 = DAT_000450cc & 4;\n  }" { (expression_statement "tputs(DAT_00045104,1,PTR_FUN_00042ff8);" (call_expression "tputs(DAT_00045104,1,PTR_FUN_00042ff8)" identifier (argument_list "(DAT_00045104,1,PTR_FUN_00042ff8)" ( identifier , number_literal , identifier ))) ;) (expression_statement "uVar1 = DAT_000450cc & 4;" (assignment_expression "uVar1 = DAT_000450cc & 4" identifier = (binary_expression "DAT_000450cc & 4" identifier & number_literal)) ;) }))) (if_statement "if (uVar1 != 0) {\n    tputs(DAT_000450ec,1,PTR_FUN_00042ff8);\n  }" if (parenthesized_expression "(uVar1 != 0)" ( (binary_expression "uVar1 != 0" identifier != number_literal) )) (compound_statement "{\n    tputs(DAT_000450ec,1,PTR_FUN_00042ff8);\n  }" { (expression_statement "tputs(DAT_000450ec,1,PTR_FUN_00042ff8);" (call_expression "tputs(DAT_000450ec,1,PTR_FUN_00042ff8)" identifier (argument_list "(DAT_000450ec,1,PTR_FUN_00042ff8)" ( identifier , number_literal , identifier ))) ;) })) (if_statement "if ((DAT_000450cc & 2) != 0) {\n    tputs(DAT_000450f4,1,PTR_FUN_00042ff8);\n  }" if (parenthesized_expression "((DAT_000450cc & 2) != 0)" ( (binary_expression "(DAT_000450cc & 2) != 0" (parenthesized_expression "(DAT_000450cc & 2)" ( (binary_expression "DAT_000450cc & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    tputs(DAT_000450f4,1,PTR_FUN_00042ff8);\n  }" { (expression_statement "tputs(DAT_000450f4,1,PTR_FUN_00042ff8);" (call_expression "tputs(DAT_000450f4,1,PTR_FUN_00042ff8)" identifier (argument_list "(DAT_000450f4,1,PTR_FUN_00042ff8)" ( identifier , number_literal , identifier ))) ;) })) (if_statement "if ((DAT_000450cc & 1) == 0) {\n    DAT_000450cc = 0;\n    return;\n  }" if (parenthesized_expression "((DAT_000450cc & 1) == 0)" ( (binary_expression "(DAT_000450cc & 1) == 0" (parenthesized_expression "(DAT_000450cc & 1)" ( (binary_expression "DAT_000450cc & 1" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    DAT_000450cc = 0;\n    return;\n  }" { (expression_statement "DAT_000450cc = 0;" (assignment_expression "DAT_000450cc = 0" identifier = number_literal) ;) (return_statement "return;" return ;) })) (expression_statement "tputs(DAT_000450fc,1,PTR_FUN_00042ff8);" (call_expression "tputs(DAT_000450fc,1,PTR_FUN_00042ff8)" identifier (argument_list "(DAT_000450fc,1,PTR_FUN_00042ff8)" ( identifier , number_literal , identifier ))) ;) (expression_statement "DAT_000450cc = 0;" (assignment_expression "DAT_000450cc = 0" identifier = number_literal) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (declaration TYPE IDENT ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (return_statement return ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (return_statement return ;) })))
(function_definition "void FUN_00014e90(void)\n\n{\n  uint uVar1;\n  \n  if ((DAT_000450cc & 8) == 0) {\n    uVar1 = DAT_000450cc & 4;\n  }\n  else {\n    tputs(DAT_00045104,1,PTR_FUN_00042ff8);\n    uVar1 = DAT_000450cc & 4;\n  }\n  if (uVar1 != 0) {\n    tputs(DAT_000450ec,1,PTR_FUN_00042ff8);\n  }\n  if ((DAT_000450cc & 2) != 0) {\n    tputs(DAT_000450f4,1,PTR_FUN_00042ff8);\n  }\n  if ((DAT_000450cc & 1) == 0) {\n    DAT_000450cc = 0;\n    return;\n  }\n  tputs(DAT_000450fc,1,PTR_FUN_00042ff8);\n  DAT_000450cc = 0;\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00014e90(void)" (identifier "FUN_00014e90") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  uint uVar1;\n  \n  if ((DAT_000450cc & 8) == 0) {\n    uVar1 = DAT_000450cc & 4;\n  }\n  else {\n    tputs(DAT_00045104,1,PTR_FUN_00042ff8);\n    uVar1 = DAT_000450cc & 4;\n  }\n  if (uVar1 != 0) {\n    tputs(DAT_000450ec,1,PTR_FUN_00042ff8);\n  }\n  if ((DAT_000450cc & 2) != 0) {\n    tputs(DAT_000450f4,1,PTR_FUN_00042ff8);\n  }\n  if ((DAT_000450cc & 1) == 0) {\n    DAT_000450cc = 0;\n    return;\n  }\n  tputs(DAT_000450fc,1,PTR_FUN_00042ff8);\n  DAT_000450cc = 0;\n  return;\n}" ({ "{") (declaration "uint uVar1;" (type_identifier "uint") (identifier "uVar1") (; ";")) (if_statement "if ((DAT_000450cc & 8) == 0) {\n    uVar1 = DAT_000450cc & 4;\n  }\n  else {\n    tputs(DAT_00045104,1,PTR_FUN_00042ff8);\n    uVar1 = DAT_000450cc & 4;\n  }" (if "if") (parenthesized_expression "((DAT_000450cc & 8) == 0)" (( "(") (binary_expression "(DAT_000450cc & 8) == 0" (parenthesized_expression "(DAT_000450cc & 8)" (( "(") (binary_expression "DAT_000450cc & 8" (identifier "DAT_000450cc") (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    uVar1 = DAT_000450cc & 4;\n  }" ({ "{") (expression_statement "uVar1 = DAT_000450cc & 4;" (assignment_expression "uVar1 = DAT_000450cc & 4" (identifier "uVar1") (= "=") (binary_expression "DAT_000450cc & 4" (identifier "DAT_000450cc") (& "&") (number_literal "4"))) (; ";")) (} "}")) (else_clause "else {\n    tputs(DAT_00045104,1,PTR_FUN_00042ff8);\n    uVar1 = DAT_000450cc & 4;\n  }" (else "else") (compound_statement "{\n    tputs(DAT_00045104,1,PTR_FUN_00042ff8);\n    uVar1 = DAT_000450cc & 4;\n  }" ({ "{") (expression_statement "tputs(DAT_00045104,1,PTR_FUN_00042ff8);" (call_expression "tputs(DAT_00045104,1,PTR_FUN_00042ff8)" (identifier "tputs") (argument_list "(DAT_00045104,1,PTR_FUN_00042ff8)" (( "(") (identifier "DAT_00045104") (, ",") (number_literal "1") (, ",") (identifier "PTR_FUN_00042ff8") () ")"))) (; ";")) (expression_statement "uVar1 = DAT_000450cc & 4;" (assignment_expression "uVar1 = DAT_000450cc & 4" (identifier "uVar1") (= "=") (binary_expression "DAT_000450cc & 4" (identifier "DAT_000450cc") (& "&") (number_literal "4"))) (; ";")) (} "}")))) (if_statement "if (uVar1 != 0) {\n    tputs(DAT_000450ec,1,PTR_FUN_00042ff8);\n  }" (if "if") (parenthesized_expression "(uVar1 != 0)" (( "(") (binary_expression "uVar1 != 0" (identifier "uVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    tputs(DAT_000450ec,1,PTR_FUN_00042ff8);\n  }" ({ "{") (expression_statement "tputs(DAT_000450ec,1,PTR_FUN_00042ff8);" (call_expression "tputs(DAT_000450ec,1,PTR_FUN_00042ff8)" (identifier "tputs") (argument_list "(DAT_000450ec,1,PTR_FUN_00042ff8)" (( "(") (identifier "DAT_000450ec") (, ",") (number_literal "1") (, ",") (identifier "PTR_FUN_00042ff8") () ")"))) (; ";")) (} "}"))) (if_statement "if ((DAT_000450cc & 2) != 0) {\n    tputs(DAT_000450f4,1,PTR_FUN_00042ff8);\n  }" (if "if") (parenthesized_expression "((DAT_000450cc & 2) != 0)" (( "(") (binary_expression "(DAT_000450cc & 2) != 0" (parenthesized_expression "(DAT_000450cc & 2)" (( "(") (binary_expression "DAT_000450cc & 2" (identifier "DAT_000450cc") (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    tputs(DAT_000450f4,1,PTR_FUN_00042ff8);\n  }" ({ "{") (expression_statement "tputs(DAT_000450f4,1,PTR_FUN_00042ff8);" (call_expression "tputs(DAT_000450f4,1,PTR_FUN_00042ff8)" (identifier "tputs") (argument_list "(DAT_000450f4,1,PTR_FUN_00042ff8)" (( "(") (identifier "DAT_000450f4") (, ",") (number_literal "1") (, ",") (identifier "PTR_FUN_00042ff8") () ")"))) (; ";")) (} "}"))) (if_statement "if ((DAT_000450cc & 1) == 0) {\n    DAT_000450cc = 0;\n    return;\n  }" (if "if") (parenthesized_expression "((DAT_000450cc & 1) == 0)" (( "(") (binary_expression "(DAT_000450cc & 1) == 0" (parenthesized_expression "(DAT_000450cc & 1)" (( "(") (binary_expression "DAT_000450cc & 1" (identifier "DAT_000450cc") (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    DAT_000450cc = 0;\n    return;\n  }" ({ "{") (expression_statement "DAT_000450cc = 0;" (assignment_expression "DAT_000450cc = 0" (identifier "DAT_000450cc") (= "=") (number_literal "0")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "tputs(DAT_000450fc,1,PTR_FUN_00042ff8);" (call_expression "tputs(DAT_000450fc,1,PTR_FUN_00042ff8)" (identifier "tputs") (argument_list "(DAT_000450fc,1,PTR_FUN_00042ff8)" (( "(") (identifier "DAT_000450fc") (, ",") (number_literal "1") (, ",") (identifier "PTR_FUN_00042ff8") () ")"))) (; ";")) (expression_statement "DAT_000450cc = 0;" (assignment_expression "DAT_000450cc = 0" (identifier "DAT_000450cc") (= "=") (number_literal "0")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention -- yet parameter storage is locked */

void function_1(void)

{
  type_1 var_3;
  
  if ((var_1 & 8U) == 0) {
    var_3 = var_1 & 4;
  }
  else {
    var_2(sc_s_out,1,PTR_putchr_00042ff8);
    var_3 = var_1 & 4;
  }
  if (var_3 != 0) {
    var_2(sc_bl_out,1,PTR_putchr_00042ff8);
  }
  if ((var_1 & 2U) != 0) {
    var_2(sc_b_out,1,PTR_putchr_00042ff8);
  }
  if ((var_1 & 1U) == 0) {
    var_1 = 0;
    return;
  }
  var_2(sc_u_out,1,PTR_putchr_00042ff8);
  var_1 = 0;
  return;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type)))) body: (compound_statement (declaration type: (type_identifier) declarator: (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: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (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 (call_expression function: (identifier) arguments: (argument_list (identifier) (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: (number_literal))) (return_statement))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (return_statement))))

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

void MASKED(void)

{
  uint uVar1;
  
  if ((DAT_000450cc & 8) == 0) {
    uVar1 = DAT_000450cc & 4;
  }
  else {
    tputs(DAT_00045104,1,PTR_FUN_00042ff8);
    uVar1 = DAT_000450cc & 4;
  }
  if (uVar1 != 0) {
    tputs(DAT_000450ec,1,PTR_FUN_00042ff8);
  }
  if ((DAT_000450cc & 2) != 0) {
    tputs(DAT_000450f4,1,PTR_FUN_00042ff8);
  }
  if ((DAT_000450cc & 1) == 0) {
    DAT_000450cc = 0;
    return;
  }
  tputs(DAT_000450fc,1,PTR_FUN_00042ff8);
  DAT_000450cc = 0;
  return;
}

