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

void init_assoc(void)

{
  _Bool *p_Var1;
  _Bool *p_Var2;
  
  p_Var2 = (_Bool *)xcalloc((long)nsyms,1);
  used_assoc = p_Var2;
  if (0 < nsyms) {
    p_Var1 = p_Var2 + (ulong)(nsyms - 1) + 1;
    do {
      *p_Var2 = false;
      p_Var2 = p_Var2 + 1;
    } while (p_Var2 != p_Var1);
  }
  return;
}



void FUN_0013212f(void)

{
  undefined1 *puVar1;
  undefined1 *puVar2;
  
  puVar2 = (undefined1 *)FUN_00144a31((long)DAT_0016303c,1);
  DAT_001637d8 = puVar2;
  if (0 < DAT_0016303c) {
    puVar1 = puVar2 + (ulong)(DAT_0016303c - 1) + 1;
    do {
      *puVar2 = 0;
      puVar2 = puVar2 + 1;
    } while (puVar2 != puVar1);
  }
  return;
}


SUB RSP,0x8
MOVSXD RDI,dword ptr [0x0016303c]
MOV ESI,0x1
CALL 0x00144a31
MOV qword ptr [0x001637d8],RAX
MOV ECX,dword ptr [0x0016303c]
TEST ECX,ECX
JLE 0x0013216c
MOV RDX,RAX
LEA ECX,[RCX + -0x1]
LEA RAX,[RAX + RCX*0x1 + 0x1]
MOV byte ptr [RDX],0x0
ADD RDX,0x1
CMP RDX,RAX
JNZ 0x00132160
ADD RSP,0x8
RET
(translation_unit "void FUN_0013212f(void)\n\n{\n  undefined1 *puVar1;\n  undefined1 *puVar2;\n  \n  puVar2 = (undefined1 *)FUN_00144a31((long)DAT_0016303c,1);\n  DAT_001637d8 = puVar2;\n  if (0 < DAT_0016303c) {\n    puVar1 = puVar2 + (ulong)(DAT_0016303c - 1) + 1;\n    do {\n      *puVar2 = 0;\n      puVar2 = puVar2 + 1;\n    } while (puVar2 != puVar1);\n  }\n  return;\n}\n\n" (function_definition "void FUN_0013212f(void)\n\n{\n  undefined1 *puVar1;\n  undefined1 *puVar2;\n  \n  puVar2 = (undefined1 *)FUN_00144a31((long)DAT_0016303c,1);\n  DAT_001637d8 = puVar2;\n  if (0 < DAT_0016303c) {\n    puVar1 = puVar2 + (ulong)(DAT_0016303c - 1) + 1;\n    do {\n      *puVar2 = 0;\n      puVar2 = puVar2 + 1;\n    } while (puVar2 != puVar1);\n  }\n  return;\n}" primitive_type (function_declarator "FUN_0013212f(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  undefined1 *puVar1;\n  undefined1 *puVar2;\n  \n  puVar2 = (undefined1 *)FUN_00144a31((long)DAT_0016303c,1);\n  DAT_001637d8 = puVar2;\n  if (0 < DAT_0016303c) {\n    puVar1 = puVar2 + (ulong)(DAT_0016303c - 1) + 1;\n    do {\n      *puVar2 = 0;\n      puVar2 = puVar2 + 1;\n    } while (puVar2 != puVar1);\n  }\n  return;\n}" { (declaration "undefined1 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined1 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (expression_statement "puVar2 = (undefined1 *)FUN_00144a31((long)DAT_0016303c,1);" (assignment_expression "puVar2 = (undefined1 *)FUN_00144a31((long)DAT_0016303c,1)" identifier = (cast_expression "(undefined1 *)FUN_00144a31((long)DAT_0016303c,1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00144a31((long)DAT_0016303c,1)" identifier (argument_list "((long)DAT_0016303c,1)" ( (cast_expression "(long)DAT_0016303c" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) , number_literal ))))) ;) (expression_statement "DAT_001637d8 = puVar2;" (assignment_expression "DAT_001637d8 = puVar2" identifier = identifier) ;) (if_statement "if (0 < DAT_0016303c) {\n    puVar1 = puVar2 + (ulong)(DAT_0016303c - 1) + 1;\n    do {\n      *puVar2 = 0;\n      puVar2 = puVar2 + 1;\n    } while (puVar2 != puVar1);\n  }" if (parenthesized_expression "(0 < DAT_0016303c)" ( (binary_expression "0 < DAT_0016303c" number_literal < identifier) )) (compound_statement "{\n    puVar1 = puVar2 + (ulong)(DAT_0016303c - 1) + 1;\n    do {\n      *puVar2 = 0;\n      puVar2 = puVar2 + 1;\n    } while (puVar2 != puVar1);\n  }" { (expression_statement "puVar1 = puVar2 + (ulong)(DAT_0016303c - 1) + 1;" (assignment_expression "puVar1 = puVar2 + (ulong)(DAT_0016303c - 1) + 1" identifier = (binary_expression "puVar2 + (ulong)(DAT_0016303c - 1) + 1" (binary_expression "puVar2 + (ulong)(DAT_0016303c - 1)" identifier + (call_expression "(ulong)(DAT_0016303c - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(DAT_0016303c - 1)" ( (binary_expression "DAT_0016303c - 1" identifier - number_literal) )))) + number_literal)) ;) (do_statement "do {\n      *puVar2 = 0;\n      puVar2 = puVar2 + 1;\n    } while (puVar2 != puVar1);" do (compound_statement "{\n      *puVar2 = 0;\n      puVar2 = puVar2 + 1;\n    }" { (expression_statement "*puVar2 = 0;" (assignment_expression "*puVar2 = 0" (pointer_expression "*puVar2" * identifier) = number_literal) ;) (expression_statement "puVar2 = puVar2 + 1;" (assignment_expression "puVar2 = puVar2 + 1" identifier = (binary_expression "puVar2 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar2 != puVar1)" ( (binary_expression "puVar2 != puVar1" identifier != identifier) )) ;) })) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Unknown calling convention -- yet parameter storage is locked */\n\nvoid init_assoc(void)\n\n{\n  _Bool *p_Var1;\n  _Bool *p_Var2;\n  \n  p_Var2 = (_Bool *)xcalloc((long)nsyms,1);\n  used_assoc = p_Var2;\n  if (0 < nsyms) {\n    p_Var1 = p_Var2 + (ulong)(nsyms - 1) + 1;\n    do {\n      *p_Var2 = false;\n      p_Var2 = p_Var2 + 1;\n    } while (p_Var2 != p_Var1);\n  }\n  return;\n}\n\n" comment (function_definition "void init_assoc(void)\n\n{\n  _Bool *p_Var1;\n  _Bool *p_Var2;\n  \n  p_Var2 = (_Bool *)xcalloc((long)nsyms,1);\n  used_assoc = p_Var2;\n  if (0 < nsyms) {\n    p_Var1 = p_Var2 + (ulong)(nsyms - 1) + 1;\n    do {\n      *p_Var2 = false;\n      p_Var2 = p_Var2 + 1;\n    } while (p_Var2 != p_Var1);\n  }\n  return;\n}" primitive_type (function_declarator "init_assoc(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  _Bool *p_Var1;\n  _Bool *p_Var2;\n  \n  p_Var2 = (_Bool *)xcalloc((long)nsyms,1);\n  used_assoc = p_Var2;\n  if (0 < nsyms) {\n    p_Var1 = p_Var2 + (ulong)(nsyms - 1) + 1;\n    do {\n      *p_Var2 = false;\n      p_Var2 = p_Var2 + 1;\n    } while (p_Var2 != p_Var1);\n  }\n  return;\n}" { (declaration "_Bool *p_Var1;" type_identifier (pointer_declarator "*p_Var1" * identifier) ;) (declaration "_Bool *p_Var2;" type_identifier (pointer_declarator "*p_Var2" * identifier) ;) (expression_statement "p_Var2 = (_Bool *)xcalloc((long)nsyms,1);" (assignment_expression "p_Var2 = (_Bool *)xcalloc((long)nsyms,1)" identifier = (cast_expression "(_Bool *)xcalloc((long)nsyms,1)" ( (type_descriptor "_Bool *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xcalloc((long)nsyms,1)" identifier (argument_list "((long)nsyms,1)" ( (cast_expression "(long)nsyms" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) , number_literal ))))) ;) (expression_statement "used_assoc = p_Var2;" (assignment_expression "used_assoc = p_Var2" identifier = identifier) ;) (if_statement "if (0 < nsyms) {\n    p_Var1 = p_Var2 + (ulong)(nsyms - 1) + 1;\n    do {\n      *p_Var2 = false;\n      p_Var2 = p_Var2 + 1;\n    } while (p_Var2 != p_Var1);\n  }" if (parenthesized_expression "(0 < nsyms)" ( (binary_expression "0 < nsyms" number_literal < identifier) )) (compound_statement "{\n    p_Var1 = p_Var2 + (ulong)(nsyms - 1) + 1;\n    do {\n      *p_Var2 = false;\n      p_Var2 = p_Var2 + 1;\n    } while (p_Var2 != p_Var1);\n  }" { (expression_statement "p_Var1 = p_Var2 + (ulong)(nsyms - 1) + 1;" (assignment_expression "p_Var1 = p_Var2 + (ulong)(nsyms - 1) + 1" identifier = (binary_expression "p_Var2 + (ulong)(nsyms - 1) + 1" (binary_expression "p_Var2 + (ulong)(nsyms - 1)" identifier + (call_expression "(ulong)(nsyms - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(nsyms - 1)" ( (binary_expression "nsyms - 1" identifier - number_literal) )))) + number_literal)) ;) (do_statement "do {\n      *p_Var2 = false;\n      p_Var2 = p_Var2 + 1;\n    } while (p_Var2 != p_Var1);" do (compound_statement "{\n      *p_Var2 = false;\n      p_Var2 = p_Var2 + 1;\n    }" { (expression_statement "*p_Var2 = false;" (assignment_expression "*p_Var2 = false" (pointer_expression "*p_Var2" * identifier) = false) ;) (expression_statement "p_Var2 = p_Var2 + 1;" (assignment_expression "p_Var2 = p_Var2 + 1" identifier = (binary_expression "p_Var2 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(p_Var2 != p_Var1)" ( (binary_expression "p_Var2 != p_Var1" identifier != identifier) )) ;) })) (return_statement "return;" return ;) })))
(translation_unit "void FUN_0013212f(void)\n\n{\n  undefined1 *puVar1;\n  undefined1 *puVar2;\n  \n  puVar2 = (undefined1 *)FUN_00144a31((long)DAT_0016303c,1);\n  DAT_001637d8 = puVar2;\n  if (0 < DAT_0016303c) {\n    puVar1 = puVar2 + (ulong)(DAT_0016303c - 1) + 1;\n    do {\n      *puVar2 = 0;\n      puVar2 = puVar2 + 1;\n    } while (puVar2 != puVar1);\n  }\n  return;\n}\n\n" (function_definition "void FUN_0013212f(void)\n\n{\n  undefined1 *puVar1;\n  undefined1 *puVar2;\n  \n  puVar2 = (undefined1 *)FUN_00144a31((long)DAT_0016303c,1);\n  DAT_001637d8 = puVar2;\n  if (0 < DAT_0016303c) {\n    puVar1 = puVar2 + (ulong)(DAT_0016303c - 1) + 1;\n    do {\n      *puVar2 = 0;\n      puVar2 = puVar2 + 1;\n    } while (puVar2 != puVar1);\n  }\n  return;\n}" primitive_type (function_declarator "FUN_0013212f(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  undefined1 *puVar1;\n  undefined1 *puVar2;\n  \n  puVar2 = (undefined1 *)FUN_00144a31((long)DAT_0016303c,1);\n  DAT_001637d8 = puVar2;\n  if (0 < DAT_0016303c) {\n    puVar1 = puVar2 + (ulong)(DAT_0016303c - 1) + 1;\n    do {\n      *puVar2 = 0;\n      puVar2 = puVar2 + 1;\n    } while (puVar2 != puVar1);\n  }\n  return;\n}" { (declaration "undefined1 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined1 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (expression_statement "puVar2 = (undefined1 *)FUN_00144a31((long)DAT_0016303c,1);" (assignment_expression "puVar2 = (undefined1 *)FUN_00144a31((long)DAT_0016303c,1)" identifier = (cast_expression "(undefined1 *)FUN_00144a31((long)DAT_0016303c,1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00144a31((long)DAT_0016303c,1)" identifier (argument_list "((long)DAT_0016303c,1)" ( (cast_expression "(long)DAT_0016303c" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) , number_literal ))))) ;) (expression_statement "DAT_001637d8 = puVar2;" (assignment_expression "DAT_001637d8 = puVar2" identifier = identifier) ;) (if_statement "if (0 < DAT_0016303c) {\n    puVar1 = puVar2 + (ulong)(DAT_0016303c - 1) + 1;\n    do {\n      *puVar2 = 0;\n      puVar2 = puVar2 + 1;\n    } while (puVar2 != puVar1);\n  }" if (parenthesized_expression "(0 < DAT_0016303c)" ( (binary_expression "0 < DAT_0016303c" number_literal < identifier) )) (compound_statement "{\n    puVar1 = puVar2 + (ulong)(DAT_0016303c - 1) + 1;\n    do {\n      *puVar2 = 0;\n      puVar2 = puVar2 + 1;\n    } while (puVar2 != puVar1);\n  }" { (expression_statement "puVar1 = puVar2 + (ulong)(DAT_0016303c - 1) + 1;" (assignment_expression "puVar1 = puVar2 + (ulong)(DAT_0016303c - 1) + 1" identifier = (binary_expression "puVar2 + (ulong)(DAT_0016303c - 1) + 1" (binary_expression "puVar2 + (ulong)(DAT_0016303c - 1)" identifier + (call_expression "(ulong)(DAT_0016303c - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(DAT_0016303c - 1)" ( (binary_expression "DAT_0016303c - 1" identifier - number_literal) )))) + number_literal)) ;) (do_statement "do {\n      *puVar2 = 0;\n      puVar2 = puVar2 + 1;\n    } while (puVar2 != puVar1);" do (compound_statement "{\n      *puVar2 = 0;\n      puVar2 = puVar2 + 1;\n    }" { (expression_statement "*puVar2 = 0;" (assignment_expression "*puVar2 = 0" (pointer_expression "*puVar2" * identifier) = number_literal) ;) (expression_statement "puVar2 = puVar2 + 1;" (assignment_expression "puVar2 = puVar2 + 1" identifier = (binary_expression "puVar2 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar2 != puVar1)" ( (binary_expression "puVar2 != puVar1" identifier != identifier) )) ;) })) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) , LIT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) )))) + LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (return_statement return ;) })))
(function_definition "void FUN_0013212f(void)\n\n{\n  undefined1 *puVar1;\n  undefined1 *puVar2;\n  \n  puVar2 = (undefined1 *)FUN_00144a31((long)DAT_0016303c,1);\n  DAT_001637d8 = puVar2;\n  if (0 < DAT_0016303c) {\n    puVar1 = puVar2 + (ulong)(DAT_0016303c - 1) + 1;\n    do {\n      *puVar2 = 0;\n      puVar2 = puVar2 + 1;\n    } while (puVar2 != puVar1);\n  }\n  return;\n}" (primitive_type "void") (function_declarator "FUN_0013212f(void)" (identifier "FUN_0013212f") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  undefined1 *puVar1;\n  undefined1 *puVar2;\n  \n  puVar2 = (undefined1 *)FUN_00144a31((long)DAT_0016303c,1);\n  DAT_001637d8 = puVar2;\n  if (0 < DAT_0016303c) {\n    puVar1 = puVar2 + (ulong)(DAT_0016303c - 1) + 1;\n    do {\n      *puVar2 = 0;\n      puVar2 = puVar2 + 1;\n    } while (puVar2 != puVar1);\n  }\n  return;\n}" ({ "{") (declaration "undefined1 *puVar1;" (type_identifier "undefined1") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "undefined1 *puVar2;" (type_identifier "undefined1") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (expression_statement "puVar2 = (undefined1 *)FUN_00144a31((long)DAT_0016303c,1);" (assignment_expression "puVar2 = (undefined1 *)FUN_00144a31((long)DAT_0016303c,1)" (identifier "puVar2") (= "=") (cast_expression "(undefined1 *)FUN_00144a31((long)DAT_0016303c,1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00144a31((long)DAT_0016303c,1)" (identifier "FUN_00144a31") (argument_list "((long)DAT_0016303c,1)" (( "(") (cast_expression "(long)DAT_0016303c" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "DAT_0016303c")) (, ",") (number_literal "1") () ")"))))) (; ";")) (expression_statement "DAT_001637d8 = puVar2;" (assignment_expression "DAT_001637d8 = puVar2" (identifier "DAT_001637d8") (= "=") (identifier "puVar2")) (; ";")) (if_statement "if (0 < DAT_0016303c) {\n    puVar1 = puVar2 + (ulong)(DAT_0016303c - 1) + 1;\n    do {\n      *puVar2 = 0;\n      puVar2 = puVar2 + 1;\n    } while (puVar2 != puVar1);\n  }" (if "if") (parenthesized_expression "(0 < DAT_0016303c)" (( "(") (binary_expression "0 < DAT_0016303c" (number_literal "0") (< "<") (identifier "DAT_0016303c")) () ")")) (compound_statement "{\n    puVar1 = puVar2 + (ulong)(DAT_0016303c - 1) + 1;\n    do {\n      *puVar2 = 0;\n      puVar2 = puVar2 + 1;\n    } while (puVar2 != puVar1);\n  }" ({ "{") (expression_statement "puVar1 = puVar2 + (ulong)(DAT_0016303c - 1) + 1;" (assignment_expression "puVar1 = puVar2 + (ulong)(DAT_0016303c - 1) + 1" (identifier "puVar1") (= "=") (binary_expression "puVar2 + (ulong)(DAT_0016303c - 1) + 1" (binary_expression "puVar2 + (ulong)(DAT_0016303c - 1)" (identifier "puVar2") (+ "+") (call_expression "(ulong)(DAT_0016303c - 1)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(DAT_0016303c - 1)" (( "(") (binary_expression "DAT_0016303c - 1" (identifier "DAT_0016303c") (- "-") (number_literal "1")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (do_statement "do {\n      *puVar2 = 0;\n      puVar2 = puVar2 + 1;\n    } while (puVar2 != puVar1);" (do "do") (compound_statement "{\n      *puVar2 = 0;\n      puVar2 = puVar2 + 1;\n    }" ({ "{") (expression_statement "*puVar2 = 0;" (assignment_expression "*puVar2 = 0" (pointer_expression "*puVar2" (* "*") (identifier "puVar2")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar2 = puVar2 + 1;" (assignment_expression "puVar2 = puVar2 + 1" (identifier "puVar2") (= "=") (binary_expression "puVar2 + 1" (identifier "puVar2") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar2 != puVar1)" (( "(") (binary_expression "puVar2 != puVar1" (identifier "puVar2") (!= "!=") (identifier "puVar1")) () ")")) (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

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

void function_1(void)

{
  type_1 *var_4;
  type_1 *var_3;
  
  var_3 = (type_1 *)var_1((long)var_2,1);
  used_assoc = var_3;
  if (0 < var_2) {
    var_4 = var_3 + (ulong)(var_2 - 1) + 1;
    do {
      *var_3 = false;
      var_3 = var_3 + 1;
    } while (var_3 != var_4);
  }
  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))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (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 (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (return_statement))))

void MASKED(void)

{
  undefined1 *puVar1;
  undefined1 *puVar2;
  
  puVar2 = (undefined1 *)FUN_00144a31((long)DAT_0016303c,1);
  DAT_001637d8 = puVar2;
  if (0 < DAT_0016303c) {
    puVar1 = puVar2 + (ulong)(DAT_0016303c - 1) + 1;
    do {
      *puVar2 = 0;
      puVar2 = puVar2 + 1;
    } while (puVar2 != puVar1);
  }
  return;
}

