
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;
}



void FUN_001226a0(void)

{
  int iVar1;
  undefined1 auStack_28 [40];
  
  iVar1 = FUN_0011fef0(auStack_28);
  if (iVar1 != 0) {
    DAT_0019d890 = 1;
    FUN_0011de20(1);
    thunk_FUN_00116310();
    FUN_00121a20();
    return;
  }
  DAT_0019d890 = 0;
  FUN_0011de20(0);
  thunk_FUN_00116310();
  FUN_00121a20();
  return;
}


SUB RSP,0x28
MOV RDI,RSP
CALL 0x0011fef0
TEST EAX,EAX
JZ 0x001226d8
MOV dword ptr [0x0019d890],0x1
MOV EDI,0x1
CALL 0x0011de20
CALL 0x00116330
CALL 0x00121a20
ADD RSP,0x28
RET
MOV dword ptr [0x0019d890],0x0
XOR EDI,EDI
CALL 0x0011de20
CALL 0x00116330
CALL 0x00121a20
ADD RSP,0x28
RET
(translation_unit "void FUN_001226a0(void)\n\n{\n  int iVar1;\n  undefined1 auStack_28 [40];\n  \n  iVar1 = FUN_0011fef0(auStack_28);\n  if (iVar1 != 0) {\n    DAT_0019d890 = 1;\n    FUN_0011de20(1);\n    thunk_FUN_00116310();\n    FUN_00121a20();\n    return;\n  }\n  DAT_0019d890 = 0;\n  FUN_0011de20(0);\n  thunk_FUN_00116310();\n  FUN_00121a20();\n  return;\n}\n\n" (function_definition "void FUN_001226a0(void)\n\n{\n  int iVar1;\n  undefined1 auStack_28 [40];\n  \n  iVar1 = FUN_0011fef0(auStack_28);\n  if (iVar1 != 0) {\n    DAT_0019d890 = 1;\n    FUN_0011de20(1);\n    thunk_FUN_00116310();\n    FUN_00121a20();\n    return;\n  }\n  DAT_0019d890 = 0;\n  FUN_0011de20(0);\n  thunk_FUN_00116310();\n  FUN_00121a20();\n  return;\n}" primitive_type (function_declarator "FUN_001226a0(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int iVar1;\n  undefined1 auStack_28 [40];\n  \n  iVar1 = FUN_0011fef0(auStack_28);\n  if (iVar1 != 0) {\n    DAT_0019d890 = 1;\n    FUN_0011de20(1);\n    thunk_FUN_00116310();\n    FUN_00121a20();\n    return;\n  }\n  DAT_0019d890 = 0;\n  FUN_0011de20(0);\n  thunk_FUN_00116310();\n  FUN_00121a20();\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined1 auStack_28 [40];" type_identifier (array_declarator "auStack_28 [40]" identifier [ number_literal ]) ;) (expression_statement "iVar1 = FUN_0011fef0(auStack_28);" (assignment_expression "iVar1 = FUN_0011fef0(auStack_28)" identifier = (call_expression "FUN_0011fef0(auStack_28)" identifier (argument_list "(auStack_28)" ( identifier )))) ;) (if_statement "if (iVar1 != 0) {\n    DAT_0019d890 = 1;\n    FUN_0011de20(1);\n    thunk_FUN_00116310();\n    FUN_00121a20();\n    return;\n  }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n    DAT_0019d890 = 1;\n    FUN_0011de20(1);\n    thunk_FUN_00116310();\n    FUN_00121a20();\n    return;\n  }" { (expression_statement "DAT_0019d890 = 1;" (assignment_expression "DAT_0019d890 = 1" identifier = number_literal) ;) (expression_statement "FUN_0011de20(1);" (call_expression "FUN_0011de20(1)" identifier (argument_list "(1)" ( number_literal ))) ;) (expression_statement "thunk_FUN_00116310();" (call_expression "thunk_FUN_00116310()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00121a20();" (call_expression "FUN_00121a20()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "DAT_0019d890 = 0;" (assignment_expression "DAT_0019d890 = 0" identifier = number_literal) ;) (expression_statement "FUN_0011de20(0);" (call_expression "FUN_0011de20(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "thunk_FUN_00116310();" (call_expression "thunk_FUN_00116310()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00121a20();" (call_expression "FUN_00121a20()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))
(translation_unit "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}\n\n" (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_001226a0(void)\n\n{\n  int iVar1;\n  undefined1 auStack_28 [40];\n  \n  iVar1 = FUN_0011fef0(auStack_28);\n  if (iVar1 != 0) {\n    DAT_0019d890 = 1;\n    FUN_0011de20(1);\n    thunk_FUN_00116310();\n    FUN_00121a20();\n    return;\n  }\n  DAT_0019d890 = 0;\n  FUN_0011de20(0);\n  thunk_FUN_00116310();\n  FUN_00121a20();\n  return;\n}\n\n" (function_definition "void FUN_001226a0(void)\n\n{\n  int iVar1;\n  undefined1 auStack_28 [40];\n  \n  iVar1 = FUN_0011fef0(auStack_28);\n  if (iVar1 != 0) {\n    DAT_0019d890 = 1;\n    FUN_0011de20(1);\n    thunk_FUN_00116310();\n    FUN_00121a20();\n    return;\n  }\n  DAT_0019d890 = 0;\n  FUN_0011de20(0);\n  thunk_FUN_00116310();\n  FUN_00121a20();\n  return;\n}" primitive_type (function_declarator "FUN_001226a0(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int iVar1;\n  undefined1 auStack_28 [40];\n  \n  iVar1 = FUN_0011fef0(auStack_28);\n  if (iVar1 != 0) {\n    DAT_0019d890 = 1;\n    FUN_0011de20(1);\n    thunk_FUN_00116310();\n    FUN_00121a20();\n    return;\n  }\n  DAT_0019d890 = 0;\n  FUN_0011de20(0);\n  thunk_FUN_00116310();\n  FUN_00121a20();\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined1 auStack_28 [40];" type_identifier (array_declarator "auStack_28 [40]" identifier [ number_literal ]) ;) (expression_statement "iVar1 = FUN_0011fef0(auStack_28);" (assignment_expression "iVar1 = FUN_0011fef0(auStack_28)" identifier = (call_expression "FUN_0011fef0(auStack_28)" identifier (argument_list "(auStack_28)" ( identifier )))) ;) (if_statement "if (iVar1 != 0) {\n    DAT_0019d890 = 1;\n    FUN_0011de20(1);\n    thunk_FUN_00116310();\n    FUN_00121a20();\n    return;\n  }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n    DAT_0019d890 = 1;\n    FUN_0011de20(1);\n    thunk_FUN_00116310();\n    FUN_00121a20();\n    return;\n  }" { (expression_statement "DAT_0019d890 = 1;" (assignment_expression "DAT_0019d890 = 1" identifier = number_literal) ;) (expression_statement "FUN_0011de20(1);" (call_expression "FUN_0011de20(1)" identifier (argument_list "(1)" ( number_literal ))) ;) (expression_statement "thunk_FUN_00116310();" (call_expression "thunk_FUN_00116310()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00121a20();" (call_expression "FUN_00121a20()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "DAT_0019d890 = 0;" (assignment_expression "DAT_0019d890 = 0" identifier = number_literal) ;) (expression_statement "FUN_0011de20(0);" (call_expression "FUN_0011de20(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "thunk_FUN_00116310();" (call_expression "thunk_FUN_00116310()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00121a20();" (call_expression "FUN_00121a20()" 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 (array_declarator IDENT [ LIT ]) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (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_001226a0(void)\n\n{\n  int iVar1;\n  undefined1 auStack_28 [40];\n  \n  iVar1 = FUN_0011fef0(auStack_28);\n  if (iVar1 != 0) {\n    DAT_0019d890 = 1;\n    FUN_0011de20(1);\n    thunk_FUN_00116310();\n    FUN_00121a20();\n    return;\n  }\n  DAT_0019d890 = 0;\n  FUN_0011de20(0);\n  thunk_FUN_00116310();\n  FUN_00121a20();\n  return;\n}" (primitive_type "void") (function_declarator "FUN_001226a0(void)" (identifier "FUN_001226a0") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  int iVar1;\n  undefined1 auStack_28 [40];\n  \n  iVar1 = FUN_0011fef0(auStack_28);\n  if (iVar1 != 0) {\n    DAT_0019d890 = 1;\n    FUN_0011de20(1);\n    thunk_FUN_00116310();\n    FUN_00121a20();\n    return;\n  }\n  DAT_0019d890 = 0;\n  FUN_0011de20(0);\n  thunk_FUN_00116310();\n  FUN_00121a20();\n  return;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "undefined1 auStack_28 [40];" (type_identifier "undefined1") (array_declarator "auStack_28 [40]" (identifier "auStack_28") ([ "[") (number_literal "40") (] "]")) (; ";")) (expression_statement "iVar1 = FUN_0011fef0(auStack_28);" (assignment_expression "iVar1 = FUN_0011fef0(auStack_28)" (identifier "iVar1") (= "=") (call_expression "FUN_0011fef0(auStack_28)" (identifier "FUN_0011fef0") (argument_list "(auStack_28)" (( "(") (identifier "auStack_28") () ")")))) (; ";")) (if_statement "if (iVar1 != 0) {\n    DAT_0019d890 = 1;\n    FUN_0011de20(1);\n    thunk_FUN_00116310();\n    FUN_00121a20();\n    return;\n  }" (if "if") (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    DAT_0019d890 = 1;\n    FUN_0011de20(1);\n    thunk_FUN_00116310();\n    FUN_00121a20();\n    return;\n  }" ({ "{") (expression_statement "DAT_0019d890 = 1;" (assignment_expression "DAT_0019d890 = 1" (identifier "DAT_0019d890") (= "=") (number_literal "1")) (; ";")) (expression_statement "FUN_0011de20(1);" (call_expression "FUN_0011de20(1)" (identifier "FUN_0011de20") (argument_list "(1)" (( "(") (number_literal "1") () ")"))) (; ";")) (expression_statement "thunk_FUN_00116310();" (call_expression "thunk_FUN_00116310()" (identifier "thunk_FUN_00116310") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_00121a20();" (call_expression "FUN_00121a20()" (identifier "FUN_00121a20") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "DAT_0019d890 = 0;" (assignment_expression "DAT_0019d890 = 0" (identifier "DAT_0019d890") (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_0011de20(0);" (call_expression "FUN_0011de20(0)" (identifier "FUN_0011de20") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (expression_statement "thunk_FUN_00116310();" (call_expression "thunk_FUN_00116310()" (identifier "thunk_FUN_00116310") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_00121a20();" (call_expression "FUN_00121a20()" (identifier "FUN_00121a20") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

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)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (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 (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))))

void MASKED(void)

{
  int iVar1;
  undefined1 auStack_28 [40];
  
  iVar1 = FUN_0011fef0(auStack_28);
  if (iVar1 != 0) {
    DAT_0019d890 = 1;
    FUN_0011de20(1);
    thunk_FUN_00116310();
    FUN_00121a20();
    return;
  }
  DAT_0019d890 = 0;
  FUN_0011de20(0);
  thunk_FUN_00116310();
  FUN_00121a20();
  return;
}

