
debug_type_conflict
debug_make_range_type
          (void *handle,debug_type_conflict type,bfd_signed_vma lower,bfd_signed_vma upper)

{
  debug_type_s *pdVar1;
  debug_array_type *pdVar2;
  debug_handle *info;
  uint in_a2;
  undefined4 in_a3;
  
  if (type != (debug_type_conflict)0x0) {
    pdVar1 = debug_make_type((debug_handle *)0xf,DEBUG_KIND_ILLEGAL,in_a2);
    if (pdVar1 != (debug_type_s *)0x0) {
      pdVar2 = (debug_array_type *)(*(code *)PTR_xmalloc_0004dc10)(0x18);
      *(undefined1 *)&pdVar2->range_type = 0;
      *(undefined1 *)((int)&pdVar2->range_type + 1) = 0;
      *(undefined1 *)((int)&pdVar2->range_type + 2) = 0;
      *(undefined1 *)((int)&pdVar2->range_type + 3) = 0;
      pdVar2->element_type = type;
      *(undefined4 *)((int)&pdVar2->lower + 4) = in_a3;
      *(uint *)&pdVar2->lower = in_a2;
      pdVar2->upper = lower;
      (pdVar1->u).karray = pdVar2;
    }
    return pdVar1;
  }
  return (debug_type_conflict)0x0;
}



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

{
  int iVar1;
  int *piVar2;
  
  if (param_2 != 0) {
    iVar1 = FUN_0001eb50(0xf,0);
    if (iVar1 != 0) {
      piVar2 = (int *)(*(code *)PTR_xmalloc_0004dc10)(0x18);
      *(undefined1 *)(piVar2 + 1) = 0;
      *(undefined1 *)((int)piVar2 + 5) = 0;
      *(undefined1 *)((int)piVar2 + 6) = 0;
      *(undefined1 *)((int)piVar2 + 7) = 0;
      *piVar2 = param_2;
      piVar2[3] = param_4;
      piVar2[2] = param_3;
      piVar2[5] = param_6;
      piVar2[4] = param_5;
      *(int **)(iVar1 + 0xc) = piVar2;
    }
    return iVar1;
  }
  return 0;
}


lui gp,0x3
addiu gp,gp,0x3b50
addu gp,gp,t9
addiu sp,sp,-0x30
sw gp,0x10(sp)
sw ra,0x2c(sp)
sw s3,0x28(sp)
sw s2,0x24(sp)
sw s1,0x20(sp)
beq a1,zero,0x00021de4
_sw s0,0x1c(sp)
lw t9,-0x7fa4(gp)
or s0,a1,zero
li a0,0xf
or a1,zero,zero
addiu t9,t9,-0x14b0
or s3,a3,zero
bal 0x0001eb50
_or s2,a2,zero
lw gp,0x10(sp)
beq v0,zero,0x00021dc4
_or s1,v0,zero
lw t9,-0x7c70(gp)
jalr t9
_li a0,0x18
lw a1,0x44(sp)
lw a0,0x40(sp)
sb zero,0x4(v0)
sb zero,0x5(v0)
sb zero,0x6(v0)
sb zero,0x7(v0)
sw s0,0x0(v0)
sw s3,0xc(v0)
sw s2,0x8(v0)
sw a1,0x14(v0)
sw a0,0x10(v0)
sw v0,0xc(s1)
lw ra,0x2c(sp)
or v0,s1,zero
lw s3,0x28(sp)
lw s2,0x24(sp)
lw s1,0x20(sp)
lw s0,0x1c(sp)
jr ra
_addiu sp,sp,0x30
lw ra,0x2c(sp)
or s1,zero,zero
lw s3,0x28(sp)
or v0,s1,zero
lw s2,0x24(sp)
lw s1,0x20(sp)
lw s0,0x1c(sp)
jr ra
_addiu sp,sp,0x30
(translation_unit "int debug_make_range_type\n              (undefined4 param_1,int param_2,int param_3,int param_4,int param_5,int param_6)\n\n{\n  int iVar1;\n  int *piVar2;\n  \n  if (param_2 != 0) {\n    iVar1 = FUN_0001eb50(0xf,0);\n    if (iVar1 != 0) {\n      piVar2 = (int *)(*(code *)PTR_xmalloc_0004dc10)(0x18);\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_2;\n      piVar2[3] = param_4;\n      piVar2[2] = param_3;\n      piVar2[5] = param_6;\n      piVar2[4] = param_5;\n      *(int **)(iVar1 + 0xc) = piVar2;\n    }\n    return iVar1;\n  }\n  return 0;\n}\n\n" (function_definition "int debug_make_range_type\n              (undefined4 param_1,int param_2,int param_3,int param_4,int param_5,int param_6)\n\n{\n  int iVar1;\n  int *piVar2;\n  \n  if (param_2 != 0) {\n    iVar1 = FUN_0001eb50(0xf,0);\n    if (iVar1 != 0) {\n      piVar2 = (int *)(*(code *)PTR_xmalloc_0004dc10)(0x18);\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_2;\n      piVar2[3] = param_4;\n      piVar2[2] = param_3;\n      piVar2[5] = param_6;\n      piVar2[4] = param_5;\n      *(int **)(iVar1 + 0xc) = piVar2;\n    }\n    return iVar1;\n  }\n  return 0;\n}" primitive_type (function_declarator "debug_make_range_type\n              (undefined4 param_1,int param_2,int param_3,int param_4,int param_5,int param_6)" identifier (parameter_list "(undefined4 param_1,int param_2,int param_3,int 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 "int param_4" primitive_type 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) {\n    iVar1 = FUN_0001eb50(0xf,0);\n    if (iVar1 != 0) {\n      piVar2 = (int *)(*(code *)PTR_xmalloc_0004dc10)(0x18);\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_2;\n      piVar2[3] = param_4;\n      piVar2[2] = param_3;\n      piVar2[5] = param_6;\n      piVar2[4] = param_5;\n      *(int **)(iVar1 + 0xc) = piVar2;\n    }\n    return iVar1;\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) {\n    iVar1 = FUN_0001eb50(0xf,0);\n    if (iVar1 != 0) {\n      piVar2 = (int *)(*(code *)PTR_xmalloc_0004dc10)(0x18);\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_2;\n      piVar2[3] = param_4;\n      piVar2[2] = param_3;\n      piVar2[5] = param_6;\n      piVar2[4] = param_5;\n      *(int **)(iVar1 + 0xc) = piVar2;\n    }\n    return iVar1;\n  }" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar1 = FUN_0001eb50(0xf,0);\n    if (iVar1 != 0) {\n      piVar2 = (int *)(*(code *)PTR_xmalloc_0004dc10)(0x18);\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_2;\n      piVar2[3] = param_4;\n      piVar2[2] = param_3;\n      piVar2[5] = param_6;\n      piVar2[4] = param_5;\n      *(int **)(iVar1 + 0xc) = piVar2;\n    }\n    return iVar1;\n  }" { (expression_statement "iVar1 = FUN_0001eb50(0xf,0);" (assignment_expression "iVar1 = FUN_0001eb50(0xf,0)" identifier = (call_expression "FUN_0001eb50(0xf,0)" identifier (argument_list "(0xf,0)" ( number_literal , number_literal )))) ;) (if_statement "if (iVar1 != 0) {\n      piVar2 = (int *)(*(code *)PTR_xmalloc_0004dc10)(0x18);\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_2;\n      piVar2[3] = param_4;\n      piVar2[2] = param_3;\n      piVar2[5] = param_6;\n      piVar2[4] = param_5;\n      *(int **)(iVar1 + 0xc) = piVar2;\n    }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n      piVar2 = (int *)(*(code *)PTR_xmalloc_0004dc10)(0x18);\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_2;\n      piVar2[3] = param_4;\n      piVar2[2] = param_3;\n      piVar2[5] = param_6;\n      piVar2[4] = param_5;\n      *(int **)(iVar1 + 0xc) = piVar2;\n    }" { (expression_statement "piVar2 = (int *)(*(code *)PTR_xmalloc_0004dc10)(0x18);" (assignment_expression "piVar2 = (int *)(*(code *)PTR_xmalloc_0004dc10)(0x18)" identifier = (cast_expression "(int *)(*(code *)PTR_xmalloc_0004dc10)(0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_xmalloc_0004dc10)(0x18)" (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 "(0x18)" ( 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_2;" (assignment_expression "*piVar2 = param_2" (pointer_expression "*piVar2" * identifier) = identifier) ;) (expression_statement "piVar2[3] = param_4;" (assignment_expression "piVar2[3] = param_4" (subscript_expression "piVar2[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar2[2] = param_3;" (assignment_expression "piVar2[2] = param_3" (subscript_expression "piVar2[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar2[5] = param_6;" (assignment_expression "piVar2[5] = param_6" (subscript_expression "piVar2[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar2[4] = param_5;" (assignment_expression "piVar2[4] = param_5" (subscript_expression "piVar2[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(int **)(iVar1 + 0xc) = piVar2;" (assignment_expression "*(int **)(iVar1 + 0xc) = piVar2" (pointer_expression "*(int **)(iVar1 + 0xc)" * (cast_expression "(int **)(iVar1 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar1 + 0xc)" ( (binary_expression "iVar1 + 0xc" identifier + number_literal) )))) = identifier) ;) })) (return_statement "return iVar1;" return identifier ;) })) (return_statement "return 0;" return number_literal ;) })))
(translation_unit "debug_type_conflict\ndebug_make_range_type\n          (void *handle,debug_type_conflict type,bfd_signed_vma lower,bfd_signed_vma upper)\n\n{\n  debug_type_s *pdVar1;\n  debug_array_type *pdVar2;\n  debug_handle *info;\n  uint in_a2;\n  undefined4 in_a3;\n  \n  if (type != (debug_type_conflict)0x0) {\n    pdVar1 = debug_make_type((debug_handle *)0xf,DEBUG_KIND_ILLEGAL,in_a2);\n    if (pdVar1 != (debug_type_s *)0x0) {\n      pdVar2 = (debug_array_type *)(*(code *)PTR_xmalloc_0004dc10)(0x18);\n      *(undefined1 *)&pdVar2->range_type = 0;\n      *(undefined1 *)((int)&pdVar2->range_type + 1) = 0;\n      *(undefined1 *)((int)&pdVar2->range_type + 2) = 0;\n      *(undefined1 *)((int)&pdVar2->range_type + 3) = 0;\n      pdVar2->element_type = type;\n      *(undefined4 *)((int)&pdVar2->lower + 4) = in_a3;\n      *(uint *)&pdVar2->lower = in_a2;\n      pdVar2->upper = lower;\n      (pdVar1->u).karray = pdVar2;\n    }\n    return pdVar1;\n  }\n  return (debug_type_conflict)0x0;\n}\n\n" (function_definition "debug_type_conflict\ndebug_make_range_type\n          (void *handle,debug_type_conflict type,bfd_signed_vma lower,bfd_signed_vma upper)\n\n{\n  debug_type_s *pdVar1;\n  debug_array_type *pdVar2;\n  debug_handle *info;\n  uint in_a2;\n  undefined4 in_a3;\n  \n  if (type != (debug_type_conflict)0x0) {\n    pdVar1 = debug_make_type((debug_handle *)0xf,DEBUG_KIND_ILLEGAL,in_a2);\n    if (pdVar1 != (debug_type_s *)0x0) {\n      pdVar2 = (debug_array_type *)(*(code *)PTR_xmalloc_0004dc10)(0x18);\n      *(undefined1 *)&pdVar2->range_type = 0;\n      *(undefined1 *)((int)&pdVar2->range_type + 1) = 0;\n      *(undefined1 *)((int)&pdVar2->range_type + 2) = 0;\n      *(undefined1 *)((int)&pdVar2->range_type + 3) = 0;\n      pdVar2->element_type = type;\n      *(undefined4 *)((int)&pdVar2->lower + 4) = in_a3;\n      *(uint *)&pdVar2->lower = in_a2;\n      pdVar2->upper = lower;\n      (pdVar1->u).karray = pdVar2;\n    }\n    return pdVar1;\n  }\n  return (debug_type_conflict)0x0;\n}" type_identifier (function_declarator "debug_make_range_type\n          (void *handle,debug_type_conflict type,bfd_signed_vma lower,bfd_signed_vma upper)" identifier (parameter_list "(void *handle,debug_type_conflict type,bfd_signed_vma lower,bfd_signed_vma upper)" ( (parameter_declaration "void *handle" primitive_type (pointer_declarator "*handle" * identifier)) , (parameter_declaration "debug_type_conflict type" type_identifier identifier) , (parameter_declaration "bfd_signed_vma lower" type_identifier identifier) , (parameter_declaration "bfd_signed_vma upper" type_identifier identifier) ))) (compound_statement "{\n  debug_type_s *pdVar1;\n  debug_array_type *pdVar2;\n  debug_handle *info;\n  uint in_a2;\n  undefined4 in_a3;\n  \n  if (type != (debug_type_conflict)0x0) {\n    pdVar1 = debug_make_type((debug_handle *)0xf,DEBUG_KIND_ILLEGAL,in_a2);\n    if (pdVar1 != (debug_type_s *)0x0) {\n      pdVar2 = (debug_array_type *)(*(code *)PTR_xmalloc_0004dc10)(0x18);\n      *(undefined1 *)&pdVar2->range_type = 0;\n      *(undefined1 *)((int)&pdVar2->range_type + 1) = 0;\n      *(undefined1 *)((int)&pdVar2->range_type + 2) = 0;\n      *(undefined1 *)((int)&pdVar2->range_type + 3) = 0;\n      pdVar2->element_type = type;\n      *(undefined4 *)((int)&pdVar2->lower + 4) = in_a3;\n      *(uint *)&pdVar2->lower = in_a2;\n      pdVar2->upper = lower;\n      (pdVar1->u).karray = pdVar2;\n    }\n    return pdVar1;\n  }\n  return (debug_type_conflict)0x0;\n}" { (declaration "debug_type_s *pdVar1;" type_identifier (pointer_declarator "*pdVar1" * identifier) ;) (declaration "debug_array_type *pdVar2;" type_identifier (pointer_declarator "*pdVar2" * identifier) ;) (declaration "debug_handle *info;" type_identifier (pointer_declarator "*info" * identifier) ;) (declaration "uint in_a2;" type_identifier identifier ;) (declaration "undefined4 in_a3;" type_identifier identifier ;) (if_statement "if (type != (debug_type_conflict)0x0) {\n    pdVar1 = debug_make_type((debug_handle *)0xf,DEBUG_KIND_ILLEGAL,in_a2);\n    if (pdVar1 != (debug_type_s *)0x0) {\n      pdVar2 = (debug_array_type *)(*(code *)PTR_xmalloc_0004dc10)(0x18);\n      *(undefined1 *)&pdVar2->range_type = 0;\n      *(undefined1 *)((int)&pdVar2->range_type + 1) = 0;\n      *(undefined1 *)((int)&pdVar2->range_type + 2) = 0;\n      *(undefined1 *)((int)&pdVar2->range_type + 3) = 0;\n      pdVar2->element_type = type;\n      *(undefined4 *)((int)&pdVar2->lower + 4) = in_a3;\n      *(uint *)&pdVar2->lower = in_a2;\n      pdVar2->upper = lower;\n      (pdVar1->u).karray = pdVar2;\n    }\n    return pdVar1;\n  }" if (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_make_type((debug_handle *)0xf,DEBUG_KIND_ILLEGAL,in_a2);\n    if (pdVar1 != (debug_type_s *)0x0) {\n      pdVar2 = (debug_array_type *)(*(code *)PTR_xmalloc_0004dc10)(0x18);\n      *(undefined1 *)&pdVar2->range_type = 0;\n      *(undefined1 *)((int)&pdVar2->range_type + 1) = 0;\n      *(undefined1 *)((int)&pdVar2->range_type + 2) = 0;\n      *(undefined1 *)((int)&pdVar2->range_type + 3) = 0;\n      pdVar2->element_type = type;\n      *(undefined4 *)((int)&pdVar2->lower + 4) = in_a3;\n      *(uint *)&pdVar2->lower = in_a2;\n      pdVar2->upper = lower;\n      (pdVar1->u).karray = pdVar2;\n    }\n    return pdVar1;\n  }" { (expression_statement "pdVar1 = debug_make_type((debug_handle *)0xf,DEBUG_KIND_ILLEGAL,in_a2);" (assignment_expression "pdVar1 = debug_make_type((debug_handle *)0xf,DEBUG_KIND_ILLEGAL,in_a2)" identifier = (call_expression "debug_make_type((debug_handle *)0xf,DEBUG_KIND_ILLEGAL,in_a2)" identifier (argument_list "((debug_handle *)0xf,DEBUG_KIND_ILLEGAL,in_a2)" ( (cast_expression "(debug_handle *)0xf" ( (type_descriptor "debug_handle *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , identifier )))) ;) (if_statement "if (pdVar1 != (debug_type_s *)0x0) {\n      pdVar2 = (debug_array_type *)(*(code *)PTR_xmalloc_0004dc10)(0x18);\n      *(undefined1 *)&pdVar2->range_type = 0;\n      *(undefined1 *)((int)&pdVar2->range_type + 1) = 0;\n      *(undefined1 *)((int)&pdVar2->range_type + 2) = 0;\n      *(undefined1 *)((int)&pdVar2->range_type + 3) = 0;\n      pdVar2->element_type = type;\n      *(undefined4 *)((int)&pdVar2->lower + 4) = in_a3;\n      *(uint *)&pdVar2->lower = in_a2;\n      pdVar2->upper = lower;\n      (pdVar1->u).karray = pdVar2;\n    }" if (parenthesized_expression "(pdVar1 != (debug_type_s *)0x0)" ( (binary_expression "pdVar1 != (debug_type_s *)0x0" identifier != (cast_expression "(debug_type_s *)0x0" ( (type_descriptor "debug_type_s *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pdVar2 = (debug_array_type *)(*(code *)PTR_xmalloc_0004dc10)(0x18);\n      *(undefined1 *)&pdVar2->range_type = 0;\n      *(undefined1 *)((int)&pdVar2->range_type + 1) = 0;\n      *(undefined1 *)((int)&pdVar2->range_type + 2) = 0;\n      *(undefined1 *)((int)&pdVar2->range_type + 3) = 0;\n      pdVar2->element_type = type;\n      *(undefined4 *)((int)&pdVar2->lower + 4) = in_a3;\n      *(uint *)&pdVar2->lower = in_a2;\n      pdVar2->upper = lower;\n      (pdVar1->u).karray = pdVar2;\n    }" { (expression_statement "pdVar2 = (debug_array_type *)(*(code *)PTR_xmalloc_0004dc10)(0x18);" (assignment_expression "pdVar2 = (debug_array_type *)(*(code *)PTR_xmalloc_0004dc10)(0x18)" identifier = (cast_expression "(debug_array_type *)(*(code *)PTR_xmalloc_0004dc10)(0x18)" ( (type_descriptor "debug_array_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_xmalloc_0004dc10)(0x18)" (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 "(0x18)" ( number_literal ))))) ;) (expression_statement "*(undefined1 *)&pdVar2->range_type = 0;" (assignment_expression "*(undefined1 *)&pdVar2->range_type = 0" (pointer_expression "*(undefined1 *)&pdVar2->range_type" * (cast_expression "(undefined1 *)&pdVar2->range_type" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pdVar2->range_type" & (field_expression "pdVar2->range_type" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined1 *)((int)&pdVar2->range_type + 1) = 0;" (assignment_expression "*(undefined1 *)((int)&pdVar2->range_type + 1) = 0" (pointer_expression "*(undefined1 *)((int)&pdVar2->range_type + 1)" * (cast_expression "(undefined1 *)((int)&pdVar2->range_type + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pdVar2->range_type + 1)" ( (binary_expression "(int)&pdVar2->range_type + 1" (cast_expression "(int)&pdVar2->range_type" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pdVar2->range_type" & (field_expression "pdVar2->range_type" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)((int)&pdVar2->range_type + 2) = 0;" (assignment_expression "*(undefined1 *)((int)&pdVar2->range_type + 2) = 0" (pointer_expression "*(undefined1 *)((int)&pdVar2->range_type + 2)" * (cast_expression "(undefined1 *)((int)&pdVar2->range_type + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pdVar2->range_type + 2)" ( (binary_expression "(int)&pdVar2->range_type + 2" (cast_expression "(int)&pdVar2->range_type" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pdVar2->range_type" & (field_expression "pdVar2->range_type" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)((int)&pdVar2->range_type + 3) = 0;" (assignment_expression "*(undefined1 *)((int)&pdVar2->range_type + 3) = 0" (pointer_expression "*(undefined1 *)((int)&pdVar2->range_type + 3)" * (cast_expression "(undefined1 *)((int)&pdVar2->range_type + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pdVar2->range_type + 3)" ( (binary_expression "(int)&pdVar2->range_type + 3" (cast_expression "(int)&pdVar2->range_type" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pdVar2->range_type" & (field_expression "pdVar2->range_type" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "pdVar2->element_type = type;" (assignment_expression "pdVar2->element_type = type" (field_expression "pdVar2->element_type" identifier -> field_identifier) = identifier) ;) (expression_statement "*(undefined4 *)((int)&pdVar2->lower + 4) = in_a3;" (assignment_expression "*(undefined4 *)((int)&pdVar2->lower + 4) = in_a3" (pointer_expression "*(undefined4 *)((int)&pdVar2->lower + 4)" * (cast_expression "(undefined4 *)((int)&pdVar2->lower + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pdVar2->lower + 4)" ( (binary_expression "(int)&pdVar2->lower + 4" (cast_expression "(int)&pdVar2->lower" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pdVar2->lower" & (field_expression "pdVar2->lower" identifier -> field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)&pdVar2->lower = in_a2;" (assignment_expression "*(uint *)&pdVar2->lower = in_a2" (pointer_expression "*(uint *)&pdVar2->lower" * (cast_expression "(uint *)&pdVar2->lower" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pdVar2->lower" & (field_expression "pdVar2->lower" identifier -> field_identifier)))) = identifier) ;) (expression_statement "pdVar2->upper = lower;" (assignment_expression "pdVar2->upper = lower" (field_expression "pdVar2->upper" identifier -> field_identifier) = identifier) ;) (expression_statement "(pdVar1->u).karray = pdVar2;" (assignment_expression "(pdVar1->u).karray = pdVar2" (field_expression "(pdVar1->u).karray" (parenthesized_expression "(pdVar1->u)" ( (field_expression "pdVar1->u" identifier -> field_identifier) )) . field_identifier) = identifier) ;) })) (return_statement "return pdVar1;" return identifier ;) })) (return_statement "return (debug_type_conflict)0x0;" return (cast_expression "(debug_type_conflict)0x0" ( (type_descriptor "debug_type_conflict" type_identifier) ) number_literal) ;) })))
(translation_unit "int debug_make_range_type\n              (undefined4 param_1,int param_2,int param_3,int param_4,int param_5,int param_6)\n\n{\n  int iVar1;\n  int *piVar2;\n  \n  if (param_2 != 0) {\n    iVar1 = FUN_0001eb50(0xf,0);\n    if (iVar1 != 0) {\n      piVar2 = (int *)(*(code *)PTR_xmalloc_0004dc10)(0x18);\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_2;\n      piVar2[3] = param_4;\n      piVar2[2] = param_3;\n      piVar2[5] = param_6;\n      piVar2[4] = param_5;\n      *(int **)(iVar1 + 0xc) = piVar2;\n    }\n    return iVar1;\n  }\n  return 0;\n}\n\n" (function_definition "int debug_make_range_type\n              (undefined4 param_1,int param_2,int param_3,int param_4,int param_5,int param_6)\n\n{\n  int iVar1;\n  int *piVar2;\n  \n  if (param_2 != 0) {\n    iVar1 = FUN_0001eb50(0xf,0);\n    if (iVar1 != 0) {\n      piVar2 = (int *)(*(code *)PTR_xmalloc_0004dc10)(0x18);\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_2;\n      piVar2[3] = param_4;\n      piVar2[2] = param_3;\n      piVar2[5] = param_6;\n      piVar2[4] = param_5;\n      *(int **)(iVar1 + 0xc) = piVar2;\n    }\n    return iVar1;\n  }\n  return 0;\n}" primitive_type (function_declarator "debug_make_range_type\n              (undefined4 param_1,int param_2,int param_3,int param_4,int param_5,int param_6)" identifier (parameter_list "(undefined4 param_1,int param_2,int param_3,int 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 "int param_4" primitive_type 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) {\n    iVar1 = FUN_0001eb50(0xf,0);\n    if (iVar1 != 0) {\n      piVar2 = (int *)(*(code *)PTR_xmalloc_0004dc10)(0x18);\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_2;\n      piVar2[3] = param_4;\n      piVar2[2] = param_3;\n      piVar2[5] = param_6;\n      piVar2[4] = param_5;\n      *(int **)(iVar1 + 0xc) = piVar2;\n    }\n    return iVar1;\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) {\n    iVar1 = FUN_0001eb50(0xf,0);\n    if (iVar1 != 0) {\n      piVar2 = (int *)(*(code *)PTR_xmalloc_0004dc10)(0x18);\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_2;\n      piVar2[3] = param_4;\n      piVar2[2] = param_3;\n      piVar2[5] = param_6;\n      piVar2[4] = param_5;\n      *(int **)(iVar1 + 0xc) = piVar2;\n    }\n    return iVar1;\n  }" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar1 = FUN_0001eb50(0xf,0);\n    if (iVar1 != 0) {\n      piVar2 = (int *)(*(code *)PTR_xmalloc_0004dc10)(0x18);\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_2;\n      piVar2[3] = param_4;\n      piVar2[2] = param_3;\n      piVar2[5] = param_6;\n      piVar2[4] = param_5;\n      *(int **)(iVar1 + 0xc) = piVar2;\n    }\n    return iVar1;\n  }" { (expression_statement "iVar1 = FUN_0001eb50(0xf,0);" (assignment_expression "iVar1 = FUN_0001eb50(0xf,0)" identifier = (call_expression "FUN_0001eb50(0xf,0)" identifier (argument_list "(0xf,0)" ( number_literal , number_literal )))) ;) (if_statement "if (iVar1 != 0) {\n      piVar2 = (int *)(*(code *)PTR_xmalloc_0004dc10)(0x18);\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_2;\n      piVar2[3] = param_4;\n      piVar2[2] = param_3;\n      piVar2[5] = param_6;\n      piVar2[4] = param_5;\n      *(int **)(iVar1 + 0xc) = piVar2;\n    }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n      piVar2 = (int *)(*(code *)PTR_xmalloc_0004dc10)(0x18);\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_2;\n      piVar2[3] = param_4;\n      piVar2[2] = param_3;\n      piVar2[5] = param_6;\n      piVar2[4] = param_5;\n      *(int **)(iVar1 + 0xc) = piVar2;\n    }" { (expression_statement "piVar2 = (int *)(*(code *)PTR_xmalloc_0004dc10)(0x18);" (assignment_expression "piVar2 = (int *)(*(code *)PTR_xmalloc_0004dc10)(0x18)" identifier = (cast_expression "(int *)(*(code *)PTR_xmalloc_0004dc10)(0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_xmalloc_0004dc10)(0x18)" (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 "(0x18)" ( 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_2;" (assignment_expression "*piVar2 = param_2" (pointer_expression "*piVar2" * identifier) = identifier) ;) (expression_statement "piVar2[3] = param_4;" (assignment_expression "piVar2[3] = param_4" (subscript_expression "piVar2[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar2[2] = param_3;" (assignment_expression "piVar2[2] = param_3" (subscript_expression "piVar2[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar2[5] = param_6;" (assignment_expression "piVar2[5] = param_6" (subscript_expression "piVar2[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar2[4] = param_5;" (assignment_expression "piVar2[4] = param_5" (subscript_expression "piVar2[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(int **)(iVar1 + 0xc) = piVar2;" (assignment_expression "*(int **)(iVar1 + 0xc) = piVar2" (pointer_expression "*(int **)(iVar1 + 0xc)" * (cast_expression "(int **)(iVar1 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar1 + 0xc)" ( (binary_expression "iVar1 + 0xc" identifier + number_literal) )))) = identifier) ;) })) (return_statement "return iVar1;" return identifier ;) })) (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 IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , 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 (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 IDENT ;) })) (return_statement return LIT ;) })))
(function_definition "int debug_make_range_type\n              (undefined4 param_1,int param_2,int param_3,int param_4,int param_5,int param_6)\n\n{\n  int iVar1;\n  int *piVar2;\n  \n  if (param_2 != 0) {\n    iVar1 = FUN_0001eb50(0xf,0);\n    if (iVar1 != 0) {\n      piVar2 = (int *)(*(code *)PTR_xmalloc_0004dc10)(0x18);\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_2;\n      piVar2[3] = param_4;\n      piVar2[2] = param_3;\n      piVar2[5] = param_6;\n      piVar2[4] = param_5;\n      *(int **)(iVar1 + 0xc) = piVar2;\n    }\n    return iVar1;\n  }\n  return 0;\n}" (primitive_type "int") (function_declarator "debug_make_range_type\n              (undefined4 param_1,int param_2,int param_3,int param_4,int param_5,int param_6)" (identifier "debug_make_range_type") (parameter_list "(undefined4 param_1,int param_2,int param_3,int 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 "int param_4" (primitive_type "int") (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) {\n    iVar1 = FUN_0001eb50(0xf,0);\n    if (iVar1 != 0) {\n      piVar2 = (int *)(*(code *)PTR_xmalloc_0004dc10)(0x18);\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_2;\n      piVar2[3] = param_4;\n      piVar2[2] = param_3;\n      piVar2[5] = param_6;\n      piVar2[4] = param_5;\n      *(int **)(iVar1 + 0xc) = piVar2;\n    }\n    return iVar1;\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) {\n    iVar1 = FUN_0001eb50(0xf,0);\n    if (iVar1 != 0) {\n      piVar2 = (int *)(*(code *)PTR_xmalloc_0004dc10)(0x18);\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_2;\n      piVar2[3] = param_4;\n      piVar2[2] = param_3;\n      piVar2[5] = param_6;\n      piVar2[4] = param_5;\n      *(int **)(iVar1 + 0xc) = piVar2;\n    }\n    return iVar1;\n  }" (if "if") (parenthesized_expression "(param_2 != 0)" (( "(") (binary_expression "param_2 != 0" (identifier "param_2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    iVar1 = FUN_0001eb50(0xf,0);\n    if (iVar1 != 0) {\n      piVar2 = (int *)(*(code *)PTR_xmalloc_0004dc10)(0x18);\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_2;\n      piVar2[3] = param_4;\n      piVar2[2] = param_3;\n      piVar2[5] = param_6;\n      piVar2[4] = param_5;\n      *(int **)(iVar1 + 0xc) = piVar2;\n    }\n    return iVar1;\n  }" ({ "{") (expression_statement "iVar1 = FUN_0001eb50(0xf,0);" (assignment_expression "iVar1 = FUN_0001eb50(0xf,0)" (identifier "iVar1") (= "=") (call_expression "FUN_0001eb50(0xf,0)" (identifier "FUN_0001eb50") (argument_list "(0xf,0)" (( "(") (number_literal "0xf") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (iVar1 != 0) {\n      piVar2 = (int *)(*(code *)PTR_xmalloc_0004dc10)(0x18);\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_2;\n      piVar2[3] = param_4;\n      piVar2[2] = param_3;\n      piVar2[5] = param_6;\n      piVar2[4] = param_5;\n      *(int **)(iVar1 + 0xc) = piVar2;\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)(0x18);\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_2;\n      piVar2[3] = param_4;\n      piVar2[2] = param_3;\n      piVar2[5] = param_6;\n      piVar2[4] = param_5;\n      *(int **)(iVar1 + 0xc) = piVar2;\n    }" ({ "{") (expression_statement "piVar2 = (int *)(*(code *)PTR_xmalloc_0004dc10)(0x18);" (assignment_expression "piVar2 = (int *)(*(code *)PTR_xmalloc_0004dc10)(0x18)" (identifier "piVar2") (= "=") (cast_expression "(int *)(*(code *)PTR_xmalloc_0004dc10)(0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_xmalloc_0004dc10)(0x18)" (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 "(0x18)" (( "(") (number_literal "0x18") () ")"))))) (; ";")) (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_2;" (assignment_expression "*piVar2 = param_2" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (= "=") (identifier "param_2")) (; ";")) (expression_statement "piVar2[3] = param_4;" (assignment_expression "piVar2[3] = param_4" (subscript_expression "piVar2[3]" (identifier "piVar2") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "param_4")) (; ";")) (expression_statement "piVar2[2] = param_3;" (assignment_expression "piVar2[2] = param_3" (subscript_expression "piVar2[2]" (identifier "piVar2") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "param_3")) (; ";")) (expression_statement "piVar2[5] = param_6;" (assignment_expression "piVar2[5] = param_6" (subscript_expression "piVar2[5]" (identifier "piVar2") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "param_6")) (; ";")) (expression_statement "piVar2[4] = param_5;" (assignment_expression "piVar2[4] = param_5" (subscript_expression "piVar2[4]" (identifier "piVar2") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "param_5")) (; ";")) (expression_statement "*(int **)(iVar1 + 0xc) = piVar2;" (assignment_expression "*(int **)(iVar1 + 0xc) = piVar2" (pointer_expression "*(int **)(iVar1 + 0xc)" (* "*") (cast_expression "(int **)(iVar1 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar1 + 0xc)" (( "(") (binary_expression "iVar1 + 0xc" (identifier "iVar1") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "piVar2")) (; ";")) (} "}"))) (return_statement "return iVar1;" (return "return") (identifier "iVar1") (; ";")) (} "}"))) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}")))
(translation_unit (function_definition type: (primitive_type) 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: (primitive_type) 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: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (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: (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 (identifier)))) (return_statement (number_literal)))))

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

{
  int iVar1;
  int *piVar2;
  
  if (param_2 != 0) {
    iVar1 = FUN_0001eb50(0xf,0);
    if (iVar1 != 0) {
      piVar2 = (int *)(*(code *)PTR_xmalloc_0004dc10)(0x18);
      *(undefined1 *)(piVar2 + 1) = 0;
      *(undefined1 *)((int)piVar2 + 5) = 0;
      *(undefined1 *)((int)piVar2 + 6) = 0;
      *(undefined1 *)((int)piVar2 + 7) = 0;
      *piVar2 = param_2;
      piVar2[3] = param_4;
      piVar2[2] = param_3;
      piVar2[5] = param_6;
      piVar2[4] = param_5;
      *(int **)(iVar1 + 0xc) = piVar2;
    }
    return iVar1;
  }
  return 0;
}

