
/* WARNING: Function: __x86.get_pc_thunk.dx replaced with injection: get_pc_thunk_dx */
/* (anonymous namespace)::fopen_mode(std::_Ios_Openmode) */

char * __regparm3 (anonymous_namespace)::fopen_mode(_Ios_Openmode param_1)

{
  switch(param_1 & (_S_trunc|_S_out|_S_in|_S_bin|_S_app)) {
  default:
    return (char *)0x0;
  case _S_app:
  case _S_out|_S_app:
    return "a";
  case _S_bin|_S_app:
  case _S_out|_S_bin|_S_app:
    return "ab";
  case _S_in:
    return "r";
  case _S_in|_S_app:
  case _S_out|_S_in|_S_app:
    return "a+";
  case _S_in|_S_bin:
    return "rb";
  case _S_in|_S_bin|_S_app:
  case _S_out|_S_in|_S_bin|_S_app:
    return "a+b";
  case _S_out:
  case _S_trunc|_S_out:
    return "w";
  case _S_out|_S_bin:
  case _S_trunc|_S_out|_S_bin:
    return "wb";
  case _S_out|_S_in:
    return "r+";
  case _S_out|_S_in|_S_bin:
    return "r+b";
  case _S_trunc|_S_out|_S_in:
    return "w+";
  case _S_trunc|_S_out|_S_in|_S_bin:
    return "w+b";
  }
}



/* WARNING: Function: __i686.get_pc_thunk.dx replaced with injection: get_pc_thunk_dx */

char * __regparm3 FUN_002486e0(uint param_1)

{
  switch(param_1 & 0x3d) {
  default:
    return (char *)0x0;
  case 1:
  case 0x11:
    return "a";
  case 5:
  case 0x15:
    return "ab";
  case 8:
    return "r";
  case 9:
  case 0x19:
    return "a+";
  case 0xc:
    return "rb";
  case 0xd:
  case 0x1d:
    return "a+b";
  case 0x10:
  case 0x30:
    return "w";
  case 0x14:
  case 0x34:
    return "wb";
  case 0x18:
    return "r+";
  case 0x1c:
    return "r+b";
  case 0x38:
    return "w+";
  case 0x3c:
    return "w+b";
  }
}


CALL 0x0003a345
ADD EDX,0x1cb91b
AND EAX,0x3d
CMP EAX,0x3c
JA 0x002487c0
MOV ECX,dword ptr [EDX + EAX*0x4 + 0xfff01c6c]
ADD ECX,EDX
JMP ECX
XOR EAX,EAX
RET
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.dx replaced with injection: get_pc_thunk_dx */\n\nchar * __regparm3 FUN_002486e0(uint param_1)\n\n{\n  switch(param_1 & 0x3d) {\n  default:\n    return (char *)0x0;\n  case 1:\n  case 0x11:\n    return "a";\n  case 5:\n  case 0x15:\n    return "ab";\n  case 8:\n    return "r";\n  case 9:\n  case 0x19:\n    return "a+";\n  case 0xc:\n    return "rb";\n  case 0xd:\n  case 0x1d:\n    return "a+b";\n  case 0x10:\n  case 0x30:\n    return "w";\n  case 0x14:\n  case 0x34:\n    return "wb";\n  case 0x18:\n    return "r+";\n  case 0x1c:\n    return "r+b";\n  case 0x38:\n    return "w+";\n  case 0x3c:\n    return "w+b";\n  }\n}\n\n" comment (function_definition "char * __regparm3 FUN_002486e0(uint param_1)\n\n{\n  switch(param_1 & 0x3d) {\n  default:\n    return (char *)0x0;\n  case 1:\n  case 0x11:\n    return "a";\n  case 5:\n  case 0x15:\n    return "ab";\n  case 8:\n    return "r";\n  case 9:\n  case 0x19:\n    return "a+";\n  case 0xc:\n    return "rb";\n  case 0xd:\n  case 0x1d:\n    return "a+b";\n  case 0x10:\n  case 0x30:\n    return "w";\n  case 0x14:\n  case 0x34:\n    return "wb";\n  case 0x18:\n    return "r+";\n  case 0x1c:\n    return "r+b";\n  case 0x38:\n    return "w+";\n  case 0x3c:\n    return "w+b";\n  }\n}" primitive_type (pointer_declarator "* __regparm3 FUN_002486e0(uint param_1)" * (ERROR "__regparm3" identifier) (function_declarator "FUN_002486e0(uint param_1)" identifier (parameter_list "(uint param_1)" ( (parameter_declaration "uint param_1" type_identifier identifier) )))) (compound_statement "{\n  switch(param_1 & 0x3d) {\n  default:\n    return (char *)0x0;\n  case 1:\n  case 0x11:\n    return "a";\n  case 5:\n  case 0x15:\n    return "ab";\n  case 8:\n    return "r";\n  case 9:\n  case 0x19:\n    return "a+";\n  case 0xc:\n    return "rb";\n  case 0xd:\n  case 0x1d:\n    return "a+b";\n  case 0x10:\n  case 0x30:\n    return "w";\n  case 0x14:\n  case 0x34:\n    return "wb";\n  case 0x18:\n    return "r+";\n  case 0x1c:\n    return "r+b";\n  case 0x38:\n    return "w+";\n  case 0x3c:\n    return "w+b";\n  }\n}" { (switch_statement "switch(param_1 & 0x3d) {\n  default:\n    return (char *)0x0;\n  case 1:\n  case 0x11:\n    return "a";\n  case 5:\n  case 0x15:\n    return "ab";\n  case 8:\n    return "r";\n  case 9:\n  case 0x19:\n    return "a+";\n  case 0xc:\n    return "rb";\n  case 0xd:\n  case 0x1d:\n    return "a+b";\n  case 0x10:\n  case 0x30:\n    return "w";\n  case 0x14:\n  case 0x34:\n    return "wb";\n  case 0x18:\n    return "r+";\n  case 0x1c:\n    return "r+b";\n  case 0x38:\n    return "w+";\n  case 0x3c:\n    return "w+b";\n  }" switch (parenthesized_expression "(param_1 & 0x3d)" ( (binary_expression "param_1 & 0x3d" identifier & number_literal) )) (compound_statement "{\n  default:\n    return (char *)0x0;\n  case 1:\n  case 0x11:\n    return "a";\n  case 5:\n  case 0x15:\n    return "ab";\n  case 8:\n    return "r";\n  case 9:\n  case 0x19:\n    return "a+";\n  case 0xc:\n    return "rb";\n  case 0xd:\n  case 0x1d:\n    return "a+b";\n  case 0x10:\n  case 0x30:\n    return "w";\n  case 0x14:\n  case 0x34:\n    return "wb";\n  case 0x18:\n    return "r+";\n  case 0x1c:\n    return "r+b";\n  case 0x38:\n    return "w+";\n  case 0x3c:\n    return "w+b";\n  }" { (case_statement "default:\n    return (char *)0x0;" default : (return_statement "return (char *)0x0;" return (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;)) (case_statement "case 1:" case number_literal :) (case_statement "case 0x11:\n    return "a";" case number_literal : (return_statement "return "a";" return (string_literal ""a"" " string_content ") ;)) (case_statement "case 5:" case number_literal :) (case_statement "case 0x15:\n    return "ab";" case number_literal : (return_statement "return "ab";" return (string_literal ""ab"" " string_content ") ;)) (case_statement "case 8:\n    return "r";" case number_literal : (return_statement "return "r";" return (string_literal ""r"" " string_content ") ;)) (case_statement "case 9:" case number_literal :) (case_statement "case 0x19:\n    return "a+";" case number_literal : (return_statement "return "a+";" return (string_literal ""a+"" " string_content ") ;)) (case_statement "case 0xc:\n    return "rb";" case number_literal : (return_statement "return "rb";" return (string_literal ""rb"" " string_content ") ;)) (case_statement "case 0xd:" case number_literal :) (case_statement "case 0x1d:\n    return "a+b";" case number_literal : (return_statement "return "a+b";" return (string_literal ""a+b"" " string_content ") ;)) (case_statement "case 0x10:" case number_literal :) (case_statement "case 0x30:\n    return "w";" case number_literal : (return_statement "return "w";" return (string_literal ""w"" " string_content ") ;)) (case_statement "case 0x14:" case number_literal :) (case_statement "case 0x34:\n    return "wb";" case number_literal : (return_statement "return "wb";" return (string_literal ""wb"" " string_content ") ;)) (case_statement "case 0x18:\n    return "r+";" case number_literal : (return_statement "return "r+";" return (string_literal ""r+"" " string_content ") ;)) (case_statement "case 0x1c:\n    return "r+b";" case number_literal : (return_statement "return "r+b";" return (string_literal ""r+b"" " string_content ") ;)) (case_statement "case 0x38:\n    return "w+";" case number_literal : (return_statement "return "w+";" return (string_literal ""w+"" " string_content ") ;)) (case_statement "case 0x3c:\n    return "w+b";" case number_literal : (return_statement "return "w+b";" return (string_literal ""w+b"" " string_content ") ;)) })) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.dx replaced with injection: get_pc_thunk_dx */\n/* (anonymous namespace)::fopen_mode(std::_Ios_Openmode) */\n\nchar * __regparm3 (anonymous_namespace)::fopen_mode(_Ios_Openmode param_1)\n\n{\n  switch(param_1 & (_S_trunc|_S_out|_S_in|_S_bin|_S_app)) {\n  default:\n    return (char *)0x0;\n  case _S_app:\n  case _S_out|_S_app:\n    return "a";\n  case _S_bin|_S_app:\n  case _S_out|_S_bin|_S_app:\n    return "ab";\n  case _S_in:\n    return "r";\n  case _S_in|_S_app:\n  case _S_out|_S_in|_S_app:\n    return "a+";\n  case _S_in|_S_bin:\n    return "rb";\n  case _S_in|_S_bin|_S_app:\n  case _S_out|_S_in|_S_bin|_S_app:\n    return "a+b";\n  case _S_out:\n  case _S_trunc|_S_out:\n    return "w";\n  case _S_out|_S_bin:\n  case _S_trunc|_S_out|_S_bin:\n    return "wb";\n  case _S_out|_S_in:\n    return "r+";\n  case _S_out|_S_in|_S_bin:\n    return "r+b";\n  case _S_trunc|_S_out|_S_in:\n    return "w+";\n  case _S_trunc|_S_out|_S_in|_S_bin:\n    return "w+b";\n  }\n}\n\n" comment comment (function_definition "char * __regparm3 (anonymous_namespace)::fopen_mode(_Ios_Openmode param_1)\n\n{\n  switch(param_1 & (_S_trunc|_S_out|_S_in|_S_bin|_S_app)) {\n  default:\n    return (char *)0x0;\n  case _S_app:\n  case _S_out|_S_app:\n    return "a";\n  case _S_bin|_S_app:\n  case _S_out|_S_bin|_S_app:\n    return "ab";\n  case _S_in:\n    return "r";\n  case _S_in|_S_app:\n  case _S_out|_S_in|_S_app:\n    return "a+";\n  case _S_in|_S_bin:\n    return "rb";\n  case _S_in|_S_bin|_S_app:\n  case _S_out|_S_in|_S_bin|_S_app:\n    return "a+b";\n  case _S_out:\n  case _S_trunc|_S_out:\n    return "w";\n  case _S_out|_S_bin:\n  case _S_trunc|_S_out|_S_bin:\n    return "wb";\n  case _S_out|_S_in:\n    return "r+";\n  case _S_out|_S_in|_S_bin:\n    return "r+b";\n  case _S_trunc|_S_out|_S_in:\n    return "w+";\n  case _S_trunc|_S_out|_S_in|_S_bin:\n    return "w+b";\n  }\n}" primitive_type (pointer_declarator "* __regparm3 (anonymous_namespace)::fopen_mode(_Ios_Openmode param_1)" * (function_declarator "__regparm3 (anonymous_namespace)::fopen_mode(_Ios_Openmode param_1)" identifier (parameter_list "(anonymous_namespace)" ( (parameter_declaration "anonymous_namespace" type_identifier) )) (ERROR "::" : :) (call_expression "fopen_mode(_Ios_Openmode param_1)" identifier (argument_list "(_Ios_Openmode param_1)" ( identifier (ERROR "param_1" identifier) ))))) (compound_statement "{\n  switch(param_1 & (_S_trunc|_S_out|_S_in|_S_bin|_S_app)) {\n  default:\n    return (char *)0x0;\n  case _S_app:\n  case _S_out|_S_app:\n    return "a";\n  case _S_bin|_S_app:\n  case _S_out|_S_bin|_S_app:\n    return "ab";\n  case _S_in:\n    return "r";\n  case _S_in|_S_app:\n  case _S_out|_S_in|_S_app:\n    return "a+";\n  case _S_in|_S_bin:\n    return "rb";\n  case _S_in|_S_bin|_S_app:\n  case _S_out|_S_in|_S_bin|_S_app:\n    return "a+b";\n  case _S_out:\n  case _S_trunc|_S_out:\n    return "w";\n  case _S_out|_S_bin:\n  case _S_trunc|_S_out|_S_bin:\n    return "wb";\n  case _S_out|_S_in:\n    return "r+";\n  case _S_out|_S_in|_S_bin:\n    return "r+b";\n  case _S_trunc|_S_out|_S_in:\n    return "w+";\n  case _S_trunc|_S_out|_S_in|_S_bin:\n    return "w+b";\n  }\n}" { (switch_statement "switch(param_1 & (_S_trunc|_S_out|_S_in|_S_bin|_S_app)) {\n  default:\n    return (char *)0x0;\n  case _S_app:\n  case _S_out|_S_app:\n    return "a";\n  case _S_bin|_S_app:\n  case _S_out|_S_bin|_S_app:\n    return "ab";\n  case _S_in:\n    return "r";\n  case _S_in|_S_app:\n  case _S_out|_S_in|_S_app:\n    return "a+";\n  case _S_in|_S_bin:\n    return "rb";\n  case _S_in|_S_bin|_S_app:\n  case _S_out|_S_in|_S_bin|_S_app:\n    return "a+b";\n  case _S_out:\n  case _S_trunc|_S_out:\n    return "w";\n  case _S_out|_S_bin:\n  case _S_trunc|_S_out|_S_bin:\n    return "wb";\n  case _S_out|_S_in:\n    return "r+";\n  case _S_out|_S_in|_S_bin:\n    return "r+b";\n  case _S_trunc|_S_out|_S_in:\n    return "w+";\n  case _S_trunc|_S_out|_S_in|_S_bin:\n    return "w+b";\n  }" switch (parenthesized_expression "(param_1 & (_S_trunc|_S_out|_S_in|_S_bin|_S_app))" ( (binary_expression "param_1 & (_S_trunc|_S_out|_S_in|_S_bin|_S_app)" identifier & (parenthesized_expression "(_S_trunc|_S_out|_S_in|_S_bin|_S_app)" ( (binary_expression "_S_trunc|_S_out|_S_in|_S_bin|_S_app" (binary_expression "_S_trunc|_S_out|_S_in|_S_bin" (binary_expression "_S_trunc|_S_out|_S_in" (binary_expression "_S_trunc|_S_out" identifier | identifier) | identifier) | identifier) | identifier) ))) )) (compound_statement "{\n  default:\n    return (char *)0x0;\n  case _S_app:\n  case _S_out|_S_app:\n    return "a";\n  case _S_bin|_S_app:\n  case _S_out|_S_bin|_S_app:\n    return "ab";\n  case _S_in:\n    return "r";\n  case _S_in|_S_app:\n  case _S_out|_S_in|_S_app:\n    return "a+";\n  case _S_in|_S_bin:\n    return "rb";\n  case _S_in|_S_bin|_S_app:\n  case _S_out|_S_in|_S_bin|_S_app:\n    return "a+b";\n  case _S_out:\n  case _S_trunc|_S_out:\n    return "w";\n  case _S_out|_S_bin:\n  case _S_trunc|_S_out|_S_bin:\n    return "wb";\n  case _S_out|_S_in:\n    return "r+";\n  case _S_out|_S_in|_S_bin:\n    return "r+b";\n  case _S_trunc|_S_out|_S_in:\n    return "w+";\n  case _S_trunc|_S_out|_S_in|_S_bin:\n    return "w+b";\n  }" { (case_statement "default:\n    return (char *)0x0;" default : (return_statement "return (char *)0x0;" return (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;)) (case_statement "case _S_app:" case identifier :) (case_statement "case _S_out|_S_app:\n    return "a";" case (binary_expression "_S_out|_S_app" identifier | identifier) : (return_statement "return "a";" return (string_literal ""a"" " string_content ") ;)) (case_statement "case _S_bin|_S_app:" case (binary_expression "_S_bin|_S_app" identifier | identifier) :) (case_statement "case _S_out|_S_bin|_S_app:\n    return "ab";" case (binary_expression "_S_out|_S_bin|_S_app" (binary_expression "_S_out|_S_bin" identifier | identifier) | identifier) : (return_statement "return "ab";" return (string_literal ""ab"" " string_content ") ;)) (case_statement "case _S_in:\n    return "r";" case identifier : (return_statement "return "r";" return (string_literal ""r"" " string_content ") ;)) (case_statement "case _S_in|_S_app:" case (binary_expression "_S_in|_S_app" identifier | identifier) :) (case_statement "case _S_out|_S_in|_S_app:\n    return "a+";" case (binary_expression "_S_out|_S_in|_S_app" (binary_expression "_S_out|_S_in" identifier | identifier) | identifier) : (return_statement "return "a+";" return (string_literal ""a+"" " string_content ") ;)) (case_statement "case _S_in|_S_bin:\n    return "rb";" case (binary_expression "_S_in|_S_bin" identifier | identifier) : (return_statement "return "rb";" return (string_literal ""rb"" " string_content ") ;)) (case_statement "case _S_in|_S_bin|_S_app:" case (binary_expression "_S_in|_S_bin|_S_app" (binary_expression "_S_in|_S_bin" identifier | identifier) | identifier) :) (case_statement "case _S_out|_S_in|_S_bin|_S_app:\n    return "a+b";" case (binary_expression "_S_out|_S_in|_S_bin|_S_app" (binary_expression "_S_out|_S_in|_S_bin" (binary_expression "_S_out|_S_in" identifier | identifier) | identifier) | identifier) : (return_statement "return "a+b";" return (string_literal ""a+b"" " string_content ") ;)) (case_statement "case _S_out:" case identifier :) (case_statement "case _S_trunc|_S_out:\n    return "w";" case (binary_expression "_S_trunc|_S_out" identifier | identifier) : (return_statement "return "w";" return (string_literal ""w"" " string_content ") ;)) (case_statement "case _S_out|_S_bin:" case (binary_expression "_S_out|_S_bin" identifier | identifier) :) (case_statement "case _S_trunc|_S_out|_S_bin:\n    return "wb";" case (binary_expression "_S_trunc|_S_out|_S_bin" (binary_expression "_S_trunc|_S_out" identifier | identifier) | identifier) : (return_statement "return "wb";" return (string_literal ""wb"" " string_content ") ;)) (case_statement "case _S_out|_S_in:\n    return "r+";" case (binary_expression "_S_out|_S_in" identifier | identifier) : (return_statement "return "r+";" return (string_literal ""r+"" " string_content ") ;)) (case_statement "case _S_out|_S_in|_S_bin:\n    return "r+b";" case (binary_expression "_S_out|_S_in|_S_bin" (binary_expression "_S_out|_S_in" identifier | identifier) | identifier) : (return_statement "return "r+b";" return (string_literal ""r+b"" " string_content ") ;)) (case_statement "case _S_trunc|_S_out|_S_in:\n    return "w+";" case (binary_expression "_S_trunc|_S_out|_S_in" (binary_expression "_S_trunc|_S_out" identifier | identifier) | identifier) : (return_statement "return "w+";" return (string_literal ""w+"" " string_content ") ;)) (case_statement "case _S_trunc|_S_out|_S_in|_S_bin:\n    return "w+b";" case (binary_expression "_S_trunc|_S_out|_S_in|_S_bin" (binary_expression "_S_trunc|_S_out|_S_in" (binary_expression "_S_trunc|_S_out" identifier | identifier) | identifier) | identifier) : (return_statement "return "w+b";" return (string_literal ""w+b"" " string_content ") ;)) })) })))
(translation_unit "char * __regparm3 FUN_002486e0(uint param_1)\n\n{\n  switch(param_1 & 0x3d) {\n  default:\n    return (char *)0x0;\n  case 1:\n  case 0x11:\n    return "a";\n  case 5:\n  case 0x15:\n    return "ab";\n  case 8:\n    return "r";\n  case 9:\n  case 0x19:\n    return "a+";\n  case 0xc:\n    return "rb";\n  case 0xd:\n  case 0x1d:\n    return "a+b";\n  case 0x10:\n  case 0x30:\n    return "w";\n  case 0x14:\n  case 0x34:\n    return "wb";\n  case 0x18:\n    return "r+";\n  case 0x1c:\n    return "r+b";\n  case 0x38:\n    return "w+";\n  case 0x3c:\n    return "w+b";\n  }\n}\n\n" (function_definition "char * __regparm3 FUN_002486e0(uint param_1)\n\n{\n  switch(param_1 & 0x3d) {\n  default:\n    return (char *)0x0;\n  case 1:\n  case 0x11:\n    return "a";\n  case 5:\n  case 0x15:\n    return "ab";\n  case 8:\n    return "r";\n  case 9:\n  case 0x19:\n    return "a+";\n  case 0xc:\n    return "rb";\n  case 0xd:\n  case 0x1d:\n    return "a+b";\n  case 0x10:\n  case 0x30:\n    return "w";\n  case 0x14:\n  case 0x34:\n    return "wb";\n  case 0x18:\n    return "r+";\n  case 0x1c:\n    return "r+b";\n  case 0x38:\n    return "w+";\n  case 0x3c:\n    return "w+b";\n  }\n}" primitive_type (pointer_declarator "* __regparm3 FUN_002486e0(uint param_1)" * (ERROR "__regparm3" identifier) (function_declarator "FUN_002486e0(uint param_1)" identifier (parameter_list "(uint param_1)" ( (parameter_declaration "uint param_1" type_identifier identifier) )))) (compound_statement "{\n  switch(param_1 & 0x3d) {\n  default:\n    return (char *)0x0;\n  case 1:\n  case 0x11:\n    return "a";\n  case 5:\n  case 0x15:\n    return "ab";\n  case 8:\n    return "r";\n  case 9:\n  case 0x19:\n    return "a+";\n  case 0xc:\n    return "rb";\n  case 0xd:\n  case 0x1d:\n    return "a+b";\n  case 0x10:\n  case 0x30:\n    return "w";\n  case 0x14:\n  case 0x34:\n    return "wb";\n  case 0x18:\n    return "r+";\n  case 0x1c:\n    return "r+b";\n  case 0x38:\n    return "w+";\n  case 0x3c:\n    return "w+b";\n  }\n}" { (switch_statement "switch(param_1 & 0x3d) {\n  default:\n    return (char *)0x0;\n  case 1:\n  case 0x11:\n    return "a";\n  case 5:\n  case 0x15:\n    return "ab";\n  case 8:\n    return "r";\n  case 9:\n  case 0x19:\n    return "a+";\n  case 0xc:\n    return "rb";\n  case 0xd:\n  case 0x1d:\n    return "a+b";\n  case 0x10:\n  case 0x30:\n    return "w";\n  case 0x14:\n  case 0x34:\n    return "wb";\n  case 0x18:\n    return "r+";\n  case 0x1c:\n    return "r+b";\n  case 0x38:\n    return "w+";\n  case 0x3c:\n    return "w+b";\n  }" switch (parenthesized_expression "(param_1 & 0x3d)" ( (binary_expression "param_1 & 0x3d" identifier & number_literal) )) (compound_statement "{\n  default:\n    return (char *)0x0;\n  case 1:\n  case 0x11:\n    return "a";\n  case 5:\n  case 0x15:\n    return "ab";\n  case 8:\n    return "r";\n  case 9:\n  case 0x19:\n    return "a+";\n  case 0xc:\n    return "rb";\n  case 0xd:\n  case 0x1d:\n    return "a+b";\n  case 0x10:\n  case 0x30:\n    return "w";\n  case 0x14:\n  case 0x34:\n    return "wb";\n  case 0x18:\n    return "r+";\n  case 0x1c:\n    return "r+b";\n  case 0x38:\n    return "w+";\n  case 0x3c:\n    return "w+b";\n  }" { (case_statement "default:\n    return (char *)0x0;" default : (return_statement "return (char *)0x0;" return (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;)) (case_statement "case 1:" case number_literal :) (case_statement "case 0x11:\n    return "a";" case number_literal : (return_statement "return "a";" return (string_literal ""a"" " string_content ") ;)) (case_statement "case 5:" case number_literal :) (case_statement "case 0x15:\n    return "ab";" case number_literal : (return_statement "return "ab";" return (string_literal ""ab"" " string_content ") ;)) (case_statement "case 8:\n    return "r";" case number_literal : (return_statement "return "r";" return (string_literal ""r"" " string_content ") ;)) (case_statement "case 9:" case number_literal :) (case_statement "case 0x19:\n    return "a+";" case number_literal : (return_statement "return "a+";" return (string_literal ""a+"" " string_content ") ;)) (case_statement "case 0xc:\n    return "rb";" case number_literal : (return_statement "return "rb";" return (string_literal ""rb"" " string_content ") ;)) (case_statement "case 0xd:" case number_literal :) (case_statement "case 0x1d:\n    return "a+b";" case number_literal : (return_statement "return "a+b";" return (string_literal ""a+b"" " string_content ") ;)) (case_statement "case 0x10:" case number_literal :) (case_statement "case 0x30:\n    return "w";" case number_literal : (return_statement "return "w";" return (string_literal ""w"" " string_content ") ;)) (case_statement "case 0x14:" case number_literal :) (case_statement "case 0x34:\n    return "wb";" case number_literal : (return_statement "return "wb";" return (string_literal ""wb"" " string_content ") ;)) (case_statement "case 0x18:\n    return "r+";" case number_literal : (return_statement "return "r+";" return (string_literal ""r+"" " string_content ") ;)) (case_statement "case 0x1c:\n    return "r+b";" case number_literal : (return_statement "return "r+b";" return (string_literal ""r+b"" " string_content ") ;)) (case_statement "case 0x38:\n    return "w+";" case number_literal : (return_statement "return "w+";" return (string_literal ""w+"" " string_content ") ;)) (case_statement "case 0x3c:\n    return "w+b";" case number_literal : (return_statement "return "w+b";" return (string_literal ""w+b"" " string_content ") ;)) })) })))
(translation_unit (function_definition TYPE (pointer_declarator * (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) )))) (compound_statement { (switch_statement switch (parenthesized_expression ( (binary_expression IDENT & LIT) )) (compound_statement { (case_statement default : (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) ;)) (case_statement case LIT :) (case_statement case LIT : (return_statement return (string_literal " string_content ") ;)) (case_statement case LIT :) (case_statement case LIT : (return_statement return (string_literal " string_content ") ;)) (case_statement case LIT : (return_statement return (string_literal " string_content ") ;)) (case_statement case LIT :) (case_statement case LIT : (return_statement return (string_literal " string_content ") ;)) (case_statement case LIT : (return_statement return (string_literal " string_content ") ;)) (case_statement case LIT :) (case_statement case LIT : (return_statement return (string_literal " string_content ") ;)) (case_statement case LIT :) (case_statement case LIT : (return_statement return (string_literal " string_content ") ;)) (case_statement case LIT :) (case_statement case LIT : (return_statement return (string_literal " string_content ") ;)) (case_statement case LIT : (return_statement return (string_literal " string_content ") ;)) (case_statement case LIT : (return_statement return (string_literal " string_content ") ;)) (case_statement case LIT : (return_statement return (string_literal " string_content ") ;)) (case_statement case LIT : (return_statement return (string_literal " string_content ") ;)) })) })))
(function_definition "char * __regparm3 FUN_002486e0(uint param_1)\n\n{\n  switch(param_1 & 0x3d) {\n  default:\n    return (char *)0x0;\n  case 1:\n  case 0x11:\n    return "a";\n  case 5:\n  case 0x15:\n    return "ab";\n  case 8:\n    return "r";\n  case 9:\n  case 0x19:\n    return "a+";\n  case 0xc:\n    return "rb";\n  case 0xd:\n  case 0x1d:\n    return "a+b";\n  case 0x10:\n  case 0x30:\n    return "w";\n  case 0x14:\n  case 0x34:\n    return "wb";\n  case 0x18:\n    return "r+";\n  case 0x1c:\n    return "r+b";\n  case 0x38:\n    return "w+";\n  case 0x3c:\n    return "w+b";\n  }\n}" (primitive_type "char") (pointer_declarator "* __regparm3 FUN_002486e0(uint param_1)" (* "*") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_002486e0(uint param_1)" (identifier "FUN_002486e0") (parameter_list "(uint param_1)" (( "(") (parameter_declaration "uint param_1" (type_identifier "uint") (identifier "param_1")) () ")")))) (compound_statement "{\n  switch(param_1 & 0x3d) {\n  default:\n    return (char *)0x0;\n  case 1:\n  case 0x11:\n    return "a";\n  case 5:\n  case 0x15:\n    return "ab";\n  case 8:\n    return "r";\n  case 9:\n  case 0x19:\n    return "a+";\n  case 0xc:\n    return "rb";\n  case 0xd:\n  case 0x1d:\n    return "a+b";\n  case 0x10:\n  case 0x30:\n    return "w";\n  case 0x14:\n  case 0x34:\n    return "wb";\n  case 0x18:\n    return "r+";\n  case 0x1c:\n    return "r+b";\n  case 0x38:\n    return "w+";\n  case 0x3c:\n    return "w+b";\n  }\n}" ({ "{") (switch_statement "switch(param_1 & 0x3d) {\n  default:\n    return (char *)0x0;\n  case 1:\n  case 0x11:\n    return "a";\n  case 5:\n  case 0x15:\n    return "ab";\n  case 8:\n    return "r";\n  case 9:\n  case 0x19:\n    return "a+";\n  case 0xc:\n    return "rb";\n  case 0xd:\n  case 0x1d:\n    return "a+b";\n  case 0x10:\n  case 0x30:\n    return "w";\n  case 0x14:\n  case 0x34:\n    return "wb";\n  case 0x18:\n    return "r+";\n  case 0x1c:\n    return "r+b";\n  case 0x38:\n    return "w+";\n  case 0x3c:\n    return "w+b";\n  }" (switch "switch") (parenthesized_expression "(param_1 & 0x3d)" (( "(") (binary_expression "param_1 & 0x3d" (identifier "param_1") (& "&") (number_literal "0x3d")) () ")")) (compound_statement "{\n  default:\n    return (char *)0x0;\n  case 1:\n  case 0x11:\n    return "a";\n  case 5:\n  case 0x15:\n    return "ab";\n  case 8:\n    return "r";\n  case 9:\n  case 0x19:\n    return "a+";\n  case 0xc:\n    return "rb";\n  case 0xd:\n  case 0x1d:\n    return "a+b";\n  case 0x10:\n  case 0x30:\n    return "w";\n  case 0x14:\n  case 0x34:\n    return "wb";\n  case 0x18:\n    return "r+";\n  case 0x1c:\n    return "r+b";\n  case 0x38:\n    return "w+";\n  case 0x3c:\n    return "w+b";\n  }" ({ "{") (case_statement "default:\n    return (char *)0x0;" (default "default") (: ":") (return_statement "return (char *)0x0;" (return "return") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (; ";"))) (case_statement "case 1:" (case "case") (number_literal "1") (: ":")) (case_statement "case 0x11:\n    return "a";" (case "case") (number_literal "0x11") (: ":") (return_statement "return "a";" (return "return") (string_literal ""a"" (" """) (string_content "a") (" """)) (; ";"))) (case_statement "case 5:" (case "case") (number_literal "5") (: ":")) (case_statement "case 0x15:\n    return "ab";" (case "case") (number_literal "0x15") (: ":") (return_statement "return "ab";" (return "return") (string_literal ""ab"" (" """) (string_content "ab") (" """)) (; ";"))) (case_statement "case 8:\n    return "r";" (case "case") (number_literal "8") (: ":") (return_statement "return "r";" (return "return") (string_literal ""r"" (" """) (string_content "r") (" """)) (; ";"))) (case_statement "case 9:" (case "case") (number_literal "9") (: ":")) (case_statement "case 0x19:\n    return "a+";" (case "case") (number_literal "0x19") (: ":") (return_statement "return "a+";" (return "return") (string_literal ""a+"" (" """) (string_content "a+") (" """)) (; ";"))) (case_statement "case 0xc:\n    return "rb";" (case "case") (number_literal "0xc") (: ":") (return_statement "return "rb";" (return "return") (string_literal ""rb"" (" """) (string_content "rb") (" """)) (; ";"))) (case_statement "case 0xd:" (case "case") (number_literal "0xd") (: ":")) (case_statement "case 0x1d:\n    return "a+b";" (case "case") (number_literal "0x1d") (: ":") (return_statement "return "a+b";" (return "return") (string_literal ""a+b"" (" """) (string_content "a+b") (" """)) (; ";"))) (case_statement "case 0x10:" (case "case") (number_literal "0x10") (: ":")) (case_statement "case 0x30:\n    return "w";" (case "case") (number_literal "0x30") (: ":") (return_statement "return "w";" (return "return") (string_literal ""w"" (" """) (string_content "w") (" """)) (; ";"))) (case_statement "case 0x14:" (case "case") (number_literal "0x14") (: ":")) (case_statement "case 0x34:\n    return "wb";" (case "case") (number_literal "0x34") (: ":") (return_statement "return "wb";" (return "return") (string_literal ""wb"" (" """) (string_content "wb") (" """)) (; ";"))) (case_statement "case 0x18:\n    return "r+";" (case "case") (number_literal "0x18") (: ":") (return_statement "return "r+";" (return "return") (string_literal ""r+"" (" """) (string_content "r+") (" """)) (; ";"))) (case_statement "case 0x1c:\n    return "r+b";" (case "case") (number_literal "0x1c") (: ":") (return_statement "return "r+b";" (return "return") (string_literal ""r+b"" (" """) (string_content "r+b") (" """)) (; ";"))) (case_statement "case 0x38:\n    return "w+";" (case "case") (number_literal "0x38") (: ":") (return_statement "return "w+";" (return "return") (string_literal ""w+"" (" """) (string_content "w+") (" """)) (; ";"))) (case_statement "case 0x3c:\n    return "w+b";" (case "case") (number_literal "0x3c") (: ":") (return_statement "return "w+b";" (return "return") (string_literal ""w+b"" (" """) (string_content "w+b") (" """)) (; ";"))) (} "}"))) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.dx replaced with injection: get_pc_thunk_dx */
/* (anonymous namespace)::fopen_mode(std::_Ios_Openmode) */

char * function_1 (type_1)::var_1(_Ios_Openmode var_2)

{
  switch(var_2 & (var_3|var_4|var_5|var_6|var_7)) {
  default:
    return (char *)0x0;
  case var_7:
  case var_4|var_7:
    return "a";
  case var_6|var_7:
  case var_4|var_6|var_7:
    return "ab";
  case var_5:
    return "r";
  case var_5|var_7:
  case var_4|var_5|var_7:
    return "a+";
  case var_5|var_6:
    return "rb";
  case var_5|var_6|var_7:
  case var_4|var_5|var_6|var_7:
    return "a+b";
  case var_4:
  case var_3|var_4:
    return "w";
  case var_4|var_6:
  case var_3|var_4|var_6:
    return "wb";
  case var_4|var_5:
    return "r+";
  case var_4|var_5|var_6:
    return "r+b";
  case var_3|var_4|var_5:
    return "w+";
  case var_3|var_4|var_5|var_6:
    return "w+b";
  }
}


(translation_unit (function_definition type: (primitive_type) declarator: (pointer_declarator (ERROR (identifier)) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier))))) body: (compound_statement (switch_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (case_statement (return_statement (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (case_statement value: (number_literal)) (case_statement value: (number_literal) (return_statement (string_literal (string_content)))) (case_statement value: (number_literal)) (case_statement value: (number_literal) (return_statement (string_literal (string_content)))) (case_statement value: (number_literal) (return_statement (string_literal (string_content)))) (case_statement value: (number_literal)) (case_statement value: (number_literal) (return_statement (string_literal (string_content)))) (case_statement value: (number_literal) (return_statement (string_literal (string_content)))) (case_statement value: (number_literal)) (case_statement value: (number_literal) (return_statement (string_literal (string_content)))) (case_statement value: (number_literal)) (case_statement value: (number_literal) (return_statement (string_literal (string_content)))) (case_statement value: (number_literal)) (case_statement value: (number_literal) (return_statement (string_literal (string_content)))) (case_statement value: (number_literal) (return_statement (string_literal (string_content)))) (case_statement value: (number_literal) (return_statement (string_literal (string_content)))) (case_statement value: (number_literal) (return_statement (string_literal (string_content)))) (case_statement value: (number_literal) (return_statement (string_literal (string_content)))))))))

/* WARNING: Function: __i686.get_pc_thunk.dx replaced with injection: get_pc_thunk_dx */

char * __regparm3 MASKED(uint param_1)

{
  switch(param_1 & 0x3d) {
  default:
    return (char *)0x0;
  case 1:
  case 0x11:
    return "a";
  case 5:
  case 0x15:
    return "ab";
  case 8:
    return "r";
  case 9:
  case 0x19:
    return "a+";
  case 0xc:
    return "rb";
  case 0xd:
  case 0x1d:
    return "a+b";
  case 0x10:
  case 0x30:
    return "w";
  case 0x14:
  case 0x34:
    return "wb";
  case 0x18:
    return "r+";
  case 0x1c:
    return "r+b";
  case 0x38:
    return "w+";
  case 0x3c:
    return "w+b";
  }
}

