
void lang_section_start(char *name,etree_type *address,segment_type *segment)

{
  undefined4 *puVar1;
  int iVar2;
  
  iVar2 = *(int *)PTR_stat_ptr_001dbbf8;
  puVar1 = (undefined4 *)stat_alloc(0x14);
  puVar1[1] = 3;
  *puVar1 = 0;
  **(undefined4 **)(iVar2 + 4) = puVar1;
  *(undefined4 **)(iVar2 + 4) = puVar1;
  puVar1[2] = name;
  puVar1[3] = address;
  puVar1[4] = segment;
  return;
}



void lang_section_start(undefined4 param_1,undefined4 param_2,undefined4 param_3)

{
  undefined4 *puVar1;
  int iVar2;
  
  iVar2 = *(int *)PTR_stat_ptr_001dbbf8;
  puVar1 = (undefined4 *)stat_alloc(0x14);
  puVar1[1] = 3;
  *puVar1 = 0;
  **(undefined4 **)(iVar2 + 4) = puVar1;
  *(undefined4 **)(iVar2 + 4) = puVar1;
  puVar1[2] = param_1;
  puVar1[3] = param_2;
  puVar1[4] = param_3;
  return;
}


lui gp,0x1b
addiu gp,gp,0x618c
addu gp,gp,t9
addiu sp,sp,-0x30
lw v0,-0x7cd8(gp)
lw t9,-0x7d30(gp)
sw s3,0x28(sp)
or s3,a0,zero
li a0,0x14
sw s2,0x24(sp)
sw s1,0x20(sp)
or s2,a1,zero
sw s0,0x1c(sp)
or s1,a2,zero
sw ra,0x2c(sp)
sw gp,0x10(sp)
bal 0x0002663c
_lw s0,0x0(v0)
li v1,0x3
lw ra,0x2c(sp)
sw v1,0x4(v0)
sw zero,0x0(v0)
lw v1,0x4(s0)
sw v0,0x0(v1)
sw v0,0x4(s0)
sw s3,0x8(v0)
sw s2,0xc(v0)
sw s1,0x10(v0)
lw s3,0x28(sp)
lw s2,0x24(sp)
lw s1,0x20(sp)
lw s0,0x1c(sp)
jr ra
_addiu sp,sp,0x30
(translation_unit "void lang_section_start(undefined4 param_1,undefined4 param_2,undefined4 param_3)\n\n{\n  undefined4 *puVar1;\n  int iVar2;\n  \n  iVar2 = *(int *)PTR_stat_ptr_001dbbf8;\n  puVar1 = (undefined4 *)stat_alloc(0x14);\n  puVar1[1] = 3;\n  *puVar1 = 0;\n  **(undefined4 **)(iVar2 + 4) = puVar1;\n  *(undefined4 **)(iVar2 + 4) = puVar1;\n  puVar1[2] = param_1;\n  puVar1[3] = param_2;\n  puVar1[4] = param_3;\n  return;\n}\n\n" (function_definition "void lang_section_start(undefined4 param_1,undefined4 param_2,undefined4 param_3)\n\n{\n  undefined4 *puVar1;\n  int iVar2;\n  \n  iVar2 = *(int *)PTR_stat_ptr_001dbbf8;\n  puVar1 = (undefined4 *)stat_alloc(0x14);\n  puVar1[1] = 3;\n  *puVar1 = 0;\n  **(undefined4 **)(iVar2 + 4) = puVar1;\n  *(undefined4 **)(iVar2 + 4) = puVar1;\n  puVar1[2] = param_1;\n  puVar1[3] = param_2;\n  puVar1[4] = param_3;\n  return;\n}" primitive_type (function_declarator "lang_section_start(undefined4 param_1,undefined4 param_2,undefined4 param_3)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2,undefined4 param_3)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) ))) (compound_statement "{\n  undefined4 *puVar1;\n  int iVar2;\n  \n  iVar2 = *(int *)PTR_stat_ptr_001dbbf8;\n  puVar1 = (undefined4 *)stat_alloc(0x14);\n  puVar1[1] = 3;\n  *puVar1 = 0;\n  **(undefined4 **)(iVar2 + 4) = puVar1;\n  *(undefined4 **)(iVar2 + 4) = puVar1;\n  puVar1[2] = param_1;\n  puVar1[3] = param_2;\n  puVar1[4] = param_3;\n  return;\n}" { (declaration "undefined4 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (expression_statement "iVar2 = *(int *)PTR_stat_ptr_001dbbf8;" (assignment_expression "iVar2 = *(int *)PTR_stat_ptr_001dbbf8" identifier = (pointer_expression "*(int *)PTR_stat_ptr_001dbbf8" * (cast_expression "(int *)PTR_stat_ptr_001dbbf8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "puVar1 = (undefined4 *)stat_alloc(0x14);" (assignment_expression "puVar1 = (undefined4 *)stat_alloc(0x14)" identifier = (cast_expression "(undefined4 *)stat_alloc(0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "stat_alloc(0x14)" identifier (argument_list "(0x14)" ( number_literal ))))) ;) (expression_statement "puVar1[1] = 3;" (assignment_expression "puVar1[1] = 3" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*puVar1 = 0;" (assignment_expression "*puVar1 = 0" (pointer_expression "*puVar1" * identifier) = number_literal) ;) (expression_statement "**(undefined4 **)(iVar2 + 4) = puVar1;" (assignment_expression "**(undefined4 **)(iVar2 + 4) = puVar1" (pointer_expression "**(undefined4 **)(iVar2 + 4)" * (pointer_expression "*(undefined4 **)(iVar2 + 4)" * (cast_expression "(undefined4 **)(iVar2 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 4)" ( (binary_expression "iVar2 + 4" identifier + number_literal) ))))) = identifier) ;) (expression_statement "*(undefined4 **)(iVar2 + 4) = puVar1;" (assignment_expression "*(undefined4 **)(iVar2 + 4) = puVar1" (pointer_expression "*(undefined4 **)(iVar2 + 4)" * (cast_expression "(undefined4 **)(iVar2 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 4)" ( (binary_expression "iVar2 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar1[2] = param_1;" (assignment_expression "puVar1[2] = param_1" (subscript_expression "puVar1[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1[3] = param_2;" (assignment_expression "puVar1[3] = param_2" (subscript_expression "puVar1[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1[4] = param_3;" (assignment_expression "puVar1[4] = param_3" (subscript_expression "puVar1[4]" identifier [ number_literal ]) = identifier) ;) (return_statement "return;" return ;) })))
(translation_unit "void lang_section_start(char *name,etree_type *address,segment_type *segment)\n\n{\n  undefined4 *puVar1;\n  int iVar2;\n  \n  iVar2 = *(int *)PTR_stat_ptr_001dbbf8;\n  puVar1 = (undefined4 *)stat_alloc(0x14);\n  puVar1[1] = 3;\n  *puVar1 = 0;\n  **(undefined4 **)(iVar2 + 4) = puVar1;\n  *(undefined4 **)(iVar2 + 4) = puVar1;\n  puVar1[2] = name;\n  puVar1[3] = address;\n  puVar1[4] = segment;\n  return;\n}\n\n" (function_definition "void lang_section_start(char *name,etree_type *address,segment_type *segment)\n\n{\n  undefined4 *puVar1;\n  int iVar2;\n  \n  iVar2 = *(int *)PTR_stat_ptr_001dbbf8;\n  puVar1 = (undefined4 *)stat_alloc(0x14);\n  puVar1[1] = 3;\n  *puVar1 = 0;\n  **(undefined4 **)(iVar2 + 4) = puVar1;\n  *(undefined4 **)(iVar2 + 4) = puVar1;\n  puVar1[2] = name;\n  puVar1[3] = address;\n  puVar1[4] = segment;\n  return;\n}" primitive_type (function_declarator "lang_section_start(char *name,etree_type *address,segment_type *segment)" identifier (parameter_list "(char *name,etree_type *address,segment_type *segment)" ( (parameter_declaration "char *name" primitive_type (pointer_declarator "*name" * identifier)) , (parameter_declaration "etree_type *address" type_identifier (pointer_declarator "*address" * identifier)) , (parameter_declaration "segment_type *segment" type_identifier (pointer_declarator "*segment" * identifier)) ))) (compound_statement "{\n  undefined4 *puVar1;\n  int iVar2;\n  \n  iVar2 = *(int *)PTR_stat_ptr_001dbbf8;\n  puVar1 = (undefined4 *)stat_alloc(0x14);\n  puVar1[1] = 3;\n  *puVar1 = 0;\n  **(undefined4 **)(iVar2 + 4) = puVar1;\n  *(undefined4 **)(iVar2 + 4) = puVar1;\n  puVar1[2] = name;\n  puVar1[3] = address;\n  puVar1[4] = segment;\n  return;\n}" { (declaration "undefined4 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (expression_statement "iVar2 = *(int *)PTR_stat_ptr_001dbbf8;" (assignment_expression "iVar2 = *(int *)PTR_stat_ptr_001dbbf8" identifier = (pointer_expression "*(int *)PTR_stat_ptr_001dbbf8" * (cast_expression "(int *)PTR_stat_ptr_001dbbf8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "puVar1 = (undefined4 *)stat_alloc(0x14);" (assignment_expression "puVar1 = (undefined4 *)stat_alloc(0x14)" identifier = (cast_expression "(undefined4 *)stat_alloc(0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "stat_alloc(0x14)" identifier (argument_list "(0x14)" ( number_literal ))))) ;) (expression_statement "puVar1[1] = 3;" (assignment_expression "puVar1[1] = 3" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*puVar1 = 0;" (assignment_expression "*puVar1 = 0" (pointer_expression "*puVar1" * identifier) = number_literal) ;) (expression_statement "**(undefined4 **)(iVar2 + 4) = puVar1;" (assignment_expression "**(undefined4 **)(iVar2 + 4) = puVar1" (pointer_expression "**(undefined4 **)(iVar2 + 4)" * (pointer_expression "*(undefined4 **)(iVar2 + 4)" * (cast_expression "(undefined4 **)(iVar2 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 4)" ( (binary_expression "iVar2 + 4" identifier + number_literal) ))))) = identifier) ;) (expression_statement "*(undefined4 **)(iVar2 + 4) = puVar1;" (assignment_expression "*(undefined4 **)(iVar2 + 4) = puVar1" (pointer_expression "*(undefined4 **)(iVar2 + 4)" * (cast_expression "(undefined4 **)(iVar2 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 4)" ( (binary_expression "iVar2 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar1[2] = name;" (assignment_expression "puVar1[2] = name" (subscript_expression "puVar1[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1[3] = address;" (assignment_expression "puVar1[3] = address" (subscript_expression "puVar1[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1[4] = segment;" (assignment_expression "puVar1[4] = segment" (subscript_expression "puVar1[4]" identifier [ number_literal ]) = identifier) ;) (return_statement "return;" return ;) })))
(translation_unit "void lang_section_start(undefined4 param_1,undefined4 param_2,undefined4 param_3)\n\n{\n  undefined4 *puVar1;\n  int iVar2;\n  \n  iVar2 = *(int *)PTR_stat_ptr_001dbbf8;\n  puVar1 = (undefined4 *)stat_alloc(0x14);\n  puVar1[1] = 3;\n  *puVar1 = 0;\n  **(undefined4 **)(iVar2 + 4) = puVar1;\n  *(undefined4 **)(iVar2 + 4) = puVar1;\n  puVar1[2] = param_1;\n  puVar1[3] = param_2;\n  puVar1[4] = param_3;\n  return;\n}\n\n" (function_definition "void lang_section_start(undefined4 param_1,undefined4 param_2,undefined4 param_3)\n\n{\n  undefined4 *puVar1;\n  int iVar2;\n  \n  iVar2 = *(int *)PTR_stat_ptr_001dbbf8;\n  puVar1 = (undefined4 *)stat_alloc(0x14);\n  puVar1[1] = 3;\n  *puVar1 = 0;\n  **(undefined4 **)(iVar2 + 4) = puVar1;\n  *(undefined4 **)(iVar2 + 4) = puVar1;\n  puVar1[2] = param_1;\n  puVar1[3] = param_2;\n  puVar1[4] = param_3;\n  return;\n}" primitive_type (function_declarator "lang_section_start(undefined4 param_1,undefined4 param_2,undefined4 param_3)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2,undefined4 param_3)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) ))) (compound_statement "{\n  undefined4 *puVar1;\n  int iVar2;\n  \n  iVar2 = *(int *)PTR_stat_ptr_001dbbf8;\n  puVar1 = (undefined4 *)stat_alloc(0x14);\n  puVar1[1] = 3;\n  *puVar1 = 0;\n  **(undefined4 **)(iVar2 + 4) = puVar1;\n  *(undefined4 **)(iVar2 + 4) = puVar1;\n  puVar1[2] = param_1;\n  puVar1[3] = param_2;\n  puVar1[4] = param_3;\n  return;\n}" { (declaration "undefined4 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (expression_statement "iVar2 = *(int *)PTR_stat_ptr_001dbbf8;" (assignment_expression "iVar2 = *(int *)PTR_stat_ptr_001dbbf8" identifier = (pointer_expression "*(int *)PTR_stat_ptr_001dbbf8" * (cast_expression "(int *)PTR_stat_ptr_001dbbf8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "puVar1 = (undefined4 *)stat_alloc(0x14);" (assignment_expression "puVar1 = (undefined4 *)stat_alloc(0x14)" identifier = (cast_expression "(undefined4 *)stat_alloc(0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "stat_alloc(0x14)" identifier (argument_list "(0x14)" ( number_literal ))))) ;) (expression_statement "puVar1[1] = 3;" (assignment_expression "puVar1[1] = 3" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*puVar1 = 0;" (assignment_expression "*puVar1 = 0" (pointer_expression "*puVar1" * identifier) = number_literal) ;) (expression_statement "**(undefined4 **)(iVar2 + 4) = puVar1;" (assignment_expression "**(undefined4 **)(iVar2 + 4) = puVar1" (pointer_expression "**(undefined4 **)(iVar2 + 4)" * (pointer_expression "*(undefined4 **)(iVar2 + 4)" * (cast_expression "(undefined4 **)(iVar2 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 4)" ( (binary_expression "iVar2 + 4" identifier + number_literal) ))))) = identifier) ;) (expression_statement "*(undefined4 **)(iVar2 + 4) = puVar1;" (assignment_expression "*(undefined4 **)(iVar2 + 4) = puVar1" (pointer_expression "*(undefined4 **)(iVar2 + 4)" * (cast_expression "(undefined4 **)(iVar2 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 4)" ( (binary_expression "iVar2 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar1[2] = param_1;" (assignment_expression "puVar1[2] = param_1" (subscript_expression "puVar1[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1[3] = param_2;" (assignment_expression "puVar1[3] = param_2" (subscript_expression "puVar1[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1[4] = param_3;" (assignment_expression "puVar1[4] = param_3" (subscript_expression "puVar1[4]" identifier [ number_literal ]) = identifier) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_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) ;) (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) ;) (return_statement return ;) })))
(function_definition "void lang_section_start(undefined4 param_1,undefined4 param_2,undefined4 param_3)\n\n{\n  undefined4 *puVar1;\n  int iVar2;\n  \n  iVar2 = *(int *)PTR_stat_ptr_001dbbf8;\n  puVar1 = (undefined4 *)stat_alloc(0x14);\n  puVar1[1] = 3;\n  *puVar1 = 0;\n  **(undefined4 **)(iVar2 + 4) = puVar1;\n  *(undefined4 **)(iVar2 + 4) = puVar1;\n  puVar1[2] = param_1;\n  puVar1[3] = param_2;\n  puVar1[4] = param_3;\n  return;\n}" (primitive_type "void") (function_declarator "lang_section_start(undefined4 param_1,undefined4 param_2,undefined4 param_3)" (identifier "lang_section_start") (parameter_list "(undefined4 param_1,undefined4 param_2,undefined4 param_3)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) () ")"))) (compound_statement "{\n  undefined4 *puVar1;\n  int iVar2;\n  \n  iVar2 = *(int *)PTR_stat_ptr_001dbbf8;\n  puVar1 = (undefined4 *)stat_alloc(0x14);\n  puVar1[1] = 3;\n  *puVar1 = 0;\n  **(undefined4 **)(iVar2 + 4) = puVar1;\n  *(undefined4 **)(iVar2 + 4) = puVar1;\n  puVar1[2] = param_1;\n  puVar1[3] = param_2;\n  puVar1[4] = param_3;\n  return;\n}" ({ "{") (declaration "undefined4 *puVar1;" (type_identifier "undefined4") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (expression_statement "iVar2 = *(int *)PTR_stat_ptr_001dbbf8;" (assignment_expression "iVar2 = *(int *)PTR_stat_ptr_001dbbf8" (identifier "iVar2") (= "=") (pointer_expression "*(int *)PTR_stat_ptr_001dbbf8" (* "*") (cast_expression "(int *)PTR_stat_ptr_001dbbf8" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_stat_ptr_001dbbf8")))) (; ";")) (expression_statement "puVar1 = (undefined4 *)stat_alloc(0x14);" (assignment_expression "puVar1 = (undefined4 *)stat_alloc(0x14)" (identifier "puVar1") (= "=") (cast_expression "(undefined4 *)stat_alloc(0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "stat_alloc(0x14)" (identifier "stat_alloc") (argument_list "(0x14)" (( "(") (number_literal "0x14") () ")"))))) (; ";")) (expression_statement "puVar1[1] = 3;" (assignment_expression "puVar1[1] = 3" (subscript_expression "puVar1[1]" (identifier "puVar1") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "3")) (; ";")) (expression_statement "*puVar1 = 0;" (assignment_expression "*puVar1 = 0" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (= "=") (number_literal "0")) (; ";")) (expression_statement "**(undefined4 **)(iVar2 + 4) = puVar1;" (assignment_expression "**(undefined4 **)(iVar2 + 4) = puVar1" (pointer_expression "**(undefined4 **)(iVar2 + 4)" (* "*") (pointer_expression "*(undefined4 **)(iVar2 + 4)" (* "*") (cast_expression "(undefined4 **)(iVar2 + 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar2 + 4)" (( "(") (binary_expression "iVar2 + 4" (identifier "iVar2") (+ "+") (number_literal "4")) () ")"))))) (= "=") (identifier "puVar1")) (; ";")) (expression_statement "*(undefined4 **)(iVar2 + 4) = puVar1;" (assignment_expression "*(undefined4 **)(iVar2 + 4) = puVar1" (pointer_expression "*(undefined4 **)(iVar2 + 4)" (* "*") (cast_expression "(undefined4 **)(iVar2 + 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar2 + 4)" (( "(") (binary_expression "iVar2 + 4" (identifier "iVar2") (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "puVar1")) (; ";")) (expression_statement "puVar1[2] = param_1;" (assignment_expression "puVar1[2] = param_1" (subscript_expression "puVar1[2]" (identifier "puVar1") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "param_1")) (; ";")) (expression_statement "puVar1[3] = param_2;" (assignment_expression "puVar1[3] = param_2" (subscript_expression "puVar1[3]" (identifier "puVar1") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "param_2")) (; ";")) (expression_statement "puVar1[4] = param_3;" (assignment_expression "puVar1[4] = param_3" (subscript_expression "puVar1[4]" (identifier "puVar1") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "param_3")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))
(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: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (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))) (return_statement))))

void MASKED(undefined4 param_1,undefined4 param_2,undefined4 param_3)

{
  undefined4 *puVar1;
  int iVar2;
  
  iVar2 = *(int *)PTR_stat_ptr_001dbbf8;
  puVar1 = (undefined4 *)stat_alloc(0x14);
  puVar1[1] = 3;
  *puVar1 = 0;
  **(undefined4 **)(iVar2 + 4) = puVar1;
  *(undefined4 **)(iVar2 + 4) = puVar1;
  puVar1[2] = param_1;
  puVar1[3] = param_2;
  puVar1[4] = param_3;
  return;
}

