
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* DWARF original prototype: void do_count_local_symbols(Sized_relobj_incr<64,_false> * this,
   Stringpool_template<char> * pool, Stringpool_template<char> * param_2) */

void __thiscall
gold::Sized_relobj_incr<64,_false>::do_count_local_symbols
          (Sized_relobj_incr<64,_false> *this,Stringpool_template<char> *pool,
          Stringpool_template<char> *param_2)

{
  undefined *puVar1;
  undefined *puVar2;
  undefined4 *puVar3;
  iterator __position;
  uint uVar4;
  uint uVar5;
  uint *puVar6;
  uint uVar7;
  size_type __n;
  char *pcVar8;
  char *pcVar9;
  size_type sVar10;
  Local_symbol local_58;
  Elf_strtab strtab;
  uint symtab_count;
  View symtab_view;
  
  if (1 < (byte)(this->input_reader_).flags_ - 1) {
    pool = (Stringpool_template<char> *)0x39b;
    this = (Sized_relobj_incr<64,_false> *)(PTR_s__s_004c1a50 + 0xefc);
    (*(code *)PTR_do_gold_unreachable_004c1a30)(this,0x39b,PTR_s__s_004c1a50 + 0x1a8c);
  }
  uVar7 = *(uint *)(((this->input_reader_).inputs_)->p_ + (this->input_reader_).info_offset_ + 0xc);
  __n = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +
        ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;
  this->local_symbol_count_ = __n;
  std::
  vector<gold::Sized_relobj_incr<64,_false>::Local_symbol,_std::allocator<gold::Sized_relobj_incr<64,_false>::Local_symbol>_>
  ::reserve(&this->local_symbols_,__n);
  symtab_view.p_ = (uchar *)0x0;
  strtab.base_ = (char *)0x0;
  strtab.usable_size_ = 0;
  Sized_incremental_binary<64,_false>::get_symtab_view
            (this->ibase_,&symtab_view,&symtab_count,&strtab);
  if (1 < (byte)(this->input_reader_).flags_ - 1) {
    (*(code *)PTR_do_gold_unreachable_004c1a30)
              (PTR_s__s_004c1a50 + 0xefc,0x391,PTR_s__s_004c1a50 + 0x1a74);
  }
  puVar1 = PTR_parameters_004c19b4;
  uVar7 = *(uint *)(((this->input_reader_).inputs_)->p_ + (this->input_reader_).info_offset_ + 8);
  puVar6 = (uint *)(symtab_view.p_ +
                   (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +
                   ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000);
  if (__n != 0) {
    sVar10 = 0;
    puVar2 = PTR_s__s_004c1a50 + 0x1478;
    pcVar8 = PTR_s_in_a_linker_script_004c191c + 0x6db8;
    do {
      while( true ) {
        uVar7 = *puVar6;
        uVar7 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +
                ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;
        pcVar9 = pcVar8;
        if (uVar7 < strtab.usable_size_) {
          pcVar9 = strtab.base_ + uVar7;
        }
        puVar3 = *(undefined4 **)puVar1;
        if ((puVar3[2] != 0) && ((puVar3[5] & 0x10) != 0)) {
          (*(code *)PTR_debug_004c2018)(*puVar3,puVar2,sVar10,pcVar9);
        }
        local_58.name = (char *)(*(code *)PTR_add_004c1ca4)(pool,pcVar9,1,0);
        uVar4 = puVar6[2];
        uVar5 = puVar6[3];
        uVar7 = puVar6[4];
        __position._M_current =
             (this->local_symbols_).
             super__Vector_base<gold::Sized_relobj_incr<64,_false>::Local_symbol,_std::allocator<gold::Sized_relobj_incr<64,_false>::Local_symbol>_>
             ._M_impl._M_finish;
        local_58.st_value._4_4_ =
             (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +
             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;
        local_58.st_value._0_4_ =
             (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +
             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;
        local_58._20_4_ = 0;
        local_58.st_size =
             (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +
             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;
        local_58._16_4_ =
             ((*(ushort *)((int)puVar6 + 6) & 0xff) << 8 | (uint)(*(ushort *)((int)puVar6 + 6) >> 8)
             ) << 4 | *(byte *)(puVar6 + 1) & 0xf;
        if (__position._M_current !=
            (this->local_symbols_).
            super__Vector_base<gold::Sized_relobj_incr<64,_false>::Local_symbol,_std::allocator<gold::Sized_relobj_incr<64,_false>::Local_symbol>_>
            ._M_impl._M_end_of_storage) break;
        sVar10 = sVar10 + 1;
        puVar6 = puVar6 + 6;
        std::
        vector<gold::Sized_relobj_incr<64,_false>::Local_symbol,_std::allocator<gold::Sized_relobj_incr<64,_false>::Local_symbol>_>
        ::_M_realloc_insert<gold::Sized_relobj_incr<64,_false>::Local_symbol>
                  (&this->local_symbols_,__position,&local_58);
        if (sVar10 == __n) {
          return;
        }
      }
      *(int *)&(__position._M_current)->st_value = local_58.st_value._0_4_;
      sVar10 = sVar10 + 1;
      *(int *)((int)&(__position._M_current)->st_value + 4) = local_58.st_value._4_4_;
      (__position._M_current)->name = local_58.name;
      puVar6 = puVar6 + 6;
      (__position._M_current)->st_size = local_58.st_size;
      *(undefined4 *)&(__position._M_current)->field_0x10 = local_58._16_4_;
      *(undefined4 *)&(__position._M_current)->field_0x14 = 0;
      (this->local_symbols_).
      super__Vector_base<gold::Sized_relobj_incr<64,_false>::Local_symbol,_std::allocator<gold::Sized_relobj_incr<64,_false>::Local_symbol>_>
      ._M_impl._M_finish = __position._M_current + 1;
    } while (sVar10 != __n);
  }
  return;
}



void FUN_001a7228(int param_1,undefined4 param_2)

{
  undefined *puVar1;
  uint uVar2;
  undefined4 *puVar3;
  int *piVar4;
  uint uVar5;
  uint uVar6;
  uint uVar7;
  uint *puVar8;
  uint uVar9;
  undefined *puVar10;
  undefined *puVar11;
  int local_58;
  int local_54;
  int local_50;
  int local_4c;
  uint local_48;
  undefined4 local_44;
  int local_40;
  uint local_3c;
  uint uStack_38;
  int local_34;
  undefined *local_30;
  vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>
  *local_2c;
  
  if (1 < *(byte *)(param_1 + 0x9f) - 1) {
    (*(code *)PTR_do_gold_unreachable_004c1a30)
              (PTR_s__s_004c1a50 + 0xefc,0x39b,PTR_s__s_004c1a50 + 0x1a8c);
    return;
  }
  local_2c = (vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>
              *)(param_1 + 0xdc);
  uVar9 = *(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 0xc);
  uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +
          ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;
  *(uint *)(param_1 + 0xa8) = uVar9;
  std::
  vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>
  ::reserve(local_2c,uVar9);
  local_34 = 0;
  local_40 = 0;
  local_3c = 0;
  gold::Sized_incremental_binary<64,false>::get_symtab_view
            (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_34,&uStack_38,
             (Elf_strtab *)&local_40);
  puVar1 = PTR_parameters_004c19b4;
  if (*(byte *)(param_1 + 0x9f) - 1 < 2) {
    uVar7 = *(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 8);
    puVar8 = (uint *)(local_34 +
                     (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +
                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000);
    if (uVar9 != 0) {
      uVar7 = 0;
      local_30 = PTR_s__s_004c1a50 + 0x1478;
      puVar10 = PTR_s_in_a_linker_script_004c191c + 0x6db8;
      do {
        while( true ) {
          uVar2 = *puVar8;
          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +
                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;
          puVar11 = puVar10;
          if (uVar2 < local_3c) {
            puVar11 = (undefined *)(local_40 + uVar2);
          }
          puVar3 = *(undefined4 **)puVar1;
          if ((puVar3[2] != 0) && ((puVar3[5] & 0x10) != 0)) {
            (*(code *)PTR_debug_004c2018)(*puVar3,local_30,uVar7,puVar11);
          }
          local_50 = (*(code *)PTR_add_004c1ca4)(param_2,puVar11,1,0);
          uVar5 = puVar8[2];
          uVar6 = puVar8[3];
          uVar2 = puVar8[4];
          piVar4 = *(int **)(param_1 + 0xe0);
          local_54 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +
                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;
          local_58 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +
                     ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;
          local_44 = 0;
          local_4c = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +
                     ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;
          local_48 = ((*(ushort *)((int)puVar8 + 6) & 0xff) << 8 |
                     (uint)(*(ushort *)((int)puVar8 + 6) >> 8)) << 4 | *(byte *)(puVar8 + 1) & 0xf;
          if (piVar4 != *(int **)(param_1 + 0xe4)) break;
          uVar7 = uVar7 + 1;
          puVar8 = puVar8 + 6;
          std::
          vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>
          ::_M_realloc_insert<gold::Sized_relobj_incr<64,false>::Local_symbol>
                    (local_2c,piVar4,&local_58);
          if (uVar7 == uVar9) {
            return;
          }
        }
        *piVar4 = local_58;
        uVar7 = uVar7 + 1;
        piVar4[1] = local_54;
        piVar4[2] = local_50;
        puVar8 = puVar8 + 6;
        piVar4[3] = local_4c;
        piVar4[4] = local_48;
        piVar4[5] = 0;
        *(int **)(param_1 + 0xe0) = piVar4 + 6;
      } while (uVar7 != uVar9);
    }
    return;
  }
  (*(code *)PTR_do_gold_unreachable_004c1a30)
            (PTR_s__s_004c1a50 + 0xefc,0x391,PTR_s__s_004c1a50 + 0x1a74);
  return;
}


lui gp,0x32
addiu gp,gp,0x2018
addu gp,gp,t9
lbu v0,0x9f(a0)
addiu sp,sp,-0x70
addiu v0,v0,-0x1
sw gp,0x10(sp)
sw ra,0x6c(sp)
sltiu v0,v0,0x2
sw s8,0x68(sp)
sw s7,0x64(sp)
sw s6,0x60(sp)
sw s5,0x5c(sp)
sw s4,0x58(sp)
sw s3,0x54(sp)
sw s2,0x50(sp)
sw s1,0x4c(sp)
bne v0,zero,0x001a7290
_sw s0,0x48(sp)
lw a2,-0x77f0(gp)
li a1,0x39b
lw a0,-0x77f0(gp)
lw t9,-0x7810(gp)
addiu a2,a2,0x1a8c
jalr t9
_addiu a0,a0,0xefc
lw v0,0x98(a0)
or s7,a0,zero
addiu v1,a0,0xdc
lw t9,-0x5684(gp)
or s2,a1,zero
or a0,v1,zero
sw v1,0x44(sp)
lw v0,0x0(v0)
lw v1,0xa4(s7)
addu v0,v0,v1
lw s1,0xc(v0)
wsbh s1,s1
rotr s1,s1,0x10
or a1,s1,zero
bal 0x00195940
_sw s1,0xa8(s7)
addiu a3,sp,0x30
lw gp,0x10(sp)
addiu a2,sp,0x38
lw a0,0x90(s7)
addiu a1,sp,0x3c
sw zero,0x3c(sp)
sw zero,0x30(sp)
lw t9,-0x57d0(gp)
bal 0x001932c0
_sw zero,0x34(sp)
lbu v0,0x9f(s7)
addiu v0,v0,-0x1
sltiu v0,v0,0x2
bne v0,zero,0x001a7328
_lw gp,0x10(sp)
lw a2,-0x77f0(gp)
li a1,0x391
lw a0,-0x77f0(gp)
lw t9,-0x7810(gp)
addiu a2,a2,0x1a74
jalr t9
_addiu a0,a0,0xefc
lw v0,0x98(s7)
lw v1,0xa4(s7)
lw v0,0x0(v0)
addu v0,v0,v1
lw s0,0x8(v0)
wsbh v0,s0
lw s0,0x3c(sp)
rotr v0,v0,0x10
beq s1,zero,0x001a74a4
_addu s0,s0,v0
lw s5,-0x77f0(gp)
or s8,zero,zero
lw s4,-0x7924(gp)
addiu s6,sp,0x18
lw s3,-0x788c(gp)
addiu v0,s5,0x1478
addiu s4,s4,0x6db8
b 0x001a7460
_sw v0,0x40(sp)
addu s5,a0,v0
lw a0,0x0(s3)
lw v1,0x8(a0)
beq v1,zero,0x001a73b8
_lw t9,-0x759c(gp)
lw v1,0x14(a0)
andi v1,v1,0x10
beq v1,zero,0x001a73bc
_or a3,zero,zero
lw t9,-0x7228(gp)
or a3,s5,zero
lw a0,0x0(a0)
or a2,s8,zero
jalr t9
_lw a1,0x40(sp)
lw gp,0x10(sp)
lw t9,-0x759c(gp)
or a3,zero,zero
li a2,0x1
or a1,s5,zero
jalr t9
_or a0,s2,zero
lhu a0,0x6(s0)
lw a2,0x8(s0)
lw a3,0xc(s0)
lw v1,0x28(sp)
wsbh a1,a0
lw a0,0x10(s0)
wsbh a2,a2
lbu t2,0x4(s0)
andi a1,a1,0xffff
ins v1,a1,0x4,0x1c
lw t1,0xe4(s7)
wsbh a3,a3
lw a1,0xe0(s7)
wsbh a0,a0
lw gp,0x10(sp)
rotr a2,a2,0x10
sw v0,0x20(sp)
rotr a3,a3,0x10
sw zero,0x2c(sp)
rotr a0,a0,0x10
sw a2,0x1c(sp)
ins v1,t2,0x0,0x4
sw a3,0x18(sp)
sw a0,0x24(sp)
beq a1,t1,0x001a7484
_sw v1,0x28(sp)
addiu t1,a1,0x18
sw a3,0x0(a1)
addiu s8,s8,0x1
sw a2,0x4(a1)
sw v0,0x8(a1)
addiu s0,s0,0x18
sw a0,0xc(a1)
sw v1,0x10(a1)
sw zero,0x14(a1)
beq s8,s1,0x001a74a4
_sw t1,0xe0(s7)
lw v0,0x0(s0)
lw v1,0x34(sp)
wsbh v0,v0
rotr v0,v0,0x10
sltu v1,v0,v1
bne v1,zero,0x001a7374
_lw a0,0x30(sp)
b 0x001a7378
_or s5,s4,zero
lw t9,-0x5680(gp)
addiu s8,s8,0x1
lw a0,0x44(sp)
or a2,s6,zero
bal 0x001a6fe4
_addiu s0,s0,0x18
bne s8,s1,0x001a7460
_lw gp,0x10(sp)
lw ra,0x6c(sp)
lw s8,0x68(sp)
lw s7,0x64(sp)
lw s6,0x60(sp)
lw s5,0x5c(sp)
lw s4,0x58(sp)
lw s3,0x54(sp)
lw s2,0x50(sp)
lw s1,0x4c(sp)
lw s0,0x48(sp)
jr ra
_addiu sp,sp,0x70
(translation_unit "void FUN_001a7228(int param_1,undefined4 param_2)\n\n{\n  undefined *puVar1;\n  uint uVar2;\n  undefined4 *puVar3;\n  int *piVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  uint *puVar8;\n  uint uVar9;\n  undefined *puVar10;\n  undefined *puVar11;\n  int local_58;\n  int local_54;\n  int local_50;\n  int local_4c;\n  uint local_48;\n  undefined4 local_44;\n  int local_40;\n  uint local_3c;\n  uint uStack_38;\n  int local_34;\n  undefined *local_30;\n  vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n  *local_2c;\n  \n  if (1 < *(byte *)(param_1 + 0x9f) - 1) {\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s__s_004c1a50 + 0xefc,0x39b,PTR_s__s_004c1a50 + 0x1a8c);\n    return;\n  }\n  local_2c = (vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n              *)(param_1 + 0xdc);\n  uVar9 = *(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 0xc);\n  uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n          ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n  *(uint *)(param_1 + 0xa8) = uVar9;\n  std::\n  vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n  ::reserve(local_2c,uVar9);\n  local_34 = 0;\n  local_40 = 0;\n  local_3c = 0;\n  gold::Sized_incremental_binary<64,false>::get_symtab_view\n            (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_34,&uStack_38,\n             (Elf_strtab *)&local_40);\n  puVar1 = PTR_parameters_004c19b4;\n  if (*(byte *)(param_1 + 0x9f) - 1 < 2) {\n    uVar7 = *(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 8);\n    puVar8 = (uint *)(local_34 +\n                     (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000);\n    if (uVar9 != 0) {\n      uVar7 = 0;\n      local_30 = PTR_s__s_004c1a50 + 0x1478;\n      puVar10 = PTR_s_in_a_linker_script_004c191c + 0x6db8;\n      do {\n        while( true ) {\n          uVar2 = *puVar8;\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          puVar11 = puVar10;\n          if (uVar2 < local_3c) {\n            puVar11 = (undefined *)(local_40 + uVar2);\n          }\n          puVar3 = *(undefined4 **)puVar1;\n          if ((puVar3[2] != 0) && ((puVar3[5] & 0x10) != 0)) {\n            (*(code *)PTR_debug_004c2018)(*puVar3,local_30,uVar7,puVar11);\n          }\n          local_50 = (*(code *)PTR_add_004c1ca4)(param_2,puVar11,1,0);\n          uVar5 = puVar8[2];\n          uVar6 = puVar8[3];\n          uVar2 = puVar8[4];\n          piVar4 = *(int **)(param_1 + 0xe0);\n          local_54 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          local_58 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n          local_44 = 0;\n          local_4c = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          local_48 = ((*(ushort *)((int)puVar8 + 6) & 0xff) << 8 |\n                     (uint)(*(ushort *)((int)puVar8 + 6) >> 8)) << 4 | *(byte *)(puVar8 + 1) & 0xf;\n          if (piVar4 != *(int **)(param_1 + 0xe4)) break;\n          uVar7 = uVar7 + 1;\n          puVar8 = puVar8 + 6;\n          std::\n          vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n          ::_M_realloc_insert<gold::Sized_relobj_incr<64,false>::Local_symbol>\n                    (local_2c,piVar4,&local_58);\n          if (uVar7 == uVar9) {\n            return;\n          }\n        }\n        *piVar4 = local_58;\n        uVar7 = uVar7 + 1;\n        piVar4[1] = local_54;\n        piVar4[2] = local_50;\n        puVar8 = puVar8 + 6;\n        piVar4[3] = local_4c;\n        piVar4[4] = local_48;\n        piVar4[5] = 0;\n        *(int **)(param_1 + 0xe0) = piVar4 + 6;\n      } while (uVar7 != uVar9);\n    }\n    return;\n  }\n  (*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s__s_004c1a50 + 0xefc,0x391,PTR_s__s_004c1a50 + 0x1a74);\n  return;\n}\n\n" (function_definition "void FUN_001a7228(int param_1,undefined4 param_2)\n\n{\n  undefined *puVar1;\n  uint uVar2;\n  undefined4 *puVar3;\n  int *piVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  uint *puVar8;\n  uint uVar9;\n  undefined *puVar10;\n  undefined *puVar11;\n  int local_58;\n  int local_54;\n  int local_50;\n  int local_4c;\n  uint local_48;\n  undefined4 local_44;\n  int local_40;\n  uint local_3c;\n  uint uStack_38;\n  int local_34;\n  undefined *local_30;\n  vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n  *local_2c;\n  \n  if (1 < *(byte *)(param_1 + 0x9f) - 1) {\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s__s_004c1a50 + 0xefc,0x39b,PTR_s__s_004c1a50 + 0x1a8c);\n    return;\n  }\n  local_2c = (vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n              *)(param_1 + 0xdc);\n  uVar9 = *(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 0xc);\n  uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n          ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n  *(uint *)(param_1 + 0xa8) = uVar9;\n  std::\n  vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n  ::reserve(local_2c,uVar9);\n  local_34 = 0;\n  local_40 = 0;\n  local_3c = 0;\n  gold::Sized_incremental_binary<64,false>::get_symtab_view\n            (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_34,&uStack_38,\n             (Elf_strtab *)&local_40);\n  puVar1 = PTR_parameters_004c19b4;\n  if (*(byte *)(param_1 + 0x9f) - 1 < 2) {\n    uVar7 = *(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 8);\n    puVar8 = (uint *)(local_34 +\n                     (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000);\n    if (uVar9 != 0) {\n      uVar7 = 0;\n      local_30 = PTR_s__s_004c1a50 + 0x1478;\n      puVar10 = PTR_s_in_a_linker_script_004c191c + 0x6db8;\n      do {\n        while( true ) {\n          uVar2 = *puVar8;\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          puVar11 = puVar10;\n          if (uVar2 < local_3c) {\n            puVar11 = (undefined *)(local_40 + uVar2);\n          }\n          puVar3 = *(undefined4 **)puVar1;\n          if ((puVar3[2] != 0) && ((puVar3[5] & 0x10) != 0)) {\n            (*(code *)PTR_debug_004c2018)(*puVar3,local_30,uVar7,puVar11);\n          }\n          local_50 = (*(code *)PTR_add_004c1ca4)(param_2,puVar11,1,0);\n          uVar5 = puVar8[2];\n          uVar6 = puVar8[3];\n          uVar2 = puVar8[4];\n          piVar4 = *(int **)(param_1 + 0xe0);\n          local_54 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          local_58 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n          local_44 = 0;\n          local_4c = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          local_48 = ((*(ushort *)((int)puVar8 + 6) & 0xff) << 8 |\n                     (uint)(*(ushort *)((int)puVar8 + 6) >> 8)) << 4 | *(byte *)(puVar8 + 1) & 0xf;\n          if (piVar4 != *(int **)(param_1 + 0xe4)) break;\n          uVar7 = uVar7 + 1;\n          puVar8 = puVar8 + 6;\n          std::\n          vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n          ::_M_realloc_insert<gold::Sized_relobj_incr<64,false>::Local_symbol>\n                    (local_2c,piVar4,&local_58);\n          if (uVar7 == uVar9) {\n            return;\n          }\n        }\n        *piVar4 = local_58;\n        uVar7 = uVar7 + 1;\n        piVar4[1] = local_54;\n        piVar4[2] = local_50;\n        puVar8 = puVar8 + 6;\n        piVar4[3] = local_4c;\n        piVar4[4] = local_48;\n        piVar4[5] = 0;\n        *(int **)(param_1 + 0xe0) = piVar4 + 6;\n      } while (uVar7 != uVar9);\n    }\n    return;\n  }\n  (*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s__s_004c1a50 + 0xefc,0x391,PTR_s__s_004c1a50 + 0x1a74);\n  return;\n}" primitive_type (function_declarator "FUN_001a7228(int param_1,undefined4 param_2)" identifier (parameter_list "(int param_1,undefined4 param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  uint uVar2;\n  undefined4 *puVar3;\n  int *piVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  uint *puVar8;\n  uint uVar9;\n  undefined *puVar10;\n  undefined *puVar11;\n  int local_58;\n  int local_54;\n  int local_50;\n  int local_4c;\n  uint local_48;\n  undefined4 local_44;\n  int local_40;\n  uint local_3c;\n  uint uStack_38;\n  int local_34;\n  undefined *local_30;\n  vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n  *local_2c;\n  \n  if (1 < *(byte *)(param_1 + 0x9f) - 1) {\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s__s_004c1a50 + 0xefc,0x39b,PTR_s__s_004c1a50 + 0x1a8c);\n    return;\n  }\n  local_2c = (vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n              *)(param_1 + 0xdc);\n  uVar9 = *(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 0xc);\n  uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n          ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n  *(uint *)(param_1 + 0xa8) = uVar9;\n  std::\n  vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n  ::reserve(local_2c,uVar9);\n  local_34 = 0;\n  local_40 = 0;\n  local_3c = 0;\n  gold::Sized_incremental_binary<64,false>::get_symtab_view\n            (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_34,&uStack_38,\n             (Elf_strtab *)&local_40);\n  puVar1 = PTR_parameters_004c19b4;\n  if (*(byte *)(param_1 + 0x9f) - 1 < 2) {\n    uVar7 = *(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 8);\n    puVar8 = (uint *)(local_34 +\n                     (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000);\n    if (uVar9 != 0) {\n      uVar7 = 0;\n      local_30 = PTR_s__s_004c1a50 + 0x1478;\n      puVar10 = PTR_s_in_a_linker_script_004c191c + 0x6db8;\n      do {\n        while( true ) {\n          uVar2 = *puVar8;\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          puVar11 = puVar10;\n          if (uVar2 < local_3c) {\n            puVar11 = (undefined *)(local_40 + uVar2);\n          }\n          puVar3 = *(undefined4 **)puVar1;\n          if ((puVar3[2] != 0) && ((puVar3[5] & 0x10) != 0)) {\n            (*(code *)PTR_debug_004c2018)(*puVar3,local_30,uVar7,puVar11);\n          }\n          local_50 = (*(code *)PTR_add_004c1ca4)(param_2,puVar11,1,0);\n          uVar5 = puVar8[2];\n          uVar6 = puVar8[3];\n          uVar2 = puVar8[4];\n          piVar4 = *(int **)(param_1 + 0xe0);\n          local_54 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          local_58 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n          local_44 = 0;\n          local_4c = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          local_48 = ((*(ushort *)((int)puVar8 + 6) & 0xff) << 8 |\n                     (uint)(*(ushort *)((int)puVar8 + 6) >> 8)) << 4 | *(byte *)(puVar8 + 1) & 0xf;\n          if (piVar4 != *(int **)(param_1 + 0xe4)) break;\n          uVar7 = uVar7 + 1;\n          puVar8 = puVar8 + 6;\n          std::\n          vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n          ::_M_realloc_insert<gold::Sized_relobj_incr<64,false>::Local_symbol>\n                    (local_2c,piVar4,&local_58);\n          if (uVar7 == uVar9) {\n            return;\n          }\n        }\n        *piVar4 = local_58;\n        uVar7 = uVar7 + 1;\n        piVar4[1] = local_54;\n        piVar4[2] = local_50;\n        puVar8 = puVar8 + 6;\n        piVar4[3] = local_4c;\n        piVar4[4] = local_48;\n        piVar4[5] = 0;\n        *(int **)(param_1 + 0xe0) = piVar4 + 6;\n      } while (uVar7 != uVar9);\n    }\n    return;\n  }\n  (*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s__s_004c1a50 + 0xefc,0x391,PTR_s__s_004c1a50 + 0x1a74);\n  return;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "uint *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "undefined *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "int local_58;" primitive_type identifier ;) (declaration "int local_54;" primitive_type identifier ;) (declaration "int local_50;" primitive_type identifier ;) (declaration "int local_4c;" primitive_type identifier ;) (declaration "uint local_48;" type_identifier identifier ;) (declaration "undefined4 local_44;" type_identifier identifier ;) (declaration "int local_40;" primitive_type identifier ;) (declaration "uint local_3c;" type_identifier identifier ;) (declaration "uint uStack_38;" type_identifier identifier ;) (declaration "int local_34;" primitive_type identifier ;) (declaration "undefined *local_30;" type_identifier (pointer_declarator "*local_30" * identifier) ;) (ERROR "vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::" (binary_expression "vector<gold" identifier < identifier) : : (comma_expression "Sized_relobj_incr<64,false>::Local_symbol,std" (binary_expression "Sized_relobj_incr<64" identifier < number_literal) , (comma_expression "false>::Local_symbol,std" (binary_expression "false>::Local_symbol" false > (ERROR "::" : :) identifier) , identifier)) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Sized_relobj_incr<64,false>::Local_symbol>>\n  *local_2c;" (comma_expression "Sized_relobj_incr<64,false>::Local_symbol>>\n  *local_2c" (binary_expression "Sized_relobj_incr<64" identifier < number_literal) , (binary_expression "false>::Local_symbol>>\n  *local_2c" false > (ERROR "::" : :) (binary_expression "Local_symbol>>\n  *local_2c" identifier >> (pointer_expression "*local_2c" * identifier)))) ;) (if_statement "if (1 < *(byte *)(param_1 + 0x9f) - 1) {\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s__s_004c1a50 + 0xefc,0x39b,PTR_s__s_004c1a50 + 0x1a8c);\n    return;\n  }" if (parenthesized_expression "(1 < *(byte *)(param_1 + 0x9f) - 1)" ( (binary_expression "1 < *(byte *)(param_1 + 0x9f) - 1" number_literal < (binary_expression "*(byte *)(param_1 + 0x9f) - 1" (pointer_expression "*(byte *)(param_1 + 0x9f)" * (cast_expression "(byte *)(param_1 + 0x9f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x9f)" ( (binary_expression "param_1 + 0x9f" identifier + number_literal) )))) - number_literal)) )) (compound_statement "{\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s__s_004c1a50 + 0xefc,0x39b,PTR_s__s_004c1a50 + 0x1a8c);\n    return;\n  }" { (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s__s_004c1a50 + 0xefc,0x39b,PTR_s__s_004c1a50 + 0x1a8c);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s__s_004c1a50 + 0xefc,0x39b,PTR_s__s_004c1a50 + 0x1a8c)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s__s_004c1a50 + 0xefc,0x39b,PTR_s__s_004c1a50 + 0x1a8c)" ( (binary_expression "PTR_s__s_004c1a50 + 0xefc" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x1a8c" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "local_2c = (vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n              *)(param_1 + 0xdc);" (assignment_expression "local_2c = (vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n              *)(param_1 + 0xdc)" identifier = (call_expression "(vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n              *)(param_1 + 0xdc)" (parenthesized_expression "(vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n              *)" ( (ERROR "vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::" (binary_expression "vector<gold" identifier < identifier) : : (comma_expression "Sized_relobj_incr<64,false>::Local_symbol,std" (binary_expression "Sized_relobj_incr<64" identifier < number_literal) , (comma_expression "false>::Local_symbol,std" (binary_expression "false>::Local_symbol" false > (ERROR "::" : :) identifier) , identifier)) : : (binary_expression "allocator<gold" identifier < identifier) : :) (comma_expression "Sized_relobj_incr<64,false>::Local_symbol>>\n              *" (binary_expression "Sized_relobj_incr<64" identifier < number_literal) , (binary_expression "false>::Local_symbol>>\n              *" false > (ERROR "::" : :) (binary_expression "Local_symbol>>\n              *" identifier >> (pointer_expression "*" * identifier)))) )) (argument_list "(param_1 + 0xdc)" ( (binary_expression "param_1 + 0xdc" identifier + number_literal) )))) ;) (expression_statement "uVar9 = *(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 0xc);" (assignment_expression "uVar9 = *(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 0xc)" identifier = (pointer_expression "*(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 0xc)" * (cast_expression "(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 0xc)" ( (binary_expression "**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 0xc" (binary_expression "**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4)" (pointer_expression "**(int **)(param_1 + 0x98)" * (pointer_expression "*(int **)(param_1 + 0x98)" * (cast_expression "(int **)(param_1 + 0x98)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x98)" ( (binary_expression "param_1 + 0x98" identifier + number_literal) ))))) + (pointer_expression "*(int *)(param_1 + 0xa4)" * (cast_expression "(int *)(param_1 + 0xa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xa4)" ( (binary_expression "param_1 + 0xa4" identifier + number_literal) ))))) + number_literal) ))))) ;) (expression_statement "uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n          ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n          ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n          ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10)" ( (binary_expression "(uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10" (binary_expression "(uVar9 >> 0x10) << 0x18" (parenthesized_expression "(uVar9 >> 0x10)" ( (binary_expression "uVar9 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar9 >> 0x18) << 0x10" (parenthesized_expression "(uVar9 >> 0x18)" ( (binary_expression "uVar9 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff)" ( (binary_expression "(uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff" (binary_expression "(uVar9 & 0xff) << 8" (parenthesized_expression "(uVar9 & 0xff)" ( (binary_expression "uVar9 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar9 >> 8 & 0xff" (binary_expression "uVar9 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "*(uint *)(param_1 + 0xa8) = uVar9;" (assignment_expression "*(uint *)(param_1 + 0xa8) = uVar9" (pointer_expression "*(uint *)(param_1 + 0xa8)" * (cast_expression "(uint *)(param_1 + 0xa8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xa8)" ( (binary_expression "param_1 + 0xa8" identifier + number_literal) )))) = identifier) ;) (labeled_statement "std::\n  vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n  ::reserve(local_2c,uVar9);" statement_identifier (ERROR "::\n  vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold:" : : (binary_expression "vector<gold" identifier < identifier) : : (comma_expression "Sized_relobj_incr<64,false>::Local_symbol,std" (binary_expression "Sized_relobj_incr<64" identifier < number_literal) , (comma_expression "false>::Local_symbol,std" (binary_expression "false>::Local_symbol" false > (ERROR "::" : :) identifier) , identifier)) : : (binary_expression "allocator<gold" identifier < identifier) :) : (expression_statement "Sized_relobj_incr<64,false>::Local_symbol>>\n  ::reserve(local_2c,uVar9);" (comma_expression "Sized_relobj_incr<64,false>::Local_symbol>>\n  ::reserve(local_2c,uVar9)" (binary_expression "Sized_relobj_incr<64" identifier < number_literal) , (binary_expression "false>::Local_symbol>>\n  ::reserve(local_2c,uVar9)" false > (ERROR "::" : :) (binary_expression "Local_symbol>>\n  ::reserve(local_2c,uVar9)" identifier >> (ERROR "::" : :) (call_expression "reserve(local_2c,uVar9)" identifier (argument_list "(local_2c,uVar9)" ( identifier , identifier )))))) ;)) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" identifier = number_literal) ;) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" identifier = number_literal) ;) (labeled_statement "gold::Sized_incremental_binary<64,false>::get_symtab_view\n            (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_34,&uStack_38,\n             (Elf_strtab *)&local_40);" statement_identifier : (ERROR ":" :) (expression_statement "Sized_incremental_binary<64,false>::get_symtab_view\n            (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_34,&uStack_38,\n             (Elf_strtab *)&local_40);" (comma_expression "Sized_incremental_binary<64,false>::get_symtab_view\n            (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_34,&uStack_38,\n             (Elf_strtab *)&local_40)" (binary_expression "Sized_incremental_binary<64" identifier < number_literal) , (binary_expression "false>::get_symtab_view\n            (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_34,&uStack_38,\n             (Elf_strtab *)&local_40)" false > (ERROR "::" : :) (call_expression "get_symtab_view\n            (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_34,&uStack_38,\n             (Elf_strtab *)&local_40)" identifier (argument_list "(*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_34,&uStack_38,\n             (Elf_strtab *)&local_40)" ( (pointer_expression "*(Sized_incremental_binary<64,false> **)(param_1 + 0x90)" * (call_expression "(Sized_incremental_binary<64,false> **)(param_1 + 0x90)" (parenthesized_expression "(Sized_incremental_binary<64,false> **)" ( (comma_expression "Sized_incremental_binary<64,false> **" (binary_expression "Sized_incremental_binary<64" identifier < number_literal) , (binary_expression "false> **" false > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "(param_1 + 0x90)" ( (binary_expression "param_1 + 0x90" identifier + number_literal) )))) , (cast_expression "(View *)&local_34" ( (type_descriptor "View *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_34" & identifier)) , (pointer_expression "&uStack_38" & identifier) , (cast_expression "(Elf_strtab *)&local_40" ( (type_descriptor "Elf_strtab *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_40" & identifier)) ))))) ;)) (expression_statement "puVar1 = PTR_parameters_004c19b4;" (assignment_expression "puVar1 = PTR_parameters_004c19b4" identifier = identifier) ;) (if_statement "if (*(byte *)(param_1 + 0x9f) - 1 < 2) {\n    uVar7 = *(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 8);\n    puVar8 = (uint *)(local_34 +\n                     (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000);\n    if (uVar9 != 0) {\n      uVar7 = 0;\n      local_30 = PTR_s__s_004c1a50 + 0x1478;\n      puVar10 = PTR_s_in_a_linker_script_004c191c + 0x6db8;\n      do {\n        while( true ) {\n          uVar2 = *puVar8;\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          puVar11 = puVar10;\n          if (uVar2 < local_3c) {\n            puVar11 = (undefined *)(local_40 + uVar2);\n          }\n          puVar3 = *(undefined4 **)puVar1;\n          if ((puVar3[2] != 0) && ((puVar3[5] & 0x10) != 0)) {\n            (*(code *)PTR_debug_004c2018)(*puVar3,local_30,uVar7,puVar11);\n          }\n          local_50 = (*(code *)PTR_add_004c1ca4)(param_2,puVar11,1,0);\n          uVar5 = puVar8[2];\n          uVar6 = puVar8[3];\n          uVar2 = puVar8[4];\n          piVar4 = *(int **)(param_1 + 0xe0);\n          local_54 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          local_58 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n          local_44 = 0;\n          local_4c = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          local_48 = ((*(ushort *)((int)puVar8 + 6) & 0xff) << 8 |\n                     (uint)(*(ushort *)((int)puVar8 + 6) >> 8)) << 4 | *(byte *)(puVar8 + 1) & 0xf;\n          if (piVar4 != *(int **)(param_1 + 0xe4)) break;\n          uVar7 = uVar7 + 1;\n          puVar8 = puVar8 + 6;\n          std::\n          vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n          ::_M_realloc_insert<gold::Sized_relobj_incr<64,false>::Local_symbol>\n                    (local_2c,piVar4,&local_58);\n          if (uVar7 == uVar9) {\n            return;\n          }\n        }\n        *piVar4 = local_58;\n        uVar7 = uVar7 + 1;\n        piVar4[1] = local_54;\n        piVar4[2] = local_50;\n        puVar8 = puVar8 + 6;\n        piVar4[3] = local_4c;\n        piVar4[4] = local_48;\n        piVar4[5] = 0;\n        *(int **)(param_1 + 0xe0) = piVar4 + 6;\n      } while (uVar7 != uVar9);\n    }\n    return;\n  }" if (parenthesized_expression "(*(byte *)(param_1 + 0x9f) - 1 < 2)" ( (binary_expression "*(byte *)(param_1 + 0x9f) - 1 < 2" (binary_expression "*(byte *)(param_1 + 0x9f) - 1" (pointer_expression "*(byte *)(param_1 + 0x9f)" * (cast_expression "(byte *)(param_1 + 0x9f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x9f)" ( (binary_expression "param_1 + 0x9f" identifier + number_literal) )))) - number_literal) < number_literal) )) (compound_statement "{\n    uVar7 = *(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 8);\n    puVar8 = (uint *)(local_34 +\n                     (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000);\n    if (uVar9 != 0) {\n      uVar7 = 0;\n      local_30 = PTR_s__s_004c1a50 + 0x1478;\n      puVar10 = PTR_s_in_a_linker_script_004c191c + 0x6db8;\n      do {\n        while( true ) {\n          uVar2 = *puVar8;\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          puVar11 = puVar10;\n          if (uVar2 < local_3c) {\n            puVar11 = (undefined *)(local_40 + uVar2);\n          }\n          puVar3 = *(undefined4 **)puVar1;\n          if ((puVar3[2] != 0) && ((puVar3[5] & 0x10) != 0)) {\n            (*(code *)PTR_debug_004c2018)(*puVar3,local_30,uVar7,puVar11);\n          }\n          local_50 = (*(code *)PTR_add_004c1ca4)(param_2,puVar11,1,0);\n          uVar5 = puVar8[2];\n          uVar6 = puVar8[3];\n          uVar2 = puVar8[4];\n          piVar4 = *(int **)(param_1 + 0xe0);\n          local_54 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          local_58 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n          local_44 = 0;\n          local_4c = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          local_48 = ((*(ushort *)((int)puVar8 + 6) & 0xff) << 8 |\n                     (uint)(*(ushort *)((int)puVar8 + 6) >> 8)) << 4 | *(byte *)(puVar8 + 1) & 0xf;\n          if (piVar4 != *(int **)(param_1 + 0xe4)) break;\n          uVar7 = uVar7 + 1;\n          puVar8 = puVar8 + 6;\n          std::\n          vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n          ::_M_realloc_insert<gold::Sized_relobj_incr<64,false>::Local_symbol>\n                    (local_2c,piVar4,&local_58);\n          if (uVar7 == uVar9) {\n            return;\n          }\n        }\n        *piVar4 = local_58;\n        uVar7 = uVar7 + 1;\n        piVar4[1] = local_54;\n        piVar4[2] = local_50;\n        puVar8 = puVar8 + 6;\n        piVar4[3] = local_4c;\n        piVar4[4] = local_48;\n        piVar4[5] = 0;\n        *(int **)(param_1 + 0xe0) = piVar4 + 6;\n      } while (uVar7 != uVar9);\n    }\n    return;\n  }" { (expression_statement "uVar7 = *(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 8);" (assignment_expression "uVar7 = *(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 8)" identifier = (pointer_expression "*(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 8)" * (cast_expression "(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 8)" ( (binary_expression "**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 8" (binary_expression "**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4)" (pointer_expression "**(int **)(param_1 + 0x98)" * (pointer_expression "*(int **)(param_1 + 0x98)" * (cast_expression "(int **)(param_1 + 0x98)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x98)" ( (binary_expression "param_1 + 0x98" identifier + number_literal) ))))) + (pointer_expression "*(int *)(param_1 + 0xa4)" * (cast_expression "(int *)(param_1 + 0xa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xa4)" ( (binary_expression "param_1 + 0xa4" identifier + number_literal) ))))) + number_literal) ))))) ;) (expression_statement "puVar8 = (uint *)(local_34 +\n                     (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000);" (assignment_expression "puVar8 = (uint *)(local_34 +\n                     (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000)" identifier = (cast_expression "(uint *)(local_34 +\n                     (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_34 +\n                     (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000)" ( (binary_expression "local_34 +\n                     (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (binary_expression "local_34 +\n                     (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" identifier + (parenthesized_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10)" ( (binary_expression "(uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10" (binary_expression "(uVar7 >> 0x10) << 0x18" (parenthesized_expression "(uVar7 >> 0x10)" ( (binary_expression "uVar7 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar7 >> 0x18) << 0x10" (parenthesized_expression "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) ))) + (binary_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff)" ( (binary_expression "(uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff" (binary_expression "(uVar7 & 0xff) << 8" (parenthesized_expression "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal)) )))) ;) (if_statement "if (uVar9 != 0) {\n      uVar7 = 0;\n      local_30 = PTR_s__s_004c1a50 + 0x1478;\n      puVar10 = PTR_s_in_a_linker_script_004c191c + 0x6db8;\n      do {\n        while( true ) {\n          uVar2 = *puVar8;\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          puVar11 = puVar10;\n          if (uVar2 < local_3c) {\n            puVar11 = (undefined *)(local_40 + uVar2);\n          }\n          puVar3 = *(undefined4 **)puVar1;\n          if ((puVar3[2] != 0) && ((puVar3[5] & 0x10) != 0)) {\n            (*(code *)PTR_debug_004c2018)(*puVar3,local_30,uVar7,puVar11);\n          }\n          local_50 = (*(code *)PTR_add_004c1ca4)(param_2,puVar11,1,0);\n          uVar5 = puVar8[2];\n          uVar6 = puVar8[3];\n          uVar2 = puVar8[4];\n          piVar4 = *(int **)(param_1 + 0xe0);\n          local_54 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          local_58 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n          local_44 = 0;\n          local_4c = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          local_48 = ((*(ushort *)((int)puVar8 + 6) & 0xff) << 8 |\n                     (uint)(*(ushort *)((int)puVar8 + 6) >> 8)) << 4 | *(byte *)(puVar8 + 1) & 0xf;\n          if (piVar4 != *(int **)(param_1 + 0xe4)) break;\n          uVar7 = uVar7 + 1;\n          puVar8 = puVar8 + 6;\n          std::\n          vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n          ::_M_realloc_insert<gold::Sized_relobj_incr<64,false>::Local_symbol>\n                    (local_2c,piVar4,&local_58);\n          if (uVar7 == uVar9) {\n            return;\n          }\n        }\n        *piVar4 = local_58;\n        uVar7 = uVar7 + 1;\n        piVar4[1] = local_54;\n        piVar4[2] = local_50;\n        puVar8 = puVar8 + 6;\n        piVar4[3] = local_4c;\n        piVar4[4] = local_48;\n        piVar4[5] = 0;\n        *(int **)(param_1 + 0xe0) = piVar4 + 6;\n      } while (uVar7 != uVar9);\n    }" if (parenthesized_expression "(uVar9 != 0)" ( (binary_expression "uVar9 != 0" identifier != number_literal) )) (compound_statement "{\n      uVar7 = 0;\n      local_30 = PTR_s__s_004c1a50 + 0x1478;\n      puVar10 = PTR_s_in_a_linker_script_004c191c + 0x6db8;\n      do {\n        while( true ) {\n          uVar2 = *puVar8;\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          puVar11 = puVar10;\n          if (uVar2 < local_3c) {\n            puVar11 = (undefined *)(local_40 + uVar2);\n          }\n          puVar3 = *(undefined4 **)puVar1;\n          if ((puVar3[2] != 0) && ((puVar3[5] & 0x10) != 0)) {\n            (*(code *)PTR_debug_004c2018)(*puVar3,local_30,uVar7,puVar11);\n          }\n          local_50 = (*(code *)PTR_add_004c1ca4)(param_2,puVar11,1,0);\n          uVar5 = puVar8[2];\n          uVar6 = puVar8[3];\n          uVar2 = puVar8[4];\n          piVar4 = *(int **)(param_1 + 0xe0);\n          local_54 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          local_58 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n          local_44 = 0;\n          local_4c = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          local_48 = ((*(ushort *)((int)puVar8 + 6) & 0xff) << 8 |\n                     (uint)(*(ushort *)((int)puVar8 + 6) >> 8)) << 4 | *(byte *)(puVar8 + 1) & 0xf;\n          if (piVar4 != *(int **)(param_1 + 0xe4)) break;\n          uVar7 = uVar7 + 1;\n          puVar8 = puVar8 + 6;\n          std::\n          vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n          ::_M_realloc_insert<gold::Sized_relobj_incr<64,false>::Local_symbol>\n                    (local_2c,piVar4,&local_58);\n          if (uVar7 == uVar9) {\n            return;\n          }\n        }\n        *piVar4 = local_58;\n        uVar7 = uVar7 + 1;\n        piVar4[1] = local_54;\n        piVar4[2] = local_50;\n        puVar8 = puVar8 + 6;\n        piVar4[3] = local_4c;\n        piVar4[4] = local_48;\n        piVar4[5] = 0;\n        *(int **)(param_1 + 0xe0) = piVar4 + 6;\n      } while (uVar7 != uVar9);\n    }" { (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (expression_statement "local_30 = PTR_s__s_004c1a50 + 0x1478;" (assignment_expression "local_30 = PTR_s__s_004c1a50 + 0x1478" identifier = (binary_expression "PTR_s__s_004c1a50 + 0x1478" identifier + number_literal)) ;) (expression_statement "puVar10 = PTR_s_in_a_linker_script_004c191c + 0x6db8;" (assignment_expression "puVar10 = PTR_s_in_a_linker_script_004c191c + 0x6db8" identifier = (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x6db8" identifier + number_literal)) ;) (do_statement "do {\n        while( true ) {\n          uVar2 = *puVar8;\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          puVar11 = puVar10;\n          if (uVar2 < local_3c) {\n            puVar11 = (undefined *)(local_40 + uVar2);\n          }\n          puVar3 = *(undefined4 **)puVar1;\n          if ((puVar3[2] != 0) && ((puVar3[5] & 0x10) != 0)) {\n            (*(code *)PTR_debug_004c2018)(*puVar3,local_30,uVar7,puVar11);\n          }\n          local_50 = (*(code *)PTR_add_004c1ca4)(param_2,puVar11,1,0);\n          uVar5 = puVar8[2];\n          uVar6 = puVar8[3];\n          uVar2 = puVar8[4];\n          piVar4 = *(int **)(param_1 + 0xe0);\n          local_54 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          local_58 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n          local_44 = 0;\n          local_4c = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          local_48 = ((*(ushort *)((int)puVar8 + 6) & 0xff) << 8 |\n                     (uint)(*(ushort *)((int)puVar8 + 6) >> 8)) << 4 | *(byte *)(puVar8 + 1) & 0xf;\n          if (piVar4 != *(int **)(param_1 + 0xe4)) break;\n          uVar7 = uVar7 + 1;\n          puVar8 = puVar8 + 6;\n          std::\n          vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n          ::_M_realloc_insert<gold::Sized_relobj_incr<64,false>::Local_symbol>\n                    (local_2c,piVar4,&local_58);\n          if (uVar7 == uVar9) {\n            return;\n          }\n        }\n        *piVar4 = local_58;\n        uVar7 = uVar7 + 1;\n        piVar4[1] = local_54;\n        piVar4[2] = local_50;\n        puVar8 = puVar8 + 6;\n        piVar4[3] = local_4c;\n        piVar4[4] = local_48;\n        piVar4[5] = 0;\n        *(int **)(param_1 + 0xe0) = piVar4 + 6;\n      } while (uVar7 != uVar9);" do (compound_statement "{\n        while( true ) {\n          uVar2 = *puVar8;\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          puVar11 = puVar10;\n          if (uVar2 < local_3c) {\n            puVar11 = (undefined *)(local_40 + uVar2);\n          }\n          puVar3 = *(undefined4 **)puVar1;\n          if ((puVar3[2] != 0) && ((puVar3[5] & 0x10) != 0)) {\n            (*(code *)PTR_debug_004c2018)(*puVar3,local_30,uVar7,puVar11);\n          }\n          local_50 = (*(code *)PTR_add_004c1ca4)(param_2,puVar11,1,0);\n          uVar5 = puVar8[2];\n          uVar6 = puVar8[3];\n          uVar2 = puVar8[4];\n          piVar4 = *(int **)(param_1 + 0xe0);\n          local_54 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          local_58 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n          local_44 = 0;\n          local_4c = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          local_48 = ((*(ushort *)((int)puVar8 + 6) & 0xff) << 8 |\n                     (uint)(*(ushort *)((int)puVar8 + 6) >> 8)) << 4 | *(byte *)(puVar8 + 1) & 0xf;\n          if (piVar4 != *(int **)(param_1 + 0xe4)) break;\n          uVar7 = uVar7 + 1;\n          puVar8 = puVar8 + 6;\n          std::\n          vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n          ::_M_realloc_insert<gold::Sized_relobj_incr<64,false>::Local_symbol>\n                    (local_2c,piVar4,&local_58);\n          if (uVar7 == uVar9) {\n            return;\n          }\n        }\n        *piVar4 = local_58;\n        uVar7 = uVar7 + 1;\n        piVar4[1] = local_54;\n        piVar4[2] = local_50;\n        puVar8 = puVar8 + 6;\n        piVar4[3] = local_4c;\n        piVar4[4] = local_48;\n        piVar4[5] = 0;\n        *(int **)(param_1 + 0xe0) = piVar4 + 6;\n      }" { (while_statement "while( true ) {\n          uVar2 = *puVar8;\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          puVar11 = puVar10;\n          if (uVar2 < local_3c) {\n            puVar11 = (undefined *)(local_40 + uVar2);\n          }\n          puVar3 = *(undefined4 **)puVar1;\n          if ((puVar3[2] != 0) && ((puVar3[5] & 0x10) != 0)) {\n            (*(code *)PTR_debug_004c2018)(*puVar3,local_30,uVar7,puVar11);\n          }\n          local_50 = (*(code *)PTR_add_004c1ca4)(param_2,puVar11,1,0);\n          uVar5 = puVar8[2];\n          uVar6 = puVar8[3];\n          uVar2 = puVar8[4];\n          piVar4 = *(int **)(param_1 + 0xe0);\n          local_54 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          local_58 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n          local_44 = 0;\n          local_4c = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          local_48 = ((*(ushort *)((int)puVar8 + 6) & 0xff) << 8 |\n                     (uint)(*(ushort *)((int)puVar8 + 6) >> 8)) << 4 | *(byte *)(puVar8 + 1) & 0xf;\n          if (piVar4 != *(int **)(param_1 + 0xe4)) break;\n          uVar7 = uVar7 + 1;\n          puVar8 = puVar8 + 6;\n          std::\n          vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n          ::_M_realloc_insert<gold::Sized_relobj_incr<64,false>::Local_symbol>\n                    (local_2c,piVar4,&local_58);\n          if (uVar7 == uVar9) {\n            return;\n          }\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          uVar2 = *puVar8;\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          puVar11 = puVar10;\n          if (uVar2 < local_3c) {\n            puVar11 = (undefined *)(local_40 + uVar2);\n          }\n          puVar3 = *(undefined4 **)puVar1;\n          if ((puVar3[2] != 0) && ((puVar3[5] & 0x10) != 0)) {\n            (*(code *)PTR_debug_004c2018)(*puVar3,local_30,uVar7,puVar11);\n          }\n          local_50 = (*(code *)PTR_add_004c1ca4)(param_2,puVar11,1,0);\n          uVar5 = puVar8[2];\n          uVar6 = puVar8[3];\n          uVar2 = puVar8[4];\n          piVar4 = *(int **)(param_1 + 0xe0);\n          local_54 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          local_58 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n          local_44 = 0;\n          local_4c = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          local_48 = ((*(ushort *)((int)puVar8 + 6) & 0xff) << 8 |\n                     (uint)(*(ushort *)((int)puVar8 + 6) >> 8)) << 4 | *(byte *)(puVar8 + 1) & 0xf;\n          if (piVar4 != *(int **)(param_1 + 0xe4)) break;\n          uVar7 = uVar7 + 1;\n          puVar8 = puVar8 + 6;\n          std::\n          vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n          ::_M_realloc_insert<gold::Sized_relobj_incr<64,false>::Local_symbol>\n                    (local_2c,piVar4,&local_58);\n          if (uVar7 == uVar9) {\n            return;\n          }\n        }" { (expression_statement "uVar2 = *puVar8;" (assignment_expression "uVar2 = *puVar8" identifier = (pointer_expression "*puVar8" * identifier)) ;) (expression_statement "uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10)" ( (binary_expression "(uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10" (binary_expression "(uVar2 >> 0x10) << 0x18" (parenthesized_expression "(uVar2 >> 0x10)" ( (binary_expression "uVar2 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar2 >> 0x18) << 0x10" (parenthesized_expression "(uVar2 >> 0x18)" ( (binary_expression "uVar2 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff)" ( (binary_expression "(uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff" (binary_expression "(uVar2 & 0xff) << 8" (parenthesized_expression "(uVar2 & 0xff)" ( (binary_expression "uVar2 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar2 >> 8 & 0xff" (binary_expression "uVar2 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "puVar11 = puVar10;" (assignment_expression "puVar11 = puVar10" identifier = identifier) ;) (if_statement "if (uVar2 < local_3c) {\n            puVar11 = (undefined *)(local_40 + uVar2);\n          }" if (parenthesized_expression "(uVar2 < local_3c)" ( (binary_expression "uVar2 < local_3c" identifier < identifier) )) (compound_statement "{\n            puVar11 = (undefined *)(local_40 + uVar2);\n          }" { (expression_statement "puVar11 = (undefined *)(local_40 + uVar2);" (assignment_expression "puVar11 = (undefined *)(local_40 + uVar2)" identifier = (cast_expression "(undefined *)(local_40 + uVar2)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40 + uVar2)" ( (binary_expression "local_40 + uVar2" identifier + identifier) )))) ;) })) (expression_statement "puVar3 = *(undefined4 **)puVar1;" (assignment_expression "puVar3 = *(undefined4 **)puVar1" identifier = (pointer_expression "*(undefined4 **)puVar1" * (cast_expression "(undefined4 **)puVar1" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if ((puVar3[2] != 0) && ((puVar3[5] & 0x10) != 0)) {\n            (*(code *)PTR_debug_004c2018)(*puVar3,local_30,uVar7,puVar11);\n          }" if (parenthesized_expression "((puVar3[2] != 0) && ((puVar3[5] & 0x10) != 0))" ( (binary_expression "(puVar3[2] != 0) && ((puVar3[5] & 0x10) != 0)" (parenthesized_expression "(puVar3[2] != 0)" ( (binary_expression "puVar3[2] != 0" (subscript_expression "puVar3[2]" identifier [ number_literal ]) != number_literal) )) && (parenthesized_expression "((puVar3[5] & 0x10) != 0)" ( (binary_expression "(puVar3[5] & 0x10) != 0" (parenthesized_expression "(puVar3[5] & 0x10)" ( (binary_expression "puVar3[5] & 0x10" (subscript_expression "puVar3[5]" identifier [ number_literal ]) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n            (*(code *)PTR_debug_004c2018)(*puVar3,local_30,uVar7,puVar11);\n          }" { (expression_statement "(*(code *)PTR_debug_004c2018)(*puVar3,local_30,uVar7,puVar11);" (call_expression "(*(code *)PTR_debug_004c2018)(*puVar3,local_30,uVar7,puVar11)" (parenthesized_expression "(*(code *)PTR_debug_004c2018)" ( (pointer_expression "*(code *)PTR_debug_004c2018" * (cast_expression "(code *)PTR_debug_004c2018" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar3,local_30,uVar7,puVar11)" ( (pointer_expression "*puVar3" * identifier) , identifier , identifier , identifier ))) ;) })) (expression_statement "local_50 = (*(code *)PTR_add_004c1ca4)(param_2,puVar11,1,0);" (assignment_expression "local_50 = (*(code *)PTR_add_004c1ca4)(param_2,puVar11,1,0)" identifier = (call_expression "(*(code *)PTR_add_004c1ca4)(param_2,puVar11,1,0)" (parenthesized_expression "(*(code *)PTR_add_004c1ca4)" ( (pointer_expression "*(code *)PTR_add_004c1ca4" * (cast_expression "(code *)PTR_add_004c1ca4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,puVar11,1,0)" ( identifier , identifier , number_literal , number_literal )))) ;) (expression_statement "uVar5 = puVar8[2];" (assignment_expression "uVar5 = puVar8[2]" identifier = (subscript_expression "puVar8[2]" identifier [ number_literal ])) ;) (expression_statement "uVar6 = puVar8[3];" (assignment_expression "uVar6 = puVar8[3]" identifier = (subscript_expression "puVar8[3]" identifier [ number_literal ])) ;) (expression_statement "uVar2 = puVar8[4];" (assignment_expression "uVar2 = puVar8[4]" identifier = (subscript_expression "puVar8[4]" identifier [ number_literal ])) ;) (expression_statement "piVar4 = *(int **)(param_1 + 0xe0);" (assignment_expression "piVar4 = *(int **)(param_1 + 0xe0)" identifier = (pointer_expression "*(int **)(param_1 + 0xe0)" * (cast_expression "(int **)(param_1 + 0xe0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0xe0)" ( (binary_expression "param_1 + 0xe0" identifier + number_literal) ))))) ;) (expression_statement "local_54 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;" (assignment_expression "local_54 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10)" ( (binary_expression "(uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10" (binary_expression "(uVar5 >> 0x10) << 0x18" (parenthesized_expression "(uVar5 >> 0x10)" ( (binary_expression "uVar5 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar5 >> 0x18) << 0x10" (parenthesized_expression "(uVar5 >> 0x18)" ( (binary_expression "uVar5 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff)" ( (binary_expression "(uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff" (binary_expression "(uVar5 & 0xff) << 8" (parenthesized_expression "(uVar5 & 0xff)" ( (binary_expression "uVar5 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar5 >> 8 & 0xff" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "local_58 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;" (assignment_expression "local_58 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10)" ( (binary_expression "(uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10" (binary_expression "(uVar6 >> 0x10) << 0x18" (parenthesized_expression "(uVar6 >> 0x10)" ( (binary_expression "uVar6 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar6 >> 0x18) << 0x10" (parenthesized_expression "(uVar6 >> 0x18)" ( (binary_expression "uVar6 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff)" ( (binary_expression "(uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff" (binary_expression "(uVar6 & 0xff) << 8" (parenthesized_expression "(uVar6 & 0xff)" ( (binary_expression "uVar6 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar6 >> 8 & 0xff" (binary_expression "uVar6 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" identifier = number_literal) ;) (expression_statement "local_4c = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;" (assignment_expression "local_4c = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10)" ( (binary_expression "(uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10" (binary_expression "(uVar2 >> 0x10) << 0x18" (parenthesized_expression "(uVar2 >> 0x10)" ( (binary_expression "uVar2 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar2 >> 0x18) << 0x10" (parenthesized_expression "(uVar2 >> 0x18)" ( (binary_expression "uVar2 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff)" ( (binary_expression "(uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff" (binary_expression "(uVar2 & 0xff) << 8" (parenthesized_expression "(uVar2 & 0xff)" ( (binary_expression "uVar2 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar2 >> 8 & 0xff" (binary_expression "uVar2 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "local_48 = ((*(ushort *)((int)puVar8 + 6) & 0xff) << 8 |\n                     (uint)(*(ushort *)((int)puVar8 + 6) >> 8)) << 4 | *(byte *)(puVar8 + 1) & 0xf;" (assignment_expression "local_48 = ((*(ushort *)((int)puVar8 + 6) & 0xff) << 8 |\n                     (uint)(*(ushort *)((int)puVar8 + 6) >> 8)) << 4 | *(byte *)(puVar8 + 1) & 0xf" identifier = (binary_expression "((*(ushort *)((int)puVar8 + 6) & 0xff) << 8 |\n                     (uint)(*(ushort *)((int)puVar8 + 6) >> 8)) << 4 | *(byte *)(puVar8 + 1) & 0xf" (binary_expression "((*(ushort *)((int)puVar8 + 6) & 0xff) << 8 |\n                     (uint)(*(ushort *)((int)puVar8 + 6) >> 8)) << 4" (parenthesized_expression "((*(ushort *)((int)puVar8 + 6) & 0xff) << 8 |\n                     (uint)(*(ushort *)((int)puVar8 + 6) >> 8))" ( (binary_expression "(*(ushort *)((int)puVar8 + 6) & 0xff) << 8 |\n                     (uint)(*(ushort *)((int)puVar8 + 6) >> 8)" (binary_expression "(*(ushort *)((int)puVar8 + 6) & 0xff) << 8" (parenthesized_expression "(*(ushort *)((int)puVar8 + 6) & 0xff)" ( (binary_expression "*(ushort *)((int)puVar8 + 6) & 0xff" (pointer_expression "*(ushort *)((int)puVar8 + 6)" * (cast_expression "(ushort *)((int)puVar8 + 6)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + 6)" ( (binary_expression "(int)puVar8 + 6" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) << number_literal) | (call_expression "(uint)(*(ushort *)((int)puVar8 + 6) >> 8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(ushort *)((int)puVar8 + 6) >> 8)" ( (binary_expression "*(ushort *)((int)puVar8 + 6) >> 8" (pointer_expression "*(ushort *)((int)puVar8 + 6)" * (cast_expression "(ushort *)((int)puVar8 + 6)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + 6)" ( (binary_expression "(int)puVar8 + 6" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal) )))) )) << number_literal) | (binary_expression "*(byte *)(puVar8 + 1) & 0xf" (pointer_expression "*(byte *)(puVar8 + 1)" * (cast_expression "(byte *)(puVar8 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 1)" ( (binary_expression "puVar8 + 1" identifier + number_literal) )))) & number_literal))) ;) (if_statement "if (piVar4 != *(int **)(param_1 + 0xe4)) break;" if (parenthesized_expression "(piVar4 != *(int **)(param_1 + 0xe4))" ( (binary_expression "piVar4 != *(int **)(param_1 + 0xe4)" identifier != (pointer_expression "*(int **)(param_1 + 0xe4)" * (cast_expression "(int **)(param_1 + 0xe4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0xe4)" ( (binary_expression "param_1 + 0xe4" identifier + number_literal) ))))) )) (break_statement "break;" break ;)) (expression_statement "uVar7 = uVar7 + 1;" (assignment_expression "uVar7 = uVar7 + 1" identifier = (binary_expression "uVar7 + 1" identifier + number_literal)) ;) (expression_statement "puVar8 = puVar8 + 6;" (assignment_expression "puVar8 = puVar8 + 6" identifier = (binary_expression "puVar8 + 6" identifier + number_literal)) ;) (labeled_statement "std::\n          vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n          ::_M_realloc_insert<gold::Sized_relobj_incr<64,false>::Local_symbol>\n                    (local_2c,piVar4,&local_58);" statement_identifier (ERROR "::\n          vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n          ::_M_realloc_insert<gold:" : : (binary_expression "vector<gold" identifier < identifier) : : (comma_expression "Sized_relobj_incr<64,false>::Local_symbol,std" (binary_expression "Sized_relobj_incr<64" identifier < number_literal) , (comma_expression "false>::Local_symbol,std" (binary_expression "false>::Local_symbol" false > (ERROR "::" : :) identifier) , identifier)) : : (binary_expression "allocator<gold" identifier < identifier) : : (comma_expression "Sized_relobj_incr<64,false>::Local_symbol>>\n          ::_M_realloc_insert<gold" (binary_expression "Sized_relobj_incr<64" identifier < number_literal) , (binary_expression "false>::Local_symbol>>\n          ::_M_realloc_insert<gold" (binary_expression "false>::Local_symbol>>\n          ::_M_realloc_insert" false > (ERROR "::" : :) (binary_expression "Local_symbol>>\n          ::_M_realloc_insert" identifier >> (ERROR "::" : :) identifier)) < identifier)) :) : (expression_statement "Sized_relobj_incr<64,false>::Local_symbol>\n                    (local_2c,piVar4,&local_58);" (comma_expression "Sized_relobj_incr<64,false>::Local_symbol>\n                    (local_2c,piVar4,&local_58)" (binary_expression "Sized_relobj_incr<64" identifier < number_literal) , (binary_expression "false>::Local_symbol>\n                    (local_2c,piVar4,&local_58)" (binary_expression "false>::Local_symbol" false > (ERROR "::" : :) identifier) > (parenthesized_expression "(local_2c,piVar4,&local_58)" ( (comma_expression "local_2c,piVar4,&local_58" identifier , (comma_expression "piVar4,&local_58" identifier , (pointer_expression "&local_58" & identifier))) )))) ;)) (if_statement "if (uVar7 == uVar9) {\n            return;\n          }" if (parenthesized_expression "(uVar7 == uVar9)" ( (binary_expression "uVar7 == uVar9" identifier == identifier) )) (compound_statement "{\n            return;\n          }" { (return_statement "return;" return ;) })) })) (expression_statement "*piVar4 = local_58;" (assignment_expression "*piVar4 = local_58" (pointer_expression "*piVar4" * identifier) = identifier) ;) (expression_statement "uVar7 = uVar7 + 1;" (assignment_expression "uVar7 = uVar7 + 1" identifier = (binary_expression "uVar7 + 1" identifier + number_literal)) ;) (expression_statement "piVar4[1] = local_54;" (assignment_expression "piVar4[1] = local_54" (subscript_expression "piVar4[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar4[2] = local_50;" (assignment_expression "piVar4[2] = local_50" (subscript_expression "piVar4[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar8 = puVar8 + 6;" (assignment_expression "puVar8 = puVar8 + 6" identifier = (binary_expression "puVar8 + 6" identifier + number_literal)) ;) (expression_statement "piVar4[3] = local_4c;" (assignment_expression "piVar4[3] = local_4c" (subscript_expression "piVar4[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar4[4] = local_48;" (assignment_expression "piVar4[4] = local_48" (subscript_expression "piVar4[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar4[5] = 0;" (assignment_expression "piVar4[5] = 0" (subscript_expression "piVar4[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(int **)(param_1 + 0xe0) = piVar4 + 6;" (assignment_expression "*(int **)(param_1 + 0xe0) = piVar4 + 6" (pointer_expression "*(int **)(param_1 + 0xe0)" * (cast_expression "(int **)(param_1 + 0xe0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0xe0)" ( (binary_expression "param_1 + 0xe0" identifier + number_literal) )))) = (binary_expression "piVar4 + 6" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar7 != uVar9)" ( (binary_expression "uVar7 != uVar9" identifier != identifier) )) ;) })) (return_statement "return;" return ;) })) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s__s_004c1a50 + 0xefc,0x391,PTR_s__s_004c1a50 + 0x1a74);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s__s_004c1a50 + 0xefc,0x391,PTR_s__s_004c1a50 + 0x1a74)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s__s_004c1a50 + 0xefc,0x391,PTR_s__s_004c1a50 + 0x1a74)" ( (binary_expression "PTR_s__s_004c1a50 + 0xefc" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x1a74" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */\n/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */\n/* DWARF original prototype: void do_count_local_symbols(Sized_relobj_incr<64,_false> * this,\n   Stringpool_template<char> * pool, Stringpool_template<char> * param_2) */\n\nvoid __thiscall\ngold::Sized_relobj_incr<64,_false>::do_count_local_symbols\n          (Sized_relobj_incr<64,_false> *this,Stringpool_template<char> *pool,\n          Stringpool_template<char> *param_2)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined4 *puVar3;\n  iterator __position;\n  uint uVar4;\n  uint uVar5;\n  uint *puVar6;\n  uint uVar7;\n  size_type __n;\n  char *pcVar8;\n  char *pcVar9;\n  size_type sVar10;\n  Local_symbol local_58;\n  Elf_strtab strtab;\n  uint symtab_count;\n  View symtab_view;\n  \n  if (1 < (byte)(this->input_reader_).flags_ - 1) {\n    pool = (Stringpool_template<char> *)0x39b;\n    this = (Sized_relobj_incr<64,_false> *)(PTR_s__s_004c1a50 + 0xefc);\n    (*(code *)PTR_do_gold_unreachable_004c1a30)(this,0x39b,PTR_s__s_004c1a50 + 0x1a8c);\n  }\n  uVar7 = *(uint *)(((this->input_reader_).inputs_)->p_ + (this->input_reader_).info_offset_ + 0xc);\n  __n = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n        ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n  this->local_symbol_count_ = __n;\n  std::\n  vector<gold::Sized_relobj_incr<64,_false>::Local_symbol,_std::allocator<gold::Sized_relobj_incr<64,_false>::Local_symbol>_>\n  ::reserve(&this->local_symbols_,__n);\n  symtab_view.p_ = (uchar *)0x0;\n  strtab.base_ = (char *)0x0;\n  strtab.usable_size_ = 0;\n  Sized_incremental_binary<64,_false>::get_symtab_view\n            (this->ibase_,&symtab_view,&symtab_count,&strtab);\n  if (1 < (byte)(this->input_reader_).flags_ - 1) {\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s__s_004c1a50 + 0xefc,0x391,PTR_s__s_004c1a50 + 0x1a74);\n  }\n  puVar1 = PTR_parameters_004c19b4;\n  uVar7 = *(uint *)(((this->input_reader_).inputs_)->p_ + (this->input_reader_).info_offset_ + 8);\n  puVar6 = (uint *)(symtab_view.p_ +\n                   (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000);\n  if (__n != 0) {\n    sVar10 = 0;\n    puVar2 = PTR_s__s_004c1a50 + 0x1478;\n    pcVar8 = PTR_s_in_a_linker_script_004c191c + 0x6db8;\n    do {\n      while( true ) {\n        uVar7 = *puVar6;\n        uVar7 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        pcVar9 = pcVar8;\n        if (uVar7 < strtab.usable_size_) {\n          pcVar9 = strtab.base_ + uVar7;\n        }\n        puVar3 = *(undefined4 **)puVar1;\n        if ((puVar3[2] != 0) && ((puVar3[5] & 0x10) != 0)) {\n          (*(code *)PTR_debug_004c2018)(*puVar3,puVar2,sVar10,pcVar9);\n        }\n        local_58.name = (char *)(*(code *)PTR_add_004c1ca4)(pool,pcVar9,1,0);\n        uVar4 = puVar6[2];\n        uVar5 = puVar6[3];\n        uVar7 = puVar6[4];\n        __position._M_current =\n             (this->local_symbols_).\n             super__Vector_base<gold::Sized_relobj_incr<64,_false>::Local_symbol,_std::allocator<gold::Sized_relobj_incr<64,_false>::Local_symbol>_>\n             ._M_impl._M_finish;\n        local_58.st_value._4_4_ =\n             (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n        local_58.st_value._0_4_ =\n             (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n        local_58._20_4_ = 0;\n        local_58.st_size =\n             (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        local_58._16_4_ =\n             ((*(ushort *)((int)puVar6 + 6) & 0xff) << 8 | (uint)(*(ushort *)((int)puVar6 + 6) >> 8)\n             ) << 4 | *(byte *)(puVar6 + 1) & 0xf;\n        if (__position._M_current !=\n            (this->local_symbols_).\n            super__Vector_base<gold::Sized_relobj_incr<64,_false>::Local_symbol,_std::allocator<gold::Sized_relobj_incr<64,_false>::Local_symbol>_>\n            ._M_impl._M_end_of_storage) break;\n        sVar10 = sVar10 + 1;\n        puVar6 = puVar6 + 6;\n        std::\n        vector<gold::Sized_relobj_incr<64,_false>::Local_symbol,_std::allocator<gold::Sized_relobj_incr<64,_false>::Local_symbol>_>\n        ::_M_realloc_insert<gold::Sized_relobj_incr<64,_false>::Local_symbol>\n                  (&this->local_symbols_,__position,&local_58);\n        if (sVar10 == __n) {\n          return;\n        }\n      }\n      *(int *)&(__position._M_current)->st_value = local_58.st_value._0_4_;\n      sVar10 = sVar10 + 1;\n      *(int *)((int)&(__position._M_current)->st_value + 4) = local_58.st_value._4_4_;\n      (__position._M_current)->name = local_58.name;\n      puVar6 = puVar6 + 6;\n      (__position._M_current)->st_size = local_58.st_size;\n      *(undefined4 *)&(__position._M_current)->field_0x10 = local_58._16_4_;\n      *(undefined4 *)&(__position._M_current)->field_0x14 = 0;\n      (this->local_symbols_).\n      super__Vector_base<gold::Sized_relobj_incr<64,_false>::Local_symbol,_std::allocator<gold::Sized_relobj_incr<64,_false>::Local_symbol>_>\n      ._M_impl._M_finish = __position._M_current + 1;\n    } while (sVar10 != __n);\n  }\n  return;\n}\n\n" comment comment comment (declaration "void __thiscall\ngold::Sized_relobj_incr<64,_false>::do_count_local_symbols\n          (Sized_relobj_incr<64,_false> *this,Stringpool_template<char> *pool,\n          Stringpool_template<char> *param_2)\n\n{\n  undefined *puVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::" identifier : :) identifier (ERROR "<64" < number_literal) , (ERROR "_false>::do_count_local_symbols\n          (Sized_relobj_incr<64,_false> *this,Stringpool_template<char> *pool,\n          Stringpool_template<char> *param_2)\n\n{\n  undefined" identifier > : : (function_declarator "do_count_local_symbols\n          (Sized_relobj_incr<64,_false> *this,Stringpool_template<char> *pool,\n          Stringpool_template<char> *param_2)" identifier (parameter_list "(Sized_relobj_incr<64,_false> *this,Stringpool_template<char> *pool,\n          Stringpool_template<char> *param_2)" ( (parameter_declaration "Sized_relobj_incr" type_identifier) (ERROR "<64" < number_literal) , (parameter_declaration "_false> *this" type_identifier (ERROR ">" >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "Stringpool_template<char> *pool" type_identifier (ERROR "<char>" < primitive_type >) (pointer_declarator "*pool" * identifier)) , (parameter_declaration "Stringpool_template<char> *param_2" type_identifier (ERROR "<char>" < primitive_type >) (pointer_declarator "*param_2" * identifier)) ))) { identifier) (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "iterator __position;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "uint *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "size_type __n;" type_identifier identifier ;) (declaration "char *pcVar8;" primitive_type (pointer_declarator "*pcVar8" * identifier) ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "size_type sVar10;" type_identifier identifier ;) (declaration "Local_symbol local_58;" type_identifier identifier ;) (declaration "Elf_strtab strtab;" type_identifier identifier ;) (declaration "uint symtab_count;" type_identifier identifier ;) (declaration "View symtab_view;" type_identifier identifier ;) (if_statement "if (1 < (byte)(this->input_reader_).flags_ - 1) {\n    pool = (Stringpool_template<char> *)0x39b;\n    this = (Sized_relobj_incr<64,_false> *)(PTR_s__s_004c1a50 + 0xefc);\n    (*(code *)PTR_do_gold_unreachable_004c1a30)(this,0x39b,PTR_s__s_004c1a50 + 0x1a8c);\n  }" if (parenthesized_expression "(1 < (byte)(this->input_reader_).flags_ - 1)" ( (binary_expression "1 < (byte)(this->input_reader_).flags_ - 1" number_literal < (binary_expression "(byte)(this->input_reader_).flags_ - 1" (field_expression "(byte)(this->input_reader_).flags_" (call_expression "(byte)(this->input_reader_)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(this->input_reader_)" ( (field_expression "this->input_reader_" identifier -> field_identifier) ))) . field_identifier) - number_literal)) )) (compound_statement "{\n    pool = (Stringpool_template<char> *)0x39b;\n    this = (Sized_relobj_incr<64,_false> *)(PTR_s__s_004c1a50 + 0xefc);\n    (*(code *)PTR_do_gold_unreachable_004c1a30)(this,0x39b,PTR_s__s_004c1a50 + 0x1a8c);\n  }" { (expression_statement "pool = (Stringpool_template<char> *)0x39b;" (assignment_expression "pool = (Stringpool_template<char> *)0x39b" identifier = (parenthesized_expression "(Stringpool_template<char> *)0x39b" ( (binary_expression "Stringpool_template<char> *)0x39b" (binary_expression "Stringpool_template<char" identifier < identifier) > (pointer_expression "*)0x39b" * (ERROR ")" )) number_literal)) ))) ;) (expression_statement "this = (Sized_relobj_incr<64,_false> *)(PTR_s__s_004c1a50 + 0xefc);" (assignment_expression "this = (Sized_relobj_incr<64,_false> *)(PTR_s__s_004c1a50 + 0xefc)" identifier = (call_expression "(Sized_relobj_incr<64,_false> *)(PTR_s__s_004c1a50 + 0xefc)" (parenthesized_expression "(Sized_relobj_incr<64,_false> *)" ( (comma_expression "Sized_relobj_incr<64,_false> *" (binary_expression "Sized_relobj_incr<64" identifier < number_literal) , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))) )) (argument_list "(PTR_s__s_004c1a50 + 0xefc)" ( (binary_expression "PTR_s__s_004c1a50 + 0xefc" identifier + number_literal) )))) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)(this,0x39b,PTR_s__s_004c1a50 + 0x1a8c);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)(this,0x39b,PTR_s__s_004c1a50 + 0x1a8c)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(this,0x39b,PTR_s__s_004c1a50 + 0x1a8c)" ( identifier , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x1a8c" identifier + number_literal) ))) ;) })) (expression_statement "uVar7 = *(uint *)(((this->input_reader_).inputs_)->p_ + (this->input_reader_).info_offset_ + 0xc);" (assignment_expression "uVar7 = *(uint *)(((this->input_reader_).inputs_)->p_ + (this->input_reader_).info_offset_ + 0xc)" identifier = (pointer_expression "*(uint *)(((this->input_reader_).inputs_)->p_ + (this->input_reader_).info_offset_ + 0xc)" * (cast_expression "(uint *)(((this->input_reader_).inputs_)->p_ + (this->input_reader_).info_offset_ + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((this->input_reader_).inputs_)->p_ + (this->input_reader_).info_offset_ + 0xc)" ( (binary_expression "((this->input_reader_).inputs_)->p_ + (this->input_reader_).info_offset_ + 0xc" (binary_expression "((this->input_reader_).inputs_)->p_ + (this->input_reader_).info_offset_" (field_expression "((this->input_reader_).inputs_)->p_" (parenthesized_expression "((this->input_reader_).inputs_)" ( (field_expression "(this->input_reader_).inputs_" (parenthesized_expression "(this->input_reader_)" ( (field_expression "this->input_reader_" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier) + (field_expression "(this->input_reader_).info_offset_" (parenthesized_expression "(this->input_reader_)" ( (field_expression "this->input_reader_" identifier -> field_identifier) )) . field_identifier)) + number_literal) ))))) ;) (expression_statement "__n = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n        ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;" (assignment_expression "__n = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n        ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n        ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10)" ( (binary_expression "(uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10" (binary_expression "(uVar7 >> 0x10) << 0x18" (parenthesized_expression "(uVar7 >> 0x10)" ( (binary_expression "uVar7 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar7 >> 0x18) << 0x10" (parenthesized_expression "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff)" ( (binary_expression "(uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff" (binary_expression "(uVar7 & 0xff) << 8" (parenthesized_expression "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "this->local_symbol_count_ = __n;" (assignment_expression "this->local_symbol_count_ = __n" (field_expression "this->local_symbol_count_" identifier -> field_identifier) = identifier) ;) (labeled_statement "std::\n  vector<gold::Sized_relobj_incr<64,_false>::Local_symbol,_std::allocator<gold::Sized_relobj_incr<64,_false>::Local_symbol>_>\n  ::reserve(&this->local_symbols_,__n);" statement_identifier (ERROR "::\n  vector<gold::Sized_relobj_incr<64,_false>::Local_symbol,_std::allocator<gold:" : : (binary_expression "vector<gold" identifier < identifier) : : (comma_expression "Sized_relobj_incr<64,_false>::Local_symbol,_std" (binary_expression "Sized_relobj_incr<64" identifier < number_literal) , (comma_expression "_false>::Local_symbol,_std" (binary_expression "_false>::Local_symbol" identifier > (ERROR "::" : :) identifier) , identifier)) : : (binary_expression "allocator<gold" identifier < identifier) :) : (expression_statement "Sized_relobj_incr<64,_false>::Local_symbol>_>\n  ::reserve(&this->local_symbols_,__n);" (comma_expression "Sized_relobj_incr<64,_false>::Local_symbol>_>\n  ::reserve(&this->local_symbols_,__n)" (binary_expression "Sized_relobj_incr<64" identifier < number_literal) , (binary_expression "_false>::Local_symbol>_>\n  ::reserve(&this->local_symbols_,__n)" (binary_expression "_false>::Local_symbol>_" (binary_expression "_false>::Local_symbol" identifier > (ERROR "::" : :) identifier) > identifier) > (ERROR "::" : :) (call_expression "reserve(&this->local_symbols_,__n)" identifier (argument_list "(&this->local_symbols_,__n)" ( (pointer_expression "&this->local_symbols_" & (field_expression "this->local_symbols_" identifier -> field_identifier)) , identifier ))))) ;)) (expression_statement "symtab_view.p_ = (uchar *)0x0;" (assignment_expression "symtab_view.p_ = (uchar *)0x0" (field_expression "symtab_view.p_" identifier . field_identifier) = (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "strtab.base_ = (char *)0x0;" (assignment_expression "strtab.base_ = (char *)0x0" (field_expression "strtab.base_" identifier . field_identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "strtab.usable_size_ = 0;" (assignment_expression "strtab.usable_size_ = 0" (field_expression "strtab.usable_size_" identifier . field_identifier) = number_literal) ;) (expression_statement "Sized_incremental_binary<64,_false>::get_symtab_view\n            (this->ibase_,&symtab_view,&symtab_count,&strtab);" (update_expression "Sized_incremental_binary<64,_false>::get_symtab_view\n            (this->ibase_,&symtab_view,&symtab_count,&strtab)" (binary_expression "Sized_incremental_binary<64,_false>::get_symtab_view\n            (this->ibase_,&symtab_view,&symtab_count,&strtab)" (binary_expression "Sized_incremental_binary<64" identifier < number_literal) (ERROR ",_false" , identifier) > (ERROR "::" : :) (call_expression "get_symtab_view\n            (this->ibase_,&symtab_view,&symtab_count,&strtab)" identifier (argument_list "(this->ibase_,&symtab_view,&symtab_count,&strtab)" ( (field_expression "this->ibase_" identifier -> field_identifier) , (pointer_expression "&symtab_view" & identifier) , (pointer_expression "&symtab_count" & identifier) , (pointer_expression "&strtab" & identifier) )))) --) ;) (if_statement "if (1 < (byte)(this->input_reader_).flags_ - 1) {\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s__s_004c1a50 + 0xefc,0x391,PTR_s__s_004c1a50 + 0x1a74);\n  }" if (parenthesized_expression "(1 < (byte)(this->input_reader_).flags_ - 1)" ( (binary_expression "1 < (byte)(this->input_reader_).flags_ - 1" number_literal < (binary_expression "(byte)(this->input_reader_).flags_ - 1" (field_expression "(byte)(this->input_reader_).flags_" (call_expression "(byte)(this->input_reader_)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(this->input_reader_)" ( (field_expression "this->input_reader_" identifier -> field_identifier) ))) . field_identifier) - number_literal)) )) (compound_statement "{\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s__s_004c1a50 + 0xefc,0x391,PTR_s__s_004c1a50 + 0x1a74);\n  }" { (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s__s_004c1a50 + 0xefc,0x391,PTR_s__s_004c1a50 + 0x1a74);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s__s_004c1a50 + 0xefc,0x391,PTR_s__s_004c1a50 + 0x1a74)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s__s_004c1a50 + 0xefc,0x391,PTR_s__s_004c1a50 + 0x1a74)" ( (binary_expression "PTR_s__s_004c1a50 + 0xefc" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x1a74" identifier + number_literal) ))) ;) })) (expression_statement "puVar1 = PTR_parameters_004c19b4;" (assignment_expression "puVar1 = PTR_parameters_004c19b4" identifier = identifier) ;) (expression_statement "uVar7 = *(uint *)(((this->input_reader_).inputs_)->p_ + (this->input_reader_).info_offset_ + 8);" (assignment_expression "uVar7 = *(uint *)(((this->input_reader_).inputs_)->p_ + (this->input_reader_).info_offset_ + 8)" identifier = (pointer_expression "*(uint *)(((this->input_reader_).inputs_)->p_ + (this->input_reader_).info_offset_ + 8)" * (cast_expression "(uint *)(((this->input_reader_).inputs_)->p_ + (this->input_reader_).info_offset_ + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((this->input_reader_).inputs_)->p_ + (this->input_reader_).info_offset_ + 8)" ( (binary_expression "((this->input_reader_).inputs_)->p_ + (this->input_reader_).info_offset_ + 8" (binary_expression "((this->input_reader_).inputs_)->p_ + (this->input_reader_).info_offset_" (field_expression "((this->input_reader_).inputs_)->p_" (parenthesized_expression "((this->input_reader_).inputs_)" ( (field_expression "(this->input_reader_).inputs_" (parenthesized_expression "(this->input_reader_)" ( (field_expression "this->input_reader_" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier) + (field_expression "(this->input_reader_).info_offset_" (parenthesized_expression "(this->input_reader_)" ( (field_expression "this->input_reader_" identifier -> field_identifier) )) . field_identifier)) + number_literal) ))))) ;) (expression_statement "puVar6 = (uint *)(symtab_view.p_ +\n                   (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000);" (assignment_expression "puVar6 = (uint *)(symtab_view.p_ +\n                   (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000)" identifier = (cast_expression "(uint *)(symtab_view.p_ +\n                   (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(symtab_view.p_ +\n                   (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000)" ( (binary_expression "symtab_view.p_ +\n                   (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (binary_expression "symtab_view.p_ +\n                   (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" (field_expression "symtab_view.p_" identifier . field_identifier) + (parenthesized_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10)" ( (binary_expression "(uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10" (binary_expression "(uVar7 >> 0x10) << 0x18" (parenthesized_expression "(uVar7 >> 0x10)" ( (binary_expression "uVar7 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar7 >> 0x18) << 0x10" (parenthesized_expression "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) ))) + (binary_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff)" ( (binary_expression "(uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff" (binary_expression "(uVar7 & 0xff) << 8" (parenthesized_expression "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal)) )))) ;) (if_statement "if (__n != 0) {\n    sVar10 = 0;\n    puVar2 = PTR_s__s_004c1a50 + 0x1478;\n    pcVar8 = PTR_s_in_a_linker_script_004c191c + 0x6db8;\n    do {\n      while( true ) {\n        uVar7 = *puVar6;\n        uVar7 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        pcVar9 = pcVar8;\n        if (uVar7 < strtab.usable_size_) {\n          pcVar9 = strtab.base_ + uVar7;\n        }\n        puVar3 = *(undefined4 **)puVar1;\n        if ((puVar3[2] != 0) && ((puVar3[5] & 0x10) != 0)) {\n          (*(code *)PTR_debug_004c2018)(*puVar3,puVar2,sVar10,pcVar9);\n        }\n        local_58.name = (char *)(*(code *)PTR_add_004c1ca4)(pool,pcVar9,1,0);\n        uVar4 = puVar6[2];\n        uVar5 = puVar6[3];\n        uVar7 = puVar6[4];\n        __position._M_current =\n             (this->local_symbols_).\n             super__Vector_base<gold::Sized_relobj_incr<64,_false>::Local_symbol,_std::allocator<gold::Sized_relobj_incr<64,_false>::Local_symbol>_>\n             ._M_impl._M_finish;\n        local_58.st_value._4_4_ =\n             (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n        local_58.st_value._0_4_ =\n             (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n        local_58._20_4_ = 0;\n        local_58.st_size =\n             (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        local_58._16_4_ =\n             ((*(ushort *)((int)puVar6 + 6) & 0xff) << 8 | (uint)(*(ushort *)((int)puVar6 + 6) >> 8)\n             ) << 4 | *(byte *)(puVar6 + 1) & 0xf;\n        if (__position._M_current !=\n            (this->local_symbols_).\n            super__Vector_base<gold::Sized_relobj_incr<64,_false>::Local_symbol,_std::allocator<gold::Sized_relobj_incr<64,_false>::Local_symbol>_>\n            ._M_impl._M_end_of_storage) break;\n        sVar10 = sVar10 + 1;\n        puVar6 = puVar6 + 6;\n        std::\n        vector<gold::Sized_relobj_incr<64,_false>::Local_symbol,_std::allocator<gold::Sized_relobj_incr<64,_false>::Local_symbol>_>\n        ::_M_realloc_insert<gold::Sized_relobj_incr<64,_false>::Local_symbol>\n                  (&this->local_symbols_,__position,&local_58);\n        if (sVar10 == __n) {\n          return;\n        }\n      }\n      *(int *)&(__position._M_current)->st_value = local_58.st_value._0_4_;\n      sVar10 = sVar10 + 1;\n      *(int *)((int)&(__position._M_current)->st_value + 4) = local_58.st_value._4_4_;\n      (__position._M_current)->name = local_58.name;\n      puVar6 = puVar6 + 6;\n      (__position._M_current)->st_size = local_58.st_size;\n      *(undefined4 *)&(__position._M_current)->field_0x10 = local_58._16_4_;\n      *(undefined4 *)&(__position._M_current)->field_0x14 = 0;\n      (this->local_symbols_).\n      super__Vector_base<gold::Sized_relobj_incr<64,_false>::Local_symbol,_std::allocator<gold::Sized_relobj_incr<64,_false>::Local_symbol>_>\n      ._M_impl._M_finish = __position._M_current + 1;\n    } while (sVar10 != __n);\n  }" if (parenthesized_expression "(__n != 0)" ( (binary_expression "__n != 0" identifier != number_literal) )) (compound_statement "{\n    sVar10 = 0;\n    puVar2 = PTR_s__s_004c1a50 + 0x1478;\n    pcVar8 = PTR_s_in_a_linker_script_004c191c + 0x6db8;\n    do {\n      while( true ) {\n        uVar7 = *puVar6;\n        uVar7 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        pcVar9 = pcVar8;\n        if (uVar7 < strtab.usable_size_) {\n          pcVar9 = strtab.base_ + uVar7;\n        }\n        puVar3 = *(undefined4 **)puVar1;\n        if ((puVar3[2] != 0) && ((puVar3[5] & 0x10) != 0)) {\n          (*(code *)PTR_debug_004c2018)(*puVar3,puVar2,sVar10,pcVar9);\n        }\n        local_58.name = (char *)(*(code *)PTR_add_004c1ca4)(pool,pcVar9,1,0);\n        uVar4 = puVar6[2];\n        uVar5 = puVar6[3];\n        uVar7 = puVar6[4];\n        __position._M_current =\n             (this->local_symbols_).\n             super__Vector_base<gold::Sized_relobj_incr<64,_false>::Local_symbol,_std::allocator<gold::Sized_relobj_incr<64,_false>::Local_symbol>_>\n             ._M_impl._M_finish;\n        local_58.st_value._4_4_ =\n             (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n        local_58.st_value._0_4_ =\n             (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n        local_58._20_4_ = 0;\n        local_58.st_size =\n             (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        local_58._16_4_ =\n             ((*(ushort *)((int)puVar6 + 6) & 0xff) << 8 | (uint)(*(ushort *)((int)puVar6 + 6) >> 8)\n             ) << 4 | *(byte *)(puVar6 + 1) & 0xf;\n        if (__position._M_current !=\n            (this->local_symbols_).\n            super__Vector_base<gold::Sized_relobj_incr<64,_false>::Local_symbol,_std::allocator<gold::Sized_relobj_incr<64,_false>::Local_symbol>_>\n            ._M_impl._M_end_of_storage) break;\n        sVar10 = sVar10 + 1;\n        puVar6 = puVar6 + 6;\n        std::\n        vector<gold::Sized_relobj_incr<64,_false>::Local_symbol,_std::allocator<gold::Sized_relobj_incr<64,_false>::Local_symbol>_>\n        ::_M_realloc_insert<gold::Sized_relobj_incr<64,_false>::Local_symbol>\n                  (&this->local_symbols_,__position,&local_58);\n        if (sVar10 == __n) {\n          return;\n        }\n      }\n      *(int *)&(__position._M_current)->st_value = local_58.st_value._0_4_;\n      sVar10 = sVar10 + 1;\n      *(int *)((int)&(__position._M_current)->st_value + 4) = local_58.st_value._4_4_;\n      (__position._M_current)->name = local_58.name;\n      puVar6 = puVar6 + 6;\n      (__position._M_current)->st_size = local_58.st_size;\n      *(undefined4 *)&(__position._M_current)->field_0x10 = local_58._16_4_;\n      *(undefined4 *)&(__position._M_current)->field_0x14 = 0;\n      (this->local_symbols_).\n      super__Vector_base<gold::Sized_relobj_incr<64,_false>::Local_symbol,_std::allocator<gold::Sized_relobj_incr<64,_false>::Local_symbol>_>\n      ._M_impl._M_finish = __position._M_current + 1;\n    } while (sVar10 != __n);\n  }" { (expression_statement "sVar10 = 0;" (assignment_expression "sVar10 = 0" identifier = number_literal) ;) (expression_statement "puVar2 = PTR_s__s_004c1a50 + 0x1478;" (assignment_expression "puVar2 = PTR_s__s_004c1a50 + 0x1478" identifier = (binary_expression "PTR_s__s_004c1a50 + 0x1478" identifier + number_literal)) ;) (expression_statement "pcVar8 = PTR_s_in_a_linker_script_004c191c + 0x6db8;" (assignment_expression "pcVar8 = PTR_s_in_a_linker_script_004c191c + 0x6db8" identifier = (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x6db8" identifier + number_literal)) ;) (do_statement "do {\n      while( true ) {\n        uVar7 = *puVar6;\n        uVar7 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        pcVar9 = pcVar8;\n        if (uVar7 < strtab.usable_size_) {\n          pcVar9 = strtab.base_ + uVar7;\n        }\n        puVar3 = *(undefined4 **)puVar1;\n        if ((puVar3[2] != 0) && ((puVar3[5] & 0x10) != 0)) {\n          (*(code *)PTR_debug_004c2018)(*puVar3,puVar2,sVar10,pcVar9);\n        }\n        local_58.name = (char *)(*(code *)PTR_add_004c1ca4)(pool,pcVar9,1,0);\n        uVar4 = puVar6[2];\n        uVar5 = puVar6[3];\n        uVar7 = puVar6[4];\n        __position._M_current =\n             (this->local_symbols_).\n             super__Vector_base<gold::Sized_relobj_incr<64,_false>::Local_symbol,_std::allocator<gold::Sized_relobj_incr<64,_false>::Local_symbol>_>\n             ._M_impl._M_finish;\n        local_58.st_value._4_4_ =\n             (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n        local_58.st_value._0_4_ =\n             (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n        local_58._20_4_ = 0;\n        local_58.st_size =\n             (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        local_58._16_4_ =\n             ((*(ushort *)((int)puVar6 + 6) & 0xff) << 8 | (uint)(*(ushort *)((int)puVar6 + 6) >> 8)\n             ) << 4 | *(byte *)(puVar6 + 1) & 0xf;\n        if (__position._M_current !=\n            (this->local_symbols_).\n            super__Vector_base<gold::Sized_relobj_incr<64,_false>::Local_symbol,_std::allocator<gold::Sized_relobj_incr<64,_false>::Local_symbol>_>\n            ._M_impl._M_end_of_storage) break;\n        sVar10 = sVar10 + 1;\n        puVar6 = puVar6 + 6;\n        std::\n        vector<gold::Sized_relobj_incr<64,_false>::Local_symbol,_std::allocator<gold::Sized_relobj_incr<64,_false>::Local_symbol>_>\n        ::_M_realloc_insert<gold::Sized_relobj_incr<64,_false>::Local_symbol>\n                  (&this->local_symbols_,__position,&local_58);\n        if (sVar10 == __n) {\n          return;\n        }\n      }\n      *(int *)&(__position._M_current)->st_value = local_58.st_value._0_4_;\n      sVar10 = sVar10 + 1;\n      *(int *)((int)&(__position._M_current)->st_value + 4) = local_58.st_value._4_4_;\n      (__position._M_current)->name = local_58.name;\n      puVar6 = puVar6 + 6;\n      (__position._M_current)->st_size = local_58.st_size;\n      *(undefined4 *)&(__position._M_current)->field_0x10 = local_58._16_4_;\n      *(undefined4 *)&(__position._M_current)->field_0x14 = 0;\n      (this->local_symbols_).\n      super__Vector_base<gold::Sized_relobj_incr<64,_false>::Local_symbol,_std::allocator<gold::Sized_relobj_incr<64,_false>::Local_symbol>_>\n      ._M_impl._M_finish = __position._M_current + 1;\n    } while (sVar10 != __n);" do (compound_statement "{\n      while( true ) {\n        uVar7 = *puVar6;\n        uVar7 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        pcVar9 = pcVar8;\n        if (uVar7 < strtab.usable_size_) {\n          pcVar9 = strtab.base_ + uVar7;\n        }\n        puVar3 = *(undefined4 **)puVar1;\n        if ((puVar3[2] != 0) && ((puVar3[5] & 0x10) != 0)) {\n          (*(code *)PTR_debug_004c2018)(*puVar3,puVar2,sVar10,pcVar9);\n        }\n        local_58.name = (char *)(*(code *)PTR_add_004c1ca4)(pool,pcVar9,1,0);\n        uVar4 = puVar6[2];\n        uVar5 = puVar6[3];\n        uVar7 = puVar6[4];\n        __position._M_current =\n             (this->local_symbols_).\n             super__Vector_base<gold::Sized_relobj_incr<64,_false>::Local_symbol,_std::allocator<gold::Sized_relobj_incr<64,_false>::Local_symbol>_>\n             ._M_impl._M_finish;\n        local_58.st_value._4_4_ =\n             (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n        local_58.st_value._0_4_ =\n             (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n        local_58._20_4_ = 0;\n        local_58.st_size =\n             (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        local_58._16_4_ =\n             ((*(ushort *)((int)puVar6 + 6) & 0xff) << 8 | (uint)(*(ushort *)((int)puVar6 + 6) >> 8)\n             ) << 4 | *(byte *)(puVar6 + 1) & 0xf;\n        if (__position._M_current !=\n            (this->local_symbols_).\n            super__Vector_base<gold::Sized_relobj_incr<64,_false>::Local_symbol,_std::allocator<gold::Sized_relobj_incr<64,_false>::Local_symbol>_>\n            ._M_impl._M_end_of_storage) break;\n        sVar10 = sVar10 + 1;\n        puVar6 = puVar6 + 6;\n        std::\n        vector<gold::Sized_relobj_incr<64,_false>::Local_symbol,_std::allocator<gold::Sized_relobj_incr<64,_false>::Local_symbol>_>\n        ::_M_realloc_insert<gold::Sized_relobj_incr<64,_false>::Local_symbol>\n                  (&this->local_symbols_,__position,&local_58);\n        if (sVar10 == __n) {\n          return;\n        }\n      }\n      *(int *)&(__position._M_current)->st_value = local_58.st_value._0_4_;\n      sVar10 = sVar10 + 1;\n      *(int *)((int)&(__position._M_current)->st_value + 4) = local_58.st_value._4_4_;\n      (__position._M_current)->name = local_58.name;\n      puVar6 = puVar6 + 6;\n      (__position._M_current)->st_size = local_58.st_size;\n      *(undefined4 *)&(__position._M_current)->field_0x10 = local_58._16_4_;\n      *(undefined4 *)&(__position._M_current)->field_0x14 = 0;\n      (this->local_symbols_).\n      super__Vector_base<gold::Sized_relobj_incr<64,_false>::Local_symbol,_std::allocator<gold::Sized_relobj_incr<64,_false>::Local_symbol>_>\n      ._M_impl._M_finish = __position._M_current + 1;\n    }" { (while_statement "while( true ) {\n        uVar7 = *puVar6;\n        uVar7 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        pcVar9 = pcVar8;\n        if (uVar7 < strtab.usable_size_) {\n          pcVar9 = strtab.base_ + uVar7;\n        }\n        puVar3 = *(undefined4 **)puVar1;\n        if ((puVar3[2] != 0) && ((puVar3[5] & 0x10) != 0)) {\n          (*(code *)PTR_debug_004c2018)(*puVar3,puVar2,sVar10,pcVar9);\n        }\n        local_58.name = (char *)(*(code *)PTR_add_004c1ca4)(pool,pcVar9,1,0);\n        uVar4 = puVar6[2];\n        uVar5 = puVar6[3];\n        uVar7 = puVar6[4];\n        __position._M_current =\n             (this->local_symbols_).\n             super__Vector_base<gold::Sized_relobj_incr<64,_false>::Local_symbol,_std::allocator<gold::Sized_relobj_incr<64,_false>::Local_symbol>_>\n             ._M_impl._M_finish;\n        local_58.st_value._4_4_ =\n             (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n        local_58.st_value._0_4_ =\n             (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n        local_58._20_4_ = 0;\n        local_58.st_size =\n             (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        local_58._16_4_ =\n             ((*(ushort *)((int)puVar6 + 6) & 0xff) << 8 | (uint)(*(ushort *)((int)puVar6 + 6) >> 8)\n             ) << 4 | *(byte *)(puVar6 + 1) & 0xf;\n        if (__position._M_current !=\n            (this->local_symbols_).\n            super__Vector_base<gold::Sized_relobj_incr<64,_false>::Local_symbol,_std::allocator<gold::Sized_relobj_incr<64,_false>::Local_symbol>_>\n            ._M_impl._M_end_of_storage) break;\n        sVar10 = sVar10 + 1;\n        puVar6 = puVar6 + 6;\n        std::\n        vector<gold::Sized_relobj_incr<64,_false>::Local_symbol,_std::allocator<gold::Sized_relobj_incr<64,_false>::Local_symbol>_>\n        ::_M_realloc_insert<gold::Sized_relobj_incr<64,_false>::Local_symbol>\n                  (&this->local_symbols_,__position,&local_58);\n        if (sVar10 == __n) {\n          return;\n        }\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        uVar7 = *puVar6;\n        uVar7 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        pcVar9 = pcVar8;\n        if (uVar7 < strtab.usable_size_) {\n          pcVar9 = strtab.base_ + uVar7;\n        }\n        puVar3 = *(undefined4 **)puVar1;\n        if ((puVar3[2] != 0) && ((puVar3[5] & 0x10) != 0)) {\n          (*(code *)PTR_debug_004c2018)(*puVar3,puVar2,sVar10,pcVar9);\n        }\n        local_58.name = (char *)(*(code *)PTR_add_004c1ca4)(pool,pcVar9,1,0);\n        uVar4 = puVar6[2];\n        uVar5 = puVar6[3];\n        uVar7 = puVar6[4];\n        __position._M_current =\n             (this->local_symbols_).\n             super__Vector_base<gold::Sized_relobj_incr<64,_false>::Local_symbol,_std::allocator<gold::Sized_relobj_incr<64,_false>::Local_symbol>_>\n             ._M_impl._M_finish;\n        local_58.st_value._4_4_ =\n             (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n        local_58.st_value._0_4_ =\n             (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n        local_58._20_4_ = 0;\n        local_58.st_size =\n             (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        local_58._16_4_ =\n             ((*(ushort *)((int)puVar6 + 6) & 0xff) << 8 | (uint)(*(ushort *)((int)puVar6 + 6) >> 8)\n             ) << 4 | *(byte *)(puVar6 + 1) & 0xf;\n        if (__position._M_current !=\n            (this->local_symbols_).\n            super__Vector_base<gold::Sized_relobj_incr<64,_false>::Local_symbol,_std::allocator<gold::Sized_relobj_incr<64,_false>::Local_symbol>_>\n            ._M_impl._M_end_of_storage) break;\n        sVar10 = sVar10 + 1;\n        puVar6 = puVar6 + 6;\n        std::\n        vector<gold::Sized_relobj_incr<64,_false>::Local_symbol,_std::allocator<gold::Sized_relobj_incr<64,_false>::Local_symbol>_>\n        ::_M_realloc_insert<gold::Sized_relobj_incr<64,_false>::Local_symbol>\n                  (&this->local_symbols_,__position,&local_58);\n        if (sVar10 == __n) {\n          return;\n        }\n      }" { (expression_statement "uVar7 = *puVar6;" (assignment_expression "uVar7 = *puVar6" identifier = (pointer_expression "*puVar6" * identifier)) ;) (expression_statement "uVar7 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar7 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10)" ( (binary_expression "(uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10" (binary_expression "(uVar7 >> 0x10) << 0x18" (parenthesized_expression "(uVar7 >> 0x10)" ( (binary_expression "uVar7 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar7 >> 0x18) << 0x10" (parenthesized_expression "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff)" ( (binary_expression "(uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff" (binary_expression "(uVar7 & 0xff) << 8" (parenthesized_expression "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "pcVar9 = pcVar8;" (assignment_expression "pcVar9 = pcVar8" identifier = identifier) ;) (if_statement "if (uVar7 < strtab.usable_size_) {\n          pcVar9 = strtab.base_ + uVar7;\n        }" if (parenthesized_expression "(uVar7 < strtab.usable_size_)" ( (binary_expression "uVar7 < strtab.usable_size_" identifier < (field_expression "strtab.usable_size_" identifier . field_identifier)) )) (compound_statement "{\n          pcVar9 = strtab.base_ + uVar7;\n        }" { (expression_statement "pcVar9 = strtab.base_ + uVar7;" (assignment_expression "pcVar9 = strtab.base_ + uVar7" identifier = (binary_expression "strtab.base_ + uVar7" (field_expression "strtab.base_" identifier . field_identifier) + identifier)) ;) })) (expression_statement "puVar3 = *(undefined4 **)puVar1;" (assignment_expression "puVar3 = *(undefined4 **)puVar1" identifier = (pointer_expression "*(undefined4 **)puVar1" * (cast_expression "(undefined4 **)puVar1" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if ((puVar3[2] != 0) && ((puVar3[5] & 0x10) != 0)) {\n          (*(code *)PTR_debug_004c2018)(*puVar3,puVar2,sVar10,pcVar9);\n        }" if (parenthesized_expression "((puVar3[2] != 0) && ((puVar3[5] & 0x10) != 0))" ( (binary_expression "(puVar3[2] != 0) && ((puVar3[5] & 0x10) != 0)" (parenthesized_expression "(puVar3[2] != 0)" ( (binary_expression "puVar3[2] != 0" (subscript_expression "puVar3[2]" identifier [ number_literal ]) != number_literal) )) && (parenthesized_expression "((puVar3[5] & 0x10) != 0)" ( (binary_expression "(puVar3[5] & 0x10) != 0" (parenthesized_expression "(puVar3[5] & 0x10)" ( (binary_expression "puVar3[5] & 0x10" (subscript_expression "puVar3[5]" identifier [ number_literal ]) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n          (*(code *)PTR_debug_004c2018)(*puVar3,puVar2,sVar10,pcVar9);\n        }" { (expression_statement "(*(code *)PTR_debug_004c2018)(*puVar3,puVar2,sVar10,pcVar9);" (call_expression "(*(code *)PTR_debug_004c2018)(*puVar3,puVar2,sVar10,pcVar9)" (parenthesized_expression "(*(code *)PTR_debug_004c2018)" ( (pointer_expression "*(code *)PTR_debug_004c2018" * (cast_expression "(code *)PTR_debug_004c2018" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar3,puVar2,sVar10,pcVar9)" ( (pointer_expression "*puVar3" * identifier) , identifier , identifier , identifier ))) ;) })) (expression_statement "local_58.name = (char *)(*(code *)PTR_add_004c1ca4)(pool,pcVar9,1,0);" (assignment_expression "local_58.name = (char *)(*(code *)PTR_add_004c1ca4)(pool,pcVar9,1,0)" (field_expression "local_58.name" identifier . field_identifier) = (cast_expression "(char *)(*(code *)PTR_add_004c1ca4)(pool,pcVar9,1,0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_add_004c1ca4)(pool,pcVar9,1,0)" (parenthesized_expression "(*(code *)PTR_add_004c1ca4)" ( (pointer_expression "*(code *)PTR_add_004c1ca4" * (cast_expression "(code *)PTR_add_004c1ca4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pool,pcVar9,1,0)" ( identifier , identifier , number_literal , number_literal ))))) ;) (expression_statement "uVar4 = puVar6[2];" (assignment_expression "uVar4 = puVar6[2]" identifier = (subscript_expression "puVar6[2]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = puVar6[3];" (assignment_expression "uVar5 = puVar6[3]" identifier = (subscript_expression "puVar6[3]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = puVar6[4];" (assignment_expression "uVar7 = puVar6[4]" identifier = (subscript_expression "puVar6[4]" identifier [ number_literal ])) ;) (ERROR "__position._M_current =\n             (this->local_symbols_).\n             super__Vector_base<gold::Sized_relobj_incr<64,_false>::Local_symbol,_std::allocator<gold::" (comma_expression "__position._M_current =\n             (this->local_symbols_).\n             super__Vector_base<gold::Sized_relobj_incr<64,_false>::Local_symbol,_std" (binary_expression "__position._M_current =\n             (this->local_symbols_).\n             super__Vector_base<gold::Sized_relobj_incr<64" (assignment_expression "__position._M_current =\n             (this->local_symbols_).\n             super__Vector_base<gold" (field_expression "__position._M_current" identifier . field_identifier) = (binary_expression "(this->local_symbols_).\n             super__Vector_base<gold" (field_expression "(this->local_symbols_).\n             super__Vector_base" (parenthesized_expression "(this->local_symbols_)" ( (field_expression "this->local_symbols_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Sized_relobj_incr" : : identifier) < number_literal) , (comma_expression "_false>::Local_symbol,_std" (binary_expression "_false>::Local_symbol" identifier > (ERROR "::" : :) identifier) , identifier)) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Sized_relobj_incr<64,_false>::Local_symbol>_>\n             ._M_impl._M_finish;" (comma_expression "Sized_relobj_incr<64,_false>::Local_symbol>_>\n             ._M_impl._M_finish" (binary_expression "Sized_relobj_incr<64" identifier < number_literal) , (field_expression "_false>::Local_symbol>_>\n             ._M_impl._M_finish" (field_expression "_false>::Local_symbol>_>\n             ._M_impl" (binary_expression "_false>::Local_symbol>_" (binary_expression "_false>::Local_symbol" identifier > (ERROR "::" : :) identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier)) ;) (expression_statement "local_58.st_value._4_4_ =\n             (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;" (assignment_expression "local_58.st_value._4_4_ =\n             (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000" (field_expression "local_58.st_value._4_4_" (field_expression "local_58.st_value" identifier . field_identifier) . field_identifier) = (binary_expression "(((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10)" ( (binary_expression "(uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10" (binary_expression "(uVar4 >> 0x10) << 0x18" (parenthesized_expression "(uVar4 >> 0x10)" ( (binary_expression "uVar4 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar4 >> 0x18) << 0x10" (parenthesized_expression "(uVar4 >> 0x18)" ( (binary_expression "uVar4 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff)" ( (binary_expression "(uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff" (binary_expression "(uVar4 & 0xff) << 8" (parenthesized_expression "(uVar4 & 0xff)" ( (binary_expression "uVar4 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar4 >> 8 & 0xff" (binary_expression "uVar4 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "local_58.st_value._0_4_ =\n             (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;" (assignment_expression "local_58.st_value._0_4_ =\n             (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" (field_expression "local_58.st_value._0_4_" (field_expression "local_58.st_value" identifier . field_identifier) . field_identifier) = (binary_expression "(((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10)" ( (binary_expression "(uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10" (binary_expression "(uVar5 >> 0x10) << 0x18" (parenthesized_expression "(uVar5 >> 0x10)" ( (binary_expression "uVar5 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar5 >> 0x18) << 0x10" (parenthesized_expression "(uVar5 >> 0x18)" ( (binary_expression "uVar5 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff)" ( (binary_expression "(uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff" (binary_expression "(uVar5 & 0xff) << 8" (parenthesized_expression "(uVar5 & 0xff)" ( (binary_expression "uVar5 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar5 >> 8 & 0xff" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "local_58._20_4_ = 0;" (assignment_expression "local_58._20_4_ = 0" (field_expression "local_58._20_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "local_58.st_size =\n             (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;" (assignment_expression "local_58.st_size =\n             (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (field_expression "local_58.st_size" identifier . field_identifier) = (binary_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10)" ( (binary_expression "(uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10" (binary_expression "(uVar7 >> 0x10) << 0x18" (parenthesized_expression "(uVar7 >> 0x10)" ( (binary_expression "uVar7 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar7 >> 0x18) << 0x10" (parenthesized_expression "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff)" ( (binary_expression "(uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff" (binary_expression "(uVar7 & 0xff) << 8" (parenthesized_expression "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "local_58._16_4_ =\n             ((*(ushort *)((int)puVar6 + 6) & 0xff) << 8 | (uint)(*(ushort *)((int)puVar6 + 6) >> 8)\n             ) << 4 | *(byte *)(puVar6 + 1) & 0xf;" (assignment_expression "local_58._16_4_ =\n             ((*(ushort *)((int)puVar6 + 6) & 0xff) << 8 | (uint)(*(ushort *)((int)puVar6 + 6) >> 8)\n             ) << 4 | *(byte *)(puVar6 + 1) & 0xf" (field_expression "local_58._16_4_" identifier . field_identifier) = (binary_expression "((*(ushort *)((int)puVar6 + 6) & 0xff) << 8 | (uint)(*(ushort *)((int)puVar6 + 6) >> 8)\n             ) << 4 | *(byte *)(puVar6 + 1) & 0xf" (binary_expression "((*(ushort *)((int)puVar6 + 6) & 0xff) << 8 | (uint)(*(ushort *)((int)puVar6 + 6) >> 8)\n             ) << 4" (parenthesized_expression "((*(ushort *)((int)puVar6 + 6) & 0xff) << 8 | (uint)(*(ushort *)((int)puVar6 + 6) >> 8)\n             )" ( (binary_expression "(*(ushort *)((int)puVar6 + 6) & 0xff) << 8 | (uint)(*(ushort *)((int)puVar6 + 6) >> 8)" (binary_expression "(*(ushort *)((int)puVar6 + 6) & 0xff) << 8" (parenthesized_expression "(*(ushort *)((int)puVar6 + 6) & 0xff)" ( (binary_expression "*(ushort *)((int)puVar6 + 6) & 0xff" (pointer_expression "*(ushort *)((int)puVar6 + 6)" * (cast_expression "(ushort *)((int)puVar6 + 6)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar6 + 6)" ( (binary_expression "(int)puVar6 + 6" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) << number_literal) | (call_expression "(uint)(*(ushort *)((int)puVar6 + 6) >> 8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(ushort *)((int)puVar6 + 6) >> 8)" ( (binary_expression "*(ushort *)((int)puVar6 + 6) >> 8" (pointer_expression "*(ushort *)((int)puVar6 + 6)" * (cast_expression "(ushort *)((int)puVar6 + 6)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar6 + 6)" ( (binary_expression "(int)puVar6 + 6" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal) )))) )) << number_literal) | (binary_expression "*(byte *)(puVar6 + 1) & 0xf" (pointer_expression "*(byte *)(puVar6 + 1)" * (cast_expression "(byte *)(puVar6 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 1)" ( (binary_expression "puVar6 + 1" identifier + number_literal) )))) & number_literal))) ;) (if_statement "if (__position._M_current !=\n            (this->local_symbols_).\n            super__Vector_base<gold::Sized_relobj_incr<64,_false>::Local_symbol,_std::allocator<gold::Sized_relobj_incr<64,_false>::Local_symbol>_>\n            ._M_impl._M_end_of_storage) break;" if (parenthesized_expression "(__position._M_current !=\n            (this->local_symbols_).\n            super__Vector_base<gold::Sized_relobj_incr<64,_false>::Local_symbol,_std::allocator<gold::Sized_relobj_incr<64,_false>::Local_symbol>_>\n            ._M_impl._M_end_of_storage)" ( (ERROR "__position._M_current !=\n            (this->local_symbols_).\n            super__Vector_base<gold::Sized_relobj_incr<64,_false>::Local_symbol,_std::allocator<gold::" (comma_expression "__position._M_current !=\n            (this->local_symbols_).\n            super__Vector_base<gold::Sized_relobj_incr<64,_false>::Local_symbol,_std" (binary_expression "__position._M_current !=\n            (this->local_symbols_).\n            super__Vector_base<gold::Sized_relobj_incr<64" (binary_expression "__position._M_current !=\n            (this->local_symbols_).\n            super__Vector_base<gold" (field_expression "__position._M_current" identifier . field_identifier) != (binary_expression "(this->local_symbols_).\n            super__Vector_base<gold" (field_expression "(this->local_symbols_).\n            super__Vector_base" (parenthesized_expression "(this->local_symbols_)" ( (field_expression "this->local_symbols_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Sized_relobj_incr" : : identifier) < number_literal) , (comma_expression "_false>::Local_symbol,_std" (binary_expression "_false>::Local_symbol" identifier > (ERROR "::" : :) identifier) , identifier)) : : (binary_expression "allocator<gold" identifier < identifier) : :) (comma_expression "Sized_relobj_incr<64,_false>::Local_symbol>_>\n            ._M_impl._M_end_of_storage" (binary_expression "Sized_relobj_incr<64" identifier < number_literal) , (field_expression "_false>::Local_symbol>_>\n            ._M_impl._M_end_of_storage" (field_expression "_false>::Local_symbol>_>\n            ._M_impl" (binary_expression "_false>::Local_symbol>_" (binary_expression "_false>::Local_symbol" identifier > (ERROR "::" : :) identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier)) )) (break_statement "break;" break ;)) (expression_statement "sVar10 = sVar10 + 1;" (assignment_expression "sVar10 = sVar10 + 1" identifier = (binary_expression "sVar10 + 1" identifier + number_literal)) ;) (expression_statement "puVar6 = puVar6 + 6;" (assignment_expression "puVar6 = puVar6 + 6" identifier = (binary_expression "puVar6 + 6" identifier + number_literal)) ;) (labeled_statement "std::\n        vector<gold::Sized_relobj_incr<64,_false>::Local_symbol,_std::allocator<gold::Sized_relobj_incr<64,_false>::Local_symbol>_>\n        ::_M_realloc_insert<gold::Sized_relobj_incr<64,_false>::Local_symbol>\n                  (&this->local_symbols_,__position,&local_58);" statement_identifier (ERROR "::\n        vector<gold::Sized_relobj_incr<64,_false>::Local_symbol,_std::allocator<gold::Sized_relobj_incr<64,_false>::Local_symbol>_>\n        ::_M_realloc_insert<gold:" : : (binary_expression "vector<gold" identifier < identifier) : : (comma_expression "Sized_relobj_incr<64,_false>::Local_symbol,_std" (binary_expression "Sized_relobj_incr<64" identifier < number_literal) , (comma_expression "_false>::Local_symbol,_std" (binary_expression "_false>::Local_symbol" identifier > (ERROR "::" : :) identifier) , identifier)) : : (binary_expression "allocator<gold" identifier < identifier) : : (comma_expression "Sized_relobj_incr<64,_false>::Local_symbol>_>\n        ::_M_realloc_insert<gold" (binary_expression "Sized_relobj_incr<64" identifier < number_literal) , (binary_expression "_false>::Local_symbol>_>\n        ::_M_realloc_insert<gold" (binary_expression "_false>::Local_symbol>_>\n        ::_M_realloc_insert" (binary_expression "_false>::Local_symbol>_" (binary_expression "_false>::Local_symbol" identifier > (ERROR "::" : :) identifier) > identifier) > (ERROR "::" : :) identifier) < identifier)) :) : (expression_statement "Sized_relobj_incr<64,_false>::Local_symbol>\n                  (&this->local_symbols_,__position,&local_58);" (comma_expression "Sized_relobj_incr<64,_false>::Local_symbol>\n                  (&this->local_symbols_,__position,&local_58)" (binary_expression "Sized_relobj_incr<64" identifier < number_literal) , (binary_expression "_false>::Local_symbol>\n                  (&this->local_symbols_,__position,&local_58)" (binary_expression "_false>::Local_symbol" identifier > (ERROR "::" : :) identifier) > (parenthesized_expression "(&this->local_symbols_,__position,&local_58)" ( (comma_expression "&this->local_symbols_,__position,&local_58" (pointer_expression "&this->local_symbols_" & (field_expression "this->local_symbols_" identifier -> field_identifier)) , (comma_expression "__position,&local_58" identifier , (pointer_expression "&local_58" & identifier))) )))) ;)) (if_statement "if (sVar10 == __n) {\n          return;\n        }" if (parenthesized_expression "(sVar10 == __n)" ( (binary_expression "sVar10 == __n" identifier == identifier) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) })) (expression_statement "*(int *)&(__position._M_current)->st_value = local_58.st_value._0_4_;" (assignment_expression "*(int *)&(__position._M_current)->st_value = local_58.st_value._0_4_" (pointer_expression "*(int *)&(__position._M_current)->st_value" * (cast_expression "(int *)&(__position._M_current)->st_value" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(__position._M_current)->st_value" & (field_expression "(__position._M_current)->st_value" (parenthesized_expression "(__position._M_current)" ( (field_expression "__position._M_current" identifier . field_identifier) )) -> field_identifier)))) = (field_expression "local_58.st_value._0_4_" (field_expression "local_58.st_value" identifier . field_identifier) . field_identifier)) ;) (expression_statement "sVar10 = sVar10 + 1;" (assignment_expression "sVar10 = sVar10 + 1" identifier = (binary_expression "sVar10 + 1" identifier + number_literal)) ;) (expression_statement "*(int *)((int)&(__position._M_current)->st_value + 4) = local_58.st_value._4_4_;" (assignment_expression "*(int *)((int)&(__position._M_current)->st_value + 4) = local_58.st_value._4_4_" (pointer_expression "*(int *)((int)&(__position._M_current)->st_value + 4)" * (cast_expression "(int *)((int)&(__position._M_current)->st_value + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(__position._M_current)->st_value + 4)" ( (binary_expression "(int)&(__position._M_current)->st_value + 4" (cast_expression "(int)&(__position._M_current)->st_value" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(__position._M_current)->st_value" & (field_expression "(__position._M_current)->st_value" (parenthesized_expression "(__position._M_current)" ( (field_expression "__position._M_current" identifier . field_identifier) )) -> field_identifier))) + number_literal) )))) = (field_expression "local_58.st_value._4_4_" (field_expression "local_58.st_value" identifier . field_identifier) . field_identifier)) ;) (expression_statement "(__position._M_current)->name = local_58.name;" (assignment_expression "(__position._M_current)->name = local_58.name" (field_expression "(__position._M_current)->name" (parenthesized_expression "(__position._M_current)" ( (field_expression "__position._M_current" identifier . field_identifier) )) -> field_identifier) = (field_expression "local_58.name" identifier . field_identifier)) ;) (expression_statement "puVar6 = puVar6 + 6;" (assignment_expression "puVar6 = puVar6 + 6" identifier = (binary_expression "puVar6 + 6" identifier + number_literal)) ;) (expression_statement "(__position._M_current)->st_size = local_58.st_size;" (assignment_expression "(__position._M_current)->st_size = local_58.st_size" (field_expression "(__position._M_current)->st_size" (parenthesized_expression "(__position._M_current)" ( (field_expression "__position._M_current" identifier . field_identifier) )) -> field_identifier) = (field_expression "local_58.st_size" identifier . field_identifier)) ;) (expression_statement "*(undefined4 *)&(__position._M_current)->field_0x10 = local_58._16_4_;" (assignment_expression "*(undefined4 *)&(__position._M_current)->field_0x10 = local_58._16_4_" (pointer_expression "*(undefined4 *)&(__position._M_current)->field_0x10" * (cast_expression "(undefined4 *)&(__position._M_current)->field_0x10" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(__position._M_current)->field_0x10" & (field_expression "(__position._M_current)->field_0x10" (parenthesized_expression "(__position._M_current)" ( (field_expression "__position._M_current" identifier . field_identifier) )) -> field_identifier)))) = (field_expression "local_58._16_4_" identifier . field_identifier)) ;) (expression_statement "*(undefined4 *)&(__position._M_current)->field_0x14 = 0;" (assignment_expression "*(undefined4 *)&(__position._M_current)->field_0x14 = 0" (pointer_expression "*(undefined4 *)&(__position._M_current)->field_0x14" * (cast_expression "(undefined4 *)&(__position._M_current)->field_0x14" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(__position._M_current)->field_0x14" & (field_expression "(__position._M_current)->field_0x14" (parenthesized_expression "(__position._M_current)" ( (field_expression "__position._M_current" identifier . field_identifier) )) -> field_identifier)))) = number_literal) ;) (ERROR "(this->local_symbols_).\n      super__Vector_base<gold::Sized_relobj_incr<64,_false>::Local_symbol,_std::allocator<gold::" (comma_expression "(this->local_symbols_).\n      super__Vector_base<gold::Sized_relobj_incr<64,_false>::Local_symbol,_std" (binary_expression "(this->local_symbols_).\n      super__Vector_base<gold::Sized_relobj_incr<64" (binary_expression "(this->local_symbols_).\n      super__Vector_base<gold" (field_expression "(this->local_symbols_).\n      super__Vector_base" (parenthesized_expression "(this->local_symbols_)" ( (field_expression "this->local_symbols_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Sized_relobj_incr" : : identifier) < number_literal) , (comma_expression "_false>::Local_symbol,_std" (binary_expression "_false>::Local_symbol" identifier > (ERROR "::" : :) identifier) , identifier)) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Sized_relobj_incr<64,_false>::Local_symbol>_>\n      ._M_impl._M_finish = __position._M_current + 1;" (comma_expression "Sized_relobj_incr<64,_false>::Local_symbol>_>\n      ._M_impl._M_finish = __position._M_current + 1" (binary_expression "Sized_relobj_incr<64" identifier < number_literal) , (assignment_expression "_false>::Local_symbol>_>\n      ._M_impl._M_finish = __position._M_current + 1" (field_expression "_false>::Local_symbol>_>\n      ._M_impl._M_finish" (field_expression "_false>::Local_symbol>_>\n      ._M_impl" (binary_expression "_false>::Local_symbol>_" (binary_expression "_false>::Local_symbol" identifier > (ERROR "::" : :) identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (binary_expression "__position._M_current + 1" (field_expression "__position._M_current" identifier . field_identifier) + number_literal))) ;) }) while (parenthesized_expression "(sVar10 != __n)" ( (binary_expression "sVar10 != __n" identifier != identifier) )) ;) })) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit "void FUN_001a7228(int param_1,undefined4 param_2)\n\n{\n  undefined *puVar1;\n  uint uVar2;\n  undefined4 *puVar3;\n  int *piVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  uint *puVar8;\n  uint uVar9;\n  undefined *puVar10;\n  undefined *puVar11;\n  int local_58;\n  int local_54;\n  int local_50;\n  int local_4c;\n  uint local_48;\n  undefined4 local_44;\n  int local_40;\n  uint local_3c;\n  uint uStack_38;\n  int local_34;\n  undefined *local_30;\n  vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n  *local_2c;\n  \n  if (1 < *(byte *)(param_1 + 0x9f) - 1) {\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s__s_004c1a50 + 0xefc,0x39b,PTR_s__s_004c1a50 + 0x1a8c);\n    return;\n  }\n  local_2c = (vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n              *)(param_1 + 0xdc);\n  uVar9 = *(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 0xc);\n  uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n          ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n  *(uint *)(param_1 + 0xa8) = uVar9;\n  std::\n  vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n  ::reserve(local_2c,uVar9);\n  local_34 = 0;\n  local_40 = 0;\n  local_3c = 0;\n  gold::Sized_incremental_binary<64,false>::get_symtab_view\n            (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_34,&uStack_38,\n             (Elf_strtab *)&local_40);\n  puVar1 = PTR_parameters_004c19b4;\n  if (*(byte *)(param_1 + 0x9f) - 1 < 2) {\n    uVar7 = *(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 8);\n    puVar8 = (uint *)(local_34 +\n                     (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000);\n    if (uVar9 != 0) {\n      uVar7 = 0;\n      local_30 = PTR_s__s_004c1a50 + 0x1478;\n      puVar10 = PTR_s_in_a_linker_script_004c191c + 0x6db8;\n      do {\n        while( true ) {\n          uVar2 = *puVar8;\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          puVar11 = puVar10;\n          if (uVar2 < local_3c) {\n            puVar11 = (undefined *)(local_40 + uVar2);\n          }\n          puVar3 = *(undefined4 **)puVar1;\n          if ((puVar3[2] != 0) && ((puVar3[5] & 0x10) != 0)) {\n            (*(code *)PTR_debug_004c2018)(*puVar3,local_30,uVar7,puVar11);\n          }\n          local_50 = (*(code *)PTR_add_004c1ca4)(param_2,puVar11,1,0);\n          uVar5 = puVar8[2];\n          uVar6 = puVar8[3];\n          uVar2 = puVar8[4];\n          piVar4 = *(int **)(param_1 + 0xe0);\n          local_54 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          local_58 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n          local_44 = 0;\n          local_4c = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          local_48 = ((*(ushort *)((int)puVar8 + 6) & 0xff) << 8 |\n                     (uint)(*(ushort *)((int)puVar8 + 6) >> 8)) << 4 | *(byte *)(puVar8 + 1) & 0xf;\n          if (piVar4 != *(int **)(param_1 + 0xe4)) break;\n          uVar7 = uVar7 + 1;\n          puVar8 = puVar8 + 6;\n          std::\n          vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n          ::_M_realloc_insert<gold::Sized_relobj_incr<64,false>::Local_symbol>\n                    (local_2c,piVar4,&local_58);\n          if (uVar7 == uVar9) {\n            return;\n          }\n        }\n        *piVar4 = local_58;\n        uVar7 = uVar7 + 1;\n        piVar4[1] = local_54;\n        piVar4[2] = local_50;\n        puVar8 = puVar8 + 6;\n        piVar4[3] = local_4c;\n        piVar4[4] = local_48;\n        piVar4[5] = 0;\n        *(int **)(param_1 + 0xe0) = piVar4 + 6;\n      } while (uVar7 != uVar9);\n    }\n    return;\n  }\n  (*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s__s_004c1a50 + 0xefc,0x391,PTR_s__s_004c1a50 + 0x1a74);\n  return;\n}\n\n" (function_definition "void FUN_001a7228(int param_1,undefined4 param_2)\n\n{\n  undefined *puVar1;\n  uint uVar2;\n  undefined4 *puVar3;\n  int *piVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  uint *puVar8;\n  uint uVar9;\n  undefined *puVar10;\n  undefined *puVar11;\n  int local_58;\n  int local_54;\n  int local_50;\n  int local_4c;\n  uint local_48;\n  undefined4 local_44;\n  int local_40;\n  uint local_3c;\n  uint uStack_38;\n  int local_34;\n  undefined *local_30;\n  vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n  *local_2c;\n  \n  if (1 < *(byte *)(param_1 + 0x9f) - 1) {\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s__s_004c1a50 + 0xefc,0x39b,PTR_s__s_004c1a50 + 0x1a8c);\n    return;\n  }\n  local_2c = (vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n              *)(param_1 + 0xdc);\n  uVar9 = *(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 0xc);\n  uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n          ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n  *(uint *)(param_1 + 0xa8) = uVar9;\n  std::\n  vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n  ::reserve(local_2c,uVar9);\n  local_34 = 0;\n  local_40 = 0;\n  local_3c = 0;\n  gold::Sized_incremental_binary<64,false>::get_symtab_view\n            (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_34,&uStack_38,\n             (Elf_strtab *)&local_40);\n  puVar1 = PTR_parameters_004c19b4;\n  if (*(byte *)(param_1 + 0x9f) - 1 < 2) {\n    uVar7 = *(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 8);\n    puVar8 = (uint *)(local_34 +\n                     (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000);\n    if (uVar9 != 0) {\n      uVar7 = 0;\n      local_30 = PTR_s__s_004c1a50 + 0x1478;\n      puVar10 = PTR_s_in_a_linker_script_004c191c + 0x6db8;\n      do {\n        while( true ) {\n          uVar2 = *puVar8;\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          puVar11 = puVar10;\n          if (uVar2 < local_3c) {\n            puVar11 = (undefined *)(local_40 + uVar2);\n          }\n          puVar3 = *(undefined4 **)puVar1;\n          if ((puVar3[2] != 0) && ((puVar3[5] & 0x10) != 0)) {\n            (*(code *)PTR_debug_004c2018)(*puVar3,local_30,uVar7,puVar11);\n          }\n          local_50 = (*(code *)PTR_add_004c1ca4)(param_2,puVar11,1,0);\n          uVar5 = puVar8[2];\n          uVar6 = puVar8[3];\n          uVar2 = puVar8[4];\n          piVar4 = *(int **)(param_1 + 0xe0);\n          local_54 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          local_58 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n          local_44 = 0;\n          local_4c = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          local_48 = ((*(ushort *)((int)puVar8 + 6) & 0xff) << 8 |\n                     (uint)(*(ushort *)((int)puVar8 + 6) >> 8)) << 4 | *(byte *)(puVar8 + 1) & 0xf;\n          if (piVar4 != *(int **)(param_1 + 0xe4)) break;\n          uVar7 = uVar7 + 1;\n          puVar8 = puVar8 + 6;\n          std::\n          vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n          ::_M_realloc_insert<gold::Sized_relobj_incr<64,false>::Local_symbol>\n                    (local_2c,piVar4,&local_58);\n          if (uVar7 == uVar9) {\n            return;\n          }\n        }\n        *piVar4 = local_58;\n        uVar7 = uVar7 + 1;\n        piVar4[1] = local_54;\n        piVar4[2] = local_50;\n        puVar8 = puVar8 + 6;\n        piVar4[3] = local_4c;\n        piVar4[4] = local_48;\n        piVar4[5] = 0;\n        *(int **)(param_1 + 0xe0) = piVar4 + 6;\n      } while (uVar7 != uVar9);\n    }\n    return;\n  }\n  (*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s__s_004c1a50 + 0xefc,0x391,PTR_s__s_004c1a50 + 0x1a74);\n  return;\n}" primitive_type (function_declarator "FUN_001a7228(int param_1,undefined4 param_2)" identifier (parameter_list "(int param_1,undefined4 param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  uint uVar2;\n  undefined4 *puVar3;\n  int *piVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  uint *puVar8;\n  uint uVar9;\n  undefined *puVar10;\n  undefined *puVar11;\n  int local_58;\n  int local_54;\n  int local_50;\n  int local_4c;\n  uint local_48;\n  undefined4 local_44;\n  int local_40;\n  uint local_3c;\n  uint uStack_38;\n  int local_34;\n  undefined *local_30;\n  vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n  *local_2c;\n  \n  if (1 < *(byte *)(param_1 + 0x9f) - 1) {\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s__s_004c1a50 + 0xefc,0x39b,PTR_s__s_004c1a50 + 0x1a8c);\n    return;\n  }\n  local_2c = (vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n              *)(param_1 + 0xdc);\n  uVar9 = *(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 0xc);\n  uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n          ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n  *(uint *)(param_1 + 0xa8) = uVar9;\n  std::\n  vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n  ::reserve(local_2c,uVar9);\n  local_34 = 0;\n  local_40 = 0;\n  local_3c = 0;\n  gold::Sized_incremental_binary<64,false>::get_symtab_view\n            (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_34,&uStack_38,\n             (Elf_strtab *)&local_40);\n  puVar1 = PTR_parameters_004c19b4;\n  if (*(byte *)(param_1 + 0x9f) - 1 < 2) {\n    uVar7 = *(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 8);\n    puVar8 = (uint *)(local_34 +\n                     (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000);\n    if (uVar9 != 0) {\n      uVar7 = 0;\n      local_30 = PTR_s__s_004c1a50 + 0x1478;\n      puVar10 = PTR_s_in_a_linker_script_004c191c + 0x6db8;\n      do {\n        while( true ) {\n          uVar2 = *puVar8;\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          puVar11 = puVar10;\n          if (uVar2 < local_3c) {\n            puVar11 = (undefined *)(local_40 + uVar2);\n          }\n          puVar3 = *(undefined4 **)puVar1;\n          if ((puVar3[2] != 0) && ((puVar3[5] & 0x10) != 0)) {\n            (*(code *)PTR_debug_004c2018)(*puVar3,local_30,uVar7,puVar11);\n          }\n          local_50 = (*(code *)PTR_add_004c1ca4)(param_2,puVar11,1,0);\n          uVar5 = puVar8[2];\n          uVar6 = puVar8[3];\n          uVar2 = puVar8[4];\n          piVar4 = *(int **)(param_1 + 0xe0);\n          local_54 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          local_58 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n          local_44 = 0;\n          local_4c = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          local_48 = ((*(ushort *)((int)puVar8 + 6) & 0xff) << 8 |\n                     (uint)(*(ushort *)((int)puVar8 + 6) >> 8)) << 4 | *(byte *)(puVar8 + 1) & 0xf;\n          if (piVar4 != *(int **)(param_1 + 0xe4)) break;\n          uVar7 = uVar7 + 1;\n          puVar8 = puVar8 + 6;\n          std::\n          vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n          ::_M_realloc_insert<gold::Sized_relobj_incr<64,false>::Local_symbol>\n                    (local_2c,piVar4,&local_58);\n          if (uVar7 == uVar9) {\n            return;\n          }\n        }\n        *piVar4 = local_58;\n        uVar7 = uVar7 + 1;\n        piVar4[1] = local_54;\n        piVar4[2] = local_50;\n        puVar8 = puVar8 + 6;\n        piVar4[3] = local_4c;\n        piVar4[4] = local_48;\n        piVar4[5] = 0;\n        *(int **)(param_1 + 0xe0) = piVar4 + 6;\n      } while (uVar7 != uVar9);\n    }\n    return;\n  }\n  (*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s__s_004c1a50 + 0xefc,0x391,PTR_s__s_004c1a50 + 0x1a74);\n  return;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "uint *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "undefined *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "int local_58;" primitive_type identifier ;) (declaration "int local_54;" primitive_type identifier ;) (declaration "int local_50;" primitive_type identifier ;) (declaration "int local_4c;" primitive_type identifier ;) (declaration "uint local_48;" type_identifier identifier ;) (declaration "undefined4 local_44;" type_identifier identifier ;) (declaration "int local_40;" primitive_type identifier ;) (declaration "uint local_3c;" type_identifier identifier ;) (declaration "uint uStack_38;" type_identifier identifier ;) (declaration "int local_34;" primitive_type identifier ;) (declaration "undefined *local_30;" type_identifier (pointer_declarator "*local_30" * identifier) ;) (ERROR "vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::" (binary_expression "vector<gold" identifier < identifier) : : (comma_expression "Sized_relobj_incr<64,false>::Local_symbol,std" (binary_expression "Sized_relobj_incr<64" identifier < number_literal) , (comma_expression "false>::Local_symbol,std" (binary_expression "false>::Local_symbol" false > (ERROR "::" : :) identifier) , identifier)) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Sized_relobj_incr<64,false>::Local_symbol>>\n  *local_2c;" (comma_expression "Sized_relobj_incr<64,false>::Local_symbol>>\n  *local_2c" (binary_expression "Sized_relobj_incr<64" identifier < number_literal) , (binary_expression "false>::Local_symbol>>\n  *local_2c" false > (ERROR "::" : :) (binary_expression "Local_symbol>>\n  *local_2c" identifier >> (pointer_expression "*local_2c" * identifier)))) ;) (if_statement "if (1 < *(byte *)(param_1 + 0x9f) - 1) {\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s__s_004c1a50 + 0xefc,0x39b,PTR_s__s_004c1a50 + 0x1a8c);\n    return;\n  }" if (parenthesized_expression "(1 < *(byte *)(param_1 + 0x9f) - 1)" ( (binary_expression "1 < *(byte *)(param_1 + 0x9f) - 1" number_literal < (binary_expression "*(byte *)(param_1 + 0x9f) - 1" (pointer_expression "*(byte *)(param_1 + 0x9f)" * (cast_expression "(byte *)(param_1 + 0x9f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x9f)" ( (binary_expression "param_1 + 0x9f" identifier + number_literal) )))) - number_literal)) )) (compound_statement "{\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s__s_004c1a50 + 0xefc,0x39b,PTR_s__s_004c1a50 + 0x1a8c);\n    return;\n  }" { (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s__s_004c1a50 + 0xefc,0x39b,PTR_s__s_004c1a50 + 0x1a8c);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s__s_004c1a50 + 0xefc,0x39b,PTR_s__s_004c1a50 + 0x1a8c)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s__s_004c1a50 + 0xefc,0x39b,PTR_s__s_004c1a50 + 0x1a8c)" ( (binary_expression "PTR_s__s_004c1a50 + 0xefc" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x1a8c" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "local_2c = (vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n              *)(param_1 + 0xdc);" (assignment_expression "local_2c = (vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n              *)(param_1 + 0xdc)" identifier = (call_expression "(vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n              *)(param_1 + 0xdc)" (parenthesized_expression "(vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n              *)" ( (ERROR "vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::" (binary_expression "vector<gold" identifier < identifier) : : (comma_expression "Sized_relobj_incr<64,false>::Local_symbol,std" (binary_expression "Sized_relobj_incr<64" identifier < number_literal) , (comma_expression "false>::Local_symbol,std" (binary_expression "false>::Local_symbol" false > (ERROR "::" : :) identifier) , identifier)) : : (binary_expression "allocator<gold" identifier < identifier) : :) (comma_expression "Sized_relobj_incr<64,false>::Local_symbol>>\n              *" (binary_expression "Sized_relobj_incr<64" identifier < number_literal) , (binary_expression "false>::Local_symbol>>\n              *" false > (ERROR "::" : :) (binary_expression "Local_symbol>>\n              *" identifier >> (pointer_expression "*" * identifier)))) )) (argument_list "(param_1 + 0xdc)" ( (binary_expression "param_1 + 0xdc" identifier + number_literal) )))) ;) (expression_statement "uVar9 = *(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 0xc);" (assignment_expression "uVar9 = *(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 0xc)" identifier = (pointer_expression "*(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 0xc)" * (cast_expression "(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 0xc)" ( (binary_expression "**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 0xc" (binary_expression "**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4)" (pointer_expression "**(int **)(param_1 + 0x98)" * (pointer_expression "*(int **)(param_1 + 0x98)" * (cast_expression "(int **)(param_1 + 0x98)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x98)" ( (binary_expression "param_1 + 0x98" identifier + number_literal) ))))) + (pointer_expression "*(int *)(param_1 + 0xa4)" * (cast_expression "(int *)(param_1 + 0xa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xa4)" ( (binary_expression "param_1 + 0xa4" identifier + number_literal) ))))) + number_literal) ))))) ;) (expression_statement "uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n          ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n          ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n          ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10)" ( (binary_expression "(uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10" (binary_expression "(uVar9 >> 0x10) << 0x18" (parenthesized_expression "(uVar9 >> 0x10)" ( (binary_expression "uVar9 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar9 >> 0x18) << 0x10" (parenthesized_expression "(uVar9 >> 0x18)" ( (binary_expression "uVar9 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff)" ( (binary_expression "(uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff" (binary_expression "(uVar9 & 0xff) << 8" (parenthesized_expression "(uVar9 & 0xff)" ( (binary_expression "uVar9 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar9 >> 8 & 0xff" (binary_expression "uVar9 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "*(uint *)(param_1 + 0xa8) = uVar9;" (assignment_expression "*(uint *)(param_1 + 0xa8) = uVar9" (pointer_expression "*(uint *)(param_1 + 0xa8)" * (cast_expression "(uint *)(param_1 + 0xa8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xa8)" ( (binary_expression "param_1 + 0xa8" identifier + number_literal) )))) = identifier) ;) (labeled_statement "std::\n  vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n  ::reserve(local_2c,uVar9);" statement_identifier (ERROR "::\n  vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold:" : : (binary_expression "vector<gold" identifier < identifier) : : (comma_expression "Sized_relobj_incr<64,false>::Local_symbol,std" (binary_expression "Sized_relobj_incr<64" identifier < number_literal) , (comma_expression "false>::Local_symbol,std" (binary_expression "false>::Local_symbol" false > (ERROR "::" : :) identifier) , identifier)) : : (binary_expression "allocator<gold" identifier < identifier) :) : (expression_statement "Sized_relobj_incr<64,false>::Local_symbol>>\n  ::reserve(local_2c,uVar9);" (comma_expression "Sized_relobj_incr<64,false>::Local_symbol>>\n  ::reserve(local_2c,uVar9)" (binary_expression "Sized_relobj_incr<64" identifier < number_literal) , (binary_expression "false>::Local_symbol>>\n  ::reserve(local_2c,uVar9)" false > (ERROR "::" : :) (binary_expression "Local_symbol>>\n  ::reserve(local_2c,uVar9)" identifier >> (ERROR "::" : :) (call_expression "reserve(local_2c,uVar9)" identifier (argument_list "(local_2c,uVar9)" ( identifier , identifier )))))) ;)) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" identifier = number_literal) ;) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" identifier = number_literal) ;) (labeled_statement "gold::Sized_incremental_binary<64,false>::get_symtab_view\n            (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_34,&uStack_38,\n             (Elf_strtab *)&local_40);" statement_identifier : (ERROR ":" :) (expression_statement "Sized_incremental_binary<64,false>::get_symtab_view\n            (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_34,&uStack_38,\n             (Elf_strtab *)&local_40);" (comma_expression "Sized_incremental_binary<64,false>::get_symtab_view\n            (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_34,&uStack_38,\n             (Elf_strtab *)&local_40)" (binary_expression "Sized_incremental_binary<64" identifier < number_literal) , (binary_expression "false>::get_symtab_view\n            (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_34,&uStack_38,\n             (Elf_strtab *)&local_40)" false > (ERROR "::" : :) (call_expression "get_symtab_view\n            (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_34,&uStack_38,\n             (Elf_strtab *)&local_40)" identifier (argument_list "(*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_34,&uStack_38,\n             (Elf_strtab *)&local_40)" ( (pointer_expression "*(Sized_incremental_binary<64,false> **)(param_1 + 0x90)" * (call_expression "(Sized_incremental_binary<64,false> **)(param_1 + 0x90)" (parenthesized_expression "(Sized_incremental_binary<64,false> **)" ( (comma_expression "Sized_incremental_binary<64,false> **" (binary_expression "Sized_incremental_binary<64" identifier < number_literal) , (binary_expression "false> **" false > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "(param_1 + 0x90)" ( (binary_expression "param_1 + 0x90" identifier + number_literal) )))) , (cast_expression "(View *)&local_34" ( (type_descriptor "View *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_34" & identifier)) , (pointer_expression "&uStack_38" & identifier) , (cast_expression "(Elf_strtab *)&local_40" ( (type_descriptor "Elf_strtab *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_40" & identifier)) ))))) ;)) (expression_statement "puVar1 = PTR_parameters_004c19b4;" (assignment_expression "puVar1 = PTR_parameters_004c19b4" identifier = identifier) ;) (if_statement "if (*(byte *)(param_1 + 0x9f) - 1 < 2) {\n    uVar7 = *(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 8);\n    puVar8 = (uint *)(local_34 +\n                     (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000);\n    if (uVar9 != 0) {\n      uVar7 = 0;\n      local_30 = PTR_s__s_004c1a50 + 0x1478;\n      puVar10 = PTR_s_in_a_linker_script_004c191c + 0x6db8;\n      do {\n        while( true ) {\n          uVar2 = *puVar8;\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          puVar11 = puVar10;\n          if (uVar2 < local_3c) {\n            puVar11 = (undefined *)(local_40 + uVar2);\n          }\n          puVar3 = *(undefined4 **)puVar1;\n          if ((puVar3[2] != 0) && ((puVar3[5] & 0x10) != 0)) {\n            (*(code *)PTR_debug_004c2018)(*puVar3,local_30,uVar7,puVar11);\n          }\n          local_50 = (*(code *)PTR_add_004c1ca4)(param_2,puVar11,1,0);\n          uVar5 = puVar8[2];\n          uVar6 = puVar8[3];\n          uVar2 = puVar8[4];\n          piVar4 = *(int **)(param_1 + 0xe0);\n          local_54 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          local_58 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n          local_44 = 0;\n          local_4c = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          local_48 = ((*(ushort *)((int)puVar8 + 6) & 0xff) << 8 |\n                     (uint)(*(ushort *)((int)puVar8 + 6) >> 8)) << 4 | *(byte *)(puVar8 + 1) & 0xf;\n          if (piVar4 != *(int **)(param_1 + 0xe4)) break;\n          uVar7 = uVar7 + 1;\n          puVar8 = puVar8 + 6;\n          std::\n          vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n          ::_M_realloc_insert<gold::Sized_relobj_incr<64,false>::Local_symbol>\n                    (local_2c,piVar4,&local_58);\n          if (uVar7 == uVar9) {\n            return;\n          }\n        }\n        *piVar4 = local_58;\n        uVar7 = uVar7 + 1;\n        piVar4[1] = local_54;\n        piVar4[2] = local_50;\n        puVar8 = puVar8 + 6;\n        piVar4[3] = local_4c;\n        piVar4[4] = local_48;\n        piVar4[5] = 0;\n        *(int **)(param_1 + 0xe0) = piVar4 + 6;\n      } while (uVar7 != uVar9);\n    }\n    return;\n  }" if (parenthesized_expression "(*(byte *)(param_1 + 0x9f) - 1 < 2)" ( (binary_expression "*(byte *)(param_1 + 0x9f) - 1 < 2" (binary_expression "*(byte *)(param_1 + 0x9f) - 1" (pointer_expression "*(byte *)(param_1 + 0x9f)" * (cast_expression "(byte *)(param_1 + 0x9f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x9f)" ( (binary_expression "param_1 + 0x9f" identifier + number_literal) )))) - number_literal) < number_literal) )) (compound_statement "{\n    uVar7 = *(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 8);\n    puVar8 = (uint *)(local_34 +\n                     (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000);\n    if (uVar9 != 0) {\n      uVar7 = 0;\n      local_30 = PTR_s__s_004c1a50 + 0x1478;\n      puVar10 = PTR_s_in_a_linker_script_004c191c + 0x6db8;\n      do {\n        while( true ) {\n          uVar2 = *puVar8;\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          puVar11 = puVar10;\n          if (uVar2 < local_3c) {\n            puVar11 = (undefined *)(local_40 + uVar2);\n          }\n          puVar3 = *(undefined4 **)puVar1;\n          if ((puVar3[2] != 0) && ((puVar3[5] & 0x10) != 0)) {\n            (*(code *)PTR_debug_004c2018)(*puVar3,local_30,uVar7,puVar11);\n          }\n          local_50 = (*(code *)PTR_add_004c1ca4)(param_2,puVar11,1,0);\n          uVar5 = puVar8[2];\n          uVar6 = puVar8[3];\n          uVar2 = puVar8[4];\n          piVar4 = *(int **)(param_1 + 0xe0);\n          local_54 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          local_58 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n          local_44 = 0;\n          local_4c = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          local_48 = ((*(ushort *)((int)puVar8 + 6) & 0xff) << 8 |\n                     (uint)(*(ushort *)((int)puVar8 + 6) >> 8)) << 4 | *(byte *)(puVar8 + 1) & 0xf;\n          if (piVar4 != *(int **)(param_1 + 0xe4)) break;\n          uVar7 = uVar7 + 1;\n          puVar8 = puVar8 + 6;\n          std::\n          vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n          ::_M_realloc_insert<gold::Sized_relobj_incr<64,false>::Local_symbol>\n                    (local_2c,piVar4,&local_58);\n          if (uVar7 == uVar9) {\n            return;\n          }\n        }\n        *piVar4 = local_58;\n        uVar7 = uVar7 + 1;\n        piVar4[1] = local_54;\n        piVar4[2] = local_50;\n        puVar8 = puVar8 + 6;\n        piVar4[3] = local_4c;\n        piVar4[4] = local_48;\n        piVar4[5] = 0;\n        *(int **)(param_1 + 0xe0) = piVar4 + 6;\n      } while (uVar7 != uVar9);\n    }\n    return;\n  }" { (expression_statement "uVar7 = *(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 8);" (assignment_expression "uVar7 = *(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 8)" identifier = (pointer_expression "*(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 8)" * (cast_expression "(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 8)" ( (binary_expression "**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 8" (binary_expression "**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4)" (pointer_expression "**(int **)(param_1 + 0x98)" * (pointer_expression "*(int **)(param_1 + 0x98)" * (cast_expression "(int **)(param_1 + 0x98)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x98)" ( (binary_expression "param_1 + 0x98" identifier + number_literal) ))))) + (pointer_expression "*(int *)(param_1 + 0xa4)" * (cast_expression "(int *)(param_1 + 0xa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xa4)" ( (binary_expression "param_1 + 0xa4" identifier + number_literal) ))))) + number_literal) ))))) ;) (expression_statement "puVar8 = (uint *)(local_34 +\n                     (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000);" (assignment_expression "puVar8 = (uint *)(local_34 +\n                     (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000)" identifier = (cast_expression "(uint *)(local_34 +\n                     (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_34 +\n                     (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000)" ( (binary_expression "local_34 +\n                     (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (binary_expression "local_34 +\n                     (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" identifier + (parenthesized_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10)" ( (binary_expression "(uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10" (binary_expression "(uVar7 >> 0x10) << 0x18" (parenthesized_expression "(uVar7 >> 0x10)" ( (binary_expression "uVar7 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar7 >> 0x18) << 0x10" (parenthesized_expression "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) ))) + (binary_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff)" ( (binary_expression "(uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff" (binary_expression "(uVar7 & 0xff) << 8" (parenthesized_expression "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal)) )))) ;) (if_statement "if (uVar9 != 0) {\n      uVar7 = 0;\n      local_30 = PTR_s__s_004c1a50 + 0x1478;\n      puVar10 = PTR_s_in_a_linker_script_004c191c + 0x6db8;\n      do {\n        while( true ) {\n          uVar2 = *puVar8;\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          puVar11 = puVar10;\n          if (uVar2 < local_3c) {\n            puVar11 = (undefined *)(local_40 + uVar2);\n          }\n          puVar3 = *(undefined4 **)puVar1;\n          if ((puVar3[2] != 0) && ((puVar3[5] & 0x10) != 0)) {\n            (*(code *)PTR_debug_004c2018)(*puVar3,local_30,uVar7,puVar11);\n          }\n          local_50 = (*(code *)PTR_add_004c1ca4)(param_2,puVar11,1,0);\n          uVar5 = puVar8[2];\n          uVar6 = puVar8[3];\n          uVar2 = puVar8[4];\n          piVar4 = *(int **)(param_1 + 0xe0);\n          local_54 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          local_58 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n          local_44 = 0;\n          local_4c = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          local_48 = ((*(ushort *)((int)puVar8 + 6) & 0xff) << 8 |\n                     (uint)(*(ushort *)((int)puVar8 + 6) >> 8)) << 4 | *(byte *)(puVar8 + 1) & 0xf;\n          if (piVar4 != *(int **)(param_1 + 0xe4)) break;\n          uVar7 = uVar7 + 1;\n          puVar8 = puVar8 + 6;\n          std::\n          vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n          ::_M_realloc_insert<gold::Sized_relobj_incr<64,false>::Local_symbol>\n                    (local_2c,piVar4,&local_58);\n          if (uVar7 == uVar9) {\n            return;\n          }\n        }\n        *piVar4 = local_58;\n        uVar7 = uVar7 + 1;\n        piVar4[1] = local_54;\n        piVar4[2] = local_50;\n        puVar8 = puVar8 + 6;\n        piVar4[3] = local_4c;\n        piVar4[4] = local_48;\n        piVar4[5] = 0;\n        *(int **)(param_1 + 0xe0) = piVar4 + 6;\n      } while (uVar7 != uVar9);\n    }" if (parenthesized_expression "(uVar9 != 0)" ( (binary_expression "uVar9 != 0" identifier != number_literal) )) (compound_statement "{\n      uVar7 = 0;\n      local_30 = PTR_s__s_004c1a50 + 0x1478;\n      puVar10 = PTR_s_in_a_linker_script_004c191c + 0x6db8;\n      do {\n        while( true ) {\n          uVar2 = *puVar8;\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          puVar11 = puVar10;\n          if (uVar2 < local_3c) {\n            puVar11 = (undefined *)(local_40 + uVar2);\n          }\n          puVar3 = *(undefined4 **)puVar1;\n          if ((puVar3[2] != 0) && ((puVar3[5] & 0x10) != 0)) {\n            (*(code *)PTR_debug_004c2018)(*puVar3,local_30,uVar7,puVar11);\n          }\n          local_50 = (*(code *)PTR_add_004c1ca4)(param_2,puVar11,1,0);\n          uVar5 = puVar8[2];\n          uVar6 = puVar8[3];\n          uVar2 = puVar8[4];\n          piVar4 = *(int **)(param_1 + 0xe0);\n          local_54 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          local_58 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n          local_44 = 0;\n          local_4c = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          local_48 = ((*(ushort *)((int)puVar8 + 6) & 0xff) << 8 |\n                     (uint)(*(ushort *)((int)puVar8 + 6) >> 8)) << 4 | *(byte *)(puVar8 + 1) & 0xf;\n          if (piVar4 != *(int **)(param_1 + 0xe4)) break;\n          uVar7 = uVar7 + 1;\n          puVar8 = puVar8 + 6;\n          std::\n          vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n          ::_M_realloc_insert<gold::Sized_relobj_incr<64,false>::Local_symbol>\n                    (local_2c,piVar4,&local_58);\n          if (uVar7 == uVar9) {\n            return;\n          }\n        }\n        *piVar4 = local_58;\n        uVar7 = uVar7 + 1;\n        piVar4[1] = local_54;\n        piVar4[2] = local_50;\n        puVar8 = puVar8 + 6;\n        piVar4[3] = local_4c;\n        piVar4[4] = local_48;\n        piVar4[5] = 0;\n        *(int **)(param_1 + 0xe0) = piVar4 + 6;\n      } while (uVar7 != uVar9);\n    }" { (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (expression_statement "local_30 = PTR_s__s_004c1a50 + 0x1478;" (assignment_expression "local_30 = PTR_s__s_004c1a50 + 0x1478" identifier = (binary_expression "PTR_s__s_004c1a50 + 0x1478" identifier + number_literal)) ;) (expression_statement "puVar10 = PTR_s_in_a_linker_script_004c191c + 0x6db8;" (assignment_expression "puVar10 = PTR_s_in_a_linker_script_004c191c + 0x6db8" identifier = (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x6db8" identifier + number_literal)) ;) (do_statement "do {\n        while( true ) {\n          uVar2 = *puVar8;\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          puVar11 = puVar10;\n          if (uVar2 < local_3c) {\n            puVar11 = (undefined *)(local_40 + uVar2);\n          }\n          puVar3 = *(undefined4 **)puVar1;\n          if ((puVar3[2] != 0) && ((puVar3[5] & 0x10) != 0)) {\n            (*(code *)PTR_debug_004c2018)(*puVar3,local_30,uVar7,puVar11);\n          }\n          local_50 = (*(code *)PTR_add_004c1ca4)(param_2,puVar11,1,0);\n          uVar5 = puVar8[2];\n          uVar6 = puVar8[3];\n          uVar2 = puVar8[4];\n          piVar4 = *(int **)(param_1 + 0xe0);\n          local_54 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          local_58 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n          local_44 = 0;\n          local_4c = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          local_48 = ((*(ushort *)((int)puVar8 + 6) & 0xff) << 8 |\n                     (uint)(*(ushort *)((int)puVar8 + 6) >> 8)) << 4 | *(byte *)(puVar8 + 1) & 0xf;\n          if (piVar4 != *(int **)(param_1 + 0xe4)) break;\n          uVar7 = uVar7 + 1;\n          puVar8 = puVar8 + 6;\n          std::\n          vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n          ::_M_realloc_insert<gold::Sized_relobj_incr<64,false>::Local_symbol>\n                    (local_2c,piVar4,&local_58);\n          if (uVar7 == uVar9) {\n            return;\n          }\n        }\n        *piVar4 = local_58;\n        uVar7 = uVar7 + 1;\n        piVar4[1] = local_54;\n        piVar4[2] = local_50;\n        puVar8 = puVar8 + 6;\n        piVar4[3] = local_4c;\n        piVar4[4] = local_48;\n        piVar4[5] = 0;\n        *(int **)(param_1 + 0xe0) = piVar4 + 6;\n      } while (uVar7 != uVar9);" do (compound_statement "{\n        while( true ) {\n          uVar2 = *puVar8;\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          puVar11 = puVar10;\n          if (uVar2 < local_3c) {\n            puVar11 = (undefined *)(local_40 + uVar2);\n          }\n          puVar3 = *(undefined4 **)puVar1;\n          if ((puVar3[2] != 0) && ((puVar3[5] & 0x10) != 0)) {\n            (*(code *)PTR_debug_004c2018)(*puVar3,local_30,uVar7,puVar11);\n          }\n          local_50 = (*(code *)PTR_add_004c1ca4)(param_2,puVar11,1,0);\n          uVar5 = puVar8[2];\n          uVar6 = puVar8[3];\n          uVar2 = puVar8[4];\n          piVar4 = *(int **)(param_1 + 0xe0);\n          local_54 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          local_58 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n          local_44 = 0;\n          local_4c = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          local_48 = ((*(ushort *)((int)puVar8 + 6) & 0xff) << 8 |\n                     (uint)(*(ushort *)((int)puVar8 + 6) >> 8)) << 4 | *(byte *)(puVar8 + 1) & 0xf;\n          if (piVar4 != *(int **)(param_1 + 0xe4)) break;\n          uVar7 = uVar7 + 1;\n          puVar8 = puVar8 + 6;\n          std::\n          vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n          ::_M_realloc_insert<gold::Sized_relobj_incr<64,false>::Local_symbol>\n                    (local_2c,piVar4,&local_58);\n          if (uVar7 == uVar9) {\n            return;\n          }\n        }\n        *piVar4 = local_58;\n        uVar7 = uVar7 + 1;\n        piVar4[1] = local_54;\n        piVar4[2] = local_50;\n        puVar8 = puVar8 + 6;\n        piVar4[3] = local_4c;\n        piVar4[4] = local_48;\n        piVar4[5] = 0;\n        *(int **)(param_1 + 0xe0) = piVar4 + 6;\n      }" { (while_statement "while( true ) {\n          uVar2 = *puVar8;\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          puVar11 = puVar10;\n          if (uVar2 < local_3c) {\n            puVar11 = (undefined *)(local_40 + uVar2);\n          }\n          puVar3 = *(undefined4 **)puVar1;\n          if ((puVar3[2] != 0) && ((puVar3[5] & 0x10) != 0)) {\n            (*(code *)PTR_debug_004c2018)(*puVar3,local_30,uVar7,puVar11);\n          }\n          local_50 = (*(code *)PTR_add_004c1ca4)(param_2,puVar11,1,0);\n          uVar5 = puVar8[2];\n          uVar6 = puVar8[3];\n          uVar2 = puVar8[4];\n          piVar4 = *(int **)(param_1 + 0xe0);\n          local_54 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          local_58 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n          local_44 = 0;\n          local_4c = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          local_48 = ((*(ushort *)((int)puVar8 + 6) & 0xff) << 8 |\n                     (uint)(*(ushort *)((int)puVar8 + 6) >> 8)) << 4 | *(byte *)(puVar8 + 1) & 0xf;\n          if (piVar4 != *(int **)(param_1 + 0xe4)) break;\n          uVar7 = uVar7 + 1;\n          puVar8 = puVar8 + 6;\n          std::\n          vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n          ::_M_realloc_insert<gold::Sized_relobj_incr<64,false>::Local_symbol>\n                    (local_2c,piVar4,&local_58);\n          if (uVar7 == uVar9) {\n            return;\n          }\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          uVar2 = *puVar8;\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          puVar11 = puVar10;\n          if (uVar2 < local_3c) {\n            puVar11 = (undefined *)(local_40 + uVar2);\n          }\n          puVar3 = *(undefined4 **)puVar1;\n          if ((puVar3[2] != 0) && ((puVar3[5] & 0x10) != 0)) {\n            (*(code *)PTR_debug_004c2018)(*puVar3,local_30,uVar7,puVar11);\n          }\n          local_50 = (*(code *)PTR_add_004c1ca4)(param_2,puVar11,1,0);\n          uVar5 = puVar8[2];\n          uVar6 = puVar8[3];\n          uVar2 = puVar8[4];\n          piVar4 = *(int **)(param_1 + 0xe0);\n          local_54 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          local_58 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n          local_44 = 0;\n          local_4c = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          local_48 = ((*(ushort *)((int)puVar8 + 6) & 0xff) << 8 |\n                     (uint)(*(ushort *)((int)puVar8 + 6) >> 8)) << 4 | *(byte *)(puVar8 + 1) & 0xf;\n          if (piVar4 != *(int **)(param_1 + 0xe4)) break;\n          uVar7 = uVar7 + 1;\n          puVar8 = puVar8 + 6;\n          std::\n          vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n          ::_M_realloc_insert<gold::Sized_relobj_incr<64,false>::Local_symbol>\n                    (local_2c,piVar4,&local_58);\n          if (uVar7 == uVar9) {\n            return;\n          }\n        }" { (expression_statement "uVar2 = *puVar8;" (assignment_expression "uVar2 = *puVar8" identifier = (pointer_expression "*puVar8" * identifier)) ;) (expression_statement "uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10)" ( (binary_expression "(uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10" (binary_expression "(uVar2 >> 0x10) << 0x18" (parenthesized_expression "(uVar2 >> 0x10)" ( (binary_expression "uVar2 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar2 >> 0x18) << 0x10" (parenthesized_expression "(uVar2 >> 0x18)" ( (binary_expression "uVar2 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff)" ( (binary_expression "(uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff" (binary_expression "(uVar2 & 0xff) << 8" (parenthesized_expression "(uVar2 & 0xff)" ( (binary_expression "uVar2 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar2 >> 8 & 0xff" (binary_expression "uVar2 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "puVar11 = puVar10;" (assignment_expression "puVar11 = puVar10" identifier = identifier) ;) (if_statement "if (uVar2 < local_3c) {\n            puVar11 = (undefined *)(local_40 + uVar2);\n          }" if (parenthesized_expression "(uVar2 < local_3c)" ( (binary_expression "uVar2 < local_3c" identifier < identifier) )) (compound_statement "{\n            puVar11 = (undefined *)(local_40 + uVar2);\n          }" { (expression_statement "puVar11 = (undefined *)(local_40 + uVar2);" (assignment_expression "puVar11 = (undefined *)(local_40 + uVar2)" identifier = (cast_expression "(undefined *)(local_40 + uVar2)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40 + uVar2)" ( (binary_expression "local_40 + uVar2" identifier + identifier) )))) ;) })) (expression_statement "puVar3 = *(undefined4 **)puVar1;" (assignment_expression "puVar3 = *(undefined4 **)puVar1" identifier = (pointer_expression "*(undefined4 **)puVar1" * (cast_expression "(undefined4 **)puVar1" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if ((puVar3[2] != 0) && ((puVar3[5] & 0x10) != 0)) {\n            (*(code *)PTR_debug_004c2018)(*puVar3,local_30,uVar7,puVar11);\n          }" if (parenthesized_expression "((puVar3[2] != 0) && ((puVar3[5] & 0x10) != 0))" ( (binary_expression "(puVar3[2] != 0) && ((puVar3[5] & 0x10) != 0)" (parenthesized_expression "(puVar3[2] != 0)" ( (binary_expression "puVar3[2] != 0" (subscript_expression "puVar3[2]" identifier [ number_literal ]) != number_literal) )) && (parenthesized_expression "((puVar3[5] & 0x10) != 0)" ( (binary_expression "(puVar3[5] & 0x10) != 0" (parenthesized_expression "(puVar3[5] & 0x10)" ( (binary_expression "puVar3[5] & 0x10" (subscript_expression "puVar3[5]" identifier [ number_literal ]) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n            (*(code *)PTR_debug_004c2018)(*puVar3,local_30,uVar7,puVar11);\n          }" { (expression_statement "(*(code *)PTR_debug_004c2018)(*puVar3,local_30,uVar7,puVar11);" (call_expression "(*(code *)PTR_debug_004c2018)(*puVar3,local_30,uVar7,puVar11)" (parenthesized_expression "(*(code *)PTR_debug_004c2018)" ( (pointer_expression "*(code *)PTR_debug_004c2018" * (cast_expression "(code *)PTR_debug_004c2018" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar3,local_30,uVar7,puVar11)" ( (pointer_expression "*puVar3" * identifier) , identifier , identifier , identifier ))) ;) })) (expression_statement "local_50 = (*(code *)PTR_add_004c1ca4)(param_2,puVar11,1,0);" (assignment_expression "local_50 = (*(code *)PTR_add_004c1ca4)(param_2,puVar11,1,0)" identifier = (call_expression "(*(code *)PTR_add_004c1ca4)(param_2,puVar11,1,0)" (parenthesized_expression "(*(code *)PTR_add_004c1ca4)" ( (pointer_expression "*(code *)PTR_add_004c1ca4" * (cast_expression "(code *)PTR_add_004c1ca4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,puVar11,1,0)" ( identifier , identifier , number_literal , number_literal )))) ;) (expression_statement "uVar5 = puVar8[2];" (assignment_expression "uVar5 = puVar8[2]" identifier = (subscript_expression "puVar8[2]" identifier [ number_literal ])) ;) (expression_statement "uVar6 = puVar8[3];" (assignment_expression "uVar6 = puVar8[3]" identifier = (subscript_expression "puVar8[3]" identifier [ number_literal ])) ;) (expression_statement "uVar2 = puVar8[4];" (assignment_expression "uVar2 = puVar8[4]" identifier = (subscript_expression "puVar8[4]" identifier [ number_literal ])) ;) (expression_statement "piVar4 = *(int **)(param_1 + 0xe0);" (assignment_expression "piVar4 = *(int **)(param_1 + 0xe0)" identifier = (pointer_expression "*(int **)(param_1 + 0xe0)" * (cast_expression "(int **)(param_1 + 0xe0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0xe0)" ( (binary_expression "param_1 + 0xe0" identifier + number_literal) ))))) ;) (expression_statement "local_54 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;" (assignment_expression "local_54 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10)" ( (binary_expression "(uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10" (binary_expression "(uVar5 >> 0x10) << 0x18" (parenthesized_expression "(uVar5 >> 0x10)" ( (binary_expression "uVar5 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar5 >> 0x18) << 0x10" (parenthesized_expression "(uVar5 >> 0x18)" ( (binary_expression "uVar5 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff)" ( (binary_expression "(uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff" (binary_expression "(uVar5 & 0xff) << 8" (parenthesized_expression "(uVar5 & 0xff)" ( (binary_expression "uVar5 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar5 >> 8 & 0xff" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "local_58 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;" (assignment_expression "local_58 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10)" ( (binary_expression "(uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10" (binary_expression "(uVar6 >> 0x10) << 0x18" (parenthesized_expression "(uVar6 >> 0x10)" ( (binary_expression "uVar6 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar6 >> 0x18) << 0x10" (parenthesized_expression "(uVar6 >> 0x18)" ( (binary_expression "uVar6 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff)" ( (binary_expression "(uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff" (binary_expression "(uVar6 & 0xff) << 8" (parenthesized_expression "(uVar6 & 0xff)" ( (binary_expression "uVar6 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar6 >> 8 & 0xff" (binary_expression "uVar6 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" identifier = number_literal) ;) (expression_statement "local_4c = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;" (assignment_expression "local_4c = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10)" ( (binary_expression "(uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10" (binary_expression "(uVar2 >> 0x10) << 0x18" (parenthesized_expression "(uVar2 >> 0x10)" ( (binary_expression "uVar2 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar2 >> 0x18) << 0x10" (parenthesized_expression "(uVar2 >> 0x18)" ( (binary_expression "uVar2 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff)" ( (binary_expression "(uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff" (binary_expression "(uVar2 & 0xff) << 8" (parenthesized_expression "(uVar2 & 0xff)" ( (binary_expression "uVar2 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar2 >> 8 & 0xff" (binary_expression "uVar2 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "local_48 = ((*(ushort *)((int)puVar8 + 6) & 0xff) << 8 |\n                     (uint)(*(ushort *)((int)puVar8 + 6) >> 8)) << 4 | *(byte *)(puVar8 + 1) & 0xf;" (assignment_expression "local_48 = ((*(ushort *)((int)puVar8 + 6) & 0xff) << 8 |\n                     (uint)(*(ushort *)((int)puVar8 + 6) >> 8)) << 4 | *(byte *)(puVar8 + 1) & 0xf" identifier = (binary_expression "((*(ushort *)((int)puVar8 + 6) & 0xff) << 8 |\n                     (uint)(*(ushort *)((int)puVar8 + 6) >> 8)) << 4 | *(byte *)(puVar8 + 1) & 0xf" (binary_expression "((*(ushort *)((int)puVar8 + 6) & 0xff) << 8 |\n                     (uint)(*(ushort *)((int)puVar8 + 6) >> 8)) << 4" (parenthesized_expression "((*(ushort *)((int)puVar8 + 6) & 0xff) << 8 |\n                     (uint)(*(ushort *)((int)puVar8 + 6) >> 8))" ( (binary_expression "(*(ushort *)((int)puVar8 + 6) & 0xff) << 8 |\n                     (uint)(*(ushort *)((int)puVar8 + 6) >> 8)" (binary_expression "(*(ushort *)((int)puVar8 + 6) & 0xff) << 8" (parenthesized_expression "(*(ushort *)((int)puVar8 + 6) & 0xff)" ( (binary_expression "*(ushort *)((int)puVar8 + 6) & 0xff" (pointer_expression "*(ushort *)((int)puVar8 + 6)" * (cast_expression "(ushort *)((int)puVar8 + 6)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + 6)" ( (binary_expression "(int)puVar8 + 6" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) << number_literal) | (call_expression "(uint)(*(ushort *)((int)puVar8 + 6) >> 8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(ushort *)((int)puVar8 + 6) >> 8)" ( (binary_expression "*(ushort *)((int)puVar8 + 6) >> 8" (pointer_expression "*(ushort *)((int)puVar8 + 6)" * (cast_expression "(ushort *)((int)puVar8 + 6)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + 6)" ( (binary_expression "(int)puVar8 + 6" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal) )))) )) << number_literal) | (binary_expression "*(byte *)(puVar8 + 1) & 0xf" (pointer_expression "*(byte *)(puVar8 + 1)" * (cast_expression "(byte *)(puVar8 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 1)" ( (binary_expression "puVar8 + 1" identifier + number_literal) )))) & number_literal))) ;) (if_statement "if (piVar4 != *(int **)(param_1 + 0xe4)) break;" if (parenthesized_expression "(piVar4 != *(int **)(param_1 + 0xe4))" ( (binary_expression "piVar4 != *(int **)(param_1 + 0xe4)" identifier != (pointer_expression "*(int **)(param_1 + 0xe4)" * (cast_expression "(int **)(param_1 + 0xe4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0xe4)" ( (binary_expression "param_1 + 0xe4" identifier + number_literal) ))))) )) (break_statement "break;" break ;)) (expression_statement "uVar7 = uVar7 + 1;" (assignment_expression "uVar7 = uVar7 + 1" identifier = (binary_expression "uVar7 + 1" identifier + number_literal)) ;) (expression_statement "puVar8 = puVar8 + 6;" (assignment_expression "puVar8 = puVar8 + 6" identifier = (binary_expression "puVar8 + 6" identifier + number_literal)) ;) (labeled_statement "std::\n          vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n          ::_M_realloc_insert<gold::Sized_relobj_incr<64,false>::Local_symbol>\n                    (local_2c,piVar4,&local_58);" statement_identifier (ERROR "::\n          vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n          ::_M_realloc_insert<gold:" : : (binary_expression "vector<gold" identifier < identifier) : : (comma_expression "Sized_relobj_incr<64,false>::Local_symbol,std" (binary_expression "Sized_relobj_incr<64" identifier < number_literal) , (comma_expression "false>::Local_symbol,std" (binary_expression "false>::Local_symbol" false > (ERROR "::" : :) identifier) , identifier)) : : (binary_expression "allocator<gold" identifier < identifier) : : (comma_expression "Sized_relobj_incr<64,false>::Local_symbol>>\n          ::_M_realloc_insert<gold" (binary_expression "Sized_relobj_incr<64" identifier < number_literal) , (binary_expression "false>::Local_symbol>>\n          ::_M_realloc_insert<gold" (binary_expression "false>::Local_symbol>>\n          ::_M_realloc_insert" false > (ERROR "::" : :) (binary_expression "Local_symbol>>\n          ::_M_realloc_insert" identifier >> (ERROR "::" : :) identifier)) < identifier)) :) : (expression_statement "Sized_relobj_incr<64,false>::Local_symbol>\n                    (local_2c,piVar4,&local_58);" (comma_expression "Sized_relobj_incr<64,false>::Local_symbol>\n                    (local_2c,piVar4,&local_58)" (binary_expression "Sized_relobj_incr<64" identifier < number_literal) , (binary_expression "false>::Local_symbol>\n                    (local_2c,piVar4,&local_58)" (binary_expression "false>::Local_symbol" false > (ERROR "::" : :) identifier) > (parenthesized_expression "(local_2c,piVar4,&local_58)" ( (comma_expression "local_2c,piVar4,&local_58" identifier , (comma_expression "piVar4,&local_58" identifier , (pointer_expression "&local_58" & identifier))) )))) ;)) (if_statement "if (uVar7 == uVar9) {\n            return;\n          }" if (parenthesized_expression "(uVar7 == uVar9)" ( (binary_expression "uVar7 == uVar9" identifier == identifier) )) (compound_statement "{\n            return;\n          }" { (return_statement "return;" return ;) })) })) (expression_statement "*piVar4 = local_58;" (assignment_expression "*piVar4 = local_58" (pointer_expression "*piVar4" * identifier) = identifier) ;) (expression_statement "uVar7 = uVar7 + 1;" (assignment_expression "uVar7 = uVar7 + 1" identifier = (binary_expression "uVar7 + 1" identifier + number_literal)) ;) (expression_statement "piVar4[1] = local_54;" (assignment_expression "piVar4[1] = local_54" (subscript_expression "piVar4[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar4[2] = local_50;" (assignment_expression "piVar4[2] = local_50" (subscript_expression "piVar4[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar8 = puVar8 + 6;" (assignment_expression "puVar8 = puVar8 + 6" identifier = (binary_expression "puVar8 + 6" identifier + number_literal)) ;) (expression_statement "piVar4[3] = local_4c;" (assignment_expression "piVar4[3] = local_4c" (subscript_expression "piVar4[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar4[4] = local_48;" (assignment_expression "piVar4[4] = local_48" (subscript_expression "piVar4[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar4[5] = 0;" (assignment_expression "piVar4[5] = 0" (subscript_expression "piVar4[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(int **)(param_1 + 0xe0) = piVar4 + 6;" (assignment_expression "*(int **)(param_1 + 0xe0) = piVar4 + 6" (pointer_expression "*(int **)(param_1 + 0xe0)" * (cast_expression "(int **)(param_1 + 0xe0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0xe0)" ( (binary_expression "param_1 + 0xe0" identifier + number_literal) )))) = (binary_expression "piVar4 + 6" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar7 != uVar9)" ( (binary_expression "uVar7 != uVar9" identifier != identifier) )) ;) })) (return_statement "return;" return ;) })) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s__s_004c1a50 + 0xefc,0x391,PTR_s__s_004c1a50 + 0x1a74);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s__s_004c1a50 + 0xefc,0x391,PTR_s__s_004c1a50 + 0x1a74)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s__s_004c1a50 + 0xefc,0x391,PTR_s__s_004c1a50 + 0x1a74)" ( (binary_expression "PTR_s__s_004c1a50 + 0xefc" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x1a74" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (ERROR (binary_expression IDENT < IDENT) : : (comma_expression (binary_expression IDENT < LIT) , (comma_expression (binary_expression BOOL > (ERROR : :) IDENT) , IDENT)) : : (binary_expression IDENT < IDENT) : :) (expression_statement (comma_expression (binary_expression IDENT < LIT) , (binary_expression BOOL > (ERROR : :) (binary_expression IDENT >> (pointer_expression * IDENT)))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (ERROR (binary_expression IDENT < IDENT) : : (comma_expression (binary_expression IDENT < LIT) , (comma_expression (binary_expression BOOL > (ERROR : :) IDENT) , IDENT)) : : (binary_expression IDENT < IDENT) : :) (comma_expression (binary_expression IDENT < LIT) , (binary_expression BOOL > (ERROR : :) (binary_expression IDENT >> (pointer_expression * IDENT)))) )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT)) )) >> LIT) )) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (binary_expression IDENT >> LIT) & LIT)) )) * LIT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (labeled_statement statement_identifier (ERROR : : (binary_expression IDENT < IDENT) : : (comma_expression (binary_expression IDENT < LIT) , (comma_expression (binary_expression BOOL > (ERROR : :) IDENT) , IDENT)) : : (binary_expression IDENT < IDENT) :) : (expression_statement (comma_expression (binary_expression IDENT < LIT) , (binary_expression BOOL > (ERROR : :) (binary_expression IDENT >> (ERROR : :) (call_expression IDENT (argument_list ( IDENT , IDENT )))))) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (ERROR :) (expression_statement (comma_expression (binary_expression IDENT < LIT) , (binary_expression BOOL > (ERROR : :) (call_expression IDENT (argument_list ( (pointer_expression * (call_expression (parenthesized_expression ( (comma_expression (binary_expression IDENT < LIT) , (binary_expression BOOL > (pointer_expression * (pointer_expression * IDENT)))) )) (argument_list ( (binary_expression IDENT + LIT) )))) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT)) , (pointer_expression & IDENT) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT)) ))))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT)) )) >> LIT) ))) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (binary_expression IDENT >> LIT) & LIT)) )) * LIT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT)) )) >> LIT) )) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (binary_expression IDENT >> LIT) & LIT)) )) * LIT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) != LIT) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * IDENT) , IDENT , IDENT , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , LIT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT)) )) >> LIT) )) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (binary_expression IDENT >> LIT) & LIT)) )) * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT)) )) >> LIT) )) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (binary_expression IDENT >> LIT) & LIT)) )) * LIT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT)) )) >> LIT) )) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (binary_expression IDENT >> LIT) & LIT)) )) * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) << LIT) | (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) >> LIT) )))) )) << LIT) | (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (labeled_statement statement_identifier (ERROR : : (binary_expression IDENT < IDENT) : : (comma_expression (binary_expression IDENT < LIT) , (comma_expression (binary_expression BOOL > (ERROR : :) IDENT) , IDENT)) : : (binary_expression IDENT < IDENT) : : (comma_expression (binary_expression IDENT < LIT) , (binary_expression (binary_expression BOOL > (ERROR : :) (binary_expression IDENT >> (ERROR : :) IDENT)) < IDENT)) :) : (expression_statement (comma_expression (binary_expression IDENT < LIT) , (binary_expression (binary_expression BOOL > (ERROR : :) IDENT) > (parenthesized_expression ( (comma_expression IDENT , (comma_expression IDENT , (pointer_expression & IDENT))) )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (return_statement return ;) })) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (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 ]) = IDENT) ;) (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 ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (return_statement return ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) (return_statement return ;) })))
(function_definition "void FUN_001a7228(int param_1,undefined4 param_2)\n\n{\n  undefined *puVar1;\n  uint uVar2;\n  undefined4 *puVar3;\n  int *piVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  uint *puVar8;\n  uint uVar9;\n  undefined *puVar10;\n  undefined *puVar11;\n  int local_58;\n  int local_54;\n  int local_50;\n  int local_4c;\n  uint local_48;\n  undefined4 local_44;\n  int local_40;\n  uint local_3c;\n  uint uStack_38;\n  int local_34;\n  undefined *local_30;\n  vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n  *local_2c;\n  \n  if (1 < *(byte *)(param_1 + 0x9f) - 1) {\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s__s_004c1a50 + 0xefc,0x39b,PTR_s__s_004c1a50 + 0x1a8c);\n    return;\n  }\n  local_2c = (vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n              *)(param_1 + 0xdc);\n  uVar9 = *(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 0xc);\n  uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n          ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n  *(uint *)(param_1 + 0xa8) = uVar9;\n  std::\n  vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n  ::reserve(local_2c,uVar9);\n  local_34 = 0;\n  local_40 = 0;\n  local_3c = 0;\n  gold::Sized_incremental_binary<64,false>::get_symtab_view\n            (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_34,&uStack_38,\n             (Elf_strtab *)&local_40);\n  puVar1 = PTR_parameters_004c19b4;\n  if (*(byte *)(param_1 + 0x9f) - 1 < 2) {\n    uVar7 = *(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 8);\n    puVar8 = (uint *)(local_34 +\n                     (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000);\n    if (uVar9 != 0) {\n      uVar7 = 0;\n      local_30 = PTR_s__s_004c1a50 + 0x1478;\n      puVar10 = PTR_s_in_a_linker_script_004c191c + 0x6db8;\n      do {\n        while( true ) {\n          uVar2 = *puVar8;\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          puVar11 = puVar10;\n          if (uVar2 < local_3c) {\n            puVar11 = (undefined *)(local_40 + uVar2);\n          }\n          puVar3 = *(undefined4 **)puVar1;\n          if ((puVar3[2] != 0) && ((puVar3[5] & 0x10) != 0)) {\n            (*(code *)PTR_debug_004c2018)(*puVar3,local_30,uVar7,puVar11);\n          }\n          local_50 = (*(code *)PTR_add_004c1ca4)(param_2,puVar11,1,0);\n          uVar5 = puVar8[2];\n          uVar6 = puVar8[3];\n          uVar2 = puVar8[4];\n          piVar4 = *(int **)(param_1 + 0xe0);\n          local_54 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          local_58 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n          local_44 = 0;\n          local_4c = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          local_48 = ((*(ushort *)((int)puVar8 + 6) & 0xff) << 8 |\n                     (uint)(*(ushort *)((int)puVar8 + 6) >> 8)) << 4 | *(byte *)(puVar8 + 1) & 0xf;\n          if (piVar4 != *(int **)(param_1 + 0xe4)) break;\n          uVar7 = uVar7 + 1;\n          puVar8 = puVar8 + 6;\n          std::\n          vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n          ::_M_realloc_insert<gold::Sized_relobj_incr<64,false>::Local_symbol>\n                    (local_2c,piVar4,&local_58);\n          if (uVar7 == uVar9) {\n            return;\n          }\n        }\n        *piVar4 = local_58;\n        uVar7 = uVar7 + 1;\n        piVar4[1] = local_54;\n        piVar4[2] = local_50;\n        puVar8 = puVar8 + 6;\n        piVar4[3] = local_4c;\n        piVar4[4] = local_48;\n        piVar4[5] = 0;\n        *(int **)(param_1 + 0xe0) = piVar4 + 6;\n      } while (uVar7 != uVar9);\n    }\n    return;\n  }\n  (*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s__s_004c1a50 + 0xefc,0x391,PTR_s__s_004c1a50 + 0x1a74);\n  return;\n}" (primitive_type "void") (function_declarator "FUN_001a7228(int param_1,undefined4 param_2)" (identifier "FUN_001a7228") (parameter_list "(int param_1,undefined4 param_2)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) () ")"))) (compound_statement "{\n  undefined *puVar1;\n  uint uVar2;\n  undefined4 *puVar3;\n  int *piVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  uint *puVar8;\n  uint uVar9;\n  undefined *puVar10;\n  undefined *puVar11;\n  int local_58;\n  int local_54;\n  int local_50;\n  int local_4c;\n  uint local_48;\n  undefined4 local_44;\n  int local_40;\n  uint local_3c;\n  uint uStack_38;\n  int local_34;\n  undefined *local_30;\n  vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n  *local_2c;\n  \n  if (1 < *(byte *)(param_1 + 0x9f) - 1) {\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s__s_004c1a50 + 0xefc,0x39b,PTR_s__s_004c1a50 + 0x1a8c);\n    return;\n  }\n  local_2c = (vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n              *)(param_1 + 0xdc);\n  uVar9 = *(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 0xc);\n  uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n          ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n  *(uint *)(param_1 + 0xa8) = uVar9;\n  std::\n  vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n  ::reserve(local_2c,uVar9);\n  local_34 = 0;\n  local_40 = 0;\n  local_3c = 0;\n  gold::Sized_incremental_binary<64,false>::get_symtab_view\n            (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_34,&uStack_38,\n             (Elf_strtab *)&local_40);\n  puVar1 = PTR_parameters_004c19b4;\n  if (*(byte *)(param_1 + 0x9f) - 1 < 2) {\n    uVar7 = *(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 8);\n    puVar8 = (uint *)(local_34 +\n                     (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000);\n    if (uVar9 != 0) {\n      uVar7 = 0;\n      local_30 = PTR_s__s_004c1a50 + 0x1478;\n      puVar10 = PTR_s_in_a_linker_script_004c191c + 0x6db8;\n      do {\n        while( true ) {\n          uVar2 = *puVar8;\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          puVar11 = puVar10;\n          if (uVar2 < local_3c) {\n            puVar11 = (undefined *)(local_40 + uVar2);\n          }\n          puVar3 = *(undefined4 **)puVar1;\n          if ((puVar3[2] != 0) && ((puVar3[5] & 0x10) != 0)) {\n            (*(code *)PTR_debug_004c2018)(*puVar3,local_30,uVar7,puVar11);\n          }\n          local_50 = (*(code *)PTR_add_004c1ca4)(param_2,puVar11,1,0);\n          uVar5 = puVar8[2];\n          uVar6 = puVar8[3];\n          uVar2 = puVar8[4];\n          piVar4 = *(int **)(param_1 + 0xe0);\n          local_54 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          local_58 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n          local_44 = 0;\n          local_4c = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          local_48 = ((*(ushort *)((int)puVar8 + 6) & 0xff) << 8 |\n                     (uint)(*(ushort *)((int)puVar8 + 6) >> 8)) << 4 | *(byte *)(puVar8 + 1) & 0xf;\n          if (piVar4 != *(int **)(param_1 + 0xe4)) break;\n          uVar7 = uVar7 + 1;\n          puVar8 = puVar8 + 6;\n          std::\n          vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n          ::_M_realloc_insert<gold::Sized_relobj_incr<64,false>::Local_symbol>\n                    (local_2c,piVar4,&local_58);\n          if (uVar7 == uVar9) {\n            return;\n          }\n        }\n        *piVar4 = local_58;\n        uVar7 = uVar7 + 1;\n        piVar4[1] = local_54;\n        piVar4[2] = local_50;\n        puVar8 = puVar8 + 6;\n        piVar4[3] = local_4c;\n        piVar4[4] = local_48;\n        piVar4[5] = 0;\n        *(int **)(param_1 + 0xe0) = piVar4 + 6;\n      } while (uVar7 != uVar9);\n    }\n    return;\n  }\n  (*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s__s_004c1a50 + 0xefc,0x391,PTR_s__s_004c1a50 + 0x1a74);\n  return;\n}" ({ "{") (declaration "undefined *puVar1;" (type_identifier "undefined") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "uint uVar2;" (type_identifier "uint") (identifier "uVar2") (; ";")) (declaration "undefined4 *puVar3;" (type_identifier "undefined4") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "int *piVar4;" (primitive_type "int") (pointer_declarator "*piVar4" (* "*") (identifier "piVar4")) (; ";")) (declaration "uint uVar5;" (type_identifier "uint") (identifier "uVar5") (; ";")) (declaration "uint uVar6;" (type_identifier "uint") (identifier "uVar6") (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (declaration "uint *puVar8;" (type_identifier "uint") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "uint uVar9;" (type_identifier "uint") (identifier "uVar9") (; ";")) (declaration "undefined *puVar10;" (type_identifier "undefined") (pointer_declarator "*puVar10" (* "*") (identifier "puVar10")) (; ";")) (declaration "undefined *puVar11;" (type_identifier "undefined") (pointer_declarator "*puVar11" (* "*") (identifier "puVar11")) (; ";")) (declaration "int local_58;" (primitive_type "int") (identifier "local_58") (; ";")) (declaration "int local_54;" (primitive_type "int") (identifier "local_54") (; ";")) (declaration "int local_50;" (primitive_type "int") (identifier "local_50") (; ";")) (declaration "int local_4c;" (primitive_type "int") (identifier "local_4c") (; ";")) (declaration "uint local_48;" (type_identifier "uint") (identifier "local_48") (; ";")) (declaration "undefined4 local_44;" (type_identifier "undefined4") (identifier "local_44") (; ";")) (declaration "int local_40;" (primitive_type "int") (identifier "local_40") (; ";")) (declaration "uint local_3c;" (type_identifier "uint") (identifier "local_3c") (; ";")) (declaration "uint uStack_38;" (type_identifier "uint") (identifier "uStack_38") (; ";")) (declaration "int local_34;" (primitive_type "int") (identifier "local_34") (; ";")) (declaration "undefined *local_30;" (type_identifier "undefined") (pointer_declarator "*local_30" (* "*") (identifier "local_30")) (; ";")) (ERROR "vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::" (binary_expression "vector<gold" (identifier "vector") (< "<") (identifier "gold")) (: ":") (: ":") (comma_expression "Sized_relobj_incr<64,false>::Local_symbol,std" (binary_expression "Sized_relobj_incr<64" (identifier "Sized_relobj_incr") (< "<") (number_literal "64")) (, ",") (comma_expression "false>::Local_symbol,std" (binary_expression "false>::Local_symbol" (false "false") (> ">") (ERROR "::" (: ":") (: ":")) (identifier "Local_symbol")) (, ",") (identifier "std"))) (: ":") (: ":") (binary_expression "allocator<gold" (identifier "allocator") (< "<") (identifier "gold")) (: ":") (: ":")) (expression_statement "Sized_relobj_incr<64,false>::Local_symbol>>\n  *local_2c;" (comma_expression "Sized_relobj_incr<64,false>::Local_symbol>>\n  *local_2c" (binary_expression "Sized_relobj_incr<64" (identifier "Sized_relobj_incr") (< "<") (number_literal "64")) (, ",") (binary_expression "false>::Local_symbol>>\n  *local_2c" (false "false") (> ">") (ERROR "::" (: ":") (: ":")) (binary_expression "Local_symbol>>\n  *local_2c" (identifier "Local_symbol") (>> ">>") (pointer_expression "*local_2c" (* "*") (identifier "local_2c"))))) (; ";")) (if_statement "if (1 < *(byte *)(param_1 + 0x9f) - 1) {\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s__s_004c1a50 + 0xefc,0x39b,PTR_s__s_004c1a50 + 0x1a8c);\n    return;\n  }" (if "if") (parenthesized_expression "(1 < *(byte *)(param_1 + 0x9f) - 1)" (( "(") (binary_expression "1 < *(byte *)(param_1 + 0x9f) - 1" (number_literal "1") (< "<") (binary_expression "*(byte *)(param_1 + 0x9f) - 1" (pointer_expression "*(byte *)(param_1 + 0x9f)" (* "*") (cast_expression "(byte *)(param_1 + 0x9f)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x9f)" (( "(") (binary_expression "param_1 + 0x9f" (identifier "param_1") (+ "+") (number_literal "0x9f")) () ")")))) (- "-") (number_literal "1"))) () ")")) (compound_statement "{\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s__s_004c1a50 + 0xefc,0x39b,PTR_s__s_004c1a50 + 0x1a8c);\n    return;\n  }" ({ "{") (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s__s_004c1a50 + 0xefc,0x39b,PTR_s__s_004c1a50 + 0x1a8c);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s__s_004c1a50 + 0xefc,0x39b,PTR_s__s_004c1a50 + 0x1a8c)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004c1a30"))) () ")")) (argument_list "(PTR_s__s_004c1a50 + 0xefc,0x39b,PTR_s__s_004c1a50 + 0x1a8c)" (( "(") (binary_expression "PTR_s__s_004c1a50 + 0xefc" (identifier "PTR_s__s_004c1a50") (+ "+") (number_literal "0xefc")) (, ",") (number_literal "0x39b") (, ",") (binary_expression "PTR_s__s_004c1a50 + 0x1a8c" (identifier "PTR_s__s_004c1a50") (+ "+") (number_literal "0x1a8c")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "local_2c = (vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n              *)(param_1 + 0xdc);" (assignment_expression "local_2c = (vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n              *)(param_1 + 0xdc)" (identifier "local_2c") (= "=") (call_expression "(vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n              *)(param_1 + 0xdc)" (parenthesized_expression "(vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n              *)" (( "(") (ERROR "vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::" (binary_expression "vector<gold" (identifier "vector") (< "<") (identifier "gold")) (: ":") (: ":") (comma_expression "Sized_relobj_incr<64,false>::Local_symbol,std" (binary_expression "Sized_relobj_incr<64" (identifier "Sized_relobj_incr") (< "<") (number_literal "64")) (, ",") (comma_expression "false>::Local_symbol,std" (binary_expression "false>::Local_symbol" (false "false") (> ">") (ERROR "::" (: ":") (: ":")) (identifier "Local_symbol")) (, ",") (identifier "std"))) (: ":") (: ":") (binary_expression "allocator<gold" (identifier "allocator") (< "<") (identifier "gold")) (: ":") (: ":")) (comma_expression "Sized_relobj_incr<64,false>::Local_symbol>>\n              *" (binary_expression "Sized_relobj_incr<64" (identifier "Sized_relobj_incr") (< "<") (number_literal "64")) (, ",") (binary_expression "false>::Local_symbol>>\n              *" (false "false") (> ">") (ERROR "::" (: ":") (: ":")) (binary_expression "Local_symbol>>\n              *" (identifier "Local_symbol") (>> ">>") (pointer_expression "*" (* "*") (identifier ""))))) () ")")) (argument_list "(param_1 + 0xdc)" (( "(") (binary_expression "param_1 + 0xdc" (identifier "param_1") (+ "+") (number_literal "0xdc")) () ")")))) (; ";")) (expression_statement "uVar9 = *(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 0xc);" (assignment_expression "uVar9 = *(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 0xc)" (identifier "uVar9") (= "=") (pointer_expression "*(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 0xc)" (* "*") (cast_expression "(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 0xc)" (( "(") (binary_expression "**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 0xc" (binary_expression "**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4)" (pointer_expression "**(int **)(param_1 + 0x98)" (* "*") (pointer_expression "*(int **)(param_1 + 0x98)" (* "*") (cast_expression "(int **)(param_1 + 0x98)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x98)" (( "(") (binary_expression "param_1 + 0x98" (identifier "param_1") (+ "+") (number_literal "0x98")) () ")"))))) (+ "+") (pointer_expression "*(int *)(param_1 + 0xa4)" (* "*") (cast_expression "(int *)(param_1 + 0xa4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xa4)" (( "(") (binary_expression "param_1 + 0xa4" (identifier "param_1") (+ "+") (number_literal "0xa4")) () ")"))))) (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n          ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n          ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (identifier "uVar9") (= "=") (binary_expression "(((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n          ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10" (binary_expression "(uVar9 >> 0x10) << 0x18" (parenthesized_expression "(uVar9 >> 0x10)" (( "(") (binary_expression "uVar9 >> 0x10" (identifier "uVar9") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar9 >> 0x18) << 0x10" (parenthesized_expression "(uVar9 >> 0x18)" (( "(") (binary_expression "uVar9 >> 0x18" (identifier "uVar9") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff)" (( "(") (binary_expression "(uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff" (binary_expression "(uVar9 & 0xff) << 8" (parenthesized_expression "(uVar9 & 0xff)" (( "(") (binary_expression "uVar9 & 0xff" (identifier "uVar9") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar9 >> 8 & 0xff" (binary_expression "uVar9 >> 8" (identifier "uVar9") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (expression_statement "*(uint *)(param_1 + 0xa8) = uVar9;" (assignment_expression "*(uint *)(param_1 + 0xa8) = uVar9" (pointer_expression "*(uint *)(param_1 + 0xa8)" (* "*") (cast_expression "(uint *)(param_1 + 0xa8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xa8)" (( "(") (binary_expression "param_1 + 0xa8" (identifier "param_1") (+ "+") (number_literal "0xa8")) () ")")))) (= "=") (identifier "uVar9")) (; ";")) (labeled_statement "std::\n  vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n  ::reserve(local_2c,uVar9);" (statement_identifier "std") (ERROR "::\n  vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold:" (: ":") (: ":") (binary_expression "vector<gold" (identifier "vector") (< "<") (identifier "gold")) (: ":") (: ":") (comma_expression "Sized_relobj_incr<64,false>::Local_symbol,std" (binary_expression "Sized_relobj_incr<64" (identifier "Sized_relobj_incr") (< "<") (number_literal "64")) (, ",") (comma_expression "false>::Local_symbol,std" (binary_expression "false>::Local_symbol" (false "false") (> ">") (ERROR "::" (: ":") (: ":")) (identifier "Local_symbol")) (, ",") (identifier "std"))) (: ":") (: ":") (binary_expression "allocator<gold" (identifier "allocator") (< "<") (identifier "gold")) (: ":")) (: ":") (expression_statement "Sized_relobj_incr<64,false>::Local_symbol>>\n  ::reserve(local_2c,uVar9);" (comma_expression "Sized_relobj_incr<64,false>::Local_symbol>>\n  ::reserve(local_2c,uVar9)" (binary_expression "Sized_relobj_incr<64" (identifier "Sized_relobj_incr") (< "<") (number_literal "64")) (, ",") (binary_expression "false>::Local_symbol>>\n  ::reserve(local_2c,uVar9)" (false "false") (> ">") (ERROR "::" (: ":") (: ":")) (binary_expression "Local_symbol>>\n  ::reserve(local_2c,uVar9)" (identifier "Local_symbol") (>> ">>") (ERROR "::" (: ":") (: ":")) (call_expression "reserve(local_2c,uVar9)" (identifier "reserve") (argument_list "(local_2c,uVar9)" (( "(") (identifier "local_2c") (, ",") (identifier "uVar9") () ")")))))) (; ";"))) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" (identifier "local_34") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" (identifier "local_40") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" (identifier "local_3c") (= "=") (number_literal "0")) (; ";")) (labeled_statement "gold::Sized_incremental_binary<64,false>::get_symtab_view\n            (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_34,&uStack_38,\n             (Elf_strtab *)&local_40);" (statement_identifier "gold") (: ":") (ERROR ":" (: ":")) (expression_statement "Sized_incremental_binary<64,false>::get_symtab_view\n            (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_34,&uStack_38,\n             (Elf_strtab *)&local_40);" (comma_expression "Sized_incremental_binary<64,false>::get_symtab_view\n            (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_34,&uStack_38,\n             (Elf_strtab *)&local_40)" (binary_expression "Sized_incremental_binary<64" (identifier "Sized_incremental_binary") (< "<") (number_literal "64")) (, ",") (binary_expression "false>::get_symtab_view\n            (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_34,&uStack_38,\n             (Elf_strtab *)&local_40)" (false "false") (> ">") (ERROR "::" (: ":") (: ":")) (call_expression "get_symtab_view\n            (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_34,&uStack_38,\n             (Elf_strtab *)&local_40)" (identifier "get_symtab_view") (argument_list "(*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_34,&uStack_38,\n             (Elf_strtab *)&local_40)" (( "(") (pointer_expression "*(Sized_incremental_binary<64,false> **)(param_1 + 0x90)" (* "*") (call_expression "(Sized_incremental_binary<64,false> **)(param_1 + 0x90)" (parenthesized_expression "(Sized_incremental_binary<64,false> **)" (( "(") (comma_expression "Sized_incremental_binary<64,false> **" (binary_expression "Sized_incremental_binary<64" (identifier "Sized_incremental_binary") (< "<") (number_literal "64")) (, ",") (binary_expression "false> **" (false "false") (> ">") (pointer_expression "**" (* "*") (pointer_expression "*" (* "*") (identifier ""))))) () ")")) (argument_list "(param_1 + 0x90)" (( "(") (binary_expression "param_1 + 0x90" (identifier "param_1") (+ "+") (number_literal "0x90")) () ")")))) (, ",") (cast_expression "(View *)&local_34" (( "(") (type_descriptor "View *" (type_identifier "View") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&local_34" (& "&") (identifier "local_34"))) (, ",") (pointer_expression "&uStack_38" (& "&") (identifier "uStack_38")) (, ",") (cast_expression "(Elf_strtab *)&local_40" (( "(") (type_descriptor "Elf_strtab *" (type_identifier "Elf_strtab") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&local_40" (& "&") (identifier "local_40"))) () ")"))))) (; ";"))) (expression_statement "puVar1 = PTR_parameters_004c19b4;" (assignment_expression "puVar1 = PTR_parameters_004c19b4" (identifier "puVar1") (= "=") (identifier "PTR_parameters_004c19b4")) (; ";")) (if_statement "if (*(byte *)(param_1 + 0x9f) - 1 < 2) {\n    uVar7 = *(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 8);\n    puVar8 = (uint *)(local_34 +\n                     (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000);\n    if (uVar9 != 0) {\n      uVar7 = 0;\n      local_30 = PTR_s__s_004c1a50 + 0x1478;\n      puVar10 = PTR_s_in_a_linker_script_004c191c + 0x6db8;\n      do {\n        while( true ) {\n          uVar2 = *puVar8;\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          puVar11 = puVar10;\n          if (uVar2 < local_3c) {\n            puVar11 = (undefined *)(local_40 + uVar2);\n          }\n          puVar3 = *(undefined4 **)puVar1;\n          if ((puVar3[2] != 0) && ((puVar3[5] & 0x10) != 0)) {\n            (*(code *)PTR_debug_004c2018)(*puVar3,local_30,uVar7,puVar11);\n          }\n          local_50 = (*(code *)PTR_add_004c1ca4)(param_2,puVar11,1,0);\n          uVar5 = puVar8[2];\n          uVar6 = puVar8[3];\n          uVar2 = puVar8[4];\n          piVar4 = *(int **)(param_1 + 0xe0);\n          local_54 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          local_58 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n          local_44 = 0;\n          local_4c = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          local_48 = ((*(ushort *)((int)puVar8 + 6) & 0xff) << 8 |\n                     (uint)(*(ushort *)((int)puVar8 + 6) >> 8)) << 4 | *(byte *)(puVar8 + 1) & 0xf;\n          if (piVar4 != *(int **)(param_1 + 0xe4)) break;\n          uVar7 = uVar7 + 1;\n          puVar8 = puVar8 + 6;\n          std::\n          vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n          ::_M_realloc_insert<gold::Sized_relobj_incr<64,false>::Local_symbol>\n                    (local_2c,piVar4,&local_58);\n          if (uVar7 == uVar9) {\n            return;\n          }\n        }\n        *piVar4 = local_58;\n        uVar7 = uVar7 + 1;\n        piVar4[1] = local_54;\n        piVar4[2] = local_50;\n        puVar8 = puVar8 + 6;\n        piVar4[3] = local_4c;\n        piVar4[4] = local_48;\n        piVar4[5] = 0;\n        *(int **)(param_1 + 0xe0) = piVar4 + 6;\n      } while (uVar7 != uVar9);\n    }\n    return;\n  }" (if "if") (parenthesized_expression "(*(byte *)(param_1 + 0x9f) - 1 < 2)" (( "(") (binary_expression "*(byte *)(param_1 + 0x9f) - 1 < 2" (binary_expression "*(byte *)(param_1 + 0x9f) - 1" (pointer_expression "*(byte *)(param_1 + 0x9f)" (* "*") (cast_expression "(byte *)(param_1 + 0x9f)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x9f)" (( "(") (binary_expression "param_1 + 0x9f" (identifier "param_1") (+ "+") (number_literal "0x9f")) () ")")))) (- "-") (number_literal "1")) (< "<") (number_literal "2")) () ")")) (compound_statement "{\n    uVar7 = *(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 8);\n    puVar8 = (uint *)(local_34 +\n                     (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000);\n    if (uVar9 != 0) {\n      uVar7 = 0;\n      local_30 = PTR_s__s_004c1a50 + 0x1478;\n      puVar10 = PTR_s_in_a_linker_script_004c191c + 0x6db8;\n      do {\n        while( true ) {\n          uVar2 = *puVar8;\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          puVar11 = puVar10;\n          if (uVar2 < local_3c) {\n            puVar11 = (undefined *)(local_40 + uVar2);\n          }\n          puVar3 = *(undefined4 **)puVar1;\n          if ((puVar3[2] != 0) && ((puVar3[5] & 0x10) != 0)) {\n            (*(code *)PTR_debug_004c2018)(*puVar3,local_30,uVar7,puVar11);\n          }\n          local_50 = (*(code *)PTR_add_004c1ca4)(param_2,puVar11,1,0);\n          uVar5 = puVar8[2];\n          uVar6 = puVar8[3];\n          uVar2 = puVar8[4];\n          piVar4 = *(int **)(param_1 + 0xe0);\n          local_54 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          local_58 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n          local_44 = 0;\n          local_4c = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          local_48 = ((*(ushort *)((int)puVar8 + 6) & 0xff) << 8 |\n                     (uint)(*(ushort *)((int)puVar8 + 6) >> 8)) << 4 | *(byte *)(puVar8 + 1) & 0xf;\n          if (piVar4 != *(int **)(param_1 + 0xe4)) break;\n          uVar7 = uVar7 + 1;\n          puVar8 = puVar8 + 6;\n          std::\n          vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n          ::_M_realloc_insert<gold::Sized_relobj_incr<64,false>::Local_symbol>\n                    (local_2c,piVar4,&local_58);\n          if (uVar7 == uVar9) {\n            return;\n          }\n        }\n        *piVar4 = local_58;\n        uVar7 = uVar7 + 1;\n        piVar4[1] = local_54;\n        piVar4[2] = local_50;\n        puVar8 = puVar8 + 6;\n        piVar4[3] = local_4c;\n        piVar4[4] = local_48;\n        piVar4[5] = 0;\n        *(int **)(param_1 + 0xe0) = piVar4 + 6;\n      } while (uVar7 != uVar9);\n    }\n    return;\n  }" ({ "{") (expression_statement "uVar7 = *(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 8);" (assignment_expression "uVar7 = *(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 8)" (identifier "uVar7") (= "=") (pointer_expression "*(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 8)" (* "*") (cast_expression "(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 8)" (( "(") (binary_expression "**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 8" (binary_expression "**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4)" (pointer_expression "**(int **)(param_1 + 0x98)" (* "*") (pointer_expression "*(int **)(param_1 + 0x98)" (* "*") (cast_expression "(int **)(param_1 + 0x98)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x98)" (( "(") (binary_expression "param_1 + 0x98" (identifier "param_1") (+ "+") (number_literal "0x98")) () ")"))))) (+ "+") (pointer_expression "*(int *)(param_1 + 0xa4)" (* "*") (cast_expression "(int *)(param_1 + 0xa4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xa4)" (( "(") (binary_expression "param_1 + 0xa4" (identifier "param_1") (+ "+") (number_literal "0xa4")) () ")"))))) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "puVar8 = (uint *)(local_34 +\n                     (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000);" (assignment_expression "puVar8 = (uint *)(local_34 +\n                     (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000)" (identifier "puVar8") (= "=") (cast_expression "(uint *)(local_34 +\n                     (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_34 +\n                     (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000)" (( "(") (binary_expression "local_34 +\n                     (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (binary_expression "local_34 +\n                     (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" (identifier "local_34") (+ "+") (parenthesized_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10" (binary_expression "(uVar7 >> 0x10) << 0x18" (parenthesized_expression "(uVar7 >> 0x10)" (( "(") (binary_expression "uVar7 >> 0x10" (identifier "uVar7") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar7 >> 0x18) << 0x10" (parenthesized_expression "(uVar7 >> 0x18)" (( "(") (binary_expression "uVar7 >> 0x18" (identifier "uVar7") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")"))) (+ "+") (binary_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff)" (( "(") (binary_expression "(uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff" (binary_expression "(uVar7 & 0xff) << 8" (parenthesized_expression "(uVar7 & 0xff)" (( "(") (binary_expression "uVar7 & 0xff" (identifier "uVar7") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" (identifier "uVar7") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000"))) () ")")))) (; ";")) (if_statement "if (uVar9 != 0) {\n      uVar7 = 0;\n      local_30 = PTR_s__s_004c1a50 + 0x1478;\n      puVar10 = PTR_s_in_a_linker_script_004c191c + 0x6db8;\n      do {\n        while( true ) {\n          uVar2 = *puVar8;\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          puVar11 = puVar10;\n          if (uVar2 < local_3c) {\n            puVar11 = (undefined *)(local_40 + uVar2);\n          }\n          puVar3 = *(undefined4 **)puVar1;\n          if ((puVar3[2] != 0) && ((puVar3[5] & 0x10) != 0)) {\n            (*(code *)PTR_debug_004c2018)(*puVar3,local_30,uVar7,puVar11);\n          }\n          local_50 = (*(code *)PTR_add_004c1ca4)(param_2,puVar11,1,0);\n          uVar5 = puVar8[2];\n          uVar6 = puVar8[3];\n          uVar2 = puVar8[4];\n          piVar4 = *(int **)(param_1 + 0xe0);\n          local_54 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          local_58 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n          local_44 = 0;\n          local_4c = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          local_48 = ((*(ushort *)((int)puVar8 + 6) & 0xff) << 8 |\n                     (uint)(*(ushort *)((int)puVar8 + 6) >> 8)) << 4 | *(byte *)(puVar8 + 1) & 0xf;\n          if (piVar4 != *(int **)(param_1 + 0xe4)) break;\n          uVar7 = uVar7 + 1;\n          puVar8 = puVar8 + 6;\n          std::\n          vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n          ::_M_realloc_insert<gold::Sized_relobj_incr<64,false>::Local_symbol>\n                    (local_2c,piVar4,&local_58);\n          if (uVar7 == uVar9) {\n            return;\n          }\n        }\n        *piVar4 = local_58;\n        uVar7 = uVar7 + 1;\n        piVar4[1] = local_54;\n        piVar4[2] = local_50;\n        puVar8 = puVar8 + 6;\n        piVar4[3] = local_4c;\n        piVar4[4] = local_48;\n        piVar4[5] = 0;\n        *(int **)(param_1 + 0xe0) = piVar4 + 6;\n      } while (uVar7 != uVar9);\n    }" (if "if") (parenthesized_expression "(uVar9 != 0)" (( "(") (binary_expression "uVar9 != 0" (identifier "uVar9") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      uVar7 = 0;\n      local_30 = PTR_s__s_004c1a50 + 0x1478;\n      puVar10 = PTR_s_in_a_linker_script_004c191c + 0x6db8;\n      do {\n        while( true ) {\n          uVar2 = *puVar8;\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          puVar11 = puVar10;\n          if (uVar2 < local_3c) {\n            puVar11 = (undefined *)(local_40 + uVar2);\n          }\n          puVar3 = *(undefined4 **)puVar1;\n          if ((puVar3[2] != 0) && ((puVar3[5] & 0x10) != 0)) {\n            (*(code *)PTR_debug_004c2018)(*puVar3,local_30,uVar7,puVar11);\n          }\n          local_50 = (*(code *)PTR_add_004c1ca4)(param_2,puVar11,1,0);\n          uVar5 = puVar8[2];\n          uVar6 = puVar8[3];\n          uVar2 = puVar8[4];\n          piVar4 = *(int **)(param_1 + 0xe0);\n          local_54 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          local_58 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n          local_44 = 0;\n          local_4c = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          local_48 = ((*(ushort *)((int)puVar8 + 6) & 0xff) << 8 |\n                     (uint)(*(ushort *)((int)puVar8 + 6) >> 8)) << 4 | *(byte *)(puVar8 + 1) & 0xf;\n          if (piVar4 != *(int **)(param_1 + 0xe4)) break;\n          uVar7 = uVar7 + 1;\n          puVar8 = puVar8 + 6;\n          std::\n          vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n          ::_M_realloc_insert<gold::Sized_relobj_incr<64,false>::Local_symbol>\n                    (local_2c,piVar4,&local_58);\n          if (uVar7 == uVar9) {\n            return;\n          }\n        }\n        *piVar4 = local_58;\n        uVar7 = uVar7 + 1;\n        piVar4[1] = local_54;\n        piVar4[2] = local_50;\n        puVar8 = puVar8 + 6;\n        piVar4[3] = local_4c;\n        piVar4[4] = local_48;\n        piVar4[5] = 0;\n        *(int **)(param_1 + 0xe0) = piVar4 + 6;\n      } while (uVar7 != uVar9);\n    }" ({ "{") (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" (identifier "uVar7") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_30 = PTR_s__s_004c1a50 + 0x1478;" (assignment_expression "local_30 = PTR_s__s_004c1a50 + 0x1478" (identifier "local_30") (= "=") (binary_expression "PTR_s__s_004c1a50 + 0x1478" (identifier "PTR_s__s_004c1a50") (+ "+") (number_literal "0x1478"))) (; ";")) (expression_statement "puVar10 = PTR_s_in_a_linker_script_004c191c + 0x6db8;" (assignment_expression "puVar10 = PTR_s_in_a_linker_script_004c191c + 0x6db8" (identifier "puVar10") (= "=") (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x6db8" (identifier "PTR_s_in_a_linker_script_004c191c") (+ "+") (number_literal "0x6db8"))) (; ";")) (do_statement "do {\n        while( true ) {\n          uVar2 = *puVar8;\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          puVar11 = puVar10;\n          if (uVar2 < local_3c) {\n            puVar11 = (undefined *)(local_40 + uVar2);\n          }\n          puVar3 = *(undefined4 **)puVar1;\n          if ((puVar3[2] != 0) && ((puVar3[5] & 0x10) != 0)) {\n            (*(code *)PTR_debug_004c2018)(*puVar3,local_30,uVar7,puVar11);\n          }\n          local_50 = (*(code *)PTR_add_004c1ca4)(param_2,puVar11,1,0);\n          uVar5 = puVar8[2];\n          uVar6 = puVar8[3];\n          uVar2 = puVar8[4];\n          piVar4 = *(int **)(param_1 + 0xe0);\n          local_54 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          local_58 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n          local_44 = 0;\n          local_4c = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          local_48 = ((*(ushort *)((int)puVar8 + 6) & 0xff) << 8 |\n                     (uint)(*(ushort *)((int)puVar8 + 6) >> 8)) << 4 | *(byte *)(puVar8 + 1) & 0xf;\n          if (piVar4 != *(int **)(param_1 + 0xe4)) break;\n          uVar7 = uVar7 + 1;\n          puVar8 = puVar8 + 6;\n          std::\n          vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n          ::_M_realloc_insert<gold::Sized_relobj_incr<64,false>::Local_symbol>\n                    (local_2c,piVar4,&local_58);\n          if (uVar7 == uVar9) {\n            return;\n          }\n        }\n        *piVar4 = local_58;\n        uVar7 = uVar7 + 1;\n        piVar4[1] = local_54;\n        piVar4[2] = local_50;\n        puVar8 = puVar8 + 6;\n        piVar4[3] = local_4c;\n        piVar4[4] = local_48;\n        piVar4[5] = 0;\n        *(int **)(param_1 + 0xe0) = piVar4 + 6;\n      } while (uVar7 != uVar9);" (do "do") (compound_statement "{\n        while( true ) {\n          uVar2 = *puVar8;\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          puVar11 = puVar10;\n          if (uVar2 < local_3c) {\n            puVar11 = (undefined *)(local_40 + uVar2);\n          }\n          puVar3 = *(undefined4 **)puVar1;\n          if ((puVar3[2] != 0) && ((puVar3[5] & 0x10) != 0)) {\n            (*(code *)PTR_debug_004c2018)(*puVar3,local_30,uVar7,puVar11);\n          }\n          local_50 = (*(code *)PTR_add_004c1ca4)(param_2,puVar11,1,0);\n          uVar5 = puVar8[2];\n          uVar6 = puVar8[3];\n          uVar2 = puVar8[4];\n          piVar4 = *(int **)(param_1 + 0xe0);\n          local_54 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          local_58 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n          local_44 = 0;\n          local_4c = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          local_48 = ((*(ushort *)((int)puVar8 + 6) & 0xff) << 8 |\n                     (uint)(*(ushort *)((int)puVar8 + 6) >> 8)) << 4 | *(byte *)(puVar8 + 1) & 0xf;\n          if (piVar4 != *(int **)(param_1 + 0xe4)) break;\n          uVar7 = uVar7 + 1;\n          puVar8 = puVar8 + 6;\n          std::\n          vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n          ::_M_realloc_insert<gold::Sized_relobj_incr<64,false>::Local_symbol>\n                    (local_2c,piVar4,&local_58);\n          if (uVar7 == uVar9) {\n            return;\n          }\n        }\n        *piVar4 = local_58;\n        uVar7 = uVar7 + 1;\n        piVar4[1] = local_54;\n        piVar4[2] = local_50;\n        puVar8 = puVar8 + 6;\n        piVar4[3] = local_4c;\n        piVar4[4] = local_48;\n        piVar4[5] = 0;\n        *(int **)(param_1 + 0xe0) = piVar4 + 6;\n      }" ({ "{") (while_statement "while( true ) {\n          uVar2 = *puVar8;\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          puVar11 = puVar10;\n          if (uVar2 < local_3c) {\n            puVar11 = (undefined *)(local_40 + uVar2);\n          }\n          puVar3 = *(undefined4 **)puVar1;\n          if ((puVar3[2] != 0) && ((puVar3[5] & 0x10) != 0)) {\n            (*(code *)PTR_debug_004c2018)(*puVar3,local_30,uVar7,puVar11);\n          }\n          local_50 = (*(code *)PTR_add_004c1ca4)(param_2,puVar11,1,0);\n          uVar5 = puVar8[2];\n          uVar6 = puVar8[3];\n          uVar2 = puVar8[4];\n          piVar4 = *(int **)(param_1 + 0xe0);\n          local_54 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          local_58 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n          local_44 = 0;\n          local_4c = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          local_48 = ((*(ushort *)((int)puVar8 + 6) & 0xff) << 8 |\n                     (uint)(*(ushort *)((int)puVar8 + 6) >> 8)) << 4 | *(byte *)(puVar8 + 1) & 0xf;\n          if (piVar4 != *(int **)(param_1 + 0xe4)) break;\n          uVar7 = uVar7 + 1;\n          puVar8 = puVar8 + 6;\n          std::\n          vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n          ::_M_realloc_insert<gold::Sized_relobj_incr<64,false>::Local_symbol>\n                    (local_2c,piVar4,&local_58);\n          if (uVar7 == uVar9) {\n            return;\n          }\n        }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n          uVar2 = *puVar8;\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          puVar11 = puVar10;\n          if (uVar2 < local_3c) {\n            puVar11 = (undefined *)(local_40 + uVar2);\n          }\n          puVar3 = *(undefined4 **)puVar1;\n          if ((puVar3[2] != 0) && ((puVar3[5] & 0x10) != 0)) {\n            (*(code *)PTR_debug_004c2018)(*puVar3,local_30,uVar7,puVar11);\n          }\n          local_50 = (*(code *)PTR_add_004c1ca4)(param_2,puVar11,1,0);\n          uVar5 = puVar8[2];\n          uVar6 = puVar8[3];\n          uVar2 = puVar8[4];\n          piVar4 = *(int **)(param_1 + 0xe0);\n          local_54 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          local_58 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n          local_44 = 0;\n          local_4c = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          local_48 = ((*(ushort *)((int)puVar8 + 6) & 0xff) << 8 |\n                     (uint)(*(ushort *)((int)puVar8 + 6) >> 8)) << 4 | *(byte *)(puVar8 + 1) & 0xf;\n          if (piVar4 != *(int **)(param_1 + 0xe4)) break;\n          uVar7 = uVar7 + 1;\n          puVar8 = puVar8 + 6;\n          std::\n          vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n          ::_M_realloc_insert<gold::Sized_relobj_incr<64,false>::Local_symbol>\n                    (local_2c,piVar4,&local_58);\n          if (uVar7 == uVar9) {\n            return;\n          }\n        }" ({ "{") (expression_statement "uVar2 = *puVar8;" (assignment_expression "uVar2 = *puVar8" (identifier "uVar2") (= "=") (pointer_expression "*puVar8" (* "*") (identifier "puVar8"))) (; ";")) (expression_statement "uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000" (identifier "uVar2") (= "=") (binary_expression "(((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10" (binary_expression "(uVar2 >> 0x10) << 0x18" (parenthesized_expression "(uVar2 >> 0x10)" (( "(") (binary_expression "uVar2 >> 0x10" (identifier "uVar2") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar2 >> 0x18) << 0x10" (parenthesized_expression "(uVar2 >> 0x18)" (( "(") (binary_expression "uVar2 >> 0x18" (identifier "uVar2") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff)" (( "(") (binary_expression "(uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff" (binary_expression "(uVar2 & 0xff) << 8" (parenthesized_expression "(uVar2 & 0xff)" (( "(") (binary_expression "uVar2 & 0xff" (identifier "uVar2") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar2 >> 8 & 0xff" (binary_expression "uVar2 >> 8" (identifier "uVar2") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (expression_statement "puVar11 = puVar10;" (assignment_expression "puVar11 = puVar10" (identifier "puVar11") (= "=") (identifier "puVar10")) (; ";")) (if_statement "if (uVar2 < local_3c) {\n            puVar11 = (undefined *)(local_40 + uVar2);\n          }" (if "if") (parenthesized_expression "(uVar2 < local_3c)" (( "(") (binary_expression "uVar2 < local_3c" (identifier "uVar2") (< "<") (identifier "local_3c")) () ")")) (compound_statement "{\n            puVar11 = (undefined *)(local_40 + uVar2);\n          }" ({ "{") (expression_statement "puVar11 = (undefined *)(local_40 + uVar2);" (assignment_expression "puVar11 = (undefined *)(local_40 + uVar2)" (identifier "puVar11") (= "=") (cast_expression "(undefined *)(local_40 + uVar2)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_40 + uVar2)" (( "(") (binary_expression "local_40 + uVar2" (identifier "local_40") (+ "+") (identifier "uVar2")) () ")")))) (; ";")) (} "}"))) (expression_statement "puVar3 = *(undefined4 **)puVar1;" (assignment_expression "puVar3 = *(undefined4 **)puVar1" (identifier "puVar3") (= "=") (pointer_expression "*(undefined4 **)puVar1" (* "*") (cast_expression "(undefined4 **)puVar1" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar1")))) (; ";")) (if_statement "if ((puVar3[2] != 0) && ((puVar3[5] & 0x10) != 0)) {\n            (*(code *)PTR_debug_004c2018)(*puVar3,local_30,uVar7,puVar11);\n          }" (if "if") (parenthesized_expression "((puVar3[2] != 0) && ((puVar3[5] & 0x10) != 0))" (( "(") (binary_expression "(puVar3[2] != 0) && ((puVar3[5] & 0x10) != 0)" (parenthesized_expression "(puVar3[2] != 0)" (( "(") (binary_expression "puVar3[2] != 0" (subscript_expression "puVar3[2]" (identifier "puVar3") ([ "[") (number_literal "2") (] "]")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((puVar3[5] & 0x10) != 0)" (( "(") (binary_expression "(puVar3[5] & 0x10) != 0" (parenthesized_expression "(puVar3[5] & 0x10)" (( "(") (binary_expression "puVar3[5] & 0x10" (subscript_expression "puVar3[5]" (identifier "puVar3") ([ "[") (number_literal "5") (] "]")) (& "&") (number_literal "0x10")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n            (*(code *)PTR_debug_004c2018)(*puVar3,local_30,uVar7,puVar11);\n          }" ({ "{") (expression_statement "(*(code *)PTR_debug_004c2018)(*puVar3,local_30,uVar7,puVar11);" (call_expression "(*(code *)PTR_debug_004c2018)(*puVar3,local_30,uVar7,puVar11)" (parenthesized_expression "(*(code *)PTR_debug_004c2018)" (( "(") (pointer_expression "*(code *)PTR_debug_004c2018" (* "*") (cast_expression "(code *)PTR_debug_004c2018" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_debug_004c2018"))) () ")")) (argument_list "(*puVar3,local_30,uVar7,puVar11)" (( "(") (pointer_expression "*puVar3" (* "*") (identifier "puVar3")) (, ",") (identifier "local_30") (, ",") (identifier "uVar7") (, ",") (identifier "puVar11") () ")"))) (; ";")) (} "}"))) (expression_statement "local_50 = (*(code *)PTR_add_004c1ca4)(param_2,puVar11,1,0);" (assignment_expression "local_50 = (*(code *)PTR_add_004c1ca4)(param_2,puVar11,1,0)" (identifier "local_50") (= "=") (call_expression "(*(code *)PTR_add_004c1ca4)(param_2,puVar11,1,0)" (parenthesized_expression "(*(code *)PTR_add_004c1ca4)" (( "(") (pointer_expression "*(code *)PTR_add_004c1ca4" (* "*") (cast_expression "(code *)PTR_add_004c1ca4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_add_004c1ca4"))) () ")")) (argument_list "(param_2,puVar11,1,0)" (( "(") (identifier "param_2") (, ",") (identifier "puVar11") (, ",") (number_literal "1") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "uVar5 = puVar8[2];" (assignment_expression "uVar5 = puVar8[2]" (identifier "uVar5") (= "=") (subscript_expression "puVar8[2]" (identifier "puVar8") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uVar6 = puVar8[3];" (assignment_expression "uVar6 = puVar8[3]" (identifier "uVar6") (= "=") (subscript_expression "puVar8[3]" (identifier "puVar8") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "uVar2 = puVar8[4];" (assignment_expression "uVar2 = puVar8[4]" (identifier "uVar2") (= "=") (subscript_expression "puVar8[4]" (identifier "puVar8") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "piVar4 = *(int **)(param_1 + 0xe0);" (assignment_expression "piVar4 = *(int **)(param_1 + 0xe0)" (identifier "piVar4") (= "=") (pointer_expression "*(int **)(param_1 + 0xe0)" (* "*") (cast_expression "(int **)(param_1 + 0xe0)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0xe0)" (( "(") (binary_expression "param_1 + 0xe0" (identifier "param_1") (+ "+") (number_literal "0xe0")) () ")"))))) (; ";")) (expression_statement "local_54 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;" (assignment_expression "local_54 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" (identifier "local_54") (= "=") (binary_expression "(((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10" (binary_expression "(uVar5 >> 0x10) << 0x18" (parenthesized_expression "(uVar5 >> 0x10)" (( "(") (binary_expression "uVar5 >> 0x10" (identifier "uVar5") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar5 >> 0x18) << 0x10" (parenthesized_expression "(uVar5 >> 0x18)" (( "(") (binary_expression "uVar5 >> 0x18" (identifier "uVar5") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff)" (( "(") (binary_expression "(uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff" (binary_expression "(uVar5 & 0xff) << 8" (parenthesized_expression "(uVar5 & 0xff)" (( "(") (binary_expression "uVar5 & 0xff" (identifier "uVar5") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar5 >> 8 & 0xff" (binary_expression "uVar5 >> 8" (identifier "uVar5") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (expression_statement "local_58 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;" (assignment_expression "local_58 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000" (identifier "local_58") (= "=") (binary_expression "(((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10" (binary_expression "(uVar6 >> 0x10) << 0x18" (parenthesized_expression "(uVar6 >> 0x10)" (( "(") (binary_expression "uVar6 >> 0x10" (identifier "uVar6") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar6 >> 0x18) << 0x10" (parenthesized_expression "(uVar6 >> 0x18)" (( "(") (binary_expression "uVar6 >> 0x18" (identifier "uVar6") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff)" (( "(") (binary_expression "(uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff" (binary_expression "(uVar6 & 0xff) << 8" (parenthesized_expression "(uVar6 & 0xff)" (( "(") (binary_expression "uVar6 & 0xff" (identifier "uVar6") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar6 >> 8 & 0xff" (binary_expression "uVar6 >> 8" (identifier "uVar6") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" (identifier "local_44") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_4c = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;" (assignment_expression "local_4c = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000" (identifier "local_4c") (= "=") (binary_expression "(((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10" (binary_expression "(uVar2 >> 0x10) << 0x18" (parenthesized_expression "(uVar2 >> 0x10)" (( "(") (binary_expression "uVar2 >> 0x10" (identifier "uVar2") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar2 >> 0x18) << 0x10" (parenthesized_expression "(uVar2 >> 0x18)" (( "(") (binary_expression "uVar2 >> 0x18" (identifier "uVar2") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff)" (( "(") (binary_expression "(uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff" (binary_expression "(uVar2 & 0xff) << 8" (parenthesized_expression "(uVar2 & 0xff)" (( "(") (binary_expression "uVar2 & 0xff" (identifier "uVar2") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar2 >> 8 & 0xff" (binary_expression "uVar2 >> 8" (identifier "uVar2") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (expression_statement "local_48 = ((*(ushort *)((int)puVar8 + 6) & 0xff) << 8 |\n                     (uint)(*(ushort *)((int)puVar8 + 6) >> 8)) << 4 | *(byte *)(puVar8 + 1) & 0xf;" (assignment_expression "local_48 = ((*(ushort *)((int)puVar8 + 6) & 0xff) << 8 |\n                     (uint)(*(ushort *)((int)puVar8 + 6) >> 8)) << 4 | *(byte *)(puVar8 + 1) & 0xf" (identifier "local_48") (= "=") (binary_expression "((*(ushort *)((int)puVar8 + 6) & 0xff) << 8 |\n                     (uint)(*(ushort *)((int)puVar8 + 6) >> 8)) << 4 | *(byte *)(puVar8 + 1) & 0xf" (binary_expression "((*(ushort *)((int)puVar8 + 6) & 0xff) << 8 |\n                     (uint)(*(ushort *)((int)puVar8 + 6) >> 8)) << 4" (parenthesized_expression "((*(ushort *)((int)puVar8 + 6) & 0xff) << 8 |\n                     (uint)(*(ushort *)((int)puVar8 + 6) >> 8))" (( "(") (binary_expression "(*(ushort *)((int)puVar8 + 6) & 0xff) << 8 |\n                     (uint)(*(ushort *)((int)puVar8 + 6) >> 8)" (binary_expression "(*(ushort *)((int)puVar8 + 6) & 0xff) << 8" (parenthesized_expression "(*(ushort *)((int)puVar8 + 6) & 0xff)" (( "(") (binary_expression "*(ushort *)((int)puVar8 + 6) & 0xff" (pointer_expression "*(ushort *)((int)puVar8 + 6)" (* "*") (cast_expression "(ushort *)((int)puVar8 + 6)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar8 + 6)" (( "(") (binary_expression "(int)puVar8 + 6" (cast_expression "(int)puVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar8")) (+ "+") (number_literal "6")) () ")")))) (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (call_expression "(uint)(*(ushort *)((int)puVar8 + 6) >> 8)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(ushort *)((int)puVar8 + 6) >> 8)" (( "(") (binary_expression "*(ushort *)((int)puVar8 + 6) >> 8" (pointer_expression "*(ushort *)((int)puVar8 + 6)" (* "*") (cast_expression "(ushort *)((int)puVar8 + 6)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar8 + 6)" (( "(") (binary_expression "(int)puVar8 + 6" (cast_expression "(int)puVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar8")) (+ "+") (number_literal "6")) () ")")))) (>> ">>") (number_literal "8")) () ")")))) () ")")) (<< "<<") (number_literal "4")) (| "|") (binary_expression "*(byte *)(puVar8 + 1) & 0xf" (pointer_expression "*(byte *)(puVar8 + 1)" (* "*") (cast_expression "(byte *)(puVar8 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + 1)" (( "(") (binary_expression "puVar8 + 1" (identifier "puVar8") (+ "+") (number_literal "1")) () ")")))) (& "&") (number_literal "0xf")))) (; ";")) (if_statement "if (piVar4 != *(int **)(param_1 + 0xe4)) break;" (if "if") (parenthesized_expression "(piVar4 != *(int **)(param_1 + 0xe4))" (( "(") (binary_expression "piVar4 != *(int **)(param_1 + 0xe4)" (identifier "piVar4") (!= "!=") (pointer_expression "*(int **)(param_1 + 0xe4)" (* "*") (cast_expression "(int **)(param_1 + 0xe4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0xe4)" (( "(") (binary_expression "param_1 + 0xe4" (identifier "param_1") (+ "+") (number_literal "0xe4")) () ")"))))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uVar7 = uVar7 + 1;" (assignment_expression "uVar7 = uVar7 + 1" (identifier "uVar7") (= "=") (binary_expression "uVar7 + 1" (identifier "uVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar8 = puVar8 + 6;" (assignment_expression "puVar8 = puVar8 + 6" (identifier "puVar8") (= "=") (binary_expression "puVar8 + 6" (identifier "puVar8") (+ "+") (number_literal "6"))) (; ";")) (labeled_statement "std::\n          vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n          ::_M_realloc_insert<gold::Sized_relobj_incr<64,false>::Local_symbol>\n                    (local_2c,piVar4,&local_58);" (statement_identifier "std") (ERROR "::\n          vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>\n          ::_M_realloc_insert<gold:" (: ":") (: ":") (binary_expression "vector<gold" (identifier "vector") (< "<") (identifier "gold")) (: ":") (: ":") (comma_expression "Sized_relobj_incr<64,false>::Local_symbol,std" (binary_expression "Sized_relobj_incr<64" (identifier "Sized_relobj_incr") (< "<") (number_literal "64")) (, ",") (comma_expression "false>::Local_symbol,std" (binary_expression "false>::Local_symbol" (false "false") (> ">") (ERROR "::" (: ":") (: ":")) (identifier "Local_symbol")) (, ",") (identifier "std"))) (: ":") (: ":") (binary_expression "allocator<gold" (identifier "allocator") (< "<") (identifier "gold")) (: ":") (: ":") (comma_expression "Sized_relobj_incr<64,false>::Local_symbol>>\n          ::_M_realloc_insert<gold" (binary_expression "Sized_relobj_incr<64" (identifier "Sized_relobj_incr") (< "<") (number_literal "64")) (, ",") (binary_expression "false>::Local_symbol>>\n          ::_M_realloc_insert<gold" (binary_expression "false>::Local_symbol>>\n          ::_M_realloc_insert" (false "false") (> ">") (ERROR "::" (: ":") (: ":")) (binary_expression "Local_symbol>>\n          ::_M_realloc_insert" (identifier "Local_symbol") (>> ">>") (ERROR "::" (: ":") (: ":")) (identifier "_M_realloc_insert"))) (< "<") (identifier "gold"))) (: ":")) (: ":") (expression_statement "Sized_relobj_incr<64,false>::Local_symbol>\n                    (local_2c,piVar4,&local_58);" (comma_expression "Sized_relobj_incr<64,false>::Local_symbol>\n                    (local_2c,piVar4,&local_58)" (binary_expression "Sized_relobj_incr<64" (identifier "Sized_relobj_incr") (< "<") (number_literal "64")) (, ",") (binary_expression "false>::Local_symbol>\n                    (local_2c,piVar4,&local_58)" (binary_expression "false>::Local_symbol" (false "false") (> ">") (ERROR "::" (: ":") (: ":")) (identifier "Local_symbol")) (> ">") (parenthesized_expression "(local_2c,piVar4,&local_58)" (( "(") (comma_expression "local_2c,piVar4,&local_58" (identifier "local_2c") (, ",") (comma_expression "piVar4,&local_58" (identifier "piVar4") (, ",") (pointer_expression "&local_58" (& "&") (identifier "local_58")))) () ")")))) (; ";"))) (if_statement "if (uVar7 == uVar9) {\n            return;\n          }" (if "if") (parenthesized_expression "(uVar7 == uVar9)" (( "(") (binary_expression "uVar7 == uVar9" (identifier "uVar7") (== "==") (identifier "uVar9")) () ")")) (compound_statement "{\n            return;\n          }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}"))) (expression_statement "*piVar4 = local_58;" (assignment_expression "*piVar4 = local_58" (pointer_expression "*piVar4" (* "*") (identifier "piVar4")) (= "=") (identifier "local_58")) (; ";")) (expression_statement "uVar7 = uVar7 + 1;" (assignment_expression "uVar7 = uVar7 + 1" (identifier "uVar7") (= "=") (binary_expression "uVar7 + 1" (identifier "uVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar4[1] = local_54;" (assignment_expression "piVar4[1] = local_54" (subscript_expression "piVar4[1]" (identifier "piVar4") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "local_54")) (; ";")) (expression_statement "piVar4[2] = local_50;" (assignment_expression "piVar4[2] = local_50" (subscript_expression "piVar4[2]" (identifier "piVar4") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "local_50")) (; ";")) (expression_statement "puVar8 = puVar8 + 6;" (assignment_expression "puVar8 = puVar8 + 6" (identifier "puVar8") (= "=") (binary_expression "puVar8 + 6" (identifier "puVar8") (+ "+") (number_literal "6"))) (; ";")) (expression_statement "piVar4[3] = local_4c;" (assignment_expression "piVar4[3] = local_4c" (subscript_expression "piVar4[3]" (identifier "piVar4") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "local_4c")) (; ";")) (expression_statement "piVar4[4] = local_48;" (assignment_expression "piVar4[4] = local_48" (subscript_expression "piVar4[4]" (identifier "piVar4") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "local_48")) (; ";")) (expression_statement "piVar4[5] = 0;" (assignment_expression "piVar4[5] = 0" (subscript_expression "piVar4[5]" (identifier "piVar4") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int **)(param_1 + 0xe0) = piVar4 + 6;" (assignment_expression "*(int **)(param_1 + 0xe0) = piVar4 + 6" (pointer_expression "*(int **)(param_1 + 0xe0)" (* "*") (cast_expression "(int **)(param_1 + 0xe0)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0xe0)" (( "(") (binary_expression "param_1 + 0xe0" (identifier "param_1") (+ "+") (number_literal "0xe0")) () ")")))) (= "=") (binary_expression "piVar4 + 6" (identifier "piVar4") (+ "+") (number_literal "6"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar7 != uVar9)" (( "(") (binary_expression "uVar7 != uVar9" (identifier "uVar7") (!= "!=") (identifier "uVar9")) () ")")) (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s__s_004c1a50 + 0xefc,0x391,PTR_s__s_004c1a50 + 0x1a74);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s__s_004c1a50 + 0xefc,0x391,PTR_s__s_004c1a50 + 0x1a74)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004c1a30"))) () ")")) (argument_list "(PTR_s__s_004c1a50 + 0xefc,0x391,PTR_s__s_004c1a50 + 0x1a74)" (( "(") (binary_expression "PTR_s__s_004c1a50 + 0xefc" (identifier "PTR_s__s_004c1a50") (+ "+") (number_literal "0xefc")) (, ",") (number_literal "0x391") (, ",") (binary_expression "PTR_s__s_004c1a50 + 0x1a74" (identifier "PTR_s__s_004c1a50") (+ "+") (number_literal "0x1a74")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* DWARF original prototype: void do_count_local_symbols(Sized_relobj_incr<64,_false> * this,
   Stringpool_template<char> * pool, Stringpool_template<char> * param_2) */

void __thiscall
gold::var_3<64,var_4>::do_count_local_symbols
          (var_3<64,var_4> *this,var_1<char> *pool,
          var_1<char> *param_2)

{
  type_1 *puVar1;
  type_1 *puVar2;
  type_2 *puVar3;
  type_3 __position;
  type_4 var_13;
  type_4 var_14;
  type_4 *var_15;
  type_4 var_6;
  type_5 var_11;
  char *pcVar8;
  char *pcVar9;
  type_5 var_16;
  type_6 local_58;
  type_7 strtab;
  type_4 symtab_count;
  type_8 symtab_view;
  
  if (1 < (type_12)(this->input_reader_).flags_ - 1) {
    pool = (var_1<var_2> *)0x39b;
    this = (var_3<64,var_4> *)(var_5 + 0xefc);
    (*(type_9 *)PTR_do_gold_unreachable_004c1a30)(this,0x39b,var_5 + 0x1a8c);
  }
  var_6 = *(type_4 *)(((this->input_reader_).inputs_)->p_ + (this->input_reader_).info_offset_ + 0xc);
  var_11 = (((var_6 >> 0x10) << 0x18 | (var_6 >> 0x18) << 0x10) >> 0x10) +
        ((var_6 & 0xff) << 8 | var_6 >> 8 & 0xff) * 0x10000;
  this->local_symbol_count_ = var_11;
  std::
  vector<gold::var_3<64,var_4>::type_6,_std::allocator<gold::var_3<64,var_4>::type_6>var_7>
  ::var_8(&this->local_symbols_,var_11);
  symtab_view.p_ = (type_10 *)0x0;
  strtab.base_ = (char *)0x0;
  strtab.usable_size_ = 0;
  var_9<64,var_4>::var_10
            (this->ibase_,&symtab_view,&symtab_count,&strtab);
  if (1 < (type_12)(this->input_reader_).flags_ - 1) {
    (*(type_9 *)PTR_do_gold_unreachable_004c1a30)
              (var_5 + 0xefc,0x391,var_5 + 0x1a74);
  }
  puVar1 = PTR_parameters_004c19b4;
  var_6 = *(type_4 *)(((this->input_reader_).inputs_)->p_ + (this->input_reader_).info_offset_ + 8);
  var_15 = (type_4 *)(symtab_view.p_ +
                   (((var_6 >> 0x10) << 0x18 | (var_6 >> 0x18) << 0x10) >> 0x10) +
                   ((var_6 & 0xff) << 8 | var_6 >> 8 & 0xff) * 0x10000);
  if (var_11 != 0) {
    var_16 = 0;
    puVar2 = var_5 + 0x1478;
    pcVar8 = var_12 + 0x6db8;
    do {
      while( true ) {
        var_6 = *var_15;
        var_6 = (((var_6 >> 0x10) << 0x18 | (var_6 >> 0x18) << 0x10) >> 0x10) +
                ((var_6 & 0xff) << 8 | var_6 >> 8 & 0xff) * 0x10000;
        pcVar9 = pcVar8;
        if (var_6 < strtab.usable_size_) {
          pcVar9 = strtab.base_ + var_6;
        }
        puVar3 = *(type_2 **)puVar1;
        if ((puVar3[2] != 0) && ((puVar3[5] & 0x10) != 0)) {
          (*(type_9 *)PTR_debug_004c2018)(*puVar3,puVar2,var_16,pcVar9);
        }
        local_58.name = (char *)(*(type_9 *)PTR_add_004c1ca4)(pool,pcVar9,1,0);
        var_13 = var_15[2];
        var_14 = var_15[3];
        var_6 = var_15[4];
        __position._M_current =
             (this->local_symbols_).
             super__Vector_base<gold::var_3<64,var_4>::type_6,_std::allocator<gold::var_3<64,var_4>::type_6>var_7>
             ._M_impl._M_finish;
        local_58.st_value._4_4_ =
             (((var_13 >> 0x10) << 0x18 | (var_13 >> 0x18) << 0x10) >> 0x10) +
             ((var_13 & 0xff) << 8 | var_13 >> 8 & 0xff) * 0x10000;
        local_58.st_value._0_4_ =
             (((var_14 >> 0x10) << 0x18 | (var_14 >> 0x18) << 0x10) >> 0x10) +
             ((var_14 & 0xff) << 8 | var_14 >> 8 & 0xff) * 0x10000;
        local_58._20_4_ = 0;
        local_58.st_size =
             (((var_6 >> 0x10) << 0x18 | (var_6 >> 0x18) << 0x10) >> 0x10) +
             ((var_6 & 0xff) << 8 | var_6 >> 8 & 0xff) * 0x10000;
        local_58._16_4_ =
             ((*(type_11 *)((int)var_15 + 6) & 0xff) << 8 | (type_4)(*(type_11 *)((int)var_15 + 6) >> 8)
             ) << 4 | *(type_12 *)(var_15 + 1) & 0xf;
        if (__position._M_current !=
            (this->local_symbols_).
            super__Vector_base<gold::var_3<64,var_4>::type_6,_std::allocator<gold::var_3<64,var_4>::type_6>var_7>
            ._M_impl._M_end_of_storage) break;
        var_16 = var_16 + 1;
        var_15 = var_15 + 6;
        std::
        vector<gold::var_3<64,var_4>::type_6,_std::allocator<gold::var_3<64,var_4>::type_6>var_7>
        ::_M_realloc_insert<gold::var_3<64,var_4>::type_6>
                  (&this->local_symbols_,__position,&local_58);
        if (var_16 == var_11) {
          return;
        }
      }
      *(int *)&(__position._M_current)->st_value = local_58.st_value._0_4_;
      var_16 = var_16 + 1;
      *(int *)((int)&(__position._M_current)->st_value + 4) = local_58.st_value._4_4_;
      (__position._M_current)->name = local_58.name;
      var_15 = var_15 + 6;
      (__position._M_current)->st_size = local_58.st_size;
      *(type_2 *)&(__position._M_current)->field_0x10 = local_58._16_4_;
      *(type_2 *)&(__position._M_current)->field_0x14 = 0;
      (this->local_symbols_).
      super__Vector_base<gold::var_3<64,var_4>::type_6,_std::allocator<gold::var_3<64,var_4>::type_6>var_7>
      ._M_impl._M_finish = __position._M_current + 1;
    } while (var_16 != var_11);
  }
  return;
}


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

void MASKED(int param_1,undefined4 param_2)

{
  undefined *puVar1;
  uint uVar2;
  undefined4 *puVar3;
  int *piVar4;
  uint uVar5;
  uint uVar6;
  uint uVar7;
  uint *puVar8;
  uint uVar9;
  undefined *puVar10;
  undefined *puVar11;
  int local_58;
  int local_54;
  int local_50;
  int local_4c;
  uint local_48;
  undefined4 local_44;
  int local_40;
  uint local_3c;
  uint uStack_38;
  int local_34;
  undefined *local_30;
  vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>
  *local_2c;
  
  if (1 < *(byte *)(param_1 + 0x9f) - 1) {
    (*(code *)PTR_do_gold_unreachable_004c1a30)
              (PTR_s__s_004c1a50 + 0xefc,0x39b,PTR_s__s_004c1a50 + 0x1a8c);
    return;
  }
  local_2c = (vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>
              *)(param_1 + 0xdc);
  uVar9 = *(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 0xc);
  uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +
          ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;
  *(uint *)(param_1 + 0xa8) = uVar9;
  std::
  vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>
  ::reserve(local_2c,uVar9);
  local_34 = 0;
  local_40 = 0;
  local_3c = 0;
  gold::Sized_incremental_binary<64,false>::get_symtab_view
            (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_34,&uStack_38,
             (Elf_strtab *)&local_40);
  puVar1 = PTR_parameters_004c19b4;
  if (*(byte *)(param_1 + 0x9f) - 1 < 2) {
    uVar7 = *(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 8);
    puVar8 = (uint *)(local_34 +
                     (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +
                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000);
    if (uVar9 != 0) {
      uVar7 = 0;
      local_30 = PTR_s__s_004c1a50 + 0x1478;
      puVar10 = PTR_s_in_a_linker_script_004c191c + 0x6db8;
      do {
        while( true ) {
          uVar2 = *puVar8;
          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +
                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;
          puVar11 = puVar10;
          if (uVar2 < local_3c) {
            puVar11 = (undefined *)(local_40 + uVar2);
          }
          puVar3 = *(undefined4 **)puVar1;
          if ((puVar3[2] != 0) && ((puVar3[5] & 0x10) != 0)) {
            (*(code *)PTR_debug_004c2018)(*puVar3,local_30,uVar7,puVar11);
          }
          local_50 = (*(code *)PTR_add_004c1ca4)(param_2,puVar11,1,0);
          uVar5 = puVar8[2];
          uVar6 = puVar8[3];
          uVar2 = puVar8[4];
          piVar4 = *(int **)(param_1 + 0xe0);
          local_54 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +
                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;
          local_58 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +
                     ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;
          local_44 = 0;
          local_4c = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +
                     ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;
          local_48 = ((*(ushort *)((int)puVar8 + 6) & 0xff) << 8 |
                     (uint)(*(ushort *)((int)puVar8 + 6) >> 8)) << 4 | *(byte *)(puVar8 + 1) & 0xf;
          if (piVar4 != *(int **)(param_1 + 0xe4)) break;
          uVar7 = uVar7 + 1;
          puVar8 = puVar8 + 6;
          std::
          vector<gold::Sized_relobj_incr<64,false>::Local_symbol,std::allocator<gold::Sized_relobj_incr<64,false>::Local_symbol>>
          ::_M_realloc_insert<gold::Sized_relobj_incr<64,false>::Local_symbol>
                    (local_2c,piVar4,&local_58);
          if (uVar7 == uVar9) {
            return;
          }
        }
        *piVar4 = local_58;
        uVar7 = uVar7 + 1;
        piVar4[1] = local_54;
        piVar4[2] = local_50;
        puVar8 = puVar8 + 6;
        piVar4[3] = local_4c;
        piVar4[4] = local_48;
        piVar4[5] = 0;
        *(int **)(param_1 + 0xe0) = piVar4 + 6;
      } while (uVar7 != uVar9);
    }
    return;
  }
  (*(code *)PTR_do_gold_unreachable_004c1a30)
            (PTR_s__s_004c1a50 + 0xefc,0x391,PTR_s__s_004c1a50 + 0x1a74);
  return;
}

