
/* DWARF original prototype: void Symbol_table(Symbol_table * this, uint count, Version_script_info
   * version_script) */

void __thiscall
gold::Symbol_table::Symbol_table(Symbol_table *this,uint count,Version_script_info *version_script)

{
  uint uVar1;
  _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_true>_>_>
  *in_stack_ffffffd4;
  size_t in_stack_ffffffd8;
  __bucket_type *local_20;
  
  __x86_get_pc_thunk_di();
  this->saw_undefined_ = 0;
  local_20 = &(this->table_)._M_h._M_single_bucket;
  (this->table_)._M_h._M_buckets = local_20;
  *(undefined4 *)&this->offset_ = 0;
  *(undefined4 *)((int)&this->offset_ + 4) = 0;
  (this->table_)._M_h._M_bucket_count = 1;
  (this->table_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;
  (this->table_)._M_h._M_element_count = 0;
  (this->table_)._M_h._M_rehash_policy._M_max_load_factor = 1.0;
  (this->table_)._M_h._M_rehash_policy._M_next_resize = 0;
  (this->table_)._M_h._M_single_bucket = (__bucket_type)0x0;
                    /* try { // try from 00177b3d to 00177b59 has its CatchHandler @ 00177e0b */
  uVar1 = std::__detail::_Prime_rehash_policy::_M_next_bkt
                    (&(this->table_)._M_h._M_rehash_policy,count);
  if ((this->table_)._M_h._M_bucket_count < uVar1) {
    if (uVar1 == 1) {
      (this->table_)._M_h._M_single_bucket = (__bucket_type)0x0;
    }
    else {
      local_20 = std::__detail::
                 _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_true>_>_>
                 ::_M_allocate_buckets(in_stack_ffffffd4,in_stack_ffffffd8);
    }
    (this->table_)._M_h._M_bucket_count = uVar1;
    (this->table_)._M_h._M_buckets = local_20;
  }
                    /* try { // try from 00177b76 to 00177b7a has its CatchHandler @ 00177e04 */
  Stringpool_template<char>::Stringpool_template(&this->namepool_,1);
  uVar1 = 0;
  do {
    *(undefined4 *)((int)&(this->forwarders_)._M_h._M_buckets + uVar1) = 0;
    uVar1 = uVar1 + 4;
  } while (uVar1 < 0x1c);
  (this->forwarders_)._M_h._M_bucket_count = 1;
  (this->forwarders_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;
  (this->forwarders_)._M_h._M_element_count = 0;
  (this->forwarders_)._M_h._M_rehash_policy._M_next_resize = 0;
  (this->forwarders_)._M_h._M_single_bucket = (__bucket_type)0x0;
  (this->weak_aliases_)._M_h._M_bucket_count = 1;
  (this->weak_aliases_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;
  (this->weak_aliases_)._M_h._M_element_count = 0;
  (this->weak_aliases_)._M_h._M_rehash_policy._M_next_resize = 0;
  (this->weak_aliases_)._M_h._M_single_bucket = (__bucket_type)0x0;
  (this->commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
  _M_start = (pointer)0x0;
  (this->commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
  _M_finish = (pointer)0x0;
  (this->commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
  _M_end_of_storage = (pointer)0x0;
  (this->tls_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
  _M_start = (pointer)0x0;
  (this->tls_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
  _M_finish = (pointer)0x0;
  (this->tls_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
  _M_end_of_storage = (pointer)0x0;
  (this->small_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
  _M_start = (pointer)0x0;
  (this->small_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
  _M_finish = (pointer)0x0;
  (this->small_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
  _M_end_of_storage = (pointer)0x0;
  (this->large_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
  _M_start = (pointer)0x0;
  (this->large_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
  _M_finish = (pointer)0x0;
  (this->large_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
  _M_end_of_storage = (pointer)0x0;
  (this->forced_locals_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
  _M_start = (pointer)0x0;
  (this->forced_locals_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
  _M_finish = (pointer)0x0;
  (this->forced_locals_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
  _M_end_of_storage = (pointer)0x0;
  (this->forwarders_)._M_h._M_buckets = &(this->forwarders_)._M_h._M_single_bucket;
  (this->forwarders_)._M_h._M_rehash_policy._M_max_load_factor = 1.0;
  (this->weak_aliases_)._M_h._M_buckets = &(this->weak_aliases_)._M_h._M_single_bucket;
  uVar1 = 0;
  (this->weak_aliases_)._M_h._M_rehash_policy._M_max_load_factor = 1.0;
  do {
    *(undefined4 *)((int)&(this->warnings_).warnings_._M_h._M_buckets + uVar1) = 0;
    uVar1 = uVar1 + 4;
  } while (uVar1 < 0x1c);
  (this->warnings_).warnings_._M_h._M_buckets = &(this->warnings_).warnings_._M_h._M_single_bucket;
  (this->candidate_odr_violations_)._M_h._M_buckets =
       &(this->candidate_odr_violations_)._M_h._M_single_bucket;
  (this->warnings_).warnings_._M_h._M_rehash_policy._M_max_load_factor = 1.0;
  (this->copied_symbol_dynobjs_)._M_h._M_buckets =
       &(this->copied_symbol_dynobjs_)._M_h._M_single_bucket;
  (this->candidate_odr_violations_)._M_h._M_rehash_policy._M_max_load_factor = 1.0;
  (this->warnings_).warnings_._M_h._M_bucket_count = 1;
  (this->warnings_).warnings_._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;
  (this->warnings_).warnings_._M_h._M_element_count = 0;
  (this->warnings_).warnings_._M_h._M_rehash_policy._M_next_resize = 0;
  (this->warnings_).warnings_._M_h._M_single_bucket = (__bucket_type)0x0;
  (this->candidate_odr_violations_)._M_h._M_bucket_count = 1;
  (this->candidate_odr_violations_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;
  (this->candidate_odr_violations_)._M_h._M_element_count = 0;
  (this->candidate_odr_violations_)._M_h._M_rehash_policy._M_next_resize = 0;
  (this->candidate_odr_violations_)._M_h._M_single_bucket = (__bucket_type)0x0;
  (this->copied_symbol_dynobjs_)._M_h._M_bucket_count = 1;
  (this->copied_symbol_dynobjs_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;
  (this->copied_symbol_dynobjs_)._M_h._M_element_count = 0;
  (this->copied_symbol_dynobjs_)._M_h._M_rehash_policy._M_max_load_factor = 1.0;
  (this->copied_symbol_dynobjs_)._M_h._M_rehash_policy._M_next_resize = 0;
  (this->copied_symbol_dynobjs_)._M_h._M_single_bucket = (__bucket_type)0x0;
  this->version_script_ = version_script;
  this->gc_ = (Garbage_collection *)0x0;
  this->icf_ = (Icf *)0x0;
  (this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
  _M_start = (pointer)0x0;
  (this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
  _M_finish = (pointer)0x0;
  (this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
  _M_end_of_storage = (pointer)0x0;
                    /* try { // try from 00177dd8 to 00177ddc has its CatchHandler @ 00177dfc */
  Stringpool_template<char>::reserve(&this->namepool_,count);
  return;
}



void FUN_00177ad0(undefined4 *param_1,undefined4 param_2,undefined4 param_3)

{
  uint uVar1;
  undefined4 *local_20;
  
  FUN_000559ee();
  *param_1 = 0;
  local_20 = param_1 + 0xf;
  param_1[9] = local_20;
  param_1[2] = 0;
  param_1[3] = 0;
  param_1[10] = 1;
  param_1[0xb] = 0;
  param_1[0xc] = 0;
  param_1[0xd] = 0x3f800000;
  param_1[0xe] = 0;
  param_1[0xf] = 0;
                    /* try { // try from 00177b3d to 00177b59 has its CatchHandler @ 00177e0b */
  uVar1 = FUN_0022c330(param_1 + 0xd,param_2);
  if ((uint)param_1[10] < uVar1) {
    if (uVar1 == 1) {
      param_1[0xf] = 0;
    }
    else {
      local_20 = (undefined4 *)FUN_00177130();
    }
    param_1[10] = uVar1;
    param_1[9] = local_20;
  }
                    /* try { // try from 00177b76 to 00177b7a has its CatchHandler @ 00177e04 */
  FUN_001711c0(param_1 + 0x10,1,0);
  uVar1 = 0;
  do {
    *(undefined4 *)((int)param_1 + uVar1 + 0x8c) = 0;
    uVar1 = uVar1 + 4;
  } while (uVar1 < 0x1c);
  param_1[0x24] = 1;
  param_1[0x25] = 0;
  param_1[0x26] = 0;
  param_1[0x28] = 0;
  param_1[0x29] = 0;
  param_1[0x2b] = 1;
  param_1[0x2c] = 0;
  param_1[0x2d] = 0;
  param_1[0x2f] = 0;
  param_1[0x30] = 0;
  param_1[0x31] = 0;
  param_1[0x32] = 0;
  param_1[0x33] = 0;
  param_1[0x34] = 0;
  param_1[0x35] = 0;
  param_1[0x36] = 0;
  param_1[0x37] = 0;
  param_1[0x38] = 0;
  param_1[0x39] = 0;
  param_1[0x3a] = 0;
  param_1[0x3b] = 0;
  param_1[0x3c] = 0;
  param_1[0x3d] = 0;
  param_1[0x3e] = 0;
  param_1[0x3f] = 0;
  param_1[0x23] = param_1 + 0x29;
  param_1[0x27] = 0x3f800000;
  param_1[0x2a] = param_1 + 0x30;
  uVar1 = 0;
  param_1[0x2e] = 0x3f800000;
  do {
    *(undefined4 *)((int)param_1 + uVar1 + 0x100) = 0;
    uVar1 = uVar1 + 4;
  } while (uVar1 < 0x1c);
  param_1[0x40] = param_1 + 0x46;
  param_1[0x47] = param_1 + 0x4d;
  param_1[0x44] = 0x3f800000;
  param_1[0x4e] = param_1 + 0x54;
  param_1[0x4b] = 0x3f800000;
  param_1[0x41] = 1;
  param_1[0x42] = 0;
  param_1[0x43] = 0;
  param_1[0x45] = 0;
  param_1[0x46] = 0;
  param_1[0x48] = 1;
  param_1[0x49] = 0;
  param_1[0x4a] = 0;
  param_1[0x4c] = 0;
  param_1[0x4d] = 0;
  param_1[0x4f] = 1;
  param_1[0x50] = 0;
  param_1[0x51] = 0;
  param_1[0x52] = 0x3f800000;
  param_1[0x53] = 0;
  param_1[0x54] = 0;
  param_1[0x55] = param_3;
  param_1[0x56] = 0;
  param_1[0x57] = 0;
  param_1[0x58] = 0;
  param_1[0x59] = 0;
  param_1[0x5a] = 0;
                    /* try { // try from 00177dd8 to 00177ddc has its CatchHandler @ 00177dfc */
  FUN_00173220(param_1 + 0x10,param_2);
  return;
}


PUSH EBP
MOV EBP,ESP
PUSH EDI
CALL 0x000559ee
ADD EDI,0x217527
PUSH ESI
PUSH EBX
SUB ESP,0x24
MOV ESI,dword ptr [EBP + 0x8]
LEA EAX,[ESI + 0x24]
MOV dword ptr [ESI],0x0
MOV EBX,EDI
MOV dword ptr [EBP + -0x20],EAX
LEA EAX,[ESI + 0x3c]
MOV dword ptr [ESI + 0x24],EAX
MOV dword ptr [EBP + -0x1c],EAX
LEA EAX,[ESI + 0x34]
MOV dword ptr [ESI + 0x8],0x0
MOV dword ptr [ESI + 0xc],0x0
MOV dword ptr [ESI + 0x28],0x1
MOV dword ptr [ESI + 0x2c],0x0
MOV dword ptr [ESI + 0x30],0x0
MOV dword ptr [ESI + 0x34],0x3f800000
MOV dword ptr [ESI + 0x38],0x0
MOV dword ptr [ESI + 0x3c],0x0
PUSH dword ptr [EBP + 0xc]
PUSH EAX
CALL 0x0022c330
MOV EBX,EAX
ADD ESP,0x10
CMP EAX,dword ptr [ESI + 0x28]
JBE 0x00177b66
CMP EAX,0x1
JZ 0x00177df0
CALL 0x00177130
MOV dword ptr [EBP + -0x1c],EAX
MOV EAX,dword ptr [EBP + -0x1c]
MOV dword ptr [ESI + 0x28],EBX
MOV dword ptr [ESI + 0x24],EAX
SUB ESP,0x4
LEA EAX,[ESI + 0x40]
MOV EBX,EDI
PUSH 0x0
PUSH 0x1
PUSH EAX
MOV dword ptr [EBP + -0x1c],EAX
CALL 0x001711c0
ADD ESP,0x10
XOR EDX,EDX
XOR EAX,EAX
MOV dword ptr [ESI + EAX*0x1 + 0x8c],EDX
ADD EAX,0x4
CMP EAX,0x1c
JC 0x00177b82
LEA EAX,[ESI + 0xa4]
FLD1
XOR EDX,EDX
MOV dword ptr [ESI + 0x90],0x1
MOV dword ptr [ESI + 0x94],0x0
MOV dword ptr [ESI + 0x98],0x0
MOV dword ptr [ESI + 0xa0],0x0
MOV dword ptr [ESI + 0xa4],0x0
MOV dword ptr [ESI + 0xac],0x1
MOV dword ptr [ESI + 0xb0],0x0
MOV dword ptr [ESI + 0xb4],0x0
MOV dword ptr [ESI + 0xbc],0x0
MOV dword ptr [ESI + 0xc0],0x0
MOV dword ptr [ESI + 0xc4],0x0
MOV dword ptr [ESI + 0xc8],0x0
MOV dword ptr [ESI + 0xcc],0x0
MOV dword ptr [ESI + 0xd0],0x0
MOV dword ptr [ESI + 0xd4],0x0
MOV dword ptr [ESI + 0xd8],0x0
MOV dword ptr [ESI + 0xdc],0x0
MOV dword ptr [ESI + 0xe0],0x0
MOV dword ptr [ESI + 0xe4],0x0
MOV dword ptr [ESI + 0xe8],0x0
MOV dword ptr [ESI + 0xec],0x0
MOV dword ptr [ESI + 0xf0],0x0
MOV dword ptr [ESI + 0xf4],0x0
MOV dword ptr [ESI + 0xf8],0x0
MOV dword ptr [ESI + 0xfc],0x0
MOV dword ptr [ESI + 0x8c],EAX
LEA EAX,[ESI + 0xc0]
FST dword ptr [ESI + 0x9c]
MOV dword ptr [ESI + 0xa8],EAX
XOR EAX,EAX
FSTP dword ptr [ESI + 0xb8]
MOV dword ptr [ESI + EAX*0x1 + 0x100],EDX
ADD EAX,0x4
CMP EAX,0x1c
JC 0x00177cb5
LEA EAX,[ESI + 0x118]
FLD1
SUB ESP,0x8
MOV EBX,EDI
MOV dword ptr [ESI + 0x100],EAX
LEA EAX,[ESI + 0x134]
MOV dword ptr [ESI + 0x11c],EAX
LEA EAX,[ESI + 0x150]
FST dword ptr [ESI + 0x110]
MOV dword ptr [ESI + 0x138],EAX
MOV EAX,dword ptr [EBP + 0x10]
FST dword ptr [ESI + 0x12c]
MOV dword ptr [ESI + 0x104],0x1
MOV dword ptr [ESI + 0x108],0x0
MOV dword ptr [ESI + 0x10c],0x0
MOV dword ptr [ESI + 0x114],0x0
MOV dword ptr [ESI + 0x118],0x0
MOV dword ptr [ESI + 0x120],0x1
MOV dword ptr [ESI + 0x124],0x0
MOV dword ptr [ESI + 0x128],0x0
MOV dword ptr [ESI + 0x130],0x0
MOV dword ptr [ESI + 0x134],0x0
MOV dword ptr [ESI + 0x13c],0x1
MOV dword ptr [ESI + 0x140],0x0
MOV dword ptr [ESI + 0x144],0x0
FSTP dword ptr [ESI + 0x148]
MOV dword ptr [ESI + 0x14c],0x0
MOV dword ptr [ESI + 0x150],0x0
MOV dword ptr [ESI + 0x154],EAX
MOV dword ptr [ESI + 0x158],0x0
MOV dword ptr [ESI + 0x15c],0x0
MOV dword ptr [ESI + 0x160],0x0
MOV dword ptr [ESI + 0x164],0x0
MOV dword ptr [ESI + 0x168],0x0
PUSH dword ptr [EBP + 0xc]
PUSH dword ptr [EBP + -0x1c]
CALL 0x00173220
ADD ESP,0x10
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV dword ptr [ESI + 0x3c],0x0
JMP 0x00177b5d
(translation_unit "void FUN_00177ad0(undefined4 *param_1,undefined4 param_2,undefined4 param_3)\n\n{\n  uint uVar1;\n  undefined4 *local_20;\n  \n  FUN_000559ee();\n  *param_1 = 0;\n  local_20 = param_1 + 0xf;\n  param_1[9] = local_20;\n  param_1[2] = 0;\n  param_1[3] = 0;\n  param_1[10] = 1;\n  param_1[0xb] = 0;\n  param_1[0xc] = 0;\n  param_1[0xd] = 0x3f800000;\n  param_1[0xe] = 0;\n  param_1[0xf] = 0;\n                    /* try { // try from 00177b3d to 00177b59 has its CatchHandler @ 00177e0b */\n  uVar1 = FUN_0022c330(param_1 + 0xd,param_2);\n  if ((uint)param_1[10] < uVar1) {\n    if (uVar1 == 1) {\n      param_1[0xf] = 0;\n    }\n    else {\n      local_20 = (undefined4 *)FUN_00177130();\n    }\n    param_1[10] = uVar1;\n    param_1[9] = local_20;\n  }\n                    /* try { // try from 00177b76 to 00177b7a has its CatchHandler @ 00177e04 */\n  FUN_001711c0(param_1 + 0x10,1,0);\n  uVar1 = 0;\n  do {\n    *(undefined4 *)((int)param_1 + uVar1 + 0x8c) = 0;\n    uVar1 = uVar1 + 4;\n  } while (uVar1 < 0x1c);\n  param_1[0x24] = 1;\n  param_1[0x25] = 0;\n  param_1[0x26] = 0;\n  param_1[0x28] = 0;\n  param_1[0x29] = 0;\n  param_1[0x2b] = 1;\n  param_1[0x2c] = 0;\n  param_1[0x2d] = 0;\n  param_1[0x2f] = 0;\n  param_1[0x30] = 0;\n  param_1[0x31] = 0;\n  param_1[0x32] = 0;\n  param_1[0x33] = 0;\n  param_1[0x34] = 0;\n  param_1[0x35] = 0;\n  param_1[0x36] = 0;\n  param_1[0x37] = 0;\n  param_1[0x38] = 0;\n  param_1[0x39] = 0;\n  param_1[0x3a] = 0;\n  param_1[0x3b] = 0;\n  param_1[0x3c] = 0;\n  param_1[0x3d] = 0;\n  param_1[0x3e] = 0;\n  param_1[0x3f] = 0;\n  param_1[0x23] = param_1 + 0x29;\n  param_1[0x27] = 0x3f800000;\n  param_1[0x2a] = param_1 + 0x30;\n  uVar1 = 0;\n  param_1[0x2e] = 0x3f800000;\n  do {\n    *(undefined4 *)((int)param_1 + uVar1 + 0x100) = 0;\n    uVar1 = uVar1 + 4;\n  } while (uVar1 < 0x1c);\n  param_1[0x40] = param_1 + 0x46;\n  param_1[0x47] = param_1 + 0x4d;\n  param_1[0x44] = 0x3f800000;\n  param_1[0x4e] = param_1 + 0x54;\n  param_1[0x4b] = 0x3f800000;\n  param_1[0x41] = 1;\n  param_1[0x42] = 0;\n  param_1[0x43] = 0;\n  param_1[0x45] = 0;\n  param_1[0x46] = 0;\n  param_1[0x48] = 1;\n  param_1[0x49] = 0;\n  param_1[0x4a] = 0;\n  param_1[0x4c] = 0;\n  param_1[0x4d] = 0;\n  param_1[0x4f] = 1;\n  param_1[0x50] = 0;\n  param_1[0x51] = 0;\n  param_1[0x52] = 0x3f800000;\n  param_1[0x53] = 0;\n  param_1[0x54] = 0;\n  param_1[0x55] = param_3;\n  param_1[0x56] = 0;\n  param_1[0x57] = 0;\n  param_1[0x58] = 0;\n  param_1[0x59] = 0;\n  param_1[0x5a] = 0;\n                    /* try { // try from 00177dd8 to 00177ddc has its CatchHandler @ 00177dfc */\n  FUN_00173220(param_1 + 0x10,param_2);\n  return;\n}\n\n" (function_definition "void FUN_00177ad0(undefined4 *param_1,undefined4 param_2,undefined4 param_3)\n\n{\n  uint uVar1;\n  undefined4 *local_20;\n  \n  FUN_000559ee();\n  *param_1 = 0;\n  local_20 = param_1 + 0xf;\n  param_1[9] = local_20;\n  param_1[2] = 0;\n  param_1[3] = 0;\n  param_1[10] = 1;\n  param_1[0xb] = 0;\n  param_1[0xc] = 0;\n  param_1[0xd] = 0x3f800000;\n  param_1[0xe] = 0;\n  param_1[0xf] = 0;\n                    /* try { // try from 00177b3d to 00177b59 has its CatchHandler @ 00177e0b */\n  uVar1 = FUN_0022c330(param_1 + 0xd,param_2);\n  if ((uint)param_1[10] < uVar1) {\n    if (uVar1 == 1) {\n      param_1[0xf] = 0;\n    }\n    else {\n      local_20 = (undefined4 *)FUN_00177130();\n    }\n    param_1[10] = uVar1;\n    param_1[9] = local_20;\n  }\n                    /* try { // try from 00177b76 to 00177b7a has its CatchHandler @ 00177e04 */\n  FUN_001711c0(param_1 + 0x10,1,0);\n  uVar1 = 0;\n  do {\n    *(undefined4 *)((int)param_1 + uVar1 + 0x8c) = 0;\n    uVar1 = uVar1 + 4;\n  } while (uVar1 < 0x1c);\n  param_1[0x24] = 1;\n  param_1[0x25] = 0;\n  param_1[0x26] = 0;\n  param_1[0x28] = 0;\n  param_1[0x29] = 0;\n  param_1[0x2b] = 1;\n  param_1[0x2c] = 0;\n  param_1[0x2d] = 0;\n  param_1[0x2f] = 0;\n  param_1[0x30] = 0;\n  param_1[0x31] = 0;\n  param_1[0x32] = 0;\n  param_1[0x33] = 0;\n  param_1[0x34] = 0;\n  param_1[0x35] = 0;\n  param_1[0x36] = 0;\n  param_1[0x37] = 0;\n  param_1[0x38] = 0;\n  param_1[0x39] = 0;\n  param_1[0x3a] = 0;\n  param_1[0x3b] = 0;\n  param_1[0x3c] = 0;\n  param_1[0x3d] = 0;\n  param_1[0x3e] = 0;\n  param_1[0x3f] = 0;\n  param_1[0x23] = param_1 + 0x29;\n  param_1[0x27] = 0x3f800000;\n  param_1[0x2a] = param_1 + 0x30;\n  uVar1 = 0;\n  param_1[0x2e] = 0x3f800000;\n  do {\n    *(undefined4 *)((int)param_1 + uVar1 + 0x100) = 0;\n    uVar1 = uVar1 + 4;\n  } while (uVar1 < 0x1c);\n  param_1[0x40] = param_1 + 0x46;\n  param_1[0x47] = param_1 + 0x4d;\n  param_1[0x44] = 0x3f800000;\n  param_1[0x4e] = param_1 + 0x54;\n  param_1[0x4b] = 0x3f800000;\n  param_1[0x41] = 1;\n  param_1[0x42] = 0;\n  param_1[0x43] = 0;\n  param_1[0x45] = 0;\n  param_1[0x46] = 0;\n  param_1[0x48] = 1;\n  param_1[0x49] = 0;\n  param_1[0x4a] = 0;\n  param_1[0x4c] = 0;\n  param_1[0x4d] = 0;\n  param_1[0x4f] = 1;\n  param_1[0x50] = 0;\n  param_1[0x51] = 0;\n  param_1[0x52] = 0x3f800000;\n  param_1[0x53] = 0;\n  param_1[0x54] = 0;\n  param_1[0x55] = param_3;\n  param_1[0x56] = 0;\n  param_1[0x57] = 0;\n  param_1[0x58] = 0;\n  param_1[0x59] = 0;\n  param_1[0x5a] = 0;\n                    /* try { // try from 00177dd8 to 00177ddc has its CatchHandler @ 00177dfc */\n  FUN_00173220(param_1 + 0x10,param_2);\n  return;\n}" primitive_type (function_declarator "FUN_00177ad0(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 (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) ))) (compound_statement "{\n  uint uVar1;\n  undefined4 *local_20;\n  \n  FUN_000559ee();\n  *param_1 = 0;\n  local_20 = param_1 + 0xf;\n  param_1[9] = local_20;\n  param_1[2] = 0;\n  param_1[3] = 0;\n  param_1[10] = 1;\n  param_1[0xb] = 0;\n  param_1[0xc] = 0;\n  param_1[0xd] = 0x3f800000;\n  param_1[0xe] = 0;\n  param_1[0xf] = 0;\n                    /* try { // try from 00177b3d to 00177b59 has its CatchHandler @ 00177e0b */\n  uVar1 = FUN_0022c330(param_1 + 0xd,param_2);\n  if ((uint)param_1[10] < uVar1) {\n    if (uVar1 == 1) {\n      param_1[0xf] = 0;\n    }\n    else {\n      local_20 = (undefined4 *)FUN_00177130();\n    }\n    param_1[10] = uVar1;\n    param_1[9] = local_20;\n  }\n                    /* try { // try from 00177b76 to 00177b7a has its CatchHandler @ 00177e04 */\n  FUN_001711c0(param_1 + 0x10,1,0);\n  uVar1 = 0;\n  do {\n    *(undefined4 *)((int)param_1 + uVar1 + 0x8c) = 0;\n    uVar1 = uVar1 + 4;\n  } while (uVar1 < 0x1c);\n  param_1[0x24] = 1;\n  param_1[0x25] = 0;\n  param_1[0x26] = 0;\n  param_1[0x28] = 0;\n  param_1[0x29] = 0;\n  param_1[0x2b] = 1;\n  param_1[0x2c] = 0;\n  param_1[0x2d] = 0;\n  param_1[0x2f] = 0;\n  param_1[0x30] = 0;\n  param_1[0x31] = 0;\n  param_1[0x32] = 0;\n  param_1[0x33] = 0;\n  param_1[0x34] = 0;\n  param_1[0x35] = 0;\n  param_1[0x36] = 0;\n  param_1[0x37] = 0;\n  param_1[0x38] = 0;\n  param_1[0x39] = 0;\n  param_1[0x3a] = 0;\n  param_1[0x3b] = 0;\n  param_1[0x3c] = 0;\n  param_1[0x3d] = 0;\n  param_1[0x3e] = 0;\n  param_1[0x3f] = 0;\n  param_1[0x23] = param_1 + 0x29;\n  param_1[0x27] = 0x3f800000;\n  param_1[0x2a] = param_1 + 0x30;\n  uVar1 = 0;\n  param_1[0x2e] = 0x3f800000;\n  do {\n    *(undefined4 *)((int)param_1 + uVar1 + 0x100) = 0;\n    uVar1 = uVar1 + 4;\n  } while (uVar1 < 0x1c);\n  param_1[0x40] = param_1 + 0x46;\n  param_1[0x47] = param_1 + 0x4d;\n  param_1[0x44] = 0x3f800000;\n  param_1[0x4e] = param_1 + 0x54;\n  param_1[0x4b] = 0x3f800000;\n  param_1[0x41] = 1;\n  param_1[0x42] = 0;\n  param_1[0x43] = 0;\n  param_1[0x45] = 0;\n  param_1[0x46] = 0;\n  param_1[0x48] = 1;\n  param_1[0x49] = 0;\n  param_1[0x4a] = 0;\n  param_1[0x4c] = 0;\n  param_1[0x4d] = 0;\n  param_1[0x4f] = 1;\n  param_1[0x50] = 0;\n  param_1[0x51] = 0;\n  param_1[0x52] = 0x3f800000;\n  param_1[0x53] = 0;\n  param_1[0x54] = 0;\n  param_1[0x55] = param_3;\n  param_1[0x56] = 0;\n  param_1[0x57] = 0;\n  param_1[0x58] = 0;\n  param_1[0x59] = 0;\n  param_1[0x5a] = 0;\n                    /* try { // try from 00177dd8 to 00177ddc has its CatchHandler @ 00177dfc */\n  FUN_00173220(param_1 + 0x10,param_2);\n  return;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "undefined4 *local_20;" type_identifier (pointer_declarator "*local_20" * identifier) ;) (expression_statement "FUN_000559ee();" (call_expression "FUN_000559ee()" identifier (argument_list "()" ( ))) ;) (expression_statement "*param_1 = 0;" (assignment_expression "*param_1 = 0" (pointer_expression "*param_1" * identifier) = number_literal) ;) (expression_statement "local_20 = param_1 + 0xf;" (assignment_expression "local_20 = param_1 + 0xf" identifier = (binary_expression "param_1 + 0xf" identifier + number_literal)) ;) (expression_statement "param_1[9] = local_20;" (assignment_expression "param_1[9] = local_20" (subscript_expression "param_1[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[10] = 1;" (assignment_expression "param_1[10] = 1" (subscript_expression "param_1[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0xb] = 0;" (assignment_expression "param_1[0xb] = 0" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0xc] = 0;" (assignment_expression "param_1[0xc] = 0" (subscript_expression "param_1[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0xd] = 0x3f800000;" (assignment_expression "param_1[0xd] = 0x3f800000" (subscript_expression "param_1[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0xe] = 0;" (assignment_expression "param_1[0xe] = 0" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0xf] = 0;" (assignment_expression "param_1[0xf] = 0" (subscript_expression "param_1[0xf]" identifier [ number_literal ]) = number_literal) ;) comment (expression_statement "uVar1 = FUN_0022c330(param_1 + 0xd,param_2);" (assignment_expression "uVar1 = FUN_0022c330(param_1 + 0xd,param_2)" identifier = (call_expression "FUN_0022c330(param_1 + 0xd,param_2)" identifier (argument_list "(param_1 + 0xd,param_2)" ( (binary_expression "param_1 + 0xd" identifier + number_literal) , identifier )))) ;) (if_statement "if ((uint)param_1[10] < uVar1) {\n    if (uVar1 == 1) {\n      param_1[0xf] = 0;\n    }\n    else {\n      local_20 = (undefined4 *)FUN_00177130();\n    }\n    param_1[10] = uVar1;\n    param_1[9] = local_20;\n  }" if (parenthesized_expression "((uint)param_1[10] < uVar1)" ( (binary_expression "(uint)param_1[10] < uVar1" (cast_expression "(uint)param_1[10]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[10]" identifier [ number_literal ])) < identifier) )) (compound_statement "{\n    if (uVar1 == 1) {\n      param_1[0xf] = 0;\n    }\n    else {\n      local_20 = (undefined4 *)FUN_00177130();\n    }\n    param_1[10] = uVar1;\n    param_1[9] = local_20;\n  }" { (if_statement "if (uVar1 == 1) {\n      param_1[0xf] = 0;\n    }\n    else {\n      local_20 = (undefined4 *)FUN_00177130();\n    }" if (parenthesized_expression "(uVar1 == 1)" ( (binary_expression "uVar1 == 1" identifier == number_literal) )) (compound_statement "{\n      param_1[0xf] = 0;\n    }" { (expression_statement "param_1[0xf] = 0;" (assignment_expression "param_1[0xf] = 0" (subscript_expression "param_1[0xf]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n      local_20 = (undefined4 *)FUN_00177130();\n    }" else (compound_statement "{\n      local_20 = (undefined4 *)FUN_00177130();\n    }" { (expression_statement "local_20 = (undefined4 *)FUN_00177130();" (assignment_expression "local_20 = (undefined4 *)FUN_00177130()" identifier = (cast_expression "(undefined4 *)FUN_00177130()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00177130()" identifier (argument_list "()" ( ))))) ;) }))) (expression_statement "param_1[10] = uVar1;" (assignment_expression "param_1[10] = uVar1" (subscript_expression "param_1[10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[9] = local_20;" (assignment_expression "param_1[9] = local_20" (subscript_expression "param_1[9]" identifier [ number_literal ]) = identifier) ;) })) comment (expression_statement "FUN_001711c0(param_1 + 0x10,1,0);" (call_expression "FUN_001711c0(param_1 + 0x10,1,0)" identifier (argument_list "(param_1 + 0x10,1,0)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) , number_literal , number_literal ))) ;) (expression_statement "uVar1 = 0;" (assignment_expression "uVar1 = 0" identifier = number_literal) ;) (do_statement "do {\n    *(undefined4 *)((int)param_1 + uVar1 + 0x8c) = 0;\n    uVar1 = uVar1 + 4;\n  } while (uVar1 < 0x1c);" do (compound_statement "{\n    *(undefined4 *)((int)param_1 + uVar1 + 0x8c) = 0;\n    uVar1 = uVar1 + 4;\n  }" { (expression_statement "*(undefined4 *)((int)param_1 + uVar1 + 0x8c) = 0;" (assignment_expression "*(undefined4 *)((int)param_1 + uVar1 + 0x8c) = 0" (pointer_expression "*(undefined4 *)((int)param_1 + uVar1 + 0x8c)" * (cast_expression "(undefined4 *)((int)param_1 + uVar1 + 0x8c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + uVar1 + 0x8c)" ( (binary_expression "(int)param_1 + uVar1 + 0x8c" (binary_expression "(int)param_1 + uVar1" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar1 = uVar1 + 4;" (assignment_expression "uVar1 = uVar1 + 4" identifier = (binary_expression "uVar1 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar1 < 0x1c)" ( (binary_expression "uVar1 < 0x1c" identifier < number_literal) )) ;) (expression_statement "param_1[0x24] = 1;" (assignment_expression "param_1[0x24] = 1" (subscript_expression "param_1[0x24]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x25] = 0;" (assignment_expression "param_1[0x25] = 0" (subscript_expression "param_1[0x25]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x26] = 0;" (assignment_expression "param_1[0x26] = 0" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x28] = 0;" (assignment_expression "param_1[0x28] = 0" (subscript_expression "param_1[0x28]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x29] = 0;" (assignment_expression "param_1[0x29] = 0" (subscript_expression "param_1[0x29]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x2b] = 1;" (assignment_expression "param_1[0x2b] = 1" (subscript_expression "param_1[0x2b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x2c] = 0;" (assignment_expression "param_1[0x2c] = 0" (subscript_expression "param_1[0x2c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x2d] = 0;" (assignment_expression "param_1[0x2d] = 0" (subscript_expression "param_1[0x2d]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x2f] = 0;" (assignment_expression "param_1[0x2f] = 0" (subscript_expression "param_1[0x2f]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x30] = 0;" (assignment_expression "param_1[0x30] = 0" (subscript_expression "param_1[0x30]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x31] = 0;" (assignment_expression "param_1[0x31] = 0" (subscript_expression "param_1[0x31]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x32] = 0;" (assignment_expression "param_1[0x32] = 0" (subscript_expression "param_1[0x32]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x33] = 0;" (assignment_expression "param_1[0x33] = 0" (subscript_expression "param_1[0x33]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x34] = 0;" (assignment_expression "param_1[0x34] = 0" (subscript_expression "param_1[0x34]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x35] = 0;" (assignment_expression "param_1[0x35] = 0" (subscript_expression "param_1[0x35]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x36] = 0;" (assignment_expression "param_1[0x36] = 0" (subscript_expression "param_1[0x36]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x37] = 0;" (assignment_expression "param_1[0x37] = 0" (subscript_expression "param_1[0x37]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x38] = 0;" (assignment_expression "param_1[0x38] = 0" (subscript_expression "param_1[0x38]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x39] = 0;" (assignment_expression "param_1[0x39] = 0" (subscript_expression "param_1[0x39]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x3a] = 0;" (assignment_expression "param_1[0x3a] = 0" (subscript_expression "param_1[0x3a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x3b] = 0;" (assignment_expression "param_1[0x3b] = 0" (subscript_expression "param_1[0x3b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x3c] = 0;" (assignment_expression "param_1[0x3c] = 0" (subscript_expression "param_1[0x3c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x3d] = 0;" (assignment_expression "param_1[0x3d] = 0" (subscript_expression "param_1[0x3d]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x3e] = 0;" (assignment_expression "param_1[0x3e] = 0" (subscript_expression "param_1[0x3e]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x3f] = 0;" (assignment_expression "param_1[0x3f] = 0" (subscript_expression "param_1[0x3f]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x23] = param_1 + 0x29;" (assignment_expression "param_1[0x23] = param_1 + 0x29" (subscript_expression "param_1[0x23]" identifier [ number_literal ]) = (binary_expression "param_1 + 0x29" identifier + number_literal)) ;) (expression_statement "param_1[0x27] = 0x3f800000;" (assignment_expression "param_1[0x27] = 0x3f800000" (subscript_expression "param_1[0x27]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x2a] = param_1 + 0x30;" (assignment_expression "param_1[0x2a] = param_1 + 0x30" (subscript_expression "param_1[0x2a]" identifier [ number_literal ]) = (binary_expression "param_1 + 0x30" identifier + number_literal)) ;) (expression_statement "uVar1 = 0;" (assignment_expression "uVar1 = 0" identifier = number_literal) ;) (expression_statement "param_1[0x2e] = 0x3f800000;" (assignment_expression "param_1[0x2e] = 0x3f800000" (subscript_expression "param_1[0x2e]" identifier [ number_literal ]) = number_literal) ;) (do_statement "do {\n    *(undefined4 *)((int)param_1 + uVar1 + 0x100) = 0;\n    uVar1 = uVar1 + 4;\n  } while (uVar1 < 0x1c);" do (compound_statement "{\n    *(undefined4 *)((int)param_1 + uVar1 + 0x100) = 0;\n    uVar1 = uVar1 + 4;\n  }" { (expression_statement "*(undefined4 *)((int)param_1 + uVar1 + 0x100) = 0;" (assignment_expression "*(undefined4 *)((int)param_1 + uVar1 + 0x100) = 0" (pointer_expression "*(undefined4 *)((int)param_1 + uVar1 + 0x100)" * (cast_expression "(undefined4 *)((int)param_1 + uVar1 + 0x100)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + uVar1 + 0x100)" ( (binary_expression "(int)param_1 + uVar1 + 0x100" (binary_expression "(int)param_1 + uVar1" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar1 = uVar1 + 4;" (assignment_expression "uVar1 = uVar1 + 4" identifier = (binary_expression "uVar1 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar1 < 0x1c)" ( (binary_expression "uVar1 < 0x1c" identifier < number_literal) )) ;) (expression_statement "param_1[0x40] = param_1 + 0x46;" (assignment_expression "param_1[0x40] = param_1 + 0x46" (subscript_expression "param_1[0x40]" identifier [ number_literal ]) = (binary_expression "param_1 + 0x46" identifier + number_literal)) ;) (expression_statement "param_1[0x47] = param_1 + 0x4d;" (assignment_expression "param_1[0x47] = param_1 + 0x4d" (subscript_expression "param_1[0x47]" identifier [ number_literal ]) = (binary_expression "param_1 + 0x4d" identifier + number_literal)) ;) (expression_statement "param_1[0x44] = 0x3f800000;" (assignment_expression "param_1[0x44] = 0x3f800000" (subscript_expression "param_1[0x44]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x4e] = param_1 + 0x54;" (assignment_expression "param_1[0x4e] = param_1 + 0x54" (subscript_expression "param_1[0x4e]" identifier [ number_literal ]) = (binary_expression "param_1 + 0x54" identifier + number_literal)) ;) (expression_statement "param_1[0x4b] = 0x3f800000;" (assignment_expression "param_1[0x4b] = 0x3f800000" (subscript_expression "param_1[0x4b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x41] = 1;" (assignment_expression "param_1[0x41] = 1" (subscript_expression "param_1[0x41]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x42] = 0;" (assignment_expression "param_1[0x42] = 0" (subscript_expression "param_1[0x42]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x43] = 0;" (assignment_expression "param_1[0x43] = 0" (subscript_expression "param_1[0x43]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x45] = 0;" (assignment_expression "param_1[0x45] = 0" (subscript_expression "param_1[0x45]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x46] = 0;" (assignment_expression "param_1[0x46] = 0" (subscript_expression "param_1[0x46]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x48] = 1;" (assignment_expression "param_1[0x48] = 1" (subscript_expression "param_1[0x48]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x49] = 0;" (assignment_expression "param_1[0x49] = 0" (subscript_expression "param_1[0x49]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x4a] = 0;" (assignment_expression "param_1[0x4a] = 0" (subscript_expression "param_1[0x4a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x4c] = 0;" (assignment_expression "param_1[0x4c] = 0" (subscript_expression "param_1[0x4c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x4d] = 0;" (assignment_expression "param_1[0x4d] = 0" (subscript_expression "param_1[0x4d]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x4f] = 1;" (assignment_expression "param_1[0x4f] = 1" (subscript_expression "param_1[0x4f]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x50] = 0;" (assignment_expression "param_1[0x50] = 0" (subscript_expression "param_1[0x50]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x51] = 0;" (assignment_expression "param_1[0x51] = 0" (subscript_expression "param_1[0x51]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x52] = 0x3f800000;" (assignment_expression "param_1[0x52] = 0x3f800000" (subscript_expression "param_1[0x52]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x53] = 0;" (assignment_expression "param_1[0x53] = 0" (subscript_expression "param_1[0x53]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x54] = 0;" (assignment_expression "param_1[0x54] = 0" (subscript_expression "param_1[0x54]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x55] = param_3;" (assignment_expression "param_1[0x55] = param_3" (subscript_expression "param_1[0x55]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0x56] = 0;" (assignment_expression "param_1[0x56] = 0" (subscript_expression "param_1[0x56]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x57] = 0;" (assignment_expression "param_1[0x57] = 0" (subscript_expression "param_1[0x57]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x58] = 0;" (assignment_expression "param_1[0x58] = 0" (subscript_expression "param_1[0x58]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x59] = 0;" (assignment_expression "param_1[0x59] = 0" (subscript_expression "param_1[0x59]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x5a] = 0;" (assignment_expression "param_1[0x5a] = 0" (subscript_expression "param_1[0x5a]" identifier [ number_literal ]) = number_literal) ;) comment (expression_statement "FUN_00173220(param_1 + 0x10,param_2);" (call_expression "FUN_00173220(param_1 + 0x10,param_2)" identifier (argument_list "(param_1 + 0x10,param_2)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) , identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit "/* DWARF original prototype: void Symbol_table(Symbol_table * this, uint count, Version_script_info\n   * version_script) */\n\nvoid __thiscall\ngold::Symbol_table::Symbol_table(Symbol_table *this,uint count,Version_script_info *version_script)\n\n{\n  uint uVar1;\n  _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_true>_>_>\n  *in_stack_ffffffd4;\n  size_t in_stack_ffffffd8;\n  __bucket_type *local_20;\n  \n  __x86_get_pc_thunk_di();\n  this->saw_undefined_ = 0;\n  local_20 = &(this->table_)._M_h._M_single_bucket;\n  (this->table_)._M_h._M_buckets = local_20;\n  *(undefined4 *)&this->offset_ = 0;\n  *(undefined4 *)((int)&this->offset_ + 4) = 0;\n  (this->table_)._M_h._M_bucket_count = 1;\n  (this->table_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n  (this->table_)._M_h._M_element_count = 0;\n  (this->table_)._M_h._M_rehash_policy._M_max_load_factor = 1.0;\n  (this->table_)._M_h._M_rehash_policy._M_next_resize = 0;\n  (this->table_)._M_h._M_single_bucket = (__bucket_type)0x0;\n                    /* try { // try from 00177b3d to 00177b59 has its CatchHandler @ 00177e0b */\n  uVar1 = std::__detail::_Prime_rehash_policy::_M_next_bkt\n                    (&(this->table_)._M_h._M_rehash_policy,count);\n  if ((this->table_)._M_h._M_bucket_count < uVar1) {\n    if (uVar1 == 1) {\n      (this->table_)._M_h._M_single_bucket = (__bucket_type)0x0;\n    }\n    else {\n      local_20 = std::__detail::\n                 _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_true>_>_>\n                 ::_M_allocate_buckets(in_stack_ffffffd4,in_stack_ffffffd8);\n    }\n    (this->table_)._M_h._M_bucket_count = uVar1;\n    (this->table_)._M_h._M_buckets = local_20;\n  }\n                    /* try { // try from 00177b76 to 00177b7a has its CatchHandler @ 00177e04 */\n  Stringpool_template<char>::Stringpool_template(&this->namepool_,1);\n  uVar1 = 0;\n  do {\n    *(undefined4 *)((int)&(this->forwarders_)._M_h._M_buckets + uVar1) = 0;\n    uVar1 = uVar1 + 4;\n  } while (uVar1 < 0x1c);\n  (this->forwarders_)._M_h._M_bucket_count = 1;\n  (this->forwarders_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n  (this->forwarders_)._M_h._M_element_count = 0;\n  (this->forwarders_)._M_h._M_rehash_policy._M_next_resize = 0;\n  (this->forwarders_)._M_h._M_single_bucket = (__bucket_type)0x0;\n  (this->weak_aliases_)._M_h._M_bucket_count = 1;\n  (this->weak_aliases_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n  (this->weak_aliases_)._M_h._M_element_count = 0;\n  (this->weak_aliases_)._M_h._M_rehash_policy._M_next_resize = 0;\n  (this->weak_aliases_)._M_h._M_single_bucket = (__bucket_type)0x0;\n  (this->commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_start = (pointer)0x0;\n  (this->commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_finish = (pointer)0x0;\n  (this->commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0;\n  (this->tls_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_start = (pointer)0x0;\n  (this->tls_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_finish = (pointer)0x0;\n  (this->tls_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0;\n  (this->small_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_start = (pointer)0x0;\n  (this->small_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_finish = (pointer)0x0;\n  (this->small_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0;\n  (this->large_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_start = (pointer)0x0;\n  (this->large_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_finish = (pointer)0x0;\n  (this->large_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0;\n  (this->forced_locals_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_start = (pointer)0x0;\n  (this->forced_locals_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_finish = (pointer)0x0;\n  (this->forced_locals_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0;\n  (this->forwarders_)._M_h._M_buckets = &(this->forwarders_)._M_h._M_single_bucket;\n  (this->forwarders_)._M_h._M_rehash_policy._M_max_load_factor = 1.0;\n  (this->weak_aliases_)._M_h._M_buckets = &(this->weak_aliases_)._M_h._M_single_bucket;\n  uVar1 = 0;\n  (this->weak_aliases_)._M_h._M_rehash_policy._M_max_load_factor = 1.0;\n  do {\n    *(undefined4 *)((int)&(this->warnings_).warnings_._M_h._M_buckets + uVar1) = 0;\n    uVar1 = uVar1 + 4;\n  } while (uVar1 < 0x1c);\n  (this->warnings_).warnings_._M_h._M_buckets = &(this->warnings_).warnings_._M_h._M_single_bucket;\n  (this->candidate_odr_violations_)._M_h._M_buckets =\n       &(this->candidate_odr_violations_)._M_h._M_single_bucket;\n  (this->warnings_).warnings_._M_h._M_rehash_policy._M_max_load_factor = 1.0;\n  (this->copied_symbol_dynobjs_)._M_h._M_buckets =\n       &(this->copied_symbol_dynobjs_)._M_h._M_single_bucket;\n  (this->candidate_odr_violations_)._M_h._M_rehash_policy._M_max_load_factor = 1.0;\n  (this->warnings_).warnings_._M_h._M_bucket_count = 1;\n  (this->warnings_).warnings_._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n  (this->warnings_).warnings_._M_h._M_element_count = 0;\n  (this->warnings_).warnings_._M_h._M_rehash_policy._M_next_resize = 0;\n  (this->warnings_).warnings_._M_h._M_single_bucket = (__bucket_type)0x0;\n  (this->candidate_odr_violations_)._M_h._M_bucket_count = 1;\n  (this->candidate_odr_violations_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n  (this->candidate_odr_violations_)._M_h._M_element_count = 0;\n  (this->candidate_odr_violations_)._M_h._M_rehash_policy._M_next_resize = 0;\n  (this->candidate_odr_violations_)._M_h._M_single_bucket = (__bucket_type)0x0;\n  (this->copied_symbol_dynobjs_)._M_h._M_bucket_count = 1;\n  (this->copied_symbol_dynobjs_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n  (this->copied_symbol_dynobjs_)._M_h._M_element_count = 0;\n  (this->copied_symbol_dynobjs_)._M_h._M_rehash_policy._M_max_load_factor = 1.0;\n  (this->copied_symbol_dynobjs_)._M_h._M_rehash_policy._M_next_resize = 0;\n  (this->copied_symbol_dynobjs_)._M_h._M_single_bucket = (__bucket_type)0x0;\n  this->version_script_ = version_script;\n  this->gc_ = (Garbage_collection *)0x0;\n  this->icf_ = (Icf *)0x0;\n  (this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_start = (pointer)0x0;\n  (this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_finish = (pointer)0x0;\n  (this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0;\n                    /* try { // try from 00177dd8 to 00177ddc has its CatchHandler @ 00177dfc */\n  Stringpool_template<char>::reserve(&this->namepool_,count);\n  return;\n}\n\n" comment (function_definition "void __thiscall\ngold::Symbol_table::Symbol_table(Symbol_table *this,uint count,Version_script_info *version_script)\n\n{\n  uint uVar1;\n  _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_true>_>_>\n  *in_stack_ffffffd4;\n  size_t in_stack_ffffffd8;\n  __bucket_type *local_20;\n  \n  __x86_get_pc_thunk_di();\n  this->saw_undefined_ = 0;\n  local_20 = &(this->table_)._M_h._M_single_bucket;\n  (this->table_)._M_h._M_buckets = local_20;\n  *(undefined4 *)&this->offset_ = 0;\n  *(undefined4 *)((int)&this->offset_ + 4) = 0;\n  (this->table_)._M_h._M_bucket_count = 1;\n  (this->table_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n  (this->table_)._M_h._M_element_count = 0;\n  (this->table_)._M_h._M_rehash_policy._M_max_load_factor = 1.0;\n  (this->table_)._M_h._M_rehash_policy._M_next_resize = 0;\n  (this->table_)._M_h._M_single_bucket = (__bucket_type)0x0;\n                    /* try { // try from 00177b3d to 00177b59 has its CatchHandler @ 00177e0b */\n  uVar1 = std::__detail::_Prime_rehash_policy::_M_next_bkt\n                    (&(this->table_)._M_h._M_rehash_policy,count);\n  if ((this->table_)._M_h._M_bucket_count < uVar1) {\n    if (uVar1 == 1) {\n      (this->table_)._M_h._M_single_bucket = (__bucket_type)0x0;\n    }\n    else {\n      local_20 = std::__detail::\n                 _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_true>_>_>\n                 ::_M_allocate_buckets(in_stack_ffffffd4,in_stack_ffffffd8);\n    }\n    (this->table_)._M_h._M_bucket_count = uVar1;\n    (this->table_)._M_h._M_buckets = local_20;\n  }\n                    /* try { // try from 00177b76 to 00177b7a has its CatchHandler @ 00177e04 */\n  Stringpool_template<char>::Stringpool_template(&this->namepool_,1);\n  uVar1 = 0;\n  do {\n    *(undefined4 *)((int)&(this->forwarders_)._M_h._M_buckets + uVar1) = 0;\n    uVar1 = uVar1 + 4;\n  } while (uVar1 < 0x1c);\n  (this->forwarders_)._M_h._M_bucket_count = 1;\n  (this->forwarders_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n  (this->forwarders_)._M_h._M_element_count = 0;\n  (this->forwarders_)._M_h._M_rehash_policy._M_next_resize = 0;\n  (this->forwarders_)._M_h._M_single_bucket = (__bucket_type)0x0;\n  (this->weak_aliases_)._M_h._M_bucket_count = 1;\n  (this->weak_aliases_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n  (this->weak_aliases_)._M_h._M_element_count = 0;\n  (this->weak_aliases_)._M_h._M_rehash_policy._M_next_resize = 0;\n  (this->weak_aliases_)._M_h._M_single_bucket = (__bucket_type)0x0;\n  (this->commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_start = (pointer)0x0;\n  (this->commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_finish = (pointer)0x0;\n  (this->commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0;\n  (this->tls_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_start = (pointer)0x0;\n  (this->tls_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_finish = (pointer)0x0;\n  (this->tls_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0;\n  (this->small_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_start = (pointer)0x0;\n  (this->small_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_finish = (pointer)0x0;\n  (this->small_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0;\n  (this->large_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_start = (pointer)0x0;\n  (this->large_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_finish = (pointer)0x0;\n  (this->large_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0;\n  (this->forced_locals_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_start = (pointer)0x0;\n  (this->forced_locals_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_finish = (pointer)0x0;\n  (this->forced_locals_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0;\n  (this->forwarders_)._M_h._M_buckets = &(this->forwarders_)._M_h._M_single_bucket;\n  (this->forwarders_)._M_h._M_rehash_policy._M_max_load_factor = 1.0;\n  (this->weak_aliases_)._M_h._M_buckets = &(this->weak_aliases_)._M_h._M_single_bucket;\n  uVar1 = 0;\n  (this->weak_aliases_)._M_h._M_rehash_policy._M_max_load_factor = 1.0;\n  do {\n    *(undefined4 *)((int)&(this->warnings_).warnings_._M_h._M_buckets + uVar1) = 0;\n    uVar1 = uVar1 + 4;\n  } while (uVar1 < 0x1c);\n  (this->warnings_).warnings_._M_h._M_buckets = &(this->warnings_).warnings_._M_h._M_single_bucket;\n  (this->candidate_odr_violations_)._M_h._M_buckets =\n       &(this->candidate_odr_violations_)._M_h._M_single_bucket;\n  (this->warnings_).warnings_._M_h._M_rehash_policy._M_max_load_factor = 1.0;\n  (this->copied_symbol_dynobjs_)._M_h._M_buckets =\n       &(this->copied_symbol_dynobjs_)._M_h._M_single_bucket;\n  (this->candidate_odr_violations_)._M_h._M_rehash_policy._M_max_load_factor = 1.0;\n  (this->warnings_).warnings_._M_h._M_bucket_count = 1;\n  (this->warnings_).warnings_._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n  (this->warnings_).warnings_._M_h._M_element_count = 0;\n  (this->warnings_).warnings_._M_h._M_rehash_policy._M_next_resize = 0;\n  (this->warnings_).warnings_._M_h._M_single_bucket = (__bucket_type)0x0;\n  (this->candidate_odr_violations_)._M_h._M_bucket_count = 1;\n  (this->candidate_odr_violations_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n  (this->candidate_odr_violations_)._M_h._M_element_count = 0;\n  (this->candidate_odr_violations_)._M_h._M_rehash_policy._M_next_resize = 0;\n  (this->candidate_odr_violations_)._M_h._M_single_bucket = (__bucket_type)0x0;\n  (this->copied_symbol_dynobjs_)._M_h._M_bucket_count = 1;\n  (this->copied_symbol_dynobjs_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n  (this->copied_symbol_dynobjs_)._M_h._M_element_count = 0;\n  (this->copied_symbol_dynobjs_)._M_h._M_rehash_policy._M_max_load_factor = 1.0;\n  (this->copied_symbol_dynobjs_)._M_h._M_rehash_policy._M_next_resize = 0;\n  (this->copied_symbol_dynobjs_)._M_h._M_single_bucket = (__bucket_type)0x0;\n  this->version_script_ = version_script;\n  this->gc_ = (Garbage_collection *)0x0;\n  this->icf_ = (Icf *)0x0;\n  (this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_start = (pointer)0x0;\n  (this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_finish = (pointer)0x0;\n  (this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0;\n                    /* try { // try from 00177dd8 to 00177ddc has its CatchHandler @ 00177dfc */\n  Stringpool_template<char>::reserve(&this->namepool_,count);\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Symbol_table::" identifier : : identifier : :) (function_declarator "Symbol_table(Symbol_table *this,uint count,Version_script_info *version_script)" identifier (parameter_list "(Symbol_table *this,uint count,Version_script_info *version_script)" ( (parameter_declaration "Symbol_table *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "uint count" type_identifier identifier) , (parameter_declaration "Version_script_info *version_script" type_identifier (pointer_declarator "*version_script" * identifier)) ))) (compound_statement "{\n  uint uVar1;\n  _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_true>_>_>\n  *in_stack_ffffffd4;\n  size_t in_stack_ffffffd8;\n  __bucket_type *local_20;\n  \n  __x86_get_pc_thunk_di();\n  this->saw_undefined_ = 0;\n  local_20 = &(this->table_)._M_h._M_single_bucket;\n  (this->table_)._M_h._M_buckets = local_20;\n  *(undefined4 *)&this->offset_ = 0;\n  *(undefined4 *)((int)&this->offset_ + 4) = 0;\n  (this->table_)._M_h._M_bucket_count = 1;\n  (this->table_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n  (this->table_)._M_h._M_element_count = 0;\n  (this->table_)._M_h._M_rehash_policy._M_max_load_factor = 1.0;\n  (this->table_)._M_h._M_rehash_policy._M_next_resize = 0;\n  (this->table_)._M_h._M_single_bucket = (__bucket_type)0x0;\n                    /* try { // try from 00177b3d to 00177b59 has its CatchHandler @ 00177e0b */\n  uVar1 = std::__detail::_Prime_rehash_policy::_M_next_bkt\n                    (&(this->table_)._M_h._M_rehash_policy,count);\n  if ((this->table_)._M_h._M_bucket_count < uVar1) {\n    if (uVar1 == 1) {\n      (this->table_)._M_h._M_single_bucket = (__bucket_type)0x0;\n    }\n    else {\n      local_20 = std::__detail::\n                 _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_true>_>_>\n                 ::_M_allocate_buckets(in_stack_ffffffd4,in_stack_ffffffd8);\n    }\n    (this->table_)._M_h._M_bucket_count = uVar1;\n    (this->table_)._M_h._M_buckets = local_20;\n  }\n                    /* try { // try from 00177b76 to 00177b7a has its CatchHandler @ 00177e04 */\n  Stringpool_template<char>::Stringpool_template(&this->namepool_,1);\n  uVar1 = 0;\n  do {\n    *(undefined4 *)((int)&(this->forwarders_)._M_h._M_buckets + uVar1) = 0;\n    uVar1 = uVar1 + 4;\n  } while (uVar1 < 0x1c);\n  (this->forwarders_)._M_h._M_bucket_count = 1;\n  (this->forwarders_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n  (this->forwarders_)._M_h._M_element_count = 0;\n  (this->forwarders_)._M_h._M_rehash_policy._M_next_resize = 0;\n  (this->forwarders_)._M_h._M_single_bucket = (__bucket_type)0x0;\n  (this->weak_aliases_)._M_h._M_bucket_count = 1;\n  (this->weak_aliases_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n  (this->weak_aliases_)._M_h._M_element_count = 0;\n  (this->weak_aliases_)._M_h._M_rehash_policy._M_next_resize = 0;\n  (this->weak_aliases_)._M_h._M_single_bucket = (__bucket_type)0x0;\n  (this->commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_start = (pointer)0x0;\n  (this->commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_finish = (pointer)0x0;\n  (this->commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0;\n  (this->tls_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_start = (pointer)0x0;\n  (this->tls_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_finish = (pointer)0x0;\n  (this->tls_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0;\n  (this->small_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_start = (pointer)0x0;\n  (this->small_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_finish = (pointer)0x0;\n  (this->small_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0;\n  (this->large_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_start = (pointer)0x0;\n  (this->large_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_finish = (pointer)0x0;\n  (this->large_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0;\n  (this->forced_locals_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_start = (pointer)0x0;\n  (this->forced_locals_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_finish = (pointer)0x0;\n  (this->forced_locals_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0;\n  (this->forwarders_)._M_h._M_buckets = &(this->forwarders_)._M_h._M_single_bucket;\n  (this->forwarders_)._M_h._M_rehash_policy._M_max_load_factor = 1.0;\n  (this->weak_aliases_)._M_h._M_buckets = &(this->weak_aliases_)._M_h._M_single_bucket;\n  uVar1 = 0;\n  (this->weak_aliases_)._M_h._M_rehash_policy._M_max_load_factor = 1.0;\n  do {\n    *(undefined4 *)((int)&(this->warnings_).warnings_._M_h._M_buckets + uVar1) = 0;\n    uVar1 = uVar1 + 4;\n  } while (uVar1 < 0x1c);\n  (this->warnings_).warnings_._M_h._M_buckets = &(this->warnings_).warnings_._M_h._M_single_bucket;\n  (this->candidate_odr_violations_)._M_h._M_buckets =\n       &(this->candidate_odr_violations_)._M_h._M_single_bucket;\n  (this->warnings_).warnings_._M_h._M_rehash_policy._M_max_load_factor = 1.0;\n  (this->copied_symbol_dynobjs_)._M_h._M_buckets =\n       &(this->copied_symbol_dynobjs_)._M_h._M_single_bucket;\n  (this->candidate_odr_violations_)._M_h._M_rehash_policy._M_max_load_factor = 1.0;\n  (this->warnings_).warnings_._M_h._M_bucket_count = 1;\n  (this->warnings_).warnings_._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n  (this->warnings_).warnings_._M_h._M_element_count = 0;\n  (this->warnings_).warnings_._M_h._M_rehash_policy._M_next_resize = 0;\n  (this->warnings_).warnings_._M_h._M_single_bucket = (__bucket_type)0x0;\n  (this->candidate_odr_violations_)._M_h._M_bucket_count = 1;\n  (this->candidate_odr_violations_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n  (this->candidate_odr_violations_)._M_h._M_element_count = 0;\n  (this->candidate_odr_violations_)._M_h._M_rehash_policy._M_next_resize = 0;\n  (this->candidate_odr_violations_)._M_h._M_single_bucket = (__bucket_type)0x0;\n  (this->copied_symbol_dynobjs_)._M_h._M_bucket_count = 1;\n  (this->copied_symbol_dynobjs_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n  (this->copied_symbol_dynobjs_)._M_h._M_element_count = 0;\n  (this->copied_symbol_dynobjs_)._M_h._M_rehash_policy._M_max_load_factor = 1.0;\n  (this->copied_symbol_dynobjs_)._M_h._M_rehash_policy._M_next_resize = 0;\n  (this->copied_symbol_dynobjs_)._M_h._M_single_bucket = (__bucket_type)0x0;\n  this->version_script_ = version_script;\n  this->gc_ = (Garbage_collection *)0x0;\n  this->icf_ = (Icf *)0x0;\n  (this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_start = (pointer)0x0;\n  (this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_finish = (pointer)0x0;\n  (this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0;\n                    /* try { // try from 00177dd8 to 00177ddc has its CatchHandler @ 00177dfc */\n  Stringpool_template<char>::reserve(&this->namepool_,count);\n  return;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (ERROR "_Hashtable_alloc<std::allocator<std::" (binary_expression "_Hashtable_alloc<std::allocator<std" (binary_expression "_Hashtable_alloc<std" identifier < identifier) (ERROR "::allocator" : : identifier) < identifier) : :) (labeled_statement "__detail::_Hash_node<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_true>_>_>\n  *in_stack_ffffffd4;" statement_identifier (ERROR "::_Hash_node<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold:" : : (binary_expression "_Hash_node<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "pair<unsigned_int,_unsigned_int>,_gold" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>,_gold" identifier > (ERROR "," ,) identifier)) :) : (expression_statement "Symbol*>,_true>_>_>\n  *in_stack_ffffffd4;" (binary_expression "Symbol*>,_true>_>_>\n  *in_stack_ffffffd4" (binary_expression "Symbol*>,_true>_>_" (binary_expression "Symbol*>,_true>_" (binary_expression "Symbol*>,_true" identifier * (ERROR ">," > ,) identifier) > identifier) > identifier) > (pointer_expression "*in_stack_ffffffd4" * identifier)) ;)) (declaration "size_t in_stack_ffffffd8;" primitive_type identifier ;) (declaration "__bucket_type *local_20;" type_identifier (pointer_declarator "*local_20" * identifier) ;) (expression_statement "__x86_get_pc_thunk_di();" (call_expression "__x86_get_pc_thunk_di()" identifier (argument_list "()" ( ))) ;) (expression_statement "this->saw_undefined_ = 0;" (assignment_expression "this->saw_undefined_ = 0" (field_expression "this->saw_undefined_" identifier -> field_identifier) = number_literal) ;) (expression_statement "local_20 = &(this->table_)._M_h._M_single_bucket;" (assignment_expression "local_20 = &(this->table_)._M_h._M_single_bucket" identifier = (pointer_expression "&(this->table_)._M_h._M_single_bucket" & (field_expression "(this->table_)._M_h._M_single_bucket" (field_expression "(this->table_)._M_h" (parenthesized_expression "(this->table_)" ( (field_expression "this->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) ;) (expression_statement "(this->table_)._M_h._M_buckets = local_20;" (assignment_expression "(this->table_)._M_h._M_buckets = local_20" (field_expression "(this->table_)._M_h._M_buckets" (field_expression "(this->table_)._M_h" (parenthesized_expression "(this->table_)" ( (field_expression "this->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "*(undefined4 *)&this->offset_ = 0;" (assignment_expression "*(undefined4 *)&this->offset_ = 0" (pointer_expression "*(undefined4 *)&this->offset_" * (cast_expression "(undefined4 *)&this->offset_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->offset_" & (field_expression "this->offset_" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&this->offset_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&this->offset_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&this->offset_ + 4)" * (cast_expression "(undefined4 *)((int)&this->offset_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&this->offset_ + 4)" ( (binary_expression "(int)&this->offset_ + 4" (cast_expression "(int)&this->offset_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&this->offset_" & (field_expression "this->offset_" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "(this->table_)._M_h._M_bucket_count = 1;" (assignment_expression "(this->table_)._M_h._M_bucket_count = 1" (field_expression "(this->table_)._M_h._M_bucket_count" (field_expression "(this->table_)._M_h" (parenthesized_expression "(this->table_)" ( (field_expression "this->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(this->table_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;" (assignment_expression "(this->table_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0" (field_expression "(this->table_)._M_h._M_before_begin._M_nxt" (field_expression "(this->table_)._M_h._M_before_begin" (field_expression "(this->table_)._M_h" (parenthesized_expression "(this->table_)" ( (field_expression "this->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(this->table_)._M_h._M_element_count = 0;" (assignment_expression "(this->table_)._M_h._M_element_count = 0" (field_expression "(this->table_)._M_h._M_element_count" (field_expression "(this->table_)._M_h" (parenthesized_expression "(this->table_)" ( (field_expression "this->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(this->table_)._M_h._M_rehash_policy._M_max_load_factor = 1.0;" (assignment_expression "(this->table_)._M_h._M_rehash_policy._M_max_load_factor = 1.0" (field_expression "(this->table_)._M_h._M_rehash_policy._M_max_load_factor" (field_expression "(this->table_)._M_h._M_rehash_policy" (field_expression "(this->table_)._M_h" (parenthesized_expression "(this->table_)" ( (field_expression "this->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(this->table_)._M_h._M_rehash_policy._M_next_resize = 0;" (assignment_expression "(this->table_)._M_h._M_rehash_policy._M_next_resize = 0" (field_expression "(this->table_)._M_h._M_rehash_policy._M_next_resize" (field_expression "(this->table_)._M_h._M_rehash_policy" (field_expression "(this->table_)._M_h" (parenthesized_expression "(this->table_)" ( (field_expression "this->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(this->table_)._M_h._M_single_bucket = (__bucket_type)0x0;" (assignment_expression "(this->table_)._M_h._M_single_bucket = (__bucket_type)0x0" (field_expression "(this->table_)._M_h._M_single_bucket" (field_expression "(this->table_)._M_h" (parenthesized_expression "(this->table_)" ( (field_expression "this->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (cast_expression "(__bucket_type)0x0" ( (type_descriptor "__bucket_type" type_identifier) ) number_literal)) ;) comment (ERROR "uVar1 = std::" (assignment_expression "uVar1 = std" identifier = identifier) : :) (labeled_statement "__detail::_Prime_rehash_policy::_M_next_bkt\n                    (&(this->table_)._M_h._M_rehash_policy,count);" statement_identifier : (ERROR ":" :) (labeled_statement "_Prime_rehash_policy::_M_next_bkt\n                    (&(this->table_)._M_h._M_rehash_policy,count);" statement_identifier : (ERROR ":" :) (expression_statement "_M_next_bkt\n                    (&(this->table_)._M_h._M_rehash_policy,count);" (call_expression "_M_next_bkt\n                    (&(this->table_)._M_h._M_rehash_policy,count)" identifier (argument_list "(&(this->table_)._M_h._M_rehash_policy,count)" ( (pointer_expression "&(this->table_)._M_h._M_rehash_policy" & (field_expression "(this->table_)._M_h._M_rehash_policy" (field_expression "(this->table_)._M_h" (parenthesized_expression "(this->table_)" ( (field_expression "this->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) , identifier ))) ;))) (if_statement "if ((this->table_)._M_h._M_bucket_count < uVar1) {\n    if (uVar1 == 1) {\n      (this->table_)._M_h._M_single_bucket = (__bucket_type)0x0;\n    }\n    else {\n      local_20 = std::__detail::\n                 _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_true>_>_>\n                 ::_M_allocate_buckets(in_stack_ffffffd4,in_stack_ffffffd8);\n    }\n    (this->table_)._M_h._M_bucket_count = uVar1;\n    (this->table_)._M_h._M_buckets = local_20;\n  }" if (parenthesized_expression "((this->table_)._M_h._M_bucket_count < uVar1)" ( (binary_expression "(this->table_)._M_h._M_bucket_count < uVar1" (field_expression "(this->table_)._M_h._M_bucket_count" (field_expression "(this->table_)._M_h" (parenthesized_expression "(this->table_)" ( (field_expression "this->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier) < identifier) )) (compound_statement "{\n    if (uVar1 == 1) {\n      (this->table_)._M_h._M_single_bucket = (__bucket_type)0x0;\n    }\n    else {\n      local_20 = std::__detail::\n                 _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_true>_>_>\n                 ::_M_allocate_buckets(in_stack_ffffffd4,in_stack_ffffffd8);\n    }\n    (this->table_)._M_h._M_bucket_count = uVar1;\n    (this->table_)._M_h._M_buckets = local_20;\n  }" { (if_statement "if (uVar1 == 1) {\n      (this->table_)._M_h._M_single_bucket = (__bucket_type)0x0;\n    }\n    else {\n      local_20 = std::__detail::\n                 _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_true>_>_>\n                 ::_M_allocate_buckets(in_stack_ffffffd4,in_stack_ffffffd8);\n    }" if (parenthesized_expression "(uVar1 == 1)" ( (binary_expression "uVar1 == 1" identifier == number_literal) )) (compound_statement "{\n      (this->table_)._M_h._M_single_bucket = (__bucket_type)0x0;\n    }" { (expression_statement "(this->table_)._M_h._M_single_bucket = (__bucket_type)0x0;" (assignment_expression "(this->table_)._M_h._M_single_bucket = (__bucket_type)0x0" (field_expression "(this->table_)._M_h._M_single_bucket" (field_expression "(this->table_)._M_h" (parenthesized_expression "(this->table_)" ( (field_expression "this->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (cast_expression "(__bucket_type)0x0" ( (type_descriptor "__bucket_type" type_identifier) ) number_literal)) ;) }) (else_clause "else {\n      local_20 = std::__detail::\n                 _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_true>_>_>\n                 ::_M_allocate_buckets(in_stack_ffffffd4,in_stack_ffffffd8);\n    }" else (compound_statement "{\n      local_20 = std::__detail::\n                 _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_true>_>_>\n                 ::_M_allocate_buckets(in_stack_ffffffd4,in_stack_ffffffd8);\n    }" { (ERROR "local_20 = std::" (assignment_expression "local_20 = std" identifier = identifier) : :) (labeled_statement "__detail::\n                 _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_true>_>_>\n                 ::_M_allocate_buckets(in_stack_ffffffd4,in_stack_ffffffd8);" statement_identifier (ERROR "::\n                 _Hashtable_alloc<std::allocator<std:" : : (binary_expression "_Hashtable_alloc<std" identifier < identifier) : : (binary_expression "allocator<std" identifier < identifier) :) : (labeled_statement "__detail::_Hash_node<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_true>_>_>\n                 ::_M_allocate_buckets(in_stack_ffffffd4,in_stack_ffffffd8);" statement_identifier (ERROR "::_Hash_node<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold:" : : (binary_expression "_Hash_node<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "pair<unsigned_int,_unsigned_int>,_gold" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>,_gold" identifier > (ERROR "," ,) identifier)) :) : (expression_statement "Symbol*>,_true>_>_>\n                 ::_M_allocate_buckets(in_stack_ffffffd4,in_stack_ffffffd8);" (binary_expression "Symbol*>,_true>_>_>\n                 ::_M_allocate_buckets(in_stack_ffffffd4,in_stack_ffffffd8)" (binary_expression "Symbol*>,_true>_>_" (binary_expression "Symbol*>,_true>_" (binary_expression "Symbol*>,_true" identifier * (ERROR ">," > ,) identifier) > identifier) > identifier) > (ERROR "::" : :) (call_expression "_M_allocate_buckets(in_stack_ffffffd4,in_stack_ffffffd8)" identifier (argument_list "(in_stack_ffffffd4,in_stack_ffffffd8)" ( identifier , identifier )))) ;))) }))) (expression_statement "(this->table_)._M_h._M_bucket_count = uVar1;" (assignment_expression "(this->table_)._M_h._M_bucket_count = uVar1" (field_expression "(this->table_)._M_h._M_bucket_count" (field_expression "(this->table_)._M_h" (parenthesized_expression "(this->table_)" ( (field_expression "this->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "(this->table_)._M_h._M_buckets = local_20;" (assignment_expression "(this->table_)._M_h._M_buckets = local_20" (field_expression "(this->table_)._M_h._M_buckets" (field_expression "(this->table_)._M_h" (parenthesized_expression "(this->table_)" ( (field_expression "this->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = identifier) ;) })) comment (expression_statement "Stringpool_template<char>::Stringpool_template(&this->namepool_,1);" (binary_expression "Stringpool_template<char>::Stringpool_template(&this->namepool_,1)" (binary_expression "Stringpool_template<char" identifier < identifier) > (ERROR "::" : :) (call_expression "Stringpool_template(&this->namepool_,1)" identifier (argument_list "(&this->namepool_,1)" ( (pointer_expression "&this->namepool_" & (field_expression "this->namepool_" identifier -> field_identifier)) , number_literal )))) ;) (expression_statement "uVar1 = 0;" (assignment_expression "uVar1 = 0" identifier = number_literal) ;) (do_statement "do {\n    *(undefined4 *)((int)&(this->forwarders_)._M_h._M_buckets + uVar1) = 0;\n    uVar1 = uVar1 + 4;\n  } while (uVar1 < 0x1c);" do (compound_statement "{\n    *(undefined4 *)((int)&(this->forwarders_)._M_h._M_buckets + uVar1) = 0;\n    uVar1 = uVar1 + 4;\n  }" { (expression_statement "*(undefined4 *)((int)&(this->forwarders_)._M_h._M_buckets + uVar1) = 0;" (assignment_expression "*(undefined4 *)((int)&(this->forwarders_)._M_h._M_buckets + uVar1) = 0" (pointer_expression "*(undefined4 *)((int)&(this->forwarders_)._M_h._M_buckets + uVar1)" * (cast_expression "(undefined4 *)((int)&(this->forwarders_)._M_h._M_buckets + uVar1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(this->forwarders_)._M_h._M_buckets + uVar1)" ( (binary_expression "(int)&(this->forwarders_)._M_h._M_buckets + uVar1" (cast_expression "(int)&(this->forwarders_)._M_h._M_buckets" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(this->forwarders_)._M_h._M_buckets" & (field_expression "(this->forwarders_)._M_h._M_buckets" (field_expression "(this->forwarders_)._M_h" (parenthesized_expression "(this->forwarders_)" ( (field_expression "this->forwarders_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) + identifier) )))) = number_literal) ;) (expression_statement "uVar1 = uVar1 + 4;" (assignment_expression "uVar1 = uVar1 + 4" identifier = (binary_expression "uVar1 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar1 < 0x1c)" ( (binary_expression "uVar1 < 0x1c" identifier < number_literal) )) ;) (expression_statement "(this->forwarders_)._M_h._M_bucket_count = 1;" (assignment_expression "(this->forwarders_)._M_h._M_bucket_count = 1" (field_expression "(this->forwarders_)._M_h._M_bucket_count" (field_expression "(this->forwarders_)._M_h" (parenthesized_expression "(this->forwarders_)" ( (field_expression "this->forwarders_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(this->forwarders_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;" (assignment_expression "(this->forwarders_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0" (field_expression "(this->forwarders_)._M_h._M_before_begin._M_nxt" (field_expression "(this->forwarders_)._M_h._M_before_begin" (field_expression "(this->forwarders_)._M_h" (parenthesized_expression "(this->forwarders_)" ( (field_expression "this->forwarders_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(this->forwarders_)._M_h._M_element_count = 0;" (assignment_expression "(this->forwarders_)._M_h._M_element_count = 0" (field_expression "(this->forwarders_)._M_h._M_element_count" (field_expression "(this->forwarders_)._M_h" (parenthesized_expression "(this->forwarders_)" ( (field_expression "this->forwarders_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(this->forwarders_)._M_h._M_rehash_policy._M_next_resize = 0;" (assignment_expression "(this->forwarders_)._M_h._M_rehash_policy._M_next_resize = 0" (field_expression "(this->forwarders_)._M_h._M_rehash_policy._M_next_resize" (field_expression "(this->forwarders_)._M_h._M_rehash_policy" (field_expression "(this->forwarders_)._M_h" (parenthesized_expression "(this->forwarders_)" ( (field_expression "this->forwarders_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(this->forwarders_)._M_h._M_single_bucket = (__bucket_type)0x0;" (assignment_expression "(this->forwarders_)._M_h._M_single_bucket = (__bucket_type)0x0" (field_expression "(this->forwarders_)._M_h._M_single_bucket" (field_expression "(this->forwarders_)._M_h" (parenthesized_expression "(this->forwarders_)" ( (field_expression "this->forwarders_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (cast_expression "(__bucket_type)0x0" ( (type_descriptor "__bucket_type" type_identifier) ) number_literal)) ;) (expression_statement "(this->weak_aliases_)._M_h._M_bucket_count = 1;" (assignment_expression "(this->weak_aliases_)._M_h._M_bucket_count = 1" (field_expression "(this->weak_aliases_)._M_h._M_bucket_count" (field_expression "(this->weak_aliases_)._M_h" (parenthesized_expression "(this->weak_aliases_)" ( (field_expression "this->weak_aliases_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(this->weak_aliases_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;" (assignment_expression "(this->weak_aliases_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0" (field_expression "(this->weak_aliases_)._M_h._M_before_begin._M_nxt" (field_expression "(this->weak_aliases_)._M_h._M_before_begin" (field_expression "(this->weak_aliases_)._M_h" (parenthesized_expression "(this->weak_aliases_)" ( (field_expression "this->weak_aliases_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(this->weak_aliases_)._M_h._M_element_count = 0;" (assignment_expression "(this->weak_aliases_)._M_h._M_element_count = 0" (field_expression "(this->weak_aliases_)._M_h._M_element_count" (field_expression "(this->weak_aliases_)._M_h" (parenthesized_expression "(this->weak_aliases_)" ( (field_expression "this->weak_aliases_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(this->weak_aliases_)._M_h._M_rehash_policy._M_next_resize = 0;" (assignment_expression "(this->weak_aliases_)._M_h._M_rehash_policy._M_next_resize = 0" (field_expression "(this->weak_aliases_)._M_h._M_rehash_policy._M_next_resize" (field_expression "(this->weak_aliases_)._M_h._M_rehash_policy" (field_expression "(this->weak_aliases_)._M_h" (parenthesized_expression "(this->weak_aliases_)" ( (field_expression "this->weak_aliases_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(this->weak_aliases_)._M_h._M_single_bucket = (__bucket_type)0x0;" (assignment_expression "(this->weak_aliases_)._M_h._M_single_bucket = (__bucket_type)0x0" (field_expression "(this->weak_aliases_)._M_h._M_single_bucket" (field_expression "(this->weak_aliases_)._M_h" (parenthesized_expression "(this->weak_aliases_)" ( (field_expression "this->weak_aliases_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (cast_expression "(__bucket_type)0x0" ( (type_descriptor "__bucket_type" type_identifier) ) number_literal)) ;) (expression_statement "(this->commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_start = (pointer)0x0;" (assignment_expression "(this->commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_start = (pointer)0x0" (field_expression "(this->commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_start" (field_expression "(this->commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "(this->commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "(this->commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "(this->commons_).super__Vector_base<gold::Symbol*,_std" (binary_expression "(this->commons_).super__Vector_base<gold" (field_expression "(this->commons_).super__Vector_base" (parenthesized_expression "(this->commons_)" ( (field_expression "this->commons_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "(this->commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_finish = (pointer)0x0;" (assignment_expression "(this->commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_finish = (pointer)0x0" (field_expression "(this->commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_finish" (field_expression "(this->commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "(this->commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "(this->commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "(this->commons_).super__Vector_base<gold::Symbol*,_std" (binary_expression "(this->commons_).super__Vector_base<gold" (field_expression "(this->commons_).super__Vector_base" (parenthesized_expression "(this->commons_)" ( (field_expression "this->commons_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "(this->commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0;" (assignment_expression "(this->commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0" (field_expression "(this->commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_end_of_storage" (field_expression "(this->commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "(this->commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "(this->commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "(this->commons_).super__Vector_base<gold::Symbol*,_std" (binary_expression "(this->commons_).super__Vector_base<gold" (field_expression "(this->commons_).super__Vector_base" (parenthesized_expression "(this->commons_)" ( (field_expression "this->commons_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "(this->tls_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_start = (pointer)0x0;" (assignment_expression "(this->tls_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_start = (pointer)0x0" (field_expression "(this->tls_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_start" (field_expression "(this->tls_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "(this->tls_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "(this->tls_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "(this->tls_commons_).super__Vector_base<gold::Symbol*,_std" (binary_expression "(this->tls_commons_).super__Vector_base<gold" (field_expression "(this->tls_commons_).super__Vector_base" (parenthesized_expression "(this->tls_commons_)" ( (field_expression "this->tls_commons_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "(this->tls_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_finish = (pointer)0x0;" (assignment_expression "(this->tls_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_finish = (pointer)0x0" (field_expression "(this->tls_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_finish" (field_expression "(this->tls_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "(this->tls_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "(this->tls_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "(this->tls_commons_).super__Vector_base<gold::Symbol*,_std" (binary_expression "(this->tls_commons_).super__Vector_base<gold" (field_expression "(this->tls_commons_).super__Vector_base" (parenthesized_expression "(this->tls_commons_)" ( (field_expression "this->tls_commons_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "(this->tls_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0;" (assignment_expression "(this->tls_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0" (field_expression "(this->tls_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_end_of_storage" (field_expression "(this->tls_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "(this->tls_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "(this->tls_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "(this->tls_commons_).super__Vector_base<gold::Symbol*,_std" (binary_expression "(this->tls_commons_).super__Vector_base<gold" (field_expression "(this->tls_commons_).super__Vector_base" (parenthesized_expression "(this->tls_commons_)" ( (field_expression "this->tls_commons_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "(this->small_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_start = (pointer)0x0;" (assignment_expression "(this->small_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_start = (pointer)0x0" (field_expression "(this->small_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_start" (field_expression "(this->small_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "(this->small_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "(this->small_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "(this->small_commons_).super__Vector_base<gold::Symbol*,_std" (binary_expression "(this->small_commons_).super__Vector_base<gold" (field_expression "(this->small_commons_).super__Vector_base" (parenthesized_expression "(this->small_commons_)" ( (field_expression "this->small_commons_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "(this->small_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_finish = (pointer)0x0;" (assignment_expression "(this->small_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_finish = (pointer)0x0" (field_expression "(this->small_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_finish" (field_expression "(this->small_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "(this->small_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "(this->small_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "(this->small_commons_).super__Vector_base<gold::Symbol*,_std" (binary_expression "(this->small_commons_).super__Vector_base<gold" (field_expression "(this->small_commons_).super__Vector_base" (parenthesized_expression "(this->small_commons_)" ( (field_expression "this->small_commons_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "(this->small_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0;" (assignment_expression "(this->small_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0" (field_expression "(this->small_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_end_of_storage" (field_expression "(this->small_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "(this->small_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "(this->small_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "(this->small_commons_).super__Vector_base<gold::Symbol*,_std" (binary_expression "(this->small_commons_).super__Vector_base<gold" (field_expression "(this->small_commons_).super__Vector_base" (parenthesized_expression "(this->small_commons_)" ( (field_expression "this->small_commons_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "(this->large_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_start = (pointer)0x0;" (assignment_expression "(this->large_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_start = (pointer)0x0" (field_expression "(this->large_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_start" (field_expression "(this->large_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "(this->large_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "(this->large_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "(this->large_commons_).super__Vector_base<gold::Symbol*,_std" (binary_expression "(this->large_commons_).super__Vector_base<gold" (field_expression "(this->large_commons_).super__Vector_base" (parenthesized_expression "(this->large_commons_)" ( (field_expression "this->large_commons_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "(this->large_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_finish = (pointer)0x0;" (assignment_expression "(this->large_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_finish = (pointer)0x0" (field_expression "(this->large_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_finish" (field_expression "(this->large_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "(this->large_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "(this->large_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "(this->large_commons_).super__Vector_base<gold::Symbol*,_std" (binary_expression "(this->large_commons_).super__Vector_base<gold" (field_expression "(this->large_commons_).super__Vector_base" (parenthesized_expression "(this->large_commons_)" ( (field_expression "this->large_commons_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "(this->large_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0;" (assignment_expression "(this->large_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0" (field_expression "(this->large_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_end_of_storage" (field_expression "(this->large_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "(this->large_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "(this->large_commons_).super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "(this->large_commons_).super__Vector_base<gold::Symbol*,_std" (binary_expression "(this->large_commons_).super__Vector_base<gold" (field_expression "(this->large_commons_).super__Vector_base" (parenthesized_expression "(this->large_commons_)" ( (field_expression "this->large_commons_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "(this->forced_locals_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_start = (pointer)0x0;" (assignment_expression "(this->forced_locals_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_start = (pointer)0x0" (field_expression "(this->forced_locals_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_start" (field_expression "(this->forced_locals_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "(this->forced_locals_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "(this->forced_locals_).super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "(this->forced_locals_).super__Vector_base<gold::Symbol*,_std" (binary_expression "(this->forced_locals_).super__Vector_base<gold" (field_expression "(this->forced_locals_).super__Vector_base" (parenthesized_expression "(this->forced_locals_)" ( (field_expression "this->forced_locals_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "(this->forced_locals_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_finish = (pointer)0x0;" (assignment_expression "(this->forced_locals_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_finish = (pointer)0x0" (field_expression "(this->forced_locals_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_finish" (field_expression "(this->forced_locals_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "(this->forced_locals_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "(this->forced_locals_).super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "(this->forced_locals_).super__Vector_base<gold::Symbol*,_std" (binary_expression "(this->forced_locals_).super__Vector_base<gold" (field_expression "(this->forced_locals_).super__Vector_base" (parenthesized_expression "(this->forced_locals_)" ( (field_expression "this->forced_locals_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "(this->forced_locals_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0;" (assignment_expression "(this->forced_locals_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0" (field_expression "(this->forced_locals_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_end_of_storage" (field_expression "(this->forced_locals_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "(this->forced_locals_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "(this->forced_locals_).super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "(this->forced_locals_).super__Vector_base<gold::Symbol*,_std" (binary_expression "(this->forced_locals_).super__Vector_base<gold" (field_expression "(this->forced_locals_).super__Vector_base" (parenthesized_expression "(this->forced_locals_)" ( (field_expression "this->forced_locals_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "(this->forwarders_)._M_h._M_buckets = &(this->forwarders_)._M_h._M_single_bucket;" (assignment_expression "(this->forwarders_)._M_h._M_buckets = &(this->forwarders_)._M_h._M_single_bucket" (field_expression "(this->forwarders_)._M_h._M_buckets" (field_expression "(this->forwarders_)._M_h" (parenthesized_expression "(this->forwarders_)" ( (field_expression "this->forwarders_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (pointer_expression "&(this->forwarders_)._M_h._M_single_bucket" & (field_expression "(this->forwarders_)._M_h._M_single_bucket" (field_expression "(this->forwarders_)._M_h" (parenthesized_expression "(this->forwarders_)" ( (field_expression "this->forwarders_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) ;) (expression_statement "(this->forwarders_)._M_h._M_rehash_policy._M_max_load_factor = 1.0;" (assignment_expression "(this->forwarders_)._M_h._M_rehash_policy._M_max_load_factor = 1.0" (field_expression "(this->forwarders_)._M_h._M_rehash_policy._M_max_load_factor" (field_expression "(this->forwarders_)._M_h._M_rehash_policy" (field_expression "(this->forwarders_)._M_h" (parenthesized_expression "(this->forwarders_)" ( (field_expression "this->forwarders_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(this->weak_aliases_)._M_h._M_buckets = &(this->weak_aliases_)._M_h._M_single_bucket;" (assignment_expression "(this->weak_aliases_)._M_h._M_buckets = &(this->weak_aliases_)._M_h._M_single_bucket" (field_expression "(this->weak_aliases_)._M_h._M_buckets" (field_expression "(this->weak_aliases_)._M_h" (parenthesized_expression "(this->weak_aliases_)" ( (field_expression "this->weak_aliases_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (pointer_expression "&(this->weak_aliases_)._M_h._M_single_bucket" & (field_expression "(this->weak_aliases_)._M_h._M_single_bucket" (field_expression "(this->weak_aliases_)._M_h" (parenthesized_expression "(this->weak_aliases_)" ( (field_expression "this->weak_aliases_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) ;) (expression_statement "uVar1 = 0;" (assignment_expression "uVar1 = 0" identifier = number_literal) ;) (expression_statement "(this->weak_aliases_)._M_h._M_rehash_policy._M_max_load_factor = 1.0;" (assignment_expression "(this->weak_aliases_)._M_h._M_rehash_policy._M_max_load_factor = 1.0" (field_expression "(this->weak_aliases_)._M_h._M_rehash_policy._M_max_load_factor" (field_expression "(this->weak_aliases_)._M_h._M_rehash_policy" (field_expression "(this->weak_aliases_)._M_h" (parenthesized_expression "(this->weak_aliases_)" ( (field_expression "this->weak_aliases_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (do_statement "do {\n    *(undefined4 *)((int)&(this->warnings_).warnings_._M_h._M_buckets + uVar1) = 0;\n    uVar1 = uVar1 + 4;\n  } while (uVar1 < 0x1c);" do (compound_statement "{\n    *(undefined4 *)((int)&(this->warnings_).warnings_._M_h._M_buckets + uVar1) = 0;\n    uVar1 = uVar1 + 4;\n  }" { (expression_statement "*(undefined4 *)((int)&(this->warnings_).warnings_._M_h._M_buckets + uVar1) = 0;" (assignment_expression "*(undefined4 *)((int)&(this->warnings_).warnings_._M_h._M_buckets + uVar1) = 0" (pointer_expression "*(undefined4 *)((int)&(this->warnings_).warnings_._M_h._M_buckets + uVar1)" * (cast_expression "(undefined4 *)((int)&(this->warnings_).warnings_._M_h._M_buckets + uVar1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(this->warnings_).warnings_._M_h._M_buckets + uVar1)" ( (binary_expression "(int)&(this->warnings_).warnings_._M_h._M_buckets + uVar1" (cast_expression "(int)&(this->warnings_).warnings_._M_h._M_buckets" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(this->warnings_).warnings_._M_h._M_buckets" & (field_expression "(this->warnings_).warnings_._M_h._M_buckets" (field_expression "(this->warnings_).warnings_._M_h" (field_expression "(this->warnings_).warnings_" (parenthesized_expression "(this->warnings_)" ( (field_expression "this->warnings_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))) + identifier) )))) = number_literal) ;) (expression_statement "uVar1 = uVar1 + 4;" (assignment_expression "uVar1 = uVar1 + 4" identifier = (binary_expression "uVar1 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar1 < 0x1c)" ( (binary_expression "uVar1 < 0x1c" identifier < number_literal) )) ;) (expression_statement "(this->warnings_).warnings_._M_h._M_buckets = &(this->warnings_).warnings_._M_h._M_single_bucket;" (assignment_expression "(this->warnings_).warnings_._M_h._M_buckets = &(this->warnings_).warnings_._M_h._M_single_bucket" (field_expression "(this->warnings_).warnings_._M_h._M_buckets" (field_expression "(this->warnings_).warnings_._M_h" (field_expression "(this->warnings_).warnings_" (parenthesized_expression "(this->warnings_)" ( (field_expression "this->warnings_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = (pointer_expression "&(this->warnings_).warnings_._M_h._M_single_bucket" & (field_expression "(this->warnings_).warnings_._M_h._M_single_bucket" (field_expression "(this->warnings_).warnings_._M_h" (field_expression "(this->warnings_).warnings_" (parenthesized_expression "(this->warnings_)" ( (field_expression "this->warnings_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))) ;) (expression_statement "(this->candidate_odr_violations_)._M_h._M_buckets =\n       &(this->candidate_odr_violations_)._M_h._M_single_bucket;" (assignment_expression "(this->candidate_odr_violations_)._M_h._M_buckets =\n       &(this->candidate_odr_violations_)._M_h._M_single_bucket" (field_expression "(this->candidate_odr_violations_)._M_h._M_buckets" (field_expression "(this->candidate_odr_violations_)._M_h" (parenthesized_expression "(this->candidate_odr_violations_)" ( (field_expression "this->candidate_odr_violations_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (pointer_expression "&(this->candidate_odr_violations_)._M_h._M_single_bucket" & (field_expression "(this->candidate_odr_violations_)._M_h._M_single_bucket" (field_expression "(this->candidate_odr_violations_)._M_h" (parenthesized_expression "(this->candidate_odr_violations_)" ( (field_expression "this->candidate_odr_violations_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) ;) (expression_statement "(this->warnings_).warnings_._M_h._M_rehash_policy._M_max_load_factor = 1.0;" (assignment_expression "(this->warnings_).warnings_._M_h._M_rehash_policy._M_max_load_factor = 1.0" (field_expression "(this->warnings_).warnings_._M_h._M_rehash_policy._M_max_load_factor" (field_expression "(this->warnings_).warnings_._M_h._M_rehash_policy" (field_expression "(this->warnings_).warnings_._M_h" (field_expression "(this->warnings_).warnings_" (parenthesized_expression "(this->warnings_)" ( (field_expression "this->warnings_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(this->copied_symbol_dynobjs_)._M_h._M_buckets =\n       &(this->copied_symbol_dynobjs_)._M_h._M_single_bucket;" (assignment_expression "(this->copied_symbol_dynobjs_)._M_h._M_buckets =\n       &(this->copied_symbol_dynobjs_)._M_h._M_single_bucket" (field_expression "(this->copied_symbol_dynobjs_)._M_h._M_buckets" (field_expression "(this->copied_symbol_dynobjs_)._M_h" (parenthesized_expression "(this->copied_symbol_dynobjs_)" ( (field_expression "this->copied_symbol_dynobjs_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (pointer_expression "&(this->copied_symbol_dynobjs_)._M_h._M_single_bucket" & (field_expression "(this->copied_symbol_dynobjs_)._M_h._M_single_bucket" (field_expression "(this->copied_symbol_dynobjs_)._M_h" (parenthesized_expression "(this->copied_symbol_dynobjs_)" ( (field_expression "this->copied_symbol_dynobjs_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) ;) (expression_statement "(this->candidate_odr_violations_)._M_h._M_rehash_policy._M_max_load_factor = 1.0;" (assignment_expression "(this->candidate_odr_violations_)._M_h._M_rehash_policy._M_max_load_factor = 1.0" (field_expression "(this->candidate_odr_violations_)._M_h._M_rehash_policy._M_max_load_factor" (field_expression "(this->candidate_odr_violations_)._M_h._M_rehash_policy" (field_expression "(this->candidate_odr_violations_)._M_h" (parenthesized_expression "(this->candidate_odr_violations_)" ( (field_expression "this->candidate_odr_violations_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(this->warnings_).warnings_._M_h._M_bucket_count = 1;" (assignment_expression "(this->warnings_).warnings_._M_h._M_bucket_count = 1" (field_expression "(this->warnings_).warnings_._M_h._M_bucket_count" (field_expression "(this->warnings_).warnings_._M_h" (field_expression "(this->warnings_).warnings_" (parenthesized_expression "(this->warnings_)" ( (field_expression "this->warnings_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(this->warnings_).warnings_._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;" (assignment_expression "(this->warnings_).warnings_._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0" (field_expression "(this->warnings_).warnings_._M_h._M_before_begin._M_nxt" (field_expression "(this->warnings_).warnings_._M_h._M_before_begin" (field_expression "(this->warnings_).warnings_._M_h" (field_expression "(this->warnings_).warnings_" (parenthesized_expression "(this->warnings_)" ( (field_expression "this->warnings_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(this->warnings_).warnings_._M_h._M_element_count = 0;" (assignment_expression "(this->warnings_).warnings_._M_h._M_element_count = 0" (field_expression "(this->warnings_).warnings_._M_h._M_element_count" (field_expression "(this->warnings_).warnings_._M_h" (field_expression "(this->warnings_).warnings_" (parenthesized_expression "(this->warnings_)" ( (field_expression "this->warnings_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(this->warnings_).warnings_._M_h._M_rehash_policy._M_next_resize = 0;" (assignment_expression "(this->warnings_).warnings_._M_h._M_rehash_policy._M_next_resize = 0" (field_expression "(this->warnings_).warnings_._M_h._M_rehash_policy._M_next_resize" (field_expression "(this->warnings_).warnings_._M_h._M_rehash_policy" (field_expression "(this->warnings_).warnings_._M_h" (field_expression "(this->warnings_).warnings_" (parenthesized_expression "(this->warnings_)" ( (field_expression "this->warnings_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(this->warnings_).warnings_._M_h._M_single_bucket = (__bucket_type)0x0;" (assignment_expression "(this->warnings_).warnings_._M_h._M_single_bucket = (__bucket_type)0x0" (field_expression "(this->warnings_).warnings_._M_h._M_single_bucket" (field_expression "(this->warnings_).warnings_._M_h" (field_expression "(this->warnings_).warnings_" (parenthesized_expression "(this->warnings_)" ( (field_expression "this->warnings_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(__bucket_type)0x0" ( (type_descriptor "__bucket_type" type_identifier) ) number_literal)) ;) (expression_statement "(this->candidate_odr_violations_)._M_h._M_bucket_count = 1;" (assignment_expression "(this->candidate_odr_violations_)._M_h._M_bucket_count = 1" (field_expression "(this->candidate_odr_violations_)._M_h._M_bucket_count" (field_expression "(this->candidate_odr_violations_)._M_h" (parenthesized_expression "(this->candidate_odr_violations_)" ( (field_expression "this->candidate_odr_violations_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(this->candidate_odr_violations_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;" (assignment_expression "(this->candidate_odr_violations_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0" (field_expression "(this->candidate_odr_violations_)._M_h._M_before_begin._M_nxt" (field_expression "(this->candidate_odr_violations_)._M_h._M_before_begin" (field_expression "(this->candidate_odr_violations_)._M_h" (parenthesized_expression "(this->candidate_odr_violations_)" ( (field_expression "this->candidate_odr_violations_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(this->candidate_odr_violations_)._M_h._M_element_count = 0;" (assignment_expression "(this->candidate_odr_violations_)._M_h._M_element_count = 0" (field_expression "(this->candidate_odr_violations_)._M_h._M_element_count" (field_expression "(this->candidate_odr_violations_)._M_h" (parenthesized_expression "(this->candidate_odr_violations_)" ( (field_expression "this->candidate_odr_violations_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(this->candidate_odr_violations_)._M_h._M_rehash_policy._M_next_resize = 0;" (assignment_expression "(this->candidate_odr_violations_)._M_h._M_rehash_policy._M_next_resize = 0" (field_expression "(this->candidate_odr_violations_)._M_h._M_rehash_policy._M_next_resize" (field_expression "(this->candidate_odr_violations_)._M_h._M_rehash_policy" (field_expression "(this->candidate_odr_violations_)._M_h" (parenthesized_expression "(this->candidate_odr_violations_)" ( (field_expression "this->candidate_odr_violations_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(this->candidate_odr_violations_)._M_h._M_single_bucket = (__bucket_type)0x0;" (assignment_expression "(this->candidate_odr_violations_)._M_h._M_single_bucket = (__bucket_type)0x0" (field_expression "(this->candidate_odr_violations_)._M_h._M_single_bucket" (field_expression "(this->candidate_odr_violations_)._M_h" (parenthesized_expression "(this->candidate_odr_violations_)" ( (field_expression "this->candidate_odr_violations_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (cast_expression "(__bucket_type)0x0" ( (type_descriptor "__bucket_type" type_identifier) ) number_literal)) ;) (expression_statement "(this->copied_symbol_dynobjs_)._M_h._M_bucket_count = 1;" (assignment_expression "(this->copied_symbol_dynobjs_)._M_h._M_bucket_count = 1" (field_expression "(this->copied_symbol_dynobjs_)._M_h._M_bucket_count" (field_expression "(this->copied_symbol_dynobjs_)._M_h" (parenthesized_expression "(this->copied_symbol_dynobjs_)" ( (field_expression "this->copied_symbol_dynobjs_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(this->copied_symbol_dynobjs_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;" (assignment_expression "(this->copied_symbol_dynobjs_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0" (field_expression "(this->copied_symbol_dynobjs_)._M_h._M_before_begin._M_nxt" (field_expression "(this->copied_symbol_dynobjs_)._M_h._M_before_begin" (field_expression "(this->copied_symbol_dynobjs_)._M_h" (parenthesized_expression "(this->copied_symbol_dynobjs_)" ( (field_expression "this->copied_symbol_dynobjs_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(this->copied_symbol_dynobjs_)._M_h._M_element_count = 0;" (assignment_expression "(this->copied_symbol_dynobjs_)._M_h._M_element_count = 0" (field_expression "(this->copied_symbol_dynobjs_)._M_h._M_element_count" (field_expression "(this->copied_symbol_dynobjs_)._M_h" (parenthesized_expression "(this->copied_symbol_dynobjs_)" ( (field_expression "this->copied_symbol_dynobjs_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(this->copied_symbol_dynobjs_)._M_h._M_rehash_policy._M_max_load_factor = 1.0;" (assignment_expression "(this->copied_symbol_dynobjs_)._M_h._M_rehash_policy._M_max_load_factor = 1.0" (field_expression "(this->copied_symbol_dynobjs_)._M_h._M_rehash_policy._M_max_load_factor" (field_expression "(this->copied_symbol_dynobjs_)._M_h._M_rehash_policy" (field_expression "(this->copied_symbol_dynobjs_)._M_h" (parenthesized_expression "(this->copied_symbol_dynobjs_)" ( (field_expression "this->copied_symbol_dynobjs_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(this->copied_symbol_dynobjs_)._M_h._M_rehash_policy._M_next_resize = 0;" (assignment_expression "(this->copied_symbol_dynobjs_)._M_h._M_rehash_policy._M_next_resize = 0" (field_expression "(this->copied_symbol_dynobjs_)._M_h._M_rehash_policy._M_next_resize" (field_expression "(this->copied_symbol_dynobjs_)._M_h._M_rehash_policy" (field_expression "(this->copied_symbol_dynobjs_)._M_h" (parenthesized_expression "(this->copied_symbol_dynobjs_)" ( (field_expression "this->copied_symbol_dynobjs_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(this->copied_symbol_dynobjs_)._M_h._M_single_bucket = (__bucket_type)0x0;" (assignment_expression "(this->copied_symbol_dynobjs_)._M_h._M_single_bucket = (__bucket_type)0x0" (field_expression "(this->copied_symbol_dynobjs_)._M_h._M_single_bucket" (field_expression "(this->copied_symbol_dynobjs_)._M_h" (parenthesized_expression "(this->copied_symbol_dynobjs_)" ( (field_expression "this->copied_symbol_dynobjs_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (cast_expression "(__bucket_type)0x0" ( (type_descriptor "__bucket_type" type_identifier) ) number_literal)) ;) (expression_statement "this->version_script_ = version_script;" (assignment_expression "this->version_script_ = version_script" (field_expression "this->version_script_" identifier -> field_identifier) = identifier) ;) (expression_statement "this->gc_ = (Garbage_collection *)0x0;" (assignment_expression "this->gc_ = (Garbage_collection *)0x0" (field_expression "this->gc_" identifier -> field_identifier) = (cast_expression "(Garbage_collection *)0x0" ( (type_descriptor "Garbage_collection *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "this->icf_ = (Icf *)0x0;" (assignment_expression "this->icf_ = (Icf *)0x0" (field_expression "this->icf_" identifier -> field_identifier) = (cast_expression "(Icf *)0x0" ( (type_descriptor "Icf *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_start = (pointer)0x0;" (assignment_expression "(this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_start = (pointer)0x0" (field_expression "(this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_start" (field_expression "(this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "(this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "(this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "(this->target_symbols_).super__Vector_base<gold::Symbol*,_std" (binary_expression "(this->target_symbols_).super__Vector_base<gold" (field_expression "(this->target_symbols_).super__Vector_base" (parenthesized_expression "(this->target_symbols_)" ( (field_expression "this->target_symbols_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "(this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_finish = (pointer)0x0;" (assignment_expression "(this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_finish = (pointer)0x0" (field_expression "(this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_finish" (field_expression "(this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "(this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "(this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "(this->target_symbols_).super__Vector_base<gold::Symbol*,_std" (binary_expression "(this->target_symbols_).super__Vector_base<gold" (field_expression "(this->target_symbols_).super__Vector_base" (parenthesized_expression "(this->target_symbols_)" ( (field_expression "this->target_symbols_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "(this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0;" (assignment_expression "(this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0" (field_expression "(this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_end_of_storage" (field_expression "(this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "(this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "(this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "(this->target_symbols_).super__Vector_base<gold::Symbol*,_std" (binary_expression "(this->target_symbols_).super__Vector_base<gold" (field_expression "(this->target_symbols_).super__Vector_base" (parenthesized_expression "(this->target_symbols_)" ( (field_expression "this->target_symbols_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) comment (expression_statement "Stringpool_template<char>::reserve(&this->namepool_,count);" (binary_expression "Stringpool_template<char>::reserve(&this->namepool_,count)" (binary_expression "Stringpool_template<char" identifier < identifier) > (ERROR "::" : :) (call_expression "reserve(&this->namepool_,count)" identifier (argument_list "(&this->namepool_,count)" ( (pointer_expression "&this->namepool_" & (field_expression "this->namepool_" identifier -> field_identifier)) , identifier )))) ;) (return_statement "return;" return ;) })))
(translation_unit "void FUN_00177ad0(undefined4 *param_1,undefined4 param_2,undefined4 param_3)\n\n{\n  uint uVar1;\n  undefined4 *local_20;\n  \n  FUN_000559ee();\n  *param_1 = 0;\n  local_20 = param_1 + 0xf;\n  param_1[9] = local_20;\n  param_1[2] = 0;\n  param_1[3] = 0;\n  param_1[10] = 1;\n  param_1[0xb] = 0;\n  param_1[0xc] = 0;\n  param_1[0xd] = 0x3f800000;\n  param_1[0xe] = 0;\n  param_1[0xf] = 0;\n                    \n  uVar1 = FUN_0022c330(param_1 + 0xd,param_2);\n  if ((uint)param_1[10] < uVar1) {\n    if (uVar1 == 1) {\n      param_1[0xf] = 0;\n    }\n    else {\n      local_20 = (undefined4 *)FUN_00177130();\n    }\n    param_1[10] = uVar1;\n    param_1[9] = local_20;\n  }\n                    \n  FUN_001711c0(param_1 + 0x10,1,0);\n  uVar1 = 0;\n  do {\n    *(undefined4 *)((int)param_1 + uVar1 + 0x8c) = 0;\n    uVar1 = uVar1 + 4;\n  } while (uVar1 < 0x1c);\n  param_1[0x24] = 1;\n  param_1[0x25] = 0;\n  param_1[0x26] = 0;\n  param_1[0x28] = 0;\n  param_1[0x29] = 0;\n  param_1[0x2b] = 1;\n  param_1[0x2c] = 0;\n  param_1[0x2d] = 0;\n  param_1[0x2f] = 0;\n  param_1[0x30] = 0;\n  param_1[0x31] = 0;\n  param_1[0x32] = 0;\n  param_1[0x33] = 0;\n  param_1[0x34] = 0;\n  param_1[0x35] = 0;\n  param_1[0x36] = 0;\n  param_1[0x37] = 0;\n  param_1[0x38] = 0;\n  param_1[0x39] = 0;\n  param_1[0x3a] = 0;\n  param_1[0x3b] = 0;\n  param_1[0x3c] = 0;\n  param_1[0x3d] = 0;\n  param_1[0x3e] = 0;\n  param_1[0x3f] = 0;\n  param_1[0x23] = param_1 + 0x29;\n  param_1[0x27] = 0x3f800000;\n  param_1[0x2a] = param_1 + 0x30;\n  uVar1 = 0;\n  param_1[0x2e] = 0x3f800000;\n  do {\n    *(undefined4 *)((int)param_1 + uVar1 + 0x100) = 0;\n    uVar1 = uVar1 + 4;\n  } while (uVar1 < 0x1c);\n  param_1[0x40] = param_1 + 0x46;\n  param_1[0x47] = param_1 + 0x4d;\n  param_1[0x44] = 0x3f800000;\n  param_1[0x4e] = param_1 + 0x54;\n  param_1[0x4b] = 0x3f800000;\n  param_1[0x41] = 1;\n  param_1[0x42] = 0;\n  param_1[0x43] = 0;\n  param_1[0x45] = 0;\n  param_1[0x46] = 0;\n  param_1[0x48] = 1;\n  param_1[0x49] = 0;\n  param_1[0x4a] = 0;\n  param_1[0x4c] = 0;\n  param_1[0x4d] = 0;\n  param_1[0x4f] = 1;\n  param_1[0x50] = 0;\n  param_1[0x51] = 0;\n  param_1[0x52] = 0x3f800000;\n  param_1[0x53] = 0;\n  param_1[0x54] = 0;\n  param_1[0x55] = param_3;\n  param_1[0x56] = 0;\n  param_1[0x57] = 0;\n  param_1[0x58] = 0;\n  param_1[0x59] = 0;\n  param_1[0x5a] = 0;\n                    \n  FUN_00173220(param_1 + 0x10,param_2);\n  return;\n}\n\n" (function_definition "void FUN_00177ad0(undefined4 *param_1,undefined4 param_2,undefined4 param_3)\n\n{\n  uint uVar1;\n  undefined4 *local_20;\n  \n  FUN_000559ee();\n  *param_1 = 0;\n  local_20 = param_1 + 0xf;\n  param_1[9] = local_20;\n  param_1[2] = 0;\n  param_1[3] = 0;\n  param_1[10] = 1;\n  param_1[0xb] = 0;\n  param_1[0xc] = 0;\n  param_1[0xd] = 0x3f800000;\n  param_1[0xe] = 0;\n  param_1[0xf] = 0;\n                    \n  uVar1 = FUN_0022c330(param_1 + 0xd,param_2);\n  if ((uint)param_1[10] < uVar1) {\n    if (uVar1 == 1) {\n      param_1[0xf] = 0;\n    }\n    else {\n      local_20 = (undefined4 *)FUN_00177130();\n    }\n    param_1[10] = uVar1;\n    param_1[9] = local_20;\n  }\n                    \n  FUN_001711c0(param_1 + 0x10,1,0);\n  uVar1 = 0;\n  do {\n    *(undefined4 *)((int)param_1 + uVar1 + 0x8c) = 0;\n    uVar1 = uVar1 + 4;\n  } while (uVar1 < 0x1c);\n  param_1[0x24] = 1;\n  param_1[0x25] = 0;\n  param_1[0x26] = 0;\n  param_1[0x28] = 0;\n  param_1[0x29] = 0;\n  param_1[0x2b] = 1;\n  param_1[0x2c] = 0;\n  param_1[0x2d] = 0;\n  param_1[0x2f] = 0;\n  param_1[0x30] = 0;\n  param_1[0x31] = 0;\n  param_1[0x32] = 0;\n  param_1[0x33] = 0;\n  param_1[0x34] = 0;\n  param_1[0x35] = 0;\n  param_1[0x36] = 0;\n  param_1[0x37] = 0;\n  param_1[0x38] = 0;\n  param_1[0x39] = 0;\n  param_1[0x3a] = 0;\n  param_1[0x3b] = 0;\n  param_1[0x3c] = 0;\n  param_1[0x3d] = 0;\n  param_1[0x3e] = 0;\n  param_1[0x3f] = 0;\n  param_1[0x23] = param_1 + 0x29;\n  param_1[0x27] = 0x3f800000;\n  param_1[0x2a] = param_1 + 0x30;\n  uVar1 = 0;\n  param_1[0x2e] = 0x3f800000;\n  do {\n    *(undefined4 *)((int)param_1 + uVar1 + 0x100) = 0;\n    uVar1 = uVar1 + 4;\n  } while (uVar1 < 0x1c);\n  param_1[0x40] = param_1 + 0x46;\n  param_1[0x47] = param_1 + 0x4d;\n  param_1[0x44] = 0x3f800000;\n  param_1[0x4e] = param_1 + 0x54;\n  param_1[0x4b] = 0x3f800000;\n  param_1[0x41] = 1;\n  param_1[0x42] = 0;\n  param_1[0x43] = 0;\n  param_1[0x45] = 0;\n  param_1[0x46] = 0;\n  param_1[0x48] = 1;\n  param_1[0x49] = 0;\n  param_1[0x4a] = 0;\n  param_1[0x4c] = 0;\n  param_1[0x4d] = 0;\n  param_1[0x4f] = 1;\n  param_1[0x50] = 0;\n  param_1[0x51] = 0;\n  param_1[0x52] = 0x3f800000;\n  param_1[0x53] = 0;\n  param_1[0x54] = 0;\n  param_1[0x55] = param_3;\n  param_1[0x56] = 0;\n  param_1[0x57] = 0;\n  param_1[0x58] = 0;\n  param_1[0x59] = 0;\n  param_1[0x5a] = 0;\n                    \n  FUN_00173220(param_1 + 0x10,param_2);\n  return;\n}" primitive_type (function_declarator "FUN_00177ad0(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 (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) ))) (compound_statement "{\n  uint uVar1;\n  undefined4 *local_20;\n  \n  FUN_000559ee();\n  *param_1 = 0;\n  local_20 = param_1 + 0xf;\n  param_1[9] = local_20;\n  param_1[2] = 0;\n  param_1[3] = 0;\n  param_1[10] = 1;\n  param_1[0xb] = 0;\n  param_1[0xc] = 0;\n  param_1[0xd] = 0x3f800000;\n  param_1[0xe] = 0;\n  param_1[0xf] = 0;\n                    \n  uVar1 = FUN_0022c330(param_1 + 0xd,param_2);\n  if ((uint)param_1[10] < uVar1) {\n    if (uVar1 == 1) {\n      param_1[0xf] = 0;\n    }\n    else {\n      local_20 = (undefined4 *)FUN_00177130();\n    }\n    param_1[10] = uVar1;\n    param_1[9] = local_20;\n  }\n                    \n  FUN_001711c0(param_1 + 0x10,1,0);\n  uVar1 = 0;\n  do {\n    *(undefined4 *)((int)param_1 + uVar1 + 0x8c) = 0;\n    uVar1 = uVar1 + 4;\n  } while (uVar1 < 0x1c);\n  param_1[0x24] = 1;\n  param_1[0x25] = 0;\n  param_1[0x26] = 0;\n  param_1[0x28] = 0;\n  param_1[0x29] = 0;\n  param_1[0x2b] = 1;\n  param_1[0x2c] = 0;\n  param_1[0x2d] = 0;\n  param_1[0x2f] = 0;\n  param_1[0x30] = 0;\n  param_1[0x31] = 0;\n  param_1[0x32] = 0;\n  param_1[0x33] = 0;\n  param_1[0x34] = 0;\n  param_1[0x35] = 0;\n  param_1[0x36] = 0;\n  param_1[0x37] = 0;\n  param_1[0x38] = 0;\n  param_1[0x39] = 0;\n  param_1[0x3a] = 0;\n  param_1[0x3b] = 0;\n  param_1[0x3c] = 0;\n  param_1[0x3d] = 0;\n  param_1[0x3e] = 0;\n  param_1[0x3f] = 0;\n  param_1[0x23] = param_1 + 0x29;\n  param_1[0x27] = 0x3f800000;\n  param_1[0x2a] = param_1 + 0x30;\n  uVar1 = 0;\n  param_1[0x2e] = 0x3f800000;\n  do {\n    *(undefined4 *)((int)param_1 + uVar1 + 0x100) = 0;\n    uVar1 = uVar1 + 4;\n  } while (uVar1 < 0x1c);\n  param_1[0x40] = param_1 + 0x46;\n  param_1[0x47] = param_1 + 0x4d;\n  param_1[0x44] = 0x3f800000;\n  param_1[0x4e] = param_1 + 0x54;\n  param_1[0x4b] = 0x3f800000;\n  param_1[0x41] = 1;\n  param_1[0x42] = 0;\n  param_1[0x43] = 0;\n  param_1[0x45] = 0;\n  param_1[0x46] = 0;\n  param_1[0x48] = 1;\n  param_1[0x49] = 0;\n  param_1[0x4a] = 0;\n  param_1[0x4c] = 0;\n  param_1[0x4d] = 0;\n  param_1[0x4f] = 1;\n  param_1[0x50] = 0;\n  param_1[0x51] = 0;\n  param_1[0x52] = 0x3f800000;\n  param_1[0x53] = 0;\n  param_1[0x54] = 0;\n  param_1[0x55] = param_3;\n  param_1[0x56] = 0;\n  param_1[0x57] = 0;\n  param_1[0x58] = 0;\n  param_1[0x59] = 0;\n  param_1[0x5a] = 0;\n                    \n  FUN_00173220(param_1 + 0x10,param_2);\n  return;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "undefined4 *local_20;" type_identifier (pointer_declarator "*local_20" * identifier) ;) (expression_statement "FUN_000559ee();" (call_expression "FUN_000559ee()" identifier (argument_list "()" ( ))) ;) (expression_statement "*param_1 = 0;" (assignment_expression "*param_1 = 0" (pointer_expression "*param_1" * identifier) = number_literal) ;) (expression_statement "local_20 = param_1 + 0xf;" (assignment_expression "local_20 = param_1 + 0xf" identifier = (binary_expression "param_1 + 0xf" identifier + number_literal)) ;) (expression_statement "param_1[9] = local_20;" (assignment_expression "param_1[9] = local_20" (subscript_expression "param_1[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[10] = 1;" (assignment_expression "param_1[10] = 1" (subscript_expression "param_1[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0xb] = 0;" (assignment_expression "param_1[0xb] = 0" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0xc] = 0;" (assignment_expression "param_1[0xc] = 0" (subscript_expression "param_1[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0xd] = 0x3f800000;" (assignment_expression "param_1[0xd] = 0x3f800000" (subscript_expression "param_1[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0xe] = 0;" (assignment_expression "param_1[0xe] = 0" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0xf] = 0;" (assignment_expression "param_1[0xf] = 0" (subscript_expression "param_1[0xf]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar1 = FUN_0022c330(param_1 + 0xd,param_2);" (assignment_expression "uVar1 = FUN_0022c330(param_1 + 0xd,param_2)" identifier = (call_expression "FUN_0022c330(param_1 + 0xd,param_2)" identifier (argument_list "(param_1 + 0xd,param_2)" ( (binary_expression "param_1 + 0xd" identifier + number_literal) , identifier )))) ;) (if_statement "if ((uint)param_1[10] < uVar1) {\n    if (uVar1 == 1) {\n      param_1[0xf] = 0;\n    }\n    else {\n      local_20 = (undefined4 *)FUN_00177130();\n    }\n    param_1[10] = uVar1;\n    param_1[9] = local_20;\n  }" if (parenthesized_expression "((uint)param_1[10] < uVar1)" ( (binary_expression "(uint)param_1[10] < uVar1" (cast_expression "(uint)param_1[10]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[10]" identifier [ number_literal ])) < identifier) )) (compound_statement "{\n    if (uVar1 == 1) {\n      param_1[0xf] = 0;\n    }\n    else {\n      local_20 = (undefined4 *)FUN_00177130();\n    }\n    param_1[10] = uVar1;\n    param_1[9] = local_20;\n  }" { (if_statement "if (uVar1 == 1) {\n      param_1[0xf] = 0;\n    }\n    else {\n      local_20 = (undefined4 *)FUN_00177130();\n    }" if (parenthesized_expression "(uVar1 == 1)" ( (binary_expression "uVar1 == 1" identifier == number_literal) )) (compound_statement "{\n      param_1[0xf] = 0;\n    }" { (expression_statement "param_1[0xf] = 0;" (assignment_expression "param_1[0xf] = 0" (subscript_expression "param_1[0xf]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n      local_20 = (undefined4 *)FUN_00177130();\n    }" else (compound_statement "{\n      local_20 = (undefined4 *)FUN_00177130();\n    }" { (expression_statement "local_20 = (undefined4 *)FUN_00177130();" (assignment_expression "local_20 = (undefined4 *)FUN_00177130()" identifier = (cast_expression "(undefined4 *)FUN_00177130()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00177130()" identifier (argument_list "()" ( ))))) ;) }))) (expression_statement "param_1[10] = uVar1;" (assignment_expression "param_1[10] = uVar1" (subscript_expression "param_1[10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[9] = local_20;" (assignment_expression "param_1[9] = local_20" (subscript_expression "param_1[9]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "FUN_001711c0(param_1 + 0x10,1,0);" (call_expression "FUN_001711c0(param_1 + 0x10,1,0)" identifier (argument_list "(param_1 + 0x10,1,0)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) , number_literal , number_literal ))) ;) (expression_statement "uVar1 = 0;" (assignment_expression "uVar1 = 0" identifier = number_literal) ;) (do_statement "do {\n    *(undefined4 *)((int)param_1 + uVar1 + 0x8c) = 0;\n    uVar1 = uVar1 + 4;\n  } while (uVar1 < 0x1c);" do (compound_statement "{\n    *(undefined4 *)((int)param_1 + uVar1 + 0x8c) = 0;\n    uVar1 = uVar1 + 4;\n  }" { (expression_statement "*(undefined4 *)((int)param_1 + uVar1 + 0x8c) = 0;" (assignment_expression "*(undefined4 *)((int)param_1 + uVar1 + 0x8c) = 0" (pointer_expression "*(undefined4 *)((int)param_1 + uVar1 + 0x8c)" * (cast_expression "(undefined4 *)((int)param_1 + uVar1 + 0x8c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + uVar1 + 0x8c)" ( (binary_expression "(int)param_1 + uVar1 + 0x8c" (binary_expression "(int)param_1 + uVar1" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar1 = uVar1 + 4;" (assignment_expression "uVar1 = uVar1 + 4" identifier = (binary_expression "uVar1 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar1 < 0x1c)" ( (binary_expression "uVar1 < 0x1c" identifier < number_literal) )) ;) (expression_statement "param_1[0x24] = 1;" (assignment_expression "param_1[0x24] = 1" (subscript_expression "param_1[0x24]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x25] = 0;" (assignment_expression "param_1[0x25] = 0" (subscript_expression "param_1[0x25]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x26] = 0;" (assignment_expression "param_1[0x26] = 0" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x28] = 0;" (assignment_expression "param_1[0x28] = 0" (subscript_expression "param_1[0x28]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x29] = 0;" (assignment_expression "param_1[0x29] = 0" (subscript_expression "param_1[0x29]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x2b] = 1;" (assignment_expression "param_1[0x2b] = 1" (subscript_expression "param_1[0x2b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x2c] = 0;" (assignment_expression "param_1[0x2c] = 0" (subscript_expression "param_1[0x2c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x2d] = 0;" (assignment_expression "param_1[0x2d] = 0" (subscript_expression "param_1[0x2d]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x2f] = 0;" (assignment_expression "param_1[0x2f] = 0" (subscript_expression "param_1[0x2f]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x30] = 0;" (assignment_expression "param_1[0x30] = 0" (subscript_expression "param_1[0x30]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x31] = 0;" (assignment_expression "param_1[0x31] = 0" (subscript_expression "param_1[0x31]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x32] = 0;" (assignment_expression "param_1[0x32] = 0" (subscript_expression "param_1[0x32]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x33] = 0;" (assignment_expression "param_1[0x33] = 0" (subscript_expression "param_1[0x33]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x34] = 0;" (assignment_expression "param_1[0x34] = 0" (subscript_expression "param_1[0x34]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x35] = 0;" (assignment_expression "param_1[0x35] = 0" (subscript_expression "param_1[0x35]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x36] = 0;" (assignment_expression "param_1[0x36] = 0" (subscript_expression "param_1[0x36]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x37] = 0;" (assignment_expression "param_1[0x37] = 0" (subscript_expression "param_1[0x37]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x38] = 0;" (assignment_expression "param_1[0x38] = 0" (subscript_expression "param_1[0x38]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x39] = 0;" (assignment_expression "param_1[0x39] = 0" (subscript_expression "param_1[0x39]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x3a] = 0;" (assignment_expression "param_1[0x3a] = 0" (subscript_expression "param_1[0x3a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x3b] = 0;" (assignment_expression "param_1[0x3b] = 0" (subscript_expression "param_1[0x3b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x3c] = 0;" (assignment_expression "param_1[0x3c] = 0" (subscript_expression "param_1[0x3c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x3d] = 0;" (assignment_expression "param_1[0x3d] = 0" (subscript_expression "param_1[0x3d]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x3e] = 0;" (assignment_expression "param_1[0x3e] = 0" (subscript_expression "param_1[0x3e]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x3f] = 0;" (assignment_expression "param_1[0x3f] = 0" (subscript_expression "param_1[0x3f]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x23] = param_1 + 0x29;" (assignment_expression "param_1[0x23] = param_1 + 0x29" (subscript_expression "param_1[0x23]" identifier [ number_literal ]) = (binary_expression "param_1 + 0x29" identifier + number_literal)) ;) (expression_statement "param_1[0x27] = 0x3f800000;" (assignment_expression "param_1[0x27] = 0x3f800000" (subscript_expression "param_1[0x27]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x2a] = param_1 + 0x30;" (assignment_expression "param_1[0x2a] = param_1 + 0x30" (subscript_expression "param_1[0x2a]" identifier [ number_literal ]) = (binary_expression "param_1 + 0x30" identifier + number_literal)) ;) (expression_statement "uVar1 = 0;" (assignment_expression "uVar1 = 0" identifier = number_literal) ;) (expression_statement "param_1[0x2e] = 0x3f800000;" (assignment_expression "param_1[0x2e] = 0x3f800000" (subscript_expression "param_1[0x2e]" identifier [ number_literal ]) = number_literal) ;) (do_statement "do {\n    *(undefined4 *)((int)param_1 + uVar1 + 0x100) = 0;\n    uVar1 = uVar1 + 4;\n  } while (uVar1 < 0x1c);" do (compound_statement "{\n    *(undefined4 *)((int)param_1 + uVar1 + 0x100) = 0;\n    uVar1 = uVar1 + 4;\n  }" { (expression_statement "*(undefined4 *)((int)param_1 + uVar1 + 0x100) = 0;" (assignment_expression "*(undefined4 *)((int)param_1 + uVar1 + 0x100) = 0" (pointer_expression "*(undefined4 *)((int)param_1 + uVar1 + 0x100)" * (cast_expression "(undefined4 *)((int)param_1 + uVar1 + 0x100)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + uVar1 + 0x100)" ( (binary_expression "(int)param_1 + uVar1 + 0x100" (binary_expression "(int)param_1 + uVar1" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar1 = uVar1 + 4;" (assignment_expression "uVar1 = uVar1 + 4" identifier = (binary_expression "uVar1 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar1 < 0x1c)" ( (binary_expression "uVar1 < 0x1c" identifier < number_literal) )) ;) (expression_statement "param_1[0x40] = param_1 + 0x46;" (assignment_expression "param_1[0x40] = param_1 + 0x46" (subscript_expression "param_1[0x40]" identifier [ number_literal ]) = (binary_expression "param_1 + 0x46" identifier + number_literal)) ;) (expression_statement "param_1[0x47] = param_1 + 0x4d;" (assignment_expression "param_1[0x47] = param_1 + 0x4d" (subscript_expression "param_1[0x47]" identifier [ number_literal ]) = (binary_expression "param_1 + 0x4d" identifier + number_literal)) ;) (expression_statement "param_1[0x44] = 0x3f800000;" (assignment_expression "param_1[0x44] = 0x3f800000" (subscript_expression "param_1[0x44]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x4e] = param_1 + 0x54;" (assignment_expression "param_1[0x4e] = param_1 + 0x54" (subscript_expression "param_1[0x4e]" identifier [ number_literal ]) = (binary_expression "param_1 + 0x54" identifier + number_literal)) ;) (expression_statement "param_1[0x4b] = 0x3f800000;" (assignment_expression "param_1[0x4b] = 0x3f800000" (subscript_expression "param_1[0x4b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x41] = 1;" (assignment_expression "param_1[0x41] = 1" (subscript_expression "param_1[0x41]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x42] = 0;" (assignment_expression "param_1[0x42] = 0" (subscript_expression "param_1[0x42]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x43] = 0;" (assignment_expression "param_1[0x43] = 0" (subscript_expression "param_1[0x43]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x45] = 0;" (assignment_expression "param_1[0x45] = 0" (subscript_expression "param_1[0x45]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x46] = 0;" (assignment_expression "param_1[0x46] = 0" (subscript_expression "param_1[0x46]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x48] = 1;" (assignment_expression "param_1[0x48] = 1" (subscript_expression "param_1[0x48]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x49] = 0;" (assignment_expression "param_1[0x49] = 0" (subscript_expression "param_1[0x49]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x4a] = 0;" (assignment_expression "param_1[0x4a] = 0" (subscript_expression "param_1[0x4a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x4c] = 0;" (assignment_expression "param_1[0x4c] = 0" (subscript_expression "param_1[0x4c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x4d] = 0;" (assignment_expression "param_1[0x4d] = 0" (subscript_expression "param_1[0x4d]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x4f] = 1;" (assignment_expression "param_1[0x4f] = 1" (subscript_expression "param_1[0x4f]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x50] = 0;" (assignment_expression "param_1[0x50] = 0" (subscript_expression "param_1[0x50]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x51] = 0;" (assignment_expression "param_1[0x51] = 0" (subscript_expression "param_1[0x51]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x52] = 0x3f800000;" (assignment_expression "param_1[0x52] = 0x3f800000" (subscript_expression "param_1[0x52]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x53] = 0;" (assignment_expression "param_1[0x53] = 0" (subscript_expression "param_1[0x53]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x54] = 0;" (assignment_expression "param_1[0x54] = 0" (subscript_expression "param_1[0x54]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x55] = param_3;" (assignment_expression "param_1[0x55] = param_3" (subscript_expression "param_1[0x55]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0x56] = 0;" (assignment_expression "param_1[0x56] = 0" (subscript_expression "param_1[0x56]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x57] = 0;" (assignment_expression "param_1[0x57] = 0" (subscript_expression "param_1[0x57]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x58] = 0;" (assignment_expression "param_1[0x58] = 0" (subscript_expression "param_1[0x58]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x59] = 0;" (assignment_expression "param_1[0x59] = 0" (subscript_expression "param_1[0x59]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x5a] = 0;" (assignment_expression "param_1[0x5a] = 0" (subscript_expression "param_1[0x5a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00173220(param_1 + 0x10,param_2);" (call_expression "FUN_00173220(param_1 + 0x10,param_2)" identifier (argument_list "(param_1 + 0x10,param_2)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) , identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , LIT , LIT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < LIT) )) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < LIT) )) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT ))) ;) (return_statement return ;) })))
(function_definition "void FUN_00177ad0(undefined4 *param_1,undefined4 param_2,undefined4 param_3)\n\n{\n  uint uVar1;\n  undefined4 *local_20;\n  \n  FUN_000559ee();\n  *param_1 = 0;\n  local_20 = param_1 + 0xf;\n  param_1[9] = local_20;\n  param_1[2] = 0;\n  param_1[3] = 0;\n  param_1[10] = 1;\n  param_1[0xb] = 0;\n  param_1[0xc] = 0;\n  param_1[0xd] = 0x3f800000;\n  param_1[0xe] = 0;\n  param_1[0xf] = 0;\n                    \n  uVar1 = FUN_0022c330(param_1 + 0xd,param_2);\n  if ((uint)param_1[10] < uVar1) {\n    if (uVar1 == 1) {\n      param_1[0xf] = 0;\n    }\n    else {\n      local_20 = (undefined4 *)FUN_00177130();\n    }\n    param_1[10] = uVar1;\n    param_1[9] = local_20;\n  }\n                    \n  FUN_001711c0(param_1 + 0x10,1,0);\n  uVar1 = 0;\n  do {\n    *(undefined4 *)((int)param_1 + uVar1 + 0x8c) = 0;\n    uVar1 = uVar1 + 4;\n  } while (uVar1 < 0x1c);\n  param_1[0x24] = 1;\n  param_1[0x25] = 0;\n  param_1[0x26] = 0;\n  param_1[0x28] = 0;\n  param_1[0x29] = 0;\n  param_1[0x2b] = 1;\n  param_1[0x2c] = 0;\n  param_1[0x2d] = 0;\n  param_1[0x2f] = 0;\n  param_1[0x30] = 0;\n  param_1[0x31] = 0;\n  param_1[0x32] = 0;\n  param_1[0x33] = 0;\n  param_1[0x34] = 0;\n  param_1[0x35] = 0;\n  param_1[0x36] = 0;\n  param_1[0x37] = 0;\n  param_1[0x38] = 0;\n  param_1[0x39] = 0;\n  param_1[0x3a] = 0;\n  param_1[0x3b] = 0;\n  param_1[0x3c] = 0;\n  param_1[0x3d] = 0;\n  param_1[0x3e] = 0;\n  param_1[0x3f] = 0;\n  param_1[0x23] = param_1 + 0x29;\n  param_1[0x27] = 0x3f800000;\n  param_1[0x2a] = param_1 + 0x30;\n  uVar1 = 0;\n  param_1[0x2e] = 0x3f800000;\n  do {\n    *(undefined4 *)((int)param_1 + uVar1 + 0x100) = 0;\n    uVar1 = uVar1 + 4;\n  } while (uVar1 < 0x1c);\n  param_1[0x40] = param_1 + 0x46;\n  param_1[0x47] = param_1 + 0x4d;\n  param_1[0x44] = 0x3f800000;\n  param_1[0x4e] = param_1 + 0x54;\n  param_1[0x4b] = 0x3f800000;\n  param_1[0x41] = 1;\n  param_1[0x42] = 0;\n  param_1[0x43] = 0;\n  param_1[0x45] = 0;\n  param_1[0x46] = 0;\n  param_1[0x48] = 1;\n  param_1[0x49] = 0;\n  param_1[0x4a] = 0;\n  param_1[0x4c] = 0;\n  param_1[0x4d] = 0;\n  param_1[0x4f] = 1;\n  param_1[0x50] = 0;\n  param_1[0x51] = 0;\n  param_1[0x52] = 0x3f800000;\n  param_1[0x53] = 0;\n  param_1[0x54] = 0;\n  param_1[0x55] = param_3;\n  param_1[0x56] = 0;\n  param_1[0x57] = 0;\n  param_1[0x58] = 0;\n  param_1[0x59] = 0;\n  param_1[0x5a] = 0;\n                    \n  FUN_00173220(param_1 + 0x10,param_2);\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00177ad0(undefined4 *param_1,undefined4 param_2,undefined4 param_3)" (identifier "FUN_00177ad0") (parameter_list "(undefined4 *param_1,undefined4 param_2,undefined4 param_3)" (( "(") (parameter_declaration "undefined4 *param_1" (type_identifier "undefined4") (pointer_declarator "*param_1" (* "*") (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  uint uVar1;\n  undefined4 *local_20;\n  \n  FUN_000559ee();\n  *param_1 = 0;\n  local_20 = param_1 + 0xf;\n  param_1[9] = local_20;\n  param_1[2] = 0;\n  param_1[3] = 0;\n  param_1[10] = 1;\n  param_1[0xb] = 0;\n  param_1[0xc] = 0;\n  param_1[0xd] = 0x3f800000;\n  param_1[0xe] = 0;\n  param_1[0xf] = 0;\n                    \n  uVar1 = FUN_0022c330(param_1 + 0xd,param_2);\n  if ((uint)param_1[10] < uVar1) {\n    if (uVar1 == 1) {\n      param_1[0xf] = 0;\n    }\n    else {\n      local_20 = (undefined4 *)FUN_00177130();\n    }\n    param_1[10] = uVar1;\n    param_1[9] = local_20;\n  }\n                    \n  FUN_001711c0(param_1 + 0x10,1,0);\n  uVar1 = 0;\n  do {\n    *(undefined4 *)((int)param_1 + uVar1 + 0x8c) = 0;\n    uVar1 = uVar1 + 4;\n  } while (uVar1 < 0x1c);\n  param_1[0x24] = 1;\n  param_1[0x25] = 0;\n  param_1[0x26] = 0;\n  param_1[0x28] = 0;\n  param_1[0x29] = 0;\n  param_1[0x2b] = 1;\n  param_1[0x2c] = 0;\n  param_1[0x2d] = 0;\n  param_1[0x2f] = 0;\n  param_1[0x30] = 0;\n  param_1[0x31] = 0;\n  param_1[0x32] = 0;\n  param_1[0x33] = 0;\n  param_1[0x34] = 0;\n  param_1[0x35] = 0;\n  param_1[0x36] = 0;\n  param_1[0x37] = 0;\n  param_1[0x38] = 0;\n  param_1[0x39] = 0;\n  param_1[0x3a] = 0;\n  param_1[0x3b] = 0;\n  param_1[0x3c] = 0;\n  param_1[0x3d] = 0;\n  param_1[0x3e] = 0;\n  param_1[0x3f] = 0;\n  param_1[0x23] = param_1 + 0x29;\n  param_1[0x27] = 0x3f800000;\n  param_1[0x2a] = param_1 + 0x30;\n  uVar1 = 0;\n  param_1[0x2e] = 0x3f800000;\n  do {\n    *(undefined4 *)((int)param_1 + uVar1 + 0x100) = 0;\n    uVar1 = uVar1 + 4;\n  } while (uVar1 < 0x1c);\n  param_1[0x40] = param_1 + 0x46;\n  param_1[0x47] = param_1 + 0x4d;\n  param_1[0x44] = 0x3f800000;\n  param_1[0x4e] = param_1 + 0x54;\n  param_1[0x4b] = 0x3f800000;\n  param_1[0x41] = 1;\n  param_1[0x42] = 0;\n  param_1[0x43] = 0;\n  param_1[0x45] = 0;\n  param_1[0x46] = 0;\n  param_1[0x48] = 1;\n  param_1[0x49] = 0;\n  param_1[0x4a] = 0;\n  param_1[0x4c] = 0;\n  param_1[0x4d] = 0;\n  param_1[0x4f] = 1;\n  param_1[0x50] = 0;\n  param_1[0x51] = 0;\n  param_1[0x52] = 0x3f800000;\n  param_1[0x53] = 0;\n  param_1[0x54] = 0;\n  param_1[0x55] = param_3;\n  param_1[0x56] = 0;\n  param_1[0x57] = 0;\n  param_1[0x58] = 0;\n  param_1[0x59] = 0;\n  param_1[0x5a] = 0;\n                    \n  FUN_00173220(param_1 + 0x10,param_2);\n  return;\n}" ({ "{") (declaration "uint uVar1;" (type_identifier "uint") (identifier "uVar1") (; ";")) (declaration "undefined4 *local_20;" (type_identifier "undefined4") (pointer_declarator "*local_20" (* "*") (identifier "local_20")) (; ";")) (expression_statement "FUN_000559ee();" (call_expression "FUN_000559ee()" (identifier "FUN_000559ee") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*param_1 = 0;" (assignment_expression "*param_1 = 0" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_20 = param_1 + 0xf;" (assignment_expression "local_20 = param_1 + 0xf" (identifier "local_20") (= "=") (binary_expression "param_1 + 0xf" (identifier "param_1") (+ "+") (number_literal "0xf"))) (; ";")) (expression_statement "param_1[9] = local_20;" (assignment_expression "param_1[9] = local_20" (subscript_expression "param_1[9]" (identifier "param_1") ([ "[") (number_literal "9") (] "]")) (= "=") (identifier "local_20")) (; ";")) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[10] = 1;" (assignment_expression "param_1[10] = 1" (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "param_1[0xb] = 0;" (assignment_expression "param_1[0xb] = 0" (subscript_expression "param_1[0xb]" (identifier "param_1") ([ "[") (number_literal "0xb") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0xc] = 0;" (assignment_expression "param_1[0xc] = 0" (subscript_expression "param_1[0xc]" (identifier "param_1") ([ "[") (number_literal "0xc") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0xd] = 0x3f800000;" (assignment_expression "param_1[0xd] = 0x3f800000" (subscript_expression "param_1[0xd]" (identifier "param_1") ([ "[") (number_literal "0xd") (] "]")) (= "=") (number_literal "0x3f800000")) (; ";")) (expression_statement "param_1[0xe] = 0;" (assignment_expression "param_1[0xe] = 0" (subscript_expression "param_1[0xe]" (identifier "param_1") ([ "[") (number_literal "0xe") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0xf] = 0;" (assignment_expression "param_1[0xf] = 0" (subscript_expression "param_1[0xf]" (identifier "param_1") ([ "[") (number_literal "0xf") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar1 = FUN_0022c330(param_1 + 0xd,param_2);" (assignment_expression "uVar1 = FUN_0022c330(param_1 + 0xd,param_2)" (identifier "uVar1") (= "=") (call_expression "FUN_0022c330(param_1 + 0xd,param_2)" (identifier "FUN_0022c330") (argument_list "(param_1 + 0xd,param_2)" (( "(") (binary_expression "param_1 + 0xd" (identifier "param_1") (+ "+") (number_literal "0xd")) (, ",") (identifier "param_2") () ")")))) (; ";")) (if_statement "if ((uint)param_1[10] < uVar1) {\n    if (uVar1 == 1) {\n      param_1[0xf] = 0;\n    }\n    else {\n      local_20 = (undefined4 *)FUN_00177130();\n    }\n    param_1[10] = uVar1;\n    param_1[9] = local_20;\n  }" (if "if") (parenthesized_expression "((uint)param_1[10] < uVar1)" (( "(") (binary_expression "(uint)param_1[10] < uVar1" (cast_expression "(uint)param_1[10]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]"))) (< "<") (identifier "uVar1")) () ")")) (compound_statement "{\n    if (uVar1 == 1) {\n      param_1[0xf] = 0;\n    }\n    else {\n      local_20 = (undefined4 *)FUN_00177130();\n    }\n    param_1[10] = uVar1;\n    param_1[9] = local_20;\n  }" ({ "{") (if_statement "if (uVar1 == 1) {\n      param_1[0xf] = 0;\n    }\n    else {\n      local_20 = (undefined4 *)FUN_00177130();\n    }" (if "if") (parenthesized_expression "(uVar1 == 1)" (( "(") (binary_expression "uVar1 == 1" (identifier "uVar1") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n      param_1[0xf] = 0;\n    }" ({ "{") (expression_statement "param_1[0xf] = 0;" (assignment_expression "param_1[0xf] = 0" (subscript_expression "param_1[0xf]" (identifier "param_1") ([ "[") (number_literal "0xf") (] "]")) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n      local_20 = (undefined4 *)FUN_00177130();\n    }" (else "else") (compound_statement "{\n      local_20 = (undefined4 *)FUN_00177130();\n    }" ({ "{") (expression_statement "local_20 = (undefined4 *)FUN_00177130();" (assignment_expression "local_20 = (undefined4 *)FUN_00177130()" (identifier "local_20") (= "=") (cast_expression "(undefined4 *)FUN_00177130()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00177130()" (identifier "FUN_00177130") (argument_list "()" (( "(") () ")"))))) (; ";")) (} "}")))) (expression_statement "param_1[10] = uVar1;" (assignment_expression "param_1[10] = uVar1" (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]")) (= "=") (identifier "uVar1")) (; ";")) (expression_statement "param_1[9] = local_20;" (assignment_expression "param_1[9] = local_20" (subscript_expression "param_1[9]" (identifier "param_1") ([ "[") (number_literal "9") (] "]")) (= "=") (identifier "local_20")) (; ";")) (} "}"))) (expression_statement "FUN_001711c0(param_1 + 0x10,1,0);" (call_expression "FUN_001711c0(param_1 + 0x10,1,0)" (identifier "FUN_001711c0") (argument_list "(param_1 + 0x10,1,0)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) (, ",") (number_literal "1") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "uVar1 = 0;" (assignment_expression "uVar1 = 0" (identifier "uVar1") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n    *(undefined4 *)((int)param_1 + uVar1 + 0x8c) = 0;\n    uVar1 = uVar1 + 4;\n  } while (uVar1 < 0x1c);" (do "do") (compound_statement "{\n    *(undefined4 *)((int)param_1 + uVar1 + 0x8c) = 0;\n    uVar1 = uVar1 + 4;\n  }" ({ "{") (expression_statement "*(undefined4 *)((int)param_1 + uVar1 + 0x8c) = 0;" (assignment_expression "*(undefined4 *)((int)param_1 + uVar1 + 0x8c) = 0" (pointer_expression "*(undefined4 *)((int)param_1 + uVar1 + 0x8c)" (* "*") (cast_expression "(undefined4 *)((int)param_1 + uVar1 + 0x8c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + uVar1 + 0x8c)" (( "(") (binary_expression "(int)param_1 + uVar1 + 0x8c" (binary_expression "(int)param_1 + uVar1" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (identifier "uVar1")) (+ "+") (number_literal "0x8c")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar1 = uVar1 + 4;" (assignment_expression "uVar1 = uVar1 + 4" (identifier "uVar1") (= "=") (binary_expression "uVar1 + 4" (identifier "uVar1") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar1 < 0x1c)" (( "(") (binary_expression "uVar1 < 0x1c" (identifier "uVar1") (< "<") (number_literal "0x1c")) () ")")) (; ";")) (expression_statement "param_1[0x24] = 1;" (assignment_expression "param_1[0x24] = 1" (subscript_expression "param_1[0x24]" (identifier "param_1") ([ "[") (number_literal "0x24") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "param_1[0x25] = 0;" (assignment_expression "param_1[0x25] = 0" (subscript_expression "param_1[0x25]" (identifier "param_1") ([ "[") (number_literal "0x25") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x26] = 0;" (assignment_expression "param_1[0x26] = 0" (subscript_expression "param_1[0x26]" (identifier "param_1") ([ "[") (number_literal "0x26") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x28] = 0;" (assignment_expression "param_1[0x28] = 0" (subscript_expression "param_1[0x28]" (identifier "param_1") ([ "[") (number_literal "0x28") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x29] = 0;" (assignment_expression "param_1[0x29] = 0" (subscript_expression "param_1[0x29]" (identifier "param_1") ([ "[") (number_literal "0x29") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x2b] = 1;" (assignment_expression "param_1[0x2b] = 1" (subscript_expression "param_1[0x2b]" (identifier "param_1") ([ "[") (number_literal "0x2b") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "param_1[0x2c] = 0;" (assignment_expression "param_1[0x2c] = 0" (subscript_expression "param_1[0x2c]" (identifier "param_1") ([ "[") (number_literal "0x2c") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x2d] = 0;" (assignment_expression "param_1[0x2d] = 0" (subscript_expression "param_1[0x2d]" (identifier "param_1") ([ "[") (number_literal "0x2d") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x2f] = 0;" (assignment_expression "param_1[0x2f] = 0" (subscript_expression "param_1[0x2f]" (identifier "param_1") ([ "[") (number_literal "0x2f") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x30] = 0;" (assignment_expression "param_1[0x30] = 0" (subscript_expression "param_1[0x30]" (identifier "param_1") ([ "[") (number_literal "0x30") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x31] = 0;" (assignment_expression "param_1[0x31] = 0" (subscript_expression "param_1[0x31]" (identifier "param_1") ([ "[") (number_literal "0x31") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x32] = 0;" (assignment_expression "param_1[0x32] = 0" (subscript_expression "param_1[0x32]" (identifier "param_1") ([ "[") (number_literal "0x32") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x33] = 0;" (assignment_expression "param_1[0x33] = 0" (subscript_expression "param_1[0x33]" (identifier "param_1") ([ "[") (number_literal "0x33") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x34] = 0;" (assignment_expression "param_1[0x34] = 0" (subscript_expression "param_1[0x34]" (identifier "param_1") ([ "[") (number_literal "0x34") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x35] = 0;" (assignment_expression "param_1[0x35] = 0" (subscript_expression "param_1[0x35]" (identifier "param_1") ([ "[") (number_literal "0x35") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x36] = 0;" (assignment_expression "param_1[0x36] = 0" (subscript_expression "param_1[0x36]" (identifier "param_1") ([ "[") (number_literal "0x36") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x37] = 0;" (assignment_expression "param_1[0x37] = 0" (subscript_expression "param_1[0x37]" (identifier "param_1") ([ "[") (number_literal "0x37") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x38] = 0;" (assignment_expression "param_1[0x38] = 0" (subscript_expression "param_1[0x38]" (identifier "param_1") ([ "[") (number_literal "0x38") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x39] = 0;" (assignment_expression "param_1[0x39] = 0" (subscript_expression "param_1[0x39]" (identifier "param_1") ([ "[") (number_literal "0x39") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x3a] = 0;" (assignment_expression "param_1[0x3a] = 0" (subscript_expression "param_1[0x3a]" (identifier "param_1") ([ "[") (number_literal "0x3a") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x3b] = 0;" (assignment_expression "param_1[0x3b] = 0" (subscript_expression "param_1[0x3b]" (identifier "param_1") ([ "[") (number_literal "0x3b") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x3c] = 0;" (assignment_expression "param_1[0x3c] = 0" (subscript_expression "param_1[0x3c]" (identifier "param_1") ([ "[") (number_literal "0x3c") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x3d] = 0;" (assignment_expression "param_1[0x3d] = 0" (subscript_expression "param_1[0x3d]" (identifier "param_1") ([ "[") (number_literal "0x3d") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x3e] = 0;" (assignment_expression "param_1[0x3e] = 0" (subscript_expression "param_1[0x3e]" (identifier "param_1") ([ "[") (number_literal "0x3e") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x3f] = 0;" (assignment_expression "param_1[0x3f] = 0" (subscript_expression "param_1[0x3f]" (identifier "param_1") ([ "[") (number_literal "0x3f") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x23] = param_1 + 0x29;" (assignment_expression "param_1[0x23] = param_1 + 0x29" (subscript_expression "param_1[0x23]" (identifier "param_1") ([ "[") (number_literal "0x23") (] "]")) (= "=") (binary_expression "param_1 + 0x29" (identifier "param_1") (+ "+") (number_literal "0x29"))) (; ";")) (expression_statement "param_1[0x27] = 0x3f800000;" (assignment_expression "param_1[0x27] = 0x3f800000" (subscript_expression "param_1[0x27]" (identifier "param_1") ([ "[") (number_literal "0x27") (] "]")) (= "=") (number_literal "0x3f800000")) (; ";")) (expression_statement "param_1[0x2a] = param_1 + 0x30;" (assignment_expression "param_1[0x2a] = param_1 + 0x30" (subscript_expression "param_1[0x2a]" (identifier "param_1") ([ "[") (number_literal "0x2a") (] "]")) (= "=") (binary_expression "param_1 + 0x30" (identifier "param_1") (+ "+") (number_literal "0x30"))) (; ";")) (expression_statement "uVar1 = 0;" (assignment_expression "uVar1 = 0" (identifier "uVar1") (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x2e] = 0x3f800000;" (assignment_expression "param_1[0x2e] = 0x3f800000" (subscript_expression "param_1[0x2e]" (identifier "param_1") ([ "[") (number_literal "0x2e") (] "]")) (= "=") (number_literal "0x3f800000")) (; ";")) (do_statement "do {\n    *(undefined4 *)((int)param_1 + uVar1 + 0x100) = 0;\n    uVar1 = uVar1 + 4;\n  } while (uVar1 < 0x1c);" (do "do") (compound_statement "{\n    *(undefined4 *)((int)param_1 + uVar1 + 0x100) = 0;\n    uVar1 = uVar1 + 4;\n  }" ({ "{") (expression_statement "*(undefined4 *)((int)param_1 + uVar1 + 0x100) = 0;" (assignment_expression "*(undefined4 *)((int)param_1 + uVar1 + 0x100) = 0" (pointer_expression "*(undefined4 *)((int)param_1 + uVar1 + 0x100)" (* "*") (cast_expression "(undefined4 *)((int)param_1 + uVar1 + 0x100)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + uVar1 + 0x100)" (( "(") (binary_expression "(int)param_1 + uVar1 + 0x100" (binary_expression "(int)param_1 + uVar1" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (identifier "uVar1")) (+ "+") (number_literal "0x100")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar1 = uVar1 + 4;" (assignment_expression "uVar1 = uVar1 + 4" (identifier "uVar1") (= "=") (binary_expression "uVar1 + 4" (identifier "uVar1") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar1 < 0x1c)" (( "(") (binary_expression "uVar1 < 0x1c" (identifier "uVar1") (< "<") (number_literal "0x1c")) () ")")) (; ";")) (expression_statement "param_1[0x40] = param_1 + 0x46;" (assignment_expression "param_1[0x40] = param_1 + 0x46" (subscript_expression "param_1[0x40]" (identifier "param_1") ([ "[") (number_literal "0x40") (] "]")) (= "=") (binary_expression "param_1 + 0x46" (identifier "param_1") (+ "+") (number_literal "0x46"))) (; ";")) (expression_statement "param_1[0x47] = param_1 + 0x4d;" (assignment_expression "param_1[0x47] = param_1 + 0x4d" (subscript_expression "param_1[0x47]" (identifier "param_1") ([ "[") (number_literal "0x47") (] "]")) (= "=") (binary_expression "param_1 + 0x4d" (identifier "param_1") (+ "+") (number_literal "0x4d"))) (; ";")) (expression_statement "param_1[0x44] = 0x3f800000;" (assignment_expression "param_1[0x44] = 0x3f800000" (subscript_expression "param_1[0x44]" (identifier "param_1") ([ "[") (number_literal "0x44") (] "]")) (= "=") (number_literal "0x3f800000")) (; ";")) (expression_statement "param_1[0x4e] = param_1 + 0x54;" (assignment_expression "param_1[0x4e] = param_1 + 0x54" (subscript_expression "param_1[0x4e]" (identifier "param_1") ([ "[") (number_literal "0x4e") (] "]")) (= "=") (binary_expression "param_1 + 0x54" (identifier "param_1") (+ "+") (number_literal "0x54"))) (; ";")) (expression_statement "param_1[0x4b] = 0x3f800000;" (assignment_expression "param_1[0x4b] = 0x3f800000" (subscript_expression "param_1[0x4b]" (identifier "param_1") ([ "[") (number_literal "0x4b") (] "]")) (= "=") (number_literal "0x3f800000")) (; ";")) (expression_statement "param_1[0x41] = 1;" (assignment_expression "param_1[0x41] = 1" (subscript_expression "param_1[0x41]" (identifier "param_1") ([ "[") (number_literal "0x41") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "param_1[0x42] = 0;" (assignment_expression "param_1[0x42] = 0" (subscript_expression "param_1[0x42]" (identifier "param_1") ([ "[") (number_literal "0x42") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x43] = 0;" (assignment_expression "param_1[0x43] = 0" (subscript_expression "param_1[0x43]" (identifier "param_1") ([ "[") (number_literal "0x43") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x45] = 0;" (assignment_expression "param_1[0x45] = 0" (subscript_expression "param_1[0x45]" (identifier "param_1") ([ "[") (number_literal "0x45") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x46] = 0;" (assignment_expression "param_1[0x46] = 0" (subscript_expression "param_1[0x46]" (identifier "param_1") ([ "[") (number_literal "0x46") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x48] = 1;" (assignment_expression "param_1[0x48] = 1" (subscript_expression "param_1[0x48]" (identifier "param_1") ([ "[") (number_literal "0x48") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "param_1[0x49] = 0;" (assignment_expression "param_1[0x49] = 0" (subscript_expression "param_1[0x49]" (identifier "param_1") ([ "[") (number_literal "0x49") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x4a] = 0;" (assignment_expression "param_1[0x4a] = 0" (subscript_expression "param_1[0x4a]" (identifier "param_1") ([ "[") (number_literal "0x4a") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x4c] = 0;" (assignment_expression "param_1[0x4c] = 0" (subscript_expression "param_1[0x4c]" (identifier "param_1") ([ "[") (number_literal "0x4c") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x4d] = 0;" (assignment_expression "param_1[0x4d] = 0" (subscript_expression "param_1[0x4d]" (identifier "param_1") ([ "[") (number_literal "0x4d") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x4f] = 1;" (assignment_expression "param_1[0x4f] = 1" (subscript_expression "param_1[0x4f]" (identifier "param_1") ([ "[") (number_literal "0x4f") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "param_1[0x50] = 0;" (assignment_expression "param_1[0x50] = 0" (subscript_expression "param_1[0x50]" (identifier "param_1") ([ "[") (number_literal "0x50") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x51] = 0;" (assignment_expression "param_1[0x51] = 0" (subscript_expression "param_1[0x51]" (identifier "param_1") ([ "[") (number_literal "0x51") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x52] = 0x3f800000;" (assignment_expression "param_1[0x52] = 0x3f800000" (subscript_expression "param_1[0x52]" (identifier "param_1") ([ "[") (number_literal "0x52") (] "]")) (= "=") (number_literal "0x3f800000")) (; ";")) (expression_statement "param_1[0x53] = 0;" (assignment_expression "param_1[0x53] = 0" (subscript_expression "param_1[0x53]" (identifier "param_1") ([ "[") (number_literal "0x53") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x54] = 0;" (assignment_expression "param_1[0x54] = 0" (subscript_expression "param_1[0x54]" (identifier "param_1") ([ "[") (number_literal "0x54") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x55] = param_3;" (assignment_expression "param_1[0x55] = param_3" (subscript_expression "param_1[0x55]" (identifier "param_1") ([ "[") (number_literal "0x55") (] "]")) (= "=") (identifier "param_3")) (; ";")) (expression_statement "param_1[0x56] = 0;" (assignment_expression "param_1[0x56] = 0" (subscript_expression "param_1[0x56]" (identifier "param_1") ([ "[") (number_literal "0x56") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x57] = 0;" (assignment_expression "param_1[0x57] = 0" (subscript_expression "param_1[0x57]" (identifier "param_1") ([ "[") (number_literal "0x57") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x58] = 0;" (assignment_expression "param_1[0x58] = 0" (subscript_expression "param_1[0x58]" (identifier "param_1") ([ "[") (number_literal "0x58") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x59] = 0;" (assignment_expression "param_1[0x59] = 0" (subscript_expression "param_1[0x59]" (identifier "param_1") ([ "[") (number_literal "0x59") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x5a] = 0;" (assignment_expression "param_1[0x5a] = 0" (subscript_expression "param_1[0x5a]" (identifier "param_1") ([ "[") (number_literal "0x5a") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_00173220(param_1 + 0x10,param_2);" (call_expression "FUN_00173220(param_1 + 0x10,param_2)" (identifier "FUN_00173220") (argument_list "(param_1 + 0x10,param_2)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) (, ",") (identifier "param_2") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* DWARF original prototype: void Symbol_table(Symbol_table * this, uint count, Version_script_info
   * version_script) */

void __thiscall
var_10::function_1::function_1(function_1 *this,type_1 count,type_2 *version_script)

{
  type_1 var_6;
  _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::var_1*>,var_2>var_3>var_3>
  *in_stack_ffffffd4;
  size_t in_stack_ffffffd8;
  type_3 *local_20;
  
  var_4();
  this->saw_undefined_ = 0;
  local_20 = &(this->table_)._M_h._M_single_bucket;
  (this->table_)._M_h._M_buckets = local_20;
  *(type_4 *)&this->offset_ = 0;
  *(type_4 *)((int)&this->offset_ + 4) = 0;
  (this->table_)._M_h._M_bucket_count = 1;
  (this->table_)._M_h._M_before_begin._M_nxt = (type_5 *)0x0;
  (this->table_)._M_h._M_element_count = 0;
  (this->table_)._M_h._M_rehash_policy._M_max_load_factor = 1.0;
  (this->table_)._M_h._M_rehash_policy._M_next_resize = 0;
  (this->table_)._M_h._M_single_bucket = (type_3)0x0;
                    /* try { // try from 00177b3d to 00177b59 has its CatchHandler @ 00177e0b */
  var_6 = std::__detail::_Prime_rehash_policy::var_5
                    (&(this->table_)._M_h._M_rehash_policy,count);
  if ((this->table_)._M_h._M_bucket_count < var_6) {
    if (var_6 == 1) {
      (this->table_)._M_h._M_single_bucket = (type_3)0x0;
    }
    else {
      local_20 = std::__detail::
                 _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::var_1*>,var_2>var_3>var_3>
                 ::var_7(in_stack_ffffffd4,in_stack_ffffffd8);
    }
    (this->table_)._M_h._M_bucket_count = var_6;
    (this->table_)._M_h._M_buckets = local_20;
  }
                    /* try { // try from 00177b76 to 00177b7a has its CatchHandler @ 00177e04 */
  var_8<var_9>::var_8(&this->namepool_,1);
  var_6 = 0;
  do {
    *(type_4 *)((int)&(this->forwarders_)._M_h._M_buckets + var_6) = 0;
    var_6 = var_6 + 4;
  } while (var_6 < 0x1c);
  (this->forwarders_)._M_h._M_bucket_count = 1;
  (this->forwarders_)._M_h._M_before_begin._M_nxt = (type_5 *)0x0;
  (this->forwarders_)._M_h._M_element_count = 0;
  (this->forwarders_)._M_h._M_rehash_policy._M_next_resize = 0;
  (this->forwarders_)._M_h._M_single_bucket = (type_3)0x0;
  (this->weak_aliases_)._M_h._M_bucket_count = 1;
  (this->weak_aliases_)._M_h._M_before_begin._M_nxt = (type_5 *)0x0;
  (this->weak_aliases_)._M_h._M_element_count = 0;
  (this->weak_aliases_)._M_h._M_rehash_policy._M_next_resize = 0;
  (this->weak_aliases_)._M_h._M_single_bucket = (type_3)0x0;
  (this->commons_).super__Vector_base<var_10::var_1*,var_11::allocator<var_10::var_1*>var_3>._M_impl.
  _M_start = (type_6)0x0;
  (this->commons_).super__Vector_base<var_10::var_1*,var_11::allocator<var_10::var_1*>var_3>._M_impl.
  _M_finish = (type_6)0x0;
  (this->commons_).super__Vector_base<var_10::var_1*,var_11::allocator<var_10::var_1*>var_3>._M_impl.
  _M_end_of_storage = (type_6)0x0;
  (this->tls_commons_).super__Vector_base<var_10::var_1*,var_11::allocator<var_10::var_1*>var_3>._M_impl.
  _M_start = (type_6)0x0;
  (this->tls_commons_).super__Vector_base<var_10::var_1*,var_11::allocator<var_10::var_1*>var_3>._M_impl.
  _M_finish = (type_6)0x0;
  (this->tls_commons_).super__Vector_base<var_10::var_1*,var_11::allocator<var_10::var_1*>var_3>._M_impl.
  _M_end_of_storage = (type_6)0x0;
  (this->small_commons_).super__Vector_base<var_10::var_1*,var_11::allocator<var_10::var_1*>var_3>._M_impl.
  _M_start = (type_6)0x0;
  (this->small_commons_).super__Vector_base<var_10::var_1*,var_11::allocator<var_10::var_1*>var_3>._M_impl.
  _M_finish = (type_6)0x0;
  (this->small_commons_).super__Vector_base<var_10::var_1*,var_11::allocator<var_10::var_1*>var_3>._M_impl.
  _M_end_of_storage = (type_6)0x0;
  (this->large_commons_).super__Vector_base<var_10::var_1*,var_11::allocator<var_10::var_1*>var_3>._M_impl.
  _M_start = (type_6)0x0;
  (this->large_commons_).super__Vector_base<var_10::var_1*,var_11::allocator<var_10::var_1*>var_3>._M_impl.
  _M_finish = (type_6)0x0;
  (this->large_commons_).super__Vector_base<var_10::var_1*,var_11::allocator<var_10::var_1*>var_3>._M_impl.
  _M_end_of_storage = (type_6)0x0;
  (this->forced_locals_).super__Vector_base<var_10::var_1*,var_11::allocator<var_10::var_1*>var_3>._M_impl.
  _M_start = (type_6)0x0;
  (this->forced_locals_).super__Vector_base<var_10::var_1*,var_11::allocator<var_10::var_1*>var_3>._M_impl.
  _M_finish = (type_6)0x0;
  (this->forced_locals_).super__Vector_base<var_10::var_1*,var_11::allocator<var_10::var_1*>var_3>._M_impl.
  _M_end_of_storage = (type_6)0x0;
  (this->forwarders_)._M_h._M_buckets = &(this->forwarders_)._M_h._M_single_bucket;
  (this->forwarders_)._M_h._M_rehash_policy._M_max_load_factor = 1.0;
  (this->weak_aliases_)._M_h._M_buckets = &(this->weak_aliases_)._M_h._M_single_bucket;
  var_6 = 0;
  (this->weak_aliases_)._M_h._M_rehash_policy._M_max_load_factor = 1.0;
  do {
    *(type_4 *)((int)&(this->warnings_).warnings_._M_h._M_buckets + var_6) = 0;
    var_6 = var_6 + 4;
  } while (var_6 < 0x1c);
  (this->warnings_).warnings_._M_h._M_buckets = &(this->warnings_).warnings_._M_h._M_single_bucket;
  (this->candidate_odr_violations_)._M_h._M_buckets =
       &(this->candidate_odr_violations_)._M_h._M_single_bucket;
  (this->warnings_).warnings_._M_h._M_rehash_policy._M_max_load_factor = 1.0;
  (this->copied_symbol_dynobjs_)._M_h._M_buckets =
       &(this->copied_symbol_dynobjs_)._M_h._M_single_bucket;
  (this->candidate_odr_violations_)._M_h._M_rehash_policy._M_max_load_factor = 1.0;
  (this->warnings_).warnings_._M_h._M_bucket_count = 1;
  (this->warnings_).warnings_._M_h._M_before_begin._M_nxt = (type_5 *)0x0;
  (this->warnings_).warnings_._M_h._M_element_count = 0;
  (this->warnings_).warnings_._M_h._M_rehash_policy._M_next_resize = 0;
  (this->warnings_).warnings_._M_h._M_single_bucket = (type_3)0x0;
  (this->candidate_odr_violations_)._M_h._M_bucket_count = 1;
  (this->candidate_odr_violations_)._M_h._M_before_begin._M_nxt = (type_5 *)0x0;
  (this->candidate_odr_violations_)._M_h._M_element_count = 0;
  (this->candidate_odr_violations_)._M_h._M_rehash_policy._M_next_resize = 0;
  (this->candidate_odr_violations_)._M_h._M_single_bucket = (type_3)0x0;
  (this->copied_symbol_dynobjs_)._M_h._M_bucket_count = 1;
  (this->copied_symbol_dynobjs_)._M_h._M_before_begin._M_nxt = (type_5 *)0x0;
  (this->copied_symbol_dynobjs_)._M_h._M_element_count = 0;
  (this->copied_symbol_dynobjs_)._M_h._M_rehash_policy._M_max_load_factor = 1.0;
  (this->copied_symbol_dynobjs_)._M_h._M_rehash_policy._M_next_resize = 0;
  (this->copied_symbol_dynobjs_)._M_h._M_single_bucket = (type_3)0x0;
  this->version_script_ = version_script;
  this->gc_ = (type_7 *)0x0;
  this->icf_ = (type_8 *)0x0;
  (this->target_symbols_).super__Vector_base<var_10::var_1*,var_11::allocator<var_10::var_1*>var_3>._M_impl.
  _M_start = (type_6)0x0;
  (this->target_symbols_).super__Vector_base<var_10::var_1*,var_11::allocator<var_10::var_1*>var_3>._M_impl.
  _M_finish = (type_6)0x0;
  (this->target_symbols_).super__Vector_base<var_10::var_1*,var_11::allocator<var_10::var_1*>var_3>._M_impl.
  _M_end_of_storage = (type_6)0x0;
                    /* try { // try from 00177dd8 to 00177ddc has its CatchHandler @ 00177dfc */
  var_8<var_9>::var_12(&this->namepool_,count);
  return;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (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)))) (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: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) alternative: (else_clause (compound_statement (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)))))))) (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 (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (number_literal))))) 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: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (number_literal))))) 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: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (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: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier)))) (return_statement))))

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

{
  uint uVar1;
  undefined4 *local_20;
  
  FUN_000559ee();
  *param_1 = 0;
  local_20 = param_1 + 0xf;
  param_1[9] = local_20;
  param_1[2] = 0;
  param_1[3] = 0;
  param_1[10] = 1;
  param_1[0xb] = 0;
  param_1[0xc] = 0;
  param_1[0xd] = 0x3f800000;
  param_1[0xe] = 0;
  param_1[0xf] = 0;
                    /* try { // try from 00177b3d to 00177b59 has its CatchHandler @ 00177e0b */
  uVar1 = FUN_0022c330(param_1 + 0xd,param_2);
  if ((uint)param_1[10] < uVar1) {
    if (uVar1 == 1) {
      param_1[0xf] = 0;
    }
    else {
      local_20 = (undefined4 *)FUN_00177130();
    }
    param_1[10] = uVar1;
    param_1[9] = local_20;
  }
                    /* try { // try from 00177b76 to 00177b7a has its CatchHandler @ 00177e04 */
  FUN_001711c0(param_1 + 0x10,1,0);
  uVar1 = 0;
  do {
    *(undefined4 *)((int)param_1 + uVar1 + 0x8c) = 0;
    uVar1 = uVar1 + 4;
  } while (uVar1 < 0x1c);
  param_1[0x24] = 1;
  param_1[0x25] = 0;
  param_1[0x26] = 0;
  param_1[0x28] = 0;
  param_1[0x29] = 0;
  param_1[0x2b] = 1;
  param_1[0x2c] = 0;
  param_1[0x2d] = 0;
  param_1[0x2f] = 0;
  param_1[0x30] = 0;
  param_1[0x31] = 0;
  param_1[0x32] = 0;
  param_1[0x33] = 0;
  param_1[0x34] = 0;
  param_1[0x35] = 0;
  param_1[0x36] = 0;
  param_1[0x37] = 0;
  param_1[0x38] = 0;
  param_1[0x39] = 0;
  param_1[0x3a] = 0;
  param_1[0x3b] = 0;
  param_1[0x3c] = 0;
  param_1[0x3d] = 0;
  param_1[0x3e] = 0;
  param_1[0x3f] = 0;
  param_1[0x23] = param_1 + 0x29;
  param_1[0x27] = 0x3f800000;
  param_1[0x2a] = param_1 + 0x30;
  uVar1 = 0;
  param_1[0x2e] = 0x3f800000;
  do {
    *(undefined4 *)((int)param_1 + uVar1 + 0x100) = 0;
    uVar1 = uVar1 + 4;
  } while (uVar1 < 0x1c);
  param_1[0x40] = param_1 + 0x46;
  param_1[0x47] = param_1 + 0x4d;
  param_1[0x44] = 0x3f800000;
  param_1[0x4e] = param_1 + 0x54;
  param_1[0x4b] = 0x3f800000;
  param_1[0x41] = 1;
  param_1[0x42] = 0;
  param_1[0x43] = 0;
  param_1[0x45] = 0;
  param_1[0x46] = 0;
  param_1[0x48] = 1;
  param_1[0x49] = 0;
  param_1[0x4a] = 0;
  param_1[0x4c] = 0;
  param_1[0x4d] = 0;
  param_1[0x4f] = 1;
  param_1[0x50] = 0;
  param_1[0x51] = 0;
  param_1[0x52] = 0x3f800000;
  param_1[0x53] = 0;
  param_1[0x54] = 0;
  param_1[0x55] = param_3;
  param_1[0x56] = 0;
  param_1[0x57] = 0;
  param_1[0x58] = 0;
  param_1[0x59] = 0;
  param_1[0x5a] = 0;
                    /* try { // try from 00177dd8 to 00177ddc has its CatchHandler @ 00177dfc */
  FUN_00173220(param_1 + 0x10,param_2);
  return;
}

