
void free_debug_section(dwarf_section_display_enum debug)

{
  ulong uVar1;
  
  uVar1 = (ulong)debug;
  if ((void *)(&DAT_001910e0)[uVar1 * 0xe] != (void *)0x0) {
    free((void *)(&DAT_001910e0)[uVar1 * 0xe]);
    (&DAT_001910e0)[uVar1 * 0xe] = 0;
    (&DAT_001910e8)[uVar1 * 0xe] = 0;
    (&DAT_001910f0)[uVar1 * 0xe] = 0;
  }
  return;
}



void FUN_0013b4b0(uint param_1)

{
  ulong uVar1;
  
  uVar1 = (ulong)param_1;
  if ((void *)(&DAT_001910e0)[uVar1 * 0xe] != (void *)0x0) {
    free((void *)(&DAT_001910e0)[uVar1 * 0xe]);
    (&DAT_001910e0)[uVar1 * 0xe] = 0;
    (&DAT_001910e8)[uVar1 * 0xe] = 0;
    (&DAT_001910f0)[uVar1 * 0xe] = 0;
  }
  return;
}


MOV EDI,EDI
PUSH RBX
LEA RBX,[RDI*0x8]
SUB RBX,RDI
MOV RAX,RBX
LEA RBX,[0x1910c0]
SHL RAX,0x4
ADD RBX,RAX
MOV RDI,qword ptr [RBX + 0x20]
TEST RDI,RDI
JZ 0x0013b4f5
CALL 0x00107030
MOV qword ptr [RBX + 0x20],0x0
MOV qword ptr [RBX + 0x28],0x0
MOV qword ptr [RBX + 0x30],0x0
POP RBX
RET
(translation_unit "void FUN_0013b4b0(uint param_1)\n\n{\n  ulong uVar1;\n  \n  uVar1 = (ulong)param_1;\n  if ((void *)(&DAT_001910e0)[uVar1 * 0xe] != (void *)0x0) {\n    free((void *)(&DAT_001910e0)[uVar1 * 0xe]);\n    (&DAT_001910e0)[uVar1 * 0xe] = 0;\n    (&DAT_001910e8)[uVar1 * 0xe] = 0;\n    (&DAT_001910f0)[uVar1 * 0xe] = 0;\n  }\n  return;\n}\n\n" (function_definition "void FUN_0013b4b0(uint param_1)\n\n{\n  ulong uVar1;\n  \n  uVar1 = (ulong)param_1;\n  if ((void *)(&DAT_001910e0)[uVar1 * 0xe] != (void *)0x0) {\n    free((void *)(&DAT_001910e0)[uVar1 * 0xe]);\n    (&DAT_001910e0)[uVar1 * 0xe] = 0;\n    (&DAT_001910e8)[uVar1 * 0xe] = 0;\n    (&DAT_001910f0)[uVar1 * 0xe] = 0;\n  }\n  return;\n}" primitive_type (function_declarator "FUN_0013b4b0(uint param_1)" identifier (parameter_list "(uint param_1)" ( (parameter_declaration "uint param_1" type_identifier identifier) ))) (compound_statement "{\n  ulong uVar1;\n  \n  uVar1 = (ulong)param_1;\n  if ((void *)(&DAT_001910e0)[uVar1 * 0xe] != (void *)0x0) {\n    free((void *)(&DAT_001910e0)[uVar1 * 0xe]);\n    (&DAT_001910e0)[uVar1 * 0xe] = 0;\n    (&DAT_001910e8)[uVar1 * 0xe] = 0;\n    (&DAT_001910f0)[uVar1 * 0xe] = 0;\n  }\n  return;\n}" { (declaration "ulong uVar1;" type_identifier identifier ;) (expression_statement "uVar1 = (ulong)param_1;" (assignment_expression "uVar1 = (ulong)param_1" identifier = (cast_expression "(ulong)param_1" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if ((void *)(&DAT_001910e0)[uVar1 * 0xe] != (void *)0x0) {\n    free((void *)(&DAT_001910e0)[uVar1 * 0xe]);\n    (&DAT_001910e0)[uVar1 * 0xe] = 0;\n    (&DAT_001910e8)[uVar1 * 0xe] = 0;\n    (&DAT_001910f0)[uVar1 * 0xe] = 0;\n  }" if (parenthesized_expression "((void *)(&DAT_001910e0)[uVar1 * 0xe] != (void *)0x0)" ( (binary_expression "(void *)(&DAT_001910e0)[uVar1 * 0xe] != (void *)0x0" (cast_expression "(void *)(&DAT_001910e0)[uVar1 * 0xe]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "(&DAT_001910e0)[uVar1 * 0xe]" (parenthesized_expression "(&DAT_001910e0)" ( (pointer_expression "&DAT_001910e0" & identifier) )) [ (binary_expression "uVar1 * 0xe" identifier * number_literal) ])) != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    free((void *)(&DAT_001910e0)[uVar1 * 0xe]);\n    (&DAT_001910e0)[uVar1 * 0xe] = 0;\n    (&DAT_001910e8)[uVar1 * 0xe] = 0;\n    (&DAT_001910f0)[uVar1 * 0xe] = 0;\n  }" { (expression_statement "free((void *)(&DAT_001910e0)[uVar1 * 0xe]);" (call_expression "free((void *)(&DAT_001910e0)[uVar1 * 0xe])" identifier (argument_list "((void *)(&DAT_001910e0)[uVar1 * 0xe])" ( (cast_expression "(void *)(&DAT_001910e0)[uVar1 * 0xe]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "(&DAT_001910e0)[uVar1 * 0xe]" (parenthesized_expression "(&DAT_001910e0)" ( (pointer_expression "&DAT_001910e0" & identifier) )) [ (binary_expression "uVar1 * 0xe" identifier * number_literal) ])) ))) ;) (expression_statement "(&DAT_001910e0)[uVar1 * 0xe] = 0;" (assignment_expression "(&DAT_001910e0)[uVar1 * 0xe] = 0" (subscript_expression "(&DAT_001910e0)[uVar1 * 0xe]" (parenthesized_expression "(&DAT_001910e0)" ( (pointer_expression "&DAT_001910e0" & identifier) )) [ (binary_expression "uVar1 * 0xe" identifier * number_literal) ]) = number_literal) ;) (expression_statement "(&DAT_001910e8)[uVar1 * 0xe] = 0;" (assignment_expression "(&DAT_001910e8)[uVar1 * 0xe] = 0" (subscript_expression "(&DAT_001910e8)[uVar1 * 0xe]" (parenthesized_expression "(&DAT_001910e8)" ( (pointer_expression "&DAT_001910e8" & identifier) )) [ (binary_expression "uVar1 * 0xe" identifier * number_literal) ]) = number_literal) ;) (expression_statement "(&DAT_001910f0)[uVar1 * 0xe] = 0;" (assignment_expression "(&DAT_001910f0)[uVar1 * 0xe] = 0" (subscript_expression "(&DAT_001910f0)[uVar1 * 0xe]" (parenthesized_expression "(&DAT_001910f0)" ( (pointer_expression "&DAT_001910f0" & identifier) )) [ (binary_expression "uVar1 * 0xe" identifier * number_literal) ]) = number_literal) ;) })) (return_statement "return;" return ;) })))
(translation_unit "void free_debug_section(dwarf_section_display_enum debug)\n\n{\n  ulong uVar1;\n  \n  uVar1 = (ulong)debug;\n  if ((void *)(&DAT_001910e0)[uVar1 * 0xe] != (void *)0x0) {\n    free((void *)(&DAT_001910e0)[uVar1 * 0xe]);\n    (&DAT_001910e0)[uVar1 * 0xe] = 0;\n    (&DAT_001910e8)[uVar1 * 0xe] = 0;\n    (&DAT_001910f0)[uVar1 * 0xe] = 0;\n  }\n  return;\n}\n\n" (function_definition "void free_debug_section(dwarf_section_display_enum debug)\n\n{\n  ulong uVar1;\n  \n  uVar1 = (ulong)debug;\n  if ((void *)(&DAT_001910e0)[uVar1 * 0xe] != (void *)0x0) {\n    free((void *)(&DAT_001910e0)[uVar1 * 0xe]);\n    (&DAT_001910e0)[uVar1 * 0xe] = 0;\n    (&DAT_001910e8)[uVar1 * 0xe] = 0;\n    (&DAT_001910f0)[uVar1 * 0xe] = 0;\n  }\n  return;\n}" primitive_type (function_declarator "free_debug_section(dwarf_section_display_enum debug)" identifier (parameter_list "(dwarf_section_display_enum debug)" ( (parameter_declaration "dwarf_section_display_enum debug" type_identifier identifier) ))) (compound_statement "{\n  ulong uVar1;\n  \n  uVar1 = (ulong)debug;\n  if ((void *)(&DAT_001910e0)[uVar1 * 0xe] != (void *)0x0) {\n    free((void *)(&DAT_001910e0)[uVar1 * 0xe]);\n    (&DAT_001910e0)[uVar1 * 0xe] = 0;\n    (&DAT_001910e8)[uVar1 * 0xe] = 0;\n    (&DAT_001910f0)[uVar1 * 0xe] = 0;\n  }\n  return;\n}" { (declaration "ulong uVar1;" type_identifier identifier ;) (expression_statement "uVar1 = (ulong)debug;" (assignment_expression "uVar1 = (ulong)debug" identifier = (cast_expression "(ulong)debug" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if ((void *)(&DAT_001910e0)[uVar1 * 0xe] != (void *)0x0) {\n    free((void *)(&DAT_001910e0)[uVar1 * 0xe]);\n    (&DAT_001910e0)[uVar1 * 0xe] = 0;\n    (&DAT_001910e8)[uVar1 * 0xe] = 0;\n    (&DAT_001910f0)[uVar1 * 0xe] = 0;\n  }" if (parenthesized_expression "((void *)(&DAT_001910e0)[uVar1 * 0xe] != (void *)0x0)" ( (binary_expression "(void *)(&DAT_001910e0)[uVar1 * 0xe] != (void *)0x0" (cast_expression "(void *)(&DAT_001910e0)[uVar1 * 0xe]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "(&DAT_001910e0)[uVar1 * 0xe]" (parenthesized_expression "(&DAT_001910e0)" ( (pointer_expression "&DAT_001910e0" & identifier) )) [ (binary_expression "uVar1 * 0xe" identifier * number_literal) ])) != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    free((void *)(&DAT_001910e0)[uVar1 * 0xe]);\n    (&DAT_001910e0)[uVar1 * 0xe] = 0;\n    (&DAT_001910e8)[uVar1 * 0xe] = 0;\n    (&DAT_001910f0)[uVar1 * 0xe] = 0;\n  }" { (expression_statement "free((void *)(&DAT_001910e0)[uVar1 * 0xe]);" (call_expression "free((void *)(&DAT_001910e0)[uVar1 * 0xe])" identifier (argument_list "((void *)(&DAT_001910e0)[uVar1 * 0xe])" ( (cast_expression "(void *)(&DAT_001910e0)[uVar1 * 0xe]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "(&DAT_001910e0)[uVar1 * 0xe]" (parenthesized_expression "(&DAT_001910e0)" ( (pointer_expression "&DAT_001910e0" & identifier) )) [ (binary_expression "uVar1 * 0xe" identifier * number_literal) ])) ))) ;) (expression_statement "(&DAT_001910e0)[uVar1 * 0xe] = 0;" (assignment_expression "(&DAT_001910e0)[uVar1 * 0xe] = 0" (subscript_expression "(&DAT_001910e0)[uVar1 * 0xe]" (parenthesized_expression "(&DAT_001910e0)" ( (pointer_expression "&DAT_001910e0" & identifier) )) [ (binary_expression "uVar1 * 0xe" identifier * number_literal) ]) = number_literal) ;) (expression_statement "(&DAT_001910e8)[uVar1 * 0xe] = 0;" (assignment_expression "(&DAT_001910e8)[uVar1 * 0xe] = 0" (subscript_expression "(&DAT_001910e8)[uVar1 * 0xe]" (parenthesized_expression "(&DAT_001910e8)" ( (pointer_expression "&DAT_001910e8" & identifier) )) [ (binary_expression "uVar1 * 0xe" identifier * number_literal) ]) = number_literal) ;) (expression_statement "(&DAT_001910f0)[uVar1 * 0xe] = 0;" (assignment_expression "(&DAT_001910f0)[uVar1 * 0xe] = 0" (subscript_expression "(&DAT_001910f0)[uVar1 * 0xe]" (parenthesized_expression "(&DAT_001910f0)" ( (pointer_expression "&DAT_001910f0" & identifier) )) [ (binary_expression "uVar1 * 0xe" identifier * number_literal) ]) = number_literal) ;) })) (return_statement "return;" return ;) })))
(translation_unit "void FUN_0013b4b0(uint param_1)\n\n{\n  ulong uVar1;\n  \n  uVar1 = (ulong)param_1;\n  if ((void *)(&DAT_001910e0)[uVar1 * 0xe] != (void *)0x0) {\n    free((void *)(&DAT_001910e0)[uVar1 * 0xe]);\n    (&DAT_001910e0)[uVar1 * 0xe] = 0;\n    (&DAT_001910e8)[uVar1 * 0xe] = 0;\n    (&DAT_001910f0)[uVar1 * 0xe] = 0;\n  }\n  return;\n}\n\n" (function_definition "void FUN_0013b4b0(uint param_1)\n\n{\n  ulong uVar1;\n  \n  uVar1 = (ulong)param_1;\n  if ((void *)(&DAT_001910e0)[uVar1 * 0xe] != (void *)0x0) {\n    free((void *)(&DAT_001910e0)[uVar1 * 0xe]);\n    (&DAT_001910e0)[uVar1 * 0xe] = 0;\n    (&DAT_001910e8)[uVar1 * 0xe] = 0;\n    (&DAT_001910f0)[uVar1 * 0xe] = 0;\n  }\n  return;\n}" primitive_type (function_declarator "FUN_0013b4b0(uint param_1)" identifier (parameter_list "(uint param_1)" ( (parameter_declaration "uint param_1" type_identifier identifier) ))) (compound_statement "{\n  ulong uVar1;\n  \n  uVar1 = (ulong)param_1;\n  if ((void *)(&DAT_001910e0)[uVar1 * 0xe] != (void *)0x0) {\n    free((void *)(&DAT_001910e0)[uVar1 * 0xe]);\n    (&DAT_001910e0)[uVar1 * 0xe] = 0;\n    (&DAT_001910e8)[uVar1 * 0xe] = 0;\n    (&DAT_001910f0)[uVar1 * 0xe] = 0;\n  }\n  return;\n}" { (declaration "ulong uVar1;" type_identifier identifier ;) (expression_statement "uVar1 = (ulong)param_1;" (assignment_expression "uVar1 = (ulong)param_1" identifier = (cast_expression "(ulong)param_1" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if ((void *)(&DAT_001910e0)[uVar1 * 0xe] != (void *)0x0) {\n    free((void *)(&DAT_001910e0)[uVar1 * 0xe]);\n    (&DAT_001910e0)[uVar1 * 0xe] = 0;\n    (&DAT_001910e8)[uVar1 * 0xe] = 0;\n    (&DAT_001910f0)[uVar1 * 0xe] = 0;\n  }" if (parenthesized_expression "((void *)(&DAT_001910e0)[uVar1 * 0xe] != (void *)0x0)" ( (binary_expression "(void *)(&DAT_001910e0)[uVar1 * 0xe] != (void *)0x0" (cast_expression "(void *)(&DAT_001910e0)[uVar1 * 0xe]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "(&DAT_001910e0)[uVar1 * 0xe]" (parenthesized_expression "(&DAT_001910e0)" ( (pointer_expression "&DAT_001910e0" & identifier) )) [ (binary_expression "uVar1 * 0xe" identifier * number_literal) ])) != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    free((void *)(&DAT_001910e0)[uVar1 * 0xe]);\n    (&DAT_001910e0)[uVar1 * 0xe] = 0;\n    (&DAT_001910e8)[uVar1 * 0xe] = 0;\n    (&DAT_001910f0)[uVar1 * 0xe] = 0;\n  }" { (expression_statement "free((void *)(&DAT_001910e0)[uVar1 * 0xe]);" (call_expression "free((void *)(&DAT_001910e0)[uVar1 * 0xe])" identifier (argument_list "((void *)(&DAT_001910e0)[uVar1 * 0xe])" ( (cast_expression "(void *)(&DAT_001910e0)[uVar1 * 0xe]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "(&DAT_001910e0)[uVar1 * 0xe]" (parenthesized_expression "(&DAT_001910e0)" ( (pointer_expression "&DAT_001910e0" & identifier) )) [ (binary_expression "uVar1 * 0xe" identifier * number_literal) ])) ))) ;) (expression_statement "(&DAT_001910e0)[uVar1 * 0xe] = 0;" (assignment_expression "(&DAT_001910e0)[uVar1 * 0xe] = 0" (subscript_expression "(&DAT_001910e0)[uVar1 * 0xe]" (parenthesized_expression "(&DAT_001910e0)" ( (pointer_expression "&DAT_001910e0" & identifier) )) [ (binary_expression "uVar1 * 0xe" identifier * number_literal) ]) = number_literal) ;) (expression_statement "(&DAT_001910e8)[uVar1 * 0xe] = 0;" (assignment_expression "(&DAT_001910e8)[uVar1 * 0xe] = 0" (subscript_expression "(&DAT_001910e8)[uVar1 * 0xe]" (parenthesized_expression "(&DAT_001910e8)" ( (pointer_expression "&DAT_001910e8" & identifier) )) [ (binary_expression "uVar1 * 0xe" identifier * number_literal) ]) = number_literal) ;) (expression_statement "(&DAT_001910f0)[uVar1 * 0xe] = 0;" (assignment_expression "(&DAT_001910f0)[uVar1 * 0xe] = 0" (subscript_expression "(&DAT_001910f0)[uVar1 * 0xe]" (parenthesized_expression "(&DAT_001910f0)" ( (pointer_expression "&DAT_001910f0" & identifier) )) [ (binary_expression "uVar1 * 0xe" identifier * number_literal) ]) = number_literal) ;) })) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ])) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ])) ))) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ]) = LIT) ;) })) (return_statement return ;) })))
(function_definition "void FUN_0013b4b0(uint param_1)\n\n{\n  ulong uVar1;\n  \n  uVar1 = (ulong)param_1;\n  if ((void *)(&DAT_001910e0)[uVar1 * 0xe] != (void *)0x0) {\n    free((void *)(&DAT_001910e0)[uVar1 * 0xe]);\n    (&DAT_001910e0)[uVar1 * 0xe] = 0;\n    (&DAT_001910e8)[uVar1 * 0xe] = 0;\n    (&DAT_001910f0)[uVar1 * 0xe] = 0;\n  }\n  return;\n}" (primitive_type "void") (function_declarator "FUN_0013b4b0(uint param_1)" (identifier "FUN_0013b4b0") (parameter_list "(uint param_1)" (( "(") (parameter_declaration "uint param_1" (type_identifier "uint") (identifier "param_1")) () ")"))) (compound_statement "{\n  ulong uVar1;\n  \n  uVar1 = (ulong)param_1;\n  if ((void *)(&DAT_001910e0)[uVar1 * 0xe] != (void *)0x0) {\n    free((void *)(&DAT_001910e0)[uVar1 * 0xe]);\n    (&DAT_001910e0)[uVar1 * 0xe] = 0;\n    (&DAT_001910e8)[uVar1 * 0xe] = 0;\n    (&DAT_001910f0)[uVar1 * 0xe] = 0;\n  }\n  return;\n}" ({ "{") (declaration "ulong uVar1;" (type_identifier "ulong") (identifier "uVar1") (; ";")) (expression_statement "uVar1 = (ulong)param_1;" (assignment_expression "uVar1 = (ulong)param_1" (identifier "uVar1") (= "=") (cast_expression "(ulong)param_1" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "param_1"))) (; ";")) (if_statement "if ((void *)(&DAT_001910e0)[uVar1 * 0xe] != (void *)0x0) {\n    free((void *)(&DAT_001910e0)[uVar1 * 0xe]);\n    (&DAT_001910e0)[uVar1 * 0xe] = 0;\n    (&DAT_001910e8)[uVar1 * 0xe] = 0;\n    (&DAT_001910f0)[uVar1 * 0xe] = 0;\n  }" (if "if") (parenthesized_expression "((void *)(&DAT_001910e0)[uVar1 * 0xe] != (void *)0x0)" (( "(") (binary_expression "(void *)(&DAT_001910e0)[uVar1 * 0xe] != (void *)0x0" (cast_expression "(void *)(&DAT_001910e0)[uVar1 * 0xe]" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "(&DAT_001910e0)[uVar1 * 0xe]" (parenthesized_expression "(&DAT_001910e0)" (( "(") (pointer_expression "&DAT_001910e0" (& "&") (identifier "DAT_001910e0")) () ")")) ([ "[") (binary_expression "uVar1 * 0xe" (identifier "uVar1") (* "*") (number_literal "0xe")) (] "]"))) (!= "!=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    free((void *)(&DAT_001910e0)[uVar1 * 0xe]);\n    (&DAT_001910e0)[uVar1 * 0xe] = 0;\n    (&DAT_001910e8)[uVar1 * 0xe] = 0;\n    (&DAT_001910f0)[uVar1 * 0xe] = 0;\n  }" ({ "{") (expression_statement "free((void *)(&DAT_001910e0)[uVar1 * 0xe]);" (call_expression "free((void *)(&DAT_001910e0)[uVar1 * 0xe])" (identifier "free") (argument_list "((void *)(&DAT_001910e0)[uVar1 * 0xe])" (( "(") (cast_expression "(void *)(&DAT_001910e0)[uVar1 * 0xe]" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "(&DAT_001910e0)[uVar1 * 0xe]" (parenthesized_expression "(&DAT_001910e0)" (( "(") (pointer_expression "&DAT_001910e0" (& "&") (identifier "DAT_001910e0")) () ")")) ([ "[") (binary_expression "uVar1 * 0xe" (identifier "uVar1") (* "*") (number_literal "0xe")) (] "]"))) () ")"))) (; ";")) (expression_statement "(&DAT_001910e0)[uVar1 * 0xe] = 0;" (assignment_expression "(&DAT_001910e0)[uVar1 * 0xe] = 0" (subscript_expression "(&DAT_001910e0)[uVar1 * 0xe]" (parenthesized_expression "(&DAT_001910e0)" (( "(") (pointer_expression "&DAT_001910e0" (& "&") (identifier "DAT_001910e0")) () ")")) ([ "[") (binary_expression "uVar1 * 0xe" (identifier "uVar1") (* "*") (number_literal "0xe")) (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "(&DAT_001910e8)[uVar1 * 0xe] = 0;" (assignment_expression "(&DAT_001910e8)[uVar1 * 0xe] = 0" (subscript_expression "(&DAT_001910e8)[uVar1 * 0xe]" (parenthesized_expression "(&DAT_001910e8)" (( "(") (pointer_expression "&DAT_001910e8" (& "&") (identifier "DAT_001910e8")) () ")")) ([ "[") (binary_expression "uVar1 * 0xe" (identifier "uVar1") (* "*") (number_literal "0xe")) (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "(&DAT_001910f0)[uVar1 * 0xe] = 0;" (assignment_expression "(&DAT_001910f0)[uVar1 * 0xe] = 0" (subscript_expression "(&DAT_001910f0)[uVar1 * 0xe]" (parenthesized_expression "(&DAT_001910f0)" (( "(") (pointer_expression "&DAT_001910f0" (& "&") (identifier "DAT_001910f0")) () ")")) ([ "[") (binary_expression "uVar1 * 0xe" (identifier "uVar1") (* "*") (number_literal "0xe")) (] "]")) (= "=") (number_literal "0")) (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

void function_1(type_1 debug)

{
  type_2 var_1;
  
  var_1 = (type_2)debug;
  if ((void *)(&DAT_001910e0)[var_1 * 0xe] != (void *)0x0) {
    var_2((void *)(&DAT_001910e0)[var_1 * 0xe]);
    (&DAT_001910e0)[var_1 * 0xe] = 0;
    (&DAT_001910e8)[var_1 * 0xe] = 0;
    (&DAT_001910f0)[var_1 * 0xe] = 0;
  }
  return;
}


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

void MASKED(uint param_1)

{
  ulong uVar1;
  
  uVar1 = (ulong)param_1;
  if ((void *)(&DAT_001910e0)[uVar1 * 0xe] != (void *)0x0) {
    free((void *)(&DAT_001910e0)[uVar1 * 0xe]);
    (&DAT_001910e0)[uVar1 * 0xe] = 0;
    (&DAT_001910e8)[uVar1 * 0xe] = 0;
    (&DAT_001910f0)[uVar1 * 0xe] = 0;
  }
  return;
}

