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

char * __regparm3 demangle_qualifier(int c)

{
  char *pcVar1;
  
  if (c == 0x56) {
    pcVar1 = qualifier_string(2);
    return pcVar1;
  }
  if (c == 0x75) {
    pcVar1 = qualifier_string(4);
    return pcVar1;
  }
  if (c != 0x43) {
                    /* WARNING: Subroutine does not return */
    abort();
  }
  pcVar1 = qualifier_string(1);
  return pcVar1;
}



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

void __regparm3 FUN_00167770(int param_1)

{
  if (param_1 == 0x56) {
    FUN_001676c0();
    return;
  }
  if (param_1 == 0x75) {
    FUN_001676c0();
    return;
  }
  if (param_1 != 0x43) {
                    /* WARNING: Subroutine does not return */
    abort();
  }
  FUN_001676c0();
  return;
}


PUSH EBX
CALL 0x00032730
ADD EBX,0x19a88a
SUB ESP,0x8
CMP EAX,0x56
JZ 0x001677c0
CMP EAX,0x75
JNZ 0x001677a0
ADD ESP,0x8
MOV EAX,0x4
POP EBX
JMP 0x001676c0
CMP EAX,0x43
JZ 0x001677b0
CALL 0x00026080
ADD ESP,0x8
MOV EAX,0x1
POP EBX
JMP 0x001676c0
ADD ESP,0x8
MOV EAX,0x2
POP EBX
JMP 0x001676c0
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid __regparm3 FUN_00167770(int param_1)\n\n{\n  if (param_1 == 0x56) {\n    FUN_001676c0();\n    return;\n  }\n  if (param_1 == 0x75) {\n    FUN_001676c0();\n    return;\n  }\n  if (param_1 != 0x43) {\n                    /* WARNING: Subroutine does not return */\n    abort();\n  }\n  FUN_001676c0();\n  return;\n}\n\n" comment (function_definition "void __regparm3 FUN_00167770(int param_1)\n\n{\n  if (param_1 == 0x56) {\n    FUN_001676c0();\n    return;\n  }\n  if (param_1 == 0x75) {\n    FUN_001676c0();\n    return;\n  }\n  if (param_1 != 0x43) {\n                    /* WARNING: Subroutine does not return */\n    abort();\n  }\n  FUN_001676c0();\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_00167770(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  if (param_1 == 0x56) {\n    FUN_001676c0();\n    return;\n  }\n  if (param_1 == 0x75) {\n    FUN_001676c0();\n    return;\n  }\n  if (param_1 != 0x43) {\n                    /* WARNING: Subroutine does not return */\n    abort();\n  }\n  FUN_001676c0();\n  return;\n}" { (if_statement "if (param_1 == 0x56) {\n    FUN_001676c0();\n    return;\n  }" if (parenthesized_expression "(param_1 == 0x56)" ( (binary_expression "param_1 == 0x56" identifier == number_literal) )) (compound_statement "{\n    FUN_001676c0();\n    return;\n  }" { (expression_statement "FUN_001676c0();" (call_expression "FUN_001676c0()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (if_statement "if (param_1 == 0x75) {\n    FUN_001676c0();\n    return;\n  }" if (parenthesized_expression "(param_1 == 0x75)" ( (binary_expression "param_1 == 0x75" identifier == number_literal) )) (compound_statement "{\n    FUN_001676c0();\n    return;\n  }" { (expression_statement "FUN_001676c0();" (call_expression "FUN_001676c0()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (if_statement "if (param_1 != 0x43) {\n                    /* WARNING: Subroutine does not return */\n    abort();\n  }" if (parenthesized_expression "(param_1 != 0x43)" ( (binary_expression "param_1 != 0x43" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    abort();\n  }" { comment (expression_statement "abort();" (call_expression "abort()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "FUN_001676c0();" (call_expression "FUN_001676c0()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nchar * __regparm3 demangle_qualifier(int c)\n\n{\n  char *pcVar1;\n  \n  if (c == 0x56) {\n    pcVar1 = qualifier_string(2);\n    return pcVar1;\n  }\n  if (c == 0x75) {\n    pcVar1 = qualifier_string(4);\n    return pcVar1;\n  }\n  if (c != 0x43) {\n                    /* WARNING: Subroutine does not return */\n    abort();\n  }\n  pcVar1 = qualifier_string(1);\n  return pcVar1;\n}\n\n" comment (function_definition "char * __regparm3 demangle_qualifier(int c)\n\n{\n  char *pcVar1;\n  \n  if (c == 0x56) {\n    pcVar1 = qualifier_string(2);\n    return pcVar1;\n  }\n  if (c == 0x75) {\n    pcVar1 = qualifier_string(4);\n    return pcVar1;\n  }\n  if (c != 0x43) {\n                    /* WARNING: Subroutine does not return */\n    abort();\n  }\n  pcVar1 = qualifier_string(1);\n  return pcVar1;\n}" primitive_type (pointer_declarator "* __regparm3 demangle_qualifier(int c)" * (ERROR "__regparm3" identifier) (function_declarator "demangle_qualifier(int c)" identifier (parameter_list "(int c)" ( (parameter_declaration "int c" primitive_type identifier) )))) (compound_statement "{\n  char *pcVar1;\n  \n  if (c == 0x56) {\n    pcVar1 = qualifier_string(2);\n    return pcVar1;\n  }\n  if (c == 0x75) {\n    pcVar1 = qualifier_string(4);\n    return pcVar1;\n  }\n  if (c != 0x43) {\n                    /* WARNING: Subroutine does not return */\n    abort();\n  }\n  pcVar1 = qualifier_string(1);\n  return pcVar1;\n}" { (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (if_statement "if (c == 0x56) {\n    pcVar1 = qualifier_string(2);\n    return pcVar1;\n  }" if (parenthesized_expression "(c == 0x56)" ( (binary_expression "c == 0x56" identifier == number_literal) )) (compound_statement "{\n    pcVar1 = qualifier_string(2);\n    return pcVar1;\n  }" { (expression_statement "pcVar1 = qualifier_string(2);" (assignment_expression "pcVar1 = qualifier_string(2)" identifier = (call_expression "qualifier_string(2)" identifier (argument_list "(2)" ( number_literal )))) ;) (return_statement "return pcVar1;" return identifier ;) })) (if_statement "if (c == 0x75) {\n    pcVar1 = qualifier_string(4);\n    return pcVar1;\n  }" if (parenthesized_expression "(c == 0x75)" ( (binary_expression "c == 0x75" identifier == number_literal) )) (compound_statement "{\n    pcVar1 = qualifier_string(4);\n    return pcVar1;\n  }" { (expression_statement "pcVar1 = qualifier_string(4);" (assignment_expression "pcVar1 = qualifier_string(4)" identifier = (call_expression "qualifier_string(4)" identifier (argument_list "(4)" ( number_literal )))) ;) (return_statement "return pcVar1;" return identifier ;) })) (if_statement "if (c != 0x43) {\n                    /* WARNING: Subroutine does not return */\n    abort();\n  }" if (parenthesized_expression "(c != 0x43)" ( (binary_expression "c != 0x43" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    abort();\n  }" { comment (expression_statement "abort();" (call_expression "abort()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "pcVar1 = qualifier_string(1);" (assignment_expression "pcVar1 = qualifier_string(1)" identifier = (call_expression "qualifier_string(1)" identifier (argument_list "(1)" ( number_literal )))) ;) (return_statement "return pcVar1;" return identifier ;) })))
(translation_unit "void __regparm3 FUN_00167770(int param_1)\n\n{\n  if (param_1 == 0x56) {\n    FUN_001676c0();\n    return;\n  }\n  if (param_1 == 0x75) {\n    FUN_001676c0();\n    return;\n  }\n  if (param_1 != 0x43) {\n                    \n    abort();\n  }\n  FUN_001676c0();\n  return;\n}\n\n" (function_definition "void __regparm3 FUN_00167770(int param_1)\n\n{\n  if (param_1 == 0x56) {\n    FUN_001676c0();\n    return;\n  }\n  if (param_1 == 0x75) {\n    FUN_001676c0();\n    return;\n  }\n  if (param_1 != 0x43) {\n                    \n    abort();\n  }\n  FUN_001676c0();\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_00167770(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  if (param_1 == 0x56) {\n    FUN_001676c0();\n    return;\n  }\n  if (param_1 == 0x75) {\n    FUN_001676c0();\n    return;\n  }\n  if (param_1 != 0x43) {\n                    \n    abort();\n  }\n  FUN_001676c0();\n  return;\n}" { (if_statement "if (param_1 == 0x56) {\n    FUN_001676c0();\n    return;\n  }" if (parenthesized_expression "(param_1 == 0x56)" ( (binary_expression "param_1 == 0x56" identifier == number_literal) )) (compound_statement "{\n    FUN_001676c0();\n    return;\n  }" { (expression_statement "FUN_001676c0();" (call_expression "FUN_001676c0()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (if_statement "if (param_1 == 0x75) {\n    FUN_001676c0();\n    return;\n  }" if (parenthesized_expression "(param_1 == 0x75)" ( (binary_expression "param_1 == 0x75" identifier == number_literal) )) (compound_statement "{\n    FUN_001676c0();\n    return;\n  }" { (expression_statement "FUN_001676c0();" (call_expression "FUN_001676c0()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (if_statement "if (param_1 != 0x43) {\n                    \n    abort();\n  }" if (parenthesized_expression "(param_1 != 0x43)" ( (binary_expression "param_1 != 0x43" identifier != number_literal) )) (compound_statement "{\n                    \n    abort();\n  }" { (expression_statement "abort();" (call_expression "abort()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "FUN_001676c0();" (call_expression "FUN_001676c0()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return ;) })))
(function_definition "void __regparm3 FUN_00167770(int param_1)\n\n{\n  if (param_1 == 0x56) {\n    FUN_001676c0();\n    return;\n  }\n  if (param_1 == 0x75) {\n    FUN_001676c0();\n    return;\n  }\n  if (param_1 != 0x43) {\n                    \n    abort();\n  }\n  FUN_001676c0();\n  return;\n}" (primitive_type "void") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_00167770(int param_1)" (identifier "FUN_00167770") (parameter_list "(int param_1)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) () ")"))) (compound_statement "{\n  if (param_1 == 0x56) {\n    FUN_001676c0();\n    return;\n  }\n  if (param_1 == 0x75) {\n    FUN_001676c0();\n    return;\n  }\n  if (param_1 != 0x43) {\n                    \n    abort();\n  }\n  FUN_001676c0();\n  return;\n}" ({ "{") (if_statement "if (param_1 == 0x56) {\n    FUN_001676c0();\n    return;\n  }" (if "if") (parenthesized_expression "(param_1 == 0x56)" (( "(") (binary_expression "param_1 == 0x56" (identifier "param_1") (== "==") (number_literal "0x56")) () ")")) (compound_statement "{\n    FUN_001676c0();\n    return;\n  }" ({ "{") (expression_statement "FUN_001676c0();" (call_expression "FUN_001676c0()" (identifier "FUN_001676c0") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (param_1 == 0x75) {\n    FUN_001676c0();\n    return;\n  }" (if "if") (parenthesized_expression "(param_1 == 0x75)" (( "(") (binary_expression "param_1 == 0x75" (identifier "param_1") (== "==") (number_literal "0x75")) () ")")) (compound_statement "{\n    FUN_001676c0();\n    return;\n  }" ({ "{") (expression_statement "FUN_001676c0();" (call_expression "FUN_001676c0()" (identifier "FUN_001676c0") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (param_1 != 0x43) {\n                    \n    abort();\n  }" (if "if") (parenthesized_expression "(param_1 != 0x43)" (( "(") (binary_expression "param_1 != 0x43" (identifier "param_1") (!= "!=") (number_literal "0x43")) () ")")) (compound_statement "{\n                    \n    abort();\n  }" ({ "{") (expression_statement "abort();" (call_expression "abort()" (identifier "abort") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_001676c0();" (call_expression "FUN_001676c0()" (identifier "FUN_001676c0") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

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

char * __regparm3 function_1(int var_1)

{
  char *pcVar1;
  
  if (var_1 == 0x56) {
    pcVar1 = var_2(2);
    return pcVar1;
  }
  if (var_1 == 0x75) {
    pcVar1 = var_2(4);
    return pcVar1;
  }
  if (var_1 != 0x43) {
                    /* WARNING: Subroutine does not return */
    var_3();
  }
  pcVar1 = var_2(1);
  return pcVar1;
}


(translation_unit (function_definition type: (primitive_type) (ERROR (identifier)) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)))) body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (return_statement))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (return_statement))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (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 __regparm3 MASKED(int param_1)

{
  if (param_1 == 0x56) {
    FUN_001676c0();
    return;
  }
  if (param_1 == 0x75) {
    FUN_001676c0();
    return;
  }
  if (param_1 != 0x43) {
                    /* WARNING: Subroutine does not return */
    abort();
  }
  FUN_001676c0();
  return;
}

