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

void s_mri(int ignore)

{
  offsetT oVar1;
  expressionS exp;
  
  oVar1 = get_absolute_expr(&exp);
  if ((int)oVar1 != 0) {
    flag_mri = 1;
    macro_mri_mode(1);
    expr_set_precedence();
    demand_empty_rest_of_line();
    return;
  }
  flag_mri = 0;
  macro_mri_mode(0);
  expr_set_precedence();
  demand_empty_rest_of_line();
  return;
}



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

void FUN_0002c830(void)

{
  int iVar1;
  
  iVar1 = FUN_00029c80();
  if (iVar1 != 0) {
    DAT_0008804c = 1;
    FUN_00027bb0(1);
    thunk_FUN_0001edf0();
    FUN_0002baa0();
    return;
  }
  DAT_0008804c = 0;
  FUN_00027bb0(0);
  thunk_FUN_0001edf0();
  FUN_0002baa0();
  return;
}


PUSH EBX
CALL 0x00016030
ADD EBX,0x517ca
SUB ESP,0x28
LEA EAX,[ESP + 0xc]
CALL 0x00029c80
TEST EAX,EAX
LEA EAX,[EBX + 0xa04c]
JZ 0x0002c878
SUB ESP,0xc
MOV dword ptr [EAX],0x1
PUSH 0x1
CALL 0x00027bb0
ADD ESP,0x10
CALL 0x0001ee10
CALL 0x0002baa0
ADD ESP,0x28
POP EBX
RET
SUB ESP,0xc
MOV dword ptr [EAX],0x0
PUSH 0x0
CALL 0x00027bb0
ADD ESP,0x10
CALL 0x0001ee10
CALL 0x0002baa0
ADD ESP,0x28
POP EBX
RET
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid FUN_0002c830(void)\n\n{\n  int iVar1;\n  \n  iVar1 = FUN_00029c80();\n  if (iVar1 != 0) {\n    DAT_0008804c = 1;\n    FUN_00027bb0(1);\n    thunk_FUN_0001edf0();\n    FUN_0002baa0();\n    return;\n  }\n  DAT_0008804c = 0;\n  FUN_00027bb0(0);\n  thunk_FUN_0001edf0();\n  FUN_0002baa0();\n  return;\n}\n\n" comment (function_definition "void FUN_0002c830(void)\n\n{\n  int iVar1;\n  \n  iVar1 = FUN_00029c80();\n  if (iVar1 != 0) {\n    DAT_0008804c = 1;\n    FUN_00027bb0(1);\n    thunk_FUN_0001edf0();\n    FUN_0002baa0();\n    return;\n  }\n  DAT_0008804c = 0;\n  FUN_00027bb0(0);\n  thunk_FUN_0001edf0();\n  FUN_0002baa0();\n  return;\n}" primitive_type (function_declarator "FUN_0002c830(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int iVar1;\n  \n  iVar1 = FUN_00029c80();\n  if (iVar1 != 0) {\n    DAT_0008804c = 1;\n    FUN_00027bb0(1);\n    thunk_FUN_0001edf0();\n    FUN_0002baa0();\n    return;\n  }\n  DAT_0008804c = 0;\n  FUN_00027bb0(0);\n  thunk_FUN_0001edf0();\n  FUN_0002baa0();\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (expression_statement "iVar1 = FUN_00029c80();" (assignment_expression "iVar1 = FUN_00029c80()" identifier = (call_expression "FUN_00029c80()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar1 != 0) {\n    DAT_0008804c = 1;\n    FUN_00027bb0(1);\n    thunk_FUN_0001edf0();\n    FUN_0002baa0();\n    return;\n  }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n    DAT_0008804c = 1;\n    FUN_00027bb0(1);\n    thunk_FUN_0001edf0();\n    FUN_0002baa0();\n    return;\n  }" { (expression_statement "DAT_0008804c = 1;" (assignment_expression "DAT_0008804c = 1" identifier = number_literal) ;) (expression_statement "FUN_00027bb0(1);" (call_expression "FUN_00027bb0(1)" identifier (argument_list "(1)" ( number_literal ))) ;) (expression_statement "thunk_FUN_0001edf0();" (call_expression "thunk_FUN_0001edf0()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0002baa0();" (call_expression "FUN_0002baa0()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "DAT_0008804c = 0;" (assignment_expression "DAT_0008804c = 0" identifier = number_literal) ;) (expression_statement "FUN_00027bb0(0);" (call_expression "FUN_00027bb0(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "thunk_FUN_0001edf0();" (call_expression "thunk_FUN_0001edf0()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0002baa0();" (call_expression "FUN_0002baa0()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention */\n\nvoid s_mri(int ignore)\n\n{\n  offsetT oVar1;\n  expressionS exp;\n  \n  oVar1 = get_absolute_expr(&exp);\n  if ((int)oVar1 != 0) {\n    flag_mri = 1;\n    macro_mri_mode(1);\n    expr_set_precedence();\n    demand_empty_rest_of_line();\n    return;\n  }\n  flag_mri = 0;\n  macro_mri_mode(0);\n  expr_set_precedence();\n  demand_empty_rest_of_line();\n  return;\n}\n\n" comment comment (function_definition "void s_mri(int ignore)\n\n{\n  offsetT oVar1;\n  expressionS exp;\n  \n  oVar1 = get_absolute_expr(&exp);\n  if ((int)oVar1 != 0) {\n    flag_mri = 1;\n    macro_mri_mode(1);\n    expr_set_precedence();\n    demand_empty_rest_of_line();\n    return;\n  }\n  flag_mri = 0;\n  macro_mri_mode(0);\n  expr_set_precedence();\n  demand_empty_rest_of_line();\n  return;\n}" primitive_type (function_declarator "s_mri(int ignore)" identifier (parameter_list "(int ignore)" ( (parameter_declaration "int ignore" primitive_type identifier) ))) (compound_statement "{\n  offsetT oVar1;\n  expressionS exp;\n  \n  oVar1 = get_absolute_expr(&exp);\n  if ((int)oVar1 != 0) {\n    flag_mri = 1;\n    macro_mri_mode(1);\n    expr_set_precedence();\n    demand_empty_rest_of_line();\n    return;\n  }\n  flag_mri = 0;\n  macro_mri_mode(0);\n  expr_set_precedence();\n  demand_empty_rest_of_line();\n  return;\n}" { (declaration "offsetT oVar1;" type_identifier identifier ;) (declaration "expressionS exp;" type_identifier identifier ;) (expression_statement "oVar1 = get_absolute_expr(&exp);" (assignment_expression "oVar1 = get_absolute_expr(&exp)" identifier = (call_expression "get_absolute_expr(&exp)" identifier (argument_list "(&exp)" ( (pointer_expression "&exp" & identifier) )))) ;) (if_statement "if ((int)oVar1 != 0) {\n    flag_mri = 1;\n    macro_mri_mode(1);\n    expr_set_precedence();\n    demand_empty_rest_of_line();\n    return;\n  }" if (parenthesized_expression "((int)oVar1 != 0)" ( (binary_expression "(int)oVar1 != 0" (cast_expression "(int)oVar1" ( (type_descriptor "int" primitive_type) ) identifier) != number_literal) )) (compound_statement "{\n    flag_mri = 1;\n    macro_mri_mode(1);\n    expr_set_precedence();\n    demand_empty_rest_of_line();\n    return;\n  }" { (expression_statement "flag_mri = 1;" (assignment_expression "flag_mri = 1" identifier = number_literal) ;) (expression_statement "macro_mri_mode(1);" (call_expression "macro_mri_mode(1)" identifier (argument_list "(1)" ( number_literal ))) ;) (expression_statement "expr_set_precedence();" (call_expression "expr_set_precedence()" identifier (argument_list "()" ( ))) ;) (expression_statement "demand_empty_rest_of_line();" (call_expression "demand_empty_rest_of_line()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "flag_mri = 0;" (assignment_expression "flag_mri = 0" identifier = number_literal) ;) (expression_statement "macro_mri_mode(0);" (call_expression "macro_mri_mode(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "expr_set_precedence();" (call_expression "expr_set_precedence()" identifier (argument_list "()" ( ))) ;) (expression_statement "demand_empty_rest_of_line();" (call_expression "demand_empty_rest_of_line()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))
(translation_unit "void FUN_0002c830(void)\n\n{\n  int iVar1;\n  \n  iVar1 = FUN_00029c80();\n  if (iVar1 != 0) {\n    DAT_0008804c = 1;\n    FUN_00027bb0(1);\n    thunk_FUN_0001edf0();\n    FUN_0002baa0();\n    return;\n  }\n  DAT_0008804c = 0;\n  FUN_00027bb0(0);\n  thunk_FUN_0001edf0();\n  FUN_0002baa0();\n  return;\n}\n\n" (function_definition "void FUN_0002c830(void)\n\n{\n  int iVar1;\n  \n  iVar1 = FUN_00029c80();\n  if (iVar1 != 0) {\n    DAT_0008804c = 1;\n    FUN_00027bb0(1);\n    thunk_FUN_0001edf0();\n    FUN_0002baa0();\n    return;\n  }\n  DAT_0008804c = 0;\n  FUN_00027bb0(0);\n  thunk_FUN_0001edf0();\n  FUN_0002baa0();\n  return;\n}" primitive_type (function_declarator "FUN_0002c830(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int iVar1;\n  \n  iVar1 = FUN_00029c80();\n  if (iVar1 != 0) {\n    DAT_0008804c = 1;\n    FUN_00027bb0(1);\n    thunk_FUN_0001edf0();\n    FUN_0002baa0();\n    return;\n  }\n  DAT_0008804c = 0;\n  FUN_00027bb0(0);\n  thunk_FUN_0001edf0();\n  FUN_0002baa0();\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (expression_statement "iVar1 = FUN_00029c80();" (assignment_expression "iVar1 = FUN_00029c80()" identifier = (call_expression "FUN_00029c80()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar1 != 0) {\n    DAT_0008804c = 1;\n    FUN_00027bb0(1);\n    thunk_FUN_0001edf0();\n    FUN_0002baa0();\n    return;\n  }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n    DAT_0008804c = 1;\n    FUN_00027bb0(1);\n    thunk_FUN_0001edf0();\n    FUN_0002baa0();\n    return;\n  }" { (expression_statement "DAT_0008804c = 1;" (assignment_expression "DAT_0008804c = 1" identifier = number_literal) ;) (expression_statement "FUN_00027bb0(1);" (call_expression "FUN_00027bb0(1)" identifier (argument_list "(1)" ( number_literal ))) ;) (expression_statement "thunk_FUN_0001edf0();" (call_expression "thunk_FUN_0001edf0()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0002baa0();" (call_expression "FUN_0002baa0()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "DAT_0008804c = 0;" (assignment_expression "DAT_0008804c = 0" identifier = number_literal) ;) (expression_statement "FUN_00027bb0(0);" (call_expression "FUN_00027bb0(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "thunk_FUN_0001edf0();" (call_expression "thunk_FUN_0001edf0()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0002baa0();" (call_expression "FUN_0002baa0()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return ;) })))
(function_definition "void FUN_0002c830(void)\n\n{\n  int iVar1;\n  \n  iVar1 = FUN_00029c80();\n  if (iVar1 != 0) {\n    DAT_0008804c = 1;\n    FUN_00027bb0(1);\n    thunk_FUN_0001edf0();\n    FUN_0002baa0();\n    return;\n  }\n  DAT_0008804c = 0;\n  FUN_00027bb0(0);\n  thunk_FUN_0001edf0();\n  FUN_0002baa0();\n  return;\n}" (primitive_type "void") (function_declarator "FUN_0002c830(void)" (identifier "FUN_0002c830") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  int iVar1;\n  \n  iVar1 = FUN_00029c80();\n  if (iVar1 != 0) {\n    DAT_0008804c = 1;\n    FUN_00027bb0(1);\n    thunk_FUN_0001edf0();\n    FUN_0002baa0();\n    return;\n  }\n  DAT_0008804c = 0;\n  FUN_00027bb0(0);\n  thunk_FUN_0001edf0();\n  FUN_0002baa0();\n  return;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (expression_statement "iVar1 = FUN_00029c80();" (assignment_expression "iVar1 = FUN_00029c80()" (identifier "iVar1") (= "=") (call_expression "FUN_00029c80()" (identifier "FUN_00029c80") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar1 != 0) {\n    DAT_0008804c = 1;\n    FUN_00027bb0(1);\n    thunk_FUN_0001edf0();\n    FUN_0002baa0();\n    return;\n  }" (if "if") (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    DAT_0008804c = 1;\n    FUN_00027bb0(1);\n    thunk_FUN_0001edf0();\n    FUN_0002baa0();\n    return;\n  }" ({ "{") (expression_statement "DAT_0008804c = 1;" (assignment_expression "DAT_0008804c = 1" (identifier "DAT_0008804c") (= "=") (number_literal "1")) (; ";")) (expression_statement "FUN_00027bb0(1);" (call_expression "FUN_00027bb0(1)" (identifier "FUN_00027bb0") (argument_list "(1)" (( "(") (number_literal "1") () ")"))) (; ";")) (expression_statement "thunk_FUN_0001edf0();" (call_expression "thunk_FUN_0001edf0()" (identifier "thunk_FUN_0001edf0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0002baa0();" (call_expression "FUN_0002baa0()" (identifier "FUN_0002baa0") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "DAT_0008804c = 0;" (assignment_expression "DAT_0008804c = 0" (identifier "DAT_0008804c") (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_00027bb0(0);" (call_expression "FUN_00027bb0(0)" (identifier "FUN_00027bb0") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (expression_statement "thunk_FUN_0001edf0();" (call_expression "thunk_FUN_0001edf0()" (identifier "thunk_FUN_0001edf0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0002baa0();" (call_expression "FUN_0002baa0()" (identifier "FUN_0002baa0") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

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

void function_1(int ignore)

{
  type_1 oVar1;
  type_2 exp;
  
  oVar1 = var_1(&exp);
  if ((int)oVar1 != 0) {
    flag_mri = 1;
    var_2(1);
    var_3();
    var_4();
    return;
  }
  flag_mri = 0;
  var_2(0);
  var_3();
  var_4();
  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: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (return_statement))))

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

void MASKED(void)

{
  int iVar1;
  
  iVar1 = FUN_00029c80();
  if (iVar1 != 0) {
    DAT_0008804c = 1;
    FUN_00027bb0(1);
    thunk_FUN_0001edf0();
    FUN_0002baa0();
    return;
  }
  DAT_0008804c = 0;
  FUN_00027bb0(0);
  thunk_FUN_0001edf0();
  FUN_0002baa0();
  return;
}

