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

void s_mri(int ignore)

{
  int iVar1;
  offsetT on;
  expressionS exp;
  
  exp._12_2_ = 0xf038;
  exp.X_md = 2;
  on = get_absolute_expr(&exp);
  iVar1 = flag_mri;
  if (on == 0) {
    flag_mri = 0;
    flag_m68k_mri = 0;
    macro_mri_mode(0);
  }
  else {
    flag_mri = 1;
    flag_m68k_mri = 1;
    macro_mri_mode(1);
  }
  expr_set_precedence();
  if (iVar1 != on) {
    m68k_mri_mode_change(on);
  }
  demand_empty_rest_of_line();
  return;
}



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

void FUN_0002f030(void)

{
  int iVar1;
  int iVar2;
  
  iVar2 = FUN_0002c6f0();
  iVar1 = DAT_000816f4;
  if (iVar2 == 0) {
    DAT_000816f4 = 0;
    DAT_00081664 = 0;
    FUN_0002a6a0(0);
  }
  else {
    DAT_000816f4 = 1;
    DAT_00081664 = 1;
    FUN_0002a6a0(1);
  }
  FUN_00022070();
  if (iVar1 != iVar2) {
    FUN_0004a580(iVar2);
  }
  FUN_0002e3b0();
  return;
}


PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00017010
ADD EBX,0x48fc8
SUB ESP,0x10
MOV EAX,ESP
CALL 0x0002c6f0
MOV ESI,EAX
LEA EAX,[EBX + 0x96f4]
MOV EDI,dword ptr [EAX]
TEST ESI,ESI
JZ 0x0002f0a0
MOV dword ptr [EAX],0x1
LEA EAX,[EBX + 0x9664]
SUB ESP,0xc
MOV dword ptr [EAX],0x1
PUSH 0x1
CALL 0x0002a6a0
ADD ESP,0x10
CALL 0x00022070
CMP EDI,ESI
JZ 0x0002f08a
SUB ESP,0xc
PUSH ESI
CALL 0x0004a580
ADD ESP,0x10
CALL 0x0002e3b0
ADD ESP,0x10
POP EBX
POP ESI
POP EDI
RET
MOV dword ptr [EAX],0x0
LEA EAX,[EBX + 0x9664]
SUB ESP,0xc
MOV dword ptr [EAX],0x0
PUSH 0x0
CALL 0x0002a6a0
ADD ESP,0x10
JMP 0x0002f075
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid FUN_0002f030(void)\n\n{\n  int iVar1;\n  int iVar2;\n  \n  iVar2 = FUN_0002c6f0();\n  iVar1 = DAT_000816f4;\n  if (iVar2 == 0) {\n    DAT_000816f4 = 0;\n    DAT_00081664 = 0;\n    FUN_0002a6a0(0);\n  }\n  else {\n    DAT_000816f4 = 1;\n    DAT_00081664 = 1;\n    FUN_0002a6a0(1);\n  }\n  FUN_00022070();\n  if (iVar1 != iVar2) {\n    FUN_0004a580(iVar2);\n  }\n  FUN_0002e3b0();\n  return;\n}\n\n" comment (function_definition "void FUN_0002f030(void)\n\n{\n  int iVar1;\n  int iVar2;\n  \n  iVar2 = FUN_0002c6f0();\n  iVar1 = DAT_000816f4;\n  if (iVar2 == 0) {\n    DAT_000816f4 = 0;\n    DAT_00081664 = 0;\n    FUN_0002a6a0(0);\n  }\n  else {\n    DAT_000816f4 = 1;\n    DAT_00081664 = 1;\n    FUN_0002a6a0(1);\n  }\n  FUN_00022070();\n  if (iVar1 != iVar2) {\n    FUN_0004a580(iVar2);\n  }\n  FUN_0002e3b0();\n  return;\n}" primitive_type (function_declarator "FUN_0002f030(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  \n  iVar2 = FUN_0002c6f0();\n  iVar1 = DAT_000816f4;\n  if (iVar2 == 0) {\n    DAT_000816f4 = 0;\n    DAT_00081664 = 0;\n    FUN_0002a6a0(0);\n  }\n  else {\n    DAT_000816f4 = 1;\n    DAT_00081664 = 1;\n    FUN_0002a6a0(1);\n  }\n  FUN_00022070();\n  if (iVar1 != iVar2) {\n    FUN_0004a580(iVar2);\n  }\n  FUN_0002e3b0();\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (expression_statement "iVar2 = FUN_0002c6f0();" (assignment_expression "iVar2 = FUN_0002c6f0()" identifier = (call_expression "FUN_0002c6f0()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar1 = DAT_000816f4;" (assignment_expression "iVar1 = DAT_000816f4" identifier = identifier) ;) (if_statement "if (iVar2 == 0) {\n    DAT_000816f4 = 0;\n    DAT_00081664 = 0;\n    FUN_0002a6a0(0);\n  }\n  else {\n    DAT_000816f4 = 1;\n    DAT_00081664 = 1;\n    FUN_0002a6a0(1);\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    DAT_000816f4 = 0;\n    DAT_00081664 = 0;\n    FUN_0002a6a0(0);\n  }" { (expression_statement "DAT_000816f4 = 0;" (assignment_expression "DAT_000816f4 = 0" identifier = number_literal) ;) (expression_statement "DAT_00081664 = 0;" (assignment_expression "DAT_00081664 = 0" identifier = number_literal) ;) (expression_statement "FUN_0002a6a0(0);" (call_expression "FUN_0002a6a0(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }) (else_clause "else {\n    DAT_000816f4 = 1;\n    DAT_00081664 = 1;\n    FUN_0002a6a0(1);\n  }" else (compound_statement "{\n    DAT_000816f4 = 1;\n    DAT_00081664 = 1;\n    FUN_0002a6a0(1);\n  }" { (expression_statement "DAT_000816f4 = 1;" (assignment_expression "DAT_000816f4 = 1" identifier = number_literal) ;) (expression_statement "DAT_00081664 = 1;" (assignment_expression "DAT_00081664 = 1" identifier = number_literal) ;) (expression_statement "FUN_0002a6a0(1);" (call_expression "FUN_0002a6a0(1)" identifier (argument_list "(1)" ( number_literal ))) ;) }))) (expression_statement "FUN_00022070();" (call_expression "FUN_00022070()" identifier (argument_list "()" ( ))) ;) (if_statement "if (iVar1 != iVar2) {\n    FUN_0004a580(iVar2);\n  }" if (parenthesized_expression "(iVar1 != iVar2)" ( (binary_expression "iVar1 != iVar2" identifier != identifier) )) (compound_statement "{\n    FUN_0004a580(iVar2);\n  }" { (expression_statement "FUN_0004a580(iVar2);" (call_expression "FUN_0004a580(iVar2)" identifier (argument_list "(iVar2)" ( identifier ))) ;) })) (expression_statement "FUN_0002e3b0();" (call_expression "FUN_0002e3b0()" 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  int iVar1;\n  offsetT on;\n  expressionS exp;\n  \n  exp._12_2_ = 0xf038;\n  exp.X_md = 2;\n  on = get_absolute_expr(&exp);\n  iVar1 = flag_mri;\n  if (on == 0) {\n    flag_mri = 0;\n    flag_m68k_mri = 0;\n    macro_mri_mode(0);\n  }\n  else {\n    flag_mri = 1;\n    flag_m68k_mri = 1;\n    macro_mri_mode(1);\n  }\n  expr_set_precedence();\n  if (iVar1 != on) {\n    m68k_mri_mode_change(on);\n  }\n  demand_empty_rest_of_line();\n  return;\n}\n\n" comment comment (function_definition "void s_mri(int ignore)\n\n{\n  int iVar1;\n  offsetT on;\n  expressionS exp;\n  \n  exp._12_2_ = 0xf038;\n  exp.X_md = 2;\n  on = get_absolute_expr(&exp);\n  iVar1 = flag_mri;\n  if (on == 0) {\n    flag_mri = 0;\n    flag_m68k_mri = 0;\n    macro_mri_mode(0);\n  }\n  else {\n    flag_mri = 1;\n    flag_m68k_mri = 1;\n    macro_mri_mode(1);\n  }\n  expr_set_precedence();\n  if (iVar1 != on) {\n    m68k_mri_mode_change(on);\n  }\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  int iVar1;\n  offsetT on;\n  expressionS exp;\n  \n  exp._12_2_ = 0xf038;\n  exp.X_md = 2;\n  on = get_absolute_expr(&exp);\n  iVar1 = flag_mri;\n  if (on == 0) {\n    flag_mri = 0;\n    flag_m68k_mri = 0;\n    macro_mri_mode(0);\n  }\n  else {\n    flag_mri = 1;\n    flag_m68k_mri = 1;\n    macro_mri_mode(1);\n  }\n  expr_set_precedence();\n  if (iVar1 != on) {\n    m68k_mri_mode_change(on);\n  }\n  demand_empty_rest_of_line();\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "offsetT on;" type_identifier identifier ;) (declaration "expressionS exp;" type_identifier identifier ;) (expression_statement "exp._12_2_ = 0xf038;" (assignment_expression "exp._12_2_ = 0xf038" (field_expression "exp._12_2_" identifier . field_identifier) = number_literal) ;) (expression_statement "exp.X_md = 2;" (assignment_expression "exp.X_md = 2" (field_expression "exp.X_md" identifier . field_identifier) = number_literal) ;) (expression_statement "on = get_absolute_expr(&exp);" (assignment_expression "on = get_absolute_expr(&exp)" identifier = (call_expression "get_absolute_expr(&exp)" identifier (argument_list "(&exp)" ( (pointer_expression "&exp" & identifier) )))) ;) (expression_statement "iVar1 = flag_mri;" (assignment_expression "iVar1 = flag_mri" identifier = identifier) ;) (if_statement "if (on == 0) {\n    flag_mri = 0;\n    flag_m68k_mri = 0;\n    macro_mri_mode(0);\n  }\n  else {\n    flag_mri = 1;\n    flag_m68k_mri = 1;\n    macro_mri_mode(1);\n  }" if (parenthesized_expression "(on == 0)" ( (binary_expression "on == 0" identifier == number_literal) )) (compound_statement "{\n    flag_mri = 0;\n    flag_m68k_mri = 0;\n    macro_mri_mode(0);\n  }" { (expression_statement "flag_mri = 0;" (assignment_expression "flag_mri = 0" identifier = number_literal) ;) (expression_statement "flag_m68k_mri = 0;" (assignment_expression "flag_m68k_mri = 0" identifier = number_literal) ;) (expression_statement "macro_mri_mode(0);" (call_expression "macro_mri_mode(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }) (else_clause "else {\n    flag_mri = 1;\n    flag_m68k_mri = 1;\n    macro_mri_mode(1);\n  }" else (compound_statement "{\n    flag_mri = 1;\n    flag_m68k_mri = 1;\n    macro_mri_mode(1);\n  }" { (expression_statement "flag_mri = 1;" (assignment_expression "flag_mri = 1" identifier = number_literal) ;) (expression_statement "flag_m68k_mri = 1;" (assignment_expression "flag_m68k_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 "()" ( ))) ;) (if_statement "if (iVar1 != on) {\n    m68k_mri_mode_change(on);\n  }" if (parenthesized_expression "(iVar1 != on)" ( (binary_expression "iVar1 != on" identifier != identifier) )) (compound_statement "{\n    m68k_mri_mode_change(on);\n  }" { (expression_statement "m68k_mri_mode_change(on);" (call_expression "m68k_mri_mode_change(on)" identifier (argument_list "(on)" ( identifier ))) ;) })) (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_0002f030(void)\n\n{\n  int iVar1;\n  int iVar2;\n  \n  iVar2 = FUN_0002c6f0();\n  iVar1 = DAT_000816f4;\n  if (iVar2 == 0) {\n    DAT_000816f4 = 0;\n    DAT_00081664 = 0;\n    FUN_0002a6a0(0);\n  }\n  else {\n    DAT_000816f4 = 1;\n    DAT_00081664 = 1;\n    FUN_0002a6a0(1);\n  }\n  FUN_00022070();\n  if (iVar1 != iVar2) {\n    FUN_0004a580(iVar2);\n  }\n  FUN_0002e3b0();\n  return;\n}\n\n" (function_definition "void FUN_0002f030(void)\n\n{\n  int iVar1;\n  int iVar2;\n  \n  iVar2 = FUN_0002c6f0();\n  iVar1 = DAT_000816f4;\n  if (iVar2 == 0) {\n    DAT_000816f4 = 0;\n    DAT_00081664 = 0;\n    FUN_0002a6a0(0);\n  }\n  else {\n    DAT_000816f4 = 1;\n    DAT_00081664 = 1;\n    FUN_0002a6a0(1);\n  }\n  FUN_00022070();\n  if (iVar1 != iVar2) {\n    FUN_0004a580(iVar2);\n  }\n  FUN_0002e3b0();\n  return;\n}" primitive_type (function_declarator "FUN_0002f030(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  \n  iVar2 = FUN_0002c6f0();\n  iVar1 = DAT_000816f4;\n  if (iVar2 == 0) {\n    DAT_000816f4 = 0;\n    DAT_00081664 = 0;\n    FUN_0002a6a0(0);\n  }\n  else {\n    DAT_000816f4 = 1;\n    DAT_00081664 = 1;\n    FUN_0002a6a0(1);\n  }\n  FUN_00022070();\n  if (iVar1 != iVar2) {\n    FUN_0004a580(iVar2);\n  }\n  FUN_0002e3b0();\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (expression_statement "iVar2 = FUN_0002c6f0();" (assignment_expression "iVar2 = FUN_0002c6f0()" identifier = (call_expression "FUN_0002c6f0()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar1 = DAT_000816f4;" (assignment_expression "iVar1 = DAT_000816f4" identifier = identifier) ;) (if_statement "if (iVar2 == 0) {\n    DAT_000816f4 = 0;\n    DAT_00081664 = 0;\n    FUN_0002a6a0(0);\n  }\n  else {\n    DAT_000816f4 = 1;\n    DAT_00081664 = 1;\n    FUN_0002a6a0(1);\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    DAT_000816f4 = 0;\n    DAT_00081664 = 0;\n    FUN_0002a6a0(0);\n  }" { (expression_statement "DAT_000816f4 = 0;" (assignment_expression "DAT_000816f4 = 0" identifier = number_literal) ;) (expression_statement "DAT_00081664 = 0;" (assignment_expression "DAT_00081664 = 0" identifier = number_literal) ;) (expression_statement "FUN_0002a6a0(0);" (call_expression "FUN_0002a6a0(0)" identifier (argument_list "(0)" ( number_literal ))) ;) }) (else_clause "else {\n    DAT_000816f4 = 1;\n    DAT_00081664 = 1;\n    FUN_0002a6a0(1);\n  }" else (compound_statement "{\n    DAT_000816f4 = 1;\n    DAT_00081664 = 1;\n    FUN_0002a6a0(1);\n  }" { (expression_statement "DAT_000816f4 = 1;" (assignment_expression "DAT_000816f4 = 1" identifier = number_literal) ;) (expression_statement "DAT_00081664 = 1;" (assignment_expression "DAT_00081664 = 1" identifier = number_literal) ;) (expression_statement "FUN_0002a6a0(1);" (call_expression "FUN_0002a6a0(1)" identifier (argument_list "(1)" ( number_literal ))) ;) }))) (expression_statement "FUN_00022070();" (call_expression "FUN_00022070()" identifier (argument_list "()" ( ))) ;) (if_statement "if (iVar1 != iVar2) {\n    FUN_0004a580(iVar2);\n  }" if (parenthesized_expression "(iVar1 != iVar2)" ( (binary_expression "iVar1 != iVar2" identifier != identifier) )) (compound_statement "{\n    FUN_0004a580(iVar2);\n  }" { (expression_statement "FUN_0004a580(iVar2);" (call_expression "FUN_0004a580(iVar2)" identifier (argument_list "(iVar2)" ( identifier ))) ;) })) (expression_statement "FUN_0002e3b0();" (call_expression "FUN_0002e3b0()" 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 ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) }))) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return ;) })))
(function_definition "void FUN_0002f030(void)\n\n{\n  int iVar1;\n  int iVar2;\n  \n  iVar2 = FUN_0002c6f0();\n  iVar1 = DAT_000816f4;\n  if (iVar2 == 0) {\n    DAT_000816f4 = 0;\n    DAT_00081664 = 0;\n    FUN_0002a6a0(0);\n  }\n  else {\n    DAT_000816f4 = 1;\n    DAT_00081664 = 1;\n    FUN_0002a6a0(1);\n  }\n  FUN_00022070();\n  if (iVar1 != iVar2) {\n    FUN_0004a580(iVar2);\n  }\n  FUN_0002e3b0();\n  return;\n}" (primitive_type "void") (function_declarator "FUN_0002f030(void)" (identifier "FUN_0002f030") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  \n  iVar2 = FUN_0002c6f0();\n  iVar1 = DAT_000816f4;\n  if (iVar2 == 0) {\n    DAT_000816f4 = 0;\n    DAT_00081664 = 0;\n    FUN_0002a6a0(0);\n  }\n  else {\n    DAT_000816f4 = 1;\n    DAT_00081664 = 1;\n    FUN_0002a6a0(1);\n  }\n  FUN_00022070();\n  if (iVar1 != iVar2) {\n    FUN_0004a580(iVar2);\n  }\n  FUN_0002e3b0();\n  return;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (expression_statement "iVar2 = FUN_0002c6f0();" (assignment_expression "iVar2 = FUN_0002c6f0()" (identifier "iVar2") (= "=") (call_expression "FUN_0002c6f0()" (identifier "FUN_0002c6f0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar1 = DAT_000816f4;" (assignment_expression "iVar1 = DAT_000816f4" (identifier "iVar1") (= "=") (identifier "DAT_000816f4")) (; ";")) (if_statement "if (iVar2 == 0) {\n    DAT_000816f4 = 0;\n    DAT_00081664 = 0;\n    FUN_0002a6a0(0);\n  }\n  else {\n    DAT_000816f4 = 1;\n    DAT_00081664 = 1;\n    FUN_0002a6a0(1);\n  }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    DAT_000816f4 = 0;\n    DAT_00081664 = 0;\n    FUN_0002a6a0(0);\n  }" ({ "{") (expression_statement "DAT_000816f4 = 0;" (assignment_expression "DAT_000816f4 = 0" (identifier "DAT_000816f4") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00081664 = 0;" (assignment_expression "DAT_00081664 = 0" (identifier "DAT_00081664") (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_0002a6a0(0);" (call_expression "FUN_0002a6a0(0)" (identifier "FUN_0002a6a0") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (} "}")) (else_clause "else {\n    DAT_000816f4 = 1;\n    DAT_00081664 = 1;\n    FUN_0002a6a0(1);\n  }" (else "else") (compound_statement "{\n    DAT_000816f4 = 1;\n    DAT_00081664 = 1;\n    FUN_0002a6a0(1);\n  }" ({ "{") (expression_statement "DAT_000816f4 = 1;" (assignment_expression "DAT_000816f4 = 1" (identifier "DAT_000816f4") (= "=") (number_literal "1")) (; ";")) (expression_statement "DAT_00081664 = 1;" (assignment_expression "DAT_00081664 = 1" (identifier "DAT_00081664") (= "=") (number_literal "1")) (; ";")) (expression_statement "FUN_0002a6a0(1);" (call_expression "FUN_0002a6a0(1)" (identifier "FUN_0002a6a0") (argument_list "(1)" (( "(") (number_literal "1") () ")"))) (; ";")) (} "}")))) (expression_statement "FUN_00022070();" (call_expression "FUN_00022070()" (identifier "FUN_00022070") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (iVar1 != iVar2) {\n    FUN_0004a580(iVar2);\n  }" (if "if") (parenthesized_expression "(iVar1 != iVar2)" (( "(") (binary_expression "iVar1 != iVar2" (identifier "iVar1") (!= "!=") (identifier "iVar2")) () ")")) (compound_statement "{\n    FUN_0004a580(iVar2);\n  }" ({ "{") (expression_statement "FUN_0004a580(iVar2);" (call_expression "FUN_0004a580(iVar2)" (identifier "FUN_0004a580") (argument_list "(iVar2)" (( "(") (identifier "iVar2") () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_0002e3b0();" (call_expression "FUN_0002e3b0()" (identifier "FUN_0002e3b0") (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)

{
  int var_5;
  type_1 var_2;
  type_2 exp;
  
  exp._12_2_ = 0xf038;
  exp.X_md = 2;
  var_2 = var_1(&exp);
  var_5 = flag_mri;
  if (var_2 == 0) {
    flag_mri = 0;
    flag_m68k_mri = 0;
    var_3(0);
  }
  else {
    flag_mri = 1;
    flag_m68k_mri = 1;
    var_3(1);
  }
  var_4();
  if (var_5 != var_2) {
    var_6(var_2);
  }
  var_7();
  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)) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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 (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (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))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (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;
  int iVar2;
  
  iVar2 = FUN_0002c6f0();
  iVar1 = DAT_000816f4;
  if (iVar2 == 0) {
    DAT_000816f4 = 0;
    DAT_00081664 = 0;
    FUN_0002a6a0(0);
  }
  else {
    DAT_000816f4 = 1;
    DAT_00081664 = 1;
    FUN_0002a6a0(1);
  }
  FUN_00022070();
  if (iVar1 != iVar2) {
    FUN_0004a580(iVar2);
  }
  FUN_0002e3b0();
  return;
}

