
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* DWARF original name: symbol_section_contents<64, true>
   DWARF original prototype: void symbol_section_contents<64,_true>(Versions * this, Symbol_table *
   symtab, Stringpool * dynpool, uint local_symcount,
   vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> * syms, uchar * * pp, uint * psize) */

void __thiscall
gold::Versions::symbol_section_contents<64,_true>
          (Versions *this,Symbol_table *symtab,Stringpool *dynpool,uint param_3,
          vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> *syms,uchar **pp,uint *psize)

{
  uchar *puVar1;
  uchar *puVar2;
  uint uVar3;
  byte bVar7;
  int iVar4;
  undefined4 *__n_elt;
  char *pcVar5;
  __node_base *p_Var6;
  Symbol *sym;
  pointer ppSVar8;
  char *pcVar9;
  undefined4 *puVar10;
  _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
  *this_00;
  undefined *puVar11;
  undefined *puVar12;
  anon_union_4_3_b0f6f408_for_u1_ aVar13;
  uint unaff_s0;
  Versions *unaff_s1;
  __node_type *__node;
  Symbol_table *unaff_s2;
  Stringpool *unaff_s3;
  undefined *unaff_s4;
  pointer unaff_s5;
  _Hash_node_base *p_Var14;
  uint uVar15;
  undefined2 uVar16;
  code *pcVar17;
  _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
  _Stack_68;
  undefined *puStack_4c;
  pointer ppSStack_48;
  code *pcStack_44;
  undefined *puStack_38;
  
  _Stack_68._M_rehash_policy._M_max_load_factor = (float)unaff_s1;
  _Stack_68._M_rehash_policy._M_next_resize = (size_t)unaff_s2;
  _Stack_68._M_single_bucket = (__bucket_type)unaff_s3;
  if (this->is_finalized_ == false) {
LAB_00271d38:
    this_00 = (_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
               *)0x6cf;
    puVar12 = PTR_s__0043226c + 0x1850;
    pcVar17 = std::
              _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
              ::_M_emplace<std::pair<std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>;
    puVar10 = (undefined4 *)(PTR_s__0043226c + 0x13e0);
    puVar11 = PTR_do_gold_unreachable_004323c4;
    (*(code *)PTR_do_gold_unreachable_004323c4)();
    _Stack_68._M_element_count = unaff_s0;
    puStack_4c = unaff_s4;
    ppSStack_48 = unaff_s5;
    pcStack_44 = pcVar17;
    puStack_38 = puVar12;
    __n_elt = (undefined4 *)(**(code **)(puVar11 + 0x1c05e8))(0x14);
    pcVar9 = ((Symbol *)param_3)->name_;
    pcVar5 = ((Symbol *)param_3)->version_;
    uVar15 = this_00->_M_bucket_count;
    aVar13 = ((Symbol *)param_3)->u1_;
    __node = (__node_type *)(pcVar5 + (int)pcVar9);
    *__n_elt = 0;
    if (uVar15 == 0) {
      trap(7);
    }
    uVar15 = (uint)__node % uVar15;
    __n_elt[1] = pcVar9;
    __n_elt[2] = pcVar5;
    *(anon_union_4_3_b0f6f408_for_u1_ *)(__n_elt + 3) = aVar13;
    p_Var6 = std::
             _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
             ::_M_find_before_node(this_00,uVar15,(key_type *)(__n_elt + 1),(__hash_code)__node);
    if (p_Var6 != (__node_base *)0x0) {
      p_Var14 = p_Var6->_M_nxt;
      if (p_Var14 != (_Hash_node_base *)0x0) {
        (**(code **)(puVar11 + 0x1c0538))(__n_elt);
        *puVar10 = p_Var14;
        *(undefined1 *)(puVar10 + 1) = 0;
        return;
      }
    }
    std::
    _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
    ::_M_insert_unique_node(&_Stack_68,(size_type)this_00,uVar15,__node,(size_type)__n_elt);
    *(undefined1 *)(puVar10 + 1) = 1;
    *puVar10 = _Stack_68._M_buckets;
    return;
  }
  unaff_s0 = (((int)(syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).
                    _M_impl._M_finish -
               (int)(syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).
                    _M_impl._M_start >> 2) + param_3) * 2;
  puVar1 = (uchar *)(*(code *)PTR_operator_new___004322dc)(unaff_s0);
  if (param_3 != 0) {
    puVar2 = puVar1;
    do {
      puVar2[0] = '\0';
      puVar2[1] = '\0';
      puVar2 = puVar2 + 2;
    } while (puVar1 + param_3 * 2 != puVar2);
  }
  unaff_s4 = PTR_version_index_004358a0;
  unaff_s5 = (syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.
             _M_start;
  if (unaff_s5 !=
      (syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl._M_finish) {
    do {
      sym = *unaff_s5;
      if (sym->version_ != (char *)0x0) {
        if (*sym->version_ == '\0') {
          uVar3 = *(uint *)&sym->field_0x28 & 0xe000;
          uVar15 = 1;
          if (uVar3 == 0) goto LAB_00271b34;
LAB_00271c60:
          bVar7 = uVar3 != 0x8000;
          param_3 = (uint)sym;
        }
        else {
          uVar15 = version_index(this,symtab,dynpool,sym);
          sym = *unaff_s5;
          pcVar5 = sym->version_;
LAB_00271c48:
          param_3 = (uint)sym;
          if (pcVar5 == (char *)0x0) goto LAB_00271b88;
          uVar3 = *(uint *)&sym->field_0x28 & 0xe000;
          if (uVar3 != 0) goto LAB_00271c60;
LAB_00271b34:
          param_3 = (uint)sym;
          if (*(int *)&sym->field_0x28 << 0x1d < 0) {
            bVar7 = (sym->u2_).shndx != 0;
          }
          else {
            bVar7 = (*(code *)PTR_is_common_shndx_00432fe0)();
            bVar7 = bVar7 ^ 1;
            sym = *unaff_s5;
          }
        }
LAB_00271b4c:
        if (bVar7 == 0) {
LAB_00271b88:
          uVar16 = (undefined2)uVar15;
          uVar15 = sym->dynsym_index_;
          sym = (Symbol *)param_3;
          goto LAB_00271b8c;
        }
        puVar11 = PTR_s__0043226c;
        if (sym->version_ != (char *)0x0) {
          if ((-1 < (int)(*(uint *)&sym->field_0x28 << 0x13)) &&
             (((*(uint *)&sym->field_0x28 & 0xe000) != 0 ||
              (-1 < (int)((sym->u1_).output_segment)->output_lists_[3].
                         super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>
                         ._M_impl._M_end_of_storage)))) {
            uVar15 = uVar15 | 0x8000;
          }
          goto LAB_00271b88;
        }
LAB_00271d20:
        (*(code *)PTR_do_gold_unreachable_004323c4)
                  (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,puVar11 + 0x1898);
        _Stack_68._M_rehash_policy._M_max_load_factor = (float)this;
        _Stack_68._M_rehash_policy._M_next_resize = (size_t)symtab;
        _Stack_68._M_single_bucket = (__bucket_type)dynpool;
        goto LAB_00271d38;
      }
      uVar15 = *(uint *)&sym->field_0x28 & 0xe000;
      param_3 = (uint)sym;
      if (uVar15 != 0) {
        uVar15 = (uint)(uVar15 != 0x8000);
        goto LAB_00271b88;
      }
      uVar15 = (sym->u2_).shndx;
      if ((int)(*(uint *)&sym->field_0x28 << 0x1d) < 0) {
        if (uVar15 != 0) {
          uVar15 = (uint)((sym->u1_).output_segment)->output_lists_[3].
                         super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>
                         ._M_impl._M_end_of_storage >> 0x1f ^ 1;
        }
        goto LAB_00271b88;
      }
      iVar4 = (*(code *)PTR_is_common_shndx_00432fe0)(uVar15);
      sym = *unaff_s5;
      pcVar5 = sym->version_;
      if (iVar4 != 0) {
        uVar15 = 0;
        goto LAB_00271c48;
      }
      uVar3 = *(uint *)&sym->field_0x28 & 0xe000;
      if (uVar3 != 0) {
        uVar15 = 1;
        param_3 = (uint)sym;
        if (pcVar5 == (char *)0x0) goto LAB_00271b88;
        bVar7 = uVar3 != 0x8000;
        goto LAB_00271b4c;
      }
      uVar15 = (uint)((sym->u1_).output_segment)->output_lists_[3].
                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.
                     _M_impl._M_end_of_storage >> 0x1f ^ 1;
      uVar16 = (undefined2)uVar15;
      if (pcVar5 != (char *)0x0) goto LAB_00271b34;
      uVar15 = sym->dynsym_index_;
LAB_00271b8c:
      if (uVar15 == 0) {
        puVar11 = PTR_s__0043226c + 0x1b80;
        (*(code *)PTR_do_gold_unreachable_004323c4)
                  (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x19a,puVar11);
        param_3 = (uint)sym;
        goto LAB_00271d20;
      }
      ppSVar8 = (syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.
                _M_finish;
      unaff_s5 = unaff_s5 + 1;
      *(undefined2 *)(puVar1 + uVar15 * 2) = uVar16;
    } while (ppSVar8 != unaff_s5);
  }
  *pp = puVar1;
  *psize = unaff_s0;
  return;
}



/* void gold::Versions::symbol_section_contents<64, true>(gold::Symbol_table const*,
   gold::Stringpool_template<char> const*, unsigned int, std::vector<gold::Symbol*,
   std::allocator<gold::Symbol*> > const&, unsigned char**, unsigned int*) const */

void __thiscall
gold::Versions::symbol_section_contents<64,true>
          (Versions *this,Symbol_table *param_1,Stringpool_template *param_2,uint param_3,
          vector *param_4,uchar **param_5,uint *param_6)

{
  uchar *puVar1;
  uchar *puVar2;
  uint uVar3;
  int iVar4;
  byte bVar5;
  Symbol *pSVar6;
  undefined4 *puVar7;
  int iVar8;
  uint uVar9;
  undefined4 *puVar10;
  uint uVar11;
  undefined2 uVar12;
  
  if (this[0x34] == (Versions)0x0) {
    (*(code *)PTR_do_gold_unreachable_004323c4)
              (PTR_DAT_0043226c + 0x13e0,0x6cf,PTR_DAT_0043226c + 0x1850);
    return;
  }
  uVar9 = ((*(int *)(param_4 + 4) - *(int *)param_4 >> 2) + param_3) * 2;
  puVar1 = (uchar *)(*(code *)PTR_operator_new___004322dc)(uVar9);
  if (param_3 != 0) {
    puVar2 = puVar1;
    do {
      puVar2[0] = '\0';
      puVar2[1] = '\0';
      puVar2 = puVar2 + 2;
    } while (puVar1 + param_3 * 2 != puVar2);
  }
  puVar10 = *(undefined4 **)param_4;
  if (puVar10 != *(undefined4 **)(param_4 + 4)) {
    do {
      pSVar6 = (Symbol *)*puVar10;
      if (*(char **)(pSVar6 + 4) == (char *)0x0) {
        uVar11 = *(uint *)(pSVar6 + 0x28) & 0xe000;
        if (uVar11 != 0) {
          uVar11 = (uint)(uVar11 != 0x8000);
          goto LAB_00271b88;
        }
        uVar11 = *(uint *)(pSVar6 + 0xc);
        if ((int)(*(uint *)(pSVar6 + 0x28) << 0x1d) < 0) {
          if (uVar11 != 0) {
            uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;
          }
          goto LAB_00271b88;
        }
        iVar4 = (*(code *)PTR_is_common_shndx_00432fe0)(uVar11);
        pSVar6 = (Symbol *)*puVar10;
        iVar8 = *(int *)(pSVar6 + 4);
        if (iVar4 != 0) {
          uVar11 = 0;
          goto LAB_00271c48;
        }
        if ((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0) {
          uVar11 = 1;
          if (iVar8 == 0) goto LAB_00271b88;
          bVar5 = (*(uint *)(pSVar6 + 0x28) & 0xe000) != 0x8000;
          goto LAB_00271b4c;
        }
        uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;
        uVar12 = (undefined2)uVar11;
        if (iVar8 != 0) goto LAB_00271b34;
        iVar4 = *(int *)(pSVar6 + 0x14);
      }
      else {
        if (**(char **)(pSVar6 + 4) == '\0') {
          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;
          uVar11 = 1;
          if (uVar3 == 0) goto LAB_00271b34;
LAB_00271c60:
          bVar5 = uVar3 != 0x8000;
        }
        else {
          uVar11 = version_index(this,param_1,param_2,pSVar6);
          pSVar6 = (Symbol *)*puVar10;
          iVar8 = *(int *)(pSVar6 + 4);
LAB_00271c48:
          if (iVar8 == 0) goto LAB_00271b88;
          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;
          if (uVar3 != 0) goto LAB_00271c60;
LAB_00271b34:
          if (*(int *)(pSVar6 + 0x28) << 0x1d < 0) {
            bVar5 = *(int *)(pSVar6 + 0xc) != 0;
          }
          else {
            bVar5 = (*(code *)PTR_is_common_shndx_00432fe0)();
            bVar5 = bVar5 ^ 1;
            pSVar6 = (Symbol *)*puVar10;
          }
        }
LAB_00271b4c:
        if (bVar5 != 0) {
          if (*(int *)(pSVar6 + 4) == 0) {
            (*(code *)PTR_do_gold_unreachable_004323c4)
                      (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,PTR_DAT_0043226c + 0x1898);
            return;
          }
          if ((-1 < (int)(*(uint *)(pSVar6 + 0x28) << 0x13)) &&
             (((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0 ||
              (-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c))))) {
            uVar11 = uVar11 | 0x8000;
          }
        }
LAB_00271b88:
        uVar12 = (undefined2)uVar11;
        iVar4 = *(int *)(pSVar6 + 0x14);
      }
      if (iVar4 == 0) {
        (*(code *)PTR_do_gold_unreachable_004323c4)
                  (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x19a,PTR_DAT_0043226c + 0x1b80);
        return;
      }
      puVar7 = *(undefined4 **)(param_4 + 4);
      puVar10 = puVar10 + 1;
      *(undefined2 *)(puVar1 + iVar4 * 2) = uVar12;
    } while (puVar7 != puVar10);
  }
  *param_5 = puVar1;
  *param_6 = uVar9;
  return;
}


lui gp,0x1d
addiu gp,gp,-0x7888
addu gp,gp,t9
addiu sp,sp,-0x40
lbu v0,0x34(a0)
sw gp,0x10(sp)
sw s6,0x30(sp)
sw ra,0x3c(sp)
sw s8,0x38(sp)
sw s7,0x34(sp)
sw s5,0x2c(sp)
sw s4,0x28(sp)
sw s3,0x24(sp)
sw s2,0x20(sp)
sw s1,0x1c(sp)
sw s0,0x18(sp)
beq v0,zero,0x00271d38
_lw s6,0x50(sp)
lw s0,0x4(s6)
or s1,a0,zero
lw v0,0x0(s6)
or s2,a1,zero
lw t9,-0x7ef4(gp)
or s3,a2,zero
or s4,a3,zero
subu s0,s0,v0
sra s0,s0,0x2
addu s0,s0,a3
sll s0,s0,0x1
jalr t9
_or a0,s0,zero
lw gp,0x10(sp)
beq s4,zero,0x00271af8
_or s7,v0,zero
sll v1,s4,0x1
addu v1,v1,v0
sh zero,0x0(v0)
addiu v0,v0,0x2
bne v1,v0,0x00271ae8
_nop
lw v0,0x4(s6)
lw s5,0x0(s6)
beq s5,v0,0x00271ba8
_lw s4,-0x4930(gp)
lw v1,0x0(s5)
lw v0,0x4(v1)
beq v0,zero,0x00271bf0
_or a3,v1,zero
lb v0,0x0(v0)
bne v0,zero,0x00271c24
_or a2,s3,zero
lw v0,0x28(a3)
andi v0,v0,0xe000
bne v0,zero,0x00271c60
_li s8,0x1
lw v0,0x28(a3)
ext v0,v0,0x2,0x1
beq v0,zero,0x00271c70
_lw a0,0xc(a3)
sltu a0,zero,a0
or v1,a3,zero
beq a0,zero,0x00271b88
_nop
lw v0,0x4(v1)
beq v0,zero,0x00271d20
_lw a2,-0x7f64(gp)
lw v0,0x28(v1)
ext a0,v0,0xc,0x1
bne a0,zero,0x00271b88
_andi v0,v0,0xe000
bne v0,zero,0x00271be8
_nop
lw v0,0x8(v1)
lw v0,0x2c(v0)
bgez v0,0x00271be8
_nop
lw v0,0x14(v1)
beq v0,zero,0x00271d04
_sll v0,v0,0x1
lw v1,0x4(s6)
addiu s5,s5,0x4
addu v0,s7,v0
bne v1,s5,0x00271b08
_sh s8,0x0(v0)
lw v0,0x54(sp)
lw ra,0x3c(sp)
lw s8,0x38(sp)
lw s6,0x30(sp)
lw s5,0x2c(sp)
lw s4,0x28(sp)
lw s3,0x24(sp)
lw s2,0x20(sp)
lw s1,0x1c(sp)
sw s7,0x0(v0)
lw v0,0x58(sp)
lw s7,0x34(sp)
sw s0,0x0(v0)
lw s0,0x18(sp)
jr ra
_addiu sp,sp,0x40
b 0x00271b88
_ori s8,s8,0x8000
lw v0,0x28(v1)
andi s8,v0,0xe000
bne s8,zero,0x00271c90
_ext v0,v0,0x2,0x1
beq v0,zero,0x00271c9c
_lw s8,0xc(v1)
beq s8,zero,0x00271b88
_nop
lw v0,0x8(v1)
lw s8,0x2c(v0)
ext s8,s8,0x1f,0x1
b 0x00271b88
_xori s8,s8,0x1
or a0,s1,zero
or t9,s4,zero
bal 0x0026135c
_or a1,s2,zero
lw a3,0x0(s5)
or s8,v0,zero
lw gp,0x10(sp)
or v1,a3,zero
lw a0,0x4(a3)
beq a0,zero,0x00271b88
_nop
lw v0,0x28(a3)
andi v0,v0,0xe000
beq v0,zero,0x00271b34
_nop
xori v0,v0,0x8000
or v1,a3,zero
b 0x00271b4c
_sltu a0,zero,v0
lw t9,-0x71f0(gp)
jalr t9
_nop
xori v0,v0,0x1
lw gp,0x10(sp)
lw v1,0x0(s5)
b 0x00271b4c
_andi a0,v0,0xff
xori s8,s8,0x8000
b 0x00271b88
_sltu s8,zero,s8
lw t9,-0x71f0(gp)
jalr t9
_or a0,s8,zero
lw v1,0x0(s5)
lw gp,0x10(sp)
or a3,v1,zero
bne v0,zero,0x00271cfc
_lw a0,0x4(v1)
lw v0,0x28(v1)
andi v0,v0,0xe000
beq v0,zero,0x00271ce0
_nop
beq a0,zero,0x00271b88
_li s8,0x1
xori v0,v0,0x8000
b 0x00271b4c
_sltu a0,zero,v0
lw v0,0x8(v1)
lw s8,0x2c(v0)
ext s8,s8,0x1f,0x1
bne a0,zero,0x00271b34
_xori s8,s8,0x1
b 0x00271b8c
_lw v0,0x14(v1)
b 0x00271c48
_or s8,zero,zero
lw a2,-0x7f64(gp)
li a1,0x19a
lw a0,-0x7e1c(gp)
lw t9,-0x7e0c(gp)
addiu a2,a2,0x1b80
jalr t9
_addiu a0,a0,-0x5bdc
li a1,0x86
lw a0,-0x7e1c(gp)
lw t9,-0x7e0c(gp)
addiu a2,a2,0x1898
jalr t9
_addiu a0,a0,-0x5bdc
lw a2,-0x7f64(gp)
li a1,0x6cf
lw a0,-0x7f64(gp)
lw t9,-0x7e0c(gp)
addiu a2,a2,0x1850
jalr t9
_addiu a0,a0,0x13e0
(translation_unit "/* void gold::Versions::symbol_section_contents<64, true>(gold::Symbol_table const*,\n   gold::Stringpool_template<char> const*, unsigned int, std::vector<gold::Symbol*,\n   std::allocator<gold::Symbol*> > const&, unsigned char**, unsigned int*) const */\n\nvoid __thiscall\ngold::Versions::symbol_section_contents<64,true>\n          (Versions *this,Symbol_table *param_1,Stringpool_template *param_2,uint param_3,\n          vector *param_4,uchar **param_5,uint *param_6)\n\n{\n  uchar *puVar1;\n  uchar *puVar2;\n  uint uVar3;\n  int iVar4;\n  byte bVar5;\n  Symbol *pSVar6;\n  undefined4 *puVar7;\n  int iVar8;\n  uint uVar9;\n  undefined4 *puVar10;\n  uint uVar11;\n  undefined2 uVar12;\n  \n  if (this[0x34] == (Versions)0x0) {\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x13e0,0x6cf,PTR_DAT_0043226c + 0x1850);\n    return;\n  }\n  uVar9 = ((*(int *)(param_4 + 4) - *(int *)param_4 >> 2) + param_3) * 2;\n  puVar1 = (uchar *)(*(code *)PTR_operator_new___004322dc)(uVar9);\n  if (param_3 != 0) {\n    puVar2 = puVar1;\n    do {\n      puVar2[0] = '\0';\n      puVar2[1] = '\0';\n      puVar2 = puVar2 + 2;\n    } while (puVar1 + param_3 * 2 != puVar2);\n  }\n  puVar10 = *(undefined4 **)param_4;\n  if (puVar10 != *(undefined4 **)(param_4 + 4)) {\n    do {\n      pSVar6 = (Symbol *)*puVar10;\n      if (*(char **)(pSVar6 + 4) == (char *)0x0) {\n        uVar11 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n        if (uVar11 != 0) {\n          uVar11 = (uint)(uVar11 != 0x8000);\n          goto LAB_00271b88;\n        }\n        uVar11 = *(uint *)(pSVar6 + 0xc);\n        if ((int)(*(uint *)(pSVar6 + 0x28) << 0x1d) < 0) {\n          if (uVar11 != 0) {\n            uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;\n          }\n          goto LAB_00271b88;\n        }\n        iVar4 = (*(code *)PTR_is_common_shndx_00432fe0)(uVar11);\n        pSVar6 = (Symbol *)*puVar10;\n        iVar8 = *(int *)(pSVar6 + 4);\n        if (iVar4 != 0) {\n          uVar11 = 0;\n          goto LAB_00271c48;\n        }\n        if ((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0) {\n          uVar11 = 1;\n          if (iVar8 == 0) goto LAB_00271b88;\n          bVar5 = (*(uint *)(pSVar6 + 0x28) & 0xe000) != 0x8000;\n          goto LAB_00271b4c;\n        }\n        uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;\n        uVar12 = (undefined2)uVar11;\n        if (iVar8 != 0) goto LAB_00271b34;\n        iVar4 = *(int *)(pSVar6 + 0x14);\n      }\n      else {\n        if (**(char **)(pSVar6 + 4) == '\0') {\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          uVar11 = 1;\n          if (uVar3 == 0) goto LAB_00271b34;\nLAB_00271c60:\n          bVar5 = uVar3 != 0x8000;\n        }\n        else {\n          uVar11 = version_index(this,param_1,param_2,pSVar6);\n          pSVar6 = (Symbol *)*puVar10;\n          iVar8 = *(int *)(pSVar6 + 4);\nLAB_00271c48:\n          if (iVar8 == 0) goto LAB_00271b88;\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          if (uVar3 != 0) goto LAB_00271c60;\nLAB_00271b34:\n          if (*(int *)(pSVar6 + 0x28) << 0x1d < 0) {\n            bVar5 = *(int *)(pSVar6 + 0xc) != 0;\n          }\n          else {\n            bVar5 = (*(code *)PTR_is_common_shndx_00432fe0)();\n            bVar5 = bVar5 ^ 1;\n            pSVar6 = (Symbol *)*puVar10;\n          }\n        }\nLAB_00271b4c:\n        if (bVar5 != 0) {\n          if (*(int *)(pSVar6 + 4) == 0) {\n            (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,PTR_DAT_0043226c + 0x1898);\n            return;\n          }\n          if ((-1 < (int)(*(uint *)(pSVar6 + 0x28) << 0x13)) &&\n             (((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0 ||\n              (-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c))))) {\n            uVar11 = uVar11 | 0x8000;\n          }\n        }\nLAB_00271b88:\n        uVar12 = (undefined2)uVar11;\n        iVar4 = *(int *)(pSVar6 + 0x14);\n      }\n      if (iVar4 == 0) {\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x19a,PTR_DAT_0043226c + 0x1b80);\n        return;\n      }\n      puVar7 = *(undefined4 **)(param_4 + 4);\n      puVar10 = puVar10 + 1;\n      *(undefined2 *)(puVar1 + iVar4 * 2) = uVar12;\n    } while (puVar7 != puVar10);\n  }\n  *param_5 = puVar1;\n  *param_6 = uVar9;\n  return;\n}\n\n" comment (declaration "void __thiscall\ngold::Versions::symbol_section_contents<64,true>\n          (Versions *this,Symbol_table *param_1,Stringpool_template *param_2,uint param_3,\n          vector *param_4,uchar **param_5,uint *param_6)\n\n{\n  uchar *puVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Versions::" identifier : : identifier : :) identifier (ERROR "<64" < number_literal) , (ERROR "true>\n          (Versions *this,Symbol_table *param_1,Stringpool_template *param_2,uint param_3,\n          vector *param_4,uchar **param_5,uint *param_6)\n\n{\n  uchar" (function_declarator "true>\n          (Versions *this,Symbol_table *param_1,Stringpool_template *param_2,uint param_3,\n          vector *param_4,uchar **param_5,uint *param_6)" identifier (ERROR ">" >) (parameter_list "(Versions *this,Symbol_table *param_1,Stringpool_template *param_2,uint param_3,\n          vector *param_4,uchar **param_5,uint *param_6)" ( (parameter_declaration "Versions *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Symbol_table *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "Stringpool_template *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "uint param_3" type_identifier identifier) , (parameter_declaration "vector *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "uchar **param_5" type_identifier (pointer_declarator "**param_5" * (pointer_declarator "*param_5" * identifier))) , (parameter_declaration "uint *param_6" type_identifier (pointer_declarator "*param_6" * identifier)) ))) { identifier) (pointer_declarator "*puVar1" * identifier) ;) (declaration "uchar *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "byte bVar5;" type_identifier identifier ;) (declaration "Symbol *pSVar6;" type_identifier (pointer_declarator "*pSVar6" * identifier) ;) (declaration "undefined4 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "undefined4 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "undefined2 uVar12;" type_identifier identifier ;) (if_statement "if (this[0x34] == (Versions)0x0) {\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x13e0,0x6cf,PTR_DAT_0043226c + 0x1850);\n    return;\n  }" if (parenthesized_expression "(this[0x34] == (Versions)0x0)" ( (binary_expression "this[0x34] == (Versions)0x0" (subscript_expression "this[0x34]" identifier [ number_literal ]) == (cast_expression "(Versions)0x0" ( (type_descriptor "Versions" type_identifier) ) number_literal)) )) (compound_statement "{\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x13e0,0x6cf,PTR_DAT_0043226c + 0x1850);\n    return;\n  }" { (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x13e0,0x6cf,PTR_DAT_0043226c + 0x1850);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x13e0,0x6cf,PTR_DAT_0043226c + 0x1850)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_0043226c + 0x13e0,0x6cf,PTR_DAT_0043226c + 0x1850)" ( (binary_expression "PTR_DAT_0043226c + 0x13e0" identifier + number_literal) , number_literal , (binary_expression "PTR_DAT_0043226c + 0x1850" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "uVar9 = ((*(int *)(param_4 + 4) - *(int *)param_4 >> 2) + param_3) * 2;" (assignment_expression "uVar9 = ((*(int *)(param_4 + 4) - *(int *)param_4 >> 2) + param_3) * 2" identifier = (binary_expression "((*(int *)(param_4 + 4) - *(int *)param_4 >> 2) + param_3) * 2" (parenthesized_expression "((*(int *)(param_4 + 4) - *(int *)param_4 >> 2) + param_3)" ( (binary_expression "(*(int *)(param_4 + 4) - *(int *)param_4 >> 2) + param_3" (parenthesized_expression "(*(int *)(param_4 + 4) - *(int *)param_4 >> 2)" ( (binary_expression "*(int *)(param_4 + 4) - *(int *)param_4 >> 2" (binary_expression "*(int *)(param_4 + 4) - *(int *)param_4" (pointer_expression "*(int *)(param_4 + 4)" * (cast_expression "(int *)(param_4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 4)" ( (binary_expression "param_4 + 4" identifier + number_literal) )))) - (pointer_expression "*(int *)param_4" * (cast_expression "(int *)param_4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) >> number_literal) )) + identifier) )) * number_literal)) ;) (expression_statement "puVar1 = (uchar *)(*(code *)PTR_operator_new___004322dc)(uVar9);" (assignment_expression "puVar1 = (uchar *)(*(code *)PTR_operator_new___004322dc)(uVar9)" identifier = (cast_expression "(uchar *)(*(code *)PTR_operator_new___004322dc)(uVar9)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_operator_new___004322dc)(uVar9)" (parenthesized_expression "(*(code *)PTR_operator_new___004322dc)" ( (pointer_expression "*(code *)PTR_operator_new___004322dc" * (cast_expression "(code *)PTR_operator_new___004322dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar9)" ( identifier ))))) ;) (if_statement "if (param_3 != 0) {\n    puVar2 = puVar1;\n    do {\n      puVar2[0] = '\0';\n      puVar2[1] = '\0';\n      puVar2 = puVar2 + 2;\n    } while (puVar1 + param_3 * 2 != puVar2);\n  }" if (parenthesized_expression "(param_3 != 0)" ( (binary_expression "param_3 != 0" identifier != number_literal) )) (compound_statement "{\n    puVar2 = puVar1;\n    do {\n      puVar2[0] = '\0';\n      puVar2[1] = '\0';\n      puVar2 = puVar2 + 2;\n    } while (puVar1 + param_3 * 2 != puVar2);\n  }" { (expression_statement "puVar2 = puVar1;" (assignment_expression "puVar2 = puVar1" identifier = identifier) ;) (do_statement "do {\n      puVar2[0] = '\0';\n      puVar2[1] = '\0';\n      puVar2 = puVar2 + 2;\n    } while (puVar1 + param_3 * 2 != puVar2);" do (compound_statement "{\n      puVar2[0] = '\0';\n      puVar2[1] = '\0';\n      puVar2 = puVar2 + 2;\n    }" { (expression_statement "puVar2[0] = '\0';" (assignment_expression "puVar2[0] = '\0'" (subscript_expression "puVar2[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar2[1] = '\0';" (assignment_expression "puVar2[1] = '\0'" (subscript_expression "puVar2[1]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar2 = puVar2 + 2;" (assignment_expression "puVar2 = puVar2 + 2" identifier = (binary_expression "puVar2 + 2" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar1 + param_3 * 2 != puVar2)" ( (binary_expression "puVar1 + param_3 * 2 != puVar2" (binary_expression "puVar1 + param_3 * 2" identifier + (binary_expression "param_3 * 2" identifier * number_literal)) != identifier) )) ;) })) (expression_statement "puVar10 = *(undefined4 **)param_4;" (assignment_expression "puVar10 = *(undefined4 **)param_4" identifier = (pointer_expression "*(undefined4 **)param_4" * (cast_expression "(undefined4 **)param_4" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if (puVar10 != *(undefined4 **)(param_4 + 4)) {\n    do {\n      pSVar6 = (Symbol *)*puVar10;\n      if (*(char **)(pSVar6 + 4) == (char *)0x0) {\n        uVar11 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n        if (uVar11 != 0) {\n          uVar11 = (uint)(uVar11 != 0x8000);\n          goto LAB_00271b88;\n        }\n        uVar11 = *(uint *)(pSVar6 + 0xc);\n        if ((int)(*(uint *)(pSVar6 + 0x28) << 0x1d) < 0) {\n          if (uVar11 != 0) {\n            uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;\n          }\n          goto LAB_00271b88;\n        }\n        iVar4 = (*(code *)PTR_is_common_shndx_00432fe0)(uVar11);\n        pSVar6 = (Symbol *)*puVar10;\n        iVar8 = *(int *)(pSVar6 + 4);\n        if (iVar4 != 0) {\n          uVar11 = 0;\n          goto LAB_00271c48;\n        }\n        if ((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0) {\n          uVar11 = 1;\n          if (iVar8 == 0) goto LAB_00271b88;\n          bVar5 = (*(uint *)(pSVar6 + 0x28) & 0xe000) != 0x8000;\n          goto LAB_00271b4c;\n        }\n        uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;\n        uVar12 = (undefined2)uVar11;\n        if (iVar8 != 0) goto LAB_00271b34;\n        iVar4 = *(int *)(pSVar6 + 0x14);\n      }\n      else {\n        if (**(char **)(pSVar6 + 4) == '\0') {\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          uVar11 = 1;\n          if (uVar3 == 0) goto LAB_00271b34;\nLAB_00271c60:\n          bVar5 = uVar3 != 0x8000;\n        }\n        else {\n          uVar11 = version_index(this,param_1,param_2,pSVar6);\n          pSVar6 = (Symbol *)*puVar10;\n          iVar8 = *(int *)(pSVar6 + 4);\nLAB_00271c48:\n          if (iVar8 == 0) goto LAB_00271b88;\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          if (uVar3 != 0) goto LAB_00271c60;\nLAB_00271b34:\n          if (*(int *)(pSVar6 + 0x28) << 0x1d < 0) {\n            bVar5 = *(int *)(pSVar6 + 0xc) != 0;\n          }\n          else {\n            bVar5 = (*(code *)PTR_is_common_shndx_00432fe0)();\n            bVar5 = bVar5 ^ 1;\n            pSVar6 = (Symbol *)*puVar10;\n          }\n        }\nLAB_00271b4c:\n        if (bVar5 != 0) {\n          if (*(int *)(pSVar6 + 4) == 0) {\n            (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,PTR_DAT_0043226c + 0x1898);\n            return;\n          }\n          if ((-1 < (int)(*(uint *)(pSVar6 + 0x28) << 0x13)) &&\n             (((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0 ||\n              (-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c))))) {\n            uVar11 = uVar11 | 0x8000;\n          }\n        }\nLAB_00271b88:\n        uVar12 = (undefined2)uVar11;\n        iVar4 = *(int *)(pSVar6 + 0x14);\n      }\n      if (iVar4 == 0) {\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x19a,PTR_DAT_0043226c + 0x1b80);\n        return;\n      }\n      puVar7 = *(undefined4 **)(param_4 + 4);\n      puVar10 = puVar10 + 1;\n      *(undefined2 *)(puVar1 + iVar4 * 2) = uVar12;\n    } while (puVar7 != puVar10);\n  }" if (parenthesized_expression "(puVar10 != *(undefined4 **)(param_4 + 4))" ( (binary_expression "puVar10 != *(undefined4 **)(param_4 + 4)" identifier != (pointer_expression "*(undefined4 **)(param_4 + 4)" * (cast_expression "(undefined4 **)(param_4 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_4 + 4)" ( (binary_expression "param_4 + 4" identifier + number_literal) ))))) )) (compound_statement "{\n    do {\n      pSVar6 = (Symbol *)*puVar10;\n      if (*(char **)(pSVar6 + 4) == (char *)0x0) {\n        uVar11 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n        if (uVar11 != 0) {\n          uVar11 = (uint)(uVar11 != 0x8000);\n          goto LAB_00271b88;\n        }\n        uVar11 = *(uint *)(pSVar6 + 0xc);\n        if ((int)(*(uint *)(pSVar6 + 0x28) << 0x1d) < 0) {\n          if (uVar11 != 0) {\n            uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;\n          }\n          goto LAB_00271b88;\n        }\n        iVar4 = (*(code *)PTR_is_common_shndx_00432fe0)(uVar11);\n        pSVar6 = (Symbol *)*puVar10;\n        iVar8 = *(int *)(pSVar6 + 4);\n        if (iVar4 != 0) {\n          uVar11 = 0;\n          goto LAB_00271c48;\n        }\n        if ((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0) {\n          uVar11 = 1;\n          if (iVar8 == 0) goto LAB_00271b88;\n          bVar5 = (*(uint *)(pSVar6 + 0x28) & 0xe000) != 0x8000;\n          goto LAB_00271b4c;\n        }\n        uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;\n        uVar12 = (undefined2)uVar11;\n        if (iVar8 != 0) goto LAB_00271b34;\n        iVar4 = *(int *)(pSVar6 + 0x14);\n      }\n      else {\n        if (**(char **)(pSVar6 + 4) == '\0') {\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          uVar11 = 1;\n          if (uVar3 == 0) goto LAB_00271b34;\nLAB_00271c60:\n          bVar5 = uVar3 != 0x8000;\n        }\n        else {\n          uVar11 = version_index(this,param_1,param_2,pSVar6);\n          pSVar6 = (Symbol *)*puVar10;\n          iVar8 = *(int *)(pSVar6 + 4);\nLAB_00271c48:\n          if (iVar8 == 0) goto LAB_00271b88;\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          if (uVar3 != 0) goto LAB_00271c60;\nLAB_00271b34:\n          if (*(int *)(pSVar6 + 0x28) << 0x1d < 0) {\n            bVar5 = *(int *)(pSVar6 + 0xc) != 0;\n          }\n          else {\n            bVar5 = (*(code *)PTR_is_common_shndx_00432fe0)();\n            bVar5 = bVar5 ^ 1;\n            pSVar6 = (Symbol *)*puVar10;\n          }\n        }\nLAB_00271b4c:\n        if (bVar5 != 0) {\n          if (*(int *)(pSVar6 + 4) == 0) {\n            (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,PTR_DAT_0043226c + 0x1898);\n            return;\n          }\n          if ((-1 < (int)(*(uint *)(pSVar6 + 0x28) << 0x13)) &&\n             (((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0 ||\n              (-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c))))) {\n            uVar11 = uVar11 | 0x8000;\n          }\n        }\nLAB_00271b88:\n        uVar12 = (undefined2)uVar11;\n        iVar4 = *(int *)(pSVar6 + 0x14);\n      }\n      if (iVar4 == 0) {\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x19a,PTR_DAT_0043226c + 0x1b80);\n        return;\n      }\n      puVar7 = *(undefined4 **)(param_4 + 4);\n      puVar10 = puVar10 + 1;\n      *(undefined2 *)(puVar1 + iVar4 * 2) = uVar12;\n    } while (puVar7 != puVar10);\n  }" { (do_statement "do {\n      pSVar6 = (Symbol *)*puVar10;\n      if (*(char **)(pSVar6 + 4) == (char *)0x0) {\n        uVar11 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n        if (uVar11 != 0) {\n          uVar11 = (uint)(uVar11 != 0x8000);\n          goto LAB_00271b88;\n        }\n        uVar11 = *(uint *)(pSVar6 + 0xc);\n        if ((int)(*(uint *)(pSVar6 + 0x28) << 0x1d) < 0) {\n          if (uVar11 != 0) {\n            uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;\n          }\n          goto LAB_00271b88;\n        }\n        iVar4 = (*(code *)PTR_is_common_shndx_00432fe0)(uVar11);\n        pSVar6 = (Symbol *)*puVar10;\n        iVar8 = *(int *)(pSVar6 + 4);\n        if (iVar4 != 0) {\n          uVar11 = 0;\n          goto LAB_00271c48;\n        }\n        if ((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0) {\n          uVar11 = 1;\n          if (iVar8 == 0) goto LAB_00271b88;\n          bVar5 = (*(uint *)(pSVar6 + 0x28) & 0xe000) != 0x8000;\n          goto LAB_00271b4c;\n        }\n        uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;\n        uVar12 = (undefined2)uVar11;\n        if (iVar8 != 0) goto LAB_00271b34;\n        iVar4 = *(int *)(pSVar6 + 0x14);\n      }\n      else {\n        if (**(char **)(pSVar6 + 4) == '\0') {\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          uVar11 = 1;\n          if (uVar3 == 0) goto LAB_00271b34;\nLAB_00271c60:\n          bVar5 = uVar3 != 0x8000;\n        }\n        else {\n          uVar11 = version_index(this,param_1,param_2,pSVar6);\n          pSVar6 = (Symbol *)*puVar10;\n          iVar8 = *(int *)(pSVar6 + 4);\nLAB_00271c48:\n          if (iVar8 == 0) goto LAB_00271b88;\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          if (uVar3 != 0) goto LAB_00271c60;\nLAB_00271b34:\n          if (*(int *)(pSVar6 + 0x28) << 0x1d < 0) {\n            bVar5 = *(int *)(pSVar6 + 0xc) != 0;\n          }\n          else {\n            bVar5 = (*(code *)PTR_is_common_shndx_00432fe0)();\n            bVar5 = bVar5 ^ 1;\n            pSVar6 = (Symbol *)*puVar10;\n          }\n        }\nLAB_00271b4c:\n        if (bVar5 != 0) {\n          if (*(int *)(pSVar6 + 4) == 0) {\n            (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,PTR_DAT_0043226c + 0x1898);\n            return;\n          }\n          if ((-1 < (int)(*(uint *)(pSVar6 + 0x28) << 0x13)) &&\n             (((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0 ||\n              (-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c))))) {\n            uVar11 = uVar11 | 0x8000;\n          }\n        }\nLAB_00271b88:\n        uVar12 = (undefined2)uVar11;\n        iVar4 = *(int *)(pSVar6 + 0x14);\n      }\n      if (iVar4 == 0) {\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x19a,PTR_DAT_0043226c + 0x1b80);\n        return;\n      }\n      puVar7 = *(undefined4 **)(param_4 + 4);\n      puVar10 = puVar10 + 1;\n      *(undefined2 *)(puVar1 + iVar4 * 2) = uVar12;\n    } while (puVar7 != puVar10);" do (compound_statement "{\n      pSVar6 = (Symbol *)*puVar10;\n      if (*(char **)(pSVar6 + 4) == (char *)0x0) {\n        uVar11 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n        if (uVar11 != 0) {\n          uVar11 = (uint)(uVar11 != 0x8000);\n          goto LAB_00271b88;\n        }\n        uVar11 = *(uint *)(pSVar6 + 0xc);\n        if ((int)(*(uint *)(pSVar6 + 0x28) << 0x1d) < 0) {\n          if (uVar11 != 0) {\n            uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;\n          }\n          goto LAB_00271b88;\n        }\n        iVar4 = (*(code *)PTR_is_common_shndx_00432fe0)(uVar11);\n        pSVar6 = (Symbol *)*puVar10;\n        iVar8 = *(int *)(pSVar6 + 4);\n        if (iVar4 != 0) {\n          uVar11 = 0;\n          goto LAB_00271c48;\n        }\n        if ((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0) {\n          uVar11 = 1;\n          if (iVar8 == 0) goto LAB_00271b88;\n          bVar5 = (*(uint *)(pSVar6 + 0x28) & 0xe000) != 0x8000;\n          goto LAB_00271b4c;\n        }\n        uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;\n        uVar12 = (undefined2)uVar11;\n        if (iVar8 != 0) goto LAB_00271b34;\n        iVar4 = *(int *)(pSVar6 + 0x14);\n      }\n      else {\n        if (**(char **)(pSVar6 + 4) == '\0') {\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          uVar11 = 1;\n          if (uVar3 == 0) goto LAB_00271b34;\nLAB_00271c60:\n          bVar5 = uVar3 != 0x8000;\n        }\n        else {\n          uVar11 = version_index(this,param_1,param_2,pSVar6);\n          pSVar6 = (Symbol *)*puVar10;\n          iVar8 = *(int *)(pSVar6 + 4);\nLAB_00271c48:\n          if (iVar8 == 0) goto LAB_00271b88;\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          if (uVar3 != 0) goto LAB_00271c60;\nLAB_00271b34:\n          if (*(int *)(pSVar6 + 0x28) << 0x1d < 0) {\n            bVar5 = *(int *)(pSVar6 + 0xc) != 0;\n          }\n          else {\n            bVar5 = (*(code *)PTR_is_common_shndx_00432fe0)();\n            bVar5 = bVar5 ^ 1;\n            pSVar6 = (Symbol *)*puVar10;\n          }\n        }\nLAB_00271b4c:\n        if (bVar5 != 0) {\n          if (*(int *)(pSVar6 + 4) == 0) {\n            (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,PTR_DAT_0043226c + 0x1898);\n            return;\n          }\n          if ((-1 < (int)(*(uint *)(pSVar6 + 0x28) << 0x13)) &&\n             (((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0 ||\n              (-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c))))) {\n            uVar11 = uVar11 | 0x8000;\n          }\n        }\nLAB_00271b88:\n        uVar12 = (undefined2)uVar11;\n        iVar4 = *(int *)(pSVar6 + 0x14);\n      }\n      if (iVar4 == 0) {\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x19a,PTR_DAT_0043226c + 0x1b80);\n        return;\n      }\n      puVar7 = *(undefined4 **)(param_4 + 4);\n      puVar10 = puVar10 + 1;\n      *(undefined2 *)(puVar1 + iVar4 * 2) = uVar12;\n    }" { (expression_statement "pSVar6 = (Symbol *)*puVar10;" (assignment_expression "pSVar6 = (Symbol *)*puVar10" identifier = (cast_expression "(Symbol *)*puVar10" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar10" * identifier))) ;) (if_statement "if (*(char **)(pSVar6 + 4) == (char *)0x0) {\n        uVar11 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n        if (uVar11 != 0) {\n          uVar11 = (uint)(uVar11 != 0x8000);\n          goto LAB_00271b88;\n        }\n        uVar11 = *(uint *)(pSVar6 + 0xc);\n        if ((int)(*(uint *)(pSVar6 + 0x28) << 0x1d) < 0) {\n          if (uVar11 != 0) {\n            uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;\n          }\n          goto LAB_00271b88;\n        }\n        iVar4 = (*(code *)PTR_is_common_shndx_00432fe0)(uVar11);\n        pSVar6 = (Symbol *)*puVar10;\n        iVar8 = *(int *)(pSVar6 + 4);\n        if (iVar4 != 0) {\n          uVar11 = 0;\n          goto LAB_00271c48;\n        }\n        if ((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0) {\n          uVar11 = 1;\n          if (iVar8 == 0) goto LAB_00271b88;\n          bVar5 = (*(uint *)(pSVar6 + 0x28) & 0xe000) != 0x8000;\n          goto LAB_00271b4c;\n        }\n        uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;\n        uVar12 = (undefined2)uVar11;\n        if (iVar8 != 0) goto LAB_00271b34;\n        iVar4 = *(int *)(pSVar6 + 0x14);\n      }\n      else {\n        if (**(char **)(pSVar6 + 4) == '\0') {\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          uVar11 = 1;\n          if (uVar3 == 0) goto LAB_00271b34;\nLAB_00271c60:\n          bVar5 = uVar3 != 0x8000;\n        }\n        else {\n          uVar11 = version_index(this,param_1,param_2,pSVar6);\n          pSVar6 = (Symbol *)*puVar10;\n          iVar8 = *(int *)(pSVar6 + 4);\nLAB_00271c48:\n          if (iVar8 == 0) goto LAB_00271b88;\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          if (uVar3 != 0) goto LAB_00271c60;\nLAB_00271b34:\n          if (*(int *)(pSVar6 + 0x28) << 0x1d < 0) {\n            bVar5 = *(int *)(pSVar6 + 0xc) != 0;\n          }\n          else {\n            bVar5 = (*(code *)PTR_is_common_shndx_00432fe0)();\n            bVar5 = bVar5 ^ 1;\n            pSVar6 = (Symbol *)*puVar10;\n          }\n        }\nLAB_00271b4c:\n        if (bVar5 != 0) {\n          if (*(int *)(pSVar6 + 4) == 0) {\n            (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,PTR_DAT_0043226c + 0x1898);\n            return;\n          }\n          if ((-1 < (int)(*(uint *)(pSVar6 + 0x28) << 0x13)) &&\n             (((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0 ||\n              (-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c))))) {\n            uVar11 = uVar11 | 0x8000;\n          }\n        }\nLAB_00271b88:\n        uVar12 = (undefined2)uVar11;\n        iVar4 = *(int *)(pSVar6 + 0x14);\n      }" if (parenthesized_expression "(*(char **)(pSVar6 + 4) == (char *)0x0)" ( (binary_expression "*(char **)(pSVar6 + 4) == (char *)0x0" (pointer_expression "*(char **)(pSVar6 + 4)" * (cast_expression "(char **)(pSVar6 + 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pSVar6 + 4)" ( (binary_expression "pSVar6 + 4" identifier + number_literal) )))) == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        uVar11 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n        if (uVar11 != 0) {\n          uVar11 = (uint)(uVar11 != 0x8000);\n          goto LAB_00271b88;\n        }\n        uVar11 = *(uint *)(pSVar6 + 0xc);\n        if ((int)(*(uint *)(pSVar6 + 0x28) << 0x1d) < 0) {\n          if (uVar11 != 0) {\n            uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;\n          }\n          goto LAB_00271b88;\n        }\n        iVar4 = (*(code *)PTR_is_common_shndx_00432fe0)(uVar11);\n        pSVar6 = (Symbol *)*puVar10;\n        iVar8 = *(int *)(pSVar6 + 4);\n        if (iVar4 != 0) {\n          uVar11 = 0;\n          goto LAB_00271c48;\n        }\n        if ((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0) {\n          uVar11 = 1;\n          if (iVar8 == 0) goto LAB_00271b88;\n          bVar5 = (*(uint *)(pSVar6 + 0x28) & 0xe000) != 0x8000;\n          goto LAB_00271b4c;\n        }\n        uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;\n        uVar12 = (undefined2)uVar11;\n        if (iVar8 != 0) goto LAB_00271b34;\n        iVar4 = *(int *)(pSVar6 + 0x14);\n      }" { (expression_statement "uVar11 = *(uint *)(pSVar6 + 0x28) & 0xe000;" (assignment_expression "uVar11 = *(uint *)(pSVar6 + 0x28) & 0xe000" identifier = (binary_expression "*(uint *)(pSVar6 + 0x28) & 0xe000" (pointer_expression "*(uint *)(pSVar6 + 0x28)" * (cast_expression "(uint *)(pSVar6 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar6 + 0x28)" ( (binary_expression "pSVar6 + 0x28" identifier + number_literal) )))) & number_literal)) ;) (if_statement "if (uVar11 != 0) {\n          uVar11 = (uint)(uVar11 != 0x8000);\n          goto LAB_00271b88;\n        }" if (parenthesized_expression "(uVar11 != 0)" ( (binary_expression "uVar11 != 0" identifier != number_literal) )) (compound_statement "{\n          uVar11 = (uint)(uVar11 != 0x8000);\n          goto LAB_00271b88;\n        }" { (expression_statement "uVar11 = (uint)(uVar11 != 0x8000);" (assignment_expression "uVar11 = (uint)(uVar11 != 0x8000)" identifier = (call_expression "(uint)(uVar11 != 0x8000)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar11 != 0x8000)" ( (binary_expression "uVar11 != 0x8000" identifier != number_literal) )))) ;) (goto_statement "goto LAB_00271b88;" goto statement_identifier ;) })) (expression_statement "uVar11 = *(uint *)(pSVar6 + 0xc);" (assignment_expression "uVar11 = *(uint *)(pSVar6 + 0xc)" identifier = (pointer_expression "*(uint *)(pSVar6 + 0xc)" * (cast_expression "(uint *)(pSVar6 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar6 + 0xc)" ( (binary_expression "pSVar6 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if ((int)(*(uint *)(pSVar6 + 0x28) << 0x1d) < 0) {\n          if (uVar11 != 0) {\n            uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;\n          }\n          goto LAB_00271b88;\n        }" if (parenthesized_expression "((int)(*(uint *)(pSVar6 + 0x28) << 0x1d) < 0)" ( (binary_expression "(int)(*(uint *)(pSVar6 + 0x28) << 0x1d) < 0" (cast_expression "(int)(*(uint *)(pSVar6 + 0x28) << 0x1d)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(*(uint *)(pSVar6 + 0x28) << 0x1d)" ( (binary_expression "*(uint *)(pSVar6 + 0x28) << 0x1d" (pointer_expression "*(uint *)(pSVar6 + 0x28)" * (cast_expression "(uint *)(pSVar6 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar6 + 0x28)" ( (binary_expression "pSVar6 + 0x28" identifier + number_literal) )))) << number_literal) ))) < number_literal) )) (compound_statement "{\n          if (uVar11 != 0) {\n            uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;\n          }\n          goto LAB_00271b88;\n        }" { (if_statement "if (uVar11 != 0) {\n            uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;\n          }" if (parenthesized_expression "(uVar11 != 0)" ( (binary_expression "uVar11 != 0" identifier != number_literal) )) (compound_statement "{\n            uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;\n          }" { (expression_statement "uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;" (assignment_expression "uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1" identifier = (binary_expression "*(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1" (binary_expression "*(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f" (pointer_expression "*(uint *)(*(int *)(pSVar6 + 8) + 0x2c)" * (cast_expression "(uint *)(*(int *)(pSVar6 + 8) + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pSVar6 + 8) + 0x2c)" ( (binary_expression "*(int *)(pSVar6 + 8) + 0x2c" (pointer_expression "*(int *)(pSVar6 + 8)" * (cast_expression "(int *)(pSVar6 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar6 + 8)" ( (binary_expression "pSVar6 + 8" identifier + number_literal) )))) + number_literal) )))) >> number_literal) ^ number_literal)) ;) })) (goto_statement "goto LAB_00271b88;" goto statement_identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_is_common_shndx_00432fe0)(uVar11);" (assignment_expression "iVar4 = (*(code *)PTR_is_common_shndx_00432fe0)(uVar11)" identifier = (call_expression "(*(code *)PTR_is_common_shndx_00432fe0)(uVar11)" (parenthesized_expression "(*(code *)PTR_is_common_shndx_00432fe0)" ( (pointer_expression "*(code *)PTR_is_common_shndx_00432fe0" * (cast_expression "(code *)PTR_is_common_shndx_00432fe0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar11)" ( identifier )))) ;) (expression_statement "pSVar6 = (Symbol *)*puVar10;" (assignment_expression "pSVar6 = (Symbol *)*puVar10" identifier = (cast_expression "(Symbol *)*puVar10" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar10" * identifier))) ;) (expression_statement "iVar8 = *(int *)(pSVar6 + 4);" (assignment_expression "iVar8 = *(int *)(pSVar6 + 4)" identifier = (pointer_expression "*(int *)(pSVar6 + 4)" * (cast_expression "(int *)(pSVar6 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar6 + 4)" ( (binary_expression "pSVar6 + 4" identifier + number_literal) ))))) ;) (if_statement "if (iVar4 != 0) {\n          uVar11 = 0;\n          goto LAB_00271c48;\n        }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n          uVar11 = 0;\n          goto LAB_00271c48;\n        }" { (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00271c48;" goto statement_identifier ;) })) (if_statement "if ((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0) {\n          uVar11 = 1;\n          if (iVar8 == 0) goto LAB_00271b88;\n          bVar5 = (*(uint *)(pSVar6 + 0x28) & 0xe000) != 0x8000;\n          goto LAB_00271b4c;\n        }" if (parenthesized_expression "((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0)" ( (binary_expression "(*(uint *)(pSVar6 + 0x28) & 0xe000) != 0" (parenthesized_expression "(*(uint *)(pSVar6 + 0x28) & 0xe000)" ( (binary_expression "*(uint *)(pSVar6 + 0x28) & 0xe000" (pointer_expression "*(uint *)(pSVar6 + 0x28)" * (cast_expression "(uint *)(pSVar6 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar6 + 0x28)" ( (binary_expression "pSVar6 + 0x28" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n          uVar11 = 1;\n          if (iVar8 == 0) goto LAB_00271b88;\n          bVar5 = (*(uint *)(pSVar6 + 0x28) & 0xe000) != 0x8000;\n          goto LAB_00271b4c;\n        }" { (expression_statement "uVar11 = 1;" (assignment_expression "uVar11 = 1" identifier = number_literal) ;) (if_statement "if (iVar8 == 0) goto LAB_00271b88;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00271b88;" goto statement_identifier ;)) (expression_statement "bVar5 = (*(uint *)(pSVar6 + 0x28) & 0xe000) != 0x8000;" (assignment_expression "bVar5 = (*(uint *)(pSVar6 + 0x28) & 0xe000) != 0x8000" identifier = (binary_expression "(*(uint *)(pSVar6 + 0x28) & 0xe000) != 0x8000" (parenthesized_expression "(*(uint *)(pSVar6 + 0x28) & 0xe000)" ( (binary_expression "*(uint *)(pSVar6 + 0x28) & 0xe000" (pointer_expression "*(uint *)(pSVar6 + 0x28)" * (cast_expression "(uint *)(pSVar6 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar6 + 0x28)" ( (binary_expression "pSVar6 + 0x28" identifier + number_literal) )))) & number_literal) )) != number_literal)) ;) (goto_statement "goto LAB_00271b4c;" goto statement_identifier ;) })) (expression_statement "uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;" (assignment_expression "uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1" identifier = (binary_expression "*(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1" (binary_expression "*(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f" (pointer_expression "*(uint *)(*(int *)(pSVar6 + 8) + 0x2c)" * (cast_expression "(uint *)(*(int *)(pSVar6 + 8) + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pSVar6 + 8) + 0x2c)" ( (binary_expression "*(int *)(pSVar6 + 8) + 0x2c" (pointer_expression "*(int *)(pSVar6 + 8)" * (cast_expression "(int *)(pSVar6 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar6 + 8)" ( (binary_expression "pSVar6 + 8" identifier + number_literal) )))) + number_literal) )))) >> number_literal) ^ number_literal)) ;) (expression_statement "uVar12 = (undefined2)uVar11;" (assignment_expression "uVar12 = (undefined2)uVar11" identifier = (cast_expression "(undefined2)uVar11" ( (type_descriptor "undefined2" type_identifier) ) identifier)) ;) (if_statement "if (iVar8 != 0) goto LAB_00271b34;" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00271b34;" goto statement_identifier ;)) (expression_statement "iVar4 = *(int *)(pSVar6 + 0x14);" (assignment_expression "iVar4 = *(int *)(pSVar6 + 0x14)" identifier = (pointer_expression "*(int *)(pSVar6 + 0x14)" * (cast_expression "(int *)(pSVar6 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar6 + 0x14)" ( (binary_expression "pSVar6 + 0x14" identifier + number_literal) ))))) ;) }) (else_clause "else {\n        if (**(char **)(pSVar6 + 4) == '\0') {\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          uVar11 = 1;\n          if (uVar3 == 0) goto LAB_00271b34;\nLAB_00271c60:\n          bVar5 = uVar3 != 0x8000;\n        }\n        else {\n          uVar11 = version_index(this,param_1,param_2,pSVar6);\n          pSVar6 = (Symbol *)*puVar10;\n          iVar8 = *(int *)(pSVar6 + 4);\nLAB_00271c48:\n          if (iVar8 == 0) goto LAB_00271b88;\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          if (uVar3 != 0) goto LAB_00271c60;\nLAB_00271b34:\n          if (*(int *)(pSVar6 + 0x28) << 0x1d < 0) {\n            bVar5 = *(int *)(pSVar6 + 0xc) != 0;\n          }\n          else {\n            bVar5 = (*(code *)PTR_is_common_shndx_00432fe0)();\n            bVar5 = bVar5 ^ 1;\n            pSVar6 = (Symbol *)*puVar10;\n          }\n        }\nLAB_00271b4c:\n        if (bVar5 != 0) {\n          if (*(int *)(pSVar6 + 4) == 0) {\n            (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,PTR_DAT_0043226c + 0x1898);\n            return;\n          }\n          if ((-1 < (int)(*(uint *)(pSVar6 + 0x28) << 0x13)) &&\n             (((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0 ||\n              (-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c))))) {\n            uVar11 = uVar11 | 0x8000;\n          }\n        }\nLAB_00271b88:\n        uVar12 = (undefined2)uVar11;\n        iVar4 = *(int *)(pSVar6 + 0x14);\n      }" else (compound_statement "{\n        if (**(char **)(pSVar6 + 4) == '\0') {\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          uVar11 = 1;\n          if (uVar3 == 0) goto LAB_00271b34;\nLAB_00271c60:\n          bVar5 = uVar3 != 0x8000;\n        }\n        else {\n          uVar11 = version_index(this,param_1,param_2,pSVar6);\n          pSVar6 = (Symbol *)*puVar10;\n          iVar8 = *(int *)(pSVar6 + 4);\nLAB_00271c48:\n          if (iVar8 == 0) goto LAB_00271b88;\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          if (uVar3 != 0) goto LAB_00271c60;\nLAB_00271b34:\n          if (*(int *)(pSVar6 + 0x28) << 0x1d < 0) {\n            bVar5 = *(int *)(pSVar6 + 0xc) != 0;\n          }\n          else {\n            bVar5 = (*(code *)PTR_is_common_shndx_00432fe0)();\n            bVar5 = bVar5 ^ 1;\n            pSVar6 = (Symbol *)*puVar10;\n          }\n        }\nLAB_00271b4c:\n        if (bVar5 != 0) {\n          if (*(int *)(pSVar6 + 4) == 0) {\n            (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,PTR_DAT_0043226c + 0x1898);\n            return;\n          }\n          if ((-1 < (int)(*(uint *)(pSVar6 + 0x28) << 0x13)) &&\n             (((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0 ||\n              (-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c))))) {\n            uVar11 = uVar11 | 0x8000;\n          }\n        }\nLAB_00271b88:\n        uVar12 = (undefined2)uVar11;\n        iVar4 = *(int *)(pSVar6 + 0x14);\n      }" { (if_statement "if (**(char **)(pSVar6 + 4) == '\0') {\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          uVar11 = 1;\n          if (uVar3 == 0) goto LAB_00271b34;\nLAB_00271c60:\n          bVar5 = uVar3 != 0x8000;\n        }\n        else {\n          uVar11 = version_index(this,param_1,param_2,pSVar6);\n          pSVar6 = (Symbol *)*puVar10;\n          iVar8 = *(int *)(pSVar6 + 4);\nLAB_00271c48:\n          if (iVar8 == 0) goto LAB_00271b88;\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          if (uVar3 != 0) goto LAB_00271c60;\nLAB_00271b34:\n          if (*(int *)(pSVar6 + 0x28) << 0x1d < 0) {\n            bVar5 = *(int *)(pSVar6 + 0xc) != 0;\n          }\n          else {\n            bVar5 = (*(code *)PTR_is_common_shndx_00432fe0)();\n            bVar5 = bVar5 ^ 1;\n            pSVar6 = (Symbol *)*puVar10;\n          }\n        }" if (parenthesized_expression "(**(char **)(pSVar6 + 4) == '\0')" ( (binary_expression "**(char **)(pSVar6 + 4) == '\0'" (pointer_expression "**(char **)(pSVar6 + 4)" * (pointer_expression "*(char **)(pSVar6 + 4)" * (cast_expression "(char **)(pSVar6 + 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pSVar6 + 4)" ( (binary_expression "pSVar6 + 4" identifier + number_literal) ))))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          uVar11 = 1;\n          if (uVar3 == 0) goto LAB_00271b34;\nLAB_00271c60:\n          bVar5 = uVar3 != 0x8000;\n        }" { (expression_statement "uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;" (assignment_expression "uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000" identifier = (binary_expression "*(uint *)(pSVar6 + 0x28) & 0xe000" (pointer_expression "*(uint *)(pSVar6 + 0x28)" * (cast_expression "(uint *)(pSVar6 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar6 + 0x28)" ( (binary_expression "pSVar6 + 0x28" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "uVar11 = 1;" (assignment_expression "uVar11 = 1" identifier = number_literal) ;) (if_statement "if (uVar3 == 0) goto LAB_00271b34;" if (parenthesized_expression "(uVar3 == 0)" ( (binary_expression "uVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00271b34;" goto statement_identifier ;)) (labeled_statement "LAB_00271c60:\n          bVar5 = uVar3 != 0x8000;" statement_identifier : (expression_statement "bVar5 = uVar3 != 0x8000;" (assignment_expression "bVar5 = uVar3 != 0x8000" identifier = (binary_expression "uVar3 != 0x8000" identifier != number_literal)) ;)) }) (else_clause "else {\n          uVar11 = version_index(this,param_1,param_2,pSVar6);\n          pSVar6 = (Symbol *)*puVar10;\n          iVar8 = *(int *)(pSVar6 + 4);\nLAB_00271c48:\n          if (iVar8 == 0) goto LAB_00271b88;\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          if (uVar3 != 0) goto LAB_00271c60;\nLAB_00271b34:\n          if (*(int *)(pSVar6 + 0x28) << 0x1d < 0) {\n            bVar5 = *(int *)(pSVar6 + 0xc) != 0;\n          }\n          else {\n            bVar5 = (*(code *)PTR_is_common_shndx_00432fe0)();\n            bVar5 = bVar5 ^ 1;\n            pSVar6 = (Symbol *)*puVar10;\n          }\n        }" else (compound_statement "{\n          uVar11 = version_index(this,param_1,param_2,pSVar6);\n          pSVar6 = (Symbol *)*puVar10;\n          iVar8 = *(int *)(pSVar6 + 4);\nLAB_00271c48:\n          if (iVar8 == 0) goto LAB_00271b88;\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          if (uVar3 != 0) goto LAB_00271c60;\nLAB_00271b34:\n          if (*(int *)(pSVar6 + 0x28) << 0x1d < 0) {\n            bVar5 = *(int *)(pSVar6 + 0xc) != 0;\n          }\n          else {\n            bVar5 = (*(code *)PTR_is_common_shndx_00432fe0)();\n            bVar5 = bVar5 ^ 1;\n            pSVar6 = (Symbol *)*puVar10;\n          }\n        }" { (expression_statement "uVar11 = version_index(this,param_1,param_2,pSVar6);" (assignment_expression "uVar11 = version_index(this,param_1,param_2,pSVar6)" identifier = (call_expression "version_index(this,param_1,param_2,pSVar6)" identifier (argument_list "(this,param_1,param_2,pSVar6)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "pSVar6 = (Symbol *)*puVar10;" (assignment_expression "pSVar6 = (Symbol *)*puVar10" identifier = (cast_expression "(Symbol *)*puVar10" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar10" * identifier))) ;) (expression_statement "iVar8 = *(int *)(pSVar6 + 4);" (assignment_expression "iVar8 = *(int *)(pSVar6 + 4)" identifier = (pointer_expression "*(int *)(pSVar6 + 4)" * (cast_expression "(int *)(pSVar6 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar6 + 4)" ( (binary_expression "pSVar6 + 4" identifier + number_literal) ))))) ;) (labeled_statement "LAB_00271c48:\n          if (iVar8 == 0) goto LAB_00271b88;" statement_identifier : (if_statement "if (iVar8 == 0) goto LAB_00271b88;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00271b88;" goto statement_identifier ;))) (expression_statement "uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;" (assignment_expression "uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000" identifier = (binary_expression "*(uint *)(pSVar6 + 0x28) & 0xe000" (pointer_expression "*(uint *)(pSVar6 + 0x28)" * (cast_expression "(uint *)(pSVar6 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar6 + 0x28)" ( (binary_expression "pSVar6 + 0x28" identifier + number_literal) )))) & number_literal)) ;) (if_statement "if (uVar3 != 0) goto LAB_00271c60;" if (parenthesized_expression "(uVar3 != 0)" ( (binary_expression "uVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00271c60;" goto statement_identifier ;)) (labeled_statement "LAB_00271b34:\n          if (*(int *)(pSVar6 + 0x28) << 0x1d < 0) {\n            bVar5 = *(int *)(pSVar6 + 0xc) != 0;\n          }\n          else {\n            bVar5 = (*(code *)PTR_is_common_shndx_00432fe0)();\n            bVar5 = bVar5 ^ 1;\n            pSVar6 = (Symbol *)*puVar10;\n          }" statement_identifier : (if_statement "if (*(int *)(pSVar6 + 0x28) << 0x1d < 0) {\n            bVar5 = *(int *)(pSVar6 + 0xc) != 0;\n          }\n          else {\n            bVar5 = (*(code *)PTR_is_common_shndx_00432fe0)();\n            bVar5 = bVar5 ^ 1;\n            pSVar6 = (Symbol *)*puVar10;\n          }" if (parenthesized_expression "(*(int *)(pSVar6 + 0x28) << 0x1d < 0)" ( (binary_expression "*(int *)(pSVar6 + 0x28) << 0x1d < 0" (binary_expression "*(int *)(pSVar6 + 0x28) << 0x1d" (pointer_expression "*(int *)(pSVar6 + 0x28)" * (cast_expression "(int *)(pSVar6 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar6 + 0x28)" ( (binary_expression "pSVar6 + 0x28" identifier + number_literal) )))) << number_literal) < number_literal) )) (compound_statement "{\n            bVar5 = *(int *)(pSVar6 + 0xc) != 0;\n          }" { (expression_statement "bVar5 = *(int *)(pSVar6 + 0xc) != 0;" (assignment_expression "bVar5 = *(int *)(pSVar6 + 0xc) != 0" identifier = (binary_expression "*(int *)(pSVar6 + 0xc) != 0" (pointer_expression "*(int *)(pSVar6 + 0xc)" * (cast_expression "(int *)(pSVar6 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar6 + 0xc)" ( (binary_expression "pSVar6 + 0xc" identifier + number_literal) )))) != number_literal)) ;) }) (else_clause "else {\n            bVar5 = (*(code *)PTR_is_common_shndx_00432fe0)();\n            bVar5 = bVar5 ^ 1;\n            pSVar6 = (Symbol *)*puVar10;\n          }" else (compound_statement "{\n            bVar5 = (*(code *)PTR_is_common_shndx_00432fe0)();\n            bVar5 = bVar5 ^ 1;\n            pSVar6 = (Symbol *)*puVar10;\n          }" { (expression_statement "bVar5 = (*(code *)PTR_is_common_shndx_00432fe0)();" (assignment_expression "bVar5 = (*(code *)PTR_is_common_shndx_00432fe0)()" identifier = (call_expression "(*(code *)PTR_is_common_shndx_00432fe0)()" (parenthesized_expression "(*(code *)PTR_is_common_shndx_00432fe0)" ( (pointer_expression "*(code *)PTR_is_common_shndx_00432fe0" * (cast_expression "(code *)PTR_is_common_shndx_00432fe0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "bVar5 = bVar5 ^ 1;" (assignment_expression "bVar5 = bVar5 ^ 1" identifier = (binary_expression "bVar5 ^ 1" identifier ^ number_literal)) ;) (expression_statement "pSVar6 = (Symbol *)*puVar10;" (assignment_expression "pSVar6 = (Symbol *)*puVar10" identifier = (cast_expression "(Symbol *)*puVar10" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar10" * identifier))) ;) })))) }))) (labeled_statement "LAB_00271b4c:\n        if (bVar5 != 0) {\n          if (*(int *)(pSVar6 + 4) == 0) {\n            (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,PTR_DAT_0043226c + 0x1898);\n            return;\n          }\n          if ((-1 < (int)(*(uint *)(pSVar6 + 0x28) << 0x13)) &&\n             (((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0 ||\n              (-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c))))) {\n            uVar11 = uVar11 | 0x8000;\n          }\n        }" statement_identifier : (if_statement "if (bVar5 != 0) {\n          if (*(int *)(pSVar6 + 4) == 0) {\n            (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,PTR_DAT_0043226c + 0x1898);\n            return;\n          }\n          if ((-1 < (int)(*(uint *)(pSVar6 + 0x28) << 0x13)) &&\n             (((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0 ||\n              (-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c))))) {\n            uVar11 = uVar11 | 0x8000;\n          }\n        }" if (parenthesized_expression "(bVar5 != 0)" ( (binary_expression "bVar5 != 0" identifier != number_literal) )) (compound_statement "{\n          if (*(int *)(pSVar6 + 4) == 0) {\n            (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,PTR_DAT_0043226c + 0x1898);\n            return;\n          }\n          if ((-1 < (int)(*(uint *)(pSVar6 + 0x28) << 0x13)) &&\n             (((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0 ||\n              (-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c))))) {\n            uVar11 = uVar11 | 0x8000;\n          }\n        }" { (if_statement "if (*(int *)(pSVar6 + 4) == 0) {\n            (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,PTR_DAT_0043226c + 0x1898);\n            return;\n          }" if (parenthesized_expression "(*(int *)(pSVar6 + 4) == 0)" ( (binary_expression "*(int *)(pSVar6 + 4) == 0" (pointer_expression "*(int *)(pSVar6 + 4)" * (cast_expression "(int *)(pSVar6 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar6 + 4)" ( (binary_expression "pSVar6 + 4" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n            (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,PTR_DAT_0043226c + 0x1898);\n            return;\n          }" { (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,PTR_DAT_0043226c + 0x1898);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,PTR_DAT_0043226c + 0x1898)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,PTR_DAT_0043226c + 0x1898)" ( (binary_expression "PTR_s_alize_xindex_004323b4 + -0x5bdc" identifier + number_literal) , number_literal , (binary_expression "PTR_DAT_0043226c + 0x1898" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (if_statement "if ((-1 < (int)(*(uint *)(pSVar6 + 0x28) << 0x13)) &&\n             (((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0 ||\n              (-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c))))) {\n            uVar11 = uVar11 | 0x8000;\n          }" if (parenthesized_expression "((-1 < (int)(*(uint *)(pSVar6 + 0x28) << 0x13)) &&\n             (((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0 ||\n              (-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c)))))" ( (binary_expression "(-1 < (int)(*(uint *)(pSVar6 + 0x28) << 0x13)) &&\n             (((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0 ||\n              (-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c))))" (parenthesized_expression "(-1 < (int)(*(uint *)(pSVar6 + 0x28) << 0x13))" ( (binary_expression "-1 < (int)(*(uint *)(pSVar6 + 0x28) << 0x13)" number_literal < (cast_expression "(int)(*(uint *)(pSVar6 + 0x28) << 0x13)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(*(uint *)(pSVar6 + 0x28) << 0x13)" ( (binary_expression "*(uint *)(pSVar6 + 0x28) << 0x13" (pointer_expression "*(uint *)(pSVar6 + 0x28)" * (cast_expression "(uint *)(pSVar6 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar6 + 0x28)" ( (binary_expression "pSVar6 + 0x28" identifier + number_literal) )))) << number_literal) )))) )) && (parenthesized_expression "(((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0 ||\n              (-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c))))" ( (parenthesized_expression "((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0 ||\n              (-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c)))" ( (binary_expression "(*(uint *)(pSVar6 + 0x28) & 0xe000) != 0 ||\n              (-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c))" (binary_expression "(*(uint *)(pSVar6 + 0x28) & 0xe000) != 0" (parenthesized_expression "(*(uint *)(pSVar6 + 0x28) & 0xe000)" ( (binary_expression "*(uint *)(pSVar6 + 0x28) & 0xe000" (pointer_expression "*(uint *)(pSVar6 + 0x28)" * (cast_expression "(uint *)(pSVar6 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar6 + 0x28)" ( (binary_expression "pSVar6 + 0x28" identifier + number_literal) )))) & number_literal) )) != number_literal) || (parenthesized_expression "(-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c))" ( (binary_expression "-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c)" number_literal < (pointer_expression "*(int *)(*(int *)(pSVar6 + 8) + 0x2c)" * (cast_expression "(int *)(*(int *)(pSVar6 + 8) + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pSVar6 + 8) + 0x2c)" ( (binary_expression "*(int *)(pSVar6 + 8) + 0x2c" (pointer_expression "*(int *)(pSVar6 + 8)" * (cast_expression "(int *)(pSVar6 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar6 + 8)" ( (binary_expression "pSVar6 + 8" identifier + number_literal) )))) + number_literal) ))))) ))) )) ))) )) (compound_statement "{\n            uVar11 = uVar11 | 0x8000;\n          }" { (expression_statement "uVar11 = uVar11 | 0x8000;" (assignment_expression "uVar11 = uVar11 | 0x8000" identifier = (binary_expression "uVar11 | 0x8000" identifier | number_literal)) ;) })) }))) (labeled_statement "LAB_00271b88:\n        uVar12 = (undefined2)uVar11;" statement_identifier : (expression_statement "uVar12 = (undefined2)uVar11;" (assignment_expression "uVar12 = (undefined2)uVar11" identifier = (cast_expression "(undefined2)uVar11" ( (type_descriptor "undefined2" type_identifier) ) identifier)) ;)) (expression_statement "iVar4 = *(int *)(pSVar6 + 0x14);" (assignment_expression "iVar4 = *(int *)(pSVar6 + 0x14)" identifier = (pointer_expression "*(int *)(pSVar6 + 0x14)" * (cast_expression "(int *)(pSVar6 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar6 + 0x14)" ( (binary_expression "pSVar6 + 0x14" identifier + number_literal) ))))) ;) }))) (if_statement "if (iVar4 == 0) {\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x19a,PTR_DAT_0043226c + 0x1b80);\n        return;\n      }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x19a,PTR_DAT_0043226c + 0x1b80);\n        return;\n      }" { (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x19a,PTR_DAT_0043226c + 0x1b80);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x19a,PTR_DAT_0043226c + 0x1b80)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_alize_xindex_004323b4 + -0x5bdc,0x19a,PTR_DAT_0043226c + 0x1b80)" ( (binary_expression "PTR_s_alize_xindex_004323b4 + -0x5bdc" identifier + number_literal) , number_literal , (binary_expression "PTR_DAT_0043226c + 0x1b80" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "puVar7 = *(undefined4 **)(param_4 + 4);" (assignment_expression "puVar7 = *(undefined4 **)(param_4 + 4)" identifier = (pointer_expression "*(undefined4 **)(param_4 + 4)" * (cast_expression "(undefined4 **)(param_4 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_4 + 4)" ( (binary_expression "param_4 + 4" identifier + number_literal) ))))) ;) (expression_statement "puVar10 = puVar10 + 1;" (assignment_expression "puVar10 = puVar10 + 1" identifier = (binary_expression "puVar10 + 1" identifier + number_literal)) ;) (expression_statement "*(undefined2 *)(puVar1 + iVar4 * 2) = uVar12;" (assignment_expression "*(undefined2 *)(puVar1 + iVar4 * 2) = uVar12" (pointer_expression "*(undefined2 *)(puVar1 + iVar4 * 2)" * (cast_expression "(undefined2 *)(puVar1 + iVar4 * 2)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + iVar4 * 2)" ( (binary_expression "puVar1 + iVar4 * 2" identifier + (binary_expression "iVar4 * 2" identifier * number_literal)) )))) = identifier) ;) }) while (parenthesized_expression "(puVar7 != puVar10)" ( (binary_expression "puVar7 != puVar10" identifier != identifier) )) ;) })) (expression_statement "*param_5 = puVar1;" (assignment_expression "*param_5 = puVar1" (pointer_expression "*param_5" * identifier) = identifier) ;) (expression_statement "*param_6 = uVar9;" (assignment_expression "*param_6 = uVar9" (pointer_expression "*param_6" * identifier) = identifier) ;) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit "/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */\n/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */\n/* DWARF original name: symbol_section_contents<64, true>\n   DWARF original prototype: void symbol_section_contents<64,_true>(Versions * this, Symbol_table *\n   symtab, Stringpool * dynpool, uint local_symcount,\n   vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> * syms, uchar * * pp, uint * psize) */\n\nvoid __thiscall\ngold::Versions::symbol_section_contents<64,_true>\n          (Versions *this,Symbol_table *symtab,Stringpool *dynpool,uint param_3,\n          vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> *syms,uchar **pp,uint *psize)\n\n{\n  uchar *puVar1;\n  uchar *puVar2;\n  uint uVar3;\n  byte bVar7;\n  int iVar4;\n  undefined4 *__n_elt;\n  char *pcVar5;\n  __node_base *p_Var6;\n  Symbol *sym;\n  pointer ppSVar8;\n  char *pcVar9;\n  undefined4 *puVar10;\n  _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n  *this_00;\n  undefined *puVar11;\n  undefined *puVar12;\n  anon_union_4_3_b0f6f408_for_u1_ aVar13;\n  uint unaff_s0;\n  Versions *unaff_s1;\n  __node_type *__node;\n  Symbol_table *unaff_s2;\n  Stringpool *unaff_s3;\n  undefined *unaff_s4;\n  pointer unaff_s5;\n  _Hash_node_base *p_Var14;\n  uint uVar15;\n  undefined2 uVar16;\n  code *pcVar17;\n  _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n  _Stack_68;\n  undefined *puStack_4c;\n  pointer ppSStack_48;\n  code *pcStack_44;\n  undefined *puStack_38;\n  \n  _Stack_68._M_rehash_policy._M_max_load_factor = (float)unaff_s1;\n  _Stack_68._M_rehash_policy._M_next_resize = (size_t)unaff_s2;\n  _Stack_68._M_single_bucket = (__bucket_type)unaff_s3;\n  if (this->is_finalized_ == false) {\nLAB_00271d38:\n    this_00 = (_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n               *)0x6cf;\n    puVar12 = PTR_s__0043226c + 0x1850;\n    pcVar17 = std::\n              _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n              ::_M_emplace<std::pair<std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>;\n    puVar10 = (undefined4 *)(PTR_s__0043226c + 0x13e0);\n    puVar11 = PTR_do_gold_unreachable_004323c4;\n    (*(code *)PTR_do_gold_unreachable_004323c4)();\n    _Stack_68._M_element_count = unaff_s0;\n    puStack_4c = unaff_s4;\n    ppSStack_48 = unaff_s5;\n    pcStack_44 = pcVar17;\n    puStack_38 = puVar12;\n    __n_elt = (undefined4 *)(**(code **)(puVar11 + 0x1c05e8))(0x14);\n    pcVar9 = ((Symbol *)param_3)->name_;\n    pcVar5 = ((Symbol *)param_3)->version_;\n    uVar15 = this_00->_M_bucket_count;\n    aVar13 = ((Symbol *)param_3)->u1_;\n    __node = (__node_type *)(pcVar5 + (int)pcVar9);\n    *__n_elt = 0;\n    if (uVar15 == 0) {\n      trap(7);\n    }\n    uVar15 = (uint)__node % uVar15;\n    __n_elt[1] = pcVar9;\n    __n_elt[2] = pcVar5;\n    *(anon_union_4_3_b0f6f408_for_u1_ *)(__n_elt + 3) = aVar13;\n    p_Var6 = std::\n             _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n             ::_M_find_before_node(this_00,uVar15,(key_type *)(__n_elt + 1),(__hash_code)__node);\n    if (p_Var6 != (__node_base *)0x0) {\n      p_Var14 = p_Var6->_M_nxt;\n      if (p_Var14 != (_Hash_node_base *)0x0) {\n        (**(code **)(puVar11 + 0x1c0538))(__n_elt);\n        *puVar10 = p_Var14;\n        *(undefined1 *)(puVar10 + 1) = 0;\n        return;\n      }\n    }\n    std::\n    _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n    ::_M_insert_unique_node(&_Stack_68,(size_type)this_00,uVar15,__node,(size_type)__n_elt);\n    *(undefined1 *)(puVar10 + 1) = 1;\n    *puVar10 = _Stack_68._M_buckets;\n    return;\n  }\n  unaff_s0 = (((int)(syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                    _M_impl._M_finish -\n               (int)(syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                    _M_impl._M_start >> 2) + param_3) * 2;\n  puVar1 = (uchar *)(*(code *)PTR_operator_new___004322dc)(unaff_s0);\n  if (param_3 != 0) {\n    puVar2 = puVar1;\n    do {\n      puVar2[0] = '\0';\n      puVar2[1] = '\0';\n      puVar2 = puVar2 + 2;\n    } while (puVar1 + param_3 * 2 != puVar2);\n  }\n  unaff_s4 = PTR_version_index_004358a0;\n  unaff_s5 = (syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n             _M_start;\n  if (unaff_s5 !=\n      (syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl._M_finish) {\n    do {\n      sym = *unaff_s5;\n      if (sym->version_ != (char *)0x0) {\n        if (*sym->version_ == '\0') {\n          uVar3 = *(uint *)&sym->field_0x28 & 0xe000;\n          uVar15 = 1;\n          if (uVar3 == 0) goto LAB_00271b34;\nLAB_00271c60:\n          bVar7 = uVar3 != 0x8000;\n          param_3 = (uint)sym;\n        }\n        else {\n          uVar15 = version_index(this,symtab,dynpool,sym);\n          sym = *unaff_s5;\n          pcVar5 = sym->version_;\nLAB_00271c48:\n          param_3 = (uint)sym;\n          if (pcVar5 == (char *)0x0) goto LAB_00271b88;\n          uVar3 = *(uint *)&sym->field_0x28 & 0xe000;\n          if (uVar3 != 0) goto LAB_00271c60;\nLAB_00271b34:\n          param_3 = (uint)sym;\n          if (*(int *)&sym->field_0x28 << 0x1d < 0) {\n            bVar7 = (sym->u2_).shndx != 0;\n          }\n          else {\n            bVar7 = (*(code *)PTR_is_common_shndx_00432fe0)();\n            bVar7 = bVar7 ^ 1;\n            sym = *unaff_s5;\n          }\n        }\nLAB_00271b4c:\n        if (bVar7 == 0) {\nLAB_00271b88:\n          uVar16 = (undefined2)uVar15;\n          uVar15 = sym->dynsym_index_;\n          sym = (Symbol *)param_3;\n          goto LAB_00271b8c;\n        }\n        puVar11 = PTR_s__0043226c;\n        if (sym->version_ != (char *)0x0) {\n          if ((-1 < (int)(*(uint *)&sym->field_0x28 << 0x13)) &&\n             (((*(uint *)&sym->field_0x28 & 0xe000) != 0 ||\n              (-1 < (int)((sym->u1_).output_segment)->output_lists_[3].\n                         super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                         ._M_impl._M_end_of_storage)))) {\n            uVar15 = uVar15 | 0x8000;\n          }\n          goto LAB_00271b88;\n        }\nLAB_00271d20:\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,puVar11 + 0x1898);\n        _Stack_68._M_rehash_policy._M_max_load_factor = (float)this;\n        _Stack_68._M_rehash_policy._M_next_resize = (size_t)symtab;\n        _Stack_68._M_single_bucket = (__bucket_type)dynpool;\n        goto LAB_00271d38;\n      }\n      uVar15 = *(uint *)&sym->field_0x28 & 0xe000;\n      param_3 = (uint)sym;\n      if (uVar15 != 0) {\n        uVar15 = (uint)(uVar15 != 0x8000);\n        goto LAB_00271b88;\n      }\n      uVar15 = (sym->u2_).shndx;\n      if ((int)(*(uint *)&sym->field_0x28 << 0x1d) < 0) {\n        if (uVar15 != 0) {\n          uVar15 = (uint)((sym->u1_).output_segment)->output_lists_[3].\n                         super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                         ._M_impl._M_end_of_storage >> 0x1f ^ 1;\n        }\n        goto LAB_00271b88;\n      }\n      iVar4 = (*(code *)PTR_is_common_shndx_00432fe0)(uVar15);\n      sym = *unaff_s5;\n      pcVar5 = sym->version_;\n      if (iVar4 != 0) {\n        uVar15 = 0;\n        goto LAB_00271c48;\n      }\n      uVar3 = *(uint *)&sym->field_0x28 & 0xe000;\n      if (uVar3 != 0) {\n        uVar15 = 1;\n        param_3 = (uint)sym;\n        if (pcVar5 == (char *)0x0) goto LAB_00271b88;\n        bVar7 = uVar3 != 0x8000;\n        goto LAB_00271b4c;\n      }\n      uVar15 = (uint)((sym->u1_).output_segment)->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage >> 0x1f ^ 1;\n      uVar16 = (undefined2)uVar15;\n      if (pcVar5 != (char *)0x0) goto LAB_00271b34;\n      uVar15 = sym->dynsym_index_;\nLAB_00271b8c:\n      if (uVar15 == 0) {\n        puVar11 = PTR_s__0043226c + 0x1b80;\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x19a,puVar11);\n        param_3 = (uint)sym;\n        goto LAB_00271d20;\n      }\n      ppSVar8 = (syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n                _M_finish;\n      unaff_s5 = unaff_s5 + 1;\n      *(undefined2 *)(puVar1 + uVar15 * 2) = uVar16;\n    } while (ppSVar8 != unaff_s5);\n  }\n  *pp = puVar1;\n  *psize = unaff_s0;\n  return;\n}\n\n" comment comment comment (declaration "void __thiscall\ngold::Versions::symbol_section_contents<64,_true>\n          (Versions *this,Symbol_table *symtab,Stringpool *dynpool,uint param_3,\n          vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> *syms,uchar **pp,uint *psize)\n\n{\n  uchar *puVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Versions::" identifier : : identifier : :) identifier (ERROR "<64" < number_literal) , (ERROR "_true>\n          (Versions *this,Symbol_table *symtab,Stringpool *dynpool,uint param_3,\n          vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> *syms,uchar **pp,uint *psize)\n\n{\n  uchar" (function_declarator "_true>\n          (Versions *this,Symbol_table *symtab,Stringpool *dynpool,uint param_3,\n          vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> *syms,uchar **pp,uint *psize)" identifier (ERROR ">" >) (parameter_list "(Versions *this,Symbol_table *symtab,Stringpool *dynpool,uint param_3,\n          vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> *syms,uchar **pp,uint *psize)" ( (parameter_declaration "Versions *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Symbol_table *symtab" type_identifier (pointer_declarator "*symtab" * identifier)) , (parameter_declaration "Stringpool *dynpool" type_identifier (pointer_declarator "*dynpool" * identifier)) , (parameter_declaration "uint param_3" type_identifier identifier) , (parameter_declaration "vector<gold::Symbol*" type_identifier (ERROR "<gold::Symbol" < identifier : : identifier) (abstract_pointer_declarator "*" *)) , (parameter_declaration "_std::allocator<gold::Symbol*>_> *syms" type_identifier (ERROR "::allocator<gold::Symbol*>_>" : : identifier < identifier : : identifier * > identifier >) (pointer_declarator "*syms" * identifier)) , (parameter_declaration "uchar **pp" type_identifier (pointer_declarator "**pp" * (pointer_declarator "*pp" * identifier))) , (parameter_declaration "uint *psize" type_identifier (pointer_declarator "*psize" * identifier)) ))) { identifier) (pointer_declarator "*puVar1" * identifier) ;) (declaration "uchar *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "byte bVar7;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined4 *__n_elt;" type_identifier (pointer_declarator "*__n_elt" * identifier) ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "__node_base *p_Var6;" type_identifier (pointer_declarator "*p_Var6" * identifier) ;) (declaration "Symbol *sym;" type_identifier (pointer_declarator "*sym" * identifier) ;) (declaration "pointer ppSVar8;" type_identifier identifier ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "undefined4 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (ERROR "_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n  *this_00" (binary_expression "_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std" (binary_expression "_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_" (binary_expression "_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold" (binary_expression "_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int" (binary_expression "_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std" (binary_expression "_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std" (binary_expression "_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std" (binary_expression "_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold" (binary_expression "_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int" (binary_expression "_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std" (binary_expression "_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std" (binary_expression "_Hashtable<std::pair<unsigned_int" (binary_expression "_Hashtable<std" identifier < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR ",_unsigned_int" , identifier) > (ERROR "," ,) identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR ",_unsigned_int" , identifier) > (ERROR "," ,) identifier) (ERROR "::Version_base" : : identifier) * (ERROR ">," > ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR ",_unsigned_int" , identifier) > (ERROR "," ,) identifier) (ERROR "::Version_base" : : identifier) * (ERROR ">" >) identifier) > (ERROR "," ,) identifier) : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : : identifier < true , identifier , (binary_expression "_true>_>\n  *this_00" (binary_expression "_true>_" identifier > identifier) > (pointer_expression "*this_00" * identifier))) (expression_statement ";" ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "undefined *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "anon_union_4_3_b0f6f408_for_u1_ aVar13;" type_identifier identifier ;) (declaration "uint unaff_s0;" type_identifier identifier ;) (declaration "Versions *unaff_s1;" type_identifier (pointer_declarator "*unaff_s1" * identifier) ;) (declaration "__node_type *__node;" type_identifier (pointer_declarator "*__node" * identifier) ;) (declaration "Symbol_table *unaff_s2;" type_identifier (pointer_declarator "*unaff_s2" * identifier) ;) (declaration "Stringpool *unaff_s3;" type_identifier (pointer_declarator "*unaff_s3" * identifier) ;) (declaration "undefined *unaff_s4;" type_identifier (pointer_declarator "*unaff_s4" * identifier) ;) (declaration "pointer unaff_s5;" type_identifier identifier ;) (declaration "_Hash_node_base *p_Var14;" type_identifier (pointer_declarator "*p_Var14" * identifier) ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "undefined2 uVar16;" type_identifier identifier ;) (declaration "code *pcVar17;" type_identifier (pointer_declarator "*pcVar17" * identifier) ;) (ERROR "_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n  _Stack_68" (binary_expression "_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std" (binary_expression "_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_" (binary_expression "_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold" (binary_expression "_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int" (binary_expression "_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std" (binary_expression "_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std" (binary_expression "_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std" (binary_expression "_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold" (binary_expression "_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int" (binary_expression "_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std" (binary_expression "_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std" (binary_expression "_Hashtable<std::pair<unsigned_int" (binary_expression "_Hashtable<std" identifier < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR ",_unsigned_int" , identifier) > (ERROR "," ,) identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR ",_unsigned_int" , identifier) > (ERROR "," ,) identifier) (ERROR "::Version_base" : : identifier) * (ERROR ">," > ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR ",_unsigned_int" , identifier) > (ERROR "," ,) identifier) (ERROR "::Version_base" : : identifier) * (ERROR ">" >) identifier) > (ERROR "," ,) identifier) : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : : identifier < true , identifier , (binary_expression "_true>_>\n  _Stack_68" (binary_expression "_true>_" identifier > identifier) > identifier)) (expression_statement ";" ;) (declaration "undefined *puStack_4c;" type_identifier (pointer_declarator "*puStack_4c" * identifier) ;) (declaration "pointer ppSStack_48;" type_identifier identifier ;) (declaration "code *pcStack_44;" type_identifier (pointer_declarator "*pcStack_44" * identifier) ;) (declaration "undefined *puStack_38;" type_identifier (pointer_declarator "*puStack_38" * identifier) ;) (expression_statement "_Stack_68._M_rehash_policy._M_max_load_factor = (float)unaff_s1;" (assignment_expression "_Stack_68._M_rehash_policy._M_max_load_factor = (float)unaff_s1" (field_expression "_Stack_68._M_rehash_policy._M_max_load_factor" (field_expression "_Stack_68._M_rehash_policy" identifier . field_identifier) . field_identifier) = (cast_expression "(float)unaff_s1" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "_Stack_68._M_rehash_policy._M_next_resize = (size_t)unaff_s2;" (assignment_expression "_Stack_68._M_rehash_policy._M_next_resize = (size_t)unaff_s2" (field_expression "_Stack_68._M_rehash_policy._M_next_resize" (field_expression "_Stack_68._M_rehash_policy" identifier . field_identifier) . field_identifier) = (cast_expression "(size_t)unaff_s2" ( (type_descriptor "size_t" primitive_type) ) identifier)) ;) (expression_statement "_Stack_68._M_single_bucket = (__bucket_type)unaff_s3;" (assignment_expression "_Stack_68._M_single_bucket = (__bucket_type)unaff_s3" (field_expression "_Stack_68._M_single_bucket" identifier . field_identifier) = (cast_expression "(__bucket_type)unaff_s3" ( (type_descriptor "__bucket_type" type_identifier) ) identifier)) ;) (if_statement "if (this->is_finalized_ == false) {\nLAB_00271d38:\n    this_00 = (_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n               *)0x6cf;\n    puVar12 = PTR_s__0043226c + 0x1850;\n    pcVar17 = std::\n              _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n              ::_M_emplace<std::pair<std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>;\n    puVar10 = (undefined4 *)(PTR_s__0043226c + 0x13e0);\n    puVar11 = PTR_do_gold_unreachable_004323c4;\n    (*(code *)PTR_do_gold_unreachable_004323c4)();\n    _Stack_68._M_element_count = unaff_s0;\n    puStack_4c = unaff_s4;\n    ppSStack_48 = unaff_s5;\n    pcStack_44 = pcVar17;\n    puStack_38 = puVar12;\n    __n_elt = (undefined4 *)(**(code **)(puVar11 + 0x1c05e8))(0x14);\n    pcVar9 = ((Symbol *)param_3)->name_;\n    pcVar5 = ((Symbol *)param_3)->version_;\n    uVar15 = this_00->_M_bucket_count;\n    aVar13 = ((Symbol *)param_3)->u1_;\n    __node = (__node_type *)(pcVar5 + (int)pcVar9);\n    *__n_elt = 0;\n    if (uVar15 == 0) {\n      trap(7);\n    }\n    uVar15 = (uint)__node % uVar15;\n    __n_elt[1] = pcVar9;\n    __n_elt[2] = pcVar5;\n    *(anon_union_4_3_b0f6f408_for_u1_ *)(__n_elt + 3) = aVar13;\n    p_Var6 = std::\n             _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n             ::_M_find_before_node(this_00,uVar15,(key_type *)(__n_elt + 1),(__hash_code)__node);\n    if (p_Var6 != (__node_base *)0x0) {\n      p_Var14 = p_Var6->_M_nxt;\n      if (p_Var14 != (_Hash_node_base *)0x0) {\n        (**(code **)(puVar11 + 0x1c0538))(__n_elt);\n        *puVar10 = p_Var14;\n        *(undefined1 *)(puVar10 + 1) = 0;\n        return;\n      }\n    }\n    std::\n    _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n    ::_M_insert_unique_node(&_Stack_68,(size_type)this_00,uVar15,__node,(size_type)__n_elt);\n    *(undefined1 *)(puVar10 + 1) = 1;\n    *puVar10 = _Stack_68._M_buckets;\n    return;\n  }" if (parenthesized_expression "(this->is_finalized_ == false)" ( (binary_expression "this->is_finalized_ == false" (field_expression "this->is_finalized_" identifier -> field_identifier) == false) )) (compound_statement "{\nLAB_00271d38:\n    this_00 = (_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n               *)0x6cf;\n    puVar12 = PTR_s__0043226c + 0x1850;\n    pcVar17 = std::\n              _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n              ::_M_emplace<std::pair<std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>;\n    puVar10 = (undefined4 *)(PTR_s__0043226c + 0x13e0);\n    puVar11 = PTR_do_gold_unreachable_004323c4;\n    (*(code *)PTR_do_gold_unreachable_004323c4)();\n    _Stack_68._M_element_count = unaff_s0;\n    puStack_4c = unaff_s4;\n    ppSStack_48 = unaff_s5;\n    pcStack_44 = pcVar17;\n    puStack_38 = puVar12;\n    __n_elt = (undefined4 *)(**(code **)(puVar11 + 0x1c05e8))(0x14);\n    pcVar9 = ((Symbol *)param_3)->name_;\n    pcVar5 = ((Symbol *)param_3)->version_;\n    uVar15 = this_00->_M_bucket_count;\n    aVar13 = ((Symbol *)param_3)->u1_;\n    __node = (__node_type *)(pcVar5 + (int)pcVar9);\n    *__n_elt = 0;\n    if (uVar15 == 0) {\n      trap(7);\n    }\n    uVar15 = (uint)__node % uVar15;\n    __n_elt[1] = pcVar9;\n    __n_elt[2] = pcVar5;\n    *(anon_union_4_3_b0f6f408_for_u1_ *)(__n_elt + 3) = aVar13;\n    p_Var6 = std::\n             _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n             ::_M_find_before_node(this_00,uVar15,(key_type *)(__n_elt + 1),(__hash_code)__node);\n    if (p_Var6 != (__node_base *)0x0) {\n      p_Var14 = p_Var6->_M_nxt;\n      if (p_Var14 != (_Hash_node_base *)0x0) {\n        (**(code **)(puVar11 + 0x1c0538))(__n_elt);\n        *puVar10 = p_Var14;\n        *(undefined1 *)(puVar10 + 1) = 0;\n        return;\n      }\n    }\n    std::\n    _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n    ::_M_insert_unique_node(&_Stack_68,(size_type)this_00,uVar15,__node,(size_type)__n_elt);\n    *(undefined1 *)(puVar10 + 1) = 1;\n    *puVar10 = _Stack_68._M_buckets;\n    return;\n  }" { (labeled_statement "LAB_00271d38:\n    this_00 = (_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n               *)0x6cf;\n    puVar12 = PTR_s__0043226c + 0x1850;\n    pcVar17 = std::\n              _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n              ::_M_emplace<std::pair<std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>;\n    puVar10 = (undefined4 *)(PTR_s__0043226c + 0x13e0);" statement_identifier : (expression_statement "this_00 = (_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n               *)0x6cf;\n    puVar12 = PTR_s__0043226c + 0x1850;\n    pcVar17 = std::\n              _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n              ::_M_emplace<std::pair<std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>;\n    puVar10 = (undefined4 *)(PTR_s__0043226c + 0x13e0);" (assignment_expression "this_00 = (_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n               *)0x6cf;\n    puVar12 = PTR_s__0043226c + 0x1850;\n    pcVar17 = std::\n              _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n              ::_M_emplace<std::pair<std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>;\n    puVar10 = (undefined4 *)(PTR_s__0043226c + 0x13e0)" identifier = (parenthesized_expression "(_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n               *)0x6cf;\n    puVar12 = PTR_s__0043226c + 0x1850;\n    pcVar17 = std::\n              _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n              ::_M_emplace<std::pair<std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>;\n    puVar10 = (undefined4 *)(PTR_s__0043226c + 0x13e0)" ( (ERROR "_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n               *)0x6cf;\n    puVar12 = PTR_s__0043226c + 0x1850;\n    pcVar17 = std::\n              _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n              ::_M_emplace<std::pair<std::pair<unsigned_int,_unsigned_int>,_gold::" (comma_expression "_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std" (binary_expression "_Hashtable<std::pair<unsigned_int" (binary_expression "_Hashtable<std" identifier < identifier) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "pair<unsigned_int,_unsigned_int>,_gold" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>,_gold" identifier > (ERROR "," ,) identifier)) : : (comma_expression "Version_base*>,_std" identifier (ERROR "*>" * >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "pair<unsigned_int,_unsigned_int>,_gold" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>,_gold" identifier > (ERROR "," ,) identifier)) : : (binary_expression "Version_base*>_>,_std" (binary_expression "Version_base*>_" identifier * (ERROR ">" >) identifier) > (ERROR "," ,) identifier) : : identifier : : (comma_expression "_Select1st,_gold" identifier , identifier) : : identifier : : (comma_expression "Version_table_eq,_gold" identifier , identifier) : : identifier : : (comma_expression "Version_table_hash,_std" identifier , identifier) : : identifier : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) : : identifier : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) : : identifier : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) : : identifier : : (comma_expression "_Hashtable_traits<true,_false,_true>_>\n               *)0x6cf" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_false,_true>_>\n               *)0x6cf" identifier , (binary_expression "_true>_>\n               *)0x6cf" (binary_expression "_true>_" identifier > identifier) > (pointer_expression "*)0x6cf" * (ERROR ")" )) number_literal)))) ; (assignment_expression "puVar12 = PTR_s__0043226c + 0x1850" identifier = (binary_expression "PTR_s__0043226c + 0x1850" identifier + number_literal)) ; (assignment_expression "pcVar17 = std" identifier = identifier) : : (binary_expression "_Hashtable<std" identifier < identifier) : : (comma_expression "pair<unsigned_int,_unsigned_int>,_std" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "pair<unsigned_int,_unsigned_int>,_gold" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>,_gold" identifier > (ERROR "," ,) identifier)) : : (comma_expression "Version_base*>,_std" identifier (ERROR "*>" * >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "pair<unsigned_int,_unsigned_int>,_gold" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>,_gold" identifier > (ERROR "," ,) identifier)) : : (binary_expression "Version_base*>_>,_std" (binary_expression "Version_base*>_" identifier * (ERROR ">" >) identifier) > (ERROR "," ,) identifier) : : identifier : : (comma_expression "_Select1st,_gold" identifier , identifier) : : identifier : : (comma_expression "Version_table_eq,_gold" identifier , identifier) : : identifier : : (comma_expression "Version_table_hash,_std" identifier , identifier) : : identifier : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) : : identifier : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) : : identifier : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) : : identifier : : (comma_expression "_Hashtable_traits<true,_false,_true>_>\n              ::_M_emplace<std" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_false,_true>_>\n              ::_M_emplace<std" identifier , (binary_expression "_true>_>\n              ::_M_emplace<std" (binary_expression "_true>_>\n              ::_M_emplace" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) identifier) < identifier))) : : (binary_expression "pair<std" identifier < identifier) : : (comma_expression "pair<unsigned_int,_unsigned_int>,_gold" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>,_gold" identifier > (ERROR "," ,) identifier)) : :) (binary_expression "Version_base*>_>;\n    puVar10 = (undefined4 *)(PTR_s__0043226c + 0x13e0)" (binary_expression "Version_base*>_" identifier * (ERROR ">" >) identifier) > (ERROR ";" ;) (assignment_expression "puVar10 = (undefined4 *)(PTR_s__0043226c + 0x13e0)" identifier = (cast_expression "(undefined4 *)(PTR_s__0043226c + 0x13e0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s__0043226c + 0x13e0)" ( (binary_expression "PTR_s__0043226c + 0x13e0" identifier + number_literal) ))))) ))) ;)) (expression_statement "puVar11 = PTR_do_gold_unreachable_004323c4;" (assignment_expression "puVar11 = PTR_do_gold_unreachable_004323c4" identifier = identifier) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)();" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)()" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "_Stack_68._M_element_count = unaff_s0;" (assignment_expression "_Stack_68._M_element_count = unaff_s0" (field_expression "_Stack_68._M_element_count" identifier . field_identifier) = identifier) ;) (expression_statement "puStack_4c = unaff_s4;" (assignment_expression "puStack_4c = unaff_s4" identifier = identifier) ;) (expression_statement "ppSStack_48 = unaff_s5;" (assignment_expression "ppSStack_48 = unaff_s5" identifier = identifier) ;) (expression_statement "pcStack_44 = pcVar17;" (assignment_expression "pcStack_44 = pcVar17" identifier = identifier) ;) (expression_statement "puStack_38 = puVar12;" (assignment_expression "puStack_38 = puVar12" identifier = identifier) ;) (expression_statement "__n_elt = (undefined4 *)(**(code **)(puVar11 + 0x1c05e8))(0x14);" (assignment_expression "__n_elt = (undefined4 *)(**(code **)(puVar11 + 0x1c05e8))(0x14)" identifier = (cast_expression "(undefined4 *)(**(code **)(puVar11 + 0x1c05e8))(0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar11 + 0x1c05e8))(0x14)" (parenthesized_expression "(**(code **)(puVar11 + 0x1c05e8))" ( (pointer_expression "**(code **)(puVar11 + 0x1c05e8)" * (pointer_expression "*(code **)(puVar11 + 0x1c05e8)" * (cast_expression "(code **)(puVar11 + 0x1c05e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x1c05e8)" ( (binary_expression "puVar11 + 0x1c05e8" identifier + number_literal) ))))) )) (argument_list "(0x14)" ( number_literal ))))) ;) (expression_statement "pcVar9 = ((Symbol *)param_3)->name_;" (assignment_expression "pcVar9 = ((Symbol *)param_3)->name_" identifier = (field_expression "((Symbol *)param_3)->name_" (parenthesized_expression "((Symbol *)param_3)" ( (cast_expression "(Symbol *)param_3" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier)) ;) (expression_statement "pcVar5 = ((Symbol *)param_3)->version_;" (assignment_expression "pcVar5 = ((Symbol *)param_3)->version_" identifier = (field_expression "((Symbol *)param_3)->version_" (parenthesized_expression "((Symbol *)param_3)" ( (cast_expression "(Symbol *)param_3" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier)) ;) (expression_statement "uVar15 = this_00->_M_bucket_count;" (assignment_expression "uVar15 = this_00->_M_bucket_count" identifier = (field_expression "this_00->_M_bucket_count" identifier -> field_identifier)) ;) (expression_statement "aVar13 = ((Symbol *)param_3)->u1_;" (assignment_expression "aVar13 = ((Symbol *)param_3)->u1_" identifier = (field_expression "((Symbol *)param_3)->u1_" (parenthesized_expression "((Symbol *)param_3)" ( (cast_expression "(Symbol *)param_3" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier)) ;) (expression_statement "__node = (__node_type *)(pcVar5 + (int)pcVar9);" (assignment_expression "__node = (__node_type *)(pcVar5 + (int)pcVar9)" identifier = (cast_expression "(__node_type *)(pcVar5 + (int)pcVar9)" ( (type_descriptor "__node_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar5 + (int)pcVar9)" ( (binary_expression "pcVar5 + (int)pcVar9" identifier + (cast_expression "(int)pcVar9" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "*__n_elt = 0;" (assignment_expression "*__n_elt = 0" (pointer_expression "*__n_elt" * identifier) = number_literal) ;) (if_statement "if (uVar15 == 0) {\n      trap(7);\n    }" if (parenthesized_expression "(uVar15 == 0)" ( (binary_expression "uVar15 == 0" identifier == number_literal) )) (compound_statement "{\n      trap(7);\n    }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "uVar15 = (uint)__node % uVar15;" (assignment_expression "uVar15 = (uint)__node % uVar15" identifier = (binary_expression "(uint)__node % uVar15" (cast_expression "(uint)__node" ( (type_descriptor "uint" type_identifier) ) identifier) % identifier)) ;) (expression_statement "__n_elt[1] = pcVar9;" (assignment_expression "__n_elt[1] = pcVar9" (subscript_expression "__n_elt[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "__n_elt[2] = pcVar5;" (assignment_expression "__n_elt[2] = pcVar5" (subscript_expression "__n_elt[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(anon_union_4_3_b0f6f408_for_u1_ *)(__n_elt + 3) = aVar13;" (assignment_expression "*(anon_union_4_3_b0f6f408_for_u1_ *)(__n_elt + 3) = aVar13" (pointer_expression "*(anon_union_4_3_b0f6f408_for_u1_ *)(__n_elt + 3)" * (cast_expression "(anon_union_4_3_b0f6f408_for_u1_ *)(__n_elt + 3)" ( (type_descriptor "anon_union_4_3_b0f6f408_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(__n_elt + 3)" ( (binary_expression "__n_elt + 3" identifier + number_literal) )))) = identifier) ;) (ERROR "p_Var6 = std::\n             _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::" (assignment_expression "p_Var6 = std" identifier = identifier) : : (binary_expression "_Hashtable<std" identifier < identifier) : : (comma_expression "pair<unsigned_int,_unsigned_int>,_std" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "pair<unsigned_int,_unsigned_int>,_gold" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>,_gold" identifier > (ERROR "," ,) identifier)) : : (comma_expression "Version_base*>,_std" identifier (ERROR "*>" * >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "pair<unsigned_int,_unsigned_int>,_gold" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>,_gold" identifier > (ERROR "," ,) identifier)) : : (binary_expression "Version_base*>_>,_std" (binary_expression "Version_base*>_" identifier * (ERROR ">" >) identifier) > (ERROR "," ,) identifier) : :) (labeled_statement "__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n             ::_M_find_before_node(this_00,uVar15,(key_type *)(__n_elt + 1),(__hash_code)__node);" statement_identifier (ERROR "::_Select1st,_gold:" : : (comma_expression "_Select1st,_gold" identifier , identifier) :) : (labeled_statement "Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n             ::_M_find_before_node(this_00,uVar15,(key_type *)(__n_elt + 1),(__hash_code)__node);" statement_identifier (ERROR "::Version_table_eq,_gold:" : : (comma_expression "Version_table_eq,_gold" identifier , identifier) :) : (labeled_statement "Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n             ::_M_find_before_node(this_00,uVar15,(key_type *)(__n_elt + 1),(__hash_code)__node);" statement_identifier (ERROR "::Version_table_hash,_std:" : : (comma_expression "Version_table_hash,_std" identifier , identifier) :) : (labeled_statement "__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n             ::_M_find_before_node(this_00,uVar15,(key_type *)(__n_elt + 1),(__hash_code)__node);" statement_identifier (ERROR "::_Mod_range_hashing,_std:" : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) :) : (labeled_statement "__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n             ::_M_find_before_node(this_00,uVar15,(key_type *)(__n_elt + 1),(__hash_code)__node);" statement_identifier (ERROR "::_Default_ranged_hash,_std:" : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) :) : (labeled_statement "__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n             ::_M_find_before_node(this_00,uVar15,(key_type *)(__n_elt + 1),(__hash_code)__node);" statement_identifier (ERROR "::_Prime_rehash_policy,_std:" : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) :) : (labeled_statement "__detail::_Hashtable_traits<true,_false,_true>_>\n             ::_M_find_before_node(this_00,uVar15,(key_type *)(__n_elt + 1),(__hash_code)__node);" statement_identifier : (ERROR ":" :) (expression_statement "_Hashtable_traits<true,_false,_true>_>\n             ::_M_find_before_node(this_00,uVar15,(key_type *)(__n_elt + 1),(__hash_code)__node);" (comma_expression "_Hashtable_traits<true,_false,_true>_>\n             ::_M_find_before_node(this_00,uVar15,(key_type *)(__n_elt + 1),(__hash_code)__node)" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_false,_true>_>\n             ::_M_find_before_node(this_00,uVar15,(key_type *)(__n_elt + 1),(__hash_code)__node)" identifier , (binary_expression "_true>_>\n             ::_M_find_before_node(this_00,uVar15,(key_type *)(__n_elt + 1),(__hash_code)__node)" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) (call_expression "_M_find_before_node(this_00,uVar15,(key_type *)(__n_elt + 1),(__hash_code)__node)" identifier (argument_list "(this_00,uVar15,(key_type *)(__n_elt + 1),(__hash_code)__node)" ( identifier , identifier , (cast_expression "(key_type *)(__n_elt + 1)" ( (type_descriptor "key_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(__n_elt + 1)" ( (binary_expression "__n_elt + 1" identifier + number_literal) ))) , (cast_expression "(__hash_code)__node" ( (type_descriptor "__hash_code" type_identifier) ) identifier) )))))) ;)))))))) (if_statement "if (p_Var6 != (__node_base *)0x0) {\n      p_Var14 = p_Var6->_M_nxt;\n      if (p_Var14 != (_Hash_node_base *)0x0) {\n        (**(code **)(puVar11 + 0x1c0538))(__n_elt);\n        *puVar10 = p_Var14;\n        *(undefined1 *)(puVar10 + 1) = 0;\n        return;\n      }\n    }" if (parenthesized_expression "(p_Var6 != (__node_base *)0x0)" ( (binary_expression "p_Var6 != (__node_base *)0x0" identifier != (cast_expression "(__node_base *)0x0" ( (type_descriptor "__node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      p_Var14 = p_Var6->_M_nxt;\n      if (p_Var14 != (_Hash_node_base *)0x0) {\n        (**(code **)(puVar11 + 0x1c0538))(__n_elt);\n        *puVar10 = p_Var14;\n        *(undefined1 *)(puVar10 + 1) = 0;\n        return;\n      }\n    }" { (expression_statement "p_Var14 = p_Var6->_M_nxt;" (assignment_expression "p_Var14 = p_Var6->_M_nxt" identifier = (field_expression "p_Var6->_M_nxt" identifier -> field_identifier)) ;) (if_statement "if (p_Var14 != (_Hash_node_base *)0x0) {\n        (**(code **)(puVar11 + 0x1c0538))(__n_elt);\n        *puVar10 = p_Var14;\n        *(undefined1 *)(puVar10 + 1) = 0;\n        return;\n      }" if (parenthesized_expression "(p_Var14 != (_Hash_node_base *)0x0)" ( (binary_expression "p_Var14 != (_Hash_node_base *)0x0" identifier != (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        (**(code **)(puVar11 + 0x1c0538))(__n_elt);\n        *puVar10 = p_Var14;\n        *(undefined1 *)(puVar10 + 1) = 0;\n        return;\n      }" { (expression_statement "(**(code **)(puVar11 + 0x1c0538))(__n_elt);" (call_expression "(**(code **)(puVar11 + 0x1c0538))(__n_elt)" (parenthesized_expression "(**(code **)(puVar11 + 0x1c0538))" ( (pointer_expression "**(code **)(puVar11 + 0x1c0538)" * (pointer_expression "*(code **)(puVar11 + 0x1c0538)" * (cast_expression "(code **)(puVar11 + 0x1c0538)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x1c0538)" ( (binary_expression "puVar11 + 0x1c0538" identifier + number_literal) ))))) )) (argument_list "(__n_elt)" ( identifier ))) ;) (expression_statement "*puVar10 = p_Var14;" (assignment_expression "*puVar10 = p_Var14" (pointer_expression "*puVar10" * identifier) = identifier) ;) (expression_statement "*(undefined1 *)(puVar10 + 1) = 0;" (assignment_expression "*(undefined1 *)(puVar10 + 1) = 0" (pointer_expression "*(undefined1 *)(puVar10 + 1)" * (cast_expression "(undefined1 *)(puVar10 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 1)" ( (binary_expression "puVar10 + 1" identifier + number_literal) )))) = number_literal) ;) (return_statement "return;" return ;) })) })) (ERROR "std::\n    _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (comma_expression "std::\n    _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold" (binary_expression "std::\n    _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std" (binary_expression "std::\n    _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_" identifier (ERROR "::\n    _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*" : : (binary_expression "_Hashtable<std" identifier < identifier) : : (comma_expression "pair<unsigned_int,_unsigned_int>,_std" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "pair<unsigned_int,_unsigned_int>,_gold" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>,_gold" identifier > (ERROR "," ,) identifier)) : : (comma_expression "Version_base*>,_std" identifier (ERROR "*>" * >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "pair<unsigned_int,_unsigned_int>,_gold" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>,_gold" identifier > (ERROR "," ,) identifier)) : : identifier *) > identifier) > (ERROR "," ,) identifier) (ERROR "::__detail::_Select1st" : : identifier : : identifier) , identifier) : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : :) (expression_statement "_Hashtable_traits<true,_false,_true>_>\n    ::_M_insert_unique_node(&_Stack_68,(size_type)this_00,uVar15,__node,(size_type)__n_elt);" (comma_expression "_Hashtable_traits<true,_false,_true>_>\n    ::_M_insert_unique_node(&_Stack_68,(size_type)this_00,uVar15,__node,(size_type)__n_elt)" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_false,_true>_>\n    ::_M_insert_unique_node(&_Stack_68,(size_type)this_00,uVar15,__node,(size_type)__n_elt)" identifier , (binary_expression "_true>_>\n    ::_M_insert_unique_node(&_Stack_68,(size_type)this_00,uVar15,__node,(size_type)__n_elt)" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) (call_expression "_M_insert_unique_node(&_Stack_68,(size_type)this_00,uVar15,__node,(size_type)__n_elt)" identifier (argument_list "(&_Stack_68,(size_type)this_00,uVar15,__node,(size_type)__n_elt)" ( (pointer_expression "&_Stack_68" & identifier) , (cast_expression "(size_type)this_00" ( (type_descriptor "size_type" type_identifier) ) identifier) , identifier , identifier , (cast_expression "(size_type)__n_elt" ( (type_descriptor "size_type" type_identifier) ) identifier) )))))) ;) (expression_statement "*(undefined1 *)(puVar10 + 1) = 1;" (assignment_expression "*(undefined1 *)(puVar10 + 1) = 1" (pointer_expression "*(undefined1 *)(puVar10 + 1)" * (cast_expression "(undefined1 *)(puVar10 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 1)" ( (binary_expression "puVar10 + 1" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*puVar10 = _Stack_68._M_buckets;" (assignment_expression "*puVar10 = _Stack_68._M_buckets" (pointer_expression "*puVar10" * identifier) = (field_expression "_Stack_68._M_buckets" identifier . field_identifier)) ;) (return_statement "return;" return ;) })) (expression_statement "unaff_s0 = (((int)(syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                    _M_impl._M_finish -\n               (int)(syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                    _M_impl._M_start >> 2) + param_3) * 2;" (assignment_expression "unaff_s0 = (((int)(syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                    _M_impl._M_finish -\n               (int)(syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                    _M_impl._M_start >> 2) + param_3) * 2" identifier = (binary_expression "(((int)(syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                    _M_impl._M_finish -\n               (int)(syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                    _M_impl._M_start >> 2) + param_3) * 2" (parenthesized_expression "(((int)(syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                    _M_impl._M_finish -\n               (int)(syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                    _M_impl._M_start >> 2) + param_3)" ( (binary_expression "((int)(syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                    _M_impl._M_finish -\n               (int)(syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                    _M_impl._M_start >> 2) + param_3" (parenthesized_expression "((int)(syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                    _M_impl._M_finish -\n               (int)(syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                    _M_impl._M_start >> 2)" ( (binary_expression "(int)(syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                    _M_impl._M_finish -\n               (int)(syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                    _M_impl._M_start >> 2" (binary_expression "(int)(syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                    _M_impl._M_finish -\n               (int)(syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                    _M_impl._M_start" (cast_expression "(int)(syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                    _M_impl._M_finish" ( (type_descriptor "int" primitive_type) ) (field_expression "(syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                    _M_impl._M_finish" (field_expression "(syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                    _M_impl" (parenthesized_expression "(syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)" ( (binary_expression "syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>" (binary_expression "syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "syms->super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "syms->super__Vector_base<gold::Symbol*,_std" (binary_expression "syms->super__Vector_base<gold" (field_expression "syms->super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier)) - (cast_expression "(int)(syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                    _M_impl._M_start" ( (type_descriptor "int" primitive_type) ) (field_expression "(syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                    _M_impl._M_start" (field_expression "(syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                    _M_impl" (parenthesized_expression "(syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)" ( (binary_expression "syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>" (binary_expression "syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "syms->super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "syms->super__Vector_base<gold::Symbol*,_std" (binary_expression "syms->super__Vector_base<gold" (field_expression "syms->super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier))) >> number_literal) )) + identifier) )) * number_literal)) ;) (expression_statement "puVar1 = (uchar *)(*(code *)PTR_operator_new___004322dc)(unaff_s0);" (assignment_expression "puVar1 = (uchar *)(*(code *)PTR_operator_new___004322dc)(unaff_s0)" identifier = (cast_expression "(uchar *)(*(code *)PTR_operator_new___004322dc)(unaff_s0)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_operator_new___004322dc)(unaff_s0)" (parenthesized_expression "(*(code *)PTR_operator_new___004322dc)" ( (pointer_expression "*(code *)PTR_operator_new___004322dc" * (cast_expression "(code *)PTR_operator_new___004322dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s0)" ( identifier ))))) ;) (if_statement "if (param_3 != 0) {\n    puVar2 = puVar1;\n    do {\n      puVar2[0] = '\0';\n      puVar2[1] = '\0';\n      puVar2 = puVar2 + 2;\n    } while (puVar1 + param_3 * 2 != puVar2);\n  }" if (parenthesized_expression "(param_3 != 0)" ( (binary_expression "param_3 != 0" identifier != number_literal) )) (compound_statement "{\n    puVar2 = puVar1;\n    do {\n      puVar2[0] = '\0';\n      puVar2[1] = '\0';\n      puVar2 = puVar2 + 2;\n    } while (puVar1 + param_3 * 2 != puVar2);\n  }" { (expression_statement "puVar2 = puVar1;" (assignment_expression "puVar2 = puVar1" identifier = identifier) ;) (do_statement "do {\n      puVar2[0] = '\0';\n      puVar2[1] = '\0';\n      puVar2 = puVar2 + 2;\n    } while (puVar1 + param_3 * 2 != puVar2);" do (compound_statement "{\n      puVar2[0] = '\0';\n      puVar2[1] = '\0';\n      puVar2 = puVar2 + 2;\n    }" { (expression_statement "puVar2[0] = '\0';" (assignment_expression "puVar2[0] = '\0'" (subscript_expression "puVar2[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar2[1] = '\0';" (assignment_expression "puVar2[1] = '\0'" (subscript_expression "puVar2[1]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar2 = puVar2 + 2;" (assignment_expression "puVar2 = puVar2 + 2" identifier = (binary_expression "puVar2 + 2" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar1 + param_3 * 2 != puVar2)" ( (binary_expression "puVar1 + param_3 * 2 != puVar2" (binary_expression "puVar1 + param_3 * 2" identifier + (binary_expression "param_3 * 2" identifier * number_literal)) != identifier) )) ;) })) (expression_statement "unaff_s4 = PTR_version_index_004358a0;" (assignment_expression "unaff_s4 = PTR_version_index_004358a0" identifier = identifier) ;) (expression_statement "unaff_s5 = (syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n             _M_start;" (assignment_expression "unaff_s5 = (syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n             _M_start" identifier = (field_expression "(syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n             _M_start" (field_expression "(syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl" (parenthesized_expression "(syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)" ( (binary_expression "syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>" (binary_expression "syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*" (binary_expression "syms->super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "syms->super__Vector_base<gold::Symbol*,_std" (binary_expression "syms->super__Vector_base<gold" (field_expression "syms->super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * identifier) > identifier) > identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if (unaff_s5 !=\n      (syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl._M_finish) {\n    do {\n      sym = *unaff_s5;\n      if (sym->version_ != (char *)0x0) {\n        if (*sym->version_ == '\0') {\n          uVar3 = *(uint *)&sym->field_0x28 & 0xe000;\n          uVar15 = 1;\n          if (uVar3 == 0) goto LAB_00271b34;\nLAB_00271c60:\n          bVar7 = uVar3 != 0x8000;\n          param_3 = (uint)sym;\n        }\n        else {\n          uVar15 = version_index(this,symtab,dynpool,sym);\n          sym = *unaff_s5;\n          pcVar5 = sym->version_;\nLAB_00271c48:\n          param_3 = (uint)sym;\n          if (pcVar5 == (char *)0x0) goto LAB_00271b88;\n          uVar3 = *(uint *)&sym->field_0x28 & 0xe000;\n          if (uVar3 != 0) goto LAB_00271c60;\nLAB_00271b34:\n          param_3 = (uint)sym;\n          if (*(int *)&sym->field_0x28 << 0x1d < 0) {\n            bVar7 = (sym->u2_).shndx != 0;\n          }\n          else {\n            bVar7 = (*(code *)PTR_is_common_shndx_00432fe0)();\n            bVar7 = bVar7 ^ 1;\n            sym = *unaff_s5;\n          }\n        }\nLAB_00271b4c:\n        if (bVar7 == 0) {\nLAB_00271b88:\n          uVar16 = (undefined2)uVar15;\n          uVar15 = sym->dynsym_index_;\n          sym = (Symbol *)param_3;\n          goto LAB_00271b8c;\n        }\n        puVar11 = PTR_s__0043226c;\n        if (sym->version_ != (char *)0x0) {\n          if ((-1 < (int)(*(uint *)&sym->field_0x28 << 0x13)) &&\n             (((*(uint *)&sym->field_0x28 & 0xe000) != 0 ||\n              (-1 < (int)((sym->u1_).output_segment)->output_lists_[3].\n                         super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                         ._M_impl._M_end_of_storage)))) {\n            uVar15 = uVar15 | 0x8000;\n          }\n          goto LAB_00271b88;\n        }\nLAB_00271d20:\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,puVar11 + 0x1898);\n        _Stack_68._M_rehash_policy._M_max_load_factor = (float)this;\n        _Stack_68._M_rehash_policy._M_next_resize = (size_t)symtab;\n        _Stack_68._M_single_bucket = (__bucket_type)dynpool;\n        goto LAB_00271d38;\n      }\n      uVar15 = *(uint *)&sym->field_0x28 & 0xe000;\n      param_3 = (uint)sym;\n      if (uVar15 != 0) {\n        uVar15 = (uint)(uVar15 != 0x8000);\n        goto LAB_00271b88;\n      }\n      uVar15 = (sym->u2_).shndx;\n      if ((int)(*(uint *)&sym->field_0x28 << 0x1d) < 0) {\n        if (uVar15 != 0) {\n          uVar15 = (uint)((sym->u1_).output_segment)->output_lists_[3].\n                         super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                         ._M_impl._M_end_of_storage >> 0x1f ^ 1;\n        }\n        goto LAB_00271b88;\n      }\n      iVar4 = (*(code *)PTR_is_common_shndx_00432fe0)(uVar15);\n      sym = *unaff_s5;\n      pcVar5 = sym->version_;\n      if (iVar4 != 0) {\n        uVar15 = 0;\n        goto LAB_00271c48;\n      }\n      uVar3 = *(uint *)&sym->field_0x28 & 0xe000;\n      if (uVar3 != 0) {\n        uVar15 = 1;\n        param_3 = (uint)sym;\n        if (pcVar5 == (char *)0x0) goto LAB_00271b88;\n        bVar7 = uVar3 != 0x8000;\n        goto LAB_00271b4c;\n      }\n      uVar15 = (uint)((sym->u1_).output_segment)->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage >> 0x1f ^ 1;\n      uVar16 = (undefined2)uVar15;\n      if (pcVar5 != (char *)0x0) goto LAB_00271b34;\n      uVar15 = sym->dynsym_index_;\nLAB_00271b8c:\n      if (uVar15 == 0) {\n        puVar11 = PTR_s__0043226c + 0x1b80;\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x19a,puVar11);\n        param_3 = (uint)sym;\n        goto LAB_00271d20;\n      }\n      ppSVar8 = (syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n                _M_finish;\n      unaff_s5 = unaff_s5 + 1;\n      *(undefined2 *)(puVar1 + uVar15 * 2) = uVar16;\n    } while (ppSVar8 != unaff_s5);\n  }" if (parenthesized_expression "(unaff_s5 !=\n      (syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl._M_finish)" ( (binary_expression "unaff_s5 !=\n      (syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl._M_finish" identifier != (field_expression "(syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl._M_finish" (field_expression "(syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl" (parenthesized_expression "(syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)" ( (binary_expression "syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>" (binary_expression "syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "syms->super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "syms->super__Vector_base<gold::Symbol*,_std" (binary_expression "syms->super__Vector_base<gold" (field_expression "syms->super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier)) )) (compound_statement "{\n    do {\n      sym = *unaff_s5;\n      if (sym->version_ != (char *)0x0) {\n        if (*sym->version_ == '\0') {\n          uVar3 = *(uint *)&sym->field_0x28 & 0xe000;\n          uVar15 = 1;\n          if (uVar3 == 0) goto LAB_00271b34;\nLAB_00271c60:\n          bVar7 = uVar3 != 0x8000;\n          param_3 = (uint)sym;\n        }\n        else {\n          uVar15 = version_index(this,symtab,dynpool,sym);\n          sym = *unaff_s5;\n          pcVar5 = sym->version_;\nLAB_00271c48:\n          param_3 = (uint)sym;\n          if (pcVar5 == (char *)0x0) goto LAB_00271b88;\n          uVar3 = *(uint *)&sym->field_0x28 & 0xe000;\n          if (uVar3 != 0) goto LAB_00271c60;\nLAB_00271b34:\n          param_3 = (uint)sym;\n          if (*(int *)&sym->field_0x28 << 0x1d < 0) {\n            bVar7 = (sym->u2_).shndx != 0;\n          }\n          else {\n            bVar7 = (*(code *)PTR_is_common_shndx_00432fe0)();\n            bVar7 = bVar7 ^ 1;\n            sym = *unaff_s5;\n          }\n        }\nLAB_00271b4c:\n        if (bVar7 == 0) {\nLAB_00271b88:\n          uVar16 = (undefined2)uVar15;\n          uVar15 = sym->dynsym_index_;\n          sym = (Symbol *)param_3;\n          goto LAB_00271b8c;\n        }\n        puVar11 = PTR_s__0043226c;\n        if (sym->version_ != (char *)0x0) {\n          if ((-1 < (int)(*(uint *)&sym->field_0x28 << 0x13)) &&\n             (((*(uint *)&sym->field_0x28 & 0xe000) != 0 ||\n              (-1 < (int)((sym->u1_).output_segment)->output_lists_[3].\n                         super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                         ._M_impl._M_end_of_storage)))) {\n            uVar15 = uVar15 | 0x8000;\n          }\n          goto LAB_00271b88;\n        }\nLAB_00271d20:\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,puVar11 + 0x1898);\n        _Stack_68._M_rehash_policy._M_max_load_factor = (float)this;\n        _Stack_68._M_rehash_policy._M_next_resize = (size_t)symtab;\n        _Stack_68._M_single_bucket = (__bucket_type)dynpool;\n        goto LAB_00271d38;\n      }\n      uVar15 = *(uint *)&sym->field_0x28 & 0xe000;\n      param_3 = (uint)sym;\n      if (uVar15 != 0) {\n        uVar15 = (uint)(uVar15 != 0x8000);\n        goto LAB_00271b88;\n      }\n      uVar15 = (sym->u2_).shndx;\n      if ((int)(*(uint *)&sym->field_0x28 << 0x1d) < 0) {\n        if (uVar15 != 0) {\n          uVar15 = (uint)((sym->u1_).output_segment)->output_lists_[3].\n                         super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                         ._M_impl._M_end_of_storage >> 0x1f ^ 1;\n        }\n        goto LAB_00271b88;\n      }\n      iVar4 = (*(code *)PTR_is_common_shndx_00432fe0)(uVar15);\n      sym = *unaff_s5;\n      pcVar5 = sym->version_;\n      if (iVar4 != 0) {\n        uVar15 = 0;\n        goto LAB_00271c48;\n      }\n      uVar3 = *(uint *)&sym->field_0x28 & 0xe000;\n      if (uVar3 != 0) {\n        uVar15 = 1;\n        param_3 = (uint)sym;\n        if (pcVar5 == (char *)0x0) goto LAB_00271b88;\n        bVar7 = uVar3 != 0x8000;\n        goto LAB_00271b4c;\n      }\n      uVar15 = (uint)((sym->u1_).output_segment)->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage >> 0x1f ^ 1;\n      uVar16 = (undefined2)uVar15;\n      if (pcVar5 != (char *)0x0) goto LAB_00271b34;\n      uVar15 = sym->dynsym_index_;\nLAB_00271b8c:\n      if (uVar15 == 0) {\n        puVar11 = PTR_s__0043226c + 0x1b80;\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x19a,puVar11);\n        param_3 = (uint)sym;\n        goto LAB_00271d20;\n      }\n      ppSVar8 = (syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n                _M_finish;\n      unaff_s5 = unaff_s5 + 1;\n      *(undefined2 *)(puVar1 + uVar15 * 2) = uVar16;\n    } while (ppSVar8 != unaff_s5);\n  }" { (do_statement "do {\n      sym = *unaff_s5;\n      if (sym->version_ != (char *)0x0) {\n        if (*sym->version_ == '\0') {\n          uVar3 = *(uint *)&sym->field_0x28 & 0xe000;\n          uVar15 = 1;\n          if (uVar3 == 0) goto LAB_00271b34;\nLAB_00271c60:\n          bVar7 = uVar3 != 0x8000;\n          param_3 = (uint)sym;\n        }\n        else {\n          uVar15 = version_index(this,symtab,dynpool,sym);\n          sym = *unaff_s5;\n          pcVar5 = sym->version_;\nLAB_00271c48:\n          param_3 = (uint)sym;\n          if (pcVar5 == (char *)0x0) goto LAB_00271b88;\n          uVar3 = *(uint *)&sym->field_0x28 & 0xe000;\n          if (uVar3 != 0) goto LAB_00271c60;\nLAB_00271b34:\n          param_3 = (uint)sym;\n          if (*(int *)&sym->field_0x28 << 0x1d < 0) {\n            bVar7 = (sym->u2_).shndx != 0;\n          }\n          else {\n            bVar7 = (*(code *)PTR_is_common_shndx_00432fe0)();\n            bVar7 = bVar7 ^ 1;\n            sym = *unaff_s5;\n          }\n        }\nLAB_00271b4c:\n        if (bVar7 == 0) {\nLAB_00271b88:\n          uVar16 = (undefined2)uVar15;\n          uVar15 = sym->dynsym_index_;\n          sym = (Symbol *)param_3;\n          goto LAB_00271b8c;\n        }\n        puVar11 = PTR_s__0043226c;\n        if (sym->version_ != (char *)0x0) {\n          if ((-1 < (int)(*(uint *)&sym->field_0x28 << 0x13)) &&\n             (((*(uint *)&sym->field_0x28 & 0xe000) != 0 ||\n              (-1 < (int)((sym->u1_).output_segment)->output_lists_[3].\n                         super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                         ._M_impl._M_end_of_storage)))) {\n            uVar15 = uVar15 | 0x8000;\n          }\n          goto LAB_00271b88;\n        }\nLAB_00271d20:\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,puVar11 + 0x1898);\n        _Stack_68._M_rehash_policy._M_max_load_factor = (float)this;\n        _Stack_68._M_rehash_policy._M_next_resize = (size_t)symtab;\n        _Stack_68._M_single_bucket = (__bucket_type)dynpool;\n        goto LAB_00271d38;\n      }\n      uVar15 = *(uint *)&sym->field_0x28 & 0xe000;\n      param_3 = (uint)sym;\n      if (uVar15 != 0) {\n        uVar15 = (uint)(uVar15 != 0x8000);\n        goto LAB_00271b88;\n      }\n      uVar15 = (sym->u2_).shndx;\n      if ((int)(*(uint *)&sym->field_0x28 << 0x1d) < 0) {\n        if (uVar15 != 0) {\n          uVar15 = (uint)((sym->u1_).output_segment)->output_lists_[3].\n                         super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                         ._M_impl._M_end_of_storage >> 0x1f ^ 1;\n        }\n        goto LAB_00271b88;\n      }\n      iVar4 = (*(code *)PTR_is_common_shndx_00432fe0)(uVar15);\n      sym = *unaff_s5;\n      pcVar5 = sym->version_;\n      if (iVar4 != 0) {\n        uVar15 = 0;\n        goto LAB_00271c48;\n      }\n      uVar3 = *(uint *)&sym->field_0x28 & 0xe000;\n      if (uVar3 != 0) {\n        uVar15 = 1;\n        param_3 = (uint)sym;\n        if (pcVar5 == (char *)0x0) goto LAB_00271b88;\n        bVar7 = uVar3 != 0x8000;\n        goto LAB_00271b4c;\n      }\n      uVar15 = (uint)((sym->u1_).output_segment)->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage >> 0x1f ^ 1;\n      uVar16 = (undefined2)uVar15;\n      if (pcVar5 != (char *)0x0) goto LAB_00271b34;\n      uVar15 = sym->dynsym_index_;\nLAB_00271b8c:\n      if (uVar15 == 0) {\n        puVar11 = PTR_s__0043226c + 0x1b80;\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x19a,puVar11);\n        param_3 = (uint)sym;\n        goto LAB_00271d20;\n      }\n      ppSVar8 = (syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n                _M_finish;\n      unaff_s5 = unaff_s5 + 1;\n      *(undefined2 *)(puVar1 + uVar15 * 2) = uVar16;\n    } while (ppSVar8 != unaff_s5);" do (compound_statement "{\n      sym = *unaff_s5;\n      if (sym->version_ != (char *)0x0) {\n        if (*sym->version_ == '\0') {\n          uVar3 = *(uint *)&sym->field_0x28 & 0xe000;\n          uVar15 = 1;\n          if (uVar3 == 0) goto LAB_00271b34;\nLAB_00271c60:\n          bVar7 = uVar3 != 0x8000;\n          param_3 = (uint)sym;\n        }\n        else {\n          uVar15 = version_index(this,symtab,dynpool,sym);\n          sym = *unaff_s5;\n          pcVar5 = sym->version_;\nLAB_00271c48:\n          param_3 = (uint)sym;\n          if (pcVar5 == (char *)0x0) goto LAB_00271b88;\n          uVar3 = *(uint *)&sym->field_0x28 & 0xe000;\n          if (uVar3 != 0) goto LAB_00271c60;\nLAB_00271b34:\n          param_3 = (uint)sym;\n          if (*(int *)&sym->field_0x28 << 0x1d < 0) {\n            bVar7 = (sym->u2_).shndx != 0;\n          }\n          else {\n            bVar7 = (*(code *)PTR_is_common_shndx_00432fe0)();\n            bVar7 = bVar7 ^ 1;\n            sym = *unaff_s5;\n          }\n        }\nLAB_00271b4c:\n        if (bVar7 == 0) {\nLAB_00271b88:\n          uVar16 = (undefined2)uVar15;\n          uVar15 = sym->dynsym_index_;\n          sym = (Symbol *)param_3;\n          goto LAB_00271b8c;\n        }\n        puVar11 = PTR_s__0043226c;\n        if (sym->version_ != (char *)0x0) {\n          if ((-1 < (int)(*(uint *)&sym->field_0x28 << 0x13)) &&\n             (((*(uint *)&sym->field_0x28 & 0xe000) != 0 ||\n              (-1 < (int)((sym->u1_).output_segment)->output_lists_[3].\n                         super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                         ._M_impl._M_end_of_storage)))) {\n            uVar15 = uVar15 | 0x8000;\n          }\n          goto LAB_00271b88;\n        }\nLAB_00271d20:\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,puVar11 + 0x1898);\n        _Stack_68._M_rehash_policy._M_max_load_factor = (float)this;\n        _Stack_68._M_rehash_policy._M_next_resize = (size_t)symtab;\n        _Stack_68._M_single_bucket = (__bucket_type)dynpool;\n        goto LAB_00271d38;\n      }\n      uVar15 = *(uint *)&sym->field_0x28 & 0xe000;\n      param_3 = (uint)sym;\n      if (uVar15 != 0) {\n        uVar15 = (uint)(uVar15 != 0x8000);\n        goto LAB_00271b88;\n      }\n      uVar15 = (sym->u2_).shndx;\n      if ((int)(*(uint *)&sym->field_0x28 << 0x1d) < 0) {\n        if (uVar15 != 0) {\n          uVar15 = (uint)((sym->u1_).output_segment)->output_lists_[3].\n                         super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                         ._M_impl._M_end_of_storage >> 0x1f ^ 1;\n        }\n        goto LAB_00271b88;\n      }\n      iVar4 = (*(code *)PTR_is_common_shndx_00432fe0)(uVar15);\n      sym = *unaff_s5;\n      pcVar5 = sym->version_;\n      if (iVar4 != 0) {\n        uVar15 = 0;\n        goto LAB_00271c48;\n      }\n      uVar3 = *(uint *)&sym->field_0x28 & 0xe000;\n      if (uVar3 != 0) {\n        uVar15 = 1;\n        param_3 = (uint)sym;\n        if (pcVar5 == (char *)0x0) goto LAB_00271b88;\n        bVar7 = uVar3 != 0x8000;\n        goto LAB_00271b4c;\n      }\n      uVar15 = (uint)((sym->u1_).output_segment)->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage >> 0x1f ^ 1;\n      uVar16 = (undefined2)uVar15;\n      if (pcVar5 != (char *)0x0) goto LAB_00271b34;\n      uVar15 = sym->dynsym_index_;\nLAB_00271b8c:\n      if (uVar15 == 0) {\n        puVar11 = PTR_s__0043226c + 0x1b80;\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x19a,puVar11);\n        param_3 = (uint)sym;\n        goto LAB_00271d20;\n      }\n      ppSVar8 = (syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n                _M_finish;\n      unaff_s5 = unaff_s5 + 1;\n      *(undefined2 *)(puVar1 + uVar15 * 2) = uVar16;\n    }" { (expression_statement "sym = *unaff_s5;" (assignment_expression "sym = *unaff_s5" identifier = (pointer_expression "*unaff_s5" * identifier)) ;) (if_statement "if (sym->version_ != (char *)0x0) {\n        if (*sym->version_ == '\0') {\n          uVar3 = *(uint *)&sym->field_0x28 & 0xe000;\n          uVar15 = 1;\n          if (uVar3 == 0) goto LAB_00271b34;\nLAB_00271c60:\n          bVar7 = uVar3 != 0x8000;\n          param_3 = (uint)sym;\n        }\n        else {\n          uVar15 = version_index(this,symtab,dynpool,sym);\n          sym = *unaff_s5;\n          pcVar5 = sym->version_;\nLAB_00271c48:\n          param_3 = (uint)sym;\n          if (pcVar5 == (char *)0x0) goto LAB_00271b88;\n          uVar3 = *(uint *)&sym->field_0x28 & 0xe000;\n          if (uVar3 != 0) goto LAB_00271c60;\nLAB_00271b34:\n          param_3 = (uint)sym;\n          if (*(int *)&sym->field_0x28 << 0x1d < 0) {\n            bVar7 = (sym->u2_).shndx != 0;\n          }\n          else {\n            bVar7 = (*(code *)PTR_is_common_shndx_00432fe0)();\n            bVar7 = bVar7 ^ 1;\n            sym = *unaff_s5;\n          }\n        }\nLAB_00271b4c:\n        if (bVar7 == 0) {\nLAB_00271b88:\n          uVar16 = (undefined2)uVar15;\n          uVar15 = sym->dynsym_index_;\n          sym = (Symbol *)param_3;\n          goto LAB_00271b8c;\n        }\n        puVar11 = PTR_s__0043226c;\n        if (sym->version_ != (char *)0x0) {\n          if ((-1 < (int)(*(uint *)&sym->field_0x28 << 0x13)) &&\n             (((*(uint *)&sym->field_0x28 & 0xe000) != 0 ||\n              (-1 < (int)((sym->u1_).output_segment)->output_lists_[3].\n                         super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                         ._M_impl._M_end_of_storage)))) {\n            uVar15 = uVar15 | 0x8000;\n          }\n          goto LAB_00271b88;\n        }\nLAB_00271d20:\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,puVar11 + 0x1898);\n        _Stack_68._M_rehash_policy._M_max_load_factor = (float)this;\n        _Stack_68._M_rehash_policy._M_next_resize = (size_t)symtab;\n        _Stack_68._M_single_bucket = (__bucket_type)dynpool;\n        goto LAB_00271d38;\n      }" if (parenthesized_expression "(sym->version_ != (char *)0x0)" ( (binary_expression "sym->version_ != (char *)0x0" (field_expression "sym->version_" identifier -> field_identifier) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (*sym->version_ == '\0') {\n          uVar3 = *(uint *)&sym->field_0x28 & 0xe000;\n          uVar15 = 1;\n          if (uVar3 == 0) goto LAB_00271b34;\nLAB_00271c60:\n          bVar7 = uVar3 != 0x8000;\n          param_3 = (uint)sym;\n        }\n        else {\n          uVar15 = version_index(this,symtab,dynpool,sym);\n          sym = *unaff_s5;\n          pcVar5 = sym->version_;\nLAB_00271c48:\n          param_3 = (uint)sym;\n          if (pcVar5 == (char *)0x0) goto LAB_00271b88;\n          uVar3 = *(uint *)&sym->field_0x28 & 0xe000;\n          if (uVar3 != 0) goto LAB_00271c60;\nLAB_00271b34:\n          param_3 = (uint)sym;\n          if (*(int *)&sym->field_0x28 << 0x1d < 0) {\n            bVar7 = (sym->u2_).shndx != 0;\n          }\n          else {\n            bVar7 = (*(code *)PTR_is_common_shndx_00432fe0)();\n            bVar7 = bVar7 ^ 1;\n            sym = *unaff_s5;\n          }\n        }\nLAB_00271b4c:\n        if (bVar7 == 0) {\nLAB_00271b88:\n          uVar16 = (undefined2)uVar15;\n          uVar15 = sym->dynsym_index_;\n          sym = (Symbol *)param_3;\n          goto LAB_00271b8c;\n        }\n        puVar11 = PTR_s__0043226c;\n        if (sym->version_ != (char *)0x0) {\n          if ((-1 < (int)(*(uint *)&sym->field_0x28 << 0x13)) &&\n             (((*(uint *)&sym->field_0x28 & 0xe000) != 0 ||\n              (-1 < (int)((sym->u1_).output_segment)->output_lists_[3].\n                         super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                         ._M_impl._M_end_of_storage)))) {\n            uVar15 = uVar15 | 0x8000;\n          }\n          goto LAB_00271b88;\n        }\nLAB_00271d20:\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,puVar11 + 0x1898);\n        _Stack_68._M_rehash_policy._M_max_load_factor = (float)this;\n        _Stack_68._M_rehash_policy._M_next_resize = (size_t)symtab;\n        _Stack_68._M_single_bucket = (__bucket_type)dynpool;\n        goto LAB_00271d38;\n      }" { (if_statement "if (*sym->version_ == '\0') {\n          uVar3 = *(uint *)&sym->field_0x28 & 0xe000;\n          uVar15 = 1;\n          if (uVar3 == 0) goto LAB_00271b34;\nLAB_00271c60:\n          bVar7 = uVar3 != 0x8000;\n          param_3 = (uint)sym;\n        }\n        else {\n          uVar15 = version_index(this,symtab,dynpool,sym);\n          sym = *unaff_s5;\n          pcVar5 = sym->version_;\nLAB_00271c48:\n          param_3 = (uint)sym;\n          if (pcVar5 == (char *)0x0) goto LAB_00271b88;\n          uVar3 = *(uint *)&sym->field_0x28 & 0xe000;\n          if (uVar3 != 0) goto LAB_00271c60;\nLAB_00271b34:\n          param_3 = (uint)sym;\n          if (*(int *)&sym->field_0x28 << 0x1d < 0) {\n            bVar7 = (sym->u2_).shndx != 0;\n          }\n          else {\n            bVar7 = (*(code *)PTR_is_common_shndx_00432fe0)();\n            bVar7 = bVar7 ^ 1;\n            sym = *unaff_s5;\n          }\n        }" if (parenthesized_expression "(*sym->version_ == '\0')" ( (binary_expression "*sym->version_ == '\0'" (pointer_expression "*sym->version_" * (field_expression "sym->version_" identifier -> field_identifier)) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          uVar3 = *(uint *)&sym->field_0x28 & 0xe000;\n          uVar15 = 1;\n          if (uVar3 == 0) goto LAB_00271b34;\nLAB_00271c60:\n          bVar7 = uVar3 != 0x8000;\n          param_3 = (uint)sym;\n        }" { (expression_statement "uVar3 = *(uint *)&sym->field_0x28 & 0xe000;" (assignment_expression "uVar3 = *(uint *)&sym->field_0x28 & 0xe000" identifier = (binary_expression "*(uint *)&sym->field_0x28 & 0xe000" (pointer_expression "*(uint *)&sym->field_0x28" * (cast_expression "(uint *)&sym->field_0x28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&sym->field_0x28" & (field_expression "sym->field_0x28" identifier -> field_identifier)))) & number_literal)) ;) (expression_statement "uVar15 = 1;" (assignment_expression "uVar15 = 1" identifier = number_literal) ;) (if_statement "if (uVar3 == 0) goto LAB_00271b34;" if (parenthesized_expression "(uVar3 == 0)" ( (binary_expression "uVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00271b34;" goto statement_identifier ;)) (labeled_statement "LAB_00271c60:\n          bVar7 = uVar3 != 0x8000;" statement_identifier : (expression_statement "bVar7 = uVar3 != 0x8000;" (assignment_expression "bVar7 = uVar3 != 0x8000" identifier = (binary_expression "uVar3 != 0x8000" identifier != number_literal)) ;)) (expression_statement "param_3 = (uint)sym;" (assignment_expression "param_3 = (uint)sym" identifier = (cast_expression "(uint)sym" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) }) (else_clause "else {\n          uVar15 = version_index(this,symtab,dynpool,sym);\n          sym = *unaff_s5;\n          pcVar5 = sym->version_;\nLAB_00271c48:\n          param_3 = (uint)sym;\n          if (pcVar5 == (char *)0x0) goto LAB_00271b88;\n          uVar3 = *(uint *)&sym->field_0x28 & 0xe000;\n          if (uVar3 != 0) goto LAB_00271c60;\nLAB_00271b34:\n          param_3 = (uint)sym;\n          if (*(int *)&sym->field_0x28 << 0x1d < 0) {\n            bVar7 = (sym->u2_).shndx != 0;\n          }\n          else {\n            bVar7 = (*(code *)PTR_is_common_shndx_00432fe0)();\n            bVar7 = bVar7 ^ 1;\n            sym = *unaff_s5;\n          }\n        }" else (compound_statement "{\n          uVar15 = version_index(this,symtab,dynpool,sym);\n          sym = *unaff_s5;\n          pcVar5 = sym->version_;\nLAB_00271c48:\n          param_3 = (uint)sym;\n          if (pcVar5 == (char *)0x0) goto LAB_00271b88;\n          uVar3 = *(uint *)&sym->field_0x28 & 0xe000;\n          if (uVar3 != 0) goto LAB_00271c60;\nLAB_00271b34:\n          param_3 = (uint)sym;\n          if (*(int *)&sym->field_0x28 << 0x1d < 0) {\n            bVar7 = (sym->u2_).shndx != 0;\n          }\n          else {\n            bVar7 = (*(code *)PTR_is_common_shndx_00432fe0)();\n            bVar7 = bVar7 ^ 1;\n            sym = *unaff_s5;\n          }\n        }" { (expression_statement "uVar15 = version_index(this,symtab,dynpool,sym);" (assignment_expression "uVar15 = version_index(this,symtab,dynpool,sym)" identifier = (call_expression "version_index(this,symtab,dynpool,sym)" identifier (argument_list "(this,symtab,dynpool,sym)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "sym = *unaff_s5;" (assignment_expression "sym = *unaff_s5" identifier = (pointer_expression "*unaff_s5" * identifier)) ;) (expression_statement "pcVar5 = sym->version_;" (assignment_expression "pcVar5 = sym->version_" identifier = (field_expression "sym->version_" identifier -> field_identifier)) ;) (labeled_statement "LAB_00271c48:\n          param_3 = (uint)sym;" statement_identifier : (expression_statement "param_3 = (uint)sym;" (assignment_expression "param_3 = (uint)sym" identifier = (cast_expression "(uint)sym" ( (type_descriptor "uint" type_identifier) ) identifier)) ;)) (if_statement "if (pcVar5 == (char *)0x0) goto LAB_00271b88;" if (parenthesized_expression "(pcVar5 == (char *)0x0)" ( (binary_expression "pcVar5 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00271b88;" goto statement_identifier ;)) (expression_statement "uVar3 = *(uint *)&sym->field_0x28 & 0xe000;" (assignment_expression "uVar3 = *(uint *)&sym->field_0x28 & 0xe000" identifier = (binary_expression "*(uint *)&sym->field_0x28 & 0xe000" (pointer_expression "*(uint *)&sym->field_0x28" * (cast_expression "(uint *)&sym->field_0x28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&sym->field_0x28" & (field_expression "sym->field_0x28" identifier -> field_identifier)))) & number_literal)) ;) (if_statement "if (uVar3 != 0) goto LAB_00271c60;" if (parenthesized_expression "(uVar3 != 0)" ( (binary_expression "uVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00271c60;" goto statement_identifier ;)) (labeled_statement "LAB_00271b34:\n          param_3 = (uint)sym;" statement_identifier : (expression_statement "param_3 = (uint)sym;" (assignment_expression "param_3 = (uint)sym" identifier = (cast_expression "(uint)sym" ( (type_descriptor "uint" type_identifier) ) identifier)) ;)) (if_statement "if (*(int *)&sym->field_0x28 << 0x1d < 0) {\n            bVar7 = (sym->u2_).shndx != 0;\n          }\n          else {\n            bVar7 = (*(code *)PTR_is_common_shndx_00432fe0)();\n            bVar7 = bVar7 ^ 1;\n            sym = *unaff_s5;\n          }" if (parenthesized_expression "(*(int *)&sym->field_0x28 << 0x1d < 0)" ( (binary_expression "*(int *)&sym->field_0x28 << 0x1d < 0" (binary_expression "*(int *)&sym->field_0x28 << 0x1d" (pointer_expression "*(int *)&sym->field_0x28" * (cast_expression "(int *)&sym->field_0x28" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&sym->field_0x28" & (field_expression "sym->field_0x28" identifier -> field_identifier)))) << number_literal) < number_literal) )) (compound_statement "{\n            bVar7 = (sym->u2_).shndx != 0;\n          }" { (expression_statement "bVar7 = (sym->u2_).shndx != 0;" (assignment_expression "bVar7 = (sym->u2_).shndx != 0" identifier = (binary_expression "(sym->u2_).shndx != 0" (field_expression "(sym->u2_).shndx" (parenthesized_expression "(sym->u2_)" ( (field_expression "sym->u2_" identifier -> field_identifier) )) . field_identifier) != number_literal)) ;) }) (else_clause "else {\n            bVar7 = (*(code *)PTR_is_common_shndx_00432fe0)();\n            bVar7 = bVar7 ^ 1;\n            sym = *unaff_s5;\n          }" else (compound_statement "{\n            bVar7 = (*(code *)PTR_is_common_shndx_00432fe0)();\n            bVar7 = bVar7 ^ 1;\n            sym = *unaff_s5;\n          }" { (expression_statement "bVar7 = (*(code *)PTR_is_common_shndx_00432fe0)();" (assignment_expression "bVar7 = (*(code *)PTR_is_common_shndx_00432fe0)()" identifier = (call_expression "(*(code *)PTR_is_common_shndx_00432fe0)()" (parenthesized_expression "(*(code *)PTR_is_common_shndx_00432fe0)" ( (pointer_expression "*(code *)PTR_is_common_shndx_00432fe0" * (cast_expression "(code *)PTR_is_common_shndx_00432fe0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "bVar7 = bVar7 ^ 1;" (assignment_expression "bVar7 = bVar7 ^ 1" identifier = (binary_expression "bVar7 ^ 1" identifier ^ number_literal)) ;) (expression_statement "sym = *unaff_s5;" (assignment_expression "sym = *unaff_s5" identifier = (pointer_expression "*unaff_s5" * identifier)) ;) }))) }))) (labeled_statement "LAB_00271b4c:\n        if (bVar7 == 0) {\nLAB_00271b88:\n          uVar16 = (undefined2)uVar15;\n          uVar15 = sym->dynsym_index_;\n          sym = (Symbol *)param_3;\n          goto LAB_00271b8c;\n        }" statement_identifier : (if_statement "if (bVar7 == 0) {\nLAB_00271b88:\n          uVar16 = (undefined2)uVar15;\n          uVar15 = sym->dynsym_index_;\n          sym = (Symbol *)param_3;\n          goto LAB_00271b8c;\n        }" if (parenthesized_expression "(bVar7 == 0)" ( (binary_expression "bVar7 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00271b88:\n          uVar16 = (undefined2)uVar15;\n          uVar15 = sym->dynsym_index_;\n          sym = (Symbol *)param_3;\n          goto LAB_00271b8c;\n        }" { (labeled_statement "LAB_00271b88:\n          uVar16 = (undefined2)uVar15;" statement_identifier : (expression_statement "uVar16 = (undefined2)uVar15;" (assignment_expression "uVar16 = (undefined2)uVar15" identifier = (cast_expression "(undefined2)uVar15" ( (type_descriptor "undefined2" type_identifier) ) identifier)) ;)) (expression_statement "uVar15 = sym->dynsym_index_;" (assignment_expression "uVar15 = sym->dynsym_index_" identifier = (field_expression "sym->dynsym_index_" identifier -> field_identifier)) ;) (expression_statement "sym = (Symbol *)param_3;" (assignment_expression "sym = (Symbol *)param_3" identifier = (cast_expression "(Symbol *)param_3" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (goto_statement "goto LAB_00271b8c;" goto statement_identifier ;) }))) (expression_statement "puVar11 = PTR_s__0043226c;" (assignment_expression "puVar11 = PTR_s__0043226c" identifier = identifier) ;) (if_statement "if (sym->version_ != (char *)0x0) {\n          if ((-1 < (int)(*(uint *)&sym->field_0x28 << 0x13)) &&\n             (((*(uint *)&sym->field_0x28 & 0xe000) != 0 ||\n              (-1 < (int)((sym->u1_).output_segment)->output_lists_[3].\n                         super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                         ._M_impl._M_end_of_storage)))) {\n            uVar15 = uVar15 | 0x8000;\n          }\n          goto LAB_00271b88;\n        }" if (parenthesized_expression "(sym->version_ != (char *)0x0)" ( (binary_expression "sym->version_ != (char *)0x0" (field_expression "sym->version_" identifier -> field_identifier) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if ((-1 < (int)(*(uint *)&sym->field_0x28 << 0x13)) &&\n             (((*(uint *)&sym->field_0x28 & 0xe000) != 0 ||\n              (-1 < (int)((sym->u1_).output_segment)->output_lists_[3].\n                         super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                         ._M_impl._M_end_of_storage)))) {\n            uVar15 = uVar15 | 0x8000;\n          }\n          goto LAB_00271b88;\n        }" { (if_statement "if ((-1 < (int)(*(uint *)&sym->field_0x28 << 0x13)) &&\n             (((*(uint *)&sym->field_0x28 & 0xe000) != 0 ||\n              (-1 < (int)((sym->u1_).output_segment)->output_lists_[3].\n                         super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                         ._M_impl._M_end_of_storage)))) {\n            uVar15 = uVar15 | 0x8000;\n          }" if (parenthesized_expression "((-1 < (int)(*(uint *)&sym->field_0x28 << 0x13)) &&\n             (((*(uint *)&sym->field_0x28 & 0xe000) != 0 ||\n              (-1 < (int)((sym->u1_).output_segment)->output_lists_[3].\n                         super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                         ._M_impl._M_end_of_storage))))" ( (binary_expression "(-1 < (int)(*(uint *)&sym->field_0x28 << 0x13)) &&\n             (((*(uint *)&sym->field_0x28 & 0xe000) != 0 ||\n              (-1 < (int)((sym->u1_).output_segment)->output_lists_[3].\n                         super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                         ._M_impl._M_end_of_storage)))" (parenthesized_expression "(-1 < (int)(*(uint *)&sym->field_0x28 << 0x13))" ( (binary_expression "-1 < (int)(*(uint *)&sym->field_0x28 << 0x13)" number_literal < (cast_expression "(int)(*(uint *)&sym->field_0x28 << 0x13)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(*(uint *)&sym->field_0x28 << 0x13)" ( (binary_expression "*(uint *)&sym->field_0x28 << 0x13" (pointer_expression "*(uint *)&sym->field_0x28" * (cast_expression "(uint *)&sym->field_0x28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&sym->field_0x28" & (field_expression "sym->field_0x28" identifier -> field_identifier)))) << number_literal) )))) )) && (parenthesized_expression "(((*(uint *)&sym->field_0x28 & 0xe000) != 0 ||\n              (-1 < (int)((sym->u1_).output_segment)->output_lists_[3].\n                         super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                         ._M_impl._M_end_of_storage)))" ( (parenthesized_expression "((*(uint *)&sym->field_0x28 & 0xe000) != 0 ||\n              (-1 < (int)((sym->u1_).output_segment)->output_lists_[3].\n                         super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                         ._M_impl._M_end_of_storage))" ( (binary_expression "(*(uint *)&sym->field_0x28 & 0xe000) != 0 ||\n              (-1 < (int)((sym->u1_).output_segment)->output_lists_[3].\n                         super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                         ._M_impl._M_end_of_storage)" (binary_expression "(*(uint *)&sym->field_0x28 & 0xe000) != 0" (parenthesized_expression "(*(uint *)&sym->field_0x28 & 0xe000)" ( (binary_expression "*(uint *)&sym->field_0x28 & 0xe000" (pointer_expression "*(uint *)&sym->field_0x28" * (cast_expression "(uint *)&sym->field_0x28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&sym->field_0x28" & (field_expression "sym->field_0x28" identifier -> field_identifier)))) & number_literal) )) != number_literal) || (parenthesized_expression "(-1 < (int)((sym->u1_).output_segment)->output_lists_[3].\n                         super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                         ._M_impl._M_end_of_storage)" ( (field_expression "-1 < (int)((sym->u1_).output_segment)->output_lists_[3].\n                         super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                         ._M_impl._M_end_of_storage" (field_expression "-1 < (int)((sym->u1_).output_segment)->output_lists_[3].\n                         super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                         ._M_impl" (binary_expression "-1 < (int)((sym->u1_).output_segment)->output_lists_[3].\n                         super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_" (binary_expression "-1 < (int)((sym->u1_).output_segment)->output_lists_[3].\n                         super__Vector_base<gold::Output_data*,_std::allocator<gold" (binary_expression "-1 < (int)((sym->u1_).output_segment)->output_lists_[3].\n                         super__Vector_base<gold::Output_data*,_std" (binary_expression "-1 < (int)((sym->u1_).output_segment)->output_lists_[3].\n                         super__Vector_base<gold" (binary_expression "-1 < (int)((sym->u1_).output_segment)->output_lists_[3].\n                         super__Vector_base" number_literal < (cast_expression "(int)((sym->u1_).output_segment)->output_lists_[3].\n                         super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "((sym->u1_).output_segment)->output_lists_[3].\n                         super__Vector_base" (subscript_expression "((sym->u1_).output_segment)->output_lists_[3]" (field_expression "((sym->u1_).output_segment)->output_lists_" (parenthesized_expression "((sym->u1_).output_segment)" ( (field_expression "(sym->u1_).output_segment" (parenthesized_expression "(sym->u1_)" ( (field_expression "sym->u1_" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier) [ number_literal ]) . field_identifier))) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ))) )) ))) )) (compound_statement "{\n            uVar15 = uVar15 | 0x8000;\n          }" { (expression_statement "uVar15 = uVar15 | 0x8000;" (assignment_expression "uVar15 = uVar15 | 0x8000" identifier = (binary_expression "uVar15 | 0x8000" identifier | number_literal)) ;) })) (goto_statement "goto LAB_00271b88;" goto statement_identifier ;) })) (labeled_statement "LAB_00271d20:\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,puVar11 + 0x1898);" statement_identifier : (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,puVar11 + 0x1898);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,puVar11 + 0x1898)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,puVar11 + 0x1898)" ( (binary_expression "PTR_s_alize_xindex_004323b4 + -0x5bdc" identifier + number_literal) , number_literal , (binary_expression "puVar11 + 0x1898" identifier + number_literal) ))) ;)) (expression_statement "_Stack_68._M_rehash_policy._M_max_load_factor = (float)this;" (assignment_expression "_Stack_68._M_rehash_policy._M_max_load_factor = (float)this" (field_expression "_Stack_68._M_rehash_policy._M_max_load_factor" (field_expression "_Stack_68._M_rehash_policy" identifier . field_identifier) . field_identifier) = (cast_expression "(float)this" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "_Stack_68._M_rehash_policy._M_next_resize = (size_t)symtab;" (assignment_expression "_Stack_68._M_rehash_policy._M_next_resize = (size_t)symtab" (field_expression "_Stack_68._M_rehash_policy._M_next_resize" (field_expression "_Stack_68._M_rehash_policy" identifier . field_identifier) . field_identifier) = (cast_expression "(size_t)symtab" ( (type_descriptor "size_t" primitive_type) ) identifier)) ;) (expression_statement "_Stack_68._M_single_bucket = (__bucket_type)dynpool;" (assignment_expression "_Stack_68._M_single_bucket = (__bucket_type)dynpool" (field_expression "_Stack_68._M_single_bucket" identifier . field_identifier) = (cast_expression "(__bucket_type)dynpool" ( (type_descriptor "__bucket_type" type_identifier) ) identifier)) ;) (goto_statement "goto LAB_00271d38;" goto statement_identifier ;) })) (expression_statement "uVar15 = *(uint *)&sym->field_0x28 & 0xe000;" (assignment_expression "uVar15 = *(uint *)&sym->field_0x28 & 0xe000" identifier = (binary_expression "*(uint *)&sym->field_0x28 & 0xe000" (pointer_expression "*(uint *)&sym->field_0x28" * (cast_expression "(uint *)&sym->field_0x28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&sym->field_0x28" & (field_expression "sym->field_0x28" identifier -> field_identifier)))) & number_literal)) ;) (expression_statement "param_3 = (uint)sym;" (assignment_expression "param_3 = (uint)sym" identifier = (cast_expression "(uint)sym" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (uVar15 != 0) {\n        uVar15 = (uint)(uVar15 != 0x8000);\n        goto LAB_00271b88;\n      }" if (parenthesized_expression "(uVar15 != 0)" ( (binary_expression "uVar15 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar15 = (uint)(uVar15 != 0x8000);\n        goto LAB_00271b88;\n      }" { (expression_statement "uVar15 = (uint)(uVar15 != 0x8000);" (assignment_expression "uVar15 = (uint)(uVar15 != 0x8000)" identifier = (call_expression "(uint)(uVar15 != 0x8000)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar15 != 0x8000)" ( (binary_expression "uVar15 != 0x8000" identifier != number_literal) )))) ;) (goto_statement "goto LAB_00271b88;" goto statement_identifier ;) })) (expression_statement "uVar15 = (sym->u2_).shndx;" (assignment_expression "uVar15 = (sym->u2_).shndx" identifier = (field_expression "(sym->u2_).shndx" (parenthesized_expression "(sym->u2_)" ( (field_expression "sym->u2_" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if ((int)(*(uint *)&sym->field_0x28 << 0x1d) < 0) {\n        if (uVar15 != 0) {\n          uVar15 = (uint)((sym->u1_).output_segment)->output_lists_[3].\n                         super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                         ._M_impl._M_end_of_storage >> 0x1f ^ 1;\n        }\n        goto LAB_00271b88;\n      }" if (parenthesized_expression "((int)(*(uint *)&sym->field_0x28 << 0x1d) < 0)" ( (binary_expression "(int)(*(uint *)&sym->field_0x28 << 0x1d) < 0" (cast_expression "(int)(*(uint *)&sym->field_0x28 << 0x1d)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(*(uint *)&sym->field_0x28 << 0x1d)" ( (binary_expression "*(uint *)&sym->field_0x28 << 0x1d" (pointer_expression "*(uint *)&sym->field_0x28" * (cast_expression "(uint *)&sym->field_0x28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&sym->field_0x28" & (field_expression "sym->field_0x28" identifier -> field_identifier)))) << number_literal) ))) < number_literal) )) (compound_statement "{\n        if (uVar15 != 0) {\n          uVar15 = (uint)((sym->u1_).output_segment)->output_lists_[3].\n                         super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                         ._M_impl._M_end_of_storage >> 0x1f ^ 1;\n        }\n        goto LAB_00271b88;\n      }" { (if_statement "if (uVar15 != 0) {\n          uVar15 = (uint)((sym->u1_).output_segment)->output_lists_[3].\n                         super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                         ._M_impl._M_end_of_storage >> 0x1f ^ 1;\n        }" if (parenthesized_expression "(uVar15 != 0)" ( (binary_expression "uVar15 != 0" identifier != number_literal) )) (compound_statement "{\n          uVar15 = (uint)((sym->u1_).output_segment)->output_lists_[3].\n                         super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                         ._M_impl._M_end_of_storage >> 0x1f ^ 1;\n        }" { (expression_statement "uVar15 = (uint)((sym->u1_).output_segment)->output_lists_[3].\n                         super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                         ._M_impl._M_end_of_storage >> 0x1f ^ 1;" (binary_expression "uVar15 = (uint)((sym->u1_).output_segment)->output_lists_[3].\n                         super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                         ._M_impl._M_end_of_storage >> 0x1f ^ 1" (binary_expression "uVar15 = (uint)((sym->u1_).output_segment)->output_lists_[3].\n                         super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                         ._M_impl._M_end_of_storage >> 0x1f" (field_expression "uVar15 = (uint)((sym->u1_).output_segment)->output_lists_[3].\n                         super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                         ._M_impl._M_end_of_storage" (field_expression "uVar15 = (uint)((sym->u1_).output_segment)->output_lists_[3].\n                         super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                         ._M_impl" (binary_expression "uVar15 = (uint)((sym->u1_).output_segment)->output_lists_[3].\n                         super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_" (binary_expression "uVar15 = (uint)((sym->u1_).output_segment)->output_lists_[3].\n                         super__Vector_base<gold::Output_data*,_std::allocator<gold" (binary_expression "uVar15 = (uint)((sym->u1_).output_segment)->output_lists_[3].\n                         super__Vector_base<gold::Output_data*,_std" (assignment_expression "uVar15 = (uint)((sym->u1_).output_segment)->output_lists_[3].\n                         super__Vector_base<gold" identifier = (binary_expression "(uint)((sym->u1_).output_segment)->output_lists_[3].\n                         super__Vector_base<gold" (field_expression "(uint)((sym->u1_).output_segment)->output_lists_[3].\n                         super__Vector_base" (subscript_expression "(uint)((sym->u1_).output_segment)->output_lists_[3]" (field_expression "(uint)((sym->u1_).output_segment)->output_lists_" (call_expression "(uint)((sym->u1_).output_segment)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((sym->u1_).output_segment)" ( (field_expression "(sym->u1_).output_segment" (parenthesized_expression "(sym->u1_)" ( (field_expression "sym->u1_" identifier -> field_identifier) )) . field_identifier) ))) -> field_identifier) [ number_literal ]) . field_identifier) < identifier)) (ERROR "::Output_data" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) >> number_literal) ^ number_literal) ;) })) (goto_statement "goto LAB_00271b88;" goto statement_identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_is_common_shndx_00432fe0)(uVar15);" (assignment_expression "iVar4 = (*(code *)PTR_is_common_shndx_00432fe0)(uVar15)" identifier = (call_expression "(*(code *)PTR_is_common_shndx_00432fe0)(uVar15)" (parenthesized_expression "(*(code *)PTR_is_common_shndx_00432fe0)" ( (pointer_expression "*(code *)PTR_is_common_shndx_00432fe0" * (cast_expression "(code *)PTR_is_common_shndx_00432fe0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar15)" ( identifier )))) ;) (expression_statement "sym = *unaff_s5;" (assignment_expression "sym = *unaff_s5" identifier = (pointer_expression "*unaff_s5" * identifier)) ;) (expression_statement "pcVar5 = sym->version_;" (assignment_expression "pcVar5 = sym->version_" identifier = (field_expression "sym->version_" identifier -> field_identifier)) ;) (if_statement "if (iVar4 != 0) {\n        uVar15 = 0;\n        goto LAB_00271c48;\n      }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar15 = 0;\n        goto LAB_00271c48;\n      }" { (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00271c48;" goto statement_identifier ;) })) (expression_statement "uVar3 = *(uint *)&sym->field_0x28 & 0xe000;" (assignment_expression "uVar3 = *(uint *)&sym->field_0x28 & 0xe000" identifier = (binary_expression "*(uint *)&sym->field_0x28 & 0xe000" (pointer_expression "*(uint *)&sym->field_0x28" * (cast_expression "(uint *)&sym->field_0x28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&sym->field_0x28" & (field_expression "sym->field_0x28" identifier -> field_identifier)))) & number_literal)) ;) (if_statement "if (uVar3 != 0) {\n        uVar15 = 1;\n        param_3 = (uint)sym;\n        if (pcVar5 == (char *)0x0) goto LAB_00271b88;\n        bVar7 = uVar3 != 0x8000;\n        goto LAB_00271b4c;\n      }" if (parenthesized_expression "(uVar3 != 0)" ( (binary_expression "uVar3 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar15 = 1;\n        param_3 = (uint)sym;\n        if (pcVar5 == (char *)0x0) goto LAB_00271b88;\n        bVar7 = uVar3 != 0x8000;\n        goto LAB_00271b4c;\n      }" { (expression_statement "uVar15 = 1;" (assignment_expression "uVar15 = 1" identifier = number_literal) ;) (expression_statement "param_3 = (uint)sym;" (assignment_expression "param_3 = (uint)sym" identifier = (cast_expression "(uint)sym" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (pcVar5 == (char *)0x0) goto LAB_00271b88;" if (parenthesized_expression "(pcVar5 == (char *)0x0)" ( (binary_expression "pcVar5 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00271b88;" goto statement_identifier ;)) (expression_statement "bVar7 = uVar3 != 0x8000;" (assignment_expression "bVar7 = uVar3 != 0x8000" identifier = (binary_expression "uVar3 != 0x8000" identifier != number_literal)) ;) (goto_statement "goto LAB_00271b4c;" goto statement_identifier ;) })) (expression_statement "uVar15 = (uint)((sym->u1_).output_segment)->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage >> 0x1f ^ 1;" (binary_expression "uVar15 = (uint)((sym->u1_).output_segment)->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage >> 0x1f ^ 1" (binary_expression "uVar15 = (uint)((sym->u1_).output_segment)->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage >> 0x1f" (field_expression "uVar15 = (uint)((sym->u1_).output_segment)->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage" (field_expression "uVar15 = (uint)((sym->u1_).output_segment)->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl" (binary_expression "uVar15 = (uint)((sym->u1_).output_segment)->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_" (binary_expression "uVar15 = (uint)((sym->u1_).output_segment)->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold" (binary_expression "uVar15 = (uint)((sym->u1_).output_segment)->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std" (assignment_expression "uVar15 = (uint)((sym->u1_).output_segment)->output_lists_[3].\n                     super__Vector_base<gold" identifier = (binary_expression "(uint)((sym->u1_).output_segment)->output_lists_[3].\n                     super__Vector_base<gold" (field_expression "(uint)((sym->u1_).output_segment)->output_lists_[3].\n                     super__Vector_base" (subscript_expression "(uint)((sym->u1_).output_segment)->output_lists_[3]" (field_expression "(uint)((sym->u1_).output_segment)->output_lists_" (call_expression "(uint)((sym->u1_).output_segment)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((sym->u1_).output_segment)" ( (field_expression "(sym->u1_).output_segment" (parenthesized_expression "(sym->u1_)" ( (field_expression "sym->u1_" identifier -> field_identifier) )) . field_identifier) ))) -> field_identifier) [ number_literal ]) . field_identifier) < identifier)) (ERROR "::Output_data" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) >> number_literal) ^ number_literal) ;) (expression_statement "uVar16 = (undefined2)uVar15;" (assignment_expression "uVar16 = (undefined2)uVar15" identifier = (cast_expression "(undefined2)uVar15" ( (type_descriptor "undefined2" type_identifier) ) identifier)) ;) (if_statement "if (pcVar5 != (char *)0x0) goto LAB_00271b34;" if (parenthesized_expression "(pcVar5 != (char *)0x0)" ( (binary_expression "pcVar5 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00271b34;" goto statement_identifier ;)) (expression_statement "uVar15 = sym->dynsym_index_;" (assignment_expression "uVar15 = sym->dynsym_index_" identifier = (field_expression "sym->dynsym_index_" identifier -> field_identifier)) ;) (labeled_statement "LAB_00271b8c:\n      if (uVar15 == 0) {\n        puVar11 = PTR_s__0043226c + 0x1b80;\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x19a,puVar11);\n        param_3 = (uint)sym;\n        goto LAB_00271d20;\n      }" statement_identifier : (if_statement "if (uVar15 == 0) {\n        puVar11 = PTR_s__0043226c + 0x1b80;\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x19a,puVar11);\n        param_3 = (uint)sym;\n        goto LAB_00271d20;\n      }" if (parenthesized_expression "(uVar15 == 0)" ( (binary_expression "uVar15 == 0" identifier == number_literal) )) (compound_statement "{\n        puVar11 = PTR_s__0043226c + 0x1b80;\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x19a,puVar11);\n        param_3 = (uint)sym;\n        goto LAB_00271d20;\n      }" { (expression_statement "puVar11 = PTR_s__0043226c + 0x1b80;" (assignment_expression "puVar11 = PTR_s__0043226c + 0x1b80" identifier = (binary_expression "PTR_s__0043226c + 0x1b80" identifier + number_literal)) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x19a,puVar11);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x19a,puVar11)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_alize_xindex_004323b4 + -0x5bdc,0x19a,puVar11)" ( (binary_expression "PTR_s_alize_xindex_004323b4 + -0x5bdc" identifier + number_literal) , number_literal , identifier ))) ;) (expression_statement "param_3 = (uint)sym;" (assignment_expression "param_3 = (uint)sym" identifier = (cast_expression "(uint)sym" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (goto_statement "goto LAB_00271d20;" goto statement_identifier ;) }))) (expression_statement "ppSVar8 = (syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n                _M_finish;" (assignment_expression "ppSVar8 = (syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n                _M_finish" identifier = (field_expression "(syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n                _M_finish" (field_expression "(syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl" (parenthesized_expression "(syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)" ( (ERROR "syms->super__Vector_base<gold::Symbol*,_std::allocator<gold::" (comma_expression "syms->super__Vector_base<gold::Symbol*,_std" (binary_expression "syms->super__Vector_base<gold::Symbol*" (binary_expression "syms->super__Vector_base<gold" (field_expression "syms->super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (binary_expression "Symbol*>_>" (binary_expression "Symbol*>_" identifier * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "unaff_s5 = unaff_s5 + 1;" (assignment_expression "unaff_s5 = unaff_s5 + 1" identifier = (binary_expression "unaff_s5 + 1" identifier + number_literal)) ;) (expression_statement "*(undefined2 *)(puVar1 + uVar15 * 2) = uVar16;" (assignment_expression "*(undefined2 *)(puVar1 + uVar15 * 2) = uVar16" (pointer_expression "*(undefined2 *)(puVar1 + uVar15 * 2)" * (cast_expression "(undefined2 *)(puVar1 + uVar15 * 2)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + uVar15 * 2)" ( (binary_expression "puVar1 + uVar15 * 2" identifier + (binary_expression "uVar15 * 2" identifier * number_literal)) )))) = identifier) ;) }) while (parenthesized_expression "(ppSVar8 != unaff_s5)" ( (binary_expression "ppSVar8 != unaff_s5" identifier != identifier) )) ;) })) (expression_statement "*pp = puVar1;" (assignment_expression "*pp = puVar1" (pointer_expression "*pp" * identifier) = identifier) ;) (expression_statement "*psize = unaff_s0;" (assignment_expression "*psize = unaff_s0" (pointer_expression "*psize" * identifier) = identifier) ;) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit "void __thiscall\ngold::Versions::symbol_section_contents<64,true>\n          (Versions *this,Symbol_table *param_1,Stringpool_template *param_2,uint param_3,\n          vector *param_4,uchar **param_5,uint *param_6)\n\n{\n  uchar *puVar1;\n  uchar *puVar2;\n  uint uVar3;\n  int iVar4;\n  byte bVar5;\n  Symbol *pSVar6;\n  undefined4 *puVar7;\n  int iVar8;\n  uint uVar9;\n  undefined4 *puVar10;\n  uint uVar11;\n  undefined2 uVar12;\n  \n  if (this[0x34] == (Versions)0x0) {\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x13e0,0x6cf,PTR_DAT_0043226c + 0x1850);\n    return;\n  }\n  uVar9 = ((*(int *)(param_4 + 4) - *(int *)param_4 >> 2) + param_3) * 2;\n  puVar1 = (uchar *)(*(code *)PTR_operator_new___004322dc)(uVar9);\n  if (param_3 != 0) {\n    puVar2 = puVar1;\n    do {\n      puVar2[0] = '\0';\n      puVar2[1] = '\0';\n      puVar2 = puVar2 + 2;\n    } while (puVar1 + param_3 * 2 != puVar2);\n  }\n  puVar10 = *(undefined4 **)param_4;\n  if (puVar10 != *(undefined4 **)(param_4 + 4)) {\n    do {\n      pSVar6 = (Symbol *)*puVar10;\n      if (*(char **)(pSVar6 + 4) == (char *)0x0) {\n        uVar11 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n        if (uVar11 != 0) {\n          uVar11 = (uint)(uVar11 != 0x8000);\n          goto LAB_00271b88;\n        }\n        uVar11 = *(uint *)(pSVar6 + 0xc);\n        if ((int)(*(uint *)(pSVar6 + 0x28) << 0x1d) < 0) {\n          if (uVar11 != 0) {\n            uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;\n          }\n          goto LAB_00271b88;\n        }\n        iVar4 = (*(code *)PTR_is_common_shndx_00432fe0)(uVar11);\n        pSVar6 = (Symbol *)*puVar10;\n        iVar8 = *(int *)(pSVar6 + 4);\n        if (iVar4 != 0) {\n          uVar11 = 0;\n          goto LAB_00271c48;\n        }\n        if ((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0) {\n          uVar11 = 1;\n          if (iVar8 == 0) goto LAB_00271b88;\n          bVar5 = (*(uint *)(pSVar6 + 0x28) & 0xe000) != 0x8000;\n          goto LAB_00271b4c;\n        }\n        uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;\n        uVar12 = (undefined2)uVar11;\n        if (iVar8 != 0) goto LAB_00271b34;\n        iVar4 = *(int *)(pSVar6 + 0x14);\n      }\n      else {\n        if (**(char **)(pSVar6 + 4) == '\0') {\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          uVar11 = 1;\n          if (uVar3 == 0) goto LAB_00271b34;\nLAB_00271c60:\n          bVar5 = uVar3 != 0x8000;\n        }\n        else {\n          uVar11 = version_index(this,param_1,param_2,pSVar6);\n          pSVar6 = (Symbol *)*puVar10;\n          iVar8 = *(int *)(pSVar6 + 4);\nLAB_00271c48:\n          if (iVar8 == 0) goto LAB_00271b88;\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          if (uVar3 != 0) goto LAB_00271c60;\nLAB_00271b34:\n          if (*(int *)(pSVar6 + 0x28) << 0x1d < 0) {\n            bVar5 = *(int *)(pSVar6 + 0xc) != 0;\n          }\n          else {\n            bVar5 = (*(code *)PTR_is_common_shndx_00432fe0)();\n            bVar5 = bVar5 ^ 1;\n            pSVar6 = (Symbol *)*puVar10;\n          }\n        }\nLAB_00271b4c:\n        if (bVar5 != 0) {\n          if (*(int *)(pSVar6 + 4) == 0) {\n            (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,PTR_DAT_0043226c + 0x1898);\n            return;\n          }\n          if ((-1 < (int)(*(uint *)(pSVar6 + 0x28) << 0x13)) &&\n             (((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0 ||\n              (-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c))))) {\n            uVar11 = uVar11 | 0x8000;\n          }\n        }\nLAB_00271b88:\n        uVar12 = (undefined2)uVar11;\n        iVar4 = *(int *)(pSVar6 + 0x14);\n      }\n      if (iVar4 == 0) {\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x19a,PTR_DAT_0043226c + 0x1b80);\n        return;\n      }\n      puVar7 = *(undefined4 **)(param_4 + 4);\n      puVar10 = puVar10 + 1;\n      *(undefined2 *)(puVar1 + iVar4 * 2) = uVar12;\n    } while (puVar7 != puVar10);\n  }\n  *param_5 = puVar1;\n  *param_6 = uVar9;\n  return;\n}\n\n" (declaration "void __thiscall\ngold::Versions::symbol_section_contents<64,true>\n          (Versions *this,Symbol_table *param_1,Stringpool_template *param_2,uint param_3,\n          vector *param_4,uchar **param_5,uint *param_6)\n\n{\n  uchar *puVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Versions::" identifier : : identifier : :) identifier (ERROR "<64" < number_literal) , (ERROR "true>\n          (Versions *this,Symbol_table *param_1,Stringpool_template *param_2,uint param_3,\n          vector *param_4,uchar **param_5,uint *param_6)\n\n{\n  uchar" (function_declarator "true>\n          (Versions *this,Symbol_table *param_1,Stringpool_template *param_2,uint param_3,\n          vector *param_4,uchar **param_5,uint *param_6)" identifier (ERROR ">" >) (parameter_list "(Versions *this,Symbol_table *param_1,Stringpool_template *param_2,uint param_3,\n          vector *param_4,uchar **param_5,uint *param_6)" ( (parameter_declaration "Versions *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Symbol_table *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "Stringpool_template *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "uint param_3" type_identifier identifier) , (parameter_declaration "vector *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "uchar **param_5" type_identifier (pointer_declarator "**param_5" * (pointer_declarator "*param_5" * identifier))) , (parameter_declaration "uint *param_6" type_identifier (pointer_declarator "*param_6" * identifier)) ))) { identifier) (pointer_declarator "*puVar1" * identifier) ;) (declaration "uchar *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "byte bVar5;" type_identifier identifier ;) (declaration "Symbol *pSVar6;" type_identifier (pointer_declarator "*pSVar6" * identifier) ;) (declaration "undefined4 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "undefined4 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "undefined2 uVar12;" type_identifier identifier ;) (if_statement "if (this[0x34] == (Versions)0x0) {\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x13e0,0x6cf,PTR_DAT_0043226c + 0x1850);\n    return;\n  }" if (parenthesized_expression "(this[0x34] == (Versions)0x0)" ( (binary_expression "this[0x34] == (Versions)0x0" (subscript_expression "this[0x34]" identifier [ number_literal ]) == (cast_expression "(Versions)0x0" ( (type_descriptor "Versions" type_identifier) ) number_literal)) )) (compound_statement "{\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x13e0,0x6cf,PTR_DAT_0043226c + 0x1850);\n    return;\n  }" { (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x13e0,0x6cf,PTR_DAT_0043226c + 0x1850);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x13e0,0x6cf,PTR_DAT_0043226c + 0x1850)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_0043226c + 0x13e0,0x6cf,PTR_DAT_0043226c + 0x1850)" ( (binary_expression "PTR_DAT_0043226c + 0x13e0" identifier + number_literal) , number_literal , (binary_expression "PTR_DAT_0043226c + 0x1850" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "uVar9 = ((*(int *)(param_4 + 4) - *(int *)param_4 >> 2) + param_3) * 2;" (assignment_expression "uVar9 = ((*(int *)(param_4 + 4) - *(int *)param_4 >> 2) + param_3) * 2" identifier = (binary_expression "((*(int *)(param_4 + 4) - *(int *)param_4 >> 2) + param_3) * 2" (parenthesized_expression "((*(int *)(param_4 + 4) - *(int *)param_4 >> 2) + param_3)" ( (binary_expression "(*(int *)(param_4 + 4) - *(int *)param_4 >> 2) + param_3" (parenthesized_expression "(*(int *)(param_4 + 4) - *(int *)param_4 >> 2)" ( (binary_expression "*(int *)(param_4 + 4) - *(int *)param_4 >> 2" (binary_expression "*(int *)(param_4 + 4) - *(int *)param_4" (pointer_expression "*(int *)(param_4 + 4)" * (cast_expression "(int *)(param_4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 4)" ( (binary_expression "param_4 + 4" identifier + number_literal) )))) - (pointer_expression "*(int *)param_4" * (cast_expression "(int *)param_4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) >> number_literal) )) + identifier) )) * number_literal)) ;) (expression_statement "puVar1 = (uchar *)(*(code *)PTR_operator_new___004322dc)(uVar9);" (assignment_expression "puVar1 = (uchar *)(*(code *)PTR_operator_new___004322dc)(uVar9)" identifier = (cast_expression "(uchar *)(*(code *)PTR_operator_new___004322dc)(uVar9)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_operator_new___004322dc)(uVar9)" (parenthesized_expression "(*(code *)PTR_operator_new___004322dc)" ( (pointer_expression "*(code *)PTR_operator_new___004322dc" * (cast_expression "(code *)PTR_operator_new___004322dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar9)" ( identifier ))))) ;) (if_statement "if (param_3 != 0) {\n    puVar2 = puVar1;\n    do {\n      puVar2[0] = '\0';\n      puVar2[1] = '\0';\n      puVar2 = puVar2 + 2;\n    } while (puVar1 + param_3 * 2 != puVar2);\n  }" if (parenthesized_expression "(param_3 != 0)" ( (binary_expression "param_3 != 0" identifier != number_literal) )) (compound_statement "{\n    puVar2 = puVar1;\n    do {\n      puVar2[0] = '\0';\n      puVar2[1] = '\0';\n      puVar2 = puVar2 + 2;\n    } while (puVar1 + param_3 * 2 != puVar2);\n  }" { (expression_statement "puVar2 = puVar1;" (assignment_expression "puVar2 = puVar1" identifier = identifier) ;) (do_statement "do {\n      puVar2[0] = '\0';\n      puVar2[1] = '\0';\n      puVar2 = puVar2 + 2;\n    } while (puVar1 + param_3 * 2 != puVar2);" do (compound_statement "{\n      puVar2[0] = '\0';\n      puVar2[1] = '\0';\n      puVar2 = puVar2 + 2;\n    }" { (expression_statement "puVar2[0] = '\0';" (assignment_expression "puVar2[0] = '\0'" (subscript_expression "puVar2[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar2[1] = '\0';" (assignment_expression "puVar2[1] = '\0'" (subscript_expression "puVar2[1]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar2 = puVar2 + 2;" (assignment_expression "puVar2 = puVar2 + 2" identifier = (binary_expression "puVar2 + 2" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar1 + param_3 * 2 != puVar2)" ( (binary_expression "puVar1 + param_3 * 2 != puVar2" (binary_expression "puVar1 + param_3 * 2" identifier + (binary_expression "param_3 * 2" identifier * number_literal)) != identifier) )) ;) })) (expression_statement "puVar10 = *(undefined4 **)param_4;" (assignment_expression "puVar10 = *(undefined4 **)param_4" identifier = (pointer_expression "*(undefined4 **)param_4" * (cast_expression "(undefined4 **)param_4" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if (puVar10 != *(undefined4 **)(param_4 + 4)) {\n    do {\n      pSVar6 = (Symbol *)*puVar10;\n      if (*(char **)(pSVar6 + 4) == (char *)0x0) {\n        uVar11 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n        if (uVar11 != 0) {\n          uVar11 = (uint)(uVar11 != 0x8000);\n          goto LAB_00271b88;\n        }\n        uVar11 = *(uint *)(pSVar6 + 0xc);\n        if ((int)(*(uint *)(pSVar6 + 0x28) << 0x1d) < 0) {\n          if (uVar11 != 0) {\n            uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;\n          }\n          goto LAB_00271b88;\n        }\n        iVar4 = (*(code *)PTR_is_common_shndx_00432fe0)(uVar11);\n        pSVar6 = (Symbol *)*puVar10;\n        iVar8 = *(int *)(pSVar6 + 4);\n        if (iVar4 != 0) {\n          uVar11 = 0;\n          goto LAB_00271c48;\n        }\n        if ((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0) {\n          uVar11 = 1;\n          if (iVar8 == 0) goto LAB_00271b88;\n          bVar5 = (*(uint *)(pSVar6 + 0x28) & 0xe000) != 0x8000;\n          goto LAB_00271b4c;\n        }\n        uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;\n        uVar12 = (undefined2)uVar11;\n        if (iVar8 != 0) goto LAB_00271b34;\n        iVar4 = *(int *)(pSVar6 + 0x14);\n      }\n      else {\n        if (**(char **)(pSVar6 + 4) == '\0') {\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          uVar11 = 1;\n          if (uVar3 == 0) goto LAB_00271b34;\nLAB_00271c60:\n          bVar5 = uVar3 != 0x8000;\n        }\n        else {\n          uVar11 = version_index(this,param_1,param_2,pSVar6);\n          pSVar6 = (Symbol *)*puVar10;\n          iVar8 = *(int *)(pSVar6 + 4);\nLAB_00271c48:\n          if (iVar8 == 0) goto LAB_00271b88;\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          if (uVar3 != 0) goto LAB_00271c60;\nLAB_00271b34:\n          if (*(int *)(pSVar6 + 0x28) << 0x1d < 0) {\n            bVar5 = *(int *)(pSVar6 + 0xc) != 0;\n          }\n          else {\n            bVar5 = (*(code *)PTR_is_common_shndx_00432fe0)();\n            bVar5 = bVar5 ^ 1;\n            pSVar6 = (Symbol *)*puVar10;\n          }\n        }\nLAB_00271b4c:\n        if (bVar5 != 0) {\n          if (*(int *)(pSVar6 + 4) == 0) {\n            (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,PTR_DAT_0043226c + 0x1898);\n            return;\n          }\n          if ((-1 < (int)(*(uint *)(pSVar6 + 0x28) << 0x13)) &&\n             (((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0 ||\n              (-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c))))) {\n            uVar11 = uVar11 | 0x8000;\n          }\n        }\nLAB_00271b88:\n        uVar12 = (undefined2)uVar11;\n        iVar4 = *(int *)(pSVar6 + 0x14);\n      }\n      if (iVar4 == 0) {\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x19a,PTR_DAT_0043226c + 0x1b80);\n        return;\n      }\n      puVar7 = *(undefined4 **)(param_4 + 4);\n      puVar10 = puVar10 + 1;\n      *(undefined2 *)(puVar1 + iVar4 * 2) = uVar12;\n    } while (puVar7 != puVar10);\n  }" if (parenthesized_expression "(puVar10 != *(undefined4 **)(param_4 + 4))" ( (binary_expression "puVar10 != *(undefined4 **)(param_4 + 4)" identifier != (pointer_expression "*(undefined4 **)(param_4 + 4)" * (cast_expression "(undefined4 **)(param_4 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_4 + 4)" ( (binary_expression "param_4 + 4" identifier + number_literal) ))))) )) (compound_statement "{\n    do {\n      pSVar6 = (Symbol *)*puVar10;\n      if (*(char **)(pSVar6 + 4) == (char *)0x0) {\n        uVar11 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n        if (uVar11 != 0) {\n          uVar11 = (uint)(uVar11 != 0x8000);\n          goto LAB_00271b88;\n        }\n        uVar11 = *(uint *)(pSVar6 + 0xc);\n        if ((int)(*(uint *)(pSVar6 + 0x28) << 0x1d) < 0) {\n          if (uVar11 != 0) {\n            uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;\n          }\n          goto LAB_00271b88;\n        }\n        iVar4 = (*(code *)PTR_is_common_shndx_00432fe0)(uVar11);\n        pSVar6 = (Symbol *)*puVar10;\n        iVar8 = *(int *)(pSVar6 + 4);\n        if (iVar4 != 0) {\n          uVar11 = 0;\n          goto LAB_00271c48;\n        }\n        if ((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0) {\n          uVar11 = 1;\n          if (iVar8 == 0) goto LAB_00271b88;\n          bVar5 = (*(uint *)(pSVar6 + 0x28) & 0xe000) != 0x8000;\n          goto LAB_00271b4c;\n        }\n        uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;\n        uVar12 = (undefined2)uVar11;\n        if (iVar8 != 0) goto LAB_00271b34;\n        iVar4 = *(int *)(pSVar6 + 0x14);\n      }\n      else {\n        if (**(char **)(pSVar6 + 4) == '\0') {\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          uVar11 = 1;\n          if (uVar3 == 0) goto LAB_00271b34;\nLAB_00271c60:\n          bVar5 = uVar3 != 0x8000;\n        }\n        else {\n          uVar11 = version_index(this,param_1,param_2,pSVar6);\n          pSVar6 = (Symbol *)*puVar10;\n          iVar8 = *(int *)(pSVar6 + 4);\nLAB_00271c48:\n          if (iVar8 == 0) goto LAB_00271b88;\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          if (uVar3 != 0) goto LAB_00271c60;\nLAB_00271b34:\n          if (*(int *)(pSVar6 + 0x28) << 0x1d < 0) {\n            bVar5 = *(int *)(pSVar6 + 0xc) != 0;\n          }\n          else {\n            bVar5 = (*(code *)PTR_is_common_shndx_00432fe0)();\n            bVar5 = bVar5 ^ 1;\n            pSVar6 = (Symbol *)*puVar10;\n          }\n        }\nLAB_00271b4c:\n        if (bVar5 != 0) {\n          if (*(int *)(pSVar6 + 4) == 0) {\n            (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,PTR_DAT_0043226c + 0x1898);\n            return;\n          }\n          if ((-1 < (int)(*(uint *)(pSVar6 + 0x28) << 0x13)) &&\n             (((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0 ||\n              (-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c))))) {\n            uVar11 = uVar11 | 0x8000;\n          }\n        }\nLAB_00271b88:\n        uVar12 = (undefined2)uVar11;\n        iVar4 = *(int *)(pSVar6 + 0x14);\n      }\n      if (iVar4 == 0) {\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x19a,PTR_DAT_0043226c + 0x1b80);\n        return;\n      }\n      puVar7 = *(undefined4 **)(param_4 + 4);\n      puVar10 = puVar10 + 1;\n      *(undefined2 *)(puVar1 + iVar4 * 2) = uVar12;\n    } while (puVar7 != puVar10);\n  }" { (do_statement "do {\n      pSVar6 = (Symbol *)*puVar10;\n      if (*(char **)(pSVar6 + 4) == (char *)0x0) {\n        uVar11 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n        if (uVar11 != 0) {\n          uVar11 = (uint)(uVar11 != 0x8000);\n          goto LAB_00271b88;\n        }\n        uVar11 = *(uint *)(pSVar6 + 0xc);\n        if ((int)(*(uint *)(pSVar6 + 0x28) << 0x1d) < 0) {\n          if (uVar11 != 0) {\n            uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;\n          }\n          goto LAB_00271b88;\n        }\n        iVar4 = (*(code *)PTR_is_common_shndx_00432fe0)(uVar11);\n        pSVar6 = (Symbol *)*puVar10;\n        iVar8 = *(int *)(pSVar6 + 4);\n        if (iVar4 != 0) {\n          uVar11 = 0;\n          goto LAB_00271c48;\n        }\n        if ((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0) {\n          uVar11 = 1;\n          if (iVar8 == 0) goto LAB_00271b88;\n          bVar5 = (*(uint *)(pSVar6 + 0x28) & 0xe000) != 0x8000;\n          goto LAB_00271b4c;\n        }\n        uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;\n        uVar12 = (undefined2)uVar11;\n        if (iVar8 != 0) goto LAB_00271b34;\n        iVar4 = *(int *)(pSVar6 + 0x14);\n      }\n      else {\n        if (**(char **)(pSVar6 + 4) == '\0') {\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          uVar11 = 1;\n          if (uVar3 == 0) goto LAB_00271b34;\nLAB_00271c60:\n          bVar5 = uVar3 != 0x8000;\n        }\n        else {\n          uVar11 = version_index(this,param_1,param_2,pSVar6);\n          pSVar6 = (Symbol *)*puVar10;\n          iVar8 = *(int *)(pSVar6 + 4);\nLAB_00271c48:\n          if (iVar8 == 0) goto LAB_00271b88;\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          if (uVar3 != 0) goto LAB_00271c60;\nLAB_00271b34:\n          if (*(int *)(pSVar6 + 0x28) << 0x1d < 0) {\n            bVar5 = *(int *)(pSVar6 + 0xc) != 0;\n          }\n          else {\n            bVar5 = (*(code *)PTR_is_common_shndx_00432fe0)();\n            bVar5 = bVar5 ^ 1;\n            pSVar6 = (Symbol *)*puVar10;\n          }\n        }\nLAB_00271b4c:\n        if (bVar5 != 0) {\n          if (*(int *)(pSVar6 + 4) == 0) {\n            (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,PTR_DAT_0043226c + 0x1898);\n            return;\n          }\n          if ((-1 < (int)(*(uint *)(pSVar6 + 0x28) << 0x13)) &&\n             (((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0 ||\n              (-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c))))) {\n            uVar11 = uVar11 | 0x8000;\n          }\n        }\nLAB_00271b88:\n        uVar12 = (undefined2)uVar11;\n        iVar4 = *(int *)(pSVar6 + 0x14);\n      }\n      if (iVar4 == 0) {\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x19a,PTR_DAT_0043226c + 0x1b80);\n        return;\n      }\n      puVar7 = *(undefined4 **)(param_4 + 4);\n      puVar10 = puVar10 + 1;\n      *(undefined2 *)(puVar1 + iVar4 * 2) = uVar12;\n    } while (puVar7 != puVar10);" do (compound_statement "{\n      pSVar6 = (Symbol *)*puVar10;\n      if (*(char **)(pSVar6 + 4) == (char *)0x0) {\n        uVar11 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n        if (uVar11 != 0) {\n          uVar11 = (uint)(uVar11 != 0x8000);\n          goto LAB_00271b88;\n        }\n        uVar11 = *(uint *)(pSVar6 + 0xc);\n        if ((int)(*(uint *)(pSVar6 + 0x28) << 0x1d) < 0) {\n          if (uVar11 != 0) {\n            uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;\n          }\n          goto LAB_00271b88;\n        }\n        iVar4 = (*(code *)PTR_is_common_shndx_00432fe0)(uVar11);\n        pSVar6 = (Symbol *)*puVar10;\n        iVar8 = *(int *)(pSVar6 + 4);\n        if (iVar4 != 0) {\n          uVar11 = 0;\n          goto LAB_00271c48;\n        }\n        if ((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0) {\n          uVar11 = 1;\n          if (iVar8 == 0) goto LAB_00271b88;\n          bVar5 = (*(uint *)(pSVar6 + 0x28) & 0xe000) != 0x8000;\n          goto LAB_00271b4c;\n        }\n        uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;\n        uVar12 = (undefined2)uVar11;\n        if (iVar8 != 0) goto LAB_00271b34;\n        iVar4 = *(int *)(pSVar6 + 0x14);\n      }\n      else {\n        if (**(char **)(pSVar6 + 4) == '\0') {\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          uVar11 = 1;\n          if (uVar3 == 0) goto LAB_00271b34;\nLAB_00271c60:\n          bVar5 = uVar3 != 0x8000;\n        }\n        else {\n          uVar11 = version_index(this,param_1,param_2,pSVar6);\n          pSVar6 = (Symbol *)*puVar10;\n          iVar8 = *(int *)(pSVar6 + 4);\nLAB_00271c48:\n          if (iVar8 == 0) goto LAB_00271b88;\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          if (uVar3 != 0) goto LAB_00271c60;\nLAB_00271b34:\n          if (*(int *)(pSVar6 + 0x28) << 0x1d < 0) {\n            bVar5 = *(int *)(pSVar6 + 0xc) != 0;\n          }\n          else {\n            bVar5 = (*(code *)PTR_is_common_shndx_00432fe0)();\n            bVar5 = bVar5 ^ 1;\n            pSVar6 = (Symbol *)*puVar10;\n          }\n        }\nLAB_00271b4c:\n        if (bVar5 != 0) {\n          if (*(int *)(pSVar6 + 4) == 0) {\n            (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,PTR_DAT_0043226c + 0x1898);\n            return;\n          }\n          if ((-1 < (int)(*(uint *)(pSVar6 + 0x28) << 0x13)) &&\n             (((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0 ||\n              (-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c))))) {\n            uVar11 = uVar11 | 0x8000;\n          }\n        }\nLAB_00271b88:\n        uVar12 = (undefined2)uVar11;\n        iVar4 = *(int *)(pSVar6 + 0x14);\n      }\n      if (iVar4 == 0) {\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x19a,PTR_DAT_0043226c + 0x1b80);\n        return;\n      }\n      puVar7 = *(undefined4 **)(param_4 + 4);\n      puVar10 = puVar10 + 1;\n      *(undefined2 *)(puVar1 + iVar4 * 2) = uVar12;\n    }" { (expression_statement "pSVar6 = (Symbol *)*puVar10;" (assignment_expression "pSVar6 = (Symbol *)*puVar10" identifier = (cast_expression "(Symbol *)*puVar10" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar10" * identifier))) ;) (if_statement "if (*(char **)(pSVar6 + 4) == (char *)0x0) {\n        uVar11 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n        if (uVar11 != 0) {\n          uVar11 = (uint)(uVar11 != 0x8000);\n          goto LAB_00271b88;\n        }\n        uVar11 = *(uint *)(pSVar6 + 0xc);\n        if ((int)(*(uint *)(pSVar6 + 0x28) << 0x1d) < 0) {\n          if (uVar11 != 0) {\n            uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;\n          }\n          goto LAB_00271b88;\n        }\n        iVar4 = (*(code *)PTR_is_common_shndx_00432fe0)(uVar11);\n        pSVar6 = (Symbol *)*puVar10;\n        iVar8 = *(int *)(pSVar6 + 4);\n        if (iVar4 != 0) {\n          uVar11 = 0;\n          goto LAB_00271c48;\n        }\n        if ((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0) {\n          uVar11 = 1;\n          if (iVar8 == 0) goto LAB_00271b88;\n          bVar5 = (*(uint *)(pSVar6 + 0x28) & 0xe000) != 0x8000;\n          goto LAB_00271b4c;\n        }\n        uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;\n        uVar12 = (undefined2)uVar11;\n        if (iVar8 != 0) goto LAB_00271b34;\n        iVar4 = *(int *)(pSVar6 + 0x14);\n      }\n      else {\n        if (**(char **)(pSVar6 + 4) == '\0') {\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          uVar11 = 1;\n          if (uVar3 == 0) goto LAB_00271b34;\nLAB_00271c60:\n          bVar5 = uVar3 != 0x8000;\n        }\n        else {\n          uVar11 = version_index(this,param_1,param_2,pSVar6);\n          pSVar6 = (Symbol *)*puVar10;\n          iVar8 = *(int *)(pSVar6 + 4);\nLAB_00271c48:\n          if (iVar8 == 0) goto LAB_00271b88;\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          if (uVar3 != 0) goto LAB_00271c60;\nLAB_00271b34:\n          if (*(int *)(pSVar6 + 0x28) << 0x1d < 0) {\n            bVar5 = *(int *)(pSVar6 + 0xc) != 0;\n          }\n          else {\n            bVar5 = (*(code *)PTR_is_common_shndx_00432fe0)();\n            bVar5 = bVar5 ^ 1;\n            pSVar6 = (Symbol *)*puVar10;\n          }\n        }\nLAB_00271b4c:\n        if (bVar5 != 0) {\n          if (*(int *)(pSVar6 + 4) == 0) {\n            (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,PTR_DAT_0043226c + 0x1898);\n            return;\n          }\n          if ((-1 < (int)(*(uint *)(pSVar6 + 0x28) << 0x13)) &&\n             (((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0 ||\n              (-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c))))) {\n            uVar11 = uVar11 | 0x8000;\n          }\n        }\nLAB_00271b88:\n        uVar12 = (undefined2)uVar11;\n        iVar4 = *(int *)(pSVar6 + 0x14);\n      }" if (parenthesized_expression "(*(char **)(pSVar6 + 4) == (char *)0x0)" ( (binary_expression "*(char **)(pSVar6 + 4) == (char *)0x0" (pointer_expression "*(char **)(pSVar6 + 4)" * (cast_expression "(char **)(pSVar6 + 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pSVar6 + 4)" ( (binary_expression "pSVar6 + 4" identifier + number_literal) )))) == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        uVar11 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n        if (uVar11 != 0) {\n          uVar11 = (uint)(uVar11 != 0x8000);\n          goto LAB_00271b88;\n        }\n        uVar11 = *(uint *)(pSVar6 + 0xc);\n        if ((int)(*(uint *)(pSVar6 + 0x28) << 0x1d) < 0) {\n          if (uVar11 != 0) {\n            uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;\n          }\n          goto LAB_00271b88;\n        }\n        iVar4 = (*(code *)PTR_is_common_shndx_00432fe0)(uVar11);\n        pSVar6 = (Symbol *)*puVar10;\n        iVar8 = *(int *)(pSVar6 + 4);\n        if (iVar4 != 0) {\n          uVar11 = 0;\n          goto LAB_00271c48;\n        }\n        if ((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0) {\n          uVar11 = 1;\n          if (iVar8 == 0) goto LAB_00271b88;\n          bVar5 = (*(uint *)(pSVar6 + 0x28) & 0xe000) != 0x8000;\n          goto LAB_00271b4c;\n        }\n        uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;\n        uVar12 = (undefined2)uVar11;\n        if (iVar8 != 0) goto LAB_00271b34;\n        iVar4 = *(int *)(pSVar6 + 0x14);\n      }" { (expression_statement "uVar11 = *(uint *)(pSVar6 + 0x28) & 0xe000;" (assignment_expression "uVar11 = *(uint *)(pSVar6 + 0x28) & 0xe000" identifier = (binary_expression "*(uint *)(pSVar6 + 0x28) & 0xe000" (pointer_expression "*(uint *)(pSVar6 + 0x28)" * (cast_expression "(uint *)(pSVar6 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar6 + 0x28)" ( (binary_expression "pSVar6 + 0x28" identifier + number_literal) )))) & number_literal)) ;) (if_statement "if (uVar11 != 0) {\n          uVar11 = (uint)(uVar11 != 0x8000);\n          goto LAB_00271b88;\n        }" if (parenthesized_expression "(uVar11 != 0)" ( (binary_expression "uVar11 != 0" identifier != number_literal) )) (compound_statement "{\n          uVar11 = (uint)(uVar11 != 0x8000);\n          goto LAB_00271b88;\n        }" { (expression_statement "uVar11 = (uint)(uVar11 != 0x8000);" (assignment_expression "uVar11 = (uint)(uVar11 != 0x8000)" identifier = (call_expression "(uint)(uVar11 != 0x8000)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar11 != 0x8000)" ( (binary_expression "uVar11 != 0x8000" identifier != number_literal) )))) ;) (goto_statement "goto LAB_00271b88;" goto statement_identifier ;) })) (expression_statement "uVar11 = *(uint *)(pSVar6 + 0xc);" (assignment_expression "uVar11 = *(uint *)(pSVar6 + 0xc)" identifier = (pointer_expression "*(uint *)(pSVar6 + 0xc)" * (cast_expression "(uint *)(pSVar6 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar6 + 0xc)" ( (binary_expression "pSVar6 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if ((int)(*(uint *)(pSVar6 + 0x28) << 0x1d) < 0) {\n          if (uVar11 != 0) {\n            uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;\n          }\n          goto LAB_00271b88;\n        }" if (parenthesized_expression "((int)(*(uint *)(pSVar6 + 0x28) << 0x1d) < 0)" ( (binary_expression "(int)(*(uint *)(pSVar6 + 0x28) << 0x1d) < 0" (cast_expression "(int)(*(uint *)(pSVar6 + 0x28) << 0x1d)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(*(uint *)(pSVar6 + 0x28) << 0x1d)" ( (binary_expression "*(uint *)(pSVar6 + 0x28) << 0x1d" (pointer_expression "*(uint *)(pSVar6 + 0x28)" * (cast_expression "(uint *)(pSVar6 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar6 + 0x28)" ( (binary_expression "pSVar6 + 0x28" identifier + number_literal) )))) << number_literal) ))) < number_literal) )) (compound_statement "{\n          if (uVar11 != 0) {\n            uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;\n          }\n          goto LAB_00271b88;\n        }" { (if_statement "if (uVar11 != 0) {\n            uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;\n          }" if (parenthesized_expression "(uVar11 != 0)" ( (binary_expression "uVar11 != 0" identifier != number_literal) )) (compound_statement "{\n            uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;\n          }" { (expression_statement "uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;" (assignment_expression "uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1" identifier = (binary_expression "*(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1" (binary_expression "*(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f" (pointer_expression "*(uint *)(*(int *)(pSVar6 + 8) + 0x2c)" * (cast_expression "(uint *)(*(int *)(pSVar6 + 8) + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pSVar6 + 8) + 0x2c)" ( (binary_expression "*(int *)(pSVar6 + 8) + 0x2c" (pointer_expression "*(int *)(pSVar6 + 8)" * (cast_expression "(int *)(pSVar6 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar6 + 8)" ( (binary_expression "pSVar6 + 8" identifier + number_literal) )))) + number_literal) )))) >> number_literal) ^ number_literal)) ;) })) (goto_statement "goto LAB_00271b88;" goto statement_identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_is_common_shndx_00432fe0)(uVar11);" (assignment_expression "iVar4 = (*(code *)PTR_is_common_shndx_00432fe0)(uVar11)" identifier = (call_expression "(*(code *)PTR_is_common_shndx_00432fe0)(uVar11)" (parenthesized_expression "(*(code *)PTR_is_common_shndx_00432fe0)" ( (pointer_expression "*(code *)PTR_is_common_shndx_00432fe0" * (cast_expression "(code *)PTR_is_common_shndx_00432fe0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar11)" ( identifier )))) ;) (expression_statement "pSVar6 = (Symbol *)*puVar10;" (assignment_expression "pSVar6 = (Symbol *)*puVar10" identifier = (cast_expression "(Symbol *)*puVar10" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar10" * identifier))) ;) (expression_statement "iVar8 = *(int *)(pSVar6 + 4);" (assignment_expression "iVar8 = *(int *)(pSVar6 + 4)" identifier = (pointer_expression "*(int *)(pSVar6 + 4)" * (cast_expression "(int *)(pSVar6 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar6 + 4)" ( (binary_expression "pSVar6 + 4" identifier + number_literal) ))))) ;) (if_statement "if (iVar4 != 0) {\n          uVar11 = 0;\n          goto LAB_00271c48;\n        }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n          uVar11 = 0;\n          goto LAB_00271c48;\n        }" { (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00271c48;" goto statement_identifier ;) })) (if_statement "if ((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0) {\n          uVar11 = 1;\n          if (iVar8 == 0) goto LAB_00271b88;\n          bVar5 = (*(uint *)(pSVar6 + 0x28) & 0xe000) != 0x8000;\n          goto LAB_00271b4c;\n        }" if (parenthesized_expression "((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0)" ( (binary_expression "(*(uint *)(pSVar6 + 0x28) & 0xe000) != 0" (parenthesized_expression "(*(uint *)(pSVar6 + 0x28) & 0xe000)" ( (binary_expression "*(uint *)(pSVar6 + 0x28) & 0xe000" (pointer_expression "*(uint *)(pSVar6 + 0x28)" * (cast_expression "(uint *)(pSVar6 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar6 + 0x28)" ( (binary_expression "pSVar6 + 0x28" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n          uVar11 = 1;\n          if (iVar8 == 0) goto LAB_00271b88;\n          bVar5 = (*(uint *)(pSVar6 + 0x28) & 0xe000) != 0x8000;\n          goto LAB_00271b4c;\n        }" { (expression_statement "uVar11 = 1;" (assignment_expression "uVar11 = 1" identifier = number_literal) ;) (if_statement "if (iVar8 == 0) goto LAB_00271b88;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00271b88;" goto statement_identifier ;)) (expression_statement "bVar5 = (*(uint *)(pSVar6 + 0x28) & 0xe000) != 0x8000;" (assignment_expression "bVar5 = (*(uint *)(pSVar6 + 0x28) & 0xe000) != 0x8000" identifier = (binary_expression "(*(uint *)(pSVar6 + 0x28) & 0xe000) != 0x8000" (parenthesized_expression "(*(uint *)(pSVar6 + 0x28) & 0xe000)" ( (binary_expression "*(uint *)(pSVar6 + 0x28) & 0xe000" (pointer_expression "*(uint *)(pSVar6 + 0x28)" * (cast_expression "(uint *)(pSVar6 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar6 + 0x28)" ( (binary_expression "pSVar6 + 0x28" identifier + number_literal) )))) & number_literal) )) != number_literal)) ;) (goto_statement "goto LAB_00271b4c;" goto statement_identifier ;) })) (expression_statement "uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;" (assignment_expression "uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1" identifier = (binary_expression "*(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1" (binary_expression "*(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f" (pointer_expression "*(uint *)(*(int *)(pSVar6 + 8) + 0x2c)" * (cast_expression "(uint *)(*(int *)(pSVar6 + 8) + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pSVar6 + 8) + 0x2c)" ( (binary_expression "*(int *)(pSVar6 + 8) + 0x2c" (pointer_expression "*(int *)(pSVar6 + 8)" * (cast_expression "(int *)(pSVar6 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar6 + 8)" ( (binary_expression "pSVar6 + 8" identifier + number_literal) )))) + number_literal) )))) >> number_literal) ^ number_literal)) ;) (expression_statement "uVar12 = (undefined2)uVar11;" (assignment_expression "uVar12 = (undefined2)uVar11" identifier = (cast_expression "(undefined2)uVar11" ( (type_descriptor "undefined2" type_identifier) ) identifier)) ;) (if_statement "if (iVar8 != 0) goto LAB_00271b34;" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00271b34;" goto statement_identifier ;)) (expression_statement "iVar4 = *(int *)(pSVar6 + 0x14);" (assignment_expression "iVar4 = *(int *)(pSVar6 + 0x14)" identifier = (pointer_expression "*(int *)(pSVar6 + 0x14)" * (cast_expression "(int *)(pSVar6 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar6 + 0x14)" ( (binary_expression "pSVar6 + 0x14" identifier + number_literal) ))))) ;) }) (else_clause "else {\n        if (**(char **)(pSVar6 + 4) == '\0') {\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          uVar11 = 1;\n          if (uVar3 == 0) goto LAB_00271b34;\nLAB_00271c60:\n          bVar5 = uVar3 != 0x8000;\n        }\n        else {\n          uVar11 = version_index(this,param_1,param_2,pSVar6);\n          pSVar6 = (Symbol *)*puVar10;\n          iVar8 = *(int *)(pSVar6 + 4);\nLAB_00271c48:\n          if (iVar8 == 0) goto LAB_00271b88;\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          if (uVar3 != 0) goto LAB_00271c60;\nLAB_00271b34:\n          if (*(int *)(pSVar6 + 0x28) << 0x1d < 0) {\n            bVar5 = *(int *)(pSVar6 + 0xc) != 0;\n          }\n          else {\n            bVar5 = (*(code *)PTR_is_common_shndx_00432fe0)();\n            bVar5 = bVar5 ^ 1;\n            pSVar6 = (Symbol *)*puVar10;\n          }\n        }\nLAB_00271b4c:\n        if (bVar5 != 0) {\n          if (*(int *)(pSVar6 + 4) == 0) {\n            (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,PTR_DAT_0043226c + 0x1898);\n            return;\n          }\n          if ((-1 < (int)(*(uint *)(pSVar6 + 0x28) << 0x13)) &&\n             (((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0 ||\n              (-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c))))) {\n            uVar11 = uVar11 | 0x8000;\n          }\n        }\nLAB_00271b88:\n        uVar12 = (undefined2)uVar11;\n        iVar4 = *(int *)(pSVar6 + 0x14);\n      }" else (compound_statement "{\n        if (**(char **)(pSVar6 + 4) == '\0') {\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          uVar11 = 1;\n          if (uVar3 == 0) goto LAB_00271b34;\nLAB_00271c60:\n          bVar5 = uVar3 != 0x8000;\n        }\n        else {\n          uVar11 = version_index(this,param_1,param_2,pSVar6);\n          pSVar6 = (Symbol *)*puVar10;\n          iVar8 = *(int *)(pSVar6 + 4);\nLAB_00271c48:\n          if (iVar8 == 0) goto LAB_00271b88;\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          if (uVar3 != 0) goto LAB_00271c60;\nLAB_00271b34:\n          if (*(int *)(pSVar6 + 0x28) << 0x1d < 0) {\n            bVar5 = *(int *)(pSVar6 + 0xc) != 0;\n          }\n          else {\n            bVar5 = (*(code *)PTR_is_common_shndx_00432fe0)();\n            bVar5 = bVar5 ^ 1;\n            pSVar6 = (Symbol *)*puVar10;\n          }\n        }\nLAB_00271b4c:\n        if (bVar5 != 0) {\n          if (*(int *)(pSVar6 + 4) == 0) {\n            (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,PTR_DAT_0043226c + 0x1898);\n            return;\n          }\n          if ((-1 < (int)(*(uint *)(pSVar6 + 0x28) << 0x13)) &&\n             (((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0 ||\n              (-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c))))) {\n            uVar11 = uVar11 | 0x8000;\n          }\n        }\nLAB_00271b88:\n        uVar12 = (undefined2)uVar11;\n        iVar4 = *(int *)(pSVar6 + 0x14);\n      }" { (if_statement "if (**(char **)(pSVar6 + 4) == '\0') {\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          uVar11 = 1;\n          if (uVar3 == 0) goto LAB_00271b34;\nLAB_00271c60:\n          bVar5 = uVar3 != 0x8000;\n        }\n        else {\n          uVar11 = version_index(this,param_1,param_2,pSVar6);\n          pSVar6 = (Symbol *)*puVar10;\n          iVar8 = *(int *)(pSVar6 + 4);\nLAB_00271c48:\n          if (iVar8 == 0) goto LAB_00271b88;\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          if (uVar3 != 0) goto LAB_00271c60;\nLAB_00271b34:\n          if (*(int *)(pSVar6 + 0x28) << 0x1d < 0) {\n            bVar5 = *(int *)(pSVar6 + 0xc) != 0;\n          }\n          else {\n            bVar5 = (*(code *)PTR_is_common_shndx_00432fe0)();\n            bVar5 = bVar5 ^ 1;\n            pSVar6 = (Symbol *)*puVar10;\n          }\n        }" if (parenthesized_expression "(**(char **)(pSVar6 + 4) == '\0')" ( (binary_expression "**(char **)(pSVar6 + 4) == '\0'" (pointer_expression "**(char **)(pSVar6 + 4)" * (pointer_expression "*(char **)(pSVar6 + 4)" * (cast_expression "(char **)(pSVar6 + 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pSVar6 + 4)" ( (binary_expression "pSVar6 + 4" identifier + number_literal) ))))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          uVar11 = 1;\n          if (uVar3 == 0) goto LAB_00271b34;\nLAB_00271c60:\n          bVar5 = uVar3 != 0x8000;\n        }" { (expression_statement "uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;" (assignment_expression "uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000" identifier = (binary_expression "*(uint *)(pSVar6 + 0x28) & 0xe000" (pointer_expression "*(uint *)(pSVar6 + 0x28)" * (cast_expression "(uint *)(pSVar6 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar6 + 0x28)" ( (binary_expression "pSVar6 + 0x28" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "uVar11 = 1;" (assignment_expression "uVar11 = 1" identifier = number_literal) ;) (if_statement "if (uVar3 == 0) goto LAB_00271b34;" if (parenthesized_expression "(uVar3 == 0)" ( (binary_expression "uVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00271b34;" goto statement_identifier ;)) (labeled_statement "LAB_00271c60:\n          bVar5 = uVar3 != 0x8000;" statement_identifier : (expression_statement "bVar5 = uVar3 != 0x8000;" (assignment_expression "bVar5 = uVar3 != 0x8000" identifier = (binary_expression "uVar3 != 0x8000" identifier != number_literal)) ;)) }) (else_clause "else {\n          uVar11 = version_index(this,param_1,param_2,pSVar6);\n          pSVar6 = (Symbol *)*puVar10;\n          iVar8 = *(int *)(pSVar6 + 4);\nLAB_00271c48:\n          if (iVar8 == 0) goto LAB_00271b88;\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          if (uVar3 != 0) goto LAB_00271c60;\nLAB_00271b34:\n          if (*(int *)(pSVar6 + 0x28) << 0x1d < 0) {\n            bVar5 = *(int *)(pSVar6 + 0xc) != 0;\n          }\n          else {\n            bVar5 = (*(code *)PTR_is_common_shndx_00432fe0)();\n            bVar5 = bVar5 ^ 1;\n            pSVar6 = (Symbol *)*puVar10;\n          }\n        }" else (compound_statement "{\n          uVar11 = version_index(this,param_1,param_2,pSVar6);\n          pSVar6 = (Symbol *)*puVar10;\n          iVar8 = *(int *)(pSVar6 + 4);\nLAB_00271c48:\n          if (iVar8 == 0) goto LAB_00271b88;\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          if (uVar3 != 0) goto LAB_00271c60;\nLAB_00271b34:\n          if (*(int *)(pSVar6 + 0x28) << 0x1d < 0) {\n            bVar5 = *(int *)(pSVar6 + 0xc) != 0;\n          }\n          else {\n            bVar5 = (*(code *)PTR_is_common_shndx_00432fe0)();\n            bVar5 = bVar5 ^ 1;\n            pSVar6 = (Symbol *)*puVar10;\n          }\n        }" { (expression_statement "uVar11 = version_index(this,param_1,param_2,pSVar6);" (assignment_expression "uVar11 = version_index(this,param_1,param_2,pSVar6)" identifier = (call_expression "version_index(this,param_1,param_2,pSVar6)" identifier (argument_list "(this,param_1,param_2,pSVar6)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "pSVar6 = (Symbol *)*puVar10;" (assignment_expression "pSVar6 = (Symbol *)*puVar10" identifier = (cast_expression "(Symbol *)*puVar10" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar10" * identifier))) ;) (expression_statement "iVar8 = *(int *)(pSVar6 + 4);" (assignment_expression "iVar8 = *(int *)(pSVar6 + 4)" identifier = (pointer_expression "*(int *)(pSVar6 + 4)" * (cast_expression "(int *)(pSVar6 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar6 + 4)" ( (binary_expression "pSVar6 + 4" identifier + number_literal) ))))) ;) (labeled_statement "LAB_00271c48:\n          if (iVar8 == 0) goto LAB_00271b88;" statement_identifier : (if_statement "if (iVar8 == 0) goto LAB_00271b88;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00271b88;" goto statement_identifier ;))) (expression_statement "uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;" (assignment_expression "uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000" identifier = (binary_expression "*(uint *)(pSVar6 + 0x28) & 0xe000" (pointer_expression "*(uint *)(pSVar6 + 0x28)" * (cast_expression "(uint *)(pSVar6 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar6 + 0x28)" ( (binary_expression "pSVar6 + 0x28" identifier + number_literal) )))) & number_literal)) ;) (if_statement "if (uVar3 != 0) goto LAB_00271c60;" if (parenthesized_expression "(uVar3 != 0)" ( (binary_expression "uVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00271c60;" goto statement_identifier ;)) (labeled_statement "LAB_00271b34:\n          if (*(int *)(pSVar6 + 0x28) << 0x1d < 0) {\n            bVar5 = *(int *)(pSVar6 + 0xc) != 0;\n          }\n          else {\n            bVar5 = (*(code *)PTR_is_common_shndx_00432fe0)();\n            bVar5 = bVar5 ^ 1;\n            pSVar6 = (Symbol *)*puVar10;\n          }" statement_identifier : (if_statement "if (*(int *)(pSVar6 + 0x28) << 0x1d < 0) {\n            bVar5 = *(int *)(pSVar6 + 0xc) != 0;\n          }\n          else {\n            bVar5 = (*(code *)PTR_is_common_shndx_00432fe0)();\n            bVar5 = bVar5 ^ 1;\n            pSVar6 = (Symbol *)*puVar10;\n          }" if (parenthesized_expression "(*(int *)(pSVar6 + 0x28) << 0x1d < 0)" ( (binary_expression "*(int *)(pSVar6 + 0x28) << 0x1d < 0" (binary_expression "*(int *)(pSVar6 + 0x28) << 0x1d" (pointer_expression "*(int *)(pSVar6 + 0x28)" * (cast_expression "(int *)(pSVar6 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar6 + 0x28)" ( (binary_expression "pSVar6 + 0x28" identifier + number_literal) )))) << number_literal) < number_literal) )) (compound_statement "{\n            bVar5 = *(int *)(pSVar6 + 0xc) != 0;\n          }" { (expression_statement "bVar5 = *(int *)(pSVar6 + 0xc) != 0;" (assignment_expression "bVar5 = *(int *)(pSVar6 + 0xc) != 0" identifier = (binary_expression "*(int *)(pSVar6 + 0xc) != 0" (pointer_expression "*(int *)(pSVar6 + 0xc)" * (cast_expression "(int *)(pSVar6 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar6 + 0xc)" ( (binary_expression "pSVar6 + 0xc" identifier + number_literal) )))) != number_literal)) ;) }) (else_clause "else {\n            bVar5 = (*(code *)PTR_is_common_shndx_00432fe0)();\n            bVar5 = bVar5 ^ 1;\n            pSVar6 = (Symbol *)*puVar10;\n          }" else (compound_statement "{\n            bVar5 = (*(code *)PTR_is_common_shndx_00432fe0)();\n            bVar5 = bVar5 ^ 1;\n            pSVar6 = (Symbol *)*puVar10;\n          }" { (expression_statement "bVar5 = (*(code *)PTR_is_common_shndx_00432fe0)();" (assignment_expression "bVar5 = (*(code *)PTR_is_common_shndx_00432fe0)()" identifier = (call_expression "(*(code *)PTR_is_common_shndx_00432fe0)()" (parenthesized_expression "(*(code *)PTR_is_common_shndx_00432fe0)" ( (pointer_expression "*(code *)PTR_is_common_shndx_00432fe0" * (cast_expression "(code *)PTR_is_common_shndx_00432fe0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "bVar5 = bVar5 ^ 1;" (assignment_expression "bVar5 = bVar5 ^ 1" identifier = (binary_expression "bVar5 ^ 1" identifier ^ number_literal)) ;) (expression_statement "pSVar6 = (Symbol *)*puVar10;" (assignment_expression "pSVar6 = (Symbol *)*puVar10" identifier = (cast_expression "(Symbol *)*puVar10" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar10" * identifier))) ;) })))) }))) (labeled_statement "LAB_00271b4c:\n        if (bVar5 != 0) {\n          if (*(int *)(pSVar6 + 4) == 0) {\n            (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,PTR_DAT_0043226c + 0x1898);\n            return;\n          }\n          if ((-1 < (int)(*(uint *)(pSVar6 + 0x28) << 0x13)) &&\n             (((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0 ||\n              (-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c))))) {\n            uVar11 = uVar11 | 0x8000;\n          }\n        }" statement_identifier : (if_statement "if (bVar5 != 0) {\n          if (*(int *)(pSVar6 + 4) == 0) {\n            (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,PTR_DAT_0043226c + 0x1898);\n            return;\n          }\n          if ((-1 < (int)(*(uint *)(pSVar6 + 0x28) << 0x13)) &&\n             (((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0 ||\n              (-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c))))) {\n            uVar11 = uVar11 | 0x8000;\n          }\n        }" if (parenthesized_expression "(bVar5 != 0)" ( (binary_expression "bVar5 != 0" identifier != number_literal) )) (compound_statement "{\n          if (*(int *)(pSVar6 + 4) == 0) {\n            (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,PTR_DAT_0043226c + 0x1898);\n            return;\n          }\n          if ((-1 < (int)(*(uint *)(pSVar6 + 0x28) << 0x13)) &&\n             (((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0 ||\n              (-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c))))) {\n            uVar11 = uVar11 | 0x8000;\n          }\n        }" { (if_statement "if (*(int *)(pSVar6 + 4) == 0) {\n            (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,PTR_DAT_0043226c + 0x1898);\n            return;\n          }" if (parenthesized_expression "(*(int *)(pSVar6 + 4) == 0)" ( (binary_expression "*(int *)(pSVar6 + 4) == 0" (pointer_expression "*(int *)(pSVar6 + 4)" * (cast_expression "(int *)(pSVar6 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar6 + 4)" ( (binary_expression "pSVar6 + 4" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n            (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,PTR_DAT_0043226c + 0x1898);\n            return;\n          }" { (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,PTR_DAT_0043226c + 0x1898);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,PTR_DAT_0043226c + 0x1898)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,PTR_DAT_0043226c + 0x1898)" ( (binary_expression "PTR_s_alize_xindex_004323b4 + -0x5bdc" identifier + number_literal) , number_literal , (binary_expression "PTR_DAT_0043226c + 0x1898" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (if_statement "if ((-1 < (int)(*(uint *)(pSVar6 + 0x28) << 0x13)) &&\n             (((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0 ||\n              (-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c))))) {\n            uVar11 = uVar11 | 0x8000;\n          }" if (parenthesized_expression "((-1 < (int)(*(uint *)(pSVar6 + 0x28) << 0x13)) &&\n             (((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0 ||\n              (-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c)))))" ( (binary_expression "(-1 < (int)(*(uint *)(pSVar6 + 0x28) << 0x13)) &&\n             (((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0 ||\n              (-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c))))" (parenthesized_expression "(-1 < (int)(*(uint *)(pSVar6 + 0x28) << 0x13))" ( (binary_expression "-1 < (int)(*(uint *)(pSVar6 + 0x28) << 0x13)" number_literal < (cast_expression "(int)(*(uint *)(pSVar6 + 0x28) << 0x13)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(*(uint *)(pSVar6 + 0x28) << 0x13)" ( (binary_expression "*(uint *)(pSVar6 + 0x28) << 0x13" (pointer_expression "*(uint *)(pSVar6 + 0x28)" * (cast_expression "(uint *)(pSVar6 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar6 + 0x28)" ( (binary_expression "pSVar6 + 0x28" identifier + number_literal) )))) << number_literal) )))) )) && (parenthesized_expression "(((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0 ||\n              (-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c))))" ( (parenthesized_expression "((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0 ||\n              (-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c)))" ( (binary_expression "(*(uint *)(pSVar6 + 0x28) & 0xe000) != 0 ||\n              (-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c))" (binary_expression "(*(uint *)(pSVar6 + 0x28) & 0xe000) != 0" (parenthesized_expression "(*(uint *)(pSVar6 + 0x28) & 0xe000)" ( (binary_expression "*(uint *)(pSVar6 + 0x28) & 0xe000" (pointer_expression "*(uint *)(pSVar6 + 0x28)" * (cast_expression "(uint *)(pSVar6 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar6 + 0x28)" ( (binary_expression "pSVar6 + 0x28" identifier + number_literal) )))) & number_literal) )) != number_literal) || (parenthesized_expression "(-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c))" ( (binary_expression "-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c)" number_literal < (pointer_expression "*(int *)(*(int *)(pSVar6 + 8) + 0x2c)" * (cast_expression "(int *)(*(int *)(pSVar6 + 8) + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pSVar6 + 8) + 0x2c)" ( (binary_expression "*(int *)(pSVar6 + 8) + 0x2c" (pointer_expression "*(int *)(pSVar6 + 8)" * (cast_expression "(int *)(pSVar6 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar6 + 8)" ( (binary_expression "pSVar6 + 8" identifier + number_literal) )))) + number_literal) ))))) ))) )) ))) )) (compound_statement "{\n            uVar11 = uVar11 | 0x8000;\n          }" { (expression_statement "uVar11 = uVar11 | 0x8000;" (assignment_expression "uVar11 = uVar11 | 0x8000" identifier = (binary_expression "uVar11 | 0x8000" identifier | number_literal)) ;) })) }))) (labeled_statement "LAB_00271b88:\n        uVar12 = (undefined2)uVar11;" statement_identifier : (expression_statement "uVar12 = (undefined2)uVar11;" (assignment_expression "uVar12 = (undefined2)uVar11" identifier = (cast_expression "(undefined2)uVar11" ( (type_descriptor "undefined2" type_identifier) ) identifier)) ;)) (expression_statement "iVar4 = *(int *)(pSVar6 + 0x14);" (assignment_expression "iVar4 = *(int *)(pSVar6 + 0x14)" identifier = (pointer_expression "*(int *)(pSVar6 + 0x14)" * (cast_expression "(int *)(pSVar6 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar6 + 0x14)" ( (binary_expression "pSVar6 + 0x14" identifier + number_literal) ))))) ;) }))) (if_statement "if (iVar4 == 0) {\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x19a,PTR_DAT_0043226c + 0x1b80);\n        return;\n      }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x19a,PTR_DAT_0043226c + 0x1b80);\n        return;\n      }" { (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x19a,PTR_DAT_0043226c + 0x1b80);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x19a,PTR_DAT_0043226c + 0x1b80)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_alize_xindex_004323b4 + -0x5bdc,0x19a,PTR_DAT_0043226c + 0x1b80)" ( (binary_expression "PTR_s_alize_xindex_004323b4 + -0x5bdc" identifier + number_literal) , number_literal , (binary_expression "PTR_DAT_0043226c + 0x1b80" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "puVar7 = *(undefined4 **)(param_4 + 4);" (assignment_expression "puVar7 = *(undefined4 **)(param_4 + 4)" identifier = (pointer_expression "*(undefined4 **)(param_4 + 4)" * (cast_expression "(undefined4 **)(param_4 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_4 + 4)" ( (binary_expression "param_4 + 4" identifier + number_literal) ))))) ;) (expression_statement "puVar10 = puVar10 + 1;" (assignment_expression "puVar10 = puVar10 + 1" identifier = (binary_expression "puVar10 + 1" identifier + number_literal)) ;) (expression_statement "*(undefined2 *)(puVar1 + iVar4 * 2) = uVar12;" (assignment_expression "*(undefined2 *)(puVar1 + iVar4 * 2) = uVar12" (pointer_expression "*(undefined2 *)(puVar1 + iVar4 * 2)" * (cast_expression "(undefined2 *)(puVar1 + iVar4 * 2)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + iVar4 * 2)" ( (binary_expression "puVar1 + iVar4 * 2" identifier + (binary_expression "iVar4 * 2" identifier * number_literal)) )))) = identifier) ;) }) while (parenthesized_expression "(puVar7 != puVar10)" ( (binary_expression "puVar7 != puVar10" identifier != identifier) )) ;) })) (expression_statement "*param_5 = puVar1;" (assignment_expression "*param_5 = puVar1" (pointer_expression "*param_5" * identifier) = identifier) ;) (expression_statement "*param_6 = uVar9;" (assignment_expression "*param_6 = uVar9" (pointer_expression "*param_6" * identifier) = identifier) ;) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit (declaration TYPE (ms_call_modifier __thiscall) (ERROR IDENT : : IDENT : :) IDENT (ERROR < LIT) , (ERROR (function_declarator IDENT (ERROR >) (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * IDENT))) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) { IDENT) (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE) ) 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 = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) >> LIT) )) + IDENT) )) * LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) != 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 IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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 != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != LIT) )))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT) ))) < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) >> LIT) ^ LIT)) ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_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 = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) >> LIT) ^ LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT != LIT)) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;))) (expression_statement (assignment_expression IDENT = (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 != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (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 = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) })))) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (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 ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT) )))) )) && (parenthesized_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 IDENT + LIT) )))) & LIT) )) != LIT) || (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) })) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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 = (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 IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (return_statement return ;) (ERROR }))
(declaration "void __thiscall\ngold::Versions::symbol_section_contents<64,true>\n          (Versions *this,Symbol_table *param_1,Stringpool_template *param_2,uint param_3,\n          vector *param_4,uchar **param_5,uint *param_6)\n\n{\n  uchar *puVar1;" (primitive_type "void") (ms_call_modifier "__thiscall" (__thiscall "__thiscall")) (ERROR "gold::Versions::" (identifier "gold") (: ":") (: ":") (identifier "Versions") (: ":") (: ":")) (identifier "symbol_section_contents") (ERROR "<64" (< "<") (number_literal "64")) (, ",") (ERROR "true>\n          (Versions *this,Symbol_table *param_1,Stringpool_template *param_2,uint param_3,\n          vector *param_4,uchar **param_5,uint *param_6)\n\n{\n  uchar" (function_declarator "true>\n          (Versions *this,Symbol_table *param_1,Stringpool_template *param_2,uint param_3,\n          vector *param_4,uchar **param_5,uint *param_6)" (identifier "true") (ERROR ">" (> ">")) (parameter_list "(Versions *this,Symbol_table *param_1,Stringpool_template *param_2,uint param_3,\n          vector *param_4,uchar **param_5,uint *param_6)" (( "(") (parameter_declaration "Versions *this" (type_identifier "Versions") (pointer_declarator "*this" (* "*") (identifier "this"))) (, ",") (parameter_declaration "Symbol_table *param_1" (type_identifier "Symbol_table") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "Stringpool_template *param_2" (type_identifier "Stringpool_template") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "uint param_3" (type_identifier "uint") (identifier "param_3")) (, ",") (parameter_declaration "vector *param_4" (type_identifier "vector") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) (, ",") (parameter_declaration "uchar **param_5" (type_identifier "uchar") (pointer_declarator "**param_5" (* "*") (pointer_declarator "*param_5" (* "*") (identifier "param_5")))) (, ",") (parameter_declaration "uint *param_6" (type_identifier "uint") (pointer_declarator "*param_6" (* "*") (identifier "param_6"))) () ")"))) ({ "{") (identifier "uchar")) (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "uchar *puVar2;" (type_identifier "uchar") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "uint uVar3;" (type_identifier "uint") (identifier "uVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "byte bVar5;" (type_identifier "byte") (identifier "bVar5") (; ";")) (declaration "Symbol *pSVar6;" (type_identifier "Symbol") (pointer_declarator "*pSVar6" (* "*") (identifier "pSVar6")) (; ";")) (declaration "undefined4 *puVar7;" (type_identifier "undefined4") (pointer_declarator "*puVar7" (* "*") (identifier "puVar7")) (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "uint uVar9;" (type_identifier "uint") (identifier "uVar9") (; ";")) (declaration "undefined4 *puVar10;" (type_identifier "undefined4") (pointer_declarator "*puVar10" (* "*") (identifier "puVar10")) (; ";")) (declaration "uint uVar11;" (type_identifier "uint") (identifier "uVar11") (; ";")) (declaration "undefined2 uVar12;" (type_identifier "undefined2") (identifier "uVar12") (; ";")) (if_statement "if (this[0x34] == (Versions)0x0) {\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x13e0,0x6cf,PTR_DAT_0043226c + 0x1850);\n    return;\n  }" (if "if") (parenthesized_expression "(this[0x34] == (Versions)0x0)" (( "(") (binary_expression "this[0x34] == (Versions)0x0" (subscript_expression "this[0x34]" (identifier "this") ([ "[") (number_literal "0x34") (] "]")) (== "==") (cast_expression "(Versions)0x0" (( "(") (type_descriptor "Versions" (type_identifier "Versions")) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x13e0,0x6cf,PTR_DAT_0043226c + 0x1850);\n    return;\n  }" ({ "{") (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x13e0,0x6cf,PTR_DAT_0043226c + 0x1850);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x13e0,0x6cf,PTR_DAT_0043226c + 0x1850)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004323c4"))) () ")")) (argument_list "(PTR_DAT_0043226c + 0x13e0,0x6cf,PTR_DAT_0043226c + 0x1850)" (( "(") (binary_expression "PTR_DAT_0043226c + 0x13e0" (identifier "PTR_DAT_0043226c") (+ "+") (number_literal "0x13e0")) (, ",") (number_literal "0x6cf") (, ",") (binary_expression "PTR_DAT_0043226c + 0x1850" (identifier "PTR_DAT_0043226c") (+ "+") (number_literal "0x1850")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "uVar9 = ((*(int *)(param_4 + 4) - *(int *)param_4 >> 2) + param_3) * 2;" (assignment_expression "uVar9 = ((*(int *)(param_4 + 4) - *(int *)param_4 >> 2) + param_3) * 2" (identifier "uVar9") (= "=") (binary_expression "((*(int *)(param_4 + 4) - *(int *)param_4 >> 2) + param_3) * 2" (parenthesized_expression "((*(int *)(param_4 + 4) - *(int *)param_4 >> 2) + param_3)" (( "(") (binary_expression "(*(int *)(param_4 + 4) - *(int *)param_4 >> 2) + param_3" (parenthesized_expression "(*(int *)(param_4 + 4) - *(int *)param_4 >> 2)" (( "(") (binary_expression "*(int *)(param_4 + 4) - *(int *)param_4 >> 2" (binary_expression "*(int *)(param_4 + 4) - *(int *)param_4" (pointer_expression "*(int *)(param_4 + 4)" (* "*") (cast_expression "(int *)(param_4 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 4)" (( "(") (binary_expression "param_4 + 4" (identifier "param_4") (+ "+") (number_literal "4")) () ")")))) (- "-") (pointer_expression "*(int *)param_4" (* "*") (cast_expression "(int *)param_4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_4")))) (>> ">>") (number_literal "2")) () ")")) (+ "+") (identifier "param_3")) () ")")) (* "*") (number_literal "2"))) (; ";")) (expression_statement "puVar1 = (uchar *)(*(code *)PTR_operator_new___004322dc)(uVar9);" (assignment_expression "puVar1 = (uchar *)(*(code *)PTR_operator_new___004322dc)(uVar9)" (identifier "puVar1") (= "=") (cast_expression "(uchar *)(*(code *)PTR_operator_new___004322dc)(uVar9)" (( "(") (type_descriptor "uchar *" (type_identifier "uchar") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_operator_new___004322dc)(uVar9)" (parenthesized_expression "(*(code *)PTR_operator_new___004322dc)" (( "(") (pointer_expression "*(code *)PTR_operator_new___004322dc" (* "*") (cast_expression "(code *)PTR_operator_new___004322dc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_operator_new___004322dc"))) () ")")) (argument_list "(uVar9)" (( "(") (identifier "uVar9") () ")"))))) (; ";")) (if_statement "if (param_3 != 0) {\n    puVar2 = puVar1;\n    do {\n      puVar2[0] = '\0';\n      puVar2[1] = '\0';\n      puVar2 = puVar2 + 2;\n    } while (puVar1 + param_3 * 2 != puVar2);\n  }" (if "if") (parenthesized_expression "(param_3 != 0)" (( "(") (binary_expression "param_3 != 0" (identifier "param_3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    puVar2 = puVar1;\n    do {\n      puVar2[0] = '\0';\n      puVar2[1] = '\0';\n      puVar2 = puVar2 + 2;\n    } while (puVar1 + param_3 * 2 != puVar2);\n  }" ({ "{") (expression_statement "puVar2 = puVar1;" (assignment_expression "puVar2 = puVar1" (identifier "puVar2") (= "=") (identifier "puVar1")) (; ";")) (do_statement "do {\n      puVar2[0] = '\0';\n      puVar2[1] = '\0';\n      puVar2 = puVar2 + 2;\n    } while (puVar1 + param_3 * 2 != puVar2);" (do "do") (compound_statement "{\n      puVar2[0] = '\0';\n      puVar2[1] = '\0';\n      puVar2 = puVar2 + 2;\n    }" ({ "{") (expression_statement "puVar2[0] = '\0';" (assignment_expression "puVar2[0] = '\0'" (subscript_expression "puVar2[0]" (identifier "puVar2") ([ "[") (number_literal "0") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "puVar2[1] = '\0';" (assignment_expression "puVar2[1] = '\0'" (subscript_expression "puVar2[1]" (identifier "puVar2") ([ "[") (number_literal "1") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "puVar2 = puVar2 + 2;" (assignment_expression "puVar2 = puVar2 + 2" (identifier "puVar2") (= "=") (binary_expression "puVar2 + 2" (identifier "puVar2") (+ "+") (number_literal "2"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar1 + param_3 * 2 != puVar2)" (( "(") (binary_expression "puVar1 + param_3 * 2 != puVar2" (binary_expression "puVar1 + param_3 * 2" (identifier "puVar1") (+ "+") (binary_expression "param_3 * 2" (identifier "param_3") (* "*") (number_literal "2"))) (!= "!=") (identifier "puVar2")) () ")")) (; ";")) (} "}"))) (expression_statement "puVar10 = *(undefined4 **)param_4;" (assignment_expression "puVar10 = *(undefined4 **)param_4" (identifier "puVar10") (= "=") (pointer_expression "*(undefined4 **)param_4" (* "*") (cast_expression "(undefined4 **)param_4" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "param_4")))) (; ";")) (if_statement "if (puVar10 != *(undefined4 **)(param_4 + 4)) {\n    do {\n      pSVar6 = (Symbol *)*puVar10;\n      if (*(char **)(pSVar6 + 4) == (char *)0x0) {\n        uVar11 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n        if (uVar11 != 0) {\n          uVar11 = (uint)(uVar11 != 0x8000);\n          goto LAB_00271b88;\n        }\n        uVar11 = *(uint *)(pSVar6 + 0xc);\n        if ((int)(*(uint *)(pSVar6 + 0x28) << 0x1d) < 0) {\n          if (uVar11 != 0) {\n            uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;\n          }\n          goto LAB_00271b88;\n        }\n        iVar4 = (*(code *)PTR_is_common_shndx_00432fe0)(uVar11);\n        pSVar6 = (Symbol *)*puVar10;\n        iVar8 = *(int *)(pSVar6 + 4);\n        if (iVar4 != 0) {\n          uVar11 = 0;\n          goto LAB_00271c48;\n        }\n        if ((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0) {\n          uVar11 = 1;\n          if (iVar8 == 0) goto LAB_00271b88;\n          bVar5 = (*(uint *)(pSVar6 + 0x28) & 0xe000) != 0x8000;\n          goto LAB_00271b4c;\n        }\n        uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;\n        uVar12 = (undefined2)uVar11;\n        if (iVar8 != 0) goto LAB_00271b34;\n        iVar4 = *(int *)(pSVar6 + 0x14);\n      }\n      else {\n        if (**(char **)(pSVar6 + 4) == '\0') {\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          uVar11 = 1;\n          if (uVar3 == 0) goto LAB_00271b34;\nLAB_00271c60:\n          bVar5 = uVar3 != 0x8000;\n        }\n        else {\n          uVar11 = version_index(this,param_1,param_2,pSVar6);\n          pSVar6 = (Symbol *)*puVar10;\n          iVar8 = *(int *)(pSVar6 + 4);\nLAB_00271c48:\n          if (iVar8 == 0) goto LAB_00271b88;\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          if (uVar3 != 0) goto LAB_00271c60;\nLAB_00271b34:\n          if (*(int *)(pSVar6 + 0x28) << 0x1d < 0) {\n            bVar5 = *(int *)(pSVar6 + 0xc) != 0;\n          }\n          else {\n            bVar5 = (*(code *)PTR_is_common_shndx_00432fe0)();\n            bVar5 = bVar5 ^ 1;\n            pSVar6 = (Symbol *)*puVar10;\n          }\n        }\nLAB_00271b4c:\n        if (bVar5 != 0) {\n          if (*(int *)(pSVar6 + 4) == 0) {\n            (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,PTR_DAT_0043226c + 0x1898);\n            return;\n          }\n          if ((-1 < (int)(*(uint *)(pSVar6 + 0x28) << 0x13)) &&\n             (((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0 ||\n              (-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c))))) {\n            uVar11 = uVar11 | 0x8000;\n          }\n        }\nLAB_00271b88:\n        uVar12 = (undefined2)uVar11;\n        iVar4 = *(int *)(pSVar6 + 0x14);\n      }\n      if (iVar4 == 0) {\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x19a,PTR_DAT_0043226c + 0x1b80);\n        return;\n      }\n      puVar7 = *(undefined4 **)(param_4 + 4);\n      puVar10 = puVar10 + 1;\n      *(undefined2 *)(puVar1 + iVar4 * 2) = uVar12;\n    } while (puVar7 != puVar10);\n  }" (if "if") (parenthesized_expression "(puVar10 != *(undefined4 **)(param_4 + 4))" (( "(") (binary_expression "puVar10 != *(undefined4 **)(param_4 + 4)" (identifier "puVar10") (!= "!=") (pointer_expression "*(undefined4 **)(param_4 + 4)" (* "*") (cast_expression "(undefined4 **)(param_4 + 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_4 + 4)" (( "(") (binary_expression "param_4 + 4" (identifier "param_4") (+ "+") (number_literal "4")) () ")"))))) () ")")) (compound_statement "{\n    do {\n      pSVar6 = (Symbol *)*puVar10;\n      if (*(char **)(pSVar6 + 4) == (char *)0x0) {\n        uVar11 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n        if (uVar11 != 0) {\n          uVar11 = (uint)(uVar11 != 0x8000);\n          goto LAB_00271b88;\n        }\n        uVar11 = *(uint *)(pSVar6 + 0xc);\n        if ((int)(*(uint *)(pSVar6 + 0x28) << 0x1d) < 0) {\n          if (uVar11 != 0) {\n            uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;\n          }\n          goto LAB_00271b88;\n        }\n        iVar4 = (*(code *)PTR_is_common_shndx_00432fe0)(uVar11);\n        pSVar6 = (Symbol *)*puVar10;\n        iVar8 = *(int *)(pSVar6 + 4);\n        if (iVar4 != 0) {\n          uVar11 = 0;\n          goto LAB_00271c48;\n        }\n        if ((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0) {\n          uVar11 = 1;\n          if (iVar8 == 0) goto LAB_00271b88;\n          bVar5 = (*(uint *)(pSVar6 + 0x28) & 0xe000) != 0x8000;\n          goto LAB_00271b4c;\n        }\n        uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;\n        uVar12 = (undefined2)uVar11;\n        if (iVar8 != 0) goto LAB_00271b34;\n        iVar4 = *(int *)(pSVar6 + 0x14);\n      }\n      else {\n        if (**(char **)(pSVar6 + 4) == '\0') {\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          uVar11 = 1;\n          if (uVar3 == 0) goto LAB_00271b34;\nLAB_00271c60:\n          bVar5 = uVar3 != 0x8000;\n        }\n        else {\n          uVar11 = version_index(this,param_1,param_2,pSVar6);\n          pSVar6 = (Symbol *)*puVar10;\n          iVar8 = *(int *)(pSVar6 + 4);\nLAB_00271c48:\n          if (iVar8 == 0) goto LAB_00271b88;\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          if (uVar3 != 0) goto LAB_00271c60;\nLAB_00271b34:\n          if (*(int *)(pSVar6 + 0x28) << 0x1d < 0) {\n            bVar5 = *(int *)(pSVar6 + 0xc) != 0;\n          }\n          else {\n            bVar5 = (*(code *)PTR_is_common_shndx_00432fe0)();\n            bVar5 = bVar5 ^ 1;\n            pSVar6 = (Symbol *)*puVar10;\n          }\n        }\nLAB_00271b4c:\n        if (bVar5 != 0) {\n          if (*(int *)(pSVar6 + 4) == 0) {\n            (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,PTR_DAT_0043226c + 0x1898);\n            return;\n          }\n          if ((-1 < (int)(*(uint *)(pSVar6 + 0x28) << 0x13)) &&\n             (((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0 ||\n              (-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c))))) {\n            uVar11 = uVar11 | 0x8000;\n          }\n        }\nLAB_00271b88:\n        uVar12 = (undefined2)uVar11;\n        iVar4 = *(int *)(pSVar6 + 0x14);\n      }\n      if (iVar4 == 0) {\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x19a,PTR_DAT_0043226c + 0x1b80);\n        return;\n      }\n      puVar7 = *(undefined4 **)(param_4 + 4);\n      puVar10 = puVar10 + 1;\n      *(undefined2 *)(puVar1 + iVar4 * 2) = uVar12;\n    } while (puVar7 != puVar10);\n  }" ({ "{") (do_statement "do {\n      pSVar6 = (Symbol *)*puVar10;\n      if (*(char **)(pSVar6 + 4) == (char *)0x0) {\n        uVar11 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n        if (uVar11 != 0) {\n          uVar11 = (uint)(uVar11 != 0x8000);\n          goto LAB_00271b88;\n        }\n        uVar11 = *(uint *)(pSVar6 + 0xc);\n        if ((int)(*(uint *)(pSVar6 + 0x28) << 0x1d) < 0) {\n          if (uVar11 != 0) {\n            uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;\n          }\n          goto LAB_00271b88;\n        }\n        iVar4 = (*(code *)PTR_is_common_shndx_00432fe0)(uVar11);\n        pSVar6 = (Symbol *)*puVar10;\n        iVar8 = *(int *)(pSVar6 + 4);\n        if (iVar4 != 0) {\n          uVar11 = 0;\n          goto LAB_00271c48;\n        }\n        if ((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0) {\n          uVar11 = 1;\n          if (iVar8 == 0) goto LAB_00271b88;\n          bVar5 = (*(uint *)(pSVar6 + 0x28) & 0xe000) != 0x8000;\n          goto LAB_00271b4c;\n        }\n        uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;\n        uVar12 = (undefined2)uVar11;\n        if (iVar8 != 0) goto LAB_00271b34;\n        iVar4 = *(int *)(pSVar6 + 0x14);\n      }\n      else {\n        if (**(char **)(pSVar6 + 4) == '\0') {\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          uVar11 = 1;\n          if (uVar3 == 0) goto LAB_00271b34;\nLAB_00271c60:\n          bVar5 = uVar3 != 0x8000;\n        }\n        else {\n          uVar11 = version_index(this,param_1,param_2,pSVar6);\n          pSVar6 = (Symbol *)*puVar10;\n          iVar8 = *(int *)(pSVar6 + 4);\nLAB_00271c48:\n          if (iVar8 == 0) goto LAB_00271b88;\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          if (uVar3 != 0) goto LAB_00271c60;\nLAB_00271b34:\n          if (*(int *)(pSVar6 + 0x28) << 0x1d < 0) {\n            bVar5 = *(int *)(pSVar6 + 0xc) != 0;\n          }\n          else {\n            bVar5 = (*(code *)PTR_is_common_shndx_00432fe0)();\n            bVar5 = bVar5 ^ 1;\n            pSVar6 = (Symbol *)*puVar10;\n          }\n        }\nLAB_00271b4c:\n        if (bVar5 != 0) {\n          if (*(int *)(pSVar6 + 4) == 0) {\n            (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,PTR_DAT_0043226c + 0x1898);\n            return;\n          }\n          if ((-1 < (int)(*(uint *)(pSVar6 + 0x28) << 0x13)) &&\n             (((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0 ||\n              (-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c))))) {\n            uVar11 = uVar11 | 0x8000;\n          }\n        }\nLAB_00271b88:\n        uVar12 = (undefined2)uVar11;\n        iVar4 = *(int *)(pSVar6 + 0x14);\n      }\n      if (iVar4 == 0) {\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x19a,PTR_DAT_0043226c + 0x1b80);\n        return;\n      }\n      puVar7 = *(undefined4 **)(param_4 + 4);\n      puVar10 = puVar10 + 1;\n      *(undefined2 *)(puVar1 + iVar4 * 2) = uVar12;\n    } while (puVar7 != puVar10);" (do "do") (compound_statement "{\n      pSVar6 = (Symbol *)*puVar10;\n      if (*(char **)(pSVar6 + 4) == (char *)0x0) {\n        uVar11 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n        if (uVar11 != 0) {\n          uVar11 = (uint)(uVar11 != 0x8000);\n          goto LAB_00271b88;\n        }\n        uVar11 = *(uint *)(pSVar6 + 0xc);\n        if ((int)(*(uint *)(pSVar6 + 0x28) << 0x1d) < 0) {\n          if (uVar11 != 0) {\n            uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;\n          }\n          goto LAB_00271b88;\n        }\n        iVar4 = (*(code *)PTR_is_common_shndx_00432fe0)(uVar11);\n        pSVar6 = (Symbol *)*puVar10;\n        iVar8 = *(int *)(pSVar6 + 4);\n        if (iVar4 != 0) {\n          uVar11 = 0;\n          goto LAB_00271c48;\n        }\n        if ((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0) {\n          uVar11 = 1;\n          if (iVar8 == 0) goto LAB_00271b88;\n          bVar5 = (*(uint *)(pSVar6 + 0x28) & 0xe000) != 0x8000;\n          goto LAB_00271b4c;\n        }\n        uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;\n        uVar12 = (undefined2)uVar11;\n        if (iVar8 != 0) goto LAB_00271b34;\n        iVar4 = *(int *)(pSVar6 + 0x14);\n      }\n      else {\n        if (**(char **)(pSVar6 + 4) == '\0') {\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          uVar11 = 1;\n          if (uVar3 == 0) goto LAB_00271b34;\nLAB_00271c60:\n          bVar5 = uVar3 != 0x8000;\n        }\n        else {\n          uVar11 = version_index(this,param_1,param_2,pSVar6);\n          pSVar6 = (Symbol *)*puVar10;\n          iVar8 = *(int *)(pSVar6 + 4);\nLAB_00271c48:\n          if (iVar8 == 0) goto LAB_00271b88;\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          if (uVar3 != 0) goto LAB_00271c60;\nLAB_00271b34:\n          if (*(int *)(pSVar6 + 0x28) << 0x1d < 0) {\n            bVar5 = *(int *)(pSVar6 + 0xc) != 0;\n          }\n          else {\n            bVar5 = (*(code *)PTR_is_common_shndx_00432fe0)();\n            bVar5 = bVar5 ^ 1;\n            pSVar6 = (Symbol *)*puVar10;\n          }\n        }\nLAB_00271b4c:\n        if (bVar5 != 0) {\n          if (*(int *)(pSVar6 + 4) == 0) {\n            (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,PTR_DAT_0043226c + 0x1898);\n            return;\n          }\n          if ((-1 < (int)(*(uint *)(pSVar6 + 0x28) << 0x13)) &&\n             (((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0 ||\n              (-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c))))) {\n            uVar11 = uVar11 | 0x8000;\n          }\n        }\nLAB_00271b88:\n        uVar12 = (undefined2)uVar11;\n        iVar4 = *(int *)(pSVar6 + 0x14);\n      }\n      if (iVar4 == 0) {\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x19a,PTR_DAT_0043226c + 0x1b80);\n        return;\n      }\n      puVar7 = *(undefined4 **)(param_4 + 4);\n      puVar10 = puVar10 + 1;\n      *(undefined2 *)(puVar1 + iVar4 * 2) = uVar12;\n    }" ({ "{") (expression_statement "pSVar6 = (Symbol *)*puVar10;" (assignment_expression "pSVar6 = (Symbol *)*puVar10" (identifier "pSVar6") (= "=") (cast_expression "(Symbol *)*puVar10" (( "(") (type_descriptor "Symbol *" (type_identifier "Symbol") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar10" (* "*") (identifier "puVar10")))) (; ";")) (if_statement "if (*(char **)(pSVar6 + 4) == (char *)0x0) {\n        uVar11 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n        if (uVar11 != 0) {\n          uVar11 = (uint)(uVar11 != 0x8000);\n          goto LAB_00271b88;\n        }\n        uVar11 = *(uint *)(pSVar6 + 0xc);\n        if ((int)(*(uint *)(pSVar6 + 0x28) << 0x1d) < 0) {\n          if (uVar11 != 0) {\n            uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;\n          }\n          goto LAB_00271b88;\n        }\n        iVar4 = (*(code *)PTR_is_common_shndx_00432fe0)(uVar11);\n        pSVar6 = (Symbol *)*puVar10;\n        iVar8 = *(int *)(pSVar6 + 4);\n        if (iVar4 != 0) {\n          uVar11 = 0;\n          goto LAB_00271c48;\n        }\n        if ((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0) {\n          uVar11 = 1;\n          if (iVar8 == 0) goto LAB_00271b88;\n          bVar5 = (*(uint *)(pSVar6 + 0x28) & 0xe000) != 0x8000;\n          goto LAB_00271b4c;\n        }\n        uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;\n        uVar12 = (undefined2)uVar11;\n        if (iVar8 != 0) goto LAB_00271b34;\n        iVar4 = *(int *)(pSVar6 + 0x14);\n      }\n      else {\n        if (**(char **)(pSVar6 + 4) == '\0') {\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          uVar11 = 1;\n          if (uVar3 == 0) goto LAB_00271b34;\nLAB_00271c60:\n          bVar5 = uVar3 != 0x8000;\n        }\n        else {\n          uVar11 = version_index(this,param_1,param_2,pSVar6);\n          pSVar6 = (Symbol *)*puVar10;\n          iVar8 = *(int *)(pSVar6 + 4);\nLAB_00271c48:\n          if (iVar8 == 0) goto LAB_00271b88;\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          if (uVar3 != 0) goto LAB_00271c60;\nLAB_00271b34:\n          if (*(int *)(pSVar6 + 0x28) << 0x1d < 0) {\n            bVar5 = *(int *)(pSVar6 + 0xc) != 0;\n          }\n          else {\n            bVar5 = (*(code *)PTR_is_common_shndx_00432fe0)();\n            bVar5 = bVar5 ^ 1;\n            pSVar6 = (Symbol *)*puVar10;\n          }\n        }\nLAB_00271b4c:\n        if (bVar5 != 0) {\n          if (*(int *)(pSVar6 + 4) == 0) {\n            (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,PTR_DAT_0043226c + 0x1898);\n            return;\n          }\n          if ((-1 < (int)(*(uint *)(pSVar6 + 0x28) << 0x13)) &&\n             (((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0 ||\n              (-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c))))) {\n            uVar11 = uVar11 | 0x8000;\n          }\n        }\nLAB_00271b88:\n        uVar12 = (undefined2)uVar11;\n        iVar4 = *(int *)(pSVar6 + 0x14);\n      }" (if "if") (parenthesized_expression "(*(char **)(pSVar6 + 4) == (char *)0x0)" (( "(") (binary_expression "*(char **)(pSVar6 + 4) == (char *)0x0" (pointer_expression "*(char **)(pSVar6 + 4)" (* "*") (cast_expression "(char **)(pSVar6 + 4)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pSVar6 + 4)" (( "(") (binary_expression "pSVar6 + 4" (identifier "pSVar6") (+ "+") (number_literal "4")) () ")")))) (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        uVar11 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n        if (uVar11 != 0) {\n          uVar11 = (uint)(uVar11 != 0x8000);\n          goto LAB_00271b88;\n        }\n        uVar11 = *(uint *)(pSVar6 + 0xc);\n        if ((int)(*(uint *)(pSVar6 + 0x28) << 0x1d) < 0) {\n          if (uVar11 != 0) {\n            uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;\n          }\n          goto LAB_00271b88;\n        }\n        iVar4 = (*(code *)PTR_is_common_shndx_00432fe0)(uVar11);\n        pSVar6 = (Symbol *)*puVar10;\n        iVar8 = *(int *)(pSVar6 + 4);\n        if (iVar4 != 0) {\n          uVar11 = 0;\n          goto LAB_00271c48;\n        }\n        if ((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0) {\n          uVar11 = 1;\n          if (iVar8 == 0) goto LAB_00271b88;\n          bVar5 = (*(uint *)(pSVar6 + 0x28) & 0xe000) != 0x8000;\n          goto LAB_00271b4c;\n        }\n        uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;\n        uVar12 = (undefined2)uVar11;\n        if (iVar8 != 0) goto LAB_00271b34;\n        iVar4 = *(int *)(pSVar6 + 0x14);\n      }" ({ "{") (expression_statement "uVar11 = *(uint *)(pSVar6 + 0x28) & 0xe000;" (assignment_expression "uVar11 = *(uint *)(pSVar6 + 0x28) & 0xe000" (identifier "uVar11") (= "=") (binary_expression "*(uint *)(pSVar6 + 0x28) & 0xe000" (pointer_expression "*(uint *)(pSVar6 + 0x28)" (* "*") (cast_expression "(uint *)(pSVar6 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pSVar6 + 0x28)" (( "(") (binary_expression "pSVar6 + 0x28" (identifier "pSVar6") (+ "+") (number_literal "0x28")) () ")")))) (& "&") (number_literal "0xe000"))) (; ";")) (if_statement "if (uVar11 != 0) {\n          uVar11 = (uint)(uVar11 != 0x8000);\n          goto LAB_00271b88;\n        }" (if "if") (parenthesized_expression "(uVar11 != 0)" (( "(") (binary_expression "uVar11 != 0" (identifier "uVar11") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          uVar11 = (uint)(uVar11 != 0x8000);\n          goto LAB_00271b88;\n        }" ({ "{") (expression_statement "uVar11 = (uint)(uVar11 != 0x8000);" (assignment_expression "uVar11 = (uint)(uVar11 != 0x8000)" (identifier "uVar11") (= "=") (call_expression "(uint)(uVar11 != 0x8000)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar11 != 0x8000)" (( "(") (binary_expression "uVar11 != 0x8000" (identifier "uVar11") (!= "!=") (number_literal "0x8000")) () ")")))) (; ";")) (goto_statement "goto LAB_00271b88;" (goto "goto") (statement_identifier "LAB_00271b88") (; ";")) (} "}"))) (expression_statement "uVar11 = *(uint *)(pSVar6 + 0xc);" (assignment_expression "uVar11 = *(uint *)(pSVar6 + 0xc)" (identifier "uVar11") (= "=") (pointer_expression "*(uint *)(pSVar6 + 0xc)" (* "*") (cast_expression "(uint *)(pSVar6 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pSVar6 + 0xc)" (( "(") (binary_expression "pSVar6 + 0xc" (identifier "pSVar6") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if ((int)(*(uint *)(pSVar6 + 0x28) << 0x1d) < 0) {\n          if (uVar11 != 0) {\n            uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;\n          }\n          goto LAB_00271b88;\n        }" (if "if") (parenthesized_expression "((int)(*(uint *)(pSVar6 + 0x28) << 0x1d) < 0)" (( "(") (binary_expression "(int)(*(uint *)(pSVar6 + 0x28) << 0x1d) < 0" (cast_expression "(int)(*(uint *)(pSVar6 + 0x28) << 0x1d)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(*(uint *)(pSVar6 + 0x28) << 0x1d)" (( "(") (binary_expression "*(uint *)(pSVar6 + 0x28) << 0x1d" (pointer_expression "*(uint *)(pSVar6 + 0x28)" (* "*") (cast_expression "(uint *)(pSVar6 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pSVar6 + 0x28)" (( "(") (binary_expression "pSVar6 + 0x28" (identifier "pSVar6") (+ "+") (number_literal "0x28")) () ")")))) (<< "<<") (number_literal "0x1d")) () ")"))) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n          if (uVar11 != 0) {\n            uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;\n          }\n          goto LAB_00271b88;\n        }" ({ "{") (if_statement "if (uVar11 != 0) {\n            uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;\n          }" (if "if") (parenthesized_expression "(uVar11 != 0)" (( "(") (binary_expression "uVar11 != 0" (identifier "uVar11") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;\n          }" ({ "{") (expression_statement "uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;" (assignment_expression "uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1" (identifier "uVar11") (= "=") (binary_expression "*(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1" (binary_expression "*(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f" (pointer_expression "*(uint *)(*(int *)(pSVar6 + 8) + 0x2c)" (* "*") (cast_expression "(uint *)(*(int *)(pSVar6 + 8) + 0x2c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pSVar6 + 8) + 0x2c)" (( "(") (binary_expression "*(int *)(pSVar6 + 8) + 0x2c" (pointer_expression "*(int *)(pSVar6 + 8)" (* "*") (cast_expression "(int *)(pSVar6 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pSVar6 + 8)" (( "(") (binary_expression "pSVar6 + 8" (identifier "pSVar6") (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "0x2c")) () ")")))) (>> ">>") (number_literal "0x1f")) (^ "^") (number_literal "1"))) (; ";")) (} "}"))) (goto_statement "goto LAB_00271b88;" (goto "goto") (statement_identifier "LAB_00271b88") (; ";")) (} "}"))) (expression_statement "iVar4 = (*(code *)PTR_is_common_shndx_00432fe0)(uVar11);" (assignment_expression "iVar4 = (*(code *)PTR_is_common_shndx_00432fe0)(uVar11)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_is_common_shndx_00432fe0)(uVar11)" (parenthesized_expression "(*(code *)PTR_is_common_shndx_00432fe0)" (( "(") (pointer_expression "*(code *)PTR_is_common_shndx_00432fe0" (* "*") (cast_expression "(code *)PTR_is_common_shndx_00432fe0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_is_common_shndx_00432fe0"))) () ")")) (argument_list "(uVar11)" (( "(") (identifier "uVar11") () ")")))) (; ";")) (expression_statement "pSVar6 = (Symbol *)*puVar10;" (assignment_expression "pSVar6 = (Symbol *)*puVar10" (identifier "pSVar6") (= "=") (cast_expression "(Symbol *)*puVar10" (( "(") (type_descriptor "Symbol *" (type_identifier "Symbol") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar10" (* "*") (identifier "puVar10")))) (; ";")) (expression_statement "iVar8 = *(int *)(pSVar6 + 4);" (assignment_expression "iVar8 = *(int *)(pSVar6 + 4)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(pSVar6 + 4)" (* "*") (cast_expression "(int *)(pSVar6 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pSVar6 + 4)" (( "(") (binary_expression "pSVar6 + 4" (identifier "pSVar6") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (if_statement "if (iVar4 != 0) {\n          uVar11 = 0;\n          goto LAB_00271c48;\n        }" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          uVar11 = 0;\n          goto LAB_00271c48;\n        }" ({ "{") (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" (identifier "uVar11") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_00271c48;" (goto "goto") (statement_identifier "LAB_00271c48") (; ";")) (} "}"))) (if_statement "if ((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0) {\n          uVar11 = 1;\n          if (iVar8 == 0) goto LAB_00271b88;\n          bVar5 = (*(uint *)(pSVar6 + 0x28) & 0xe000) != 0x8000;\n          goto LAB_00271b4c;\n        }" (if "if") (parenthesized_expression "((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0)" (( "(") (binary_expression "(*(uint *)(pSVar6 + 0x28) & 0xe000) != 0" (parenthesized_expression "(*(uint *)(pSVar6 + 0x28) & 0xe000)" (( "(") (binary_expression "*(uint *)(pSVar6 + 0x28) & 0xe000" (pointer_expression "*(uint *)(pSVar6 + 0x28)" (* "*") (cast_expression "(uint *)(pSVar6 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pSVar6 + 0x28)" (( "(") (binary_expression "pSVar6 + 0x28" (identifier "pSVar6") (+ "+") (number_literal "0x28")) () ")")))) (& "&") (number_literal "0xe000")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          uVar11 = 1;\n          if (iVar8 == 0) goto LAB_00271b88;\n          bVar5 = (*(uint *)(pSVar6 + 0x28) & 0xe000) != 0x8000;\n          goto LAB_00271b4c;\n        }" ({ "{") (expression_statement "uVar11 = 1;" (assignment_expression "uVar11 = 1" (identifier "uVar11") (= "=") (number_literal "1")) (; ";")) (if_statement "if (iVar8 == 0) goto LAB_00271b88;" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00271b88;" (goto "goto") (statement_identifier "LAB_00271b88") (; ";"))) (expression_statement "bVar5 = (*(uint *)(pSVar6 + 0x28) & 0xe000) != 0x8000;" (assignment_expression "bVar5 = (*(uint *)(pSVar6 + 0x28) & 0xe000) != 0x8000" (identifier "bVar5") (= "=") (binary_expression "(*(uint *)(pSVar6 + 0x28) & 0xe000) != 0x8000" (parenthesized_expression "(*(uint *)(pSVar6 + 0x28) & 0xe000)" (( "(") (binary_expression "*(uint *)(pSVar6 + 0x28) & 0xe000" (pointer_expression "*(uint *)(pSVar6 + 0x28)" (* "*") (cast_expression "(uint *)(pSVar6 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pSVar6 + 0x28)" (( "(") (binary_expression "pSVar6 + 0x28" (identifier "pSVar6") (+ "+") (number_literal "0x28")) () ")")))) (& "&") (number_literal "0xe000")) () ")")) (!= "!=") (number_literal "0x8000"))) (; ";")) (goto_statement "goto LAB_00271b4c;" (goto "goto") (statement_identifier "LAB_00271b4c") (; ";")) (} "}"))) (expression_statement "uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;" (assignment_expression "uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1" (identifier "uVar11") (= "=") (binary_expression "*(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1" (binary_expression "*(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f" (pointer_expression "*(uint *)(*(int *)(pSVar6 + 8) + 0x2c)" (* "*") (cast_expression "(uint *)(*(int *)(pSVar6 + 8) + 0x2c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pSVar6 + 8) + 0x2c)" (( "(") (binary_expression "*(int *)(pSVar6 + 8) + 0x2c" (pointer_expression "*(int *)(pSVar6 + 8)" (* "*") (cast_expression "(int *)(pSVar6 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pSVar6 + 8)" (( "(") (binary_expression "pSVar6 + 8" (identifier "pSVar6") (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "0x2c")) () ")")))) (>> ">>") (number_literal "0x1f")) (^ "^") (number_literal "1"))) (; ";")) (expression_statement "uVar12 = (undefined2)uVar11;" (assignment_expression "uVar12 = (undefined2)uVar11" (identifier "uVar12") (= "=") (cast_expression "(undefined2)uVar11" (( "(") (type_descriptor "undefined2" (type_identifier "undefined2")) () ")") (identifier "uVar11"))) (; ";")) (if_statement "if (iVar8 != 0) goto LAB_00271b34;" (if "if") (parenthesized_expression "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00271b34;" (goto "goto") (statement_identifier "LAB_00271b34") (; ";"))) (expression_statement "iVar4 = *(int *)(pSVar6 + 0x14);" (assignment_expression "iVar4 = *(int *)(pSVar6 + 0x14)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(pSVar6 + 0x14)" (* "*") (cast_expression "(int *)(pSVar6 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pSVar6 + 0x14)" (( "(") (binary_expression "pSVar6 + 0x14" (identifier "pSVar6") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n        if (**(char **)(pSVar6 + 4) == '\0') {\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          uVar11 = 1;\n          if (uVar3 == 0) goto LAB_00271b34;\nLAB_00271c60:\n          bVar5 = uVar3 != 0x8000;\n        }\n        else {\n          uVar11 = version_index(this,param_1,param_2,pSVar6);\n          pSVar6 = (Symbol *)*puVar10;\n          iVar8 = *(int *)(pSVar6 + 4);\nLAB_00271c48:\n          if (iVar8 == 0) goto LAB_00271b88;\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          if (uVar3 != 0) goto LAB_00271c60;\nLAB_00271b34:\n          if (*(int *)(pSVar6 + 0x28) << 0x1d < 0) {\n            bVar5 = *(int *)(pSVar6 + 0xc) != 0;\n          }\n          else {\n            bVar5 = (*(code *)PTR_is_common_shndx_00432fe0)();\n            bVar5 = bVar5 ^ 1;\n            pSVar6 = (Symbol *)*puVar10;\n          }\n        }\nLAB_00271b4c:\n        if (bVar5 != 0) {\n          if (*(int *)(pSVar6 + 4) == 0) {\n            (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,PTR_DAT_0043226c + 0x1898);\n            return;\n          }\n          if ((-1 < (int)(*(uint *)(pSVar6 + 0x28) << 0x13)) &&\n             (((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0 ||\n              (-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c))))) {\n            uVar11 = uVar11 | 0x8000;\n          }\n        }\nLAB_00271b88:\n        uVar12 = (undefined2)uVar11;\n        iVar4 = *(int *)(pSVar6 + 0x14);\n      }" (else "else") (compound_statement "{\n        if (**(char **)(pSVar6 + 4) == '\0') {\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          uVar11 = 1;\n          if (uVar3 == 0) goto LAB_00271b34;\nLAB_00271c60:\n          bVar5 = uVar3 != 0x8000;\n        }\n        else {\n          uVar11 = version_index(this,param_1,param_2,pSVar6);\n          pSVar6 = (Symbol *)*puVar10;\n          iVar8 = *(int *)(pSVar6 + 4);\nLAB_00271c48:\n          if (iVar8 == 0) goto LAB_00271b88;\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          if (uVar3 != 0) goto LAB_00271c60;\nLAB_00271b34:\n          if (*(int *)(pSVar6 + 0x28) << 0x1d < 0) {\n            bVar5 = *(int *)(pSVar6 + 0xc) != 0;\n          }\n          else {\n            bVar5 = (*(code *)PTR_is_common_shndx_00432fe0)();\n            bVar5 = bVar5 ^ 1;\n            pSVar6 = (Symbol *)*puVar10;\n          }\n        }\nLAB_00271b4c:\n        if (bVar5 != 0) {\n          if (*(int *)(pSVar6 + 4) == 0) {\n            (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,PTR_DAT_0043226c + 0x1898);\n            return;\n          }\n          if ((-1 < (int)(*(uint *)(pSVar6 + 0x28) << 0x13)) &&\n             (((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0 ||\n              (-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c))))) {\n            uVar11 = uVar11 | 0x8000;\n          }\n        }\nLAB_00271b88:\n        uVar12 = (undefined2)uVar11;\n        iVar4 = *(int *)(pSVar6 + 0x14);\n      }" ({ "{") (if_statement "if (**(char **)(pSVar6 + 4) == '\0') {\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          uVar11 = 1;\n          if (uVar3 == 0) goto LAB_00271b34;\nLAB_00271c60:\n          bVar5 = uVar3 != 0x8000;\n        }\n        else {\n          uVar11 = version_index(this,param_1,param_2,pSVar6);\n          pSVar6 = (Symbol *)*puVar10;\n          iVar8 = *(int *)(pSVar6 + 4);\nLAB_00271c48:\n          if (iVar8 == 0) goto LAB_00271b88;\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          if (uVar3 != 0) goto LAB_00271c60;\nLAB_00271b34:\n          if (*(int *)(pSVar6 + 0x28) << 0x1d < 0) {\n            bVar5 = *(int *)(pSVar6 + 0xc) != 0;\n          }\n          else {\n            bVar5 = (*(code *)PTR_is_common_shndx_00432fe0)();\n            bVar5 = bVar5 ^ 1;\n            pSVar6 = (Symbol *)*puVar10;\n          }\n        }" (if "if") (parenthesized_expression "(**(char **)(pSVar6 + 4) == '\0')" (( "(") (binary_expression "**(char **)(pSVar6 + 4) == '\0'" (pointer_expression "**(char **)(pSVar6 + 4)" (* "*") (pointer_expression "*(char **)(pSVar6 + 4)" (* "*") (cast_expression "(char **)(pSVar6 + 4)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pSVar6 + 4)" (( "(") (binary_expression "pSVar6 + 4" (identifier "pSVar6") (+ "+") (number_literal "4")) () ")"))))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          uVar11 = 1;\n          if (uVar3 == 0) goto LAB_00271b34;\nLAB_00271c60:\n          bVar5 = uVar3 != 0x8000;\n        }" ({ "{") (expression_statement "uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;" (assignment_expression "uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000" (identifier "uVar3") (= "=") (binary_expression "*(uint *)(pSVar6 + 0x28) & 0xe000" (pointer_expression "*(uint *)(pSVar6 + 0x28)" (* "*") (cast_expression "(uint *)(pSVar6 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pSVar6 + 0x28)" (( "(") (binary_expression "pSVar6 + 0x28" (identifier "pSVar6") (+ "+") (number_literal "0x28")) () ")")))) (& "&") (number_literal "0xe000"))) (; ";")) (expression_statement "uVar11 = 1;" (assignment_expression "uVar11 = 1" (identifier "uVar11") (= "=") (number_literal "1")) (; ";")) (if_statement "if (uVar3 == 0) goto LAB_00271b34;" (if "if") (parenthesized_expression "(uVar3 == 0)" (( "(") (binary_expression "uVar3 == 0" (identifier "uVar3") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00271b34;" (goto "goto") (statement_identifier "LAB_00271b34") (; ";"))) (labeled_statement "LAB_00271c60:\n          bVar5 = uVar3 != 0x8000;" (statement_identifier "LAB_00271c60") (: ":") (expression_statement "bVar5 = uVar3 != 0x8000;" (assignment_expression "bVar5 = uVar3 != 0x8000" (identifier "bVar5") (= "=") (binary_expression "uVar3 != 0x8000" (identifier "uVar3") (!= "!=") (number_literal "0x8000"))) (; ";"))) (} "}")) (else_clause "else {\n          uVar11 = version_index(this,param_1,param_2,pSVar6);\n          pSVar6 = (Symbol *)*puVar10;\n          iVar8 = *(int *)(pSVar6 + 4);\nLAB_00271c48:\n          if (iVar8 == 0) goto LAB_00271b88;\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          if (uVar3 != 0) goto LAB_00271c60;\nLAB_00271b34:\n          if (*(int *)(pSVar6 + 0x28) << 0x1d < 0) {\n            bVar5 = *(int *)(pSVar6 + 0xc) != 0;\n          }\n          else {\n            bVar5 = (*(code *)PTR_is_common_shndx_00432fe0)();\n            bVar5 = bVar5 ^ 1;\n            pSVar6 = (Symbol *)*puVar10;\n          }\n        }" (else "else") (compound_statement "{\n          uVar11 = version_index(this,param_1,param_2,pSVar6);\n          pSVar6 = (Symbol *)*puVar10;\n          iVar8 = *(int *)(pSVar6 + 4);\nLAB_00271c48:\n          if (iVar8 == 0) goto LAB_00271b88;\n          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;\n          if (uVar3 != 0) goto LAB_00271c60;\nLAB_00271b34:\n          if (*(int *)(pSVar6 + 0x28) << 0x1d < 0) {\n            bVar5 = *(int *)(pSVar6 + 0xc) != 0;\n          }\n          else {\n            bVar5 = (*(code *)PTR_is_common_shndx_00432fe0)();\n            bVar5 = bVar5 ^ 1;\n            pSVar6 = (Symbol *)*puVar10;\n          }\n        }" ({ "{") (expression_statement "uVar11 = version_index(this,param_1,param_2,pSVar6);" (assignment_expression "uVar11 = version_index(this,param_1,param_2,pSVar6)" (identifier "uVar11") (= "=") (call_expression "version_index(this,param_1,param_2,pSVar6)" (identifier "version_index") (argument_list "(this,param_1,param_2,pSVar6)" (( "(") (identifier "this") (, ",") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (identifier "pSVar6") () ")")))) (; ";")) (expression_statement "pSVar6 = (Symbol *)*puVar10;" (assignment_expression "pSVar6 = (Symbol *)*puVar10" (identifier "pSVar6") (= "=") (cast_expression "(Symbol *)*puVar10" (( "(") (type_descriptor "Symbol *" (type_identifier "Symbol") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar10" (* "*") (identifier "puVar10")))) (; ";")) (expression_statement "iVar8 = *(int *)(pSVar6 + 4);" (assignment_expression "iVar8 = *(int *)(pSVar6 + 4)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(pSVar6 + 4)" (* "*") (cast_expression "(int *)(pSVar6 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pSVar6 + 4)" (( "(") (binary_expression "pSVar6 + 4" (identifier "pSVar6") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (labeled_statement "LAB_00271c48:\n          if (iVar8 == 0) goto LAB_00271b88;" (statement_identifier "LAB_00271c48") (: ":") (if_statement "if (iVar8 == 0) goto LAB_00271b88;" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00271b88;" (goto "goto") (statement_identifier "LAB_00271b88") (; ";")))) (expression_statement "uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;" (assignment_expression "uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000" (identifier "uVar3") (= "=") (binary_expression "*(uint *)(pSVar6 + 0x28) & 0xe000" (pointer_expression "*(uint *)(pSVar6 + 0x28)" (* "*") (cast_expression "(uint *)(pSVar6 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pSVar6 + 0x28)" (( "(") (binary_expression "pSVar6 + 0x28" (identifier "pSVar6") (+ "+") (number_literal "0x28")) () ")")))) (& "&") (number_literal "0xe000"))) (; ";")) (if_statement "if (uVar3 != 0) goto LAB_00271c60;" (if "if") (parenthesized_expression "(uVar3 != 0)" (( "(") (binary_expression "uVar3 != 0" (identifier "uVar3") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00271c60;" (goto "goto") (statement_identifier "LAB_00271c60") (; ";"))) (labeled_statement "LAB_00271b34:\n          if (*(int *)(pSVar6 + 0x28) << 0x1d < 0) {\n            bVar5 = *(int *)(pSVar6 + 0xc) != 0;\n          }\n          else {\n            bVar5 = (*(code *)PTR_is_common_shndx_00432fe0)();\n            bVar5 = bVar5 ^ 1;\n            pSVar6 = (Symbol *)*puVar10;\n          }" (statement_identifier "LAB_00271b34") (: ":") (if_statement "if (*(int *)(pSVar6 + 0x28) << 0x1d < 0) {\n            bVar5 = *(int *)(pSVar6 + 0xc) != 0;\n          }\n          else {\n            bVar5 = (*(code *)PTR_is_common_shndx_00432fe0)();\n            bVar5 = bVar5 ^ 1;\n            pSVar6 = (Symbol *)*puVar10;\n          }" (if "if") (parenthesized_expression "(*(int *)(pSVar6 + 0x28) << 0x1d < 0)" (( "(") (binary_expression "*(int *)(pSVar6 + 0x28) << 0x1d < 0" (binary_expression "*(int *)(pSVar6 + 0x28) << 0x1d" (pointer_expression "*(int *)(pSVar6 + 0x28)" (* "*") (cast_expression "(int *)(pSVar6 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pSVar6 + 0x28)" (( "(") (binary_expression "pSVar6 + 0x28" (identifier "pSVar6") (+ "+") (number_literal "0x28")) () ")")))) (<< "<<") (number_literal "0x1d")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n            bVar5 = *(int *)(pSVar6 + 0xc) != 0;\n          }" ({ "{") (expression_statement "bVar5 = *(int *)(pSVar6 + 0xc) != 0;" (assignment_expression "bVar5 = *(int *)(pSVar6 + 0xc) != 0" (identifier "bVar5") (= "=") (binary_expression "*(int *)(pSVar6 + 0xc) != 0" (pointer_expression "*(int *)(pSVar6 + 0xc)" (* "*") (cast_expression "(int *)(pSVar6 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pSVar6 + 0xc)" (( "(") (binary_expression "pSVar6 + 0xc" (identifier "pSVar6") (+ "+") (number_literal "0xc")) () ")")))) (!= "!=") (number_literal "0"))) (; ";")) (} "}")) (else_clause "else {\n            bVar5 = (*(code *)PTR_is_common_shndx_00432fe0)();\n            bVar5 = bVar5 ^ 1;\n            pSVar6 = (Symbol *)*puVar10;\n          }" (else "else") (compound_statement "{\n            bVar5 = (*(code *)PTR_is_common_shndx_00432fe0)();\n            bVar5 = bVar5 ^ 1;\n            pSVar6 = (Symbol *)*puVar10;\n          }" ({ "{") (expression_statement "bVar5 = (*(code *)PTR_is_common_shndx_00432fe0)();" (assignment_expression "bVar5 = (*(code *)PTR_is_common_shndx_00432fe0)()" (identifier "bVar5") (= "=") (call_expression "(*(code *)PTR_is_common_shndx_00432fe0)()" (parenthesized_expression "(*(code *)PTR_is_common_shndx_00432fe0)" (( "(") (pointer_expression "*(code *)PTR_is_common_shndx_00432fe0" (* "*") (cast_expression "(code *)PTR_is_common_shndx_00432fe0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_is_common_shndx_00432fe0"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "bVar5 = bVar5 ^ 1;" (assignment_expression "bVar5 = bVar5 ^ 1" (identifier "bVar5") (= "=") (binary_expression "bVar5 ^ 1" (identifier "bVar5") (^ "^") (number_literal "1"))) (; ";")) (expression_statement "pSVar6 = (Symbol *)*puVar10;" (assignment_expression "pSVar6 = (Symbol *)*puVar10" (identifier "pSVar6") (= "=") (cast_expression "(Symbol *)*puVar10" (( "(") (type_descriptor "Symbol *" (type_identifier "Symbol") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar10" (* "*") (identifier "puVar10")))) (; ";")) (} "}"))))) (} "}")))) (labeled_statement "LAB_00271b4c:\n        if (bVar5 != 0) {\n          if (*(int *)(pSVar6 + 4) == 0) {\n            (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,PTR_DAT_0043226c + 0x1898);\n            return;\n          }\n          if ((-1 < (int)(*(uint *)(pSVar6 + 0x28) << 0x13)) &&\n             (((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0 ||\n              (-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c))))) {\n            uVar11 = uVar11 | 0x8000;\n          }\n        }" (statement_identifier "LAB_00271b4c") (: ":") (if_statement "if (bVar5 != 0) {\n          if (*(int *)(pSVar6 + 4) == 0) {\n            (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,PTR_DAT_0043226c + 0x1898);\n            return;\n          }\n          if ((-1 < (int)(*(uint *)(pSVar6 + 0x28) << 0x13)) &&\n             (((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0 ||\n              (-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c))))) {\n            uVar11 = uVar11 | 0x8000;\n          }\n        }" (if "if") (parenthesized_expression "(bVar5 != 0)" (( "(") (binary_expression "bVar5 != 0" (identifier "bVar5") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          if (*(int *)(pSVar6 + 4) == 0) {\n            (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,PTR_DAT_0043226c + 0x1898);\n            return;\n          }\n          if ((-1 < (int)(*(uint *)(pSVar6 + 0x28) << 0x13)) &&\n             (((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0 ||\n              (-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c))))) {\n            uVar11 = uVar11 | 0x8000;\n          }\n        }" ({ "{") (if_statement "if (*(int *)(pSVar6 + 4) == 0) {\n            (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,PTR_DAT_0043226c + 0x1898);\n            return;\n          }" (if "if") (parenthesized_expression "(*(int *)(pSVar6 + 4) == 0)" (( "(") (binary_expression "*(int *)(pSVar6 + 4) == 0" (pointer_expression "*(int *)(pSVar6 + 4)" (* "*") (cast_expression "(int *)(pSVar6 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pSVar6 + 4)" (( "(") (binary_expression "pSVar6 + 4" (identifier "pSVar6") (+ "+") (number_literal "4")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            (*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,PTR_DAT_0043226c + 0x1898);\n            return;\n          }" ({ "{") (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,PTR_DAT_0043226c + 0x1898);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n                      (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,PTR_DAT_0043226c + 0x1898)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004323c4"))) () ")")) (argument_list "(PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,PTR_DAT_0043226c + 0x1898)" (( "(") (binary_expression "PTR_s_alize_xindex_004323b4 + -0x5bdc" (identifier "PTR_s_alize_xindex_004323b4") (+ "+") (number_literal "-0x5bdc")) (, ",") (number_literal "0x86") (, ",") (binary_expression "PTR_DAT_0043226c + 0x1898" (identifier "PTR_DAT_0043226c") (+ "+") (number_literal "0x1898")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if ((-1 < (int)(*(uint *)(pSVar6 + 0x28) << 0x13)) &&\n             (((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0 ||\n              (-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c))))) {\n            uVar11 = uVar11 | 0x8000;\n          }" (if "if") (parenthesized_expression "((-1 < (int)(*(uint *)(pSVar6 + 0x28) << 0x13)) &&\n             (((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0 ||\n              (-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c)))))" (( "(") (binary_expression "(-1 < (int)(*(uint *)(pSVar6 + 0x28) << 0x13)) &&\n             (((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0 ||\n              (-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c))))" (parenthesized_expression "(-1 < (int)(*(uint *)(pSVar6 + 0x28) << 0x13))" (( "(") (binary_expression "-1 < (int)(*(uint *)(pSVar6 + 0x28) << 0x13)" (number_literal "-1") (< "<") (cast_expression "(int)(*(uint *)(pSVar6 + 0x28) << 0x13)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(*(uint *)(pSVar6 + 0x28) << 0x13)" (( "(") (binary_expression "*(uint *)(pSVar6 + 0x28) << 0x13" (pointer_expression "*(uint *)(pSVar6 + 0x28)" (* "*") (cast_expression "(uint *)(pSVar6 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pSVar6 + 0x28)" (( "(") (binary_expression "pSVar6 + 0x28" (identifier "pSVar6") (+ "+") (number_literal "0x28")) () ")")))) (<< "<<") (number_literal "0x13")) () ")")))) () ")")) (&& "&&") (parenthesized_expression "(((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0 ||\n              (-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c))))" (( "(") (parenthesized_expression "((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0 ||\n              (-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c)))" (( "(") (binary_expression "(*(uint *)(pSVar6 + 0x28) & 0xe000) != 0 ||\n              (-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c))" (binary_expression "(*(uint *)(pSVar6 + 0x28) & 0xe000) != 0" (parenthesized_expression "(*(uint *)(pSVar6 + 0x28) & 0xe000)" (( "(") (binary_expression "*(uint *)(pSVar6 + 0x28) & 0xe000" (pointer_expression "*(uint *)(pSVar6 + 0x28)" (* "*") (cast_expression "(uint *)(pSVar6 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pSVar6 + 0x28)" (( "(") (binary_expression "pSVar6 + 0x28" (identifier "pSVar6") (+ "+") (number_literal "0x28")) () ")")))) (& "&") (number_literal "0xe000")) () ")")) (!= "!=") (number_literal "0")) (|| "||") (parenthesized_expression "(-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c))" (( "(") (binary_expression "-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c)" (number_literal "-1") (< "<") (pointer_expression "*(int *)(*(int *)(pSVar6 + 8) + 0x2c)" (* "*") (cast_expression "(int *)(*(int *)(pSVar6 + 8) + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pSVar6 + 8) + 0x2c)" (( "(") (binary_expression "*(int *)(pSVar6 + 8) + 0x2c" (pointer_expression "*(int *)(pSVar6 + 8)" (* "*") (cast_expression "(int *)(pSVar6 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pSVar6 + 8)" (( "(") (binary_expression "pSVar6 + 8" (identifier "pSVar6") (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "0x2c")) () ")"))))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n            uVar11 = uVar11 | 0x8000;\n          }" ({ "{") (expression_statement "uVar11 = uVar11 | 0x8000;" (assignment_expression "uVar11 = uVar11 | 0x8000" (identifier "uVar11") (= "=") (binary_expression "uVar11 | 0x8000" (identifier "uVar11") (| "|") (number_literal "0x8000"))) (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_00271b88:\n        uVar12 = (undefined2)uVar11;" (statement_identifier "LAB_00271b88") (: ":") (expression_statement "uVar12 = (undefined2)uVar11;" (assignment_expression "uVar12 = (undefined2)uVar11" (identifier "uVar12") (= "=") (cast_expression "(undefined2)uVar11" (( "(") (type_descriptor "undefined2" (type_identifier "undefined2")) () ")") (identifier "uVar11"))) (; ";"))) (expression_statement "iVar4 = *(int *)(pSVar6 + 0x14);" (assignment_expression "iVar4 = *(int *)(pSVar6 + 0x14)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(pSVar6 + 0x14)" (* "*") (cast_expression "(int *)(pSVar6 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pSVar6 + 0x14)" (( "(") (binary_expression "pSVar6 + 0x14" (identifier "pSVar6") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (} "}")))) (if_statement "if (iVar4 == 0) {\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x19a,PTR_DAT_0043226c + 0x1b80);\n        return;\n      }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x19a,PTR_DAT_0043226c + 0x1b80);\n        return;\n      }" ({ "{") (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x19a,PTR_DAT_0043226c + 0x1b80);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x19a,PTR_DAT_0043226c + 0x1b80)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004323c4"))) () ")")) (argument_list "(PTR_s_alize_xindex_004323b4 + -0x5bdc,0x19a,PTR_DAT_0043226c + 0x1b80)" (( "(") (binary_expression "PTR_s_alize_xindex_004323b4 + -0x5bdc" (identifier "PTR_s_alize_xindex_004323b4") (+ "+") (number_literal "-0x5bdc")) (, ",") (number_literal "0x19a") (, ",") (binary_expression "PTR_DAT_0043226c + 0x1b80" (identifier "PTR_DAT_0043226c") (+ "+") (number_literal "0x1b80")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "puVar7 = *(undefined4 **)(param_4 + 4);" (assignment_expression "puVar7 = *(undefined4 **)(param_4 + 4)" (identifier "puVar7") (= "=") (pointer_expression "*(undefined4 **)(param_4 + 4)" (* "*") (cast_expression "(undefined4 **)(param_4 + 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_4 + 4)" (( "(") (binary_expression "param_4 + 4" (identifier "param_4") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "puVar10 = puVar10 + 1;" (assignment_expression "puVar10 = puVar10 + 1" (identifier "puVar10") (= "=") (binary_expression "puVar10 + 1" (identifier "puVar10") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(undefined2 *)(puVar1 + iVar4 * 2) = uVar12;" (assignment_expression "*(undefined2 *)(puVar1 + iVar4 * 2) = uVar12" (pointer_expression "*(undefined2 *)(puVar1 + iVar4 * 2)" (* "*") (cast_expression "(undefined2 *)(puVar1 + iVar4 * 2)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar1 + iVar4 * 2)" (( "(") (binary_expression "puVar1 + iVar4 * 2" (identifier "puVar1") (+ "+") (binary_expression "iVar4 * 2" (identifier "iVar4") (* "*") (number_literal "2"))) () ")")))) (= "=") (identifier "uVar12")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar7 != puVar10)" (( "(") (binary_expression "puVar7 != puVar10" (identifier "puVar7") (!= "!=") (identifier "puVar10")) () ")")) (; ";")) (} "}"))) (expression_statement "*param_5 = puVar1;" (assignment_expression "*param_5 = puVar1" (pointer_expression "*param_5" (* "*") (identifier "param_5")) (= "=") (identifier "puVar1")) (; ";")) (expression_statement "*param_6 = uVar9;" (assignment_expression "*param_6 = uVar9" (pointer_expression "*param_6" (* "*") (identifier "param_6")) (= "=") (identifier "uVar9")) (; ";")) (return_statement "return;" (return "return") (; ";")) (ERROR "}" (} "}"))

/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* DWARF original name: symbol_section_contents<64, true>
   DWARF original prototype: void symbol_section_contents<64,_true>(Versions * this, Symbol_table *
   symtab, Stringpool * dynpool, uint local_symcount,
   vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> * syms, uchar * * pp, uint * psize) */

void __thiscall
var_16::type_10::symbol_section_contents<64,var_10>
          (type_10 *this,type_12 *symtab,type_13 *dynpool,type_2 var_19,
          vector<var_16::type_6*,var_17::allocator<var_16::type_6*>var_2> *syms,type_1 **pp,type_2 *psize)

{
  type_1 *var_21;
  type_1 *var_20;
  type_2 var_23;
  type_3 var_25;
  int var_27;
  type_4 *var_8;
  char *var_5;
  type_5 *var_12;
  type_6 *sym;
  type_7 var_28;
  char *pcVar9;
  type_4 *var_14;
  _Hashtable<std::pair<unsigned_int,_unsigned_int>,var_17::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::var_1*>,var_17::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::var_1*>var_2>,var_17::__detail::_Select1st,_gold::type_10::Version_table_eq,_gold::type_10::Version_table_hash,var_17::__detail::_Mod_range_hashing,var_17::__detail::_Default_ranged_hash,var_17::__detail::_Prime_rehash_policy,var_17::__detail::var_9<true,_false,var_10>var_2>
  *this_00;
  type_8 *var_4;
  type_8 *puVar12;
  type_9 aVar13;
  type_2 unaff_s0;
  type_10 *unaff_s1;
  type_11 *__node;
  type_12 *unaff_s2;
  type_13 *unaff_s3;
  type_8 *unaff_s4;
  type_7 var_22;
  type_14 *var_13;
  type_2 var_6;
  type_15 uVar16;
  type_16 *pcVar17;
  _Hashtable<std::pair<unsigned_int,_unsigned_int>,var_17::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::var_1*>,var_17::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::var_1*>var_2>,var_17::__detail::_Select1st,_gold::type_10::Version_table_eq,_gold::type_10::Version_table_hash,var_17::__detail::_Mod_range_hashing,var_17::__detail::_Default_ranged_hash,var_17::__detail::_Prime_rehash_policy,var_17::__detail::var_9<true,_false,var_10>var_2>
  _Stack_68;
  type_8 *puStack_4c;
  type_7 ppSStack_48;
  type_16 *pcStack_44;
  type_8 *puStack_38;
  
  _Stack_68._M_rehash_policy._M_max_load_factor = (float)unaff_s1;
  _Stack_68._M_rehash_policy._M_next_resize = (size_t)unaff_s2;
  _Stack_68._M_single_bucket = (type_17)unaff_s3;
  if (this->is_finalized_ == false) {
LAB_00271d38:
    this_00 = (_Hashtable<std::pair<unsigned_int,_unsigned_int>,var_17::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::var_1*>,var_17::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::var_1*>var_2>,var_17::__detail::_Select1st,_gold::type_10::Version_table_eq,_gold::type_10::Version_table_hash,var_17::__detail::_Mod_range_hashing,var_17::__detail::_Default_ranged_hash,var_17::__detail::_Prime_rehash_policy,var_17::__detail::var_9<true,_false,var_10>var_2>
               *)0x6cf;
    puVar12 = var_3 + 0x1850;
    pcVar17 = std::
              _Hashtable<std::pair<unsigned_int,_unsigned_int>,var_17::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::var_1*>,var_17::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::var_1*>var_2>,var_17::__detail::_Select1st,_gold::type_10::Version_table_eq,_gold::type_10::Version_table_hash,var_17::__detail::_Mod_range_hashing,var_17::__detail::_Default_ranged_hash,var_17::__detail::_Prime_rehash_policy,var_17::__detail::var_9<true,_false,var_10>var_2>
              ::_M_emplace<std::pair<std::pair<unsigned_int,_unsigned_int>,_gold::var_1*>var_2>;
    var_14 = (type_4 *)(var_3 + 0x13e0);
    var_4 = PTR_do_gold_unreachable_004323c4;
    (*(type_16 *)PTR_do_gold_unreachable_004323c4)();
    _Stack_68._M_element_count = unaff_s0;
    puStack_4c = unaff_s4;
    ppSStack_48 = var_22;
    pcStack_44 = pcVar17;
    puStack_38 = puVar12;
    var_8 = (type_4 *)(**(type_16 **)(var_4 + 0x1c05e8))(0x14);
    pcVar9 = ((type_6 *)var_19)->name_;
    var_5 = ((type_6 *)var_19)->version_;
    var_6 = this_00->_M_bucket_count;
    aVar13 = ((type_6 *)var_19)->u1_;
    __node = (type_11 *)(var_5 + (int)pcVar9);
    *var_8 = 0;
    if (var_6 == 0) {
      var_7(7);
    }
    var_6 = (type_2)__node % var_6;
    var_8[1] = pcVar9;
    var_8[2] = var_5;
    *(type_9 *)(var_8 + 3) = aVar13;
    var_12 = std::
             _Hashtable<std::pair<unsigned_int,_unsigned_int>,var_17::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::var_1*>,var_17::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::var_1*>var_2>,var_17::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,var_17::__detail::_Mod_range_hashing,var_17::__detail::_Default_ranged_hash,var_17::__detail::_Prime_rehash_policy,var_17::__detail::var_9<true,_false,var_10>var_2>
             ::var_11(this_00,var_6,(type_18 *)(var_8 + 1),(type_19)__node);
    if (var_12 != (type_5 *)0x0) {
      var_13 = var_12->_M_nxt;
      if (var_13 != (type_14 *)0x0) {
        (**(type_16 **)(var_4 + 0x1c0538))(var_8);
        *var_14 = var_13;
        *(type_20 *)(var_14 + 1) = 0;
        return;
      }
    }
    std::
    _Hashtable<std::pair<unsigned_int,_unsigned_int>,var_17::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::var_1*>,var_17::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::var_1*>var_2>,var_17::__detail::_Select1st,_gold::type_10::Version_table_eq,_gold::type_10::Version_table_hash,var_17::__detail::_Mod_range_hashing,var_17::__detail::_Default_ranged_hash,var_17::__detail::_Prime_rehash_policy,var_17::__detail::var_9<true,_false,var_10>var_2>
    ::var_15(&_Stack_68,(type_21)this_00,var_6,__node,(type_21)var_8);
    *(type_20 *)(var_14 + 1) = 1;
    *var_14 = _Stack_68._M_buckets;
    return;
  }
  unaff_s0 = (((int)(syms->super__Vector_base<var_16::type_6*,var_17::allocator<var_16::type_6*>var_2>var_18).
                    _M_impl._M_finish -
               (int)(syms->super__Vector_base<var_16::type_6*,var_17::allocator<var_16::type_6*>var_2>var_18).
                    _M_impl._M_start >> 2) + var_19) * 2;
  var_21 = (type_1 *)(*(type_16 *)PTR_operator_new___004322dc)(unaff_s0);
  if (var_19 != 0) {
    var_20 = var_21;
    do {
      var_20[0] = '\0';
      var_20[1] = '\0';
      var_20 = var_20 + 2;
    } while (var_21 + var_19 * 2 != var_20);
  }
  unaff_s4 = PTR_version_index_004358a0;
  var_22 = (syms->super__Vector_base<var_16::type_6*,var_17::allocator<var_16::type_6*var_18>var_2>var_18)._M_impl.
             _M_start;
  if (var_22 !=
      (syms->super__Vector_base<var_16::type_6*,var_17::allocator<var_16::type_6*>var_2>var_18)._M_impl._M_finish) {
    do {
      sym = *var_22;
      if (sym->version_ != (char *)0x0) {
        if (*sym->version_ == '\0') {
          var_23 = *(type_2 *)&sym->field_0x28 & 0xe000;
          var_6 = 1;
          if (var_23 == 0) goto LAB_00271b34;
LAB_00271c60:
          var_25 = var_23 != 0x8000;
          var_19 = (type_2)sym;
        }
        else {
          var_6 = var_24(this,symtab,dynpool,sym);
          sym = *var_22;
          var_5 = sym->version_;
LAB_00271c48:
          var_19 = (type_2)sym;
          if (var_5 == (char *)0x0) goto LAB_00271b88;
          var_23 = *(type_2 *)&sym->field_0x28 & 0xe000;
          if (var_23 != 0) goto LAB_00271c60;
LAB_00271b34:
          var_19 = (type_2)sym;
          if (*(int *)&sym->field_0x28 << 0x1d < 0) {
            var_25 = (sym->u2_).shndx != 0;
          }
          else {
            var_25 = (*(type_16 *)PTR_is_common_shndx_00432fe0)();
            var_25 = var_25 ^ 1;
            sym = *var_22;
          }
        }
LAB_00271b4c:
        if (var_25 == 0) {
LAB_00271b88:
          uVar16 = (type_15)var_6;
          var_6 = sym->dynsym_index_;
          sym = (type_6 *)var_19;
          goto LAB_00271b8c;
        }
        var_4 = var_3;
        if (sym->version_ != (char *)0x0) {
          if ((-1 < (int)(*(type_2 *)&sym->field_0x28 << 0x13)) &&
             (((*(type_2 *)&sym->field_0x28 & 0xe000) != 0 ||
              (-1 < (int)((sym->u1_).output_segment)->output_lists_[3].
                         super__Vector_base<var_16::Output_data*,var_17::allocator<var_16::Output_data*>var_2>
                         ._M_impl._M_end_of_storage)))) {
            var_6 = var_6 | 0x8000;
          }
          goto LAB_00271b88;
        }
LAB_00271d20:
        (*(type_16 *)PTR_do_gold_unreachable_004323c4)
                  (var_26 + -0x5bdc,0x86,var_4 + 0x1898);
        _Stack_68._M_rehash_policy._M_max_load_factor = (float)this;
        _Stack_68._M_rehash_policy._M_next_resize = (size_t)symtab;
        _Stack_68._M_single_bucket = (type_17)dynpool;
        goto LAB_00271d38;
      }
      var_6 = *(type_2 *)&sym->field_0x28 & 0xe000;
      var_19 = (type_2)sym;
      if (var_6 != 0) {
        var_6 = (type_2)(var_6 != 0x8000);
        goto LAB_00271b88;
      }
      var_6 = (sym->u2_).shndx;
      if ((int)(*(type_2 *)&sym->field_0x28 << 0x1d) < 0) {
        if (var_6 != 0) {
          var_6 = (type_2)((sym->u1_).output_segment)->output_lists_[3].
                         super__Vector_base<var_16::Output_data*,var_17::allocator<var_16::Output_data*>var_2>
                         ._M_impl._M_end_of_storage >> 0x1f ^ 1;
        }
        goto LAB_00271b88;
      }
      var_27 = (*(type_16 *)PTR_is_common_shndx_00432fe0)(var_6);
      sym = *var_22;
      var_5 = sym->version_;
      if (var_27 != 0) {
        var_6 = 0;
        goto LAB_00271c48;
      }
      var_23 = *(type_2 *)&sym->field_0x28 & 0xe000;
      if (var_23 != 0) {
        var_6 = 1;
        var_19 = (type_2)sym;
        if (var_5 == (char *)0x0) goto LAB_00271b88;
        var_25 = var_23 != 0x8000;
        goto LAB_00271b4c;
      }
      var_6 = (type_2)((sym->u1_).output_segment)->output_lists_[3].
                     super__Vector_base<var_16::Output_data*,var_17::allocator<var_16::Output_data*>var_2>.
                     _M_impl._M_end_of_storage >> 0x1f ^ 1;
      uVar16 = (type_15)var_6;
      if (var_5 != (char *)0x0) goto LAB_00271b34;
      var_6 = sym->dynsym_index_;
LAB_00271b8c:
      if (var_6 == 0) {
        var_4 = var_3 + 0x1b80;
        (*(type_16 *)PTR_do_gold_unreachable_004323c4)
                  (var_26 + -0x5bdc,0x19a,var_4);
        var_19 = (type_2)sym;
        goto LAB_00271d20;
      }
      var_28 = (syms->super__Vector_base<var_16::type_6*var_18,var_17::allocator<var_16::type_6*>var_2>var_18)._M_impl.
                _M_finish;
      var_22 = var_22 + 1;
      *(type_15 *)(var_21 + var_6 * 2) = uVar16;
    } while (var_28 != var_22);
  }
  *pp = var_21;
  *psize = unaff_s0;
  return;
}


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

/* void gold::Versions::symbol_section_contents<64, true>(gold::Symbol_table const*,
   gold::Stringpool_template<char> const*, unsigned int, std::vector<gold::Symbol*,
   std::allocator<gold::Symbol*> > const&, unsigned char**, unsigned int*) const */

void __thiscall
gold::Versions::MASKED
          (Versions *this,Symbol_table *param_1,Stringpool_template *param_2,uint param_3,
          vector *param_4,uchar **param_5,uint *param_6)

{
  uchar *puVar1;
  uchar *puVar2;
  uint uVar3;
  int iVar4;
  byte bVar5;
  Symbol *pSVar6;
  undefined4 *puVar7;
  int iVar8;
  uint uVar9;
  undefined4 *puVar10;
  uint uVar11;
  undefined2 uVar12;
  
  if (this[0x34] == (Versions)0x0) {
    (*(code *)PTR_do_gold_unreachable_004323c4)
              (PTR_DAT_0043226c + 0x13e0,0x6cf,PTR_DAT_0043226c + 0x1850);
    return;
  }
  uVar9 = ((*(int *)(param_4 + 4) - *(int *)param_4 >> 2) + param_3) * 2;
  puVar1 = (uchar *)(*(code *)PTR_operator_new___004322dc)(uVar9);
  if (param_3 != 0) {
    puVar2 = puVar1;
    do {
      puVar2[0] = '\0';
      puVar2[1] = '\0';
      puVar2 = puVar2 + 2;
    } while (puVar1 + param_3 * 2 != puVar2);
  }
  puVar10 = *(undefined4 **)param_4;
  if (puVar10 != *(undefined4 **)(param_4 + 4)) {
    do {
      pSVar6 = (Symbol *)*puVar10;
      if (*(char **)(pSVar6 + 4) == (char *)0x0) {
        uVar11 = *(uint *)(pSVar6 + 0x28) & 0xe000;
        if (uVar11 != 0) {
          uVar11 = (uint)(uVar11 != 0x8000);
          goto LAB_00271b88;
        }
        uVar11 = *(uint *)(pSVar6 + 0xc);
        if ((int)(*(uint *)(pSVar6 + 0x28) << 0x1d) < 0) {
          if (uVar11 != 0) {
            uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;
          }
          goto LAB_00271b88;
        }
        iVar4 = (*(code *)PTR_is_common_shndx_00432fe0)(uVar11);
        pSVar6 = (Symbol *)*puVar10;
        iVar8 = *(int *)(pSVar6 + 4);
        if (iVar4 != 0) {
          uVar11 = 0;
          goto LAB_00271c48;
        }
        if ((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0) {
          uVar11 = 1;
          if (iVar8 == 0) goto LAB_00271b88;
          bVar5 = (*(uint *)(pSVar6 + 0x28) & 0xe000) != 0x8000;
          goto LAB_00271b4c;
        }
        uVar11 = *(uint *)(*(int *)(pSVar6 + 8) + 0x2c) >> 0x1f ^ 1;
        uVar12 = (undefined2)uVar11;
        if (iVar8 != 0) goto LAB_00271b34;
        iVar4 = *(int *)(pSVar6 + 0x14);
      }
      else {
        if (**(char **)(pSVar6 + 4) == '\0') {
          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;
          uVar11 = 1;
          if (uVar3 == 0) goto LAB_00271b34;
LAB_00271c60:
          bVar5 = uVar3 != 0x8000;
        }
        else {
          uVar11 = version_index(this,param_1,param_2,pSVar6);
          pSVar6 = (Symbol *)*puVar10;
          iVar8 = *(int *)(pSVar6 + 4);
LAB_00271c48:
          if (iVar8 == 0) goto LAB_00271b88;
          uVar3 = *(uint *)(pSVar6 + 0x28) & 0xe000;
          if (uVar3 != 0) goto LAB_00271c60;
LAB_00271b34:
          if (*(int *)(pSVar6 + 0x28) << 0x1d < 0) {
            bVar5 = *(int *)(pSVar6 + 0xc) != 0;
          }
          else {
            bVar5 = (*(code *)PTR_is_common_shndx_00432fe0)();
            bVar5 = bVar5 ^ 1;
            pSVar6 = (Symbol *)*puVar10;
          }
        }
LAB_00271b4c:
        if (bVar5 != 0) {
          if (*(int *)(pSVar6 + 4) == 0) {
            (*(code *)PTR_do_gold_unreachable_004323c4)
                      (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x86,PTR_DAT_0043226c + 0x1898);
            return;
          }
          if ((-1 < (int)(*(uint *)(pSVar6 + 0x28) << 0x13)) &&
             (((*(uint *)(pSVar6 + 0x28) & 0xe000) != 0 ||
              (-1 < *(int *)(*(int *)(pSVar6 + 8) + 0x2c))))) {
            uVar11 = uVar11 | 0x8000;
          }
        }
LAB_00271b88:
        uVar12 = (undefined2)uVar11;
        iVar4 = *(int *)(pSVar6 + 0x14);
      }
      if (iVar4 == 0) {
        (*(code *)PTR_do_gold_unreachable_004323c4)
                  (PTR_s_alize_xindex_004323b4 + -0x5bdc,0x19a,PTR_DAT_0043226c + 0x1b80);
        return;
      }
      puVar7 = *(undefined4 **)(param_4 + 4);
      puVar10 = puVar10 + 1;
      *(undefined2 *)(puVar1 + iVar4 * 2) = uVar12;
    } while (puVar7 != puVar10);
  }
  *param_5 = puVar1;
  *param_6 = uVar9;
  return;
}

