
/* 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) */

void std::__facet_shims::__time_get<wchar_t>(long *param_1)

{
  char in_stack_00000018;
  
                    /* WARNING (jumptable): Sanity check requires truncation of jumptable */
                    /* WARNING: Could not find normalized switch variable to match jumptable */
  switch(in_stack_00000018 + -100) {
  case '\0':
                    /* WARNING: Could not recover jumptable at 0x002aec62. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    (**(code **)(*param_1 + 0x20))();
    return;
  default:
                    /* WARNING: Could not recover jumptable at 0x002aec4a. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    (**(code **)(*param_1 + 0x38))();
    return;
  case '\t':
                    /* WARNING: Could not recover jumptable at 0x002aec7a. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    (**(code **)(*param_1 + 0x30))();
    return;
  case '\x10':
                    /* WARNING: Could not recover jumptable at 0x002aec92. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    (**(code **)(*param_1 + 0x18))();
    return;
  case '\x13':
                    /* WARNING: Could not recover jumptable at 0x002aec32. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    (**(code **)(*param_1 + 0x28))();
    return;
  }
}



void FUN_002aebf0(long *param_1)

{
  char in_stack_00000018;
  
                    /* WARNING (jumptable): Sanity check requires truncation of jumptable */
                    /* WARNING: Could not find normalized switch variable to match jumptable */
  switch(in_stack_00000018 + -100) {
  case '\0':
                    /* WARNING: Could not recover jumptable at 0x002aec62. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    (**(code **)(*param_1 + 0x20))();
    return;
  default:
                    /* WARNING: Could not recover jumptable at 0x002aec4a. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    (**(code **)(*param_1 + 0x38))();
    return;
  case '\t':
                    /* WARNING: Could not recover jumptable at 0x002aec7a. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    (**(code **)(*param_1 + 0x30))();
    return;
  case '\x10':
                    /* WARNING: Could not recover jumptable at 0x002aec92. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    (**(code **)(*param_1 + 0x18))();
    return;
  case '\x13':
                    /* WARNING: Could not recover jumptable at 0x002aec32. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    (**(code **)(*param_1 + 0x28))();
    return;
  }
}


PUSH RBX
MOVZX EAX,byte ptr [RSP + 0x20]
LEA R10,[0x32a0d8]
MOV R11,qword ptr [RSP + 0x10]
MOV RBX,qword ptr [RSP + 0x18]
SUB EAX,0x64
MOVZX EAX,AL
MOVSXD RAX,dword ptr [R10 + RAX*0x4]
ADD RAX,R10
JMP RAX
MOV RAX,qword ptr [RDI]
MOV qword ptr [RSP + 0x18],RBX
MOV qword ptr [RSP + 0x10],R11
POP RBX
MOV RAX,qword ptr [RAX + 0x28]
JMP RAX
MOV RAX,qword ptr [RDI]
MOV qword ptr [RSP + 0x18],RBX
MOV qword ptr [RSP + 0x10],R11
POP RBX
MOV RAX,qword ptr [RAX + 0x38]
JMP RAX
MOV RAX,qword ptr [RDI]
MOV qword ptr [RSP + 0x18],RBX
MOV qword ptr [RSP + 0x10],R11
POP RBX
MOV RAX,qword ptr [RAX + 0x20]
JMP RAX
MOV RAX,qword ptr [RDI]
MOV qword ptr [RSP + 0x18],RBX
MOV qword ptr [RSP + 0x10],R11
POP RBX
MOV RAX,qword ptr [RAX + 0x30]
JMP RAX
MOV RAX,qword ptr [RDI]
MOV qword ptr [RSP + 0x18],RBX
MOV qword ptr [RSP + 0x10],R11
POP RBX
MOV RAX,qword ptr [RAX + 0x18]
JMP RAX
(translation_unit "void FUN_002aebf0(long *param_1)\n\n{\n  char in_stack_00000018;\n  \n                    /* WARNING (jumptable): Sanity check requires truncation of jumptable */\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n  switch(in_stack_00000018 + -100) {\n  case '\0':\n                    /* WARNING: Could not recover jumptable at 0x002aec62. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x20))();\n    return;\n  default:\n                    /* WARNING: Could not recover jumptable at 0x002aec4a. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x38))();\n    return;\n  case '\t':\n                    /* WARNING: Could not recover jumptable at 0x002aec7a. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x30))();\n    return;\n  case '\x10':\n                    /* WARNING: Could not recover jumptable at 0x002aec92. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x18))();\n    return;\n  case '\x13':\n                    /* WARNING: Could not recover jumptable at 0x002aec32. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x28))();\n    return;\n  }\n}\n\n" (function_definition "void FUN_002aebf0(long *param_1)\n\n{\n  char in_stack_00000018;\n  \n                    /* WARNING (jumptable): Sanity check requires truncation of jumptable */\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n  switch(in_stack_00000018 + -100) {\n  case '\0':\n                    /* WARNING: Could not recover jumptable at 0x002aec62. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x20))();\n    return;\n  default:\n                    /* WARNING: Could not recover jumptable at 0x002aec4a. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x38))();\n    return;\n  case '\t':\n                    /* WARNING: Could not recover jumptable at 0x002aec7a. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x30))();\n    return;\n  case '\x10':\n                    /* WARNING: Could not recover jumptable at 0x002aec92. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x18))();\n    return;\n  case '\x13':\n                    /* WARNING: Could not recover jumptable at 0x002aec32. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x28))();\n    return;\n  }\n}" primitive_type (function_declarator "FUN_002aebf0(long *param_1)" identifier (parameter_list "(long *param_1)" ( (parameter_declaration "long *param_1" (sized_type_specifier "long" long) (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  char in_stack_00000018;\n  \n                    /* WARNING (jumptable): Sanity check requires truncation of jumptable */\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n  switch(in_stack_00000018 + -100) {\n  case '\0':\n                    /* WARNING: Could not recover jumptable at 0x002aec62. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x20))();\n    return;\n  default:\n                    /* WARNING: Could not recover jumptable at 0x002aec4a. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x38))();\n    return;\n  case '\t':\n                    /* WARNING: Could not recover jumptable at 0x002aec7a. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x30))();\n    return;\n  case '\x10':\n                    /* WARNING: Could not recover jumptable at 0x002aec92. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x18))();\n    return;\n  case '\x13':\n                    /* WARNING: Could not recover jumptable at 0x002aec32. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x28))();\n    return;\n  }\n}" { (declaration "char in_stack_00000018;" primitive_type identifier ;) comment comment (switch_statement "switch(in_stack_00000018 + -100) {\n  case '\0':\n                    /* WARNING: Could not recover jumptable at 0x002aec62. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x20))();\n    return;\n  default:\n                    /* WARNING: Could not recover jumptable at 0x002aec4a. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x38))();\n    return;\n  case '\t':\n                    /* WARNING: Could not recover jumptable at 0x002aec7a. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x30))();\n    return;\n  case '\x10':\n                    /* WARNING: Could not recover jumptable at 0x002aec92. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x18))();\n    return;\n  case '\x13':\n                    /* WARNING: Could not recover jumptable at 0x002aec32. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x28))();\n    return;\n  }" switch (parenthesized_expression "(in_stack_00000018 + -100)" ( (binary_expression "in_stack_00000018 + -100" identifier + number_literal) )) (compound_statement "{\n  case '\0':\n                    /* WARNING: Could not recover jumptable at 0x002aec62. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x20))();\n    return;\n  default:\n                    /* WARNING: Could not recover jumptable at 0x002aec4a. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x38))();\n    return;\n  case '\t':\n                    /* WARNING: Could not recover jumptable at 0x002aec7a. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x30))();\n    return;\n  case '\x10':\n                    /* WARNING: Could not recover jumptable at 0x002aec92. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x18))();\n    return;\n  case '\x13':\n                    /* WARNING: Could not recover jumptable at 0x002aec32. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x28))();\n    return;\n  }" { (case_statement "case '\0':\n                    /* WARNING: Could not recover jumptable at 0x002aec62. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x20))();\n    return;" case (char_literal "'\0'" ' escape_sequence ') : comment comment (expression_statement "(**(code **)(*param_1 + 0x20))();" (call_expression "(**(code **)(*param_1 + 0x20))()" (parenthesized_expression "(**(code **)(*param_1 + 0x20))" ( (pointer_expression "**(code **)(*param_1 + 0x20)" * (pointer_expression "*(code **)(*param_1 + 0x20)" * (cast_expression "(code **)(*param_1 + 0x20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x20)" ( (binary_expression "*param_1 + 0x20" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;)) (case_statement "default:\n                    /* WARNING: Could not recover jumptable at 0x002aec4a. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x38))();\n    return;" default : comment comment (expression_statement "(**(code **)(*param_1 + 0x38))();" (call_expression "(**(code **)(*param_1 + 0x38))()" (parenthesized_expression "(**(code **)(*param_1 + 0x38))" ( (pointer_expression "**(code **)(*param_1 + 0x38)" * (pointer_expression "*(code **)(*param_1 + 0x38)" * (cast_expression "(code **)(*param_1 + 0x38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x38)" ( (binary_expression "*param_1 + 0x38" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;)) (case_statement "case '\t':\n                    /* WARNING: Could not recover jumptable at 0x002aec7a. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x30))();\n    return;" case (char_literal "'\t'" ' escape_sequence ') : comment comment (expression_statement "(**(code **)(*param_1 + 0x30))();" (call_expression "(**(code **)(*param_1 + 0x30))()" (parenthesized_expression "(**(code **)(*param_1 + 0x30))" ( (pointer_expression "**(code **)(*param_1 + 0x30)" * (pointer_expression "*(code **)(*param_1 + 0x30)" * (cast_expression "(code **)(*param_1 + 0x30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x30)" ( (binary_expression "*param_1 + 0x30" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;)) (case_statement "case '\x10':\n                    /* WARNING: Could not recover jumptable at 0x002aec92. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x18))();\n    return;" case (char_literal "'\x10'" ' escape_sequence ') : comment comment (expression_statement "(**(code **)(*param_1 + 0x18))();" (call_expression "(**(code **)(*param_1 + 0x18))()" (parenthesized_expression "(**(code **)(*param_1 + 0x18))" ( (pointer_expression "**(code **)(*param_1 + 0x18)" * (pointer_expression "*(code **)(*param_1 + 0x18)" * (cast_expression "(code **)(*param_1 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x18)" ( (binary_expression "*param_1 + 0x18" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;)) (case_statement "case '\x13':\n                    /* WARNING: Could not recover jumptable at 0x002aec32. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x28))();\n    return;" case (char_literal "'\x13'" ' escape_sequence ') : comment comment (expression_statement "(**(code **)(*param_1 + 0x28))();" (call_expression "(**(code **)(*param_1 + 0x28))()" (parenthesized_expression "(**(code **)(*param_1 + 0x28))" ( (pointer_expression "**(code **)(*param_1 + 0x28)" * (pointer_expression "*(code **)(*param_1 + 0x28)" * (cast_expression "(code **)(*param_1 + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x28)" ( (binary_expression "*param_1 + 0x28" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;)) })) })))
(translation_unit "/* 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\nvoid std::__facet_shims::__time_get<wchar_t>(long *param_1)\n\n{\n  char in_stack_00000018;\n  \n                    /* WARNING (jumptable): Sanity check requires truncation of jumptable */\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n  switch(in_stack_00000018 + -100) {\n  case '\0':\n                    /* WARNING: Could not recover jumptable at 0x002aec62. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x20))();\n    return;\n  default:\n                    /* WARNING: Could not recover jumptable at 0x002aec4a. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x38))();\n    return;\n  case '\t':\n                    /* WARNING: Could not recover jumptable at 0x002aec7a. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x30))();\n    return;\n  case '\x10':\n                    /* WARNING: Could not recover jumptable at 0x002aec92. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x18))();\n    return;\n  case '\x13':\n                    /* WARNING: Could not recover jumptable at 0x002aec32. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x28))();\n    return;\n  }\n}\n\n" comment (function_definition "void std::__facet_shims::__time_get<wchar_t>(long *param_1)\n\n{\n  char in_stack_00000018;\n  \n                    /* WARNING (jumptable): Sanity check requires truncation of jumptable */\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n  switch(in_stack_00000018 + -100) {\n  case '\0':\n                    /* WARNING: Could not recover jumptable at 0x002aec62. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x20))();\n    return;\n  default:\n                    /* WARNING: Could not recover jumptable at 0x002aec4a. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x38))();\n    return;\n  case '\t':\n                    /* WARNING: Could not recover jumptable at 0x002aec7a. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x30))();\n    return;\n  case '\x10':\n                    /* WARNING: Could not recover jumptable at 0x002aec92. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x18))();\n    return;\n  case '\x13':\n                    /* WARNING: Could not recover jumptable at 0x002aec32. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x28))();\n    return;\n  }\n}" primitive_type (ERROR "std::__facet_shims::__time_get<wchar_t>(long" identifier : : identifier : : identifier < identifier > ( long) (pointer_declarator "*param_1" * identifier) (ERROR ")" )) (compound_statement "{\n  char in_stack_00000018;\n  \n                    /* WARNING (jumptable): Sanity check requires truncation of jumptable */\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n  switch(in_stack_00000018 + -100) {\n  case '\0':\n                    /* WARNING: Could not recover jumptable at 0x002aec62. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x20))();\n    return;\n  default:\n                    /* WARNING: Could not recover jumptable at 0x002aec4a. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x38))();\n    return;\n  case '\t':\n                    /* WARNING: Could not recover jumptable at 0x002aec7a. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x30))();\n    return;\n  case '\x10':\n                    /* WARNING: Could not recover jumptable at 0x002aec92. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x18))();\n    return;\n  case '\x13':\n                    /* WARNING: Could not recover jumptable at 0x002aec32. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x28))();\n    return;\n  }\n}" { (declaration "char in_stack_00000018;" primitive_type identifier ;) comment comment (switch_statement "switch(in_stack_00000018 + -100) {\n  case '\0':\n                    /* WARNING: Could not recover jumptable at 0x002aec62. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x20))();\n    return;\n  default:\n                    /* WARNING: Could not recover jumptable at 0x002aec4a. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x38))();\n    return;\n  case '\t':\n                    /* WARNING: Could not recover jumptable at 0x002aec7a. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x30))();\n    return;\n  case '\x10':\n                    /* WARNING: Could not recover jumptable at 0x002aec92. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x18))();\n    return;\n  case '\x13':\n                    /* WARNING: Could not recover jumptable at 0x002aec32. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x28))();\n    return;\n  }" switch (parenthesized_expression "(in_stack_00000018 + -100)" ( (binary_expression "in_stack_00000018 + -100" identifier + number_literal) )) (compound_statement "{\n  case '\0':\n                    /* WARNING: Could not recover jumptable at 0x002aec62. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x20))();\n    return;\n  default:\n                    /* WARNING: Could not recover jumptable at 0x002aec4a. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x38))();\n    return;\n  case '\t':\n                    /* WARNING: Could not recover jumptable at 0x002aec7a. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x30))();\n    return;\n  case '\x10':\n                    /* WARNING: Could not recover jumptable at 0x002aec92. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x18))();\n    return;\n  case '\x13':\n                    /* WARNING: Could not recover jumptable at 0x002aec32. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x28))();\n    return;\n  }" { (case_statement "case '\0':\n                    /* WARNING: Could not recover jumptable at 0x002aec62. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x20))();\n    return;" case (char_literal "'\0'" ' escape_sequence ') : comment comment (expression_statement "(**(code **)(*param_1 + 0x20))();" (call_expression "(**(code **)(*param_1 + 0x20))()" (parenthesized_expression "(**(code **)(*param_1 + 0x20))" ( (pointer_expression "**(code **)(*param_1 + 0x20)" * (pointer_expression "*(code **)(*param_1 + 0x20)" * (cast_expression "(code **)(*param_1 + 0x20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x20)" ( (binary_expression "*param_1 + 0x20" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;)) (case_statement "default:\n                    /* WARNING: Could not recover jumptable at 0x002aec4a. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x38))();\n    return;" default : comment comment (expression_statement "(**(code **)(*param_1 + 0x38))();" (call_expression "(**(code **)(*param_1 + 0x38))()" (parenthesized_expression "(**(code **)(*param_1 + 0x38))" ( (pointer_expression "**(code **)(*param_1 + 0x38)" * (pointer_expression "*(code **)(*param_1 + 0x38)" * (cast_expression "(code **)(*param_1 + 0x38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x38)" ( (binary_expression "*param_1 + 0x38" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;)) (case_statement "case '\t':\n                    /* WARNING: Could not recover jumptable at 0x002aec7a. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x30))();\n    return;" case (char_literal "'\t'" ' escape_sequence ') : comment comment (expression_statement "(**(code **)(*param_1 + 0x30))();" (call_expression "(**(code **)(*param_1 + 0x30))()" (parenthesized_expression "(**(code **)(*param_1 + 0x30))" ( (pointer_expression "**(code **)(*param_1 + 0x30)" * (pointer_expression "*(code **)(*param_1 + 0x30)" * (cast_expression "(code **)(*param_1 + 0x30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x30)" ( (binary_expression "*param_1 + 0x30" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;)) (case_statement "case '\x10':\n                    /* WARNING: Could not recover jumptable at 0x002aec92. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x18))();\n    return;" case (char_literal "'\x10'" ' escape_sequence ') : comment comment (expression_statement "(**(code **)(*param_1 + 0x18))();" (call_expression "(**(code **)(*param_1 + 0x18))()" (parenthesized_expression "(**(code **)(*param_1 + 0x18))" ( (pointer_expression "**(code **)(*param_1 + 0x18)" * (pointer_expression "*(code **)(*param_1 + 0x18)" * (cast_expression "(code **)(*param_1 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x18)" ( (binary_expression "*param_1 + 0x18" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;)) (case_statement "case '\x13':\n                    /* WARNING: Could not recover jumptable at 0x002aec32. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(*param_1 + 0x28))();\n    return;" case (char_literal "'\x13'" ' escape_sequence ') : comment comment (expression_statement "(**(code **)(*param_1 + 0x28))();" (call_expression "(**(code **)(*param_1 + 0x28))()" (parenthesized_expression "(**(code **)(*param_1 + 0x28))" ( (pointer_expression "**(code **)(*param_1 + 0x28)" * (pointer_expression "*(code **)(*param_1 + 0x28)" * (cast_expression "(code **)(*param_1 + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x28)" ( (binary_expression "*param_1 + 0x28" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;)) })) })))
(translation_unit "void FUN_002aebf0(long *param_1)\n\n{\n  char in_stack_00000018;\n  \n                    \n                    \n  switch(in_stack_00000018 + -100) {\n  case '\0':\n                    \n                    \n    (**(code **)(*param_1 + 0x20))();\n    return;\n  default:\n                    \n                    \n    (**(code **)(*param_1 + 0x38))();\n    return;\n  case '\t':\n                    \n                    \n    (**(code **)(*param_1 + 0x30))();\n    return;\n  case '\x10':\n                    \n                    \n    (**(code **)(*param_1 + 0x18))();\n    return;\n  case '\x13':\n                    \n                    \n    (**(code **)(*param_1 + 0x28))();\n    return;\n  }\n}\n\n" (function_definition "void FUN_002aebf0(long *param_1)\n\n{\n  char in_stack_00000018;\n  \n                    \n                    \n  switch(in_stack_00000018 + -100) {\n  case '\0':\n                    \n                    \n    (**(code **)(*param_1 + 0x20))();\n    return;\n  default:\n                    \n                    \n    (**(code **)(*param_1 + 0x38))();\n    return;\n  case '\t':\n                    \n                    \n    (**(code **)(*param_1 + 0x30))();\n    return;\n  case '\x10':\n                    \n                    \n    (**(code **)(*param_1 + 0x18))();\n    return;\n  case '\x13':\n                    \n                    \n    (**(code **)(*param_1 + 0x28))();\n    return;\n  }\n}" primitive_type (function_declarator "FUN_002aebf0(long *param_1)" identifier (parameter_list "(long *param_1)" ( (parameter_declaration "long *param_1" (sized_type_specifier "long" long) (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  char in_stack_00000018;\n  \n                    \n                    \n  switch(in_stack_00000018 + -100) {\n  case '\0':\n                    \n                    \n    (**(code **)(*param_1 + 0x20))();\n    return;\n  default:\n                    \n                    \n    (**(code **)(*param_1 + 0x38))();\n    return;\n  case '\t':\n                    \n                    \n    (**(code **)(*param_1 + 0x30))();\n    return;\n  case '\x10':\n                    \n                    \n    (**(code **)(*param_1 + 0x18))();\n    return;\n  case '\x13':\n                    \n                    \n    (**(code **)(*param_1 + 0x28))();\n    return;\n  }\n}" { (declaration "char in_stack_00000018;" primitive_type identifier ;) (switch_statement "switch(in_stack_00000018 + -100) {\n  case '\0':\n                    \n                    \n    (**(code **)(*param_1 + 0x20))();\n    return;\n  default:\n                    \n                    \n    (**(code **)(*param_1 + 0x38))();\n    return;\n  case '\t':\n                    \n                    \n    (**(code **)(*param_1 + 0x30))();\n    return;\n  case '\x10':\n                    \n                    \n    (**(code **)(*param_1 + 0x18))();\n    return;\n  case '\x13':\n                    \n                    \n    (**(code **)(*param_1 + 0x28))();\n    return;\n  }" switch (parenthesized_expression "(in_stack_00000018 + -100)" ( (binary_expression "in_stack_00000018 + -100" identifier + number_literal) )) (compound_statement "{\n  case '\0':\n                    \n                    \n    (**(code **)(*param_1 + 0x20))();\n    return;\n  default:\n                    \n                    \n    (**(code **)(*param_1 + 0x38))();\n    return;\n  case '\t':\n                    \n                    \n    (**(code **)(*param_1 + 0x30))();\n    return;\n  case '\x10':\n                    \n                    \n    (**(code **)(*param_1 + 0x18))();\n    return;\n  case '\x13':\n                    \n                    \n    (**(code **)(*param_1 + 0x28))();\n    return;\n  }" { (case_statement "case '\0':\n                    \n                    \n    (**(code **)(*param_1 + 0x20))();\n    return;" case (char_literal "'\0'" ' escape_sequence ') : (expression_statement "(**(code **)(*param_1 + 0x20))();" (call_expression "(**(code **)(*param_1 + 0x20))()" (parenthesized_expression "(**(code **)(*param_1 + 0x20))" ( (pointer_expression "**(code **)(*param_1 + 0x20)" * (pointer_expression "*(code **)(*param_1 + 0x20)" * (cast_expression "(code **)(*param_1 + 0x20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x20)" ( (binary_expression "*param_1 + 0x20" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;)) (case_statement "default:\n                    \n                    \n    (**(code **)(*param_1 + 0x38))();\n    return;" default : (expression_statement "(**(code **)(*param_1 + 0x38))();" (call_expression "(**(code **)(*param_1 + 0x38))()" (parenthesized_expression "(**(code **)(*param_1 + 0x38))" ( (pointer_expression "**(code **)(*param_1 + 0x38)" * (pointer_expression "*(code **)(*param_1 + 0x38)" * (cast_expression "(code **)(*param_1 + 0x38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x38)" ( (binary_expression "*param_1 + 0x38" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;)) (case_statement "case '\t':\n                    \n                    \n    (**(code **)(*param_1 + 0x30))();\n    return;" case (char_literal "'\t'" ' escape_sequence ') : (expression_statement "(**(code **)(*param_1 + 0x30))();" (call_expression "(**(code **)(*param_1 + 0x30))()" (parenthesized_expression "(**(code **)(*param_1 + 0x30))" ( (pointer_expression "**(code **)(*param_1 + 0x30)" * (pointer_expression "*(code **)(*param_1 + 0x30)" * (cast_expression "(code **)(*param_1 + 0x30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x30)" ( (binary_expression "*param_1 + 0x30" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;)) (case_statement "case '\x10':\n                    \n                    \n    (**(code **)(*param_1 + 0x18))();\n    return;" case (char_literal "'\x10'" ' escape_sequence ') : (expression_statement "(**(code **)(*param_1 + 0x18))();" (call_expression "(**(code **)(*param_1 + 0x18))()" (parenthesized_expression "(**(code **)(*param_1 + 0x18))" ( (pointer_expression "**(code **)(*param_1 + 0x18)" * (pointer_expression "*(code **)(*param_1 + 0x18)" * (cast_expression "(code **)(*param_1 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x18)" ( (binary_expression "*param_1 + 0x18" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;)) (case_statement "case '\x13':\n                    \n                    \n    (**(code **)(*param_1 + 0x28))();\n    return;" case (char_literal "'\x13'" ' escape_sequence ') : (expression_statement "(**(code **)(*param_1 + 0x28))();" (call_expression "(**(code **)(*param_1 + 0x28))()" (parenthesized_expression "(**(code **)(*param_1 + 0x28))" ( (pointer_expression "**(code **)(*param_1 + 0x28)" * (pointer_expression "*(code **)(*param_1 + 0x28)" * (cast_expression "(code **)(*param_1 + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x28)" ( (binary_expression "*param_1 + 0x28" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;)) })) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (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 ( ))) ;) (return_statement return ;)) (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 ( ))) ;) (return_statement return ;)) (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 ( ))) ;) (return_statement return ;)) (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 ( ))) ;) (return_statement return ;)) (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 ( ))) ;) (return_statement return ;)) })) })))
(function_definition "void FUN_002aebf0(long *param_1)\n\n{\n  char in_stack_00000018;\n  \n                    \n                    \n  switch(in_stack_00000018 + -100) {\n  case '\0':\n                    \n                    \n    (**(code **)(*param_1 + 0x20))();\n    return;\n  default:\n                    \n                    \n    (**(code **)(*param_1 + 0x38))();\n    return;\n  case '\t':\n                    \n                    \n    (**(code **)(*param_1 + 0x30))();\n    return;\n  case '\x10':\n                    \n                    \n    (**(code **)(*param_1 + 0x18))();\n    return;\n  case '\x13':\n                    \n                    \n    (**(code **)(*param_1 + 0x28))();\n    return;\n  }\n}" (primitive_type "void") (function_declarator "FUN_002aebf0(long *param_1)" (identifier "FUN_002aebf0") (parameter_list "(long *param_1)" (( "(") (parameter_declaration "long *param_1" (sized_type_specifier "long" (long "long")) (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) () ")"))) (compound_statement "{\n  char in_stack_00000018;\n  \n                    \n                    \n  switch(in_stack_00000018 + -100) {\n  case '\0':\n                    \n                    \n    (**(code **)(*param_1 + 0x20))();\n    return;\n  default:\n                    \n                    \n    (**(code **)(*param_1 + 0x38))();\n    return;\n  case '\t':\n                    \n                    \n    (**(code **)(*param_1 + 0x30))();\n    return;\n  case '\x10':\n                    \n                    \n    (**(code **)(*param_1 + 0x18))();\n    return;\n  case '\x13':\n                    \n                    \n    (**(code **)(*param_1 + 0x28))();\n    return;\n  }\n}" ({ "{") (declaration "char in_stack_00000018;" (primitive_type "char") (identifier "in_stack_00000018") (; ";")) (switch_statement "switch(in_stack_00000018 + -100) {\n  case '\0':\n                    \n                    \n    (**(code **)(*param_1 + 0x20))();\n    return;\n  default:\n                    \n                    \n    (**(code **)(*param_1 + 0x38))();\n    return;\n  case '\t':\n                    \n                    \n    (**(code **)(*param_1 + 0x30))();\n    return;\n  case '\x10':\n                    \n                    \n    (**(code **)(*param_1 + 0x18))();\n    return;\n  case '\x13':\n                    \n                    \n    (**(code **)(*param_1 + 0x28))();\n    return;\n  }" (switch "switch") (parenthesized_expression "(in_stack_00000018 + -100)" (( "(") (binary_expression "in_stack_00000018 + -100" (identifier "in_stack_00000018") (+ "+") (number_literal "-100")) () ")")) (compound_statement "{\n  case '\0':\n                    \n                    \n    (**(code **)(*param_1 + 0x20))();\n    return;\n  default:\n                    \n                    \n    (**(code **)(*param_1 + 0x38))();\n    return;\n  case '\t':\n                    \n                    \n    (**(code **)(*param_1 + 0x30))();\n    return;\n  case '\x10':\n                    \n                    \n    (**(code **)(*param_1 + 0x18))();\n    return;\n  case '\x13':\n                    \n                    \n    (**(code **)(*param_1 + 0x28))();\n    return;\n  }" ({ "{") (case_statement "case '\0':\n                    \n                    \n    (**(code **)(*param_1 + 0x20))();\n    return;" (case "case") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")) (: ":") (expression_statement "(**(code **)(*param_1 + 0x20))();" (call_expression "(**(code **)(*param_1 + 0x20))()" (parenthesized_expression "(**(code **)(*param_1 + 0x20))" (( "(") (pointer_expression "**(code **)(*param_1 + 0x20)" (* "*") (pointer_expression "*(code **)(*param_1 + 0x20)" (* "*") (cast_expression "(code **)(*param_1 + 0x20)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_1 + 0x20)" (( "(") (binary_expression "*param_1 + 0x20" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "0x20")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";"))) (case_statement "default:\n                    \n                    \n    (**(code **)(*param_1 + 0x38))();\n    return;" (default "default") (: ":") (expression_statement "(**(code **)(*param_1 + 0x38))();" (call_expression "(**(code **)(*param_1 + 0x38))()" (parenthesized_expression "(**(code **)(*param_1 + 0x38))" (( "(") (pointer_expression "**(code **)(*param_1 + 0x38)" (* "*") (pointer_expression "*(code **)(*param_1 + 0x38)" (* "*") (cast_expression "(code **)(*param_1 + 0x38)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_1 + 0x38)" (( "(") (binary_expression "*param_1 + 0x38" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "0x38")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";"))) (case_statement "case '\t':\n                    \n                    \n    (**(code **)(*param_1 + 0x30))();\n    return;" (case "case") (char_literal "'\t'" (' "'") (escape_sequence "\t") (' "'")) (: ":") (expression_statement "(**(code **)(*param_1 + 0x30))();" (call_expression "(**(code **)(*param_1 + 0x30))()" (parenthesized_expression "(**(code **)(*param_1 + 0x30))" (( "(") (pointer_expression "**(code **)(*param_1 + 0x30)" (* "*") (pointer_expression "*(code **)(*param_1 + 0x30)" (* "*") (cast_expression "(code **)(*param_1 + 0x30)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_1 + 0x30)" (( "(") (binary_expression "*param_1 + 0x30" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "0x30")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";"))) (case_statement "case '\x10':\n                    \n                    \n    (**(code **)(*param_1 + 0x18))();\n    return;" (case "case") (char_literal "'\x10'" (' "'") (escape_sequence "\x10") (' "'")) (: ":") (expression_statement "(**(code **)(*param_1 + 0x18))();" (call_expression "(**(code **)(*param_1 + 0x18))()" (parenthesized_expression "(**(code **)(*param_1 + 0x18))" (( "(") (pointer_expression "**(code **)(*param_1 + 0x18)" (* "*") (pointer_expression "*(code **)(*param_1 + 0x18)" (* "*") (cast_expression "(code **)(*param_1 + 0x18)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_1 + 0x18)" (( "(") (binary_expression "*param_1 + 0x18" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";"))) (case_statement "case '\x13':\n                    \n                    \n    (**(code **)(*param_1 + 0x28))();\n    return;" (case "case") (char_literal "'\x13'" (' "'") (escape_sequence "\x13") (' "'")) (: ":") (expression_statement "(**(code **)(*param_1 + 0x28))();" (call_expression "(**(code **)(*param_1 + 0x28))()" (parenthesized_expression "(**(code **)(*param_1 + 0x28))" (( "(") (pointer_expression "**(code **)(*param_1 + 0x28)" (* "*") (pointer_expression "*(code **)(*param_1 + 0x28)" (* "*") (cast_expression "(code **)(*param_1 + 0x28)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_1 + 0x28)" (( "(") (binary_expression "*param_1 + 0x28" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "0x28")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";"))) (} "}"))) (} "}")))

/* 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) */

void std::__facet_shims::__time_get<wchar_t>(long *param_1)

{
  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':
                    /* WARNING: Could not recover jumptable at 0x002aec62. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    (**(type_1 **)(*param_1 + 0x20))();
    return;
  default:
                    /* WARNING: Could not recover jumptable at 0x002aec4a. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    (**(type_1 **)(*param_1 + 0x38))();
    return;
  case '\t':
                    /* WARNING: Could not recover jumptable at 0x002aec7a. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    (**(type_1 **)(*param_1 + 0x30))();
    return;
  case '\x10':
                    /* WARNING: Could not recover jumptable at 0x002aec92. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    (**(type_1 **)(*param_1 + 0x18))();
    return;
  case '\x13':
                    /* WARNING: Could not recover jumptable at 0x002aec32. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    (**(type_1 **)(*param_1 + 0x28))();
    return;
  }
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (sized_type_specifier) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (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))) (return_statement)) (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))) (return_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))) (return_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))) (return_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))) (return_statement)))))))

void MASKED(long *param_1)

{
  char in_stack_00000018;
  
                    /* WARNING (jumptable): Sanity check requires truncation of jumptable */
                    /* WARNING: Could not find normalized switch variable to match jumptable */
  switch(in_stack_00000018 + -100) {
  case '\0':
                    /* WARNING: Could not recover jumptable at 0x002aec62. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    (**(code **)(*param_1 + 0x20))();
    return;
  default:
                    /* WARNING: Could not recover jumptable at 0x002aec4a. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    (**(code **)(*param_1 + 0x38))();
    return;
  case '\t':
                    /* WARNING: Could not recover jumptable at 0x002aec7a. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    (**(code **)(*param_1 + 0x30))();
    return;
  case '\x10':
                    /* WARNING: Could not recover jumptable at 0x002aec92. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    (**(code **)(*param_1 + 0x18))();
    return;
  case '\x13':
                    /* WARNING: Could not recover jumptable at 0x002aec32. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    (**(code **)(*param_1 + 0x28))();
    return;
  }
}

