
/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */

int cplus_demangle_fill_component
              (demangle_component *p,demangle_component_type type,demangle_component *left,
              demangle_component *right)

{
  if (p != (demangle_component *)0x0) {
    switch(type) {
    case DEMANGLE_COMPONENT_VTABLE:
    case DEMANGLE_COMPONENT_VTT:
    case DEMANGLE_COMPONENT_TYPEINFO:
    case DEMANGLE_COMPONENT_TYPEINFO_NAME:
    case DEMANGLE_COMPONENT_TYPEINFO_FN:
    case DEMANGLE_COMPONENT_THUNK:
    case DEMANGLE_COMPONENT_VIRTUAL_THUNK:
    case DEMANGLE_COMPONENT_COVARIANT_THUNK:
    case DEMANGLE_COMPONENT_JAVA_CLASS:
    case DEMANGLE_COMPONENT_GUARD:
    case DEMANGLE_COMPONENT_REFTEMP:
    case DEMANGLE_COMPONENT_RESTRICT:
    case DEMANGLE_COMPONENT_VOLATILE:
    case DEMANGLE_COMPONENT_CONST:
    case DEMANGLE_COMPONENT_RESTRICT_THIS:
    case DEMANGLE_COMPONENT_VOLATILE_THIS:
    case DEMANGLE_COMPONENT_CONST_THIS:
    case DEMANGLE_COMPONENT_POINTER:
    case DEMANGLE_COMPONENT_REFERENCE:
    case DEMANGLE_COMPONENT_RVALUE_REFERENCE:
    case DEMANGLE_COMPONENT_COMPLEX:
    case DEMANGLE_COMPONENT_IMAGINARY:
    case DEMANGLE_COMPONENT_VENDOR_TYPE:
    case DEMANGLE_COMPONENT_CAST:
    case DEMANGLE_COMPONENT_CONVERSION:
      if (right != (demangle_component *)0x0) {
        return 0;
      }
    case DEMANGLE_COMPONENT_QUAL_NAME:
    case DEMANGLE_COMPONENT_LOCAL_NAME:
    case DEMANGLE_COMPONENT_TYPED_NAME:
    case DEMANGLE_COMPONENT_TEMPLATE:
    case DEMANGLE_COMPONENT_CONSTRUCTION_VTABLE:
    case DEMANGLE_COMPONENT_VENDOR_TYPE_QUAL:
    case DEMANGLE_COMPONENT_FUNCTION_TYPE:
    case DEMANGLE_COMPONENT_ARRAY_TYPE:
    case DEMANGLE_COMPONENT_PTRMEM_TYPE:
    case DEMANGLE_COMPONENT_ARGLIST:
    case DEMANGLE_COMPONENT_TEMPLATE_ARGLIST:
    case DEMANGLE_COMPONENT_UNARY:
    case DEMANGLE_COMPONENT_BINARY:
    case DEMANGLE_COMPONENT_BINARY_ARGS:
    case DEMANGLE_COMPONENT_TRINARY:
    case DEMANGLE_COMPONENT_TRINARY_ARG1:
    case DEMANGLE_COMPONENT_TRINARY_ARG2:
    case DEMANGLE_COMPONENT_LITERAL:
    case DEMANGLE_COMPONENT_LITERAL_NEG:
      p->type = type;
      p->d_printing = 0;
      (p->u).s_fixed.length = left;
      (p->u).s_extended_operator.name = right;
      return 1;
    }
  }
  return 0;
}



/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */

undefined4 FUN_001e1960(undefined4 *param_1,undefined4 param_2,undefined4 param_3,int param_4)

{
  if (param_1 != (undefined4 *)0x0) {
    switch(param_2) {
    case 9:
    case 10:
    case 0xc:
    case 0xd:
    case 0xe:
    case 0xf:
    case 0x10:
    case 0x11:
    case 0x12:
    case 0x13:
    case 0x16:
    case 0x19:
    case 0x1a:
    case 0x1b:
    case 0x1c:
    case 0x1d:
    case 0x1e:
    case 0x22:
    case 0x23:
    case 0x24:
    case 0x25:
    case 0x26:
    case 0x28:
    case 0x33:
    case 0x34:
      if (param_4 != 0) {
        return 0;
      }
    case 1:
    case 2:
    case 3:
    case 4:
    case 0xb:
    case 0x21:
    case 0x29:
    case 0x2a:
    case 0x2b:
    case 0x2e:
    case 0x2f:
    case 0x36:
    case 0x37:
    case 0x38:
    case 0x39:
    case 0x3a:
    case 0x3b:
    case 0x3c:
    case 0x3d:
      *param_1 = param_2;
      param_1[1] = 0;
      param_1[2] = param_3;
      param_1[3] = param_4;
      return 1;
    }
  }
  return 0;
}


CALL 0x000559e6
ADD EAX,0x1ad69b
MOV EDX,dword ptr [ESP + 0x4]
MOV ECX,dword ptr [ESP + 0x8]
TEST EDX,EDX
JZ 0x001e19b0
CMP ECX,0x3d
JA 0x001e19b0
ADD EAX,dword ptr [EAX + ECX*0x4 + 0xfff13578]
JMP EAX
XOR EAX,EAX
RET
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n\nundefined4 FUN_001e1960(undefined4 *param_1,undefined4 param_2,undefined4 param_3,int param_4)\n\n{\n  if (param_1 != (undefined4 *)0x0) {\n    switch(param_2) {\n    case 9:\n    case 10:\n    case 0xc:\n    case 0xd:\n    case 0xe:\n    case 0xf:\n    case 0x10:\n    case 0x11:\n    case 0x12:\n    case 0x13:\n    case 0x16:\n    case 0x19:\n    case 0x1a:\n    case 0x1b:\n    case 0x1c:\n    case 0x1d:\n    case 0x1e:\n    case 0x22:\n    case 0x23:\n    case 0x24:\n    case 0x25:\n    case 0x26:\n    case 0x28:\n    case 0x33:\n    case 0x34:\n      if (param_4 != 0) {\n        return 0;\n      }\n    case 1:\n    case 2:\n    case 3:\n    case 4:\n    case 0xb:\n    case 0x21:\n    case 0x29:\n    case 0x2a:\n    case 0x2b:\n    case 0x2e:\n    case 0x2f:\n    case 0x36:\n    case 0x37:\n    case 0x38:\n    case 0x39:\n    case 0x3a:\n    case 0x3b:\n    case 0x3c:\n    case 0x3d:\n      *param_1 = param_2;\n      param_1[1] = 0;\n      param_1[2] = param_3;\n      param_1[3] = param_4;\n      return 1;\n    }\n  }\n  return 0;\n}\n\n" comment (function_definition "undefined4 FUN_001e1960(undefined4 *param_1,undefined4 param_2,undefined4 param_3,int param_4)\n\n{\n  if (param_1 != (undefined4 *)0x0) {\n    switch(param_2) {\n    case 9:\n    case 10:\n    case 0xc:\n    case 0xd:\n    case 0xe:\n    case 0xf:\n    case 0x10:\n    case 0x11:\n    case 0x12:\n    case 0x13:\n    case 0x16:\n    case 0x19:\n    case 0x1a:\n    case 0x1b:\n    case 0x1c:\n    case 0x1d:\n    case 0x1e:\n    case 0x22:\n    case 0x23:\n    case 0x24:\n    case 0x25:\n    case 0x26:\n    case 0x28:\n    case 0x33:\n    case 0x34:\n      if (param_4 != 0) {\n        return 0;\n      }\n    case 1:\n    case 2:\n    case 3:\n    case 4:\n    case 0xb:\n    case 0x21:\n    case 0x29:\n    case 0x2a:\n    case 0x2b:\n    case 0x2e:\n    case 0x2f:\n    case 0x36:\n    case 0x37:\n    case 0x38:\n    case 0x39:\n    case 0x3a:\n    case 0x3b:\n    case 0x3c:\n    case 0x3d:\n      *param_1 = param_2;\n      param_1[1] = 0;\n      param_1[2] = param_3;\n      param_1[3] = param_4;\n      return 1;\n    }\n  }\n  return 0;\n}" type_identifier (function_declarator "FUN_001e1960(undefined4 *param_1,undefined4 param_2,undefined4 param_3,int param_4)" identifier (parameter_list "(undefined4 *param_1,undefined4 param_2,undefined4 param_3,int param_4)" ( (parameter_declaration "undefined4 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "int param_4" primitive_type identifier) ))) (compound_statement "{\n  if (param_1 != (undefined4 *)0x0) {\n    switch(param_2) {\n    case 9:\n    case 10:\n    case 0xc:\n    case 0xd:\n    case 0xe:\n    case 0xf:\n    case 0x10:\n    case 0x11:\n    case 0x12:\n    case 0x13:\n    case 0x16:\n    case 0x19:\n    case 0x1a:\n    case 0x1b:\n    case 0x1c:\n    case 0x1d:\n    case 0x1e:\n    case 0x22:\n    case 0x23:\n    case 0x24:\n    case 0x25:\n    case 0x26:\n    case 0x28:\n    case 0x33:\n    case 0x34:\n      if (param_4 != 0) {\n        return 0;\n      }\n    case 1:\n    case 2:\n    case 3:\n    case 4:\n    case 0xb:\n    case 0x21:\n    case 0x29:\n    case 0x2a:\n    case 0x2b:\n    case 0x2e:\n    case 0x2f:\n    case 0x36:\n    case 0x37:\n    case 0x38:\n    case 0x39:\n    case 0x3a:\n    case 0x3b:\n    case 0x3c:\n    case 0x3d:\n      *param_1 = param_2;\n      param_1[1] = 0;\n      param_1[2] = param_3;\n      param_1[3] = param_4;\n      return 1;\n    }\n  }\n  return 0;\n}" { (if_statement "if (param_1 != (undefined4 *)0x0) {\n    switch(param_2) {\n    case 9:\n    case 10:\n    case 0xc:\n    case 0xd:\n    case 0xe:\n    case 0xf:\n    case 0x10:\n    case 0x11:\n    case 0x12:\n    case 0x13:\n    case 0x16:\n    case 0x19:\n    case 0x1a:\n    case 0x1b:\n    case 0x1c:\n    case 0x1d:\n    case 0x1e:\n    case 0x22:\n    case 0x23:\n    case 0x24:\n    case 0x25:\n    case 0x26:\n    case 0x28:\n    case 0x33:\n    case 0x34:\n      if (param_4 != 0) {\n        return 0;\n      }\n    case 1:\n    case 2:\n    case 3:\n    case 4:\n    case 0xb:\n    case 0x21:\n    case 0x29:\n    case 0x2a:\n    case 0x2b:\n    case 0x2e:\n    case 0x2f:\n    case 0x36:\n    case 0x37:\n    case 0x38:\n    case 0x39:\n    case 0x3a:\n    case 0x3b:\n    case 0x3c:\n    case 0x3d:\n      *param_1 = param_2;\n      param_1[1] = 0;\n      param_1[2] = param_3;\n      param_1[3] = param_4;\n      return 1;\n    }\n  }" if (parenthesized_expression "(param_1 != (undefined4 *)0x0)" ( (binary_expression "param_1 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    switch(param_2) {\n    case 9:\n    case 10:\n    case 0xc:\n    case 0xd:\n    case 0xe:\n    case 0xf:\n    case 0x10:\n    case 0x11:\n    case 0x12:\n    case 0x13:\n    case 0x16:\n    case 0x19:\n    case 0x1a:\n    case 0x1b:\n    case 0x1c:\n    case 0x1d:\n    case 0x1e:\n    case 0x22:\n    case 0x23:\n    case 0x24:\n    case 0x25:\n    case 0x26:\n    case 0x28:\n    case 0x33:\n    case 0x34:\n      if (param_4 != 0) {\n        return 0;\n      }\n    case 1:\n    case 2:\n    case 3:\n    case 4:\n    case 0xb:\n    case 0x21:\n    case 0x29:\n    case 0x2a:\n    case 0x2b:\n    case 0x2e:\n    case 0x2f:\n    case 0x36:\n    case 0x37:\n    case 0x38:\n    case 0x39:\n    case 0x3a:\n    case 0x3b:\n    case 0x3c:\n    case 0x3d:\n      *param_1 = param_2;\n      param_1[1] = 0;\n      param_1[2] = param_3;\n      param_1[3] = param_4;\n      return 1;\n    }\n  }" { (switch_statement "switch(param_2) {\n    case 9:\n    case 10:\n    case 0xc:\n    case 0xd:\n    case 0xe:\n    case 0xf:\n    case 0x10:\n    case 0x11:\n    case 0x12:\n    case 0x13:\n    case 0x16:\n    case 0x19:\n    case 0x1a:\n    case 0x1b:\n    case 0x1c:\n    case 0x1d:\n    case 0x1e:\n    case 0x22:\n    case 0x23:\n    case 0x24:\n    case 0x25:\n    case 0x26:\n    case 0x28:\n    case 0x33:\n    case 0x34:\n      if (param_4 != 0) {\n        return 0;\n      }\n    case 1:\n    case 2:\n    case 3:\n    case 4:\n    case 0xb:\n    case 0x21:\n    case 0x29:\n    case 0x2a:\n    case 0x2b:\n    case 0x2e:\n    case 0x2f:\n    case 0x36:\n    case 0x37:\n    case 0x38:\n    case 0x39:\n    case 0x3a:\n    case 0x3b:\n    case 0x3c:\n    case 0x3d:\n      *param_1 = param_2;\n      param_1[1] = 0;\n      param_1[2] = param_3;\n      param_1[3] = param_4;\n      return 1;\n    }" switch (parenthesized_expression "(param_2)" ( identifier )) (compound_statement "{\n    case 9:\n    case 10:\n    case 0xc:\n    case 0xd:\n    case 0xe:\n    case 0xf:\n    case 0x10:\n    case 0x11:\n    case 0x12:\n    case 0x13:\n    case 0x16:\n    case 0x19:\n    case 0x1a:\n    case 0x1b:\n    case 0x1c:\n    case 0x1d:\n    case 0x1e:\n    case 0x22:\n    case 0x23:\n    case 0x24:\n    case 0x25:\n    case 0x26:\n    case 0x28:\n    case 0x33:\n    case 0x34:\n      if (param_4 != 0) {\n        return 0;\n      }\n    case 1:\n    case 2:\n    case 3:\n    case 4:\n    case 0xb:\n    case 0x21:\n    case 0x29:\n    case 0x2a:\n    case 0x2b:\n    case 0x2e:\n    case 0x2f:\n    case 0x36:\n    case 0x37:\n    case 0x38:\n    case 0x39:\n    case 0x3a:\n    case 0x3b:\n    case 0x3c:\n    case 0x3d:\n      *param_1 = param_2;\n      param_1[1] = 0;\n      param_1[2] = param_3;\n      param_1[3] = param_4;\n      return 1;\n    }" { (case_statement "case 9:" case number_literal :) (case_statement "case 10:" case number_literal :) (case_statement "case 0xc:" case number_literal :) (case_statement "case 0xd:" case number_literal :) (case_statement "case 0xe:" case number_literal :) (case_statement "case 0xf:" case number_literal :) (case_statement "case 0x10:" case number_literal :) (case_statement "case 0x11:" case number_literal :) (case_statement "case 0x12:" case number_literal :) (case_statement "case 0x13:" case number_literal :) (case_statement "case 0x16:" case number_literal :) (case_statement "case 0x19:" case number_literal :) (case_statement "case 0x1a:" case number_literal :) (case_statement "case 0x1b:" case number_literal :) (case_statement "case 0x1c:" case number_literal :) (case_statement "case 0x1d:" case number_literal :) (case_statement "case 0x1e:" case number_literal :) (case_statement "case 0x22:" case number_literal :) (case_statement "case 0x23:" case number_literal :) (case_statement "case 0x24:" case number_literal :) (case_statement "case 0x25:" case number_literal :) (case_statement "case 0x26:" case number_literal :) (case_statement "case 0x28:" case number_literal :) (case_statement "case 0x33:" case number_literal :) (case_statement "case 0x34:\n      if (param_4 != 0) {\n        return 0;\n      }" case number_literal : (if_statement "if (param_4 != 0) {\n        return 0;\n      }" if (parenthesized_expression "(param_4 != 0)" ( (binary_expression "param_4 != 0" identifier != number_literal) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) }))) (case_statement "case 1:" case number_literal :) (case_statement "case 2:" case number_literal :) (case_statement "case 3:" case number_literal :) (case_statement "case 4:" case number_literal :) (case_statement "case 0xb:" case number_literal :) (case_statement "case 0x21:" case number_literal :) (case_statement "case 0x29:" case number_literal :) (case_statement "case 0x2a:" case number_literal :) (case_statement "case 0x2b:" case number_literal :) (case_statement "case 0x2e:" case number_literal :) (case_statement "case 0x2f:" case number_literal :) (case_statement "case 0x36:" case number_literal :) (case_statement "case 0x37:" case number_literal :) (case_statement "case 0x38:" case number_literal :) (case_statement "case 0x39:" case number_literal :) (case_statement "case 0x3a:" case number_literal :) (case_statement "case 0x3b:" case number_literal :) (case_statement "case 0x3c:" case number_literal :) (case_statement "case 0x3d:\n      *param_1 = param_2;\n      param_1[1] = 0;\n      param_1[2] = param_3;\n      param_1[3] = param_4;\n      return 1;" case number_literal : (expression_statement "*param_1 = param_2;" (assignment_expression "*param_1 = param_2" (pointer_expression "*param_1" * identifier) = identifier) ;) (expression_statement "param_1[1] = 0;" (assignment_expression "param_1[1] = 0" (subscript_expression "param_1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[2] = param_3;" (assignment_expression "param_1[2] = param_3" (subscript_expression "param_1[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[3] = param_4;" (assignment_expression "param_1[3] = param_4" (subscript_expression "param_1[3]" identifier [ number_literal ]) = identifier) ;) (return_statement "return 1;" return number_literal ;)) })) })) (return_statement "return 0;" return number_literal ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n\nint cplus_demangle_fill_component\n              (demangle_component *p,demangle_component_type type,demangle_component *left,\n              demangle_component *right)\n\n{\n  if (p != (demangle_component *)0x0) {\n    switch(type) {\n    case DEMANGLE_COMPONENT_VTABLE:\n    case DEMANGLE_COMPONENT_VTT:\n    case DEMANGLE_COMPONENT_TYPEINFO:\n    case DEMANGLE_COMPONENT_TYPEINFO_NAME:\n    case DEMANGLE_COMPONENT_TYPEINFO_FN:\n    case DEMANGLE_COMPONENT_THUNK:\n    case DEMANGLE_COMPONENT_VIRTUAL_THUNK:\n    case DEMANGLE_COMPONENT_COVARIANT_THUNK:\n    case DEMANGLE_COMPONENT_JAVA_CLASS:\n    case DEMANGLE_COMPONENT_GUARD:\n    case DEMANGLE_COMPONENT_REFTEMP:\n    case DEMANGLE_COMPONENT_RESTRICT:\n    case DEMANGLE_COMPONENT_VOLATILE:\n    case DEMANGLE_COMPONENT_CONST:\n    case DEMANGLE_COMPONENT_RESTRICT_THIS:\n    case DEMANGLE_COMPONENT_VOLATILE_THIS:\n    case DEMANGLE_COMPONENT_CONST_THIS:\n    case DEMANGLE_COMPONENT_POINTER:\n    case DEMANGLE_COMPONENT_REFERENCE:\n    case DEMANGLE_COMPONENT_RVALUE_REFERENCE:\n    case DEMANGLE_COMPONENT_COMPLEX:\n    case DEMANGLE_COMPONENT_IMAGINARY:\n    case DEMANGLE_COMPONENT_VENDOR_TYPE:\n    case DEMANGLE_COMPONENT_CAST:\n    case DEMANGLE_COMPONENT_CONVERSION:\n      if (right != (demangle_component *)0x0) {\n        return 0;\n      }\n    case DEMANGLE_COMPONENT_QUAL_NAME:\n    case DEMANGLE_COMPONENT_LOCAL_NAME:\n    case DEMANGLE_COMPONENT_TYPED_NAME:\n    case DEMANGLE_COMPONENT_TEMPLATE:\n    case DEMANGLE_COMPONENT_CONSTRUCTION_VTABLE:\n    case DEMANGLE_COMPONENT_VENDOR_TYPE_QUAL:\n    case DEMANGLE_COMPONENT_FUNCTION_TYPE:\n    case DEMANGLE_COMPONENT_ARRAY_TYPE:\n    case DEMANGLE_COMPONENT_PTRMEM_TYPE:\n    case DEMANGLE_COMPONENT_ARGLIST:\n    case DEMANGLE_COMPONENT_TEMPLATE_ARGLIST:\n    case DEMANGLE_COMPONENT_UNARY:\n    case DEMANGLE_COMPONENT_BINARY:\n    case DEMANGLE_COMPONENT_BINARY_ARGS:\n    case DEMANGLE_COMPONENT_TRINARY:\n    case DEMANGLE_COMPONENT_TRINARY_ARG1:\n    case DEMANGLE_COMPONENT_TRINARY_ARG2:\n    case DEMANGLE_COMPONENT_LITERAL:\n    case DEMANGLE_COMPONENT_LITERAL_NEG:\n      p->type = type;\n      p->d_printing = 0;\n      (p->u).s_fixed.length = left;\n      (p->u).s_extended_operator.name = right;\n      return 1;\n    }\n  }\n  return 0;\n}\n\n" comment (function_definition "int cplus_demangle_fill_component\n              (demangle_component *p,demangle_component_type type,demangle_component *left,\n              demangle_component *right)\n\n{\n  if (p != (demangle_component *)0x0) {\n    switch(type) {\n    case DEMANGLE_COMPONENT_VTABLE:\n    case DEMANGLE_COMPONENT_VTT:\n    case DEMANGLE_COMPONENT_TYPEINFO:\n    case DEMANGLE_COMPONENT_TYPEINFO_NAME:\n    case DEMANGLE_COMPONENT_TYPEINFO_FN:\n    case DEMANGLE_COMPONENT_THUNK:\n    case DEMANGLE_COMPONENT_VIRTUAL_THUNK:\n    case DEMANGLE_COMPONENT_COVARIANT_THUNK:\n    case DEMANGLE_COMPONENT_JAVA_CLASS:\n    case DEMANGLE_COMPONENT_GUARD:\n    case DEMANGLE_COMPONENT_REFTEMP:\n    case DEMANGLE_COMPONENT_RESTRICT:\n    case DEMANGLE_COMPONENT_VOLATILE:\n    case DEMANGLE_COMPONENT_CONST:\n    case DEMANGLE_COMPONENT_RESTRICT_THIS:\n    case DEMANGLE_COMPONENT_VOLATILE_THIS:\n    case DEMANGLE_COMPONENT_CONST_THIS:\n    case DEMANGLE_COMPONENT_POINTER:\n    case DEMANGLE_COMPONENT_REFERENCE:\n    case DEMANGLE_COMPONENT_RVALUE_REFERENCE:\n    case DEMANGLE_COMPONENT_COMPLEX:\n    case DEMANGLE_COMPONENT_IMAGINARY:\n    case DEMANGLE_COMPONENT_VENDOR_TYPE:\n    case DEMANGLE_COMPONENT_CAST:\n    case DEMANGLE_COMPONENT_CONVERSION:\n      if (right != (demangle_component *)0x0) {\n        return 0;\n      }\n    case DEMANGLE_COMPONENT_QUAL_NAME:\n    case DEMANGLE_COMPONENT_LOCAL_NAME:\n    case DEMANGLE_COMPONENT_TYPED_NAME:\n    case DEMANGLE_COMPONENT_TEMPLATE:\n    case DEMANGLE_COMPONENT_CONSTRUCTION_VTABLE:\n    case DEMANGLE_COMPONENT_VENDOR_TYPE_QUAL:\n    case DEMANGLE_COMPONENT_FUNCTION_TYPE:\n    case DEMANGLE_COMPONENT_ARRAY_TYPE:\n    case DEMANGLE_COMPONENT_PTRMEM_TYPE:\n    case DEMANGLE_COMPONENT_ARGLIST:\n    case DEMANGLE_COMPONENT_TEMPLATE_ARGLIST:\n    case DEMANGLE_COMPONENT_UNARY:\n    case DEMANGLE_COMPONENT_BINARY:\n    case DEMANGLE_COMPONENT_BINARY_ARGS:\n    case DEMANGLE_COMPONENT_TRINARY:\n    case DEMANGLE_COMPONENT_TRINARY_ARG1:\n    case DEMANGLE_COMPONENT_TRINARY_ARG2:\n    case DEMANGLE_COMPONENT_LITERAL:\n    case DEMANGLE_COMPONENT_LITERAL_NEG:\n      p->type = type;\n      p->d_printing = 0;\n      (p->u).s_fixed.length = left;\n      (p->u).s_extended_operator.name = right;\n      return 1;\n    }\n  }\n  return 0;\n}" primitive_type (function_declarator "cplus_demangle_fill_component\n              (demangle_component *p,demangle_component_type type,demangle_component *left,\n              demangle_component *right)" identifier (parameter_list "(demangle_component *p,demangle_component_type type,demangle_component *left,\n              demangle_component *right)" ( (parameter_declaration "demangle_component *p" type_identifier (pointer_declarator "*p" * identifier)) , (parameter_declaration "demangle_component_type type" type_identifier identifier) , (parameter_declaration "demangle_component *left" type_identifier (pointer_declarator "*left" * identifier)) , (parameter_declaration "demangle_component *right" type_identifier (pointer_declarator "*right" * identifier)) ))) (compound_statement "{\n  if (p != (demangle_component *)0x0) {\n    switch(type) {\n    case DEMANGLE_COMPONENT_VTABLE:\n    case DEMANGLE_COMPONENT_VTT:\n    case DEMANGLE_COMPONENT_TYPEINFO:\n    case DEMANGLE_COMPONENT_TYPEINFO_NAME:\n    case DEMANGLE_COMPONENT_TYPEINFO_FN:\n    case DEMANGLE_COMPONENT_THUNK:\n    case DEMANGLE_COMPONENT_VIRTUAL_THUNK:\n    case DEMANGLE_COMPONENT_COVARIANT_THUNK:\n    case DEMANGLE_COMPONENT_JAVA_CLASS:\n    case DEMANGLE_COMPONENT_GUARD:\n    case DEMANGLE_COMPONENT_REFTEMP:\n    case DEMANGLE_COMPONENT_RESTRICT:\n    case DEMANGLE_COMPONENT_VOLATILE:\n    case DEMANGLE_COMPONENT_CONST:\n    case DEMANGLE_COMPONENT_RESTRICT_THIS:\n    case DEMANGLE_COMPONENT_VOLATILE_THIS:\n    case DEMANGLE_COMPONENT_CONST_THIS:\n    case DEMANGLE_COMPONENT_POINTER:\n    case DEMANGLE_COMPONENT_REFERENCE:\n    case DEMANGLE_COMPONENT_RVALUE_REFERENCE:\n    case DEMANGLE_COMPONENT_COMPLEX:\n    case DEMANGLE_COMPONENT_IMAGINARY:\n    case DEMANGLE_COMPONENT_VENDOR_TYPE:\n    case DEMANGLE_COMPONENT_CAST:\n    case DEMANGLE_COMPONENT_CONVERSION:\n      if (right != (demangle_component *)0x0) {\n        return 0;\n      }\n    case DEMANGLE_COMPONENT_QUAL_NAME:\n    case DEMANGLE_COMPONENT_LOCAL_NAME:\n    case DEMANGLE_COMPONENT_TYPED_NAME:\n    case DEMANGLE_COMPONENT_TEMPLATE:\n    case DEMANGLE_COMPONENT_CONSTRUCTION_VTABLE:\n    case DEMANGLE_COMPONENT_VENDOR_TYPE_QUAL:\n    case DEMANGLE_COMPONENT_FUNCTION_TYPE:\n    case DEMANGLE_COMPONENT_ARRAY_TYPE:\n    case DEMANGLE_COMPONENT_PTRMEM_TYPE:\n    case DEMANGLE_COMPONENT_ARGLIST:\n    case DEMANGLE_COMPONENT_TEMPLATE_ARGLIST:\n    case DEMANGLE_COMPONENT_UNARY:\n    case DEMANGLE_COMPONENT_BINARY:\n    case DEMANGLE_COMPONENT_BINARY_ARGS:\n    case DEMANGLE_COMPONENT_TRINARY:\n    case DEMANGLE_COMPONENT_TRINARY_ARG1:\n    case DEMANGLE_COMPONENT_TRINARY_ARG2:\n    case DEMANGLE_COMPONENT_LITERAL:\n    case DEMANGLE_COMPONENT_LITERAL_NEG:\n      p->type = type;\n      p->d_printing = 0;\n      (p->u).s_fixed.length = left;\n      (p->u).s_extended_operator.name = right;\n      return 1;\n    }\n  }\n  return 0;\n}" { (if_statement "if (p != (demangle_component *)0x0) {\n    switch(type) {\n    case DEMANGLE_COMPONENT_VTABLE:\n    case DEMANGLE_COMPONENT_VTT:\n    case DEMANGLE_COMPONENT_TYPEINFO:\n    case DEMANGLE_COMPONENT_TYPEINFO_NAME:\n    case DEMANGLE_COMPONENT_TYPEINFO_FN:\n    case DEMANGLE_COMPONENT_THUNK:\n    case DEMANGLE_COMPONENT_VIRTUAL_THUNK:\n    case DEMANGLE_COMPONENT_COVARIANT_THUNK:\n    case DEMANGLE_COMPONENT_JAVA_CLASS:\n    case DEMANGLE_COMPONENT_GUARD:\n    case DEMANGLE_COMPONENT_REFTEMP:\n    case DEMANGLE_COMPONENT_RESTRICT:\n    case DEMANGLE_COMPONENT_VOLATILE:\n    case DEMANGLE_COMPONENT_CONST:\n    case DEMANGLE_COMPONENT_RESTRICT_THIS:\n    case DEMANGLE_COMPONENT_VOLATILE_THIS:\n    case DEMANGLE_COMPONENT_CONST_THIS:\n    case DEMANGLE_COMPONENT_POINTER:\n    case DEMANGLE_COMPONENT_REFERENCE:\n    case DEMANGLE_COMPONENT_RVALUE_REFERENCE:\n    case DEMANGLE_COMPONENT_COMPLEX:\n    case DEMANGLE_COMPONENT_IMAGINARY:\n    case DEMANGLE_COMPONENT_VENDOR_TYPE:\n    case DEMANGLE_COMPONENT_CAST:\n    case DEMANGLE_COMPONENT_CONVERSION:\n      if (right != (demangle_component *)0x0) {\n        return 0;\n      }\n    case DEMANGLE_COMPONENT_QUAL_NAME:\n    case DEMANGLE_COMPONENT_LOCAL_NAME:\n    case DEMANGLE_COMPONENT_TYPED_NAME:\n    case DEMANGLE_COMPONENT_TEMPLATE:\n    case DEMANGLE_COMPONENT_CONSTRUCTION_VTABLE:\n    case DEMANGLE_COMPONENT_VENDOR_TYPE_QUAL:\n    case DEMANGLE_COMPONENT_FUNCTION_TYPE:\n    case DEMANGLE_COMPONENT_ARRAY_TYPE:\n    case DEMANGLE_COMPONENT_PTRMEM_TYPE:\n    case DEMANGLE_COMPONENT_ARGLIST:\n    case DEMANGLE_COMPONENT_TEMPLATE_ARGLIST:\n    case DEMANGLE_COMPONENT_UNARY:\n    case DEMANGLE_COMPONENT_BINARY:\n    case DEMANGLE_COMPONENT_BINARY_ARGS:\n    case DEMANGLE_COMPONENT_TRINARY:\n    case DEMANGLE_COMPONENT_TRINARY_ARG1:\n    case DEMANGLE_COMPONENT_TRINARY_ARG2:\n    case DEMANGLE_COMPONENT_LITERAL:\n    case DEMANGLE_COMPONENT_LITERAL_NEG:\n      p->type = type;\n      p->d_printing = 0;\n      (p->u).s_fixed.length = left;\n      (p->u).s_extended_operator.name = right;\n      return 1;\n    }\n  }" if (parenthesized_expression "(p != (demangle_component *)0x0)" ( (binary_expression "p != (demangle_component *)0x0" identifier != (cast_expression "(demangle_component *)0x0" ( (type_descriptor "demangle_component *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    switch(type) {\n    case DEMANGLE_COMPONENT_VTABLE:\n    case DEMANGLE_COMPONENT_VTT:\n    case DEMANGLE_COMPONENT_TYPEINFO:\n    case DEMANGLE_COMPONENT_TYPEINFO_NAME:\n    case DEMANGLE_COMPONENT_TYPEINFO_FN:\n    case DEMANGLE_COMPONENT_THUNK:\n    case DEMANGLE_COMPONENT_VIRTUAL_THUNK:\n    case DEMANGLE_COMPONENT_COVARIANT_THUNK:\n    case DEMANGLE_COMPONENT_JAVA_CLASS:\n    case DEMANGLE_COMPONENT_GUARD:\n    case DEMANGLE_COMPONENT_REFTEMP:\n    case DEMANGLE_COMPONENT_RESTRICT:\n    case DEMANGLE_COMPONENT_VOLATILE:\n    case DEMANGLE_COMPONENT_CONST:\n    case DEMANGLE_COMPONENT_RESTRICT_THIS:\n    case DEMANGLE_COMPONENT_VOLATILE_THIS:\n    case DEMANGLE_COMPONENT_CONST_THIS:\n    case DEMANGLE_COMPONENT_POINTER:\n    case DEMANGLE_COMPONENT_REFERENCE:\n    case DEMANGLE_COMPONENT_RVALUE_REFERENCE:\n    case DEMANGLE_COMPONENT_COMPLEX:\n    case DEMANGLE_COMPONENT_IMAGINARY:\n    case DEMANGLE_COMPONENT_VENDOR_TYPE:\n    case DEMANGLE_COMPONENT_CAST:\n    case DEMANGLE_COMPONENT_CONVERSION:\n      if (right != (demangle_component *)0x0) {\n        return 0;\n      }\n    case DEMANGLE_COMPONENT_QUAL_NAME:\n    case DEMANGLE_COMPONENT_LOCAL_NAME:\n    case DEMANGLE_COMPONENT_TYPED_NAME:\n    case DEMANGLE_COMPONENT_TEMPLATE:\n    case DEMANGLE_COMPONENT_CONSTRUCTION_VTABLE:\n    case DEMANGLE_COMPONENT_VENDOR_TYPE_QUAL:\n    case DEMANGLE_COMPONENT_FUNCTION_TYPE:\n    case DEMANGLE_COMPONENT_ARRAY_TYPE:\n    case DEMANGLE_COMPONENT_PTRMEM_TYPE:\n    case DEMANGLE_COMPONENT_ARGLIST:\n    case DEMANGLE_COMPONENT_TEMPLATE_ARGLIST:\n    case DEMANGLE_COMPONENT_UNARY:\n    case DEMANGLE_COMPONENT_BINARY:\n    case DEMANGLE_COMPONENT_BINARY_ARGS:\n    case DEMANGLE_COMPONENT_TRINARY:\n    case DEMANGLE_COMPONENT_TRINARY_ARG1:\n    case DEMANGLE_COMPONENT_TRINARY_ARG2:\n    case DEMANGLE_COMPONENT_LITERAL:\n    case DEMANGLE_COMPONENT_LITERAL_NEG:\n      p->type = type;\n      p->d_printing = 0;\n      (p->u).s_fixed.length = left;\n      (p->u).s_extended_operator.name = right;\n      return 1;\n    }\n  }" { (switch_statement "switch(type) {\n    case DEMANGLE_COMPONENT_VTABLE:\n    case DEMANGLE_COMPONENT_VTT:\n    case DEMANGLE_COMPONENT_TYPEINFO:\n    case DEMANGLE_COMPONENT_TYPEINFO_NAME:\n    case DEMANGLE_COMPONENT_TYPEINFO_FN:\n    case DEMANGLE_COMPONENT_THUNK:\n    case DEMANGLE_COMPONENT_VIRTUAL_THUNK:\n    case DEMANGLE_COMPONENT_COVARIANT_THUNK:\n    case DEMANGLE_COMPONENT_JAVA_CLASS:\n    case DEMANGLE_COMPONENT_GUARD:\n    case DEMANGLE_COMPONENT_REFTEMP:\n    case DEMANGLE_COMPONENT_RESTRICT:\n    case DEMANGLE_COMPONENT_VOLATILE:\n    case DEMANGLE_COMPONENT_CONST:\n    case DEMANGLE_COMPONENT_RESTRICT_THIS:\n    case DEMANGLE_COMPONENT_VOLATILE_THIS:\n    case DEMANGLE_COMPONENT_CONST_THIS:\n    case DEMANGLE_COMPONENT_POINTER:\n    case DEMANGLE_COMPONENT_REFERENCE:\n    case DEMANGLE_COMPONENT_RVALUE_REFERENCE:\n    case DEMANGLE_COMPONENT_COMPLEX:\n    case DEMANGLE_COMPONENT_IMAGINARY:\n    case DEMANGLE_COMPONENT_VENDOR_TYPE:\n    case DEMANGLE_COMPONENT_CAST:\n    case DEMANGLE_COMPONENT_CONVERSION:\n      if (right != (demangle_component *)0x0) {\n        return 0;\n      }\n    case DEMANGLE_COMPONENT_QUAL_NAME:\n    case DEMANGLE_COMPONENT_LOCAL_NAME:\n    case DEMANGLE_COMPONENT_TYPED_NAME:\n    case DEMANGLE_COMPONENT_TEMPLATE:\n    case DEMANGLE_COMPONENT_CONSTRUCTION_VTABLE:\n    case DEMANGLE_COMPONENT_VENDOR_TYPE_QUAL:\n    case DEMANGLE_COMPONENT_FUNCTION_TYPE:\n    case DEMANGLE_COMPONENT_ARRAY_TYPE:\n    case DEMANGLE_COMPONENT_PTRMEM_TYPE:\n    case DEMANGLE_COMPONENT_ARGLIST:\n    case DEMANGLE_COMPONENT_TEMPLATE_ARGLIST:\n    case DEMANGLE_COMPONENT_UNARY:\n    case DEMANGLE_COMPONENT_BINARY:\n    case DEMANGLE_COMPONENT_BINARY_ARGS:\n    case DEMANGLE_COMPONENT_TRINARY:\n    case DEMANGLE_COMPONENT_TRINARY_ARG1:\n    case DEMANGLE_COMPONENT_TRINARY_ARG2:\n    case DEMANGLE_COMPONENT_LITERAL:\n    case DEMANGLE_COMPONENT_LITERAL_NEG:\n      p->type = type;\n      p->d_printing = 0;\n      (p->u).s_fixed.length = left;\n      (p->u).s_extended_operator.name = right;\n      return 1;\n    }" switch (parenthesized_expression "(type)" ( identifier )) (compound_statement "{\n    case DEMANGLE_COMPONENT_VTABLE:\n    case DEMANGLE_COMPONENT_VTT:\n    case DEMANGLE_COMPONENT_TYPEINFO:\n    case DEMANGLE_COMPONENT_TYPEINFO_NAME:\n    case DEMANGLE_COMPONENT_TYPEINFO_FN:\n    case DEMANGLE_COMPONENT_THUNK:\n    case DEMANGLE_COMPONENT_VIRTUAL_THUNK:\n    case DEMANGLE_COMPONENT_COVARIANT_THUNK:\n    case DEMANGLE_COMPONENT_JAVA_CLASS:\n    case DEMANGLE_COMPONENT_GUARD:\n    case DEMANGLE_COMPONENT_REFTEMP:\n    case DEMANGLE_COMPONENT_RESTRICT:\n    case DEMANGLE_COMPONENT_VOLATILE:\n    case DEMANGLE_COMPONENT_CONST:\n    case DEMANGLE_COMPONENT_RESTRICT_THIS:\n    case DEMANGLE_COMPONENT_VOLATILE_THIS:\n    case DEMANGLE_COMPONENT_CONST_THIS:\n    case DEMANGLE_COMPONENT_POINTER:\n    case DEMANGLE_COMPONENT_REFERENCE:\n    case DEMANGLE_COMPONENT_RVALUE_REFERENCE:\n    case DEMANGLE_COMPONENT_COMPLEX:\n    case DEMANGLE_COMPONENT_IMAGINARY:\n    case DEMANGLE_COMPONENT_VENDOR_TYPE:\n    case DEMANGLE_COMPONENT_CAST:\n    case DEMANGLE_COMPONENT_CONVERSION:\n      if (right != (demangle_component *)0x0) {\n        return 0;\n      }\n    case DEMANGLE_COMPONENT_QUAL_NAME:\n    case DEMANGLE_COMPONENT_LOCAL_NAME:\n    case DEMANGLE_COMPONENT_TYPED_NAME:\n    case DEMANGLE_COMPONENT_TEMPLATE:\n    case DEMANGLE_COMPONENT_CONSTRUCTION_VTABLE:\n    case DEMANGLE_COMPONENT_VENDOR_TYPE_QUAL:\n    case DEMANGLE_COMPONENT_FUNCTION_TYPE:\n    case DEMANGLE_COMPONENT_ARRAY_TYPE:\n    case DEMANGLE_COMPONENT_PTRMEM_TYPE:\n    case DEMANGLE_COMPONENT_ARGLIST:\n    case DEMANGLE_COMPONENT_TEMPLATE_ARGLIST:\n    case DEMANGLE_COMPONENT_UNARY:\n    case DEMANGLE_COMPONENT_BINARY:\n    case DEMANGLE_COMPONENT_BINARY_ARGS:\n    case DEMANGLE_COMPONENT_TRINARY:\n    case DEMANGLE_COMPONENT_TRINARY_ARG1:\n    case DEMANGLE_COMPONENT_TRINARY_ARG2:\n    case DEMANGLE_COMPONENT_LITERAL:\n    case DEMANGLE_COMPONENT_LITERAL_NEG:\n      p->type = type;\n      p->d_printing = 0;\n      (p->u).s_fixed.length = left;\n      (p->u).s_extended_operator.name = right;\n      return 1;\n    }" { (case_statement "case DEMANGLE_COMPONENT_VTABLE:" case identifier :) (case_statement "case DEMANGLE_COMPONENT_VTT:" case identifier :) (case_statement "case DEMANGLE_COMPONENT_TYPEINFO:" case identifier :) (case_statement "case DEMANGLE_COMPONENT_TYPEINFO_NAME:" case identifier :) (case_statement "case DEMANGLE_COMPONENT_TYPEINFO_FN:" case identifier :) (case_statement "case DEMANGLE_COMPONENT_THUNK:" case identifier :) (case_statement "case DEMANGLE_COMPONENT_VIRTUAL_THUNK:" case identifier :) (case_statement "case DEMANGLE_COMPONENT_COVARIANT_THUNK:" case identifier :) (case_statement "case DEMANGLE_COMPONENT_JAVA_CLASS:" case identifier :) (case_statement "case DEMANGLE_COMPONENT_GUARD:" case identifier :) (case_statement "case DEMANGLE_COMPONENT_REFTEMP:" case identifier :) (case_statement "case DEMANGLE_COMPONENT_RESTRICT:" case identifier :) (case_statement "case DEMANGLE_COMPONENT_VOLATILE:" case identifier :) (case_statement "case DEMANGLE_COMPONENT_CONST:" case identifier :) (case_statement "case DEMANGLE_COMPONENT_RESTRICT_THIS:" case identifier :) (case_statement "case DEMANGLE_COMPONENT_VOLATILE_THIS:" case identifier :) (case_statement "case DEMANGLE_COMPONENT_CONST_THIS:" case identifier :) (case_statement "case DEMANGLE_COMPONENT_POINTER:" case identifier :) (case_statement "case DEMANGLE_COMPONENT_REFERENCE:" case identifier :) (case_statement "case DEMANGLE_COMPONENT_RVALUE_REFERENCE:" case identifier :) (case_statement "case DEMANGLE_COMPONENT_COMPLEX:" case identifier :) (case_statement "case DEMANGLE_COMPONENT_IMAGINARY:" case identifier :) (case_statement "case DEMANGLE_COMPONENT_VENDOR_TYPE:" case identifier :) (case_statement "case DEMANGLE_COMPONENT_CAST:" case identifier :) (case_statement "case DEMANGLE_COMPONENT_CONVERSION:\n      if (right != (demangle_component *)0x0) {\n        return 0;\n      }" case identifier : (if_statement "if (right != (demangle_component *)0x0) {\n        return 0;\n      }" if (parenthesized_expression "(right != (demangle_component *)0x0)" ( (binary_expression "right != (demangle_component *)0x0" identifier != (cast_expression "(demangle_component *)0x0" ( (type_descriptor "demangle_component *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) }))) (case_statement "case DEMANGLE_COMPONENT_QUAL_NAME:" case identifier :) (case_statement "case DEMANGLE_COMPONENT_LOCAL_NAME:" case identifier :) (case_statement "case DEMANGLE_COMPONENT_TYPED_NAME:" case identifier :) (case_statement "case DEMANGLE_COMPONENT_TEMPLATE:" case identifier :) (case_statement "case DEMANGLE_COMPONENT_CONSTRUCTION_VTABLE:" case identifier :) (case_statement "case DEMANGLE_COMPONENT_VENDOR_TYPE_QUAL:" case identifier :) (case_statement "case DEMANGLE_COMPONENT_FUNCTION_TYPE:" case identifier :) (case_statement "case DEMANGLE_COMPONENT_ARRAY_TYPE:" case identifier :) (case_statement "case DEMANGLE_COMPONENT_PTRMEM_TYPE:" case identifier :) (case_statement "case DEMANGLE_COMPONENT_ARGLIST:" case identifier :) (case_statement "case DEMANGLE_COMPONENT_TEMPLATE_ARGLIST:" case identifier :) (case_statement "case DEMANGLE_COMPONENT_UNARY:" case identifier :) (case_statement "case DEMANGLE_COMPONENT_BINARY:" case identifier :) (case_statement "case DEMANGLE_COMPONENT_BINARY_ARGS:" case identifier :) (case_statement "case DEMANGLE_COMPONENT_TRINARY:" case identifier :) (case_statement "case DEMANGLE_COMPONENT_TRINARY_ARG1:" case identifier :) (case_statement "case DEMANGLE_COMPONENT_TRINARY_ARG2:" case identifier :) (case_statement "case DEMANGLE_COMPONENT_LITERAL:" case identifier :) (case_statement "case DEMANGLE_COMPONENT_LITERAL_NEG:\n      p->type = type;\n      p->d_printing = 0;\n      (p->u).s_fixed.length = left;\n      (p->u).s_extended_operator.name = right;\n      return 1;" case identifier : (expression_statement "p->type = type;" (assignment_expression "p->type = type" (field_expression "p->type" identifier -> field_identifier) = identifier) ;) (expression_statement "p->d_printing = 0;" (assignment_expression "p->d_printing = 0" (field_expression "p->d_printing" identifier -> field_identifier) = number_literal) ;) (expression_statement "(p->u).s_fixed.length = left;" (assignment_expression "(p->u).s_fixed.length = left" (field_expression "(p->u).s_fixed.length" (field_expression "(p->u).s_fixed" (parenthesized_expression "(p->u)" ( (field_expression "p->u" identifier -> field_identifier) )) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "(p->u).s_extended_operator.name = right;" (assignment_expression "(p->u).s_extended_operator.name = right" (field_expression "(p->u).s_extended_operator.name" (field_expression "(p->u).s_extended_operator" (parenthesized_expression "(p->u)" ( (field_expression "p->u" identifier -> field_identifier) )) . field_identifier) . field_identifier) = identifier) ;) (return_statement "return 1;" return number_literal ;)) })) })) (return_statement "return 0;" return number_literal ;) })))
(translation_unit "undefined4 FUN_001e1960(undefined4 *param_1,undefined4 param_2,undefined4 param_3,int param_4)\n\n{\n  if (param_1 != (undefined4 *)0x0) {\n    switch(param_2) {\n    case 9:\n    case 10:\n    case 0xc:\n    case 0xd:\n    case 0xe:\n    case 0xf:\n    case 0x10:\n    case 0x11:\n    case 0x12:\n    case 0x13:\n    case 0x16:\n    case 0x19:\n    case 0x1a:\n    case 0x1b:\n    case 0x1c:\n    case 0x1d:\n    case 0x1e:\n    case 0x22:\n    case 0x23:\n    case 0x24:\n    case 0x25:\n    case 0x26:\n    case 0x28:\n    case 0x33:\n    case 0x34:\n      if (param_4 != 0) {\n        return 0;\n      }\n    case 1:\n    case 2:\n    case 3:\n    case 4:\n    case 0xb:\n    case 0x21:\n    case 0x29:\n    case 0x2a:\n    case 0x2b:\n    case 0x2e:\n    case 0x2f:\n    case 0x36:\n    case 0x37:\n    case 0x38:\n    case 0x39:\n    case 0x3a:\n    case 0x3b:\n    case 0x3c:\n    case 0x3d:\n      *param_1 = param_2;\n      param_1[1] = 0;\n      param_1[2] = param_3;\n      param_1[3] = param_4;\n      return 1;\n    }\n  }\n  return 0;\n}\n\n" (function_definition "undefined4 FUN_001e1960(undefined4 *param_1,undefined4 param_2,undefined4 param_3,int param_4)\n\n{\n  if (param_1 != (undefined4 *)0x0) {\n    switch(param_2) {\n    case 9:\n    case 10:\n    case 0xc:\n    case 0xd:\n    case 0xe:\n    case 0xf:\n    case 0x10:\n    case 0x11:\n    case 0x12:\n    case 0x13:\n    case 0x16:\n    case 0x19:\n    case 0x1a:\n    case 0x1b:\n    case 0x1c:\n    case 0x1d:\n    case 0x1e:\n    case 0x22:\n    case 0x23:\n    case 0x24:\n    case 0x25:\n    case 0x26:\n    case 0x28:\n    case 0x33:\n    case 0x34:\n      if (param_4 != 0) {\n        return 0;\n      }\n    case 1:\n    case 2:\n    case 3:\n    case 4:\n    case 0xb:\n    case 0x21:\n    case 0x29:\n    case 0x2a:\n    case 0x2b:\n    case 0x2e:\n    case 0x2f:\n    case 0x36:\n    case 0x37:\n    case 0x38:\n    case 0x39:\n    case 0x3a:\n    case 0x3b:\n    case 0x3c:\n    case 0x3d:\n      *param_1 = param_2;\n      param_1[1] = 0;\n      param_1[2] = param_3;\n      param_1[3] = param_4;\n      return 1;\n    }\n  }\n  return 0;\n}" type_identifier (function_declarator "FUN_001e1960(undefined4 *param_1,undefined4 param_2,undefined4 param_3,int param_4)" identifier (parameter_list "(undefined4 *param_1,undefined4 param_2,undefined4 param_3,int param_4)" ( (parameter_declaration "undefined4 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "int param_4" primitive_type identifier) ))) (compound_statement "{\n  if (param_1 != (undefined4 *)0x0) {\n    switch(param_2) {\n    case 9:\n    case 10:\n    case 0xc:\n    case 0xd:\n    case 0xe:\n    case 0xf:\n    case 0x10:\n    case 0x11:\n    case 0x12:\n    case 0x13:\n    case 0x16:\n    case 0x19:\n    case 0x1a:\n    case 0x1b:\n    case 0x1c:\n    case 0x1d:\n    case 0x1e:\n    case 0x22:\n    case 0x23:\n    case 0x24:\n    case 0x25:\n    case 0x26:\n    case 0x28:\n    case 0x33:\n    case 0x34:\n      if (param_4 != 0) {\n        return 0;\n      }\n    case 1:\n    case 2:\n    case 3:\n    case 4:\n    case 0xb:\n    case 0x21:\n    case 0x29:\n    case 0x2a:\n    case 0x2b:\n    case 0x2e:\n    case 0x2f:\n    case 0x36:\n    case 0x37:\n    case 0x38:\n    case 0x39:\n    case 0x3a:\n    case 0x3b:\n    case 0x3c:\n    case 0x3d:\n      *param_1 = param_2;\n      param_1[1] = 0;\n      param_1[2] = param_3;\n      param_1[3] = param_4;\n      return 1;\n    }\n  }\n  return 0;\n}" { (if_statement "if (param_1 != (undefined4 *)0x0) {\n    switch(param_2) {\n    case 9:\n    case 10:\n    case 0xc:\n    case 0xd:\n    case 0xe:\n    case 0xf:\n    case 0x10:\n    case 0x11:\n    case 0x12:\n    case 0x13:\n    case 0x16:\n    case 0x19:\n    case 0x1a:\n    case 0x1b:\n    case 0x1c:\n    case 0x1d:\n    case 0x1e:\n    case 0x22:\n    case 0x23:\n    case 0x24:\n    case 0x25:\n    case 0x26:\n    case 0x28:\n    case 0x33:\n    case 0x34:\n      if (param_4 != 0) {\n        return 0;\n      }\n    case 1:\n    case 2:\n    case 3:\n    case 4:\n    case 0xb:\n    case 0x21:\n    case 0x29:\n    case 0x2a:\n    case 0x2b:\n    case 0x2e:\n    case 0x2f:\n    case 0x36:\n    case 0x37:\n    case 0x38:\n    case 0x39:\n    case 0x3a:\n    case 0x3b:\n    case 0x3c:\n    case 0x3d:\n      *param_1 = param_2;\n      param_1[1] = 0;\n      param_1[2] = param_3;\n      param_1[3] = param_4;\n      return 1;\n    }\n  }" if (parenthesized_expression "(param_1 != (undefined4 *)0x0)" ( (binary_expression "param_1 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    switch(param_2) {\n    case 9:\n    case 10:\n    case 0xc:\n    case 0xd:\n    case 0xe:\n    case 0xf:\n    case 0x10:\n    case 0x11:\n    case 0x12:\n    case 0x13:\n    case 0x16:\n    case 0x19:\n    case 0x1a:\n    case 0x1b:\n    case 0x1c:\n    case 0x1d:\n    case 0x1e:\n    case 0x22:\n    case 0x23:\n    case 0x24:\n    case 0x25:\n    case 0x26:\n    case 0x28:\n    case 0x33:\n    case 0x34:\n      if (param_4 != 0) {\n        return 0;\n      }\n    case 1:\n    case 2:\n    case 3:\n    case 4:\n    case 0xb:\n    case 0x21:\n    case 0x29:\n    case 0x2a:\n    case 0x2b:\n    case 0x2e:\n    case 0x2f:\n    case 0x36:\n    case 0x37:\n    case 0x38:\n    case 0x39:\n    case 0x3a:\n    case 0x3b:\n    case 0x3c:\n    case 0x3d:\n      *param_1 = param_2;\n      param_1[1] = 0;\n      param_1[2] = param_3;\n      param_1[3] = param_4;\n      return 1;\n    }\n  }" { (switch_statement "switch(param_2) {\n    case 9:\n    case 10:\n    case 0xc:\n    case 0xd:\n    case 0xe:\n    case 0xf:\n    case 0x10:\n    case 0x11:\n    case 0x12:\n    case 0x13:\n    case 0x16:\n    case 0x19:\n    case 0x1a:\n    case 0x1b:\n    case 0x1c:\n    case 0x1d:\n    case 0x1e:\n    case 0x22:\n    case 0x23:\n    case 0x24:\n    case 0x25:\n    case 0x26:\n    case 0x28:\n    case 0x33:\n    case 0x34:\n      if (param_4 != 0) {\n        return 0;\n      }\n    case 1:\n    case 2:\n    case 3:\n    case 4:\n    case 0xb:\n    case 0x21:\n    case 0x29:\n    case 0x2a:\n    case 0x2b:\n    case 0x2e:\n    case 0x2f:\n    case 0x36:\n    case 0x37:\n    case 0x38:\n    case 0x39:\n    case 0x3a:\n    case 0x3b:\n    case 0x3c:\n    case 0x3d:\n      *param_1 = param_2;\n      param_1[1] = 0;\n      param_1[2] = param_3;\n      param_1[3] = param_4;\n      return 1;\n    }" switch (parenthesized_expression "(param_2)" ( identifier )) (compound_statement "{\n    case 9:\n    case 10:\n    case 0xc:\n    case 0xd:\n    case 0xe:\n    case 0xf:\n    case 0x10:\n    case 0x11:\n    case 0x12:\n    case 0x13:\n    case 0x16:\n    case 0x19:\n    case 0x1a:\n    case 0x1b:\n    case 0x1c:\n    case 0x1d:\n    case 0x1e:\n    case 0x22:\n    case 0x23:\n    case 0x24:\n    case 0x25:\n    case 0x26:\n    case 0x28:\n    case 0x33:\n    case 0x34:\n      if (param_4 != 0) {\n        return 0;\n      }\n    case 1:\n    case 2:\n    case 3:\n    case 4:\n    case 0xb:\n    case 0x21:\n    case 0x29:\n    case 0x2a:\n    case 0x2b:\n    case 0x2e:\n    case 0x2f:\n    case 0x36:\n    case 0x37:\n    case 0x38:\n    case 0x39:\n    case 0x3a:\n    case 0x3b:\n    case 0x3c:\n    case 0x3d:\n      *param_1 = param_2;\n      param_1[1] = 0;\n      param_1[2] = param_3;\n      param_1[3] = param_4;\n      return 1;\n    }" { (case_statement "case 9:" case number_literal :) (case_statement "case 10:" case number_literal :) (case_statement "case 0xc:" case number_literal :) (case_statement "case 0xd:" case number_literal :) (case_statement "case 0xe:" case number_literal :) (case_statement "case 0xf:" case number_literal :) (case_statement "case 0x10:" case number_literal :) (case_statement "case 0x11:" case number_literal :) (case_statement "case 0x12:" case number_literal :) (case_statement "case 0x13:" case number_literal :) (case_statement "case 0x16:" case number_literal :) (case_statement "case 0x19:" case number_literal :) (case_statement "case 0x1a:" case number_literal :) (case_statement "case 0x1b:" case number_literal :) (case_statement "case 0x1c:" case number_literal :) (case_statement "case 0x1d:" case number_literal :) (case_statement "case 0x1e:" case number_literal :) (case_statement "case 0x22:" case number_literal :) (case_statement "case 0x23:" case number_literal :) (case_statement "case 0x24:" case number_literal :) (case_statement "case 0x25:" case number_literal :) (case_statement "case 0x26:" case number_literal :) (case_statement "case 0x28:" case number_literal :) (case_statement "case 0x33:" case number_literal :) (case_statement "case 0x34:\n      if (param_4 != 0) {\n        return 0;\n      }" case number_literal : (if_statement "if (param_4 != 0) {\n        return 0;\n      }" if (parenthesized_expression "(param_4 != 0)" ( (binary_expression "param_4 != 0" identifier != number_literal) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) }))) (case_statement "case 1:" case number_literal :) (case_statement "case 2:" case number_literal :) (case_statement "case 3:" case number_literal :) (case_statement "case 4:" case number_literal :) (case_statement "case 0xb:" case number_literal :) (case_statement "case 0x21:" case number_literal :) (case_statement "case 0x29:" case number_literal :) (case_statement "case 0x2a:" case number_literal :) (case_statement "case 0x2b:" case number_literal :) (case_statement "case 0x2e:" case number_literal :) (case_statement "case 0x2f:" case number_literal :) (case_statement "case 0x36:" case number_literal :) (case_statement "case 0x37:" case number_literal :) (case_statement "case 0x38:" case number_literal :) (case_statement "case 0x39:" case number_literal :) (case_statement "case 0x3a:" case number_literal :) (case_statement "case 0x3b:" case number_literal :) (case_statement "case 0x3c:" case number_literal :) (case_statement "case 0x3d:\n      *param_1 = param_2;\n      param_1[1] = 0;\n      param_1[2] = param_3;\n      param_1[3] = param_4;\n      return 1;" case number_literal : (expression_statement "*param_1 = param_2;" (assignment_expression "*param_1 = param_2" (pointer_expression "*param_1" * identifier) = identifier) ;) (expression_statement "param_1[1] = 0;" (assignment_expression "param_1[1] = 0" (subscript_expression "param_1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[2] = param_3;" (assignment_expression "param_1[2] = param_3" (subscript_expression "param_1[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[3] = param_4;" (assignment_expression "param_1[3] = param_4" (subscript_expression "param_1[3]" identifier [ number_literal ]) = identifier) ;) (return_statement "return 1;" return number_literal ;)) })) })) (return_statement "return 0;" return number_literal ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (return_statement return LIT ;) }))) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (return_statement return LIT ;)) })) })) (return_statement return LIT ;) })))
(function_definition "undefined4 FUN_001e1960(undefined4 *param_1,undefined4 param_2,undefined4 param_3,int param_4)\n\n{\n  if (param_1 != (undefined4 *)0x0) {\n    switch(param_2) {\n    case 9:\n    case 10:\n    case 0xc:\n    case 0xd:\n    case 0xe:\n    case 0xf:\n    case 0x10:\n    case 0x11:\n    case 0x12:\n    case 0x13:\n    case 0x16:\n    case 0x19:\n    case 0x1a:\n    case 0x1b:\n    case 0x1c:\n    case 0x1d:\n    case 0x1e:\n    case 0x22:\n    case 0x23:\n    case 0x24:\n    case 0x25:\n    case 0x26:\n    case 0x28:\n    case 0x33:\n    case 0x34:\n      if (param_4 != 0) {\n        return 0;\n      }\n    case 1:\n    case 2:\n    case 3:\n    case 4:\n    case 0xb:\n    case 0x21:\n    case 0x29:\n    case 0x2a:\n    case 0x2b:\n    case 0x2e:\n    case 0x2f:\n    case 0x36:\n    case 0x37:\n    case 0x38:\n    case 0x39:\n    case 0x3a:\n    case 0x3b:\n    case 0x3c:\n    case 0x3d:\n      *param_1 = param_2;\n      param_1[1] = 0;\n      param_1[2] = param_3;\n      param_1[3] = param_4;\n      return 1;\n    }\n  }\n  return 0;\n}" (type_identifier "undefined4") (function_declarator "FUN_001e1960(undefined4 *param_1,undefined4 param_2,undefined4 param_3,int param_4)" (identifier "FUN_001e1960") (parameter_list "(undefined4 *param_1,undefined4 param_2,undefined4 param_3,int param_4)" (( "(") (parameter_declaration "undefined4 *param_1" (type_identifier "undefined4") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) (, ",") (parameter_declaration "int param_4" (primitive_type "int") (identifier "param_4")) () ")"))) (compound_statement "{\n  if (param_1 != (undefined4 *)0x0) {\n    switch(param_2) {\n    case 9:\n    case 10:\n    case 0xc:\n    case 0xd:\n    case 0xe:\n    case 0xf:\n    case 0x10:\n    case 0x11:\n    case 0x12:\n    case 0x13:\n    case 0x16:\n    case 0x19:\n    case 0x1a:\n    case 0x1b:\n    case 0x1c:\n    case 0x1d:\n    case 0x1e:\n    case 0x22:\n    case 0x23:\n    case 0x24:\n    case 0x25:\n    case 0x26:\n    case 0x28:\n    case 0x33:\n    case 0x34:\n      if (param_4 != 0) {\n        return 0;\n      }\n    case 1:\n    case 2:\n    case 3:\n    case 4:\n    case 0xb:\n    case 0x21:\n    case 0x29:\n    case 0x2a:\n    case 0x2b:\n    case 0x2e:\n    case 0x2f:\n    case 0x36:\n    case 0x37:\n    case 0x38:\n    case 0x39:\n    case 0x3a:\n    case 0x3b:\n    case 0x3c:\n    case 0x3d:\n      *param_1 = param_2;\n      param_1[1] = 0;\n      param_1[2] = param_3;\n      param_1[3] = param_4;\n      return 1;\n    }\n  }\n  return 0;\n}" ({ "{") (if_statement "if (param_1 != (undefined4 *)0x0) {\n    switch(param_2) {\n    case 9:\n    case 10:\n    case 0xc:\n    case 0xd:\n    case 0xe:\n    case 0xf:\n    case 0x10:\n    case 0x11:\n    case 0x12:\n    case 0x13:\n    case 0x16:\n    case 0x19:\n    case 0x1a:\n    case 0x1b:\n    case 0x1c:\n    case 0x1d:\n    case 0x1e:\n    case 0x22:\n    case 0x23:\n    case 0x24:\n    case 0x25:\n    case 0x26:\n    case 0x28:\n    case 0x33:\n    case 0x34:\n      if (param_4 != 0) {\n        return 0;\n      }\n    case 1:\n    case 2:\n    case 3:\n    case 4:\n    case 0xb:\n    case 0x21:\n    case 0x29:\n    case 0x2a:\n    case 0x2b:\n    case 0x2e:\n    case 0x2f:\n    case 0x36:\n    case 0x37:\n    case 0x38:\n    case 0x39:\n    case 0x3a:\n    case 0x3b:\n    case 0x3c:\n    case 0x3d:\n      *param_1 = param_2;\n      param_1[1] = 0;\n      param_1[2] = param_3;\n      param_1[3] = param_4;\n      return 1;\n    }\n  }" (if "if") (parenthesized_expression "(param_1 != (undefined4 *)0x0)" (( "(") (binary_expression "param_1 != (undefined4 *)0x0" (identifier "param_1") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    switch(param_2) {\n    case 9:\n    case 10:\n    case 0xc:\n    case 0xd:\n    case 0xe:\n    case 0xf:\n    case 0x10:\n    case 0x11:\n    case 0x12:\n    case 0x13:\n    case 0x16:\n    case 0x19:\n    case 0x1a:\n    case 0x1b:\n    case 0x1c:\n    case 0x1d:\n    case 0x1e:\n    case 0x22:\n    case 0x23:\n    case 0x24:\n    case 0x25:\n    case 0x26:\n    case 0x28:\n    case 0x33:\n    case 0x34:\n      if (param_4 != 0) {\n        return 0;\n      }\n    case 1:\n    case 2:\n    case 3:\n    case 4:\n    case 0xb:\n    case 0x21:\n    case 0x29:\n    case 0x2a:\n    case 0x2b:\n    case 0x2e:\n    case 0x2f:\n    case 0x36:\n    case 0x37:\n    case 0x38:\n    case 0x39:\n    case 0x3a:\n    case 0x3b:\n    case 0x3c:\n    case 0x3d:\n      *param_1 = param_2;\n      param_1[1] = 0;\n      param_1[2] = param_3;\n      param_1[3] = param_4;\n      return 1;\n    }\n  }" ({ "{") (switch_statement "switch(param_2) {\n    case 9:\n    case 10:\n    case 0xc:\n    case 0xd:\n    case 0xe:\n    case 0xf:\n    case 0x10:\n    case 0x11:\n    case 0x12:\n    case 0x13:\n    case 0x16:\n    case 0x19:\n    case 0x1a:\n    case 0x1b:\n    case 0x1c:\n    case 0x1d:\n    case 0x1e:\n    case 0x22:\n    case 0x23:\n    case 0x24:\n    case 0x25:\n    case 0x26:\n    case 0x28:\n    case 0x33:\n    case 0x34:\n      if (param_4 != 0) {\n        return 0;\n      }\n    case 1:\n    case 2:\n    case 3:\n    case 4:\n    case 0xb:\n    case 0x21:\n    case 0x29:\n    case 0x2a:\n    case 0x2b:\n    case 0x2e:\n    case 0x2f:\n    case 0x36:\n    case 0x37:\n    case 0x38:\n    case 0x39:\n    case 0x3a:\n    case 0x3b:\n    case 0x3c:\n    case 0x3d:\n      *param_1 = param_2;\n      param_1[1] = 0;\n      param_1[2] = param_3;\n      param_1[3] = param_4;\n      return 1;\n    }" (switch "switch") (parenthesized_expression "(param_2)" (( "(") (identifier "param_2") () ")")) (compound_statement "{\n    case 9:\n    case 10:\n    case 0xc:\n    case 0xd:\n    case 0xe:\n    case 0xf:\n    case 0x10:\n    case 0x11:\n    case 0x12:\n    case 0x13:\n    case 0x16:\n    case 0x19:\n    case 0x1a:\n    case 0x1b:\n    case 0x1c:\n    case 0x1d:\n    case 0x1e:\n    case 0x22:\n    case 0x23:\n    case 0x24:\n    case 0x25:\n    case 0x26:\n    case 0x28:\n    case 0x33:\n    case 0x34:\n      if (param_4 != 0) {\n        return 0;\n      }\n    case 1:\n    case 2:\n    case 3:\n    case 4:\n    case 0xb:\n    case 0x21:\n    case 0x29:\n    case 0x2a:\n    case 0x2b:\n    case 0x2e:\n    case 0x2f:\n    case 0x36:\n    case 0x37:\n    case 0x38:\n    case 0x39:\n    case 0x3a:\n    case 0x3b:\n    case 0x3c:\n    case 0x3d:\n      *param_1 = param_2;\n      param_1[1] = 0;\n      param_1[2] = param_3;\n      param_1[3] = param_4;\n      return 1;\n    }" ({ "{") (case_statement "case 9:" (case "case") (number_literal "9") (: ":")) (case_statement "case 10:" (case "case") (number_literal "10") (: ":")) (case_statement "case 0xc:" (case "case") (number_literal "0xc") (: ":")) (case_statement "case 0xd:" (case "case") (number_literal "0xd") (: ":")) (case_statement "case 0xe:" (case "case") (number_literal "0xe") (: ":")) (case_statement "case 0xf:" (case "case") (number_literal "0xf") (: ":")) (case_statement "case 0x10:" (case "case") (number_literal "0x10") (: ":")) (case_statement "case 0x11:" (case "case") (number_literal "0x11") (: ":")) (case_statement "case 0x12:" (case "case") (number_literal "0x12") (: ":")) (case_statement "case 0x13:" (case "case") (number_literal "0x13") (: ":")) (case_statement "case 0x16:" (case "case") (number_literal "0x16") (: ":")) (case_statement "case 0x19:" (case "case") (number_literal "0x19") (: ":")) (case_statement "case 0x1a:" (case "case") (number_literal "0x1a") (: ":")) (case_statement "case 0x1b:" (case "case") (number_literal "0x1b") (: ":")) (case_statement "case 0x1c:" (case "case") (number_literal "0x1c") (: ":")) (case_statement "case 0x1d:" (case "case") (number_literal "0x1d") (: ":")) (case_statement "case 0x1e:" (case "case") (number_literal "0x1e") (: ":")) (case_statement "case 0x22:" (case "case") (number_literal "0x22") (: ":")) (case_statement "case 0x23:" (case "case") (number_literal "0x23") (: ":")) (case_statement "case 0x24:" (case "case") (number_literal "0x24") (: ":")) (case_statement "case 0x25:" (case "case") (number_literal "0x25") (: ":")) (case_statement "case 0x26:" (case "case") (number_literal "0x26") (: ":")) (case_statement "case 0x28:" (case "case") (number_literal "0x28") (: ":")) (case_statement "case 0x33:" (case "case") (number_literal "0x33") (: ":")) (case_statement "case 0x34:\n      if (param_4 != 0) {\n        return 0;\n      }" (case "case") (number_literal "0x34") (: ":") (if_statement "if (param_4 != 0) {\n        return 0;\n      }" (if "if") (parenthesized_expression "(param_4 != 0)" (( "(") (binary_expression "param_4 != 0" (identifier "param_4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        return 0;\n      }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}")))) (case_statement "case 1:" (case "case") (number_literal "1") (: ":")) (case_statement "case 2:" (case "case") (number_literal "2") (: ":")) (case_statement "case 3:" (case "case") (number_literal "3") (: ":")) (case_statement "case 4:" (case "case") (number_literal "4") (: ":")) (case_statement "case 0xb:" (case "case") (number_literal "0xb") (: ":")) (case_statement "case 0x21:" (case "case") (number_literal "0x21") (: ":")) (case_statement "case 0x29:" (case "case") (number_literal "0x29") (: ":")) (case_statement "case 0x2a:" (case "case") (number_literal "0x2a") (: ":")) (case_statement "case 0x2b:" (case "case") (number_literal "0x2b") (: ":")) (case_statement "case 0x2e:" (case "case") (number_literal "0x2e") (: ":")) (case_statement "case 0x2f:" (case "case") (number_literal "0x2f") (: ":")) (case_statement "case 0x36:" (case "case") (number_literal "0x36") (: ":")) (case_statement "case 0x37:" (case "case") (number_literal "0x37") (: ":")) (case_statement "case 0x38:" (case "case") (number_literal "0x38") (: ":")) (case_statement "case 0x39:" (case "case") (number_literal "0x39") (: ":")) (case_statement "case 0x3a:" (case "case") (number_literal "0x3a") (: ":")) (case_statement "case 0x3b:" (case "case") (number_literal "0x3b") (: ":")) (case_statement "case 0x3c:" (case "case") (number_literal "0x3c") (: ":")) (case_statement "case 0x3d:\n      *param_1 = param_2;\n      param_1[1] = 0;\n      param_1[2] = param_3;\n      param_1[3] = param_4;\n      return 1;" (case "case") (number_literal "0x3d") (: ":") (expression_statement "*param_1 = param_2;" (assignment_expression "*param_1 = param_2" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (identifier "param_2")) (; ";")) (expression_statement "param_1[1] = 0;" (assignment_expression "param_1[1] = 0" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[2] = param_3;" (assignment_expression "param_1[2] = param_3" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "param_3")) (; ";")) (expression_statement "param_1[3] = param_4;" (assignment_expression "param_1[3] = param_4" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "param_4")) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";"))) (} "}"))) (} "}"))) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */

int function_1
              (type_1 *var_1,type_2 type,type_1 *left,
              type_1 *var_2)

{
  if (var_1 != (type_1 *)0x0) {
    switch(type) {
    case DEMANGLE_COMPONENT_VTABLE:
    case DEMANGLE_COMPONENT_VTT:
    case DEMANGLE_COMPONENT_TYPEINFO:
    case DEMANGLE_COMPONENT_TYPEINFO_NAME:
    case DEMANGLE_COMPONENT_TYPEINFO_FN:
    case DEMANGLE_COMPONENT_THUNK:
    case DEMANGLE_COMPONENT_VIRTUAL_THUNK:
    case DEMANGLE_COMPONENT_COVARIANT_THUNK:
    case DEMANGLE_COMPONENT_JAVA_CLASS:
    case DEMANGLE_COMPONENT_GUARD:
    case DEMANGLE_COMPONENT_REFTEMP:
    case DEMANGLE_COMPONENT_RESTRICT:
    case DEMANGLE_COMPONENT_VOLATILE:
    case DEMANGLE_COMPONENT_CONST:
    case DEMANGLE_COMPONENT_RESTRICT_THIS:
    case DEMANGLE_COMPONENT_VOLATILE_THIS:
    case DEMANGLE_COMPONENT_CONST_THIS:
    case DEMANGLE_COMPONENT_POINTER:
    case DEMANGLE_COMPONENT_REFERENCE:
    case DEMANGLE_COMPONENT_RVALUE_REFERENCE:
    case DEMANGLE_COMPONENT_COMPLEX:
    case DEMANGLE_COMPONENT_IMAGINARY:
    case DEMANGLE_COMPONENT_VENDOR_TYPE:
    case DEMANGLE_COMPONENT_CAST:
    case DEMANGLE_COMPONENT_CONVERSION:
      if (var_2 != (type_1 *)0x0) {
        return 0;
      }
    case DEMANGLE_COMPONENT_QUAL_NAME:
    case DEMANGLE_COMPONENT_LOCAL_NAME:
    case DEMANGLE_COMPONENT_TYPED_NAME:
    case DEMANGLE_COMPONENT_TEMPLATE:
    case DEMANGLE_COMPONENT_CONSTRUCTION_VTABLE:
    case DEMANGLE_COMPONENT_VENDOR_TYPE_QUAL:
    case DEMANGLE_COMPONENT_FUNCTION_TYPE:
    case DEMANGLE_COMPONENT_ARRAY_TYPE:
    case DEMANGLE_COMPONENT_PTRMEM_TYPE:
    case DEMANGLE_COMPONENT_ARGLIST:
    case DEMANGLE_COMPONENT_TEMPLATE_ARGLIST:
    case DEMANGLE_COMPONENT_UNARY:
    case DEMANGLE_COMPONENT_BINARY:
    case DEMANGLE_COMPONENT_BINARY_ARGS:
    case DEMANGLE_COMPONENT_TRINARY:
    case DEMANGLE_COMPONENT_TRINARY_ARG1:
    case DEMANGLE_COMPONENT_TRINARY_ARG2:
    case DEMANGLE_COMPONENT_LITERAL:
    case DEMANGLE_COMPONENT_LITERAL_NEG:
      var_1->type = type;
      var_1->d_printing = 0;
      (var_1->u).s_fixed.length = left;
      (var_1->u).s_extended_operator.name = var_2;
      return 1;
    }
  }
  return 0;
}


(translation_unit (function_definition type: (type_identifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (pointer_declarator 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 (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (switch_statement condition: (parenthesized_expression (identifier)) body: (compound_statement (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (number_literal))))) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (return_statement (number_literal))))))) (return_statement (number_literal)))))

/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */

undefined4 MASKED(undefined4 *param_1,undefined4 param_2,undefined4 param_3,int param_4)

{
  if (param_1 != (undefined4 *)0x0) {
    switch(param_2) {
    case 9:
    case 10:
    case 0xc:
    case 0xd:
    case 0xe:
    case 0xf:
    case 0x10:
    case 0x11:
    case 0x12:
    case 0x13:
    case 0x16:
    case 0x19:
    case 0x1a:
    case 0x1b:
    case 0x1c:
    case 0x1d:
    case 0x1e:
    case 0x22:
    case 0x23:
    case 0x24:
    case 0x25:
    case 0x26:
    case 0x28:
    case 0x33:
    case 0x34:
      if (param_4 != 0) {
        return 0;
      }
    case 1:
    case 2:
    case 3:
    case 4:
    case 0xb:
    case 0x21:
    case 0x29:
    case 0x2a:
    case 0x2b:
    case 0x2e:
    case 0x2f:
    case 0x36:
    case 0x37:
    case 0x38:
    case 0x39:
    case 0x3a:
    case 0x3b:
    case 0x3c:
    case 0x3d:
      *param_1 = param_2;
      param_1[1] = 0;
      param_1[2] = param_3;
      param_1[3] = param_4;
      return 1;
    }
  }
  return 0;
}

