
bfd_boolean debug_record_typed_const(void *handle,char *name,debug_type_conflict type,bfd_vma val)

{
  debug_name *pdVar1;
  debug_function *pdVar2;
  debug_handle *info;
  debug_object_linkage in_a3;
  
  if ((name != (char *)0x0) && (type != (debug_type_conflict)0x0)) {
    pdVar1 = debug_add_to_current_namespace
                       ((debug_handle *)handle,name,DEBUG_OBJECT_TYPED_CONSTANT,in_a3);
    if (pdVar1 != (debug_name *)0x0) {
      pdVar2 = (debug_function *)(*(code *)PTR_xmalloc_0004dc10)(0x10);
      *(undefined1 *)&pdVar2->parameters = 0;
      *(undefined1 *)((int)&pdVar2->parameters + 1) = 0;
      *(undefined1 *)((int)&pdVar2->parameters + 2) = 0;
      *(undefined1 *)((int)&pdVar2->parameters + 3) = 0;
      pdVar2->return_type = type;
      *(bfd_vma *)&pdVar2->blocks = val;
      (pdVar1->u).function = pdVar2;
      return 1;
    }
    return 0;
  }
  return 0;
}



undefined4
debug_record_typed_const
          (undefined4 param_1,int param_2,int param_3,undefined4 param_4,int param_5,int param_6)

{
  int iVar1;
  int *piVar2;
  
  if ((param_2 != 0) && (param_3 != 0)) {
    iVar1 = FUN_000209c4(param_1,param_2,6);
    if (iVar1 != 0) {
      piVar2 = (int *)(*(code *)PTR_xmalloc_0004dc10)(0x10);
      *(undefined1 *)(piVar2 + 1) = 0;
      *(undefined1 *)((int)piVar2 + 5) = 0;
      *(undefined1 *)((int)piVar2 + 6) = 0;
      *(undefined1 *)((int)piVar2 + 7) = 0;
      *piVar2 = param_3;
      piVar2[3] = param_6;
      piVar2[2] = param_5;
      *(int **)(iVar1 + 0x18) = piVar2;
      return 1;
    }
    return 0;
  }
  return 0;
}


lui gp,0x3
addiu gp,gp,0x4264
addu gp,gp,t9
beq a1,zero,0x000216d4
_or v1,zero,zero
beq a2,zero,0x000216d4
_lw t9,-0x7fa4(gp)
addiu sp,sp,-0x28
addiu t9,t9,0x9c4
sw s0,0x1c(sp)
or s0,a2,zero
sw gp,0x10(sp)
sw s1,0x20(sp)
sw ra,0x24(sp)
bal 0x000209c4
_li a2,0x6
lw gp,0x10(sp)
beq v0,zero,0x000216b8
_or s1,v0,zero
lw t9,-0x7c70(gp)
jalr t9
_li a0,0x10
li v1,0x1
lw a1,0x3c(sp)
lw a0,0x38(sp)
sb zero,0x4(v0)
sb zero,0x5(v0)
sb zero,0x6(v0)
sb zero,0x7(v0)
sw s0,0x0(v0)
sw a1,0xc(v0)
sw a0,0x8(v0)
sw v0,0x18(s1)
or v0,v1,zero
lw ra,0x24(sp)
lw s1,0x20(sp)
lw s0,0x1c(sp)
jr ra
_addiu sp,sp,0x28
lw ra,0x24(sp)
or v1,zero,zero
lw s1,0x20(sp)
lw s0,0x1c(sp)
or v0,v1,zero
jr ra
_addiu sp,sp,0x28
jr ra
_or v0,v1,zero
(translation_unit "undefined4\ndebug_record_typed_const\n          (undefined4 param_1,int param_2,int param_3,undefined4 param_4,int param_5,int param_6)\n\n{\n  int iVar1;\n  int *piVar2;\n  \n  if ((param_2 != 0) && (param_3 != 0)) {\n    iVar1 = FUN_000209c4(param_1,param_2,6);\n    if (iVar1 != 0) {\n      piVar2 = (int *)(*(code *)PTR_xmalloc_0004dc10)(0x10);\n      *(undefined1 *)(piVar2 + 1) = 0;\n      *(undefined1 *)((int)piVar2 + 5) = 0;\n      *(undefined1 *)((int)piVar2 + 6) = 0;\n      *(undefined1 *)((int)piVar2 + 7) = 0;\n      *piVar2 = param_3;\n      piVar2[3] = param_6;\n      piVar2[2] = param_5;\n      *(int **)(iVar1 + 0x18) = piVar2;\n      return 1;\n    }\n    return 0;\n  }\n  return 0;\n}\n\n" (function_definition "undefined4\ndebug_record_typed_const\n          (undefined4 param_1,int param_2,int param_3,undefined4 param_4,int param_5,int param_6)\n\n{\n  int iVar1;\n  int *piVar2;\n  \n  if ((param_2 != 0) && (param_3 != 0)) {\n    iVar1 = FUN_000209c4(param_1,param_2,6);\n    if (iVar1 != 0) {\n      piVar2 = (int *)(*(code *)PTR_xmalloc_0004dc10)(0x10);\n      *(undefined1 *)(piVar2 + 1) = 0;\n      *(undefined1 *)((int)piVar2 + 5) = 0;\n      *(undefined1 *)((int)piVar2 + 6) = 0;\n      *(undefined1 *)((int)piVar2 + 7) = 0;\n      *piVar2 = param_3;\n      piVar2[3] = param_6;\n      piVar2[2] = param_5;\n      *(int **)(iVar1 + 0x18) = piVar2;\n      return 1;\n    }\n    return 0;\n  }\n  return 0;\n}" type_identifier (function_declarator "debug_record_typed_const\n          (undefined4 param_1,int param_2,int param_3,undefined4 param_4,int param_5,int param_6)" identifier (parameter_list "(undefined4 param_1,int param_2,int param_3,undefined4 param_4,int param_5,int param_6)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "int param_5" primitive_type identifier) , (parameter_declaration "int param_6" primitive_type identifier) ))) (compound_statement "{\n  int iVar1;\n  int *piVar2;\n  \n  if ((param_2 != 0) && (param_3 != 0)) {\n    iVar1 = FUN_000209c4(param_1,param_2,6);\n    if (iVar1 != 0) {\n      piVar2 = (int *)(*(code *)PTR_xmalloc_0004dc10)(0x10);\n      *(undefined1 *)(piVar2 + 1) = 0;\n      *(undefined1 *)((int)piVar2 + 5) = 0;\n      *(undefined1 *)((int)piVar2 + 6) = 0;\n      *(undefined1 *)((int)piVar2 + 7) = 0;\n      *piVar2 = param_3;\n      piVar2[3] = param_6;\n      piVar2[2] = param_5;\n      *(int **)(iVar1 + 0x18) = piVar2;\n      return 1;\n    }\n    return 0;\n  }\n  return 0;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (if_statement "if ((param_2 != 0) && (param_3 != 0)) {\n    iVar1 = FUN_000209c4(param_1,param_2,6);\n    if (iVar1 != 0) {\n      piVar2 = (int *)(*(code *)PTR_xmalloc_0004dc10)(0x10);\n      *(undefined1 *)(piVar2 + 1) = 0;\n      *(undefined1 *)((int)piVar2 + 5) = 0;\n      *(undefined1 *)((int)piVar2 + 6) = 0;\n      *(undefined1 *)((int)piVar2 + 7) = 0;\n      *piVar2 = param_3;\n      piVar2[3] = param_6;\n      piVar2[2] = param_5;\n      *(int **)(iVar1 + 0x18) = piVar2;\n      return 1;\n    }\n    return 0;\n  }" if (parenthesized_expression "((param_2 != 0) && (param_3 != 0))" ( (binary_expression "(param_2 != 0) && (param_3 != 0)" (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) && (parenthesized_expression "(param_3 != 0)" ( (binary_expression "param_3 != 0" identifier != number_literal) ))) )) (compound_statement "{\n    iVar1 = FUN_000209c4(param_1,param_2,6);\n    if (iVar1 != 0) {\n      piVar2 = (int *)(*(code *)PTR_xmalloc_0004dc10)(0x10);\n      *(undefined1 *)(piVar2 + 1) = 0;\n      *(undefined1 *)((int)piVar2 + 5) = 0;\n      *(undefined1 *)((int)piVar2 + 6) = 0;\n      *(undefined1 *)((int)piVar2 + 7) = 0;\n      *piVar2 = param_3;\n      piVar2[3] = param_6;\n      piVar2[2] = param_5;\n      *(int **)(iVar1 + 0x18) = piVar2;\n      return 1;\n    }\n    return 0;\n  }" { (expression_statement "iVar1 = FUN_000209c4(param_1,param_2,6);" (assignment_expression "iVar1 = FUN_000209c4(param_1,param_2,6)" identifier = (call_expression "FUN_000209c4(param_1,param_2,6)" identifier (argument_list "(param_1,param_2,6)" ( identifier , identifier , number_literal )))) ;) (if_statement "if (iVar1 != 0) {\n      piVar2 = (int *)(*(code *)PTR_xmalloc_0004dc10)(0x10);\n      *(undefined1 *)(piVar2 + 1) = 0;\n      *(undefined1 *)((int)piVar2 + 5) = 0;\n      *(undefined1 *)((int)piVar2 + 6) = 0;\n      *(undefined1 *)((int)piVar2 + 7) = 0;\n      *piVar2 = param_3;\n      piVar2[3] = param_6;\n      piVar2[2] = param_5;\n      *(int **)(iVar1 + 0x18) = piVar2;\n      return 1;\n    }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n      piVar2 = (int *)(*(code *)PTR_xmalloc_0004dc10)(0x10);\n      *(undefined1 *)(piVar2 + 1) = 0;\n      *(undefined1 *)((int)piVar2 + 5) = 0;\n      *(undefined1 *)((int)piVar2 + 6) = 0;\n      *(undefined1 *)((int)piVar2 + 7) = 0;\n      *piVar2 = param_3;\n      piVar2[3] = param_6;\n      piVar2[2] = param_5;\n      *(int **)(iVar1 + 0x18) = piVar2;\n      return 1;\n    }" { (expression_statement "piVar2 = (int *)(*(code *)PTR_xmalloc_0004dc10)(0x10);" (assignment_expression "piVar2 = (int *)(*(code *)PTR_xmalloc_0004dc10)(0x10)" identifier = (cast_expression "(int *)(*(code *)PTR_xmalloc_0004dc10)(0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_xmalloc_0004dc10)(0x10)" (parenthesized_expression "(*(code *)PTR_xmalloc_0004dc10)" ( (pointer_expression "*(code *)PTR_xmalloc_0004dc10" * (cast_expression "(code *)PTR_xmalloc_0004dc10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x10)" ( number_literal ))))) ;) (expression_statement "*(undefined1 *)(piVar2 + 1) = 0;" (assignment_expression "*(undefined1 *)(piVar2 + 1) = 0" (pointer_expression "*(undefined1 *)(piVar2 + 1)" * (cast_expression "(undefined1 *)(piVar2 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 1)" ( (binary_expression "piVar2 + 1" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)((int)piVar2 + 5) = 0;" (assignment_expression "*(undefined1 *)((int)piVar2 + 5) = 0" (pointer_expression "*(undefined1 *)((int)piVar2 + 5)" * (cast_expression "(undefined1 *)((int)piVar2 + 5)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar2 + 5)" ( (binary_expression "(int)piVar2 + 5" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)((int)piVar2 + 6) = 0;" (assignment_expression "*(undefined1 *)((int)piVar2 + 6) = 0" (pointer_expression "*(undefined1 *)((int)piVar2 + 6)" * (cast_expression "(undefined1 *)((int)piVar2 + 6)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar2 + 6)" ( (binary_expression "(int)piVar2 + 6" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)((int)piVar2 + 7) = 0;" (assignment_expression "*(undefined1 *)((int)piVar2 + 7) = 0" (pointer_expression "*(undefined1 *)((int)piVar2 + 7)" * (cast_expression "(undefined1 *)((int)piVar2 + 7)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar2 + 7)" ( (binary_expression "(int)piVar2 + 7" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*piVar2 = param_3;" (assignment_expression "*piVar2 = param_3" (pointer_expression "*piVar2" * identifier) = identifier) ;) (expression_statement "piVar2[3] = param_6;" (assignment_expression "piVar2[3] = param_6" (subscript_expression "piVar2[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar2[2] = param_5;" (assignment_expression "piVar2[2] = param_5" (subscript_expression "piVar2[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(int **)(iVar1 + 0x18) = piVar2;" (assignment_expression "*(int **)(iVar1 + 0x18) = piVar2" (pointer_expression "*(int **)(iVar1 + 0x18)" * (cast_expression "(int **)(iVar1 + 0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar1 + 0x18)" ( (binary_expression "iVar1 + 0x18" identifier + number_literal) )))) = identifier) ;) (return_statement "return 1;" return number_literal ;) })) (return_statement "return 0;" return number_literal ;) })) (return_statement "return 0;" return number_literal ;) })))
(translation_unit "bfd_boolean debug_record_typed_const(void *handle,char *name,debug_type_conflict type,bfd_vma val)\n\n{\n  debug_name *pdVar1;\n  debug_function *pdVar2;\n  debug_handle *info;\n  debug_object_linkage in_a3;\n  \n  if ((name != (char *)0x0) && (type != (debug_type_conflict)0x0)) {\n    pdVar1 = debug_add_to_current_namespace\n                       ((debug_handle *)handle,name,DEBUG_OBJECT_TYPED_CONSTANT,in_a3);\n    if (pdVar1 != (debug_name *)0x0) {\n      pdVar2 = (debug_function *)(*(code *)PTR_xmalloc_0004dc10)(0x10);\n      *(undefined1 *)&pdVar2->parameters = 0;\n      *(undefined1 *)((int)&pdVar2->parameters + 1) = 0;\n      *(undefined1 *)((int)&pdVar2->parameters + 2) = 0;\n      *(undefined1 *)((int)&pdVar2->parameters + 3) = 0;\n      pdVar2->return_type = type;\n      *(bfd_vma *)&pdVar2->blocks = val;\n      (pdVar1->u).function = pdVar2;\n      return 1;\n    }\n    return 0;\n  }\n  return 0;\n}\n\n" (function_definition "bfd_boolean debug_record_typed_const(void *handle,char *name,debug_type_conflict type,bfd_vma val)\n\n{\n  debug_name *pdVar1;\n  debug_function *pdVar2;\n  debug_handle *info;\n  debug_object_linkage in_a3;\n  \n  if ((name != (char *)0x0) && (type != (debug_type_conflict)0x0)) {\n    pdVar1 = debug_add_to_current_namespace\n                       ((debug_handle *)handle,name,DEBUG_OBJECT_TYPED_CONSTANT,in_a3);\n    if (pdVar1 != (debug_name *)0x0) {\n      pdVar2 = (debug_function *)(*(code *)PTR_xmalloc_0004dc10)(0x10);\n      *(undefined1 *)&pdVar2->parameters = 0;\n      *(undefined1 *)((int)&pdVar2->parameters + 1) = 0;\n      *(undefined1 *)((int)&pdVar2->parameters + 2) = 0;\n      *(undefined1 *)((int)&pdVar2->parameters + 3) = 0;\n      pdVar2->return_type = type;\n      *(bfd_vma *)&pdVar2->blocks = val;\n      (pdVar1->u).function = pdVar2;\n      return 1;\n    }\n    return 0;\n  }\n  return 0;\n}" type_identifier (function_declarator "debug_record_typed_const(void *handle,char *name,debug_type_conflict type,bfd_vma val)" identifier (parameter_list "(void *handle,char *name,debug_type_conflict type,bfd_vma val)" ( (parameter_declaration "void *handle" primitive_type (pointer_declarator "*handle" * identifier)) , (parameter_declaration "char *name" primitive_type (pointer_declarator "*name" * identifier)) , (parameter_declaration "debug_type_conflict type" type_identifier identifier) , (parameter_declaration "bfd_vma val" type_identifier identifier) ))) (compound_statement "{\n  debug_name *pdVar1;\n  debug_function *pdVar2;\n  debug_handle *info;\n  debug_object_linkage in_a3;\n  \n  if ((name != (char *)0x0) && (type != (debug_type_conflict)0x0)) {\n    pdVar1 = debug_add_to_current_namespace\n                       ((debug_handle *)handle,name,DEBUG_OBJECT_TYPED_CONSTANT,in_a3);\n    if (pdVar1 != (debug_name *)0x0) {\n      pdVar2 = (debug_function *)(*(code *)PTR_xmalloc_0004dc10)(0x10);\n      *(undefined1 *)&pdVar2->parameters = 0;\n      *(undefined1 *)((int)&pdVar2->parameters + 1) = 0;\n      *(undefined1 *)((int)&pdVar2->parameters + 2) = 0;\n      *(undefined1 *)((int)&pdVar2->parameters + 3) = 0;\n      pdVar2->return_type = type;\n      *(bfd_vma *)&pdVar2->blocks = val;\n      (pdVar1->u).function = pdVar2;\n      return 1;\n    }\n    return 0;\n  }\n  return 0;\n}" { (declaration "debug_name *pdVar1;" type_identifier (pointer_declarator "*pdVar1" * identifier) ;) (declaration "debug_function *pdVar2;" type_identifier (pointer_declarator "*pdVar2" * identifier) ;) (declaration "debug_handle *info;" type_identifier (pointer_declarator "*info" * identifier) ;) (declaration "debug_object_linkage in_a3;" type_identifier identifier ;) (if_statement "if ((name != (char *)0x0) && (type != (debug_type_conflict)0x0)) {\n    pdVar1 = debug_add_to_current_namespace\n                       ((debug_handle *)handle,name,DEBUG_OBJECT_TYPED_CONSTANT,in_a3);\n    if (pdVar1 != (debug_name *)0x0) {\n      pdVar2 = (debug_function *)(*(code *)PTR_xmalloc_0004dc10)(0x10);\n      *(undefined1 *)&pdVar2->parameters = 0;\n      *(undefined1 *)((int)&pdVar2->parameters + 1) = 0;\n      *(undefined1 *)((int)&pdVar2->parameters + 2) = 0;\n      *(undefined1 *)((int)&pdVar2->parameters + 3) = 0;\n      pdVar2->return_type = type;\n      *(bfd_vma *)&pdVar2->blocks = val;\n      (pdVar1->u).function = pdVar2;\n      return 1;\n    }\n    return 0;\n  }" if (parenthesized_expression "((name != (char *)0x0) && (type != (debug_type_conflict)0x0))" ( (binary_expression "(name != (char *)0x0) && (type != (debug_type_conflict)0x0)" (parenthesized_expression "(name != (char *)0x0)" ( (binary_expression "name != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(type != (debug_type_conflict)0x0)" ( (binary_expression "type != (debug_type_conflict)0x0" identifier != (cast_expression "(debug_type_conflict)0x0" ( (type_descriptor "debug_type_conflict" type_identifier) ) number_literal)) ))) )) (compound_statement "{\n    pdVar1 = debug_add_to_current_namespace\n                       ((debug_handle *)handle,name,DEBUG_OBJECT_TYPED_CONSTANT,in_a3);\n    if (pdVar1 != (debug_name *)0x0) {\n      pdVar2 = (debug_function *)(*(code *)PTR_xmalloc_0004dc10)(0x10);\n      *(undefined1 *)&pdVar2->parameters = 0;\n      *(undefined1 *)((int)&pdVar2->parameters + 1) = 0;\n      *(undefined1 *)((int)&pdVar2->parameters + 2) = 0;\n      *(undefined1 *)((int)&pdVar2->parameters + 3) = 0;\n      pdVar2->return_type = type;\n      *(bfd_vma *)&pdVar2->blocks = val;\n      (pdVar1->u).function = pdVar2;\n      return 1;\n    }\n    return 0;\n  }" { (expression_statement "pdVar1 = debug_add_to_current_namespace\n                       ((debug_handle *)handle,name,DEBUG_OBJECT_TYPED_CONSTANT,in_a3);" (assignment_expression "pdVar1 = debug_add_to_current_namespace\n                       ((debug_handle *)handle,name,DEBUG_OBJECT_TYPED_CONSTANT,in_a3)" identifier = (call_expression "debug_add_to_current_namespace\n                       ((debug_handle *)handle,name,DEBUG_OBJECT_TYPED_CONSTANT,in_a3)" identifier (argument_list "((debug_handle *)handle,name,DEBUG_OBJECT_TYPED_CONSTANT,in_a3)" ( (cast_expression "(debug_handle *)handle" ( (type_descriptor "debug_handle *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , identifier , identifier )))) ;) (if_statement "if (pdVar1 != (debug_name *)0x0) {\n      pdVar2 = (debug_function *)(*(code *)PTR_xmalloc_0004dc10)(0x10);\n      *(undefined1 *)&pdVar2->parameters = 0;\n      *(undefined1 *)((int)&pdVar2->parameters + 1) = 0;\n      *(undefined1 *)((int)&pdVar2->parameters + 2) = 0;\n      *(undefined1 *)((int)&pdVar2->parameters + 3) = 0;\n      pdVar2->return_type = type;\n      *(bfd_vma *)&pdVar2->blocks = val;\n      (pdVar1->u).function = pdVar2;\n      return 1;\n    }" if (parenthesized_expression "(pdVar1 != (debug_name *)0x0)" ( (binary_expression "pdVar1 != (debug_name *)0x0" identifier != (cast_expression "(debug_name *)0x0" ( (type_descriptor "debug_name *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pdVar2 = (debug_function *)(*(code *)PTR_xmalloc_0004dc10)(0x10);\n      *(undefined1 *)&pdVar2->parameters = 0;\n      *(undefined1 *)((int)&pdVar2->parameters + 1) = 0;\n      *(undefined1 *)((int)&pdVar2->parameters + 2) = 0;\n      *(undefined1 *)((int)&pdVar2->parameters + 3) = 0;\n      pdVar2->return_type = type;\n      *(bfd_vma *)&pdVar2->blocks = val;\n      (pdVar1->u).function = pdVar2;\n      return 1;\n    }" { (expression_statement "pdVar2 = (debug_function *)(*(code *)PTR_xmalloc_0004dc10)(0x10);" (assignment_expression "pdVar2 = (debug_function *)(*(code *)PTR_xmalloc_0004dc10)(0x10)" identifier = (cast_expression "(debug_function *)(*(code *)PTR_xmalloc_0004dc10)(0x10)" ( (type_descriptor "debug_function *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_xmalloc_0004dc10)(0x10)" (parenthesized_expression "(*(code *)PTR_xmalloc_0004dc10)" ( (pointer_expression "*(code *)PTR_xmalloc_0004dc10" * (cast_expression "(code *)PTR_xmalloc_0004dc10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x10)" ( number_literal ))))) ;) (expression_statement "*(undefined1 *)&pdVar2->parameters = 0;" (assignment_expression "*(undefined1 *)&pdVar2->parameters = 0" (pointer_expression "*(undefined1 *)&pdVar2->parameters" * (cast_expression "(undefined1 *)&pdVar2->parameters" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pdVar2->parameters" & (field_expression "pdVar2->parameters" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined1 *)((int)&pdVar2->parameters + 1) = 0;" (assignment_expression "*(undefined1 *)((int)&pdVar2->parameters + 1) = 0" (pointer_expression "*(undefined1 *)((int)&pdVar2->parameters + 1)" * (cast_expression "(undefined1 *)((int)&pdVar2->parameters + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pdVar2->parameters + 1)" ( (binary_expression "(int)&pdVar2->parameters + 1" (cast_expression "(int)&pdVar2->parameters" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pdVar2->parameters" & (field_expression "pdVar2->parameters" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)((int)&pdVar2->parameters + 2) = 0;" (assignment_expression "*(undefined1 *)((int)&pdVar2->parameters + 2) = 0" (pointer_expression "*(undefined1 *)((int)&pdVar2->parameters + 2)" * (cast_expression "(undefined1 *)((int)&pdVar2->parameters + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pdVar2->parameters + 2)" ( (binary_expression "(int)&pdVar2->parameters + 2" (cast_expression "(int)&pdVar2->parameters" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pdVar2->parameters" & (field_expression "pdVar2->parameters" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)((int)&pdVar2->parameters + 3) = 0;" (assignment_expression "*(undefined1 *)((int)&pdVar2->parameters + 3) = 0" (pointer_expression "*(undefined1 *)((int)&pdVar2->parameters + 3)" * (cast_expression "(undefined1 *)((int)&pdVar2->parameters + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pdVar2->parameters + 3)" ( (binary_expression "(int)&pdVar2->parameters + 3" (cast_expression "(int)&pdVar2->parameters" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pdVar2->parameters" & (field_expression "pdVar2->parameters" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "pdVar2->return_type = type;" (assignment_expression "pdVar2->return_type = type" (field_expression "pdVar2->return_type" identifier -> field_identifier) = identifier) ;) (expression_statement "*(bfd_vma *)&pdVar2->blocks = val;" (assignment_expression "*(bfd_vma *)&pdVar2->blocks = val" (pointer_expression "*(bfd_vma *)&pdVar2->blocks" * (cast_expression "(bfd_vma *)&pdVar2->blocks" ( (type_descriptor "bfd_vma *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pdVar2->blocks" & (field_expression "pdVar2->blocks" identifier -> field_identifier)))) = identifier) ;) (expression_statement "(pdVar1->u).function = pdVar2;" (assignment_expression "(pdVar1->u).function = pdVar2" (field_expression "(pdVar1->u).function" (parenthesized_expression "(pdVar1->u)" ( (field_expression "pdVar1->u" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (return_statement "return 1;" return number_literal ;) })) (return_statement "return 0;" return number_literal ;) })) (return_statement "return 0;" return number_literal ;) })))
(translation_unit "undefined4\ndebug_record_typed_const\n          (undefined4 param_1,int param_2,int param_3,undefined4 param_4,int param_5,int param_6)\n\n{\n  int iVar1;\n  int *piVar2;\n  \n  if ((param_2 != 0) && (param_3 != 0)) {\n    iVar1 = FUN_000209c4(param_1,param_2,6);\n    if (iVar1 != 0) {\n      piVar2 = (int *)(*(code *)PTR_xmalloc_0004dc10)(0x10);\n      *(undefined1 *)(piVar2 + 1) = 0;\n      *(undefined1 *)((int)piVar2 + 5) = 0;\n      *(undefined1 *)((int)piVar2 + 6) = 0;\n      *(undefined1 *)((int)piVar2 + 7) = 0;\n      *piVar2 = param_3;\n      piVar2[3] = param_6;\n      piVar2[2] = param_5;\n      *(int **)(iVar1 + 0x18) = piVar2;\n      return 1;\n    }\n    return 0;\n  }\n  return 0;\n}\n\n" (function_definition "undefined4\ndebug_record_typed_const\n          (undefined4 param_1,int param_2,int param_3,undefined4 param_4,int param_5,int param_6)\n\n{\n  int iVar1;\n  int *piVar2;\n  \n  if ((param_2 != 0) && (param_3 != 0)) {\n    iVar1 = FUN_000209c4(param_1,param_2,6);\n    if (iVar1 != 0) {\n      piVar2 = (int *)(*(code *)PTR_xmalloc_0004dc10)(0x10);\n      *(undefined1 *)(piVar2 + 1) = 0;\n      *(undefined1 *)((int)piVar2 + 5) = 0;\n      *(undefined1 *)((int)piVar2 + 6) = 0;\n      *(undefined1 *)((int)piVar2 + 7) = 0;\n      *piVar2 = param_3;\n      piVar2[3] = param_6;\n      piVar2[2] = param_5;\n      *(int **)(iVar1 + 0x18) = piVar2;\n      return 1;\n    }\n    return 0;\n  }\n  return 0;\n}" type_identifier (function_declarator "debug_record_typed_const\n          (undefined4 param_1,int param_2,int param_3,undefined4 param_4,int param_5,int param_6)" identifier (parameter_list "(undefined4 param_1,int param_2,int param_3,undefined4 param_4,int param_5,int param_6)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "int param_5" primitive_type identifier) , (parameter_declaration "int param_6" primitive_type identifier) ))) (compound_statement "{\n  int iVar1;\n  int *piVar2;\n  \n  if ((param_2 != 0) && (param_3 != 0)) {\n    iVar1 = FUN_000209c4(param_1,param_2,6);\n    if (iVar1 != 0) {\n      piVar2 = (int *)(*(code *)PTR_xmalloc_0004dc10)(0x10);\n      *(undefined1 *)(piVar2 + 1) = 0;\n      *(undefined1 *)((int)piVar2 + 5) = 0;\n      *(undefined1 *)((int)piVar2 + 6) = 0;\n      *(undefined1 *)((int)piVar2 + 7) = 0;\n      *piVar2 = param_3;\n      piVar2[3] = param_6;\n      piVar2[2] = param_5;\n      *(int **)(iVar1 + 0x18) = piVar2;\n      return 1;\n    }\n    return 0;\n  }\n  return 0;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (if_statement "if ((param_2 != 0) && (param_3 != 0)) {\n    iVar1 = FUN_000209c4(param_1,param_2,6);\n    if (iVar1 != 0) {\n      piVar2 = (int *)(*(code *)PTR_xmalloc_0004dc10)(0x10);\n      *(undefined1 *)(piVar2 + 1) = 0;\n      *(undefined1 *)((int)piVar2 + 5) = 0;\n      *(undefined1 *)((int)piVar2 + 6) = 0;\n      *(undefined1 *)((int)piVar2 + 7) = 0;\n      *piVar2 = param_3;\n      piVar2[3] = param_6;\n      piVar2[2] = param_5;\n      *(int **)(iVar1 + 0x18) = piVar2;\n      return 1;\n    }\n    return 0;\n  }" if (parenthesized_expression "((param_2 != 0) && (param_3 != 0))" ( (binary_expression "(param_2 != 0) && (param_3 != 0)" (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) && (parenthesized_expression "(param_3 != 0)" ( (binary_expression "param_3 != 0" identifier != number_literal) ))) )) (compound_statement "{\n    iVar1 = FUN_000209c4(param_1,param_2,6);\n    if (iVar1 != 0) {\n      piVar2 = (int *)(*(code *)PTR_xmalloc_0004dc10)(0x10);\n      *(undefined1 *)(piVar2 + 1) = 0;\n      *(undefined1 *)((int)piVar2 + 5) = 0;\n      *(undefined1 *)((int)piVar2 + 6) = 0;\n      *(undefined1 *)((int)piVar2 + 7) = 0;\n      *piVar2 = param_3;\n      piVar2[3] = param_6;\n      piVar2[2] = param_5;\n      *(int **)(iVar1 + 0x18) = piVar2;\n      return 1;\n    }\n    return 0;\n  }" { (expression_statement "iVar1 = FUN_000209c4(param_1,param_2,6);" (assignment_expression "iVar1 = FUN_000209c4(param_1,param_2,6)" identifier = (call_expression "FUN_000209c4(param_1,param_2,6)" identifier (argument_list "(param_1,param_2,6)" ( identifier , identifier , number_literal )))) ;) (if_statement "if (iVar1 != 0) {\n      piVar2 = (int *)(*(code *)PTR_xmalloc_0004dc10)(0x10);\n      *(undefined1 *)(piVar2 + 1) = 0;\n      *(undefined1 *)((int)piVar2 + 5) = 0;\n      *(undefined1 *)((int)piVar2 + 6) = 0;\n      *(undefined1 *)((int)piVar2 + 7) = 0;\n      *piVar2 = param_3;\n      piVar2[3] = param_6;\n      piVar2[2] = param_5;\n      *(int **)(iVar1 + 0x18) = piVar2;\n      return 1;\n    }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n      piVar2 = (int *)(*(code *)PTR_xmalloc_0004dc10)(0x10);\n      *(undefined1 *)(piVar2 + 1) = 0;\n      *(undefined1 *)((int)piVar2 + 5) = 0;\n      *(undefined1 *)((int)piVar2 + 6) = 0;\n      *(undefined1 *)((int)piVar2 + 7) = 0;\n      *piVar2 = param_3;\n      piVar2[3] = param_6;\n      piVar2[2] = param_5;\n      *(int **)(iVar1 + 0x18) = piVar2;\n      return 1;\n    }" { (expression_statement "piVar2 = (int *)(*(code *)PTR_xmalloc_0004dc10)(0x10);" (assignment_expression "piVar2 = (int *)(*(code *)PTR_xmalloc_0004dc10)(0x10)" identifier = (cast_expression "(int *)(*(code *)PTR_xmalloc_0004dc10)(0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_xmalloc_0004dc10)(0x10)" (parenthesized_expression "(*(code *)PTR_xmalloc_0004dc10)" ( (pointer_expression "*(code *)PTR_xmalloc_0004dc10" * (cast_expression "(code *)PTR_xmalloc_0004dc10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x10)" ( number_literal ))))) ;) (expression_statement "*(undefined1 *)(piVar2 + 1) = 0;" (assignment_expression "*(undefined1 *)(piVar2 + 1) = 0" (pointer_expression "*(undefined1 *)(piVar2 + 1)" * (cast_expression "(undefined1 *)(piVar2 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 1)" ( (binary_expression "piVar2 + 1" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)((int)piVar2 + 5) = 0;" (assignment_expression "*(undefined1 *)((int)piVar2 + 5) = 0" (pointer_expression "*(undefined1 *)((int)piVar2 + 5)" * (cast_expression "(undefined1 *)((int)piVar2 + 5)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar2 + 5)" ( (binary_expression "(int)piVar2 + 5" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)((int)piVar2 + 6) = 0;" (assignment_expression "*(undefined1 *)((int)piVar2 + 6) = 0" (pointer_expression "*(undefined1 *)((int)piVar2 + 6)" * (cast_expression "(undefined1 *)((int)piVar2 + 6)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar2 + 6)" ( (binary_expression "(int)piVar2 + 6" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)((int)piVar2 + 7) = 0;" (assignment_expression "*(undefined1 *)((int)piVar2 + 7) = 0" (pointer_expression "*(undefined1 *)((int)piVar2 + 7)" * (cast_expression "(undefined1 *)((int)piVar2 + 7)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar2 + 7)" ( (binary_expression "(int)piVar2 + 7" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*piVar2 = param_3;" (assignment_expression "*piVar2 = param_3" (pointer_expression "*piVar2" * identifier) = identifier) ;) (expression_statement "piVar2[3] = param_6;" (assignment_expression "piVar2[3] = param_6" (subscript_expression "piVar2[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar2[2] = param_5;" (assignment_expression "piVar2[2] = param_5" (subscript_expression "piVar2[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(int **)(iVar1 + 0x18) = piVar2;" (assignment_expression "*(int **)(iVar1 + 0x18) = piVar2" (pointer_expression "*(int **)(iVar1 + 0x18)" * (cast_expression "(int **)(iVar1 + 0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar1 + 0x18)" ( (binary_expression "iVar1 + 0x18" identifier + number_literal) )))) = identifier) ;) (return_statement "return 1;" return number_literal ;) })) (return_statement "return 0;" return number_literal ;) })) (return_statement "return 0;" return number_literal ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (return_statement return LIT ;) })) (return_statement return LIT ;) })) (return_statement return LIT ;) })))
(function_definition "undefined4\ndebug_record_typed_const\n          (undefined4 param_1,int param_2,int param_3,undefined4 param_4,int param_5,int param_6)\n\n{\n  int iVar1;\n  int *piVar2;\n  \n  if ((param_2 != 0) && (param_3 != 0)) {\n    iVar1 = FUN_000209c4(param_1,param_2,6);\n    if (iVar1 != 0) {\n      piVar2 = (int *)(*(code *)PTR_xmalloc_0004dc10)(0x10);\n      *(undefined1 *)(piVar2 + 1) = 0;\n      *(undefined1 *)((int)piVar2 + 5) = 0;\n      *(undefined1 *)((int)piVar2 + 6) = 0;\n      *(undefined1 *)((int)piVar2 + 7) = 0;\n      *piVar2 = param_3;\n      piVar2[3] = param_6;\n      piVar2[2] = param_5;\n      *(int **)(iVar1 + 0x18) = piVar2;\n      return 1;\n    }\n    return 0;\n  }\n  return 0;\n}" (type_identifier "undefined4") (function_declarator "debug_record_typed_const\n          (undefined4 param_1,int param_2,int param_3,undefined4 param_4,int param_5,int param_6)" (identifier "debug_record_typed_const") (parameter_list "(undefined4 param_1,int param_2,int param_3,undefined4 param_4,int param_5,int param_6)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) (, ",") (parameter_declaration "undefined4 param_4" (type_identifier "undefined4") (identifier "param_4")) (, ",") (parameter_declaration "int param_5" (primitive_type "int") (identifier "param_5")) (, ",") (parameter_declaration "int param_6" (primitive_type "int") (identifier "param_6")) () ")"))) (compound_statement "{\n  int iVar1;\n  int *piVar2;\n  \n  if ((param_2 != 0) && (param_3 != 0)) {\n    iVar1 = FUN_000209c4(param_1,param_2,6);\n    if (iVar1 != 0) {\n      piVar2 = (int *)(*(code *)PTR_xmalloc_0004dc10)(0x10);\n      *(undefined1 *)(piVar2 + 1) = 0;\n      *(undefined1 *)((int)piVar2 + 5) = 0;\n      *(undefined1 *)((int)piVar2 + 6) = 0;\n      *(undefined1 *)((int)piVar2 + 7) = 0;\n      *piVar2 = param_3;\n      piVar2[3] = param_6;\n      piVar2[2] = param_5;\n      *(int **)(iVar1 + 0x18) = piVar2;\n      return 1;\n    }\n    return 0;\n  }\n  return 0;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "int *piVar2;" (primitive_type "int") (pointer_declarator "*piVar2" (* "*") (identifier "piVar2")) (; ";")) (if_statement "if ((param_2 != 0) && (param_3 != 0)) {\n    iVar1 = FUN_000209c4(param_1,param_2,6);\n    if (iVar1 != 0) {\n      piVar2 = (int *)(*(code *)PTR_xmalloc_0004dc10)(0x10);\n      *(undefined1 *)(piVar2 + 1) = 0;\n      *(undefined1 *)((int)piVar2 + 5) = 0;\n      *(undefined1 *)((int)piVar2 + 6) = 0;\n      *(undefined1 *)((int)piVar2 + 7) = 0;\n      *piVar2 = param_3;\n      piVar2[3] = param_6;\n      piVar2[2] = param_5;\n      *(int **)(iVar1 + 0x18) = piVar2;\n      return 1;\n    }\n    return 0;\n  }" (if "if") (parenthesized_expression "((param_2 != 0) && (param_3 != 0))" (( "(") (binary_expression "(param_2 != 0) && (param_3 != 0)" (parenthesized_expression "(param_2 != 0)" (( "(") (binary_expression "param_2 != 0" (identifier "param_2") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(param_3 != 0)" (( "(") (binary_expression "param_3 != 0" (identifier "param_3") (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n    iVar1 = FUN_000209c4(param_1,param_2,6);\n    if (iVar1 != 0) {\n      piVar2 = (int *)(*(code *)PTR_xmalloc_0004dc10)(0x10);\n      *(undefined1 *)(piVar2 + 1) = 0;\n      *(undefined1 *)((int)piVar2 + 5) = 0;\n      *(undefined1 *)((int)piVar2 + 6) = 0;\n      *(undefined1 *)((int)piVar2 + 7) = 0;\n      *piVar2 = param_3;\n      piVar2[3] = param_6;\n      piVar2[2] = param_5;\n      *(int **)(iVar1 + 0x18) = piVar2;\n      return 1;\n    }\n    return 0;\n  }" ({ "{") (expression_statement "iVar1 = FUN_000209c4(param_1,param_2,6);" (assignment_expression "iVar1 = FUN_000209c4(param_1,param_2,6)" (identifier "iVar1") (= "=") (call_expression "FUN_000209c4(param_1,param_2,6)" (identifier "FUN_000209c4") (argument_list "(param_1,param_2,6)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (number_literal "6") () ")")))) (; ";")) (if_statement "if (iVar1 != 0) {\n      piVar2 = (int *)(*(code *)PTR_xmalloc_0004dc10)(0x10);\n      *(undefined1 *)(piVar2 + 1) = 0;\n      *(undefined1 *)((int)piVar2 + 5) = 0;\n      *(undefined1 *)((int)piVar2 + 6) = 0;\n      *(undefined1 *)((int)piVar2 + 7) = 0;\n      *piVar2 = param_3;\n      piVar2[3] = param_6;\n      piVar2[2] = param_5;\n      *(int **)(iVar1 + 0x18) = piVar2;\n      return 1;\n    }" (if "if") (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      piVar2 = (int *)(*(code *)PTR_xmalloc_0004dc10)(0x10);\n      *(undefined1 *)(piVar2 + 1) = 0;\n      *(undefined1 *)((int)piVar2 + 5) = 0;\n      *(undefined1 *)((int)piVar2 + 6) = 0;\n      *(undefined1 *)((int)piVar2 + 7) = 0;\n      *piVar2 = param_3;\n      piVar2[3] = param_6;\n      piVar2[2] = param_5;\n      *(int **)(iVar1 + 0x18) = piVar2;\n      return 1;\n    }" ({ "{") (expression_statement "piVar2 = (int *)(*(code *)PTR_xmalloc_0004dc10)(0x10);" (assignment_expression "piVar2 = (int *)(*(code *)PTR_xmalloc_0004dc10)(0x10)" (identifier "piVar2") (= "=") (cast_expression "(int *)(*(code *)PTR_xmalloc_0004dc10)(0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_xmalloc_0004dc10)(0x10)" (parenthesized_expression "(*(code *)PTR_xmalloc_0004dc10)" (( "(") (pointer_expression "*(code *)PTR_xmalloc_0004dc10" (* "*") (cast_expression "(code *)PTR_xmalloc_0004dc10" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_xmalloc_0004dc10"))) () ")")) (argument_list "(0x10)" (( "(") (number_literal "0x10") () ")"))))) (; ";")) (expression_statement "*(undefined1 *)(piVar2 + 1) = 0;" (assignment_expression "*(undefined1 *)(piVar2 + 1) = 0" (pointer_expression "*(undefined1 *)(piVar2 + 1)" (* "*") (cast_expression "(undefined1 *)(piVar2 + 1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar2 + 1)" (( "(") (binary_expression "piVar2 + 1" (identifier "piVar2") (+ "+") (number_literal "1")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)((int)piVar2 + 5) = 0;" (assignment_expression "*(undefined1 *)((int)piVar2 + 5) = 0" (pointer_expression "*(undefined1 *)((int)piVar2 + 5)" (* "*") (cast_expression "(undefined1 *)((int)piVar2 + 5)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar2 + 5)" (( "(") (binary_expression "(int)piVar2 + 5" (cast_expression "(int)piVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar2")) (+ "+") (number_literal "5")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)((int)piVar2 + 6) = 0;" (assignment_expression "*(undefined1 *)((int)piVar2 + 6) = 0" (pointer_expression "*(undefined1 *)((int)piVar2 + 6)" (* "*") (cast_expression "(undefined1 *)((int)piVar2 + 6)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar2 + 6)" (( "(") (binary_expression "(int)piVar2 + 6" (cast_expression "(int)piVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar2")) (+ "+") (number_literal "6")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)((int)piVar2 + 7) = 0;" (assignment_expression "*(undefined1 *)((int)piVar2 + 7) = 0" (pointer_expression "*(undefined1 *)((int)piVar2 + 7)" (* "*") (cast_expression "(undefined1 *)((int)piVar2 + 7)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar2 + 7)" (( "(") (binary_expression "(int)piVar2 + 7" (cast_expression "(int)piVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar2")) (+ "+") (number_literal "7")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*piVar2 = param_3;" (assignment_expression "*piVar2 = param_3" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (= "=") (identifier "param_3")) (; ";")) (expression_statement "piVar2[3] = param_6;" (assignment_expression "piVar2[3] = param_6" (subscript_expression "piVar2[3]" (identifier "piVar2") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "param_6")) (; ";")) (expression_statement "piVar2[2] = param_5;" (assignment_expression "piVar2[2] = param_5" (subscript_expression "piVar2[2]" (identifier "piVar2") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "param_5")) (; ";")) (expression_statement "*(int **)(iVar1 + 0x18) = piVar2;" (assignment_expression "*(int **)(iVar1 + 0x18) = piVar2" (pointer_expression "*(int **)(iVar1 + 0x18)" (* "*") (cast_expression "(int **)(iVar1 + 0x18)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar1 + 0x18)" (( "(") (binary_expression "iVar1 + 0x18" (identifier "iVar1") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (identifier "piVar2")) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}")))

type_1 function_1(void *handle,char *var_1,type_2 var_2,type_3 val)

{
  type_4 *var_4;
  type_5 *pdVar2;
  type_6 *info;
  type_7 in_a3;
  
  if ((var_1 != (char *)0x0) && (var_2 != (type_2)0x0)) {
    var_4 = var_3
                       ((type_6 *)handle,var_1,DEBUG_OBJECT_TYPED_CONSTANT,in_a3);
    if (var_4 != (type_4 *)0x0) {
      pdVar2 = (type_5 *)(*(type_8 *)PTR_xmalloc_0004dc10)(0x10);
      *(type_9 *)&pdVar2->parameters = 0;
      *(type_9 *)((int)&pdVar2->parameters + 1) = 0;
      *(type_9 *)((int)&pdVar2->parameters + 2) = 0;
      *(type_9 *)((int)&pdVar2->parameters + 3) = 0;
      pdVar2->return_type = var_2;
      *(type_3 *)&pdVar2->blocks = val;
      (var_4->u).function = pdVar2;
      return 1;
    }
    return 0;
  }
  return 0;
}


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

undefined4
MASKED
          (undefined4 param_1,int param_2,int param_3,undefined4 param_4,int param_5,int param_6)

{
  int iVar1;
  int *piVar2;
  
  if ((param_2 != 0) && (param_3 != 0)) {
    iVar1 = FUN_000209c4(param_1,param_2,6);
    if (iVar1 != 0) {
      piVar2 = (int *)(*(code *)PTR_xmalloc_0004dc10)(0x10);
      *(undefined1 *)(piVar2 + 1) = 0;
      *(undefined1 *)((int)piVar2 + 5) = 0;
      *(undefined1 *)((int)piVar2 + 6) = 0;
      *(undefined1 *)((int)piVar2 + 7) = 0;
      *piVar2 = param_3;
      piVar2[3] = param_6;
      piVar2[2] = param_5;
      *(int **)(iVar1 + 0x18) = piVar2;
      return 1;
    }
    return 0;
  }
  return 0;
}

