
/* WARNING: Function: __x86.get_pc_thunk.dx replaced with injection: get_pc_thunk_dx */
/* std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >
   std::__facet_shims::__time_get<wchar_t>(std::integral_constant<bool, true>, std::locale::facet
   const*, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >,
   std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::ios_base&,
   std::_Ios_Iostate&, tm*, char) */

undefined4
std::__facet_shims::__time_get<wchar_t>
          (undefined4 param_1,undefined4 param_2,int *param_3,undefined4 param_4,undefined4 param_5,
          undefined4 param_6,undefined4 param_7,undefined4 param_8,undefined4 param_9,
          undefined4 param_10,char param_11)

{
                    /* WARNING (jumptable): Sanity check requires truncation of jumptable */
                    /* WARNING: Could not find normalized switch variable to match jumptable */
  switch(param_11 + -100) {
  case '\0':
    (**(code **)(*param_3 + 0x10))
              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);
    return param_1;
  default:
    (**(code **)(*param_3 + 0x1c))
              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);
    return param_1;
  case '\t':
    (**(code **)(*param_3 + 0x18))
              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);
    return param_1;
  case '\x10':
    (**(code **)(*param_3 + 0xc))
              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);
    return param_1;
  case '\x13':
    (**(code **)(*param_3 + 0x14))
              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);
    return param_1;
  }
}



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

undefined4
FUN_00224fe0(undefined4 param_1,undefined4 param_2,int *param_3,undefined4 param_4,
            undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,
            undefined4 param_9,undefined4 param_10,char param_11)

{
                    /* WARNING (jumptable): Sanity check requires truncation of jumptable */
                    /* WARNING: Could not find normalized switch variable to match jumptable */
  switch(param_11 + -100) {
  case '\0':
    (**(code **)(*param_3 + 0x10))
              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);
    return param_1;
  default:
    (**(code **)(*param_3 + 0x1c))
              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);
    return param_1;
  case '\t':
    (**(code **)(*param_3 + 0x18))
              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);
    return param_1;
  case '\x10':
    (**(code **)(*param_3 + 0xc))
              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);
    return param_1;
  case '\x13':
    (**(code **)(*param_3 + 0x14))
              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);
    return param_1;
  }
}


CALL 0x00035975
ADD EDX,0x16a01b
PUSH EBX
SUB ESP,0x8
MOVZX EAX,byte ptr [ESP + 0x38]
MOV EBX,dword ptr [ESP + 0x10]
MOV ECX,dword ptr [ESP + 0x18]
SUB EAX,0x64
MOVZX EAX,AL
ADD EDX,dword ptr [EDX + EAX*0x4 + 0xfff15b28]
JMP EDX
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.dx replaced with injection: get_pc_thunk_dx */\n\nundefined4\nFUN_00224fe0(undefined4 param_1,undefined4 param_2,int *param_3,undefined4 param_4,\n            undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n            undefined4 param_9,undefined4 param_10,char param_11)\n\n{\n                    /* WARNING (jumptable): Sanity check requires truncation of jumptable */\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n  switch(param_11 + -100) {\n  case '\0':\n    (**(code **)(*param_3 + 0x10))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  default:\n    (**(code **)(*param_3 + 0x1c))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  case '\t':\n    (**(code **)(*param_3 + 0x18))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  case '\x10':\n    (**(code **)(*param_3 + 0xc))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  case '\x13':\n    (**(code **)(*param_3 + 0x14))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  }\n}\n\n" comment (function_definition "undefined4\nFUN_00224fe0(undefined4 param_1,undefined4 param_2,int *param_3,undefined4 param_4,\n            undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n            undefined4 param_9,undefined4 param_10,char param_11)\n\n{\n                    /* WARNING (jumptable): Sanity check requires truncation of jumptable */\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n  switch(param_11 + -100) {\n  case '\0':\n    (**(code **)(*param_3 + 0x10))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  default:\n    (**(code **)(*param_3 + 0x1c))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  case '\t':\n    (**(code **)(*param_3 + 0x18))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  case '\x10':\n    (**(code **)(*param_3 + 0xc))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  case '\x13':\n    (**(code **)(*param_3 + 0x14))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  }\n}" type_identifier (function_declarator "FUN_00224fe0(undefined4 param_1,undefined4 param_2,int *param_3,undefined4 param_4,\n            undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n            undefined4 param_9,undefined4 param_10,char param_11)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2,int *param_3,undefined4 param_4,\n            undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n            undefined4 param_9,undefined4 param_10,char param_11)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "int *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "undefined4 param_5" type_identifier identifier) , (parameter_declaration "undefined4 param_6" type_identifier identifier) , (parameter_declaration "undefined4 param_7" type_identifier identifier) , (parameter_declaration "undefined4 param_8" type_identifier identifier) , (parameter_declaration "undefined4 param_9" type_identifier identifier) , (parameter_declaration "undefined4 param_10" type_identifier identifier) , (parameter_declaration "char param_11" primitive_type identifier) ))) (compound_statement "{\n                    /* WARNING (jumptable): Sanity check requires truncation of jumptable */\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n  switch(param_11 + -100) {\n  case '\0':\n    (**(code **)(*param_3 + 0x10))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  default:\n    (**(code **)(*param_3 + 0x1c))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  case '\t':\n    (**(code **)(*param_3 + 0x18))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  case '\x10':\n    (**(code **)(*param_3 + 0xc))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  case '\x13':\n    (**(code **)(*param_3 + 0x14))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  }\n}" { comment comment (switch_statement "switch(param_11 + -100) {\n  case '\0':\n    (**(code **)(*param_3 + 0x10))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  default:\n    (**(code **)(*param_3 + 0x1c))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  case '\t':\n    (**(code **)(*param_3 + 0x18))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  case '\x10':\n    (**(code **)(*param_3 + 0xc))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  case '\x13':\n    (**(code **)(*param_3 + 0x14))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  }" switch (parenthesized_expression "(param_11 + -100)" ( (binary_expression "param_11 + -100" identifier + number_literal) )) (compound_statement "{\n  case '\0':\n    (**(code **)(*param_3 + 0x10))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  default:\n    (**(code **)(*param_3 + 0x1c))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  case '\t':\n    (**(code **)(*param_3 + 0x18))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  case '\x10':\n    (**(code **)(*param_3 + 0xc))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  case '\x13':\n    (**(code **)(*param_3 + 0x14))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  }" { (case_statement "case '\0':\n    (**(code **)(*param_3 + 0x10))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;" case (char_literal "'\0'" ' escape_sequence ') : (expression_statement "(**(code **)(*param_3 + 0x10))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);" (call_expression "(**(code **)(*param_3 + 0x10))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10)" (parenthesized_expression "(**(code **)(*param_3 + 0x10))" ( (pointer_expression "**(code **)(*param_3 + 0x10)" * (pointer_expression "*(code **)(*param_3 + 0x10)" * (cast_expression "(code **)(*param_3 + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_3 + 0x10)" ( (binary_expression "*param_3 + 0x10" (pointer_expression "*param_3" * identifier) + number_literal) ))))) )) (argument_list "(param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (return_statement "return param_1;" return identifier ;)) (case_statement "default:\n    (**(code **)(*param_3 + 0x1c))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;" default : (expression_statement "(**(code **)(*param_3 + 0x1c))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);" (call_expression "(**(code **)(*param_3 + 0x1c))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10)" (parenthesized_expression "(**(code **)(*param_3 + 0x1c))" ( (pointer_expression "**(code **)(*param_3 + 0x1c)" * (pointer_expression "*(code **)(*param_3 + 0x1c)" * (cast_expression "(code **)(*param_3 + 0x1c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_3 + 0x1c)" ( (binary_expression "*param_3 + 0x1c" (pointer_expression "*param_3" * identifier) + number_literal) ))))) )) (argument_list "(param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (return_statement "return param_1;" return identifier ;)) (case_statement "case '\t':\n    (**(code **)(*param_3 + 0x18))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;" case (char_literal "'\t'" ' escape_sequence ') : (expression_statement "(**(code **)(*param_3 + 0x18))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);" (call_expression "(**(code **)(*param_3 + 0x18))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10)" (parenthesized_expression "(**(code **)(*param_3 + 0x18))" ( (pointer_expression "**(code **)(*param_3 + 0x18)" * (pointer_expression "*(code **)(*param_3 + 0x18)" * (cast_expression "(code **)(*param_3 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_3 + 0x18)" ( (binary_expression "*param_3 + 0x18" (pointer_expression "*param_3" * identifier) + number_literal) ))))) )) (argument_list "(param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (return_statement "return param_1;" return identifier ;)) (case_statement "case '\x10':\n    (**(code **)(*param_3 + 0xc))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;" case (char_literal "'\x10'" ' escape_sequence ') : (expression_statement "(**(code **)(*param_3 + 0xc))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);" (call_expression "(**(code **)(*param_3 + 0xc))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10)" (parenthesized_expression "(**(code **)(*param_3 + 0xc))" ( (pointer_expression "**(code **)(*param_3 + 0xc)" * (pointer_expression "*(code **)(*param_3 + 0xc)" * (cast_expression "(code **)(*param_3 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_3 + 0xc)" ( (binary_expression "*param_3 + 0xc" (pointer_expression "*param_3" * identifier) + number_literal) ))))) )) (argument_list "(param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (return_statement "return param_1;" return identifier ;)) (case_statement "case '\x13':\n    (**(code **)(*param_3 + 0x14))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;" case (char_literal "'\x13'" ' escape_sequence ') : (expression_statement "(**(code **)(*param_3 + 0x14))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);" (call_expression "(**(code **)(*param_3 + 0x14))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10)" (parenthesized_expression "(**(code **)(*param_3 + 0x14))" ( (pointer_expression "**(code **)(*param_3 + 0x14)" * (pointer_expression "*(code **)(*param_3 + 0x14)" * (cast_expression "(code **)(*param_3 + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_3 + 0x14)" ( (binary_expression "*param_3 + 0x14" (pointer_expression "*param_3" * identifier) + number_literal) ))))) )) (argument_list "(param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (return_statement "return param_1;" return identifier ;)) })) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.dx replaced with injection: get_pc_thunk_dx */\n/* std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >\n   std::__facet_shims::__time_get<wchar_t>(std::integral_constant<bool, true>, std::locale::facet\n   const*, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >,\n   std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::ios_base&,\n   std::_Ios_Iostate&, tm*, char) */\n\nundefined4\nstd::__facet_shims::__time_get<wchar_t>\n          (undefined4 param_1,undefined4 param_2,int *param_3,undefined4 param_4,undefined4 param_5,\n          undefined4 param_6,undefined4 param_7,undefined4 param_8,undefined4 param_9,\n          undefined4 param_10,char param_11)\n\n{\n                    /* WARNING (jumptable): Sanity check requires truncation of jumptable */\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n  switch(param_11 + -100) {\n  case '\0':\n    (**(code **)(*param_3 + 0x10))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  default:\n    (**(code **)(*param_3 + 0x1c))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  case '\t':\n    (**(code **)(*param_3 + 0x18))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  case '\x10':\n    (**(code **)(*param_3 + 0xc))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  case '\x13':\n    (**(code **)(*param_3 + 0x14))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  }\n}\n\n" comment comment (function_definition "undefined4\nstd::__facet_shims::__time_get<wchar_t>\n          (undefined4 param_1,undefined4 param_2,int *param_3,undefined4 param_4,undefined4 param_5,\n          undefined4 param_6,undefined4 param_7,undefined4 param_8,undefined4 param_9,\n          undefined4 param_10,char param_11)\n\n{\n                    /* WARNING (jumptable): Sanity check requires truncation of jumptable */\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n  switch(param_11 + -100) {\n  case '\0':\n    (**(code **)(*param_3 + 0x10))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  default:\n    (**(code **)(*param_3 + 0x1c))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  case '\t':\n    (**(code **)(*param_3 + 0x18))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  case '\x10':\n    (**(code **)(*param_3 + 0xc))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  case '\x13':\n    (**(code **)(*param_3 + 0x14))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  }\n}" type_identifier (ERROR "std::__facet_shims::__time_get<" identifier : : identifier : : identifier <) (function_declarator "wchar_t>\n          (undefined4 param_1,undefined4 param_2,int *param_3,undefined4 param_4,undefined4 param_5,\n          undefined4 param_6,undefined4 param_7,undefined4 param_8,undefined4 param_9,\n          undefined4 param_10,char param_11)" identifier (ERROR ">" >) (parameter_list "(undefined4 param_1,undefined4 param_2,int *param_3,undefined4 param_4,undefined4 param_5,\n          undefined4 param_6,undefined4 param_7,undefined4 param_8,undefined4 param_9,\n          undefined4 param_10,char param_11)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "int *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "undefined4 param_5" type_identifier identifier) , (parameter_declaration "undefined4 param_6" type_identifier identifier) , (parameter_declaration "undefined4 param_7" type_identifier identifier) , (parameter_declaration "undefined4 param_8" type_identifier identifier) , (parameter_declaration "undefined4 param_9" type_identifier identifier) , (parameter_declaration "undefined4 param_10" type_identifier identifier) , (parameter_declaration "char param_11" primitive_type identifier) ))) (compound_statement "{\n                    /* WARNING (jumptable): Sanity check requires truncation of jumptable */\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n  switch(param_11 + -100) {\n  case '\0':\n    (**(code **)(*param_3 + 0x10))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  default:\n    (**(code **)(*param_3 + 0x1c))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  case '\t':\n    (**(code **)(*param_3 + 0x18))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  case '\x10':\n    (**(code **)(*param_3 + 0xc))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  case '\x13':\n    (**(code **)(*param_3 + 0x14))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  }\n}" { comment comment (switch_statement "switch(param_11 + -100) {\n  case '\0':\n    (**(code **)(*param_3 + 0x10))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  default:\n    (**(code **)(*param_3 + 0x1c))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  case '\t':\n    (**(code **)(*param_3 + 0x18))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  case '\x10':\n    (**(code **)(*param_3 + 0xc))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  case '\x13':\n    (**(code **)(*param_3 + 0x14))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  }" switch (parenthesized_expression "(param_11 + -100)" ( (binary_expression "param_11 + -100" identifier + number_literal) )) (compound_statement "{\n  case '\0':\n    (**(code **)(*param_3 + 0x10))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  default:\n    (**(code **)(*param_3 + 0x1c))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  case '\t':\n    (**(code **)(*param_3 + 0x18))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  case '\x10':\n    (**(code **)(*param_3 + 0xc))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  case '\x13':\n    (**(code **)(*param_3 + 0x14))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  }" { (case_statement "case '\0':\n    (**(code **)(*param_3 + 0x10))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;" case (char_literal "'\0'" ' escape_sequence ') : (expression_statement "(**(code **)(*param_3 + 0x10))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);" (call_expression "(**(code **)(*param_3 + 0x10))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10)" (parenthesized_expression "(**(code **)(*param_3 + 0x10))" ( (pointer_expression "**(code **)(*param_3 + 0x10)" * (pointer_expression "*(code **)(*param_3 + 0x10)" * (cast_expression "(code **)(*param_3 + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_3 + 0x10)" ( (binary_expression "*param_3 + 0x10" (pointer_expression "*param_3" * identifier) + number_literal) ))))) )) (argument_list "(param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (return_statement "return param_1;" return identifier ;)) (case_statement "default:\n    (**(code **)(*param_3 + 0x1c))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;" default : (expression_statement "(**(code **)(*param_3 + 0x1c))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);" (call_expression "(**(code **)(*param_3 + 0x1c))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10)" (parenthesized_expression "(**(code **)(*param_3 + 0x1c))" ( (pointer_expression "**(code **)(*param_3 + 0x1c)" * (pointer_expression "*(code **)(*param_3 + 0x1c)" * (cast_expression "(code **)(*param_3 + 0x1c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_3 + 0x1c)" ( (binary_expression "*param_3 + 0x1c" (pointer_expression "*param_3" * identifier) + number_literal) ))))) )) (argument_list "(param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (return_statement "return param_1;" return identifier ;)) (case_statement "case '\t':\n    (**(code **)(*param_3 + 0x18))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;" case (char_literal "'\t'" ' escape_sequence ') : (expression_statement "(**(code **)(*param_3 + 0x18))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);" (call_expression "(**(code **)(*param_3 + 0x18))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10)" (parenthesized_expression "(**(code **)(*param_3 + 0x18))" ( (pointer_expression "**(code **)(*param_3 + 0x18)" * (pointer_expression "*(code **)(*param_3 + 0x18)" * (cast_expression "(code **)(*param_3 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_3 + 0x18)" ( (binary_expression "*param_3 + 0x18" (pointer_expression "*param_3" * identifier) + number_literal) ))))) )) (argument_list "(param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (return_statement "return param_1;" return identifier ;)) (case_statement "case '\x10':\n    (**(code **)(*param_3 + 0xc))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;" case (char_literal "'\x10'" ' escape_sequence ') : (expression_statement "(**(code **)(*param_3 + 0xc))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);" (call_expression "(**(code **)(*param_3 + 0xc))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10)" (parenthesized_expression "(**(code **)(*param_3 + 0xc))" ( (pointer_expression "**(code **)(*param_3 + 0xc)" * (pointer_expression "*(code **)(*param_3 + 0xc)" * (cast_expression "(code **)(*param_3 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_3 + 0xc)" ( (binary_expression "*param_3 + 0xc" (pointer_expression "*param_3" * identifier) + number_literal) ))))) )) (argument_list "(param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (return_statement "return param_1;" return identifier ;)) (case_statement "case '\x13':\n    (**(code **)(*param_3 + 0x14))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;" case (char_literal "'\x13'" ' escape_sequence ') : (expression_statement "(**(code **)(*param_3 + 0x14))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);" (call_expression "(**(code **)(*param_3 + 0x14))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10)" (parenthesized_expression "(**(code **)(*param_3 + 0x14))" ( (pointer_expression "**(code **)(*param_3 + 0x14)" * (pointer_expression "*(code **)(*param_3 + 0x14)" * (cast_expression "(code **)(*param_3 + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_3 + 0x14)" ( (binary_expression "*param_3 + 0x14" (pointer_expression "*param_3" * identifier) + number_literal) ))))) )) (argument_list "(param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (return_statement "return param_1;" return identifier ;)) })) })))
(translation_unit "undefined4\nFUN_00224fe0(undefined4 param_1,undefined4 param_2,int *param_3,undefined4 param_4,\n            undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n            undefined4 param_9,undefined4 param_10,char param_11)\n\n{\n                    \n                    \n  switch(param_11 + -100) {\n  case '\0':\n    (**(code **)(*param_3 + 0x10))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  default:\n    (**(code **)(*param_3 + 0x1c))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  case '\t':\n    (**(code **)(*param_3 + 0x18))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  case '\x10':\n    (**(code **)(*param_3 + 0xc))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  case '\x13':\n    (**(code **)(*param_3 + 0x14))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  }\n}\n\n" (function_definition "undefined4\nFUN_00224fe0(undefined4 param_1,undefined4 param_2,int *param_3,undefined4 param_4,\n            undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n            undefined4 param_9,undefined4 param_10,char param_11)\n\n{\n                    \n                    \n  switch(param_11 + -100) {\n  case '\0':\n    (**(code **)(*param_3 + 0x10))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  default:\n    (**(code **)(*param_3 + 0x1c))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  case '\t':\n    (**(code **)(*param_3 + 0x18))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  case '\x10':\n    (**(code **)(*param_3 + 0xc))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  case '\x13':\n    (**(code **)(*param_3 + 0x14))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  }\n}" type_identifier (function_declarator "FUN_00224fe0(undefined4 param_1,undefined4 param_2,int *param_3,undefined4 param_4,\n            undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n            undefined4 param_9,undefined4 param_10,char param_11)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2,int *param_3,undefined4 param_4,\n            undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n            undefined4 param_9,undefined4 param_10,char param_11)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "int *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "undefined4 param_5" type_identifier identifier) , (parameter_declaration "undefined4 param_6" type_identifier identifier) , (parameter_declaration "undefined4 param_7" type_identifier identifier) , (parameter_declaration "undefined4 param_8" type_identifier identifier) , (parameter_declaration "undefined4 param_9" type_identifier identifier) , (parameter_declaration "undefined4 param_10" type_identifier identifier) , (parameter_declaration "char param_11" primitive_type identifier) ))) (compound_statement "{\n                    \n                    \n  switch(param_11 + -100) {\n  case '\0':\n    (**(code **)(*param_3 + 0x10))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  default:\n    (**(code **)(*param_3 + 0x1c))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  case '\t':\n    (**(code **)(*param_3 + 0x18))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  case '\x10':\n    (**(code **)(*param_3 + 0xc))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  case '\x13':\n    (**(code **)(*param_3 + 0x14))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  }\n}" { (switch_statement "switch(param_11 + -100) {\n  case '\0':\n    (**(code **)(*param_3 + 0x10))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  default:\n    (**(code **)(*param_3 + 0x1c))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  case '\t':\n    (**(code **)(*param_3 + 0x18))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  case '\x10':\n    (**(code **)(*param_3 + 0xc))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  case '\x13':\n    (**(code **)(*param_3 + 0x14))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  }" switch (parenthesized_expression "(param_11 + -100)" ( (binary_expression "param_11 + -100" identifier + number_literal) )) (compound_statement "{\n  case '\0':\n    (**(code **)(*param_3 + 0x10))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  default:\n    (**(code **)(*param_3 + 0x1c))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  case '\t':\n    (**(code **)(*param_3 + 0x18))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  case '\x10':\n    (**(code **)(*param_3 + 0xc))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  case '\x13':\n    (**(code **)(*param_3 + 0x14))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  }" { (case_statement "case '\0':\n    (**(code **)(*param_3 + 0x10))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;" case (char_literal "'\0'" ' escape_sequence ') : (expression_statement "(**(code **)(*param_3 + 0x10))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);" (call_expression "(**(code **)(*param_3 + 0x10))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10)" (parenthesized_expression "(**(code **)(*param_3 + 0x10))" ( (pointer_expression "**(code **)(*param_3 + 0x10)" * (pointer_expression "*(code **)(*param_3 + 0x10)" * (cast_expression "(code **)(*param_3 + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_3 + 0x10)" ( (binary_expression "*param_3 + 0x10" (pointer_expression "*param_3" * identifier) + number_literal) ))))) )) (argument_list "(param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (return_statement "return param_1;" return identifier ;)) (case_statement "default:\n    (**(code **)(*param_3 + 0x1c))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;" default : (expression_statement "(**(code **)(*param_3 + 0x1c))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);" (call_expression "(**(code **)(*param_3 + 0x1c))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10)" (parenthesized_expression "(**(code **)(*param_3 + 0x1c))" ( (pointer_expression "**(code **)(*param_3 + 0x1c)" * (pointer_expression "*(code **)(*param_3 + 0x1c)" * (cast_expression "(code **)(*param_3 + 0x1c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_3 + 0x1c)" ( (binary_expression "*param_3 + 0x1c" (pointer_expression "*param_3" * identifier) + number_literal) ))))) )) (argument_list "(param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (return_statement "return param_1;" return identifier ;)) (case_statement "case '\t':\n    (**(code **)(*param_3 + 0x18))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;" case (char_literal "'\t'" ' escape_sequence ') : (expression_statement "(**(code **)(*param_3 + 0x18))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);" (call_expression "(**(code **)(*param_3 + 0x18))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10)" (parenthesized_expression "(**(code **)(*param_3 + 0x18))" ( (pointer_expression "**(code **)(*param_3 + 0x18)" * (pointer_expression "*(code **)(*param_3 + 0x18)" * (cast_expression "(code **)(*param_3 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_3 + 0x18)" ( (binary_expression "*param_3 + 0x18" (pointer_expression "*param_3" * identifier) + number_literal) ))))) )) (argument_list "(param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (return_statement "return param_1;" return identifier ;)) (case_statement "case '\x10':\n    (**(code **)(*param_3 + 0xc))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;" case (char_literal "'\x10'" ' escape_sequence ') : (expression_statement "(**(code **)(*param_3 + 0xc))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);" (call_expression "(**(code **)(*param_3 + 0xc))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10)" (parenthesized_expression "(**(code **)(*param_3 + 0xc))" ( (pointer_expression "**(code **)(*param_3 + 0xc)" * (pointer_expression "*(code **)(*param_3 + 0xc)" * (cast_expression "(code **)(*param_3 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_3 + 0xc)" ( (binary_expression "*param_3 + 0xc" (pointer_expression "*param_3" * identifier) + number_literal) ))))) )) (argument_list "(param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (return_statement "return param_1;" return identifier ;)) (case_statement "case '\x13':\n    (**(code **)(*param_3 + 0x14))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;" case (char_literal "'\x13'" ' escape_sequence ') : (expression_statement "(**(code **)(*param_3 + 0x14))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);" (call_expression "(**(code **)(*param_3 + 0x14))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10)" (parenthesized_expression "(**(code **)(*param_3 + 0x14))" ( (pointer_expression "**(code **)(*param_3 + 0x14)" * (pointer_expression "*(code **)(*param_3 + 0x14)" * (cast_expression "(code **)(*param_3 + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_3 + 0x14)" ( (binary_expression "*param_3 + 0x14" (pointer_expression "*param_3" * identifier) + number_literal) ))))) )) (argument_list "(param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (return_statement "return param_1;" return identifier ;)) })) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (switch_statement switch (parenthesized_expression ( (binary_expression IDENT + LIT) )) (compound_statement { (case_statement case (char_literal ' escape_sequence ') : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT ))) ;) (return_statement return IDENT ;)) (case_statement default : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT ))) ;) (return_statement return IDENT ;)) (case_statement case (char_literal ' escape_sequence ') : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT ))) ;) (return_statement return IDENT ;)) (case_statement case (char_literal ' escape_sequence ') : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT ))) ;) (return_statement return IDENT ;)) (case_statement case (char_literal ' escape_sequence ') : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT ))) ;) (return_statement return IDENT ;)) })) })))
(function_definition "undefined4\nFUN_00224fe0(undefined4 param_1,undefined4 param_2,int *param_3,undefined4 param_4,\n            undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n            undefined4 param_9,undefined4 param_10,char param_11)\n\n{\n                    \n                    \n  switch(param_11 + -100) {\n  case '\0':\n    (**(code **)(*param_3 + 0x10))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  default:\n    (**(code **)(*param_3 + 0x1c))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  case '\t':\n    (**(code **)(*param_3 + 0x18))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  case '\x10':\n    (**(code **)(*param_3 + 0xc))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  case '\x13':\n    (**(code **)(*param_3 + 0x14))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  }\n}" (type_identifier "undefined4") (function_declarator "FUN_00224fe0(undefined4 param_1,undefined4 param_2,int *param_3,undefined4 param_4,\n            undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n            undefined4 param_9,undefined4 param_10,char param_11)" (identifier "FUN_00224fe0") (parameter_list "(undefined4 param_1,undefined4 param_2,int *param_3,undefined4 param_4,\n            undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n            undefined4 param_9,undefined4 param_10,char param_11)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "int *param_3" (primitive_type "int") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) (, ",") (parameter_declaration "undefined4 param_4" (type_identifier "undefined4") (identifier "param_4")) (, ",") (parameter_declaration "undefined4 param_5" (type_identifier "undefined4") (identifier "param_5")) (, ",") (parameter_declaration "undefined4 param_6" (type_identifier "undefined4") (identifier "param_6")) (, ",") (parameter_declaration "undefined4 param_7" (type_identifier "undefined4") (identifier "param_7")) (, ",") (parameter_declaration "undefined4 param_8" (type_identifier "undefined4") (identifier "param_8")) (, ",") (parameter_declaration "undefined4 param_9" (type_identifier "undefined4") (identifier "param_9")) (, ",") (parameter_declaration "undefined4 param_10" (type_identifier "undefined4") (identifier "param_10")) (, ",") (parameter_declaration "char param_11" (primitive_type "char") (identifier "param_11")) () ")"))) (compound_statement "{\n                    \n                    \n  switch(param_11 + -100) {\n  case '\0':\n    (**(code **)(*param_3 + 0x10))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  default:\n    (**(code **)(*param_3 + 0x1c))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  case '\t':\n    (**(code **)(*param_3 + 0x18))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  case '\x10':\n    (**(code **)(*param_3 + 0xc))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  case '\x13':\n    (**(code **)(*param_3 + 0x14))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  }\n}" ({ "{") (switch_statement "switch(param_11 + -100) {\n  case '\0':\n    (**(code **)(*param_3 + 0x10))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  default:\n    (**(code **)(*param_3 + 0x1c))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  case '\t':\n    (**(code **)(*param_3 + 0x18))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  case '\x10':\n    (**(code **)(*param_3 + 0xc))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  case '\x13':\n    (**(code **)(*param_3 + 0x14))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  }" (switch "switch") (parenthesized_expression "(param_11 + -100)" (( "(") (binary_expression "param_11 + -100" (identifier "param_11") (+ "+") (number_literal "-100")) () ")")) (compound_statement "{\n  case '\0':\n    (**(code **)(*param_3 + 0x10))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  default:\n    (**(code **)(*param_3 + 0x1c))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  case '\t':\n    (**(code **)(*param_3 + 0x18))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  case '\x10':\n    (**(code **)(*param_3 + 0xc))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  case '\x13':\n    (**(code **)(*param_3 + 0x14))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;\n  }" ({ "{") (case_statement "case '\0':\n    (**(code **)(*param_3 + 0x10))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;" (case "case") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")) (: ":") (expression_statement "(**(code **)(*param_3 + 0x10))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);" (call_expression "(**(code **)(*param_3 + 0x10))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10)" (parenthesized_expression "(**(code **)(*param_3 + 0x10))" (( "(") (pointer_expression "**(code **)(*param_3 + 0x10)" (* "*") (pointer_expression "*(code **)(*param_3 + 0x10)" (* "*") (cast_expression "(code **)(*param_3 + 0x10)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_3 + 0x10)" (( "(") (binary_expression "*param_3 + 0x10" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (+ "+") (number_literal "0x10")) () ")"))))) () ")")) (argument_list "(param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10)" (( "(") (identifier "param_1") (, ",") (identifier "param_3") (, ",") (identifier "param_4") (, ",") (identifier "param_5") (, ",") (identifier "param_6") (, ",") (identifier "param_7") (, ",") (identifier "param_8") (, ",") (identifier "param_9") (, ",") (identifier "param_10") () ")"))) (; ";")) (return_statement "return param_1;" (return "return") (identifier "param_1") (; ";"))) (case_statement "default:\n    (**(code **)(*param_3 + 0x1c))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;" (default "default") (: ":") (expression_statement "(**(code **)(*param_3 + 0x1c))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);" (call_expression "(**(code **)(*param_3 + 0x1c))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10)" (parenthesized_expression "(**(code **)(*param_3 + 0x1c))" (( "(") (pointer_expression "**(code **)(*param_3 + 0x1c)" (* "*") (pointer_expression "*(code **)(*param_3 + 0x1c)" (* "*") (cast_expression "(code **)(*param_3 + 0x1c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_3 + 0x1c)" (( "(") (binary_expression "*param_3 + 0x1c" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (+ "+") (number_literal "0x1c")) () ")"))))) () ")")) (argument_list "(param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10)" (( "(") (identifier "param_1") (, ",") (identifier "param_3") (, ",") (identifier "param_4") (, ",") (identifier "param_5") (, ",") (identifier "param_6") (, ",") (identifier "param_7") (, ",") (identifier "param_8") (, ",") (identifier "param_9") (, ",") (identifier "param_10") () ")"))) (; ";")) (return_statement "return param_1;" (return "return") (identifier "param_1") (; ";"))) (case_statement "case '\t':\n    (**(code **)(*param_3 + 0x18))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;" (case "case") (char_literal "'\t'" (' "'") (escape_sequence "\t") (' "'")) (: ":") (expression_statement "(**(code **)(*param_3 + 0x18))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);" (call_expression "(**(code **)(*param_3 + 0x18))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10)" (parenthesized_expression "(**(code **)(*param_3 + 0x18))" (( "(") (pointer_expression "**(code **)(*param_3 + 0x18)" (* "*") (pointer_expression "*(code **)(*param_3 + 0x18)" (* "*") (cast_expression "(code **)(*param_3 + 0x18)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_3 + 0x18)" (( "(") (binary_expression "*param_3 + 0x18" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (argument_list "(param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10)" (( "(") (identifier "param_1") (, ",") (identifier "param_3") (, ",") (identifier "param_4") (, ",") (identifier "param_5") (, ",") (identifier "param_6") (, ",") (identifier "param_7") (, ",") (identifier "param_8") (, ",") (identifier "param_9") (, ",") (identifier "param_10") () ")"))) (; ";")) (return_statement "return param_1;" (return "return") (identifier "param_1") (; ";"))) (case_statement "case '\x10':\n    (**(code **)(*param_3 + 0xc))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;" (case "case") (char_literal "'\x10'" (' "'") (escape_sequence "\x10") (' "'")) (: ":") (expression_statement "(**(code **)(*param_3 + 0xc))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);" (call_expression "(**(code **)(*param_3 + 0xc))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10)" (parenthesized_expression "(**(code **)(*param_3 + 0xc))" (( "(") (pointer_expression "**(code **)(*param_3 + 0xc)" (* "*") (pointer_expression "*(code **)(*param_3 + 0xc)" (* "*") (cast_expression "(code **)(*param_3 + 0xc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_3 + 0xc)" (( "(") (binary_expression "*param_3 + 0xc" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (+ "+") (number_literal "0xc")) () ")"))))) () ")")) (argument_list "(param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10)" (( "(") (identifier "param_1") (, ",") (identifier "param_3") (, ",") (identifier "param_4") (, ",") (identifier "param_5") (, ",") (identifier "param_6") (, ",") (identifier "param_7") (, ",") (identifier "param_8") (, ",") (identifier "param_9") (, ",") (identifier "param_10") () ")"))) (; ";")) (return_statement "return param_1;" (return "return") (identifier "param_1") (; ";"))) (case_statement "case '\x13':\n    (**(code **)(*param_3 + 0x14))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);\n    return param_1;" (case "case") (char_literal "'\x13'" (' "'") (escape_sequence "\x13") (' "'")) (: ":") (expression_statement "(**(code **)(*param_3 + 0x14))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);" (call_expression "(**(code **)(*param_3 + 0x14))\n              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10)" (parenthesized_expression "(**(code **)(*param_3 + 0x14))" (( "(") (pointer_expression "**(code **)(*param_3 + 0x14)" (* "*") (pointer_expression "*(code **)(*param_3 + 0x14)" (* "*") (cast_expression "(code **)(*param_3 + 0x14)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_3 + 0x14)" (( "(") (binary_expression "*param_3 + 0x14" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (argument_list "(param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10)" (( "(") (identifier "param_1") (, ",") (identifier "param_3") (, ",") (identifier "param_4") (, ",") (identifier "param_5") (, ",") (identifier "param_6") (, ",") (identifier "param_7") (, ",") (identifier "param_8") (, ",") (identifier "param_9") (, ",") (identifier "param_10") () ")"))) (; ";")) (return_statement "return param_1;" (return "return") (identifier "param_1") (; ";"))) (} "}"))) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.dx replaced with injection: get_pc_thunk_dx */
/* std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >
   std::__facet_shims::__time_get<wchar_t>(std::integral_constant<bool, true>, std::locale::facet
   const*, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >,
   std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::ios_base&,
   std::_Ios_Iostate&, tm*, char) */

type_1
std::__facet_shims::__time_get<function_1>
          (type_1 param_1,type_1 param_2,int *param_3,type_1 param_4,type_1 param_5,
          type_1 param_6,type_1 param_7,type_1 param_8,type_1 param_9,
          type_1 param_10,char var_1)

{
                    /* WARNING (jumptable): Sanity check requires truncation of jumptable */
                    /* WARNING: Could not find normalized switch variable to match jumptable */
  switch(var_1 + -100) {
  case '\0':
    (**(type_2 **)(*param_3 + 0x10))
              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);
    return param_1;
  default:
    (**(type_2 **)(*param_3 + 0x1c))
              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);
    return param_1;
  case '\t':
    (**(type_2 **)(*param_3 + 0x18))
              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);
    return param_1;
  case '\x10':
    (**(type_2 **)(*param_3 + 0xc))
              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);
    return param_1;
  case '\x13':
    (**(type_2 **)(*param_3 + 0x14))
              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);
    return param_1;
  }
}


(translation_unit (function_definition type: (type_identifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)))) body: (compound_statement (switch_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (case_statement value: (char_literal (escape_sequence)) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier)))) (return_statement (identifier))) (case_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier)))) (return_statement (identifier))) (case_statement value: (char_literal (escape_sequence)) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier)))) (return_statement (identifier))) (case_statement value: (char_literal (escape_sequence)) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier)))) (return_statement (identifier))) (case_statement value: (char_literal (escape_sequence)) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier)))) (return_statement (identifier))))))))

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

undefined4
MASKED(undefined4 param_1,undefined4 param_2,int *param_3,undefined4 param_4,
            undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,
            undefined4 param_9,undefined4 param_10,char param_11)

{
                    /* WARNING (jumptable): Sanity check requires truncation of jumptable */
                    /* WARNING: Could not find normalized switch variable to match jumptable */
  switch(param_11 + -100) {
  case '\0':
    (**(code **)(*param_3 + 0x10))
              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);
    return param_1;
  default:
    (**(code **)(*param_3 + 0x1c))
              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);
    return param_1;
  case '\t':
    (**(code **)(*param_3 + 0x18))
              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);
    return param_1;
  case '\x10':
    (**(code **)(*param_3 + 0xc))
              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);
    return param_1;
  case '\x13':
    (**(code **)(*param_3 + 0x14))
              (param_1,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10);
    return param_1;
  }
}

