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

void symbol_begin(void)

{
  long lVar1;
  symbolS *psVar2;
  byte bVar3;
  
  bVar3 = 0;
  symbol_lastP = (symbolS *)0x0;
  symbol_rootP = (symbolS *)0x0;
  sy_hash = hash_new();
  local_hash = hash_new();
  psVar2 = &abs_symbol;
  for (lVar1 = 0xf; lVar1 != 0; lVar1 = lVar1 + -1) {
    *(undefined8 *)psVar2 = 0;
    psVar2 = (symbolS *)((long)psVar2 + ((ulong)bVar3 * -2 + 1) * 8);
  }
  abs_symbol.sy_value._24_1_ = 2;
  abs_symbol.sy_frag = &zero_address_frag;
  fb_low_counter[0] = 0;
  fb_low_counter[1] = 0;
  fb_low_counter[2] = 0;
  fb_low_counter[3] = 0;
  fb_low_counter[4] = 0;
  fb_low_counter[5] = 0;
  fb_low_counter[6] = 0;
  fb_low_counter[7] = 0;
  fb_low_counter[8] = 0;
  fb_low_counter[9] = 0;
  return;
}



/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

void FUN_001323c0(void)

{
  long lVar1;
  undefined8 *puVar2;
  byte bVar3;
  
  bVar3 = 0;
  DAT_0016e580 = 0;
  DAT_0016e578 = 0;
  DAT_0016dcb0 = FUN_0011d5a0();
  DAT_0016dca8 = FUN_0011d5a0();
  puVar2 = &DAT_0016e5a0;
  for (lVar1 = 0xf; lVar1 != 0; lVar1 = lVar1 + -1) {
    *puVar2 = 0;
    puVar2 = puVar2 + (ulong)bVar3 * -2 + 1;
  }
  DAT_0016e5c8 = 2;
  _DAT_0016e5e0 = &DAT_0016e160;
  _DAT_0016dc20 = (undefined1  [16])0x0;
  _DAT_0016dc30 = (undefined1  [16])0x0;
  _DAT_0016dc40 = (undefined1  [16])0x0;
  _DAT_0016dc50 = (undefined1  [16])0x0;
  _DAT_0016dc60 = (undefined1  [16])0x0;
  return;
}


SUB RSP,0x8
MOV qword ptr [0x0016e580],0x0
MOV qword ptr [0x0016e578],0x0
CALL 0x0011d5a0
MOV qword ptr [0x0016dcb0],RAX
CALL 0x0011d5a0
LEA RDX,[0x16e5a0]
MOV ECX,0xf
PXOR XMM0,XMM0
MOV qword ptr [0x0016dca8],RAX
MOV RDI,RDX
XOR EAX,EAX
STOSQ.REP RDI
LEA RAX,[0x16e160]
MOV byte ptr [0x0016e5c8],0x2
MOV qword ptr [0x0016e5e0],RAX
MOVAPS xmmword ptr [0x0016dc20],XMM0
MOVAPS xmmword ptr [0x0016dc30],XMM0
MOVAPS xmmword ptr [0x0016dc40],XMM0
MOVAPS xmmword ptr [0x0016dc50],XMM0
MOVAPS xmmword ptr [0x0016dc60],XMM0
ADD RSP,0x8
RET
(translation_unit "/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */\n\nvoid FUN_001323c0(void)\n\n{\n  long lVar1;\n  undefined8 *puVar2;\n  byte bVar3;\n  \n  bVar3 = 0;\n  DAT_0016e580 = 0;\n  DAT_0016e578 = 0;\n  DAT_0016dcb0 = FUN_0011d5a0();\n  DAT_0016dca8 = FUN_0011d5a0();\n  puVar2 = &DAT_0016e5a0;\n  for (lVar1 = 0xf; lVar1 != 0; lVar1 = lVar1 + -1) {\n    *puVar2 = 0;\n    puVar2 = puVar2 + (ulong)bVar3 * -2 + 1;\n  }\n  DAT_0016e5c8 = 2;\n  _DAT_0016e5e0 = &DAT_0016e160;\n  _DAT_0016dc20 = (undefined1  [16])0x0;\n  _DAT_0016dc30 = (undefined1  [16])0x0;\n  _DAT_0016dc40 = (undefined1  [16])0x0;\n  _DAT_0016dc50 = (undefined1  [16])0x0;\n  _DAT_0016dc60 = (undefined1  [16])0x0;\n  return;\n}\n\n" comment (function_definition "void FUN_001323c0(void)\n\n{\n  long lVar1;\n  undefined8 *puVar2;\n  byte bVar3;\n  \n  bVar3 = 0;\n  DAT_0016e580 = 0;\n  DAT_0016e578 = 0;\n  DAT_0016dcb0 = FUN_0011d5a0();\n  DAT_0016dca8 = FUN_0011d5a0();\n  puVar2 = &DAT_0016e5a0;\n  for (lVar1 = 0xf; lVar1 != 0; lVar1 = lVar1 + -1) {\n    *puVar2 = 0;\n    puVar2 = puVar2 + (ulong)bVar3 * -2 + 1;\n  }\n  DAT_0016e5c8 = 2;\n  _DAT_0016e5e0 = &DAT_0016e160;\n  _DAT_0016dc20 = (undefined1  [16])0x0;\n  _DAT_0016dc30 = (undefined1  [16])0x0;\n  _DAT_0016dc40 = (undefined1  [16])0x0;\n  _DAT_0016dc50 = (undefined1  [16])0x0;\n  _DAT_0016dc60 = (undefined1  [16])0x0;\n  return;\n}" primitive_type (function_declarator "FUN_001323c0(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  long lVar1;\n  undefined8 *puVar2;\n  byte bVar3;\n  \n  bVar3 = 0;\n  DAT_0016e580 = 0;\n  DAT_0016e578 = 0;\n  DAT_0016dcb0 = FUN_0011d5a0();\n  DAT_0016dca8 = FUN_0011d5a0();\n  puVar2 = &DAT_0016e5a0;\n  for (lVar1 = 0xf; lVar1 != 0; lVar1 = lVar1 + -1) {\n    *puVar2 = 0;\n    puVar2 = puVar2 + (ulong)bVar3 * -2 + 1;\n  }\n  DAT_0016e5c8 = 2;\n  _DAT_0016e5e0 = &DAT_0016e160;\n  _DAT_0016dc20 = (undefined1  [16])0x0;\n  _DAT_0016dc30 = (undefined1  [16])0x0;\n  _DAT_0016dc40 = (undefined1  [16])0x0;\n  _DAT_0016dc50 = (undefined1  [16])0x0;\n  _DAT_0016dc60 = (undefined1  [16])0x0;\n  return;\n}" { (declaration "long lVar1;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "byte bVar3;" type_identifier identifier ;) (expression_statement "bVar3 = 0;" (assignment_expression "bVar3 = 0" identifier = number_literal) ;) (expression_statement "DAT_0016e580 = 0;" (assignment_expression "DAT_0016e580 = 0" identifier = number_literal) ;) (expression_statement "DAT_0016e578 = 0;" (assignment_expression "DAT_0016e578 = 0" identifier = number_literal) ;) (expression_statement "DAT_0016dcb0 = FUN_0011d5a0();" (assignment_expression "DAT_0016dcb0 = FUN_0011d5a0()" identifier = (call_expression "FUN_0011d5a0()" identifier (argument_list "()" ( )))) ;) (expression_statement "DAT_0016dca8 = FUN_0011d5a0();" (assignment_expression "DAT_0016dca8 = FUN_0011d5a0()" identifier = (call_expression "FUN_0011d5a0()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar2 = &DAT_0016e5a0;" (assignment_expression "puVar2 = &DAT_0016e5a0" identifier = (pointer_expression "&DAT_0016e5a0" & identifier)) ;) (for_statement "for (lVar1 = 0xf; lVar1 != 0; lVar1 = lVar1 + -1) {\n    *puVar2 = 0;\n    puVar2 = puVar2 + (ulong)bVar3 * -2 + 1;\n  }" for ( (assignment_expression "lVar1 = 0xf" identifier = number_literal) ; (binary_expression "lVar1 != 0" identifier != number_literal) ; (assignment_expression "lVar1 = lVar1 + -1" identifier = (binary_expression "lVar1 + -1" identifier + number_literal)) ) (compound_statement "{\n    *puVar2 = 0;\n    puVar2 = puVar2 + (ulong)bVar3 * -2 + 1;\n  }" { (expression_statement "*puVar2 = 0;" (assignment_expression "*puVar2 = 0" (pointer_expression "*puVar2" * identifier) = number_literal) ;) (expression_statement "puVar2 = puVar2 + (ulong)bVar3 * -2 + 1;" (assignment_expression "puVar2 = puVar2 + (ulong)bVar3 * -2 + 1" identifier = (binary_expression "puVar2 + (ulong)bVar3 * -2 + 1" (binary_expression "puVar2 + (ulong)bVar3 * -2" identifier + (binary_expression "(ulong)bVar3 * -2" (cast_expression "(ulong)bVar3" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (expression_statement "DAT_0016e5c8 = 2;" (assignment_expression "DAT_0016e5c8 = 2" identifier = number_literal) ;) (expression_statement "_DAT_0016e5e0 = &DAT_0016e160;" (assignment_expression "_DAT_0016e5e0 = &DAT_0016e160" identifier = (pointer_expression "&DAT_0016e160" & identifier)) ;) (expression_statement "_DAT_0016dc20 = (undefined1  [16])0x0;" (assignment_expression "_DAT_0016dc20 = (undefined1  [16])0x0" identifier = (cast_expression "(undefined1  [16])0x0" ( (type_descriptor "undefined1  [16]" type_identifier (abstract_array_declarator "[16]" [ number_literal ])) ) number_literal)) ;) (expression_statement "_DAT_0016dc30 = (undefined1  [16])0x0;" (assignment_expression "_DAT_0016dc30 = (undefined1  [16])0x0" identifier = (cast_expression "(undefined1  [16])0x0" ( (type_descriptor "undefined1  [16]" type_identifier (abstract_array_declarator "[16]" [ number_literal ])) ) number_literal)) ;) (expression_statement "_DAT_0016dc40 = (undefined1  [16])0x0;" (assignment_expression "_DAT_0016dc40 = (undefined1  [16])0x0" identifier = (cast_expression "(undefined1  [16])0x0" ( (type_descriptor "undefined1  [16]" type_identifier (abstract_array_declarator "[16]" [ number_literal ])) ) number_literal)) ;) (expression_statement "_DAT_0016dc50 = (undefined1  [16])0x0;" (assignment_expression "_DAT_0016dc50 = (undefined1  [16])0x0" identifier = (cast_expression "(undefined1  [16])0x0" ( (type_descriptor "undefined1  [16]" type_identifier (abstract_array_declarator "[16]" [ number_literal ])) ) number_literal)) ;) (expression_statement "_DAT_0016dc60 = (undefined1  [16])0x0;" (assignment_expression "_DAT_0016dc60 = (undefined1  [16])0x0" identifier = (cast_expression "(undefined1  [16])0x0" ( (type_descriptor "undefined1  [16]" type_identifier (abstract_array_declarator "[16]" [ number_literal ])) ) number_literal)) ;) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Unknown calling convention -- yet parameter storage is locked */\n\nvoid symbol_begin(void)\n\n{\n  long lVar1;\n  symbolS *psVar2;\n  byte bVar3;\n  \n  bVar3 = 0;\n  symbol_lastP = (symbolS *)0x0;\n  symbol_rootP = (symbolS *)0x0;\n  sy_hash = hash_new();\n  local_hash = hash_new();\n  psVar2 = &abs_symbol;\n  for (lVar1 = 0xf; lVar1 != 0; lVar1 = lVar1 + -1) {\n    *(undefined8 *)psVar2 = 0;\n    psVar2 = (symbolS *)((long)psVar2 + ((ulong)bVar3 * -2 + 1) * 8);\n  }\n  abs_symbol.sy_value._24_1_ = 2;\n  abs_symbol.sy_frag = &zero_address_frag;\n  fb_low_counter[0] = 0;\n  fb_low_counter[1] = 0;\n  fb_low_counter[2] = 0;\n  fb_low_counter[3] = 0;\n  fb_low_counter[4] = 0;\n  fb_low_counter[5] = 0;\n  fb_low_counter[6] = 0;\n  fb_low_counter[7] = 0;\n  fb_low_counter[8] = 0;\n  fb_low_counter[9] = 0;\n  return;\n}\n\n" comment (function_definition "void symbol_begin(void)\n\n{\n  long lVar1;\n  symbolS *psVar2;\n  byte bVar3;\n  \n  bVar3 = 0;\n  symbol_lastP = (symbolS *)0x0;\n  symbol_rootP = (symbolS *)0x0;\n  sy_hash = hash_new();\n  local_hash = hash_new();\n  psVar2 = &abs_symbol;\n  for (lVar1 = 0xf; lVar1 != 0; lVar1 = lVar1 + -1) {\n    *(undefined8 *)psVar2 = 0;\n    psVar2 = (symbolS *)((long)psVar2 + ((ulong)bVar3 * -2 + 1) * 8);\n  }\n  abs_symbol.sy_value._24_1_ = 2;\n  abs_symbol.sy_frag = &zero_address_frag;\n  fb_low_counter[0] = 0;\n  fb_low_counter[1] = 0;\n  fb_low_counter[2] = 0;\n  fb_low_counter[3] = 0;\n  fb_low_counter[4] = 0;\n  fb_low_counter[5] = 0;\n  fb_low_counter[6] = 0;\n  fb_low_counter[7] = 0;\n  fb_low_counter[8] = 0;\n  fb_low_counter[9] = 0;\n  return;\n}" primitive_type (function_declarator "symbol_begin(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  long lVar1;\n  symbolS *psVar2;\n  byte bVar3;\n  \n  bVar3 = 0;\n  symbol_lastP = (symbolS *)0x0;\n  symbol_rootP = (symbolS *)0x0;\n  sy_hash = hash_new();\n  local_hash = hash_new();\n  psVar2 = &abs_symbol;\n  for (lVar1 = 0xf; lVar1 != 0; lVar1 = lVar1 + -1) {\n    *(undefined8 *)psVar2 = 0;\n    psVar2 = (symbolS *)((long)psVar2 + ((ulong)bVar3 * -2 + 1) * 8);\n  }\n  abs_symbol.sy_value._24_1_ = 2;\n  abs_symbol.sy_frag = &zero_address_frag;\n  fb_low_counter[0] = 0;\n  fb_low_counter[1] = 0;\n  fb_low_counter[2] = 0;\n  fb_low_counter[3] = 0;\n  fb_low_counter[4] = 0;\n  fb_low_counter[5] = 0;\n  fb_low_counter[6] = 0;\n  fb_low_counter[7] = 0;\n  fb_low_counter[8] = 0;\n  fb_low_counter[9] = 0;\n  return;\n}" { (declaration "long lVar1;" (sized_type_specifier "long" long) identifier ;) (declaration "symbolS *psVar2;" type_identifier (pointer_declarator "*psVar2" * identifier) ;) (declaration "byte bVar3;" type_identifier identifier ;) (expression_statement "bVar3 = 0;" (assignment_expression "bVar3 = 0" identifier = number_literal) ;) (expression_statement "symbol_lastP = (symbolS *)0x0;" (assignment_expression "symbol_lastP = (symbolS *)0x0" identifier = (cast_expression "(symbolS *)0x0" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "symbol_rootP = (symbolS *)0x0;" (assignment_expression "symbol_rootP = (symbolS *)0x0" identifier = (cast_expression "(symbolS *)0x0" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sy_hash = hash_new();" (assignment_expression "sy_hash = hash_new()" identifier = (call_expression "hash_new()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_hash = hash_new();" (assignment_expression "local_hash = hash_new()" identifier = (call_expression "hash_new()" identifier (argument_list "()" ( )))) ;) (expression_statement "psVar2 = &abs_symbol;" (assignment_expression "psVar2 = &abs_symbol" identifier = (pointer_expression "&abs_symbol" & identifier)) ;) (for_statement "for (lVar1 = 0xf; lVar1 != 0; lVar1 = lVar1 + -1) {\n    *(undefined8 *)psVar2 = 0;\n    psVar2 = (symbolS *)((long)psVar2 + ((ulong)bVar3 * -2 + 1) * 8);\n  }" for ( (assignment_expression "lVar1 = 0xf" identifier = number_literal) ; (binary_expression "lVar1 != 0" identifier != number_literal) ; (assignment_expression "lVar1 = lVar1 + -1" identifier = (binary_expression "lVar1 + -1" identifier + number_literal)) ) (compound_statement "{\n    *(undefined8 *)psVar2 = 0;\n    psVar2 = (symbolS *)((long)psVar2 + ((ulong)bVar3 * -2 + 1) * 8);\n  }" { (expression_statement "*(undefined8 *)psVar2 = 0;" (assignment_expression "*(undefined8 *)psVar2 = 0" (pointer_expression "*(undefined8 *)psVar2" * (cast_expression "(undefined8 *)psVar2" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "psVar2 = (symbolS *)((long)psVar2 + ((ulong)bVar3 * -2 + 1) * 8);" (assignment_expression "psVar2 = (symbolS *)((long)psVar2 + ((ulong)bVar3 * -2 + 1) * 8)" identifier = (cast_expression "(symbolS *)((long)psVar2 + ((ulong)bVar3 * -2 + 1) * 8)" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)psVar2 + ((ulong)bVar3 * -2 + 1) * 8)" ( (binary_expression "(long)psVar2 + ((ulong)bVar3 * -2 + 1) * 8" (cast_expression "(long)psVar2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "((ulong)bVar3 * -2 + 1) * 8" (parenthesized_expression "((ulong)bVar3 * -2 + 1)" ( (binary_expression "(ulong)bVar3 * -2 + 1" (binary_expression "(ulong)bVar3 * -2" (cast_expression "(ulong)bVar3" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal) + number_literal) )) * number_literal)) )))) ;) })) (expression_statement "abs_symbol.sy_value._24_1_ = 2;" (assignment_expression "abs_symbol.sy_value._24_1_ = 2" (field_expression "abs_symbol.sy_value._24_1_" (field_expression "abs_symbol.sy_value" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "abs_symbol.sy_frag = &zero_address_frag;" (assignment_expression "abs_symbol.sy_frag = &zero_address_frag" (field_expression "abs_symbol.sy_frag" identifier . field_identifier) = (pointer_expression "&zero_address_frag" & identifier)) ;) (expression_statement "fb_low_counter[0] = 0;" (assignment_expression "fb_low_counter[0] = 0" (subscript_expression "fb_low_counter[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "fb_low_counter[1] = 0;" (assignment_expression "fb_low_counter[1] = 0" (subscript_expression "fb_low_counter[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "fb_low_counter[2] = 0;" (assignment_expression "fb_low_counter[2] = 0" (subscript_expression "fb_low_counter[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "fb_low_counter[3] = 0;" (assignment_expression "fb_low_counter[3] = 0" (subscript_expression "fb_low_counter[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "fb_low_counter[4] = 0;" (assignment_expression "fb_low_counter[4] = 0" (subscript_expression "fb_low_counter[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "fb_low_counter[5] = 0;" (assignment_expression "fb_low_counter[5] = 0" (subscript_expression "fb_low_counter[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "fb_low_counter[6] = 0;" (assignment_expression "fb_low_counter[6] = 0" (subscript_expression "fb_low_counter[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "fb_low_counter[7] = 0;" (assignment_expression "fb_low_counter[7] = 0" (subscript_expression "fb_low_counter[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "fb_low_counter[8] = 0;" (assignment_expression "fb_low_counter[8] = 0" (subscript_expression "fb_low_counter[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "fb_low_counter[9] = 0;" (assignment_expression "fb_low_counter[9] = 0" (subscript_expression "fb_low_counter[9]" identifier [ number_literal ]) = number_literal) ;) (return_statement "return;" return ;) })))
(translation_unit "void FUN_001323c0(void)\n\n{\n  long lVar1;\n  undefined8 *puVar2;\n  byte bVar3;\n  \n  bVar3 = 0;\n  DAT_0016e580 = 0;\n  DAT_0016e578 = 0;\n  DAT_0016dcb0 = FUN_0011d5a0();\n  DAT_0016dca8 = FUN_0011d5a0();\n  puVar2 = &DAT_0016e5a0;\n  for (lVar1 = 0xf; lVar1 != 0; lVar1 = lVar1 + -1) {\n    *puVar2 = 0;\n    puVar2 = puVar2 + (ulong)bVar3 * -2 + 1;\n  }\n  DAT_0016e5c8 = 2;\n  _DAT_0016e5e0 = &DAT_0016e160;\n  _DAT_0016dc20 = (undefined1  [16])0x0;\n  _DAT_0016dc30 = (undefined1  [16])0x0;\n  _DAT_0016dc40 = (undefined1  [16])0x0;\n  _DAT_0016dc50 = (undefined1  [16])0x0;\n  _DAT_0016dc60 = (undefined1  [16])0x0;\n  return;\n}\n\n" (function_definition "void FUN_001323c0(void)\n\n{\n  long lVar1;\n  undefined8 *puVar2;\n  byte bVar3;\n  \n  bVar3 = 0;\n  DAT_0016e580 = 0;\n  DAT_0016e578 = 0;\n  DAT_0016dcb0 = FUN_0011d5a0();\n  DAT_0016dca8 = FUN_0011d5a0();\n  puVar2 = &DAT_0016e5a0;\n  for (lVar1 = 0xf; lVar1 != 0; lVar1 = lVar1 + -1) {\n    *puVar2 = 0;\n    puVar2 = puVar2 + (ulong)bVar3 * -2 + 1;\n  }\n  DAT_0016e5c8 = 2;\n  _DAT_0016e5e0 = &DAT_0016e160;\n  _DAT_0016dc20 = (undefined1  [16])0x0;\n  _DAT_0016dc30 = (undefined1  [16])0x0;\n  _DAT_0016dc40 = (undefined1  [16])0x0;\n  _DAT_0016dc50 = (undefined1  [16])0x0;\n  _DAT_0016dc60 = (undefined1  [16])0x0;\n  return;\n}" primitive_type (function_declarator "FUN_001323c0(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  long lVar1;\n  undefined8 *puVar2;\n  byte bVar3;\n  \n  bVar3 = 0;\n  DAT_0016e580 = 0;\n  DAT_0016e578 = 0;\n  DAT_0016dcb0 = FUN_0011d5a0();\n  DAT_0016dca8 = FUN_0011d5a0();\n  puVar2 = &DAT_0016e5a0;\n  for (lVar1 = 0xf; lVar1 != 0; lVar1 = lVar1 + -1) {\n    *puVar2 = 0;\n    puVar2 = puVar2 + (ulong)bVar3 * -2 + 1;\n  }\n  DAT_0016e5c8 = 2;\n  _DAT_0016e5e0 = &DAT_0016e160;\n  _DAT_0016dc20 = (undefined1  [16])0x0;\n  _DAT_0016dc30 = (undefined1  [16])0x0;\n  _DAT_0016dc40 = (undefined1  [16])0x0;\n  _DAT_0016dc50 = (undefined1  [16])0x0;\n  _DAT_0016dc60 = (undefined1  [16])0x0;\n  return;\n}" { (declaration "long lVar1;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "byte bVar3;" type_identifier identifier ;) (expression_statement "bVar3 = 0;" (assignment_expression "bVar3 = 0" identifier = number_literal) ;) (expression_statement "DAT_0016e580 = 0;" (assignment_expression "DAT_0016e580 = 0" identifier = number_literal) ;) (expression_statement "DAT_0016e578 = 0;" (assignment_expression "DAT_0016e578 = 0" identifier = number_literal) ;) (expression_statement "DAT_0016dcb0 = FUN_0011d5a0();" (assignment_expression "DAT_0016dcb0 = FUN_0011d5a0()" identifier = (call_expression "FUN_0011d5a0()" identifier (argument_list "()" ( )))) ;) (expression_statement "DAT_0016dca8 = FUN_0011d5a0();" (assignment_expression "DAT_0016dca8 = FUN_0011d5a0()" identifier = (call_expression "FUN_0011d5a0()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar2 = &DAT_0016e5a0;" (assignment_expression "puVar2 = &DAT_0016e5a0" identifier = (pointer_expression "&DAT_0016e5a0" & identifier)) ;) (for_statement "for (lVar1 = 0xf; lVar1 != 0; lVar1 = lVar1 + -1) {\n    *puVar2 = 0;\n    puVar2 = puVar2 + (ulong)bVar3 * -2 + 1;\n  }" for ( (assignment_expression "lVar1 = 0xf" identifier = number_literal) ; (binary_expression "lVar1 != 0" identifier != number_literal) ; (assignment_expression "lVar1 = lVar1 + -1" identifier = (binary_expression "lVar1 + -1" identifier + number_literal)) ) (compound_statement "{\n    *puVar2 = 0;\n    puVar2 = puVar2 + (ulong)bVar3 * -2 + 1;\n  }" { (expression_statement "*puVar2 = 0;" (assignment_expression "*puVar2 = 0" (pointer_expression "*puVar2" * identifier) = number_literal) ;) (expression_statement "puVar2 = puVar2 + (ulong)bVar3 * -2 + 1;" (assignment_expression "puVar2 = puVar2 + (ulong)bVar3 * -2 + 1" identifier = (binary_expression "puVar2 + (ulong)bVar3 * -2 + 1" (binary_expression "puVar2 + (ulong)bVar3 * -2" identifier + (binary_expression "(ulong)bVar3 * -2" (cast_expression "(ulong)bVar3" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (expression_statement "DAT_0016e5c8 = 2;" (assignment_expression "DAT_0016e5c8 = 2" identifier = number_literal) ;) (expression_statement "_DAT_0016e5e0 = &DAT_0016e160;" (assignment_expression "_DAT_0016e5e0 = &DAT_0016e160" identifier = (pointer_expression "&DAT_0016e160" & identifier)) ;) (expression_statement "_DAT_0016dc20 = (undefined1  [16])0x0;" (assignment_expression "_DAT_0016dc20 = (undefined1  [16])0x0" identifier = (cast_expression "(undefined1  [16])0x0" ( (type_descriptor "undefined1  [16]" type_identifier (abstract_array_declarator "[16]" [ number_literal ])) ) number_literal)) ;) (expression_statement "_DAT_0016dc30 = (undefined1  [16])0x0;" (assignment_expression "_DAT_0016dc30 = (undefined1  [16])0x0" identifier = (cast_expression "(undefined1  [16])0x0" ( (type_descriptor "undefined1  [16]" type_identifier (abstract_array_declarator "[16]" [ number_literal ])) ) number_literal)) ;) (expression_statement "_DAT_0016dc40 = (undefined1  [16])0x0;" (assignment_expression "_DAT_0016dc40 = (undefined1  [16])0x0" identifier = (cast_expression "(undefined1  [16])0x0" ( (type_descriptor "undefined1  [16]" type_identifier (abstract_array_declarator "[16]" [ number_literal ])) ) number_literal)) ;) (expression_statement "_DAT_0016dc50 = (undefined1  [16])0x0;" (assignment_expression "_DAT_0016dc50 = (undefined1  [16])0x0" identifier = (cast_expression "(undefined1  [16])0x0" ( (type_descriptor "undefined1  [16]" type_identifier (abstract_array_declarator "[16]" [ number_literal ])) ) number_literal)) ;) (expression_statement "_DAT_0016dc60 = (undefined1  [16])0x0;" (assignment_expression "_DAT_0016dc60 = (undefined1  [16])0x0" identifier = (cast_expression "(undefined1  [16])0x0" ( (type_descriptor "undefined1  [16]" type_identifier (abstract_array_declarator "[16]" [ number_literal ])) ) number_literal)) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_array_declarator [ LIT ])) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_array_declarator [ LIT ])) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_array_declarator [ LIT ])) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_array_declarator [ LIT ])) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_array_declarator [ LIT ])) ) LIT)) ;) (return_statement return ;) })))
(function_definition "void FUN_001323c0(void)\n\n{\n  long lVar1;\n  undefined8 *puVar2;\n  byte bVar3;\n  \n  bVar3 = 0;\n  DAT_0016e580 = 0;\n  DAT_0016e578 = 0;\n  DAT_0016dcb0 = FUN_0011d5a0();\n  DAT_0016dca8 = FUN_0011d5a0();\n  puVar2 = &DAT_0016e5a0;\n  for (lVar1 = 0xf; lVar1 != 0; lVar1 = lVar1 + -1) {\n    *puVar2 = 0;\n    puVar2 = puVar2 + (ulong)bVar3 * -2 + 1;\n  }\n  DAT_0016e5c8 = 2;\n  _DAT_0016e5e0 = &DAT_0016e160;\n  _DAT_0016dc20 = (undefined1  [16])0x0;\n  _DAT_0016dc30 = (undefined1  [16])0x0;\n  _DAT_0016dc40 = (undefined1  [16])0x0;\n  _DAT_0016dc50 = (undefined1  [16])0x0;\n  _DAT_0016dc60 = (undefined1  [16])0x0;\n  return;\n}" (primitive_type "void") (function_declarator "FUN_001323c0(void)" (identifier "FUN_001323c0") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  long lVar1;\n  undefined8 *puVar2;\n  byte bVar3;\n  \n  bVar3 = 0;\n  DAT_0016e580 = 0;\n  DAT_0016e578 = 0;\n  DAT_0016dcb0 = FUN_0011d5a0();\n  DAT_0016dca8 = FUN_0011d5a0();\n  puVar2 = &DAT_0016e5a0;\n  for (lVar1 = 0xf; lVar1 != 0; lVar1 = lVar1 + -1) {\n    *puVar2 = 0;\n    puVar2 = puVar2 + (ulong)bVar3 * -2 + 1;\n  }\n  DAT_0016e5c8 = 2;\n  _DAT_0016e5e0 = &DAT_0016e160;\n  _DAT_0016dc20 = (undefined1  [16])0x0;\n  _DAT_0016dc30 = (undefined1  [16])0x0;\n  _DAT_0016dc40 = (undefined1  [16])0x0;\n  _DAT_0016dc50 = (undefined1  [16])0x0;\n  _DAT_0016dc60 = (undefined1  [16])0x0;\n  return;\n}" ({ "{") (declaration "long lVar1;" (sized_type_specifier "long" (long "long")) (identifier "lVar1") (; ";")) (declaration "undefined8 *puVar2;" (type_identifier "undefined8") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "byte bVar3;" (type_identifier "byte") (identifier "bVar3") (; ";")) (expression_statement "bVar3 = 0;" (assignment_expression "bVar3 = 0" (identifier "bVar3") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_0016e580 = 0;" (assignment_expression "DAT_0016e580 = 0" (identifier "DAT_0016e580") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_0016e578 = 0;" (assignment_expression "DAT_0016e578 = 0" (identifier "DAT_0016e578") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_0016dcb0 = FUN_0011d5a0();" (assignment_expression "DAT_0016dcb0 = FUN_0011d5a0()" (identifier "DAT_0016dcb0") (= "=") (call_expression "FUN_0011d5a0()" (identifier "FUN_0011d5a0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "DAT_0016dca8 = FUN_0011d5a0();" (assignment_expression "DAT_0016dca8 = FUN_0011d5a0()" (identifier "DAT_0016dca8") (= "=") (call_expression "FUN_0011d5a0()" (identifier "FUN_0011d5a0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "puVar2 = &DAT_0016e5a0;" (assignment_expression "puVar2 = &DAT_0016e5a0" (identifier "puVar2") (= "=") (pointer_expression "&DAT_0016e5a0" (& "&") (identifier "DAT_0016e5a0"))) (; ";")) (for_statement "for (lVar1 = 0xf; lVar1 != 0; lVar1 = lVar1 + -1) {\n    *puVar2 = 0;\n    puVar2 = puVar2 + (ulong)bVar3 * -2 + 1;\n  }" (for "for") (( "(") (assignment_expression "lVar1 = 0xf" (identifier "lVar1") (= "=") (number_literal "0xf")) (; ";") (binary_expression "lVar1 != 0" (identifier "lVar1") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "lVar1 = lVar1 + -1" (identifier "lVar1") (= "=") (binary_expression "lVar1 + -1" (identifier "lVar1") (+ "+") (number_literal "-1"))) () ")") (compound_statement "{\n    *puVar2 = 0;\n    puVar2 = puVar2 + (ulong)bVar3 * -2 + 1;\n  }" ({ "{") (expression_statement "*puVar2 = 0;" (assignment_expression "*puVar2 = 0" (pointer_expression "*puVar2" (* "*") (identifier "puVar2")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar2 = puVar2 + (ulong)bVar3 * -2 + 1;" (assignment_expression "puVar2 = puVar2 + (ulong)bVar3 * -2 + 1" (identifier "puVar2") (= "=") (binary_expression "puVar2 + (ulong)bVar3 * -2 + 1" (binary_expression "puVar2 + (ulong)bVar3 * -2" (identifier "puVar2") (+ "+") (binary_expression "(ulong)bVar3 * -2" (cast_expression "(ulong)bVar3" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar3")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "DAT_0016e5c8 = 2;" (assignment_expression "DAT_0016e5c8 = 2" (identifier "DAT_0016e5c8") (= "=") (number_literal "2")) (; ";")) (expression_statement "_DAT_0016e5e0 = &DAT_0016e160;" (assignment_expression "_DAT_0016e5e0 = &DAT_0016e160" (identifier "_DAT_0016e5e0") (= "=") (pointer_expression "&DAT_0016e160" (& "&") (identifier "DAT_0016e160"))) (; ";")) (expression_statement "_DAT_0016dc20 = (undefined1  [16])0x0;" (assignment_expression "_DAT_0016dc20 = (undefined1  [16])0x0" (identifier "_DAT_0016dc20") (= "=") (cast_expression "(undefined1  [16])0x0" (( "(") (type_descriptor "undefined1  [16]" (type_identifier "undefined1") (abstract_array_declarator "[16]" ([ "[") (number_literal "16") (] "]"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "_DAT_0016dc30 = (undefined1  [16])0x0;" (assignment_expression "_DAT_0016dc30 = (undefined1  [16])0x0" (identifier "_DAT_0016dc30") (= "=") (cast_expression "(undefined1  [16])0x0" (( "(") (type_descriptor "undefined1  [16]" (type_identifier "undefined1") (abstract_array_declarator "[16]" ([ "[") (number_literal "16") (] "]"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "_DAT_0016dc40 = (undefined1  [16])0x0;" (assignment_expression "_DAT_0016dc40 = (undefined1  [16])0x0" (identifier "_DAT_0016dc40") (= "=") (cast_expression "(undefined1  [16])0x0" (( "(") (type_descriptor "undefined1  [16]" (type_identifier "undefined1") (abstract_array_declarator "[16]" ([ "[") (number_literal "16") (] "]"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "_DAT_0016dc50 = (undefined1  [16])0x0;" (assignment_expression "_DAT_0016dc50 = (undefined1  [16])0x0" (identifier "_DAT_0016dc50") (= "=") (cast_expression "(undefined1  [16])0x0" (( "(") (type_descriptor "undefined1  [16]" (type_identifier "undefined1") (abstract_array_declarator "[16]" ([ "[") (number_literal "16") (] "]"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "_DAT_0016dc60 = (undefined1  [16])0x0;" (assignment_expression "_DAT_0016dc60 = (undefined1  [16])0x0" (identifier "_DAT_0016dc60") (= "=") (cast_expression "(undefined1  [16])0x0" (( "(") (type_descriptor "undefined1  [16]" (type_identifier "undefined1") (abstract_array_declarator "[16]" ([ "[") (number_literal "16") (] "]"))) () ")") (number_literal "0x0"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

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

void function_1(void)

{
  long var_2;
  type_1 *psVar2;
  type_2 bVar3;
  
  bVar3 = 0;
  symbol_lastP = (type_1 *)0x0;
  symbol_rootP = (type_1 *)0x0;
  sy_hash = var_1();
  local_hash = var_1();
  psVar2 = &abs_symbol;
  for (var_2 = 0xf; var_2 != 0; var_2 = var_2 + -1) {
    *(type_3 *)psVar2 = 0;
    psVar2 = (type_1 *)((long)psVar2 + ((type_4)bVar3 * -2 + 1) * 8);
  }
  abs_symbol.sy_value._24_1_ = 2;
  abs_symbol.sy_frag = &zero_address_frag;
  fb_low_counter[0] = 0;
  fb_low_counter[1] = 0;
  fb_low_counter[2] = 0;
  fb_low_counter[3] = 0;
  fb_low_counter[4] = 0;
  fb_low_counter[5] = 0;
  fb_low_counter[6] = 0;
  fb_low_counter[7] = 0;
  fb_low_counter[8] = 0;
  fb_low_counter[9] = 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: (sized_type_specifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) 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: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_array_declarator size: (number_literal))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_array_declarator size: (number_literal))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_array_declarator size: (number_literal))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_array_declarator size: (number_literal))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_array_declarator size: (number_literal))) value: (number_literal)))) (return_statement))))

/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

void MASKED(void)

{
  long lVar1;
  undefined8 *puVar2;
  byte bVar3;
  
  bVar3 = 0;
  DAT_0016e580 = 0;
  DAT_0016e578 = 0;
  DAT_0016dcb0 = FUN_0011d5a0();
  DAT_0016dca8 = FUN_0011d5a0();
  puVar2 = &DAT_0016e5a0;
  for (lVar1 = 0xf; lVar1 != 0; lVar1 = lVar1 + -1) {
    *puVar2 = 0;
    puVar2 = puVar2 + (ulong)bVar3 * -2 + 1;
  }
  DAT_0016e5c8 = 2;
  _DAT_0016e5e0 = &DAT_0016e160;
  _DAT_0016dc20 = (undefined1  [16])0x0;
  _DAT_0016dc30 = (undefined1  [16])0x0;
  _DAT_0016dc40 = (undefined1  [16])0x0;
  _DAT_0016dc50 = (undefined1  [16])0x0;
  _DAT_0016dc60 = (undefined1  [16])0x0;
  return;
}

