
/* WARNING: Unknown calling convention -- yet parameter storage is locked */

void uninit_parser(void)

{
  undefined *puVar1;
  
  puVar1 = PTR_parser_state_tos_000354ec;
  if (*(int *)PTR_parser_state_tos_000354ec != 0) {
    xfree(*(void **)(*(int *)PTR_parser_state_tos_000354ec + 8));
    xfree(*(void **)(*(int *)puVar1 + 0x10));
    xfree(*(void **)(*(int *)puVar1 + 0x1c));
    xfree(*(void **)(*(int *)puVar1 + 0x8c));
    xfree(*(void **)puVar1);
    xfree(*(void **)PTR_save_com_000354f8);
    xfree(*(void **)PTR_combuf_0003560c);
    xfree(*(void **)PTR_labbuf_00035638);
    xfree(*(void **)PTR_codebuf_0003563c);
    xfree(*(void **)PTR_di_stack_00035644);
    *(undefined4 *)puVar1 = 0;
  }
  return;
}



void uninit_parser(void)

{
  undefined *puVar1;
  
  puVar1 = PTR_parser_state_tos_000354ec;
  if (*(int *)PTR_parser_state_tos_000354ec != 0) {
    xfree(*(undefined4 *)(*(int *)PTR_parser_state_tos_000354ec + 8));
    xfree(*(undefined4 *)(*(int *)puVar1 + 0x10));
    xfree(*(undefined4 *)(*(int *)puVar1 + 0x1c));
    xfree(*(undefined4 *)(*(int *)puVar1 + 0x8c));
    xfree(*(undefined4 *)puVar1);
    xfree(*(undefined4 *)PTR_save_com_000354f8);
    xfree(*(undefined4 *)PTR_combuf_0003560c);
    xfree(*(undefined4 *)PTR_labbuf_00035638);
    xfree(*(undefined4 *)PTR_codebuf_0003563c);
    xfree(*(undefined4 *)PTR_di_stack_00035644);
    *(undefined4 *)puVar1 = 0;
  }
  return;
}


lui gp,0x2
addiu gp,gp,0x3f54
addu gp,gp,t9
addiu sp,sp,-0x20
sw s0,0x18(sp)
lw s0,-0x7fc4(gp)
sw gp,0x10(sp)
sw ra,0x1c(sp)
lw v0,0x0(s0)
beq v0,zero,0x00019644
_lw t9,-0x7eec(gp)
bal 0x0001a130
_lw a0,0x8(v0)
lw gp,0x10(sp)
lw v0,0x0(s0)
lw t9,-0x7eec(gp)
bal 0x0001a130
_lw a0,0x10(v0)
lw gp,0x10(sp)
lw v0,0x0(s0)
lw t9,-0x7eec(gp)
bal 0x0001a130
_lw a0,0x1c(v0)
lw v0,0x0(s0)
lw gp,0x10(sp)
lw t9,-0x7eec(gp)
bal 0x0001a130
_lw a0,0x8c(v0)
lw gp,0x10(sp)
lw t9,-0x7eec(gp)
bal 0x0001a130
_lw a0,0x0(s0)
lw gp,0x10(sp)
lw v0,-0x7fb8(gp)
lw t9,-0x7eec(gp)
bal 0x0001a130
_lw a0,0x0(v0)
lw gp,0x10(sp)
lw v0,-0x7ea4(gp)
lw t9,-0x7eec(gp)
bal 0x0001a130
_lw a0,0x0(v0)
lw gp,0x10(sp)
lw v0,-0x7e78(gp)
lw t9,-0x7eec(gp)
bal 0x0001a130
_lw a0,0x0(v0)
lw gp,0x10(sp)
lw v0,-0x7e74(gp)
lw t9,-0x7eec(gp)
bal 0x0001a130
_lw a0,0x0(v0)
lw gp,0x10(sp)
lw v0,-0x7e6c(gp)
lw t9,-0x7eec(gp)
bal 0x0001a130
_lw a0,0x0(v0)
sw zero,0x0(s0)
lw ra,0x1c(sp)
lw s0,0x18(sp)
jr ra
_addiu sp,sp,0x20
(translation_unit "void uninit_parser(void)\n\n{\n  undefined *puVar1;\n  \n  puVar1 = PTR_parser_state_tos_000354ec;\n  if (*(int *)PTR_parser_state_tos_000354ec != 0) {\n    xfree(*(undefined4 *)(*(int *)PTR_parser_state_tos_000354ec + 8));\n    xfree(*(undefined4 *)(*(int *)puVar1 + 0x10));\n    xfree(*(undefined4 *)(*(int *)puVar1 + 0x1c));\n    xfree(*(undefined4 *)(*(int *)puVar1 + 0x8c));\n    xfree(*(undefined4 *)puVar1);\n    xfree(*(undefined4 *)PTR_save_com_000354f8);\n    xfree(*(undefined4 *)PTR_combuf_0003560c);\n    xfree(*(undefined4 *)PTR_labbuf_00035638);\n    xfree(*(undefined4 *)PTR_codebuf_0003563c);\n    xfree(*(undefined4 *)PTR_di_stack_00035644);\n    *(undefined4 *)puVar1 = 0;\n  }\n  return;\n}\n\n" (function_definition "void uninit_parser(void)\n\n{\n  undefined *puVar1;\n  \n  puVar1 = PTR_parser_state_tos_000354ec;\n  if (*(int *)PTR_parser_state_tos_000354ec != 0) {\n    xfree(*(undefined4 *)(*(int *)PTR_parser_state_tos_000354ec + 8));\n    xfree(*(undefined4 *)(*(int *)puVar1 + 0x10));\n    xfree(*(undefined4 *)(*(int *)puVar1 + 0x1c));\n    xfree(*(undefined4 *)(*(int *)puVar1 + 0x8c));\n    xfree(*(undefined4 *)puVar1);\n    xfree(*(undefined4 *)PTR_save_com_000354f8);\n    xfree(*(undefined4 *)PTR_combuf_0003560c);\n    xfree(*(undefined4 *)PTR_labbuf_00035638);\n    xfree(*(undefined4 *)PTR_codebuf_0003563c);\n    xfree(*(undefined4 *)PTR_di_stack_00035644);\n    *(undefined4 *)puVar1 = 0;\n  }\n  return;\n}" primitive_type (function_declarator "uninit_parser(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  undefined *puVar1;\n  \n  puVar1 = PTR_parser_state_tos_000354ec;\n  if (*(int *)PTR_parser_state_tos_000354ec != 0) {\n    xfree(*(undefined4 *)(*(int *)PTR_parser_state_tos_000354ec + 8));\n    xfree(*(undefined4 *)(*(int *)puVar1 + 0x10));\n    xfree(*(undefined4 *)(*(int *)puVar1 + 0x1c));\n    xfree(*(undefined4 *)(*(int *)puVar1 + 0x8c));\n    xfree(*(undefined4 *)puVar1);\n    xfree(*(undefined4 *)PTR_save_com_000354f8);\n    xfree(*(undefined4 *)PTR_combuf_0003560c);\n    xfree(*(undefined4 *)PTR_labbuf_00035638);\n    xfree(*(undefined4 *)PTR_codebuf_0003563c);\n    xfree(*(undefined4 *)PTR_di_stack_00035644);\n    *(undefined4 *)puVar1 = 0;\n  }\n  return;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (expression_statement "puVar1 = PTR_parser_state_tos_000354ec;" (assignment_expression "puVar1 = PTR_parser_state_tos_000354ec" identifier = identifier) ;) (if_statement "if (*(int *)PTR_parser_state_tos_000354ec != 0) {\n    xfree(*(undefined4 *)(*(int *)PTR_parser_state_tos_000354ec + 8));\n    xfree(*(undefined4 *)(*(int *)puVar1 + 0x10));\n    xfree(*(undefined4 *)(*(int *)puVar1 + 0x1c));\n    xfree(*(undefined4 *)(*(int *)puVar1 + 0x8c));\n    xfree(*(undefined4 *)puVar1);\n    xfree(*(undefined4 *)PTR_save_com_000354f8);\n    xfree(*(undefined4 *)PTR_combuf_0003560c);\n    xfree(*(undefined4 *)PTR_labbuf_00035638);\n    xfree(*(undefined4 *)PTR_codebuf_0003563c);\n    xfree(*(undefined4 *)PTR_di_stack_00035644);\n    *(undefined4 *)puVar1 = 0;\n  }" if (parenthesized_expression "(*(int *)PTR_parser_state_tos_000354ec != 0)" ( (binary_expression "*(int *)PTR_parser_state_tos_000354ec != 0" (pointer_expression "*(int *)PTR_parser_state_tos_000354ec" * (cast_expression "(int *)PTR_parser_state_tos_000354ec" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) (compound_statement "{\n    xfree(*(undefined4 *)(*(int *)PTR_parser_state_tos_000354ec + 8));\n    xfree(*(undefined4 *)(*(int *)puVar1 + 0x10));\n    xfree(*(undefined4 *)(*(int *)puVar1 + 0x1c));\n    xfree(*(undefined4 *)(*(int *)puVar1 + 0x8c));\n    xfree(*(undefined4 *)puVar1);\n    xfree(*(undefined4 *)PTR_save_com_000354f8);\n    xfree(*(undefined4 *)PTR_combuf_0003560c);\n    xfree(*(undefined4 *)PTR_labbuf_00035638);\n    xfree(*(undefined4 *)PTR_codebuf_0003563c);\n    xfree(*(undefined4 *)PTR_di_stack_00035644);\n    *(undefined4 *)puVar1 = 0;\n  }" { (expression_statement "xfree(*(undefined4 *)(*(int *)PTR_parser_state_tos_000354ec + 8));" (call_expression "xfree(*(undefined4 *)(*(int *)PTR_parser_state_tos_000354ec + 8))" identifier (argument_list "(*(undefined4 *)(*(int *)PTR_parser_state_tos_000354ec + 8))" ( (pointer_expression "*(undefined4 *)(*(int *)PTR_parser_state_tos_000354ec + 8)" * (cast_expression "(undefined4 *)(*(int *)PTR_parser_state_tos_000354ec + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_parser_state_tos_000354ec + 8)" ( (binary_expression "*(int *)PTR_parser_state_tos_000354ec + 8" (pointer_expression "*(int *)PTR_parser_state_tos_000354ec" * (cast_expression "(int *)PTR_parser_state_tos_000354ec" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) ))) ;) (expression_statement "xfree(*(undefined4 *)(*(int *)puVar1 + 0x10));" (call_expression "xfree(*(undefined4 *)(*(int *)puVar1 + 0x10))" identifier (argument_list "(*(undefined4 *)(*(int *)puVar1 + 0x10))" ( (pointer_expression "*(undefined4 *)(*(int *)puVar1 + 0x10)" * (cast_expression "(undefined4 *)(*(int *)puVar1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar1 + 0x10)" ( (binary_expression "*(int *)puVar1 + 0x10" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) ))) ;) (expression_statement "xfree(*(undefined4 *)(*(int *)puVar1 + 0x1c));" (call_expression "xfree(*(undefined4 *)(*(int *)puVar1 + 0x1c))" identifier (argument_list "(*(undefined4 *)(*(int *)puVar1 + 0x1c))" ( (pointer_expression "*(undefined4 *)(*(int *)puVar1 + 0x1c)" * (cast_expression "(undefined4 *)(*(int *)puVar1 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar1 + 0x1c)" ( (binary_expression "*(int *)puVar1 + 0x1c" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) ))) ;) (expression_statement "xfree(*(undefined4 *)(*(int *)puVar1 + 0x8c));" (call_expression "xfree(*(undefined4 *)(*(int *)puVar1 + 0x8c))" identifier (argument_list "(*(undefined4 *)(*(int *)puVar1 + 0x8c))" ( (pointer_expression "*(undefined4 *)(*(int *)puVar1 + 0x8c)" * (cast_expression "(undefined4 *)(*(int *)puVar1 + 0x8c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar1 + 0x8c)" ( (binary_expression "*(int *)puVar1 + 0x8c" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) ))) ;) (expression_statement "xfree(*(undefined4 *)puVar1);" (call_expression "xfree(*(undefined4 *)puVar1)" identifier (argument_list "(*(undefined4 *)puVar1)" ( (pointer_expression "*(undefined4 *)puVar1" * (cast_expression "(undefined4 *)puVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (expression_statement "xfree(*(undefined4 *)PTR_save_com_000354f8);" (call_expression "xfree(*(undefined4 *)PTR_save_com_000354f8)" identifier (argument_list "(*(undefined4 *)PTR_save_com_000354f8)" ( (pointer_expression "*(undefined4 *)PTR_save_com_000354f8" * (cast_expression "(undefined4 *)PTR_save_com_000354f8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (expression_statement "xfree(*(undefined4 *)PTR_combuf_0003560c);" (call_expression "xfree(*(undefined4 *)PTR_combuf_0003560c)" identifier (argument_list "(*(undefined4 *)PTR_combuf_0003560c)" ( (pointer_expression "*(undefined4 *)PTR_combuf_0003560c" * (cast_expression "(undefined4 *)PTR_combuf_0003560c" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (expression_statement "xfree(*(undefined4 *)PTR_labbuf_00035638);" (call_expression "xfree(*(undefined4 *)PTR_labbuf_00035638)" identifier (argument_list "(*(undefined4 *)PTR_labbuf_00035638)" ( (pointer_expression "*(undefined4 *)PTR_labbuf_00035638" * (cast_expression "(undefined4 *)PTR_labbuf_00035638" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (expression_statement "xfree(*(undefined4 *)PTR_codebuf_0003563c);" (call_expression "xfree(*(undefined4 *)PTR_codebuf_0003563c)" identifier (argument_list "(*(undefined4 *)PTR_codebuf_0003563c)" ( (pointer_expression "*(undefined4 *)PTR_codebuf_0003563c" * (cast_expression "(undefined4 *)PTR_codebuf_0003563c" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (expression_statement "xfree(*(undefined4 *)PTR_di_stack_00035644);" (call_expression "xfree(*(undefined4 *)PTR_di_stack_00035644)" identifier (argument_list "(*(undefined4 *)PTR_di_stack_00035644)" ( (pointer_expression "*(undefined4 *)PTR_di_stack_00035644" * (cast_expression "(undefined4 *)PTR_di_stack_00035644" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (expression_statement "*(undefined4 *)puVar1 = 0;" (assignment_expression "*(undefined4 *)puVar1 = 0" (pointer_expression "*(undefined4 *)puVar1" * (cast_expression "(undefined4 *)puVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) })) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Unknown calling convention -- yet parameter storage is locked */\n\nvoid uninit_parser(void)\n\n{\n  undefined *puVar1;\n  \n  puVar1 = PTR_parser_state_tos_000354ec;\n  if (*(int *)PTR_parser_state_tos_000354ec != 0) {\n    xfree(*(void **)(*(int *)PTR_parser_state_tos_000354ec + 8));\n    xfree(*(void **)(*(int *)puVar1 + 0x10));\n    xfree(*(void **)(*(int *)puVar1 + 0x1c));\n    xfree(*(void **)(*(int *)puVar1 + 0x8c));\n    xfree(*(void **)puVar1);\n    xfree(*(void **)PTR_save_com_000354f8);\n    xfree(*(void **)PTR_combuf_0003560c);\n    xfree(*(void **)PTR_labbuf_00035638);\n    xfree(*(void **)PTR_codebuf_0003563c);\n    xfree(*(void **)PTR_di_stack_00035644);\n    *(undefined4 *)puVar1 = 0;\n  }\n  return;\n}\n\n" comment (function_definition "void uninit_parser(void)\n\n{\n  undefined *puVar1;\n  \n  puVar1 = PTR_parser_state_tos_000354ec;\n  if (*(int *)PTR_parser_state_tos_000354ec != 0) {\n    xfree(*(void **)(*(int *)PTR_parser_state_tos_000354ec + 8));\n    xfree(*(void **)(*(int *)puVar1 + 0x10));\n    xfree(*(void **)(*(int *)puVar1 + 0x1c));\n    xfree(*(void **)(*(int *)puVar1 + 0x8c));\n    xfree(*(void **)puVar1);\n    xfree(*(void **)PTR_save_com_000354f8);\n    xfree(*(void **)PTR_combuf_0003560c);\n    xfree(*(void **)PTR_labbuf_00035638);\n    xfree(*(void **)PTR_codebuf_0003563c);\n    xfree(*(void **)PTR_di_stack_00035644);\n    *(undefined4 *)puVar1 = 0;\n  }\n  return;\n}" primitive_type (function_declarator "uninit_parser(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  undefined *puVar1;\n  \n  puVar1 = PTR_parser_state_tos_000354ec;\n  if (*(int *)PTR_parser_state_tos_000354ec != 0) {\n    xfree(*(void **)(*(int *)PTR_parser_state_tos_000354ec + 8));\n    xfree(*(void **)(*(int *)puVar1 + 0x10));\n    xfree(*(void **)(*(int *)puVar1 + 0x1c));\n    xfree(*(void **)(*(int *)puVar1 + 0x8c));\n    xfree(*(void **)puVar1);\n    xfree(*(void **)PTR_save_com_000354f8);\n    xfree(*(void **)PTR_combuf_0003560c);\n    xfree(*(void **)PTR_labbuf_00035638);\n    xfree(*(void **)PTR_codebuf_0003563c);\n    xfree(*(void **)PTR_di_stack_00035644);\n    *(undefined4 *)puVar1 = 0;\n  }\n  return;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (expression_statement "puVar1 = PTR_parser_state_tos_000354ec;" (assignment_expression "puVar1 = PTR_parser_state_tos_000354ec" identifier = identifier) ;) (if_statement "if (*(int *)PTR_parser_state_tos_000354ec != 0) {\n    xfree(*(void **)(*(int *)PTR_parser_state_tos_000354ec + 8));\n    xfree(*(void **)(*(int *)puVar1 + 0x10));\n    xfree(*(void **)(*(int *)puVar1 + 0x1c));\n    xfree(*(void **)(*(int *)puVar1 + 0x8c));\n    xfree(*(void **)puVar1);\n    xfree(*(void **)PTR_save_com_000354f8);\n    xfree(*(void **)PTR_combuf_0003560c);\n    xfree(*(void **)PTR_labbuf_00035638);\n    xfree(*(void **)PTR_codebuf_0003563c);\n    xfree(*(void **)PTR_di_stack_00035644);\n    *(undefined4 *)puVar1 = 0;\n  }" if (parenthesized_expression "(*(int *)PTR_parser_state_tos_000354ec != 0)" ( (binary_expression "*(int *)PTR_parser_state_tos_000354ec != 0" (pointer_expression "*(int *)PTR_parser_state_tos_000354ec" * (cast_expression "(int *)PTR_parser_state_tos_000354ec" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) (compound_statement "{\n    xfree(*(void **)(*(int *)PTR_parser_state_tos_000354ec + 8));\n    xfree(*(void **)(*(int *)puVar1 + 0x10));\n    xfree(*(void **)(*(int *)puVar1 + 0x1c));\n    xfree(*(void **)(*(int *)puVar1 + 0x8c));\n    xfree(*(void **)puVar1);\n    xfree(*(void **)PTR_save_com_000354f8);\n    xfree(*(void **)PTR_combuf_0003560c);\n    xfree(*(void **)PTR_labbuf_00035638);\n    xfree(*(void **)PTR_codebuf_0003563c);\n    xfree(*(void **)PTR_di_stack_00035644);\n    *(undefined4 *)puVar1 = 0;\n  }" { (expression_statement "xfree(*(void **)(*(int *)PTR_parser_state_tos_000354ec + 8));" (call_expression "xfree(*(void **)(*(int *)PTR_parser_state_tos_000354ec + 8))" identifier (argument_list "(*(void **)(*(int *)PTR_parser_state_tos_000354ec + 8))" ( (pointer_expression "*(void **)(*(int *)PTR_parser_state_tos_000354ec + 8)" * (cast_expression "(void **)(*(int *)PTR_parser_state_tos_000354ec + 8)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)PTR_parser_state_tos_000354ec + 8)" ( (binary_expression "*(int *)PTR_parser_state_tos_000354ec + 8" (pointer_expression "*(int *)PTR_parser_state_tos_000354ec" * (cast_expression "(int *)PTR_parser_state_tos_000354ec" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) ))) ;) (expression_statement "xfree(*(void **)(*(int *)puVar1 + 0x10));" (call_expression "xfree(*(void **)(*(int *)puVar1 + 0x10))" identifier (argument_list "(*(void **)(*(int *)puVar1 + 0x10))" ( (pointer_expression "*(void **)(*(int *)puVar1 + 0x10)" * (cast_expression "(void **)(*(int *)puVar1 + 0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)puVar1 + 0x10)" ( (binary_expression "*(int *)puVar1 + 0x10" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) ))) ;) (expression_statement "xfree(*(void **)(*(int *)puVar1 + 0x1c));" (call_expression "xfree(*(void **)(*(int *)puVar1 + 0x1c))" identifier (argument_list "(*(void **)(*(int *)puVar1 + 0x1c))" ( (pointer_expression "*(void **)(*(int *)puVar1 + 0x1c)" * (cast_expression "(void **)(*(int *)puVar1 + 0x1c)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)puVar1 + 0x1c)" ( (binary_expression "*(int *)puVar1 + 0x1c" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) ))) ;) (expression_statement "xfree(*(void **)(*(int *)puVar1 + 0x8c));" (call_expression "xfree(*(void **)(*(int *)puVar1 + 0x8c))" identifier (argument_list "(*(void **)(*(int *)puVar1 + 0x8c))" ( (pointer_expression "*(void **)(*(int *)puVar1 + 0x8c)" * (cast_expression "(void **)(*(int *)puVar1 + 0x8c)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)puVar1 + 0x8c)" ( (binary_expression "*(int *)puVar1 + 0x8c" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) ))) ;) (expression_statement "xfree(*(void **)puVar1);" (call_expression "xfree(*(void **)puVar1)" identifier (argument_list "(*(void **)puVar1)" ( (pointer_expression "*(void **)puVar1" * (cast_expression "(void **)puVar1" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "xfree(*(void **)PTR_save_com_000354f8);" (call_expression "xfree(*(void **)PTR_save_com_000354f8)" identifier (argument_list "(*(void **)PTR_save_com_000354f8)" ( (pointer_expression "*(void **)PTR_save_com_000354f8" * (cast_expression "(void **)PTR_save_com_000354f8" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "xfree(*(void **)PTR_combuf_0003560c);" (call_expression "xfree(*(void **)PTR_combuf_0003560c)" identifier (argument_list "(*(void **)PTR_combuf_0003560c)" ( (pointer_expression "*(void **)PTR_combuf_0003560c" * (cast_expression "(void **)PTR_combuf_0003560c" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "xfree(*(void **)PTR_labbuf_00035638);" (call_expression "xfree(*(void **)PTR_labbuf_00035638)" identifier (argument_list "(*(void **)PTR_labbuf_00035638)" ( (pointer_expression "*(void **)PTR_labbuf_00035638" * (cast_expression "(void **)PTR_labbuf_00035638" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "xfree(*(void **)PTR_codebuf_0003563c);" (call_expression "xfree(*(void **)PTR_codebuf_0003563c)" identifier (argument_list "(*(void **)PTR_codebuf_0003563c)" ( (pointer_expression "*(void **)PTR_codebuf_0003563c" * (cast_expression "(void **)PTR_codebuf_0003563c" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "xfree(*(void **)PTR_di_stack_00035644);" (call_expression "xfree(*(void **)PTR_di_stack_00035644)" identifier (argument_list "(*(void **)PTR_di_stack_00035644)" ( (pointer_expression "*(void **)PTR_di_stack_00035644" * (cast_expression "(void **)PTR_di_stack_00035644" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "*(undefined4 *)puVar1 = 0;" (assignment_expression "*(undefined4 *)puVar1 = 0" (pointer_expression "*(undefined4 *)puVar1" * (cast_expression "(undefined4 *)puVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) })) (return_statement "return;" return ;) })))
(translation_unit "void uninit_parser(void)\n\n{\n  undefined *puVar1;\n  \n  puVar1 = PTR_parser_state_tos_000354ec;\n  if (*(int *)PTR_parser_state_tos_000354ec != 0) {\n    xfree(*(undefined4 *)(*(int *)PTR_parser_state_tos_000354ec + 8));\n    xfree(*(undefined4 *)(*(int *)puVar1 + 0x10));\n    xfree(*(undefined4 *)(*(int *)puVar1 + 0x1c));\n    xfree(*(undefined4 *)(*(int *)puVar1 + 0x8c));\n    xfree(*(undefined4 *)puVar1);\n    xfree(*(undefined4 *)PTR_save_com_000354f8);\n    xfree(*(undefined4 *)PTR_combuf_0003560c);\n    xfree(*(undefined4 *)PTR_labbuf_00035638);\n    xfree(*(undefined4 *)PTR_codebuf_0003563c);\n    xfree(*(undefined4 *)PTR_di_stack_00035644);\n    *(undefined4 *)puVar1 = 0;\n  }\n  return;\n}\n\n" (function_definition "void uninit_parser(void)\n\n{\n  undefined *puVar1;\n  \n  puVar1 = PTR_parser_state_tos_000354ec;\n  if (*(int *)PTR_parser_state_tos_000354ec != 0) {\n    xfree(*(undefined4 *)(*(int *)PTR_parser_state_tos_000354ec + 8));\n    xfree(*(undefined4 *)(*(int *)puVar1 + 0x10));\n    xfree(*(undefined4 *)(*(int *)puVar1 + 0x1c));\n    xfree(*(undefined4 *)(*(int *)puVar1 + 0x8c));\n    xfree(*(undefined4 *)puVar1);\n    xfree(*(undefined4 *)PTR_save_com_000354f8);\n    xfree(*(undefined4 *)PTR_combuf_0003560c);\n    xfree(*(undefined4 *)PTR_labbuf_00035638);\n    xfree(*(undefined4 *)PTR_codebuf_0003563c);\n    xfree(*(undefined4 *)PTR_di_stack_00035644);\n    *(undefined4 *)puVar1 = 0;\n  }\n  return;\n}" primitive_type (function_declarator "uninit_parser(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  undefined *puVar1;\n  \n  puVar1 = PTR_parser_state_tos_000354ec;\n  if (*(int *)PTR_parser_state_tos_000354ec != 0) {\n    xfree(*(undefined4 *)(*(int *)PTR_parser_state_tos_000354ec + 8));\n    xfree(*(undefined4 *)(*(int *)puVar1 + 0x10));\n    xfree(*(undefined4 *)(*(int *)puVar1 + 0x1c));\n    xfree(*(undefined4 *)(*(int *)puVar1 + 0x8c));\n    xfree(*(undefined4 *)puVar1);\n    xfree(*(undefined4 *)PTR_save_com_000354f8);\n    xfree(*(undefined4 *)PTR_combuf_0003560c);\n    xfree(*(undefined4 *)PTR_labbuf_00035638);\n    xfree(*(undefined4 *)PTR_codebuf_0003563c);\n    xfree(*(undefined4 *)PTR_di_stack_00035644);\n    *(undefined4 *)puVar1 = 0;\n  }\n  return;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (expression_statement "puVar1 = PTR_parser_state_tos_000354ec;" (assignment_expression "puVar1 = PTR_parser_state_tos_000354ec" identifier = identifier) ;) (if_statement "if (*(int *)PTR_parser_state_tos_000354ec != 0) {\n    xfree(*(undefined4 *)(*(int *)PTR_parser_state_tos_000354ec + 8));\n    xfree(*(undefined4 *)(*(int *)puVar1 + 0x10));\n    xfree(*(undefined4 *)(*(int *)puVar1 + 0x1c));\n    xfree(*(undefined4 *)(*(int *)puVar1 + 0x8c));\n    xfree(*(undefined4 *)puVar1);\n    xfree(*(undefined4 *)PTR_save_com_000354f8);\n    xfree(*(undefined4 *)PTR_combuf_0003560c);\n    xfree(*(undefined4 *)PTR_labbuf_00035638);\n    xfree(*(undefined4 *)PTR_codebuf_0003563c);\n    xfree(*(undefined4 *)PTR_di_stack_00035644);\n    *(undefined4 *)puVar1 = 0;\n  }" if (parenthesized_expression "(*(int *)PTR_parser_state_tos_000354ec != 0)" ( (binary_expression "*(int *)PTR_parser_state_tos_000354ec != 0" (pointer_expression "*(int *)PTR_parser_state_tos_000354ec" * (cast_expression "(int *)PTR_parser_state_tos_000354ec" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) (compound_statement "{\n    xfree(*(undefined4 *)(*(int *)PTR_parser_state_tos_000354ec + 8));\n    xfree(*(undefined4 *)(*(int *)puVar1 + 0x10));\n    xfree(*(undefined4 *)(*(int *)puVar1 + 0x1c));\n    xfree(*(undefined4 *)(*(int *)puVar1 + 0x8c));\n    xfree(*(undefined4 *)puVar1);\n    xfree(*(undefined4 *)PTR_save_com_000354f8);\n    xfree(*(undefined4 *)PTR_combuf_0003560c);\n    xfree(*(undefined4 *)PTR_labbuf_00035638);\n    xfree(*(undefined4 *)PTR_codebuf_0003563c);\n    xfree(*(undefined4 *)PTR_di_stack_00035644);\n    *(undefined4 *)puVar1 = 0;\n  }" { (expression_statement "xfree(*(undefined4 *)(*(int *)PTR_parser_state_tos_000354ec + 8));" (call_expression "xfree(*(undefined4 *)(*(int *)PTR_parser_state_tos_000354ec + 8))" identifier (argument_list "(*(undefined4 *)(*(int *)PTR_parser_state_tos_000354ec + 8))" ( (pointer_expression "*(undefined4 *)(*(int *)PTR_parser_state_tos_000354ec + 8)" * (cast_expression "(undefined4 *)(*(int *)PTR_parser_state_tos_000354ec + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_parser_state_tos_000354ec + 8)" ( (binary_expression "*(int *)PTR_parser_state_tos_000354ec + 8" (pointer_expression "*(int *)PTR_parser_state_tos_000354ec" * (cast_expression "(int *)PTR_parser_state_tos_000354ec" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) ))) ;) (expression_statement "xfree(*(undefined4 *)(*(int *)puVar1 + 0x10));" (call_expression "xfree(*(undefined4 *)(*(int *)puVar1 + 0x10))" identifier (argument_list "(*(undefined4 *)(*(int *)puVar1 + 0x10))" ( (pointer_expression "*(undefined4 *)(*(int *)puVar1 + 0x10)" * (cast_expression "(undefined4 *)(*(int *)puVar1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar1 + 0x10)" ( (binary_expression "*(int *)puVar1 + 0x10" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) ))) ;) (expression_statement "xfree(*(undefined4 *)(*(int *)puVar1 + 0x1c));" (call_expression "xfree(*(undefined4 *)(*(int *)puVar1 + 0x1c))" identifier (argument_list "(*(undefined4 *)(*(int *)puVar1 + 0x1c))" ( (pointer_expression "*(undefined4 *)(*(int *)puVar1 + 0x1c)" * (cast_expression "(undefined4 *)(*(int *)puVar1 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar1 + 0x1c)" ( (binary_expression "*(int *)puVar1 + 0x1c" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) ))) ;) (expression_statement "xfree(*(undefined4 *)(*(int *)puVar1 + 0x8c));" (call_expression "xfree(*(undefined4 *)(*(int *)puVar1 + 0x8c))" identifier (argument_list "(*(undefined4 *)(*(int *)puVar1 + 0x8c))" ( (pointer_expression "*(undefined4 *)(*(int *)puVar1 + 0x8c)" * (cast_expression "(undefined4 *)(*(int *)puVar1 + 0x8c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar1 + 0x8c)" ( (binary_expression "*(int *)puVar1 + 0x8c" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) ))) ;) (expression_statement "xfree(*(undefined4 *)puVar1);" (call_expression "xfree(*(undefined4 *)puVar1)" identifier (argument_list "(*(undefined4 *)puVar1)" ( (pointer_expression "*(undefined4 *)puVar1" * (cast_expression "(undefined4 *)puVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (expression_statement "xfree(*(undefined4 *)PTR_save_com_000354f8);" (call_expression "xfree(*(undefined4 *)PTR_save_com_000354f8)" identifier (argument_list "(*(undefined4 *)PTR_save_com_000354f8)" ( (pointer_expression "*(undefined4 *)PTR_save_com_000354f8" * (cast_expression "(undefined4 *)PTR_save_com_000354f8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (expression_statement "xfree(*(undefined4 *)PTR_combuf_0003560c);" (call_expression "xfree(*(undefined4 *)PTR_combuf_0003560c)" identifier (argument_list "(*(undefined4 *)PTR_combuf_0003560c)" ( (pointer_expression "*(undefined4 *)PTR_combuf_0003560c" * (cast_expression "(undefined4 *)PTR_combuf_0003560c" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (expression_statement "xfree(*(undefined4 *)PTR_labbuf_00035638);" (call_expression "xfree(*(undefined4 *)PTR_labbuf_00035638)" identifier (argument_list "(*(undefined4 *)PTR_labbuf_00035638)" ( (pointer_expression "*(undefined4 *)PTR_labbuf_00035638" * (cast_expression "(undefined4 *)PTR_labbuf_00035638" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (expression_statement "xfree(*(undefined4 *)PTR_codebuf_0003563c);" (call_expression "xfree(*(undefined4 *)PTR_codebuf_0003563c)" identifier (argument_list "(*(undefined4 *)PTR_codebuf_0003563c)" ( (pointer_expression "*(undefined4 *)PTR_codebuf_0003563c" * (cast_expression "(undefined4 *)PTR_codebuf_0003563c" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (expression_statement "xfree(*(undefined4 *)PTR_di_stack_00035644);" (call_expression "xfree(*(undefined4 *)PTR_di_stack_00035644)" identifier (argument_list "(*(undefined4 *)PTR_di_stack_00035644)" ( (pointer_expression "*(undefined4 *)PTR_di_stack_00035644" * (cast_expression "(undefined4 *)PTR_di_stack_00035644" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (expression_statement "*(undefined4 *)puVar1 = 0;" (assignment_expression "*(undefined4 *)puVar1 = 0" (pointer_expression "*(undefined4 *)puVar1" * (cast_expression "(undefined4 *)puVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) })) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) )))) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) )))) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) )))) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) )))) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = LIT) ;) })) (return_statement return ;) })))
(function_definition "void uninit_parser(void)\n\n{\n  undefined *puVar1;\n  \n  puVar1 = PTR_parser_state_tos_000354ec;\n  if (*(int *)PTR_parser_state_tos_000354ec != 0) {\n    xfree(*(undefined4 *)(*(int *)PTR_parser_state_tos_000354ec + 8));\n    xfree(*(undefined4 *)(*(int *)puVar1 + 0x10));\n    xfree(*(undefined4 *)(*(int *)puVar1 + 0x1c));\n    xfree(*(undefined4 *)(*(int *)puVar1 + 0x8c));\n    xfree(*(undefined4 *)puVar1);\n    xfree(*(undefined4 *)PTR_save_com_000354f8);\n    xfree(*(undefined4 *)PTR_combuf_0003560c);\n    xfree(*(undefined4 *)PTR_labbuf_00035638);\n    xfree(*(undefined4 *)PTR_codebuf_0003563c);\n    xfree(*(undefined4 *)PTR_di_stack_00035644);\n    *(undefined4 *)puVar1 = 0;\n  }\n  return;\n}" (primitive_type "void") (function_declarator "uninit_parser(void)" (identifier "uninit_parser") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  undefined *puVar1;\n  \n  puVar1 = PTR_parser_state_tos_000354ec;\n  if (*(int *)PTR_parser_state_tos_000354ec != 0) {\n    xfree(*(undefined4 *)(*(int *)PTR_parser_state_tos_000354ec + 8));\n    xfree(*(undefined4 *)(*(int *)puVar1 + 0x10));\n    xfree(*(undefined4 *)(*(int *)puVar1 + 0x1c));\n    xfree(*(undefined4 *)(*(int *)puVar1 + 0x8c));\n    xfree(*(undefined4 *)puVar1);\n    xfree(*(undefined4 *)PTR_save_com_000354f8);\n    xfree(*(undefined4 *)PTR_combuf_0003560c);\n    xfree(*(undefined4 *)PTR_labbuf_00035638);\n    xfree(*(undefined4 *)PTR_codebuf_0003563c);\n    xfree(*(undefined4 *)PTR_di_stack_00035644);\n    *(undefined4 *)puVar1 = 0;\n  }\n  return;\n}" ({ "{") (declaration "undefined *puVar1;" (type_identifier "undefined") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (expression_statement "puVar1 = PTR_parser_state_tos_000354ec;" (assignment_expression "puVar1 = PTR_parser_state_tos_000354ec" (identifier "puVar1") (= "=") (identifier "PTR_parser_state_tos_000354ec")) (; ";")) (if_statement "if (*(int *)PTR_parser_state_tos_000354ec != 0) {\n    xfree(*(undefined4 *)(*(int *)PTR_parser_state_tos_000354ec + 8));\n    xfree(*(undefined4 *)(*(int *)puVar1 + 0x10));\n    xfree(*(undefined4 *)(*(int *)puVar1 + 0x1c));\n    xfree(*(undefined4 *)(*(int *)puVar1 + 0x8c));\n    xfree(*(undefined4 *)puVar1);\n    xfree(*(undefined4 *)PTR_save_com_000354f8);\n    xfree(*(undefined4 *)PTR_combuf_0003560c);\n    xfree(*(undefined4 *)PTR_labbuf_00035638);\n    xfree(*(undefined4 *)PTR_codebuf_0003563c);\n    xfree(*(undefined4 *)PTR_di_stack_00035644);\n    *(undefined4 *)puVar1 = 0;\n  }" (if "if") (parenthesized_expression "(*(int *)PTR_parser_state_tos_000354ec != 0)" (( "(") (binary_expression "*(int *)PTR_parser_state_tos_000354ec != 0" (pointer_expression "*(int *)PTR_parser_state_tos_000354ec" (* "*") (cast_expression "(int *)PTR_parser_state_tos_000354ec" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_parser_state_tos_000354ec"))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    xfree(*(undefined4 *)(*(int *)PTR_parser_state_tos_000354ec + 8));\n    xfree(*(undefined4 *)(*(int *)puVar1 + 0x10));\n    xfree(*(undefined4 *)(*(int *)puVar1 + 0x1c));\n    xfree(*(undefined4 *)(*(int *)puVar1 + 0x8c));\n    xfree(*(undefined4 *)puVar1);\n    xfree(*(undefined4 *)PTR_save_com_000354f8);\n    xfree(*(undefined4 *)PTR_combuf_0003560c);\n    xfree(*(undefined4 *)PTR_labbuf_00035638);\n    xfree(*(undefined4 *)PTR_codebuf_0003563c);\n    xfree(*(undefined4 *)PTR_di_stack_00035644);\n    *(undefined4 *)puVar1 = 0;\n  }" ({ "{") (expression_statement "xfree(*(undefined4 *)(*(int *)PTR_parser_state_tos_000354ec + 8));" (call_expression "xfree(*(undefined4 *)(*(int *)PTR_parser_state_tos_000354ec + 8))" (identifier "xfree") (argument_list "(*(undefined4 *)(*(int *)PTR_parser_state_tos_000354ec + 8))" (( "(") (pointer_expression "*(undefined4 *)(*(int *)PTR_parser_state_tos_000354ec + 8)" (* "*") (cast_expression "(undefined4 *)(*(int *)PTR_parser_state_tos_000354ec + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)PTR_parser_state_tos_000354ec + 8)" (( "(") (binary_expression "*(int *)PTR_parser_state_tos_000354ec + 8" (pointer_expression "*(int *)PTR_parser_state_tos_000354ec" (* "*") (cast_expression "(int *)PTR_parser_state_tos_000354ec" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_parser_state_tos_000354ec"))) (+ "+") (number_literal "8")) () ")")))) () ")"))) (; ";")) (expression_statement "xfree(*(undefined4 *)(*(int *)puVar1 + 0x10));" (call_expression "xfree(*(undefined4 *)(*(int *)puVar1 + 0x10))" (identifier "xfree") (argument_list "(*(undefined4 *)(*(int *)puVar1 + 0x10))" (( "(") (pointer_expression "*(undefined4 *)(*(int *)puVar1 + 0x10)" (* "*") (cast_expression "(undefined4 *)(*(int *)puVar1 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)puVar1 + 0x10)" (( "(") (binary_expression "*(int *)puVar1 + 0x10" (pointer_expression "*(int *)puVar1" (* "*") (cast_expression "(int *)puVar1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) (+ "+") (number_literal "0x10")) () ")")))) () ")"))) (; ";")) (expression_statement "xfree(*(undefined4 *)(*(int *)puVar1 + 0x1c));" (call_expression "xfree(*(undefined4 *)(*(int *)puVar1 + 0x1c))" (identifier "xfree") (argument_list "(*(undefined4 *)(*(int *)puVar1 + 0x1c))" (( "(") (pointer_expression "*(undefined4 *)(*(int *)puVar1 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(*(int *)puVar1 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)puVar1 + 0x1c)" (( "(") (binary_expression "*(int *)puVar1 + 0x1c" (pointer_expression "*(int *)puVar1" (* "*") (cast_expression "(int *)puVar1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) (+ "+") (number_literal "0x1c")) () ")")))) () ")"))) (; ";")) (expression_statement "xfree(*(undefined4 *)(*(int *)puVar1 + 0x8c));" (call_expression "xfree(*(undefined4 *)(*(int *)puVar1 + 0x8c))" (identifier "xfree") (argument_list "(*(undefined4 *)(*(int *)puVar1 + 0x8c))" (( "(") (pointer_expression "*(undefined4 *)(*(int *)puVar1 + 0x8c)" (* "*") (cast_expression "(undefined4 *)(*(int *)puVar1 + 0x8c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)puVar1 + 0x8c)" (( "(") (binary_expression "*(int *)puVar1 + 0x8c" (pointer_expression "*(int *)puVar1" (* "*") (cast_expression "(int *)puVar1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) (+ "+") (number_literal "0x8c")) () ")")))) () ")"))) (; ";")) (expression_statement "xfree(*(undefined4 *)puVar1);" (call_expression "xfree(*(undefined4 *)puVar1)" (identifier "xfree") (argument_list "(*(undefined4 *)puVar1)" (( "(") (pointer_expression "*(undefined4 *)puVar1" (* "*") (cast_expression "(undefined4 *)puVar1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) () ")"))) (; ";")) (expression_statement "xfree(*(undefined4 *)PTR_save_com_000354f8);" (call_expression "xfree(*(undefined4 *)PTR_save_com_000354f8)" (identifier "xfree") (argument_list "(*(undefined4 *)PTR_save_com_000354f8)" (( "(") (pointer_expression "*(undefined4 *)PTR_save_com_000354f8" (* "*") (cast_expression "(undefined4 *)PTR_save_com_000354f8" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_save_com_000354f8"))) () ")"))) (; ";")) (expression_statement "xfree(*(undefined4 *)PTR_combuf_0003560c);" (call_expression "xfree(*(undefined4 *)PTR_combuf_0003560c)" (identifier "xfree") (argument_list "(*(undefined4 *)PTR_combuf_0003560c)" (( "(") (pointer_expression "*(undefined4 *)PTR_combuf_0003560c" (* "*") (cast_expression "(undefined4 *)PTR_combuf_0003560c" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_combuf_0003560c"))) () ")"))) (; ";")) (expression_statement "xfree(*(undefined4 *)PTR_labbuf_00035638);" (call_expression "xfree(*(undefined4 *)PTR_labbuf_00035638)" (identifier "xfree") (argument_list "(*(undefined4 *)PTR_labbuf_00035638)" (( "(") (pointer_expression "*(undefined4 *)PTR_labbuf_00035638" (* "*") (cast_expression "(undefined4 *)PTR_labbuf_00035638" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_labbuf_00035638"))) () ")"))) (; ";")) (expression_statement "xfree(*(undefined4 *)PTR_codebuf_0003563c);" (call_expression "xfree(*(undefined4 *)PTR_codebuf_0003563c)" (identifier "xfree") (argument_list "(*(undefined4 *)PTR_codebuf_0003563c)" (( "(") (pointer_expression "*(undefined4 *)PTR_codebuf_0003563c" (* "*") (cast_expression "(undefined4 *)PTR_codebuf_0003563c" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_codebuf_0003563c"))) () ")"))) (; ";")) (expression_statement "xfree(*(undefined4 *)PTR_di_stack_00035644);" (call_expression "xfree(*(undefined4 *)PTR_di_stack_00035644)" (identifier "xfree") (argument_list "(*(undefined4 *)PTR_di_stack_00035644)" (( "(") (pointer_expression "*(undefined4 *)PTR_di_stack_00035644" (* "*") (cast_expression "(undefined4 *)PTR_di_stack_00035644" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_di_stack_00035644"))) () ")"))) (; ";")) (expression_statement "*(undefined4 *)puVar1 = 0;" (assignment_expression "*(undefined4 *)puVar1 = 0" (pointer_expression "*(undefined4 *)puVar1" (* "*") (cast_expression "(undefined4 *)puVar1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) (= "=") (number_literal "0")) (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Unknown calling convention -- yet parameter storage is locked */

void function_1(void)

{
  type_1 *puVar1;
  
  puVar1 = PTR_parser_state_tos_000354ec;
  if (*(int *)PTR_parser_state_tos_000354ec != 0) {
    var_1(*(void **)(*(int *)PTR_parser_state_tos_000354ec + 8));
    var_1(*(void **)(*(int *)puVar1 + 0x10));
    var_1(*(void **)(*(int *)puVar1 + 0x1c));
    var_1(*(void **)(*(int *)puVar1 + 0x8c));
    var_1(*(void **)puVar1);
    var_1(*(void **)PTR_save_com_000354f8);
    var_1(*(void **)PTR_combuf_0003560c);
    var_1(*(void **)PTR_labbuf_00035638);
    var_1(*(void **)PTR_codebuf_0003563c);
    var_1(*(void **)PTR_di_stack_00035644);
    *(type_2 *)puVar1 = 0;
  }
  return;
}


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

void MASKED(void)

{
  undefined *puVar1;
  
  puVar1 = PTR_parser_state_tos_000354ec;
  if (*(int *)PTR_parser_state_tos_000354ec != 0) {
    xfree(*(undefined4 *)(*(int *)PTR_parser_state_tos_000354ec + 8));
    xfree(*(undefined4 *)(*(int *)puVar1 + 0x10));
    xfree(*(undefined4 *)(*(int *)puVar1 + 0x1c));
    xfree(*(undefined4 *)(*(int *)puVar1 + 0x8c));
    xfree(*(undefined4 *)puVar1);
    xfree(*(undefined4 *)PTR_save_com_000354f8);
    xfree(*(undefined4 *)PTR_combuf_0003560c);
    xfree(*(undefined4 *)PTR_labbuf_00035638);
    xfree(*(undefined4 *)PTR_codebuf_0003563c);
    xfree(*(undefined4 *)PTR_di_stack_00035644);
    *(undefined4 *)puVar1 = 0;
  }
  return;
}

