
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* DWARF original name: define_special_symbol<32, false>
   DWARF original prototype: Sized_symbol<32> * define_special_symbol<32,_false>(Symbol_table *
   this, char * * pname, char * * pversion, bool only_if_ref, STV visibility, Sized_symbol<32> * *
   poldsym, bool * resolve_oldsym, bool is_forced_local) */

Sized_symbol<32> * __thiscall
gold::Symbol_table::define_special_symbol<32,_false>
          (Symbol_table *this,char **pname,char **pversion,bool only_if_ref,STV visibility,
          Sized_symbol<32> **poldsym,bool *resolve_oldsym,bool is_forced_local)

{
  undefined3 extraout_var;
  Symbol_table *this_00;
  __bucket_type *pp_Var1;
  Sized_symbol<32> *pSVar2;
  Sized_symbol<32> *pSVar3;
  Symbol_table *pSVar4;
  bool bVar5;
  Output_segment *pOVar6;
  int *piVar7;
  undefined *puVar8;
  char *pcVar9;
  Symbol *pSVar10;
  Symbol *sym;
  undefined *puVar11;
  undefined3 in_register_0000001c;
  uint uVar12;
  uint uVar13;
  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
  *paVar14;
  uint uVar15;
  __node_base _Var16;
  _Node_iterator_base<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_true>
  pdef;
  string v;
  bool is_global;
  Key local_4c;
  undefined4 local_48;
  _Node_iterator_base<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_true>
  local_44;
  byte local_40;
  __node_base local_3c;
  byte local_38;
  Key version_key;
  Key name_key;
  
  paVar14 = &v.field_2;
  v._M_string_length = 0;
  v.field_2._M_local_buf[0] = '\0';
  pcVar9 = *pname;
  *resolve_oldsym = false;
  *poldsym = (Sized_symbol<32> *)0x0;
  v._M_dataplus._M_p = (pointer)paVar14;
  if (!is_forced_local) {
    uVar12 = 0;
    if (*pversion == (char *)0x0) {
      bVar5 = Version_script_info::get_symbol_version(this->version_script_,pcVar9,&v,&is_global);
      uVar12 = CONCAT31(extraout_var,bVar5);
      if ((uVar12 != 0) && (uVar12 = (uint)_is_global >> 0x18, uVar12 != 0)) {
        if (v._M_string_length == 0) {
          pcVar9 = *pname;
          uVar12 = 0;
          goto LAB_002c5224;
        }
        *pversion = v._M_dataplus._M_p;
      }
      pcVar9 = *pname;
    }
LAB_002c5224:
    if (CONCAT31(in_register_0000001c,only_if_ref) == 0) goto LAB_002c5340;
LAB_002c522c:
                    /* try { // try from 002c5238 to 002c5693 has its CatchHandler @ 002c5694 */
    this_00 = (Symbol_table *)lookup(this,pcVar9,*pversion);
    if (this_00 != (Symbol_table *)0x0) {
LAB_002c524c:
      pp_Var1 = (this_00->table_)._M_h._M_buckets;
      if (((uint)pp_Var1 & 0xe000) != 0) {
        if (((uint)pp_Var1 & 0xe000) == 0x8000) goto LAB_002c5288;
        goto LAB_002c544c;
      }
      if (((anon_union_4_3_b582a2bd_for_u2_ *)
          ((anon_union_4_3_b0f6f408_for_u1_ *)&this_00->offset_ + 1))->shndx == 0) {
        if ((int)pp_Var1 << 0x1d < 0) goto LAB_002c5288;
        pOVar6 = ((anon_union_4_3_b0f6f408_for_u1_ *)&this_00->offset_)->output_segment;
      }
      else {
        pOVar6 = ((anon_union_4_3_b0f6f408_for_u1_ *)&this_00->offset_)->output_segment;
      }
      if (-1 < (int)pOVar6->output_lists_[3].
                    super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.
                    _M_impl._M_end_of_storage) goto LAB_002c544c;
      if ((visibility - STV_INTERNAL < 2) && (-1 < (int)pp_Var1 << 0x17)) {
        pSVar2 = (Sized_symbol<32> *)0x0;
        goto LAB_002c5450;
      }
LAB_002c5288:
      *pname = (char *)this_00->saw_undefined_;
      if (uVar12 == 0) {
        pdef._M_cur = (__node_type *)0x0;
        *pversion = (char *)this_00->first_global_index_;
        uVar13 = 0;
        uVar15 = 0;
        _Var16._M_nxt = (_Hash_node_base *)0x0;
      }
      else {
        pcVar9 = Stringpool_template<char>::add(&this->namepool_,*pversion,true,(Key *)0x0);
        pdef._M_cur = (__node_type *)0x0;
        *pversion = pcVar9;
        uVar13 = 0;
        uVar15 = 0;
        _Var16._M_nxt = (_Hash_node_base *)0x0;
      }
      goto LAB_002c52a8;
    }
    if (uVar12 != 0) {
      this_00 = (Symbol_table *)lookup(this,*pname,(char *)0x0);
      if (this_00 == (Symbol_table *)0x0) {
        pSVar2 = (Sized_symbol<32> *)0x0;
        goto LAB_002c5450;
      }
      goto LAB_002c524c;
    }
LAB_002c544c:
    pSVar2 = (Sized_symbol<32> *)0x0;
LAB_002c5450:
    if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
         *)v._M_dataplus._M_p != paVar14) {
      (*(code *)PTR_operator_delete_004c12fc)();
    }
    return pSVar2;
  }
  uVar12 = 0;
  if (CONCAT31(in_register_0000001c,only_if_ref) != 0) goto LAB_002c522c;
LAB_002c5340:
  pcVar9 = Stringpool_template<char>::add(&this->namepool_,pcVar9,true,&name_key);
  *pname = pcVar9;
  version_key = 0;
  if (*pversion != (char *)0x0) {
    pcVar9 = Stringpool_template<char>::add(&this->namepool_,*pversion,true,&version_key);
    *pversion = pcVar9;
  }
  sym = (Symbol *)&this->table_;
  local_48 = 0;
  _is_global = (__node_type *)name_key;
  pSVar10 = sym;
  local_4c = version_key;
  std::
  _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>,_std::__detail::_Select1st,_gold::Symbol_table::Symbol_table_eq,_gold::Symbol_table::Symbol_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::Symbol*>_>
            ((_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>,_std::__detail::_Select1st,_gold::Symbol_table::Symbol_table_eq,_gold::Symbol_table::Symbol_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
              *)&stack0xffffffc4,sym,0,&is_global);
  if (uVar12 == 0) {
    uVar13 = 0;
    sym = pSVar10;
    pdef._M_cur = (__node_type *)0x0;
  }
  else {
    local_4c = 0;
    local_48 = 0;
    _is_global = (__node_type *)name_key;
    std::
    _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>,_std::__detail::_Select1st,_gold::Symbol_table::Symbol_table_eq,_gold::Symbol_table::Symbol_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::Symbol*>_>
              ((_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>,_std::__detail::_Select1st,_gold::Symbol_table::Symbol_table_eq,_gold::Symbol_table::Symbol_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
                *)&stack0xffffffbc,sym,0,&is_global);
    uVar13 = (uint)local_40;
    pdef._M_cur = local_44._M_cur;
  }
  uVar15 = (uint)local_38;
  this_00 = (Symbol_table *)local_3c._M_nxt[3]._M_nxt;
  if (uVar15 == 0) {
    puVar11 = PTR_s_in_a_linker_script_004c191c;
    if (this_00 != (Symbol_table *)0x0) {
      if (uVar12 == 0) {
        pdef._M_cur = (__node_type *)0x0;
        uVar13 = uVar12;
        uVar15 = uVar12;
        _Var16._M_nxt = (_Hash_node_base *)0x0;
      }
      else {
        pSVar2 = get_sized_symbol<32>(this_00,sym);
        _is_global = pdef._M_cur;
        define_default_version<32,_false>(this,pSVar2,SUB41(uVar13,0),(iterator)pdef._M_cur);
        pdef._M_cur = (__node_type *)0x0;
        uVar13 = 0;
        _Var16._M_nxt = (_Hash_node_base *)0x0;
      }
      goto LAB_002c52a8;
    }
  }
  else {
    puVar11 = PTR_s_in_a_linker_script_004c191c;
    if (this_00 != (Symbol_table *)0x0) goto LAB_002c567c;
    _Var16._M_nxt = local_3c._M_nxt;
    if (uVar12 == 0) {
      pdef._M_cur = (__node_type *)0x0;
      uVar13 = uVar12;
    }
    else {
      uVar15 = uVar13;
      if ((uVar13 == 0) &&
         (pSVar4 = *(Symbol_table **)((int)pdef._M_cur + 0xc), uVar13 = uVar12, uVar15 = uVar12,
         pSVar4->first_global_index_ == 0)) {
        pdef._M_cur = (__node_type *)0x0;
        *resolve_oldsym = true;
        uVar13 = 0;
        this_00 = pSVar4;
      }
    }
LAB_002c52a8:
    piVar7 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);
    if (piVar7 != (int *)0x0) {
      if (*(char *)(piVar7[1] + 0xc) == '\0') goto LAB_002c55b0;
      pSVar10 = (Symbol *)*pname;
      pSVar2 = (Sized_symbol<32> *)(**(code **)(*piVar7 + 0xa8))(piVar7,pSVar10,0,0,0);
      if (pSVar2 != (Sized_symbol<32> *)0x0) {
        while (uVar15 == 0) {
          pSVar10 = (Symbol *)&DAT_00000794;
          if (this_00 != (Symbol_table *)0x0) goto LAB_002c530c;
          (*(code *)PTR_do_gold_unreachable_004c1a30)
                    (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,
                     PTR_s_in_a_linker_script_004c191c + 0x2f4c);
LAB_002c55b0:
          pSVar2 = (Sized_symbol<32> *)(*(code *)PTR_operator_new_004c13a8)(0x38);
          pSVar10 = (Symbol *)0x0;
          (*(code *)PTR_memset_004c5c68)(pSVar2,0,0x30);
        }
        _Var16._M_nxt[3]._M_nxt = (_Hash_node_base *)pSVar2;
LAB_002c530c:
        if (uVar13 != 0) {
          *(Sized_symbol<32> **)
           ((int)&((pdef._M_cur)->
                  super__Hash_node_value_base<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>
                  )._M_storage._M_storage + 8) = pSVar2;
        }
        pSVar3 = get_sized_symbol<32>(this_00,pSVar10);
        *poldsym = pSVar3;
        goto LAB_002c5450;
      }
      goto LAB_002c544c;
    }
    puVar11 = PTR_s_in_a_linker_script_004c191c + 0x3098;
    (*(code *)PTR_do_gold_unreachable_004c1a30)
              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,puVar11);
  }
  puVar11 = puVar11 + 0x2f4c;
  (*(code *)PTR_do_gold_unreachable_004c1a30)
            (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x75a,puVar11);
LAB_002c567c:
  puVar8 = PTR_s_in_a_linker_script_004c191c + 0x24b0;
  (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar8,0x768,puVar11 + 0x2f4c);
                    /* catch() { ... } // from try @ 002c5238 with catch @ 002c5694 */
  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
       *)v._M_dataplus._M_p != paVar14) {
    (*(code *)PTR_operator_delete_004c12fc)(v._M_dataplus._M_p);
  }
  pSVar2 = (Sized_symbol<32> *)(*(code *)PTR__Unwind_Resume_004c12c8)(puVar8);
  return pSVar2;
}



/* gold::Sized_symbol<32>* gold::Symbol_table::define_special_symbol<32, false>(char const**, char
   const**, bool, elfcpp::STV, gold::Sized_symbol<32>**, bool*, bool) */

Sized_symbol * __thiscall
gold::Symbol_table::define_special_symbol<32,false>
          (Symbol_table *this,undefined4 *param_1,int *param_2,int param_4,int param_5,
          undefined4 *param_6,undefined1 *param_7,char param_8)

{
  undefined4 *puVar1;
  uint uVar2;
  Sized_symbol *pSVar3;
  undefined4 uVar4;
  undefined4 *puVar5;
  uint uVar6;
  int iVar7;
  int *piVar8;
  char *pcVar9;
  uint uVar10;
  uint uVar11;
  undefined1 *local_68;
  int local_64;
  undefined1 local_60 [16];
  uint local_50;
  uint local_4c;
  undefined4 local_48;
  uint local_44;
  byte local_40;
  int local_3c;
  byte local_38;
  uint local_34;
  uint local_30 [2];
  
  local_64 = 0;
  local_60[0] = 0;
  pcVar9 = (char *)*param_1;
  *param_7 = 0;
  *param_6 = 0;
  local_68 = local_60;
  if (param_8 == '\0') {
    uVar6 = 0;
    if (*param_2 == 0) {
      uVar6 = Version_script_info::get_symbol_version
                        (*(Version_script_info **)(this + 0x160),pcVar9,(string *)&local_68,
                         (bool *)&local_50);
      if ((uVar6 != 0) && (uVar6 = local_50 >> 0x18, uVar6 != 0)) {
        if (local_64 == 0) {
          pcVar9 = (char *)*param_1;
          uVar6 = 0;
          goto LAB_002c5224;
        }
        *param_2 = (int)local_68;
      }
      pcVar9 = (char *)*param_1;
    }
LAB_002c5224:
    if (param_4 == 0) goto LAB_002c5340;
LAB_002c522c:
                    /* try { // try from 002c5238 to 002c5693 has its CatchHandler @ 002c5694 */
    puVar1 = (undefined4 *)lookup(this,pcVar9,(char *)*param_2);
    if (puVar1 != (undefined4 *)0x0) {
LAB_002c524c:
      uVar2 = puVar1[10];
      if ((uVar2 & 0xe000) != 0) {
        if ((uVar2 & 0xe000) == 0x8000) goto LAB_002c5288;
        goto LAB_002c544c;
      }
      if (puVar1[3] == 0) {
        if ((int)(uVar2 << 0x1d) < 0) goto LAB_002c5288;
        iVar7 = puVar1[2];
      }
      else {
        iVar7 = puVar1[2];
      }
      if (-1 < *(int *)(iVar7 + 0x2c)) goto LAB_002c544c;
      if ((param_5 - 1U < 2) && (-1 < (int)(uVar2 << 0x17))) {
        pSVar3 = (Sized_symbol *)0x0;
        goto LAB_002c5450;
      }
LAB_002c5288:
      *param_1 = *puVar1;
      if (uVar6 == 0) {
        uVar11 = 0;
        *param_2 = puVar1[1];
        uVar2 = 0;
        uVar10 = 0;
        iVar7 = 0;
      }
      else {
        iVar7 = Stringpool_template<char>::add
                          ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,
                           (uint *)0x0);
        uVar11 = 0;
        *param_2 = iVar7;
        uVar2 = 0;
        uVar10 = 0;
        iVar7 = 0;
      }
      goto LAB_002c52a8;
    }
    if (uVar6 != 0) {
      puVar1 = (undefined4 *)lookup(this,(char *)*param_1,(char *)0x0);
      if (puVar1 == (undefined4 *)0x0) {
        pSVar3 = (Sized_symbol *)0x0;
        goto LAB_002c5450;
      }
      goto LAB_002c524c;
    }
LAB_002c544c:
    pSVar3 = (Sized_symbol *)0x0;
  }
  else {
    uVar6 = 0;
    if (param_4 != 0) goto LAB_002c522c;
LAB_002c5340:
    uVar4 = Stringpool_template<char>::add
                      ((Stringpool_template<char> *)(this + 0x48),pcVar9,true,local_30);
    *param_1 = uVar4;
    local_34 = 0;
    if ((char *)*param_2 != (char *)0x0) {
      iVar7 = Stringpool_template<char>::add
                        ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,&local_34)
      ;
      *param_2 = iVar7;
    }
    local_48 = 0;
    local_50 = local_30[0];
    local_4c = local_34;
    std::
    _Hashtable<std::pair<unsigned_int,unsigned_int>,std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>,std::allocator<std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>>,std::__detail::_Select1st,gold::Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>
              (&local_3c,this + 0x28,0,&local_50);
    if (uVar6 == 0) {
      uVar2 = 0;
      uVar11 = 0;
    }
    else {
      local_4c = 0;
      local_48 = 0;
      local_50 = local_30[0];
      std::
      _Hashtable<std::pair<unsigned_int,unsigned_int>,std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>,std::allocator<std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>>,std::__detail::_Select1st,gold::Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>
                (&local_44,this + 0x28,0,&local_50);
      uVar2 = (uint)local_40;
      uVar11 = local_44;
    }
    uVar10 = (uint)local_38;
    puVar1 = *(undefined4 **)(local_3c + 0xc);
    if (uVar10 == 0) {
      if (puVar1 == (undefined4 *)0x0) {
        pSVar3 = (Sized_symbol *)
                 (*(code *)PTR_do_gold_unreachable_004c1a30)
                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x75a,
                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);
        return pSVar3;
      }
      if (uVar6 == 0) {
        uVar11 = 0;
        uVar2 = uVar6;
        uVar10 = uVar6;
        iVar7 = 0;
      }
      else {
        uVar4 = FUN_002b58f0(puVar1);
        local_50 = uVar11;
        define_default_version<32,false>(this,uVar4,uVar2,uVar11);
        uVar11 = 0;
        uVar2 = 0;
        iVar7 = 0;
      }
    }
    else {
      if (puVar1 != (undefined4 *)0x0) {
        pSVar3 = (Sized_symbol *)
                 (*(code *)PTR_do_gold_unreachable_004c1a30)
                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x768,
                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);
        return pSVar3;
      }
      iVar7 = local_3c;
      if (uVar6 == 0) {
        uVar11 = 0;
        uVar2 = uVar6;
      }
      else {
        uVar10 = uVar2;
        if ((uVar2 == 0) &&
           (puVar5 = *(undefined4 **)(uVar11 + 0xc), uVar2 = uVar6, uVar10 = uVar6, puVar5[1] == 0))
        {
          uVar11 = 0;
          *param_7 = 1;
          uVar2 = 0;
          puVar1 = puVar5;
        }
      }
    }
LAB_002c52a8:
    piVar8 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);
    if (piVar8 == (int *)0x0) {
      pSVar3 = (Sized_symbol *)
               (*(code *)PTR_do_gold_unreachable_004c1a30)
                         (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,
                          PTR_s_in_a_linker_script_004c191c + 0x3098);
      return pSVar3;
    }
    if (*(char *)(piVar8[1] + 0xc) == '\0') {
      pSVar3 = (Sized_symbol *)(*(code *)PTR_operator_new_004c13a8)(0x38);
      (*(code *)PTR_memset_004c5c68)(pSVar3,0,0x30);
    }
    else {
      pSVar3 = (Sized_symbol *)(**(code **)(*piVar8 + 0xa8))(piVar8,*param_1,0,0,0);
      if (pSVar3 == (Sized_symbol *)0x0) goto LAB_002c544c;
    }
    if (uVar10 == 0) {
      if (puVar1 == (undefined4 *)0x0) {
        pSVar3 = (Sized_symbol *)
                 (*(code *)PTR_do_gold_unreachable_004c1a30)
                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,
                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);
        return pSVar3;
      }
    }
    else {
      *(Sized_symbol **)(iVar7 + 0xc) = pSVar3;
    }
    if (uVar2 != 0) {
      *(Sized_symbol **)(uVar11 + 0xc) = pSVar3;
    }
    uVar4 = FUN_002b58f0(puVar1);
    *param_6 = uVar4;
  }
LAB_002c5450:
  if (local_68 != local_60) {
    (*(code *)PTR_operator_delete_004c12fc)();
  }
  return pSVar3;
}


lui gp,0x20
addiu gp,gp,0x40a0
addu gp,gp,t9
addiu sp,sp,-0x90
lw v0,0xa8(sp)
sw gp,0x20(sp)
sw s5,0x7c(sp)
or s5,a0,zero
sw s4,0x78(sp)
addiu s4,sp,0x30
sw s3,0x74(sp)
or s3,a2,zero
sw s2,0x70(sp)
or s2,a1,zero
sw s1,0x6c(sp)
or s1,a3,zero
sw s0,0x68(sp)
sw ra,0x8c(sp)
sw s8,0x88(sp)
sw s7,0x84(sp)
sw s6,0x80(sp)
sw s4,0x28(sp)
sw zero,0x2c(sp)
sb zero,0x30(sp)
lw a1,0x0(a1)
lbu s0,0xaf(sp)
sb zero,0x0(v0)
lw v0,0xa4(sp)
bne s0,zero,0x002c5334
_sw zero,0x0(v0)
lw v0,0x0(a2)
beq v0,zero,0x002c54dc
_addiu a3,sp,0x40
beq s1,zero,0x002c5340
_addiu s1,s5,0x48
lw s6,-0x7400(gp)
or a0,s5,zero
or t9,s6,zero
bal 0x002b88cc
_lw a2,0x0(s3)
lw gp,0x20(sp)
beq v0,zero,0x002c5498
_or s1,v0,zero
lw v0,0x28(s1)
andi v1,v0,0xe000
bne v1,zero,0x002c5440
_nop
lw v1,0xc(s1)
beq v1,zero,0x002c54cc
_ext a0,v0,0x2,0x1
lw v1,0x8(s1)
lw v1,0x2c(v1)
bgez v1,0x002c544c
_lw v1,0xa0(sp)
addiu v1,v1,-0x1
sltiu v1,v1,0x2
bne v1,zero,0x002c562c
_ext v0,v0,0x8,0x1
lw v0,0x0(s1)
bne s0,zero,0x002c5518
_sw v0,0x0(s2)
lw v0,0x4(s1)
or s6,zero,zero
or s8,zero,zero
or s7,zero,zero
sw v0,0x0(s3)
lw v0,-0x788c(gp)
lw v0,0x0(v0)
lw a0,0xc(v0)
beq a0,zero,0x002c564c
_li a1,0x69
lw v0,0x4(a0)
lbu v0,0xc(v0)
beq v0,zero,0x002c55b0
_or t1,zero,zero
lw v0,0x0(a0)
or t0,zero,zero
sw t1,0x1c(sp)
or a3,zero,zero
sw t0,0x18(sp)
lw a1,0x0(s2)
sw zero,0x10(sp)
lw t9,0xa8(v0)
jalr t9
_or a2,zero,zero
lw gp,0x20(sp)
beq v0,zero,0x002c544c
_or s2,v0,zero
beq s6,zero,0x002c5590
_nop
sw s2,0xc(s7)
beq s0,zero,0x002c5318
_lw t9,-0x697c(gp)
sw s2,0xc(s8)
addiu t9,t9,0x58f0
bal 0x002b58f0
_or a0,s1,zero
lw v1,0xa4(sp)
lw gp,0x20(sp)
b 0x002c5450
_sw v0,0x0(v1)
bne s1,zero,0x002c522c
_or s0,zero,zero
addiu s1,s5,0x48
lw t9,-0x759c(gp)
addiu a3,sp,0x60
li a2,0x1
bal 0x002b2518
_or a0,s1,zero
lw gp,0x20(sp)
sw v0,0x0(s2)
sw zero,0x5c(sp)
lw a1,0x0(s3)
beq a1,zero,0x002c561c
_lw t9,-0x759c(gp)
addiu a3,sp,0x5c
li a2,0x1
bal 0x002b2518
_or a0,s1,zero
lw v1,0x5c(sp)
lw gp,0x20(sp)
sw v0,0x0(s3)
or a2,zero,zero
lw s1,-0x482c(gp)
lw v0,0x60(sp)
addiu s3,s5,0x28
addiu s6,sp,0x40
sw v1,0x44(sp)
sll a2,a2,0x18
sw zero,0x48(sp)
addiu a0,sp,0x54
sw v0,0x40(sp)
or a3,s6,zero
or t9,s1,zero
bal 0x002c3234
_or a1,s3,zero
lw gp,0x20(sp)
bne s0,zero,0x002c55e0
_lw s7,0x54(sp)
or s3,zero,zero
or s8,zero,zero
lbu s6,0x58(sp)
bne s6,zero,0x002c53fc
_lw s1,0xc(s7)
beq s1,zero,0x002c5664
_lw a2,-0x7924(gp)
bne s0,zero,0x002c554c
_or s7,zero,zero
or s6,s0,zero
b 0x002c52a8
_or s8,zero,zero
bne s1,zero,0x002c567c
_lw a2,-0x7924(gp)
beq s0,zero,0x002c54c4
_nop
bne s3,zero,0x002c5624
_or s6,s3,zero
lw v0,0xc(s8)
lw v1,0x4(v0)
bne v1,zero,0x002c52a8
_or s6,s0,zero
lw a0,0xa8(sp)
li v1,0x1
or s8,zero,zero
or s0,zero,zero
or s1,v0,zero
b 0x002c52a8
_sb v1,0x0(a0)
ori v0,zero,0x8000
beq v1,v0,0x002c5288
_nop
or s2,zero,zero
lw a0,0x28(sp)
beq a0,s4,0x002c5464
_lw t9,-0x7f44(gp)
jalr t9
_nop
lw ra,0x8c(sp)
or v0,s2,zero
lw s8,0x88(sp)
lw s7,0x84(sp)
lw s6,0x80(sp)
lw s5,0x7c(sp)
lw s4,0x78(sp)
lw s3,0x74(sp)
lw s2,0x70(sp)
lw s1,0x6c(sp)
lw s0,0x68(sp)
jr ra
_addiu sp,sp,0x90
beq s0,zero,0x002c544c
_or a2,zero,zero
lw a1,0x0(s2)
or t9,s6,zero
bal 0x002b88cc
_or a0,s5,zero
lw gp,0x20(sp)
bne v0,zero,0x002c524c
_or s1,v0,zero
b 0x002c5450
_or s2,zero,zero
b 0x002c52a8
_or s8,zero,zero
bne a0,zero,0x002c5288
_nop
b 0x002c526c
_lw v1,0x8(s1)
lw a0,0x160(a0)
lw t9,-0x72fc(gp)
bal 0x002aa090
_addiu a2,sp,0x28
beq v0,zero,0x002c550c
_lw gp,0x20(sp)
lbu v0,0x40(sp)
beq v0,zero,0x002c550c
_lw v1,0x2c(sp)
beq v1,zero,0x002c563c
_lw v1,0x28(sp)
sw v1,0x0(s3)
lw a1,0x0(s2)
b 0x002c5224
_or s0,v0,zero
lw a1,0x0(s3)
or a3,zero,zero
lw t9,-0x759c(gp)
li a2,0x1
bal 0x002b2518
_addiu a0,s5,0x48
lw gp,0x20(sp)
or s8,zero,zero
sw v0,0x0(s3)
or s7,zero,zero
or s0,zero,zero
b 0x002c52a8
_or s6,zero,zero
lw t9,-0x697c(gp)
addiu t9,t9,0x58f0
bal 0x002b58f0
_or a0,s1,zero
lw gp,0x20(sp)
or a3,s8,zero
or a2,s3,zero
sw s8,0x40(sp)
or a1,v0,zero
lw t9,-0x480c(gp)
bal 0x002c0f4c
_or a0,s5,zero
lw gp,0x20(sp)
or s0,zero,zero
or s8,zero,zero
b 0x002c52a8
_or s7,zero,zero
bne s1,zero,0x002c530c
_li a1,0x794
lw a2,-0x7924(gp)
lw a0,-0x7924(gp)
lw t9,-0x7810(gp)
addiu a2,a2,0x2f4c
jalr t9
_addiu a0,a0,0x24b0
lw t9,-0x7e98(gp)
jalr t9
_li a0,0x38
lw gp,0x20(sp)
li a2,0x30
or a1,zero,zero
or a0,v0,zero
lw t9,-0x35d8(gp)
jalr t9
_or s2,v0,zero
b 0x002c5300
_lw gp,0x20(sp)
or a2,zero,zero
lw v0,0x60(sp)
addiu a0,sp,0x4c
sw zero,0x44(sp)
sll a2,a2,0x18
sw zero,0x48(sp)
or a3,s6,zero
sw v0,0x40(sp)
or t9,s1,zero
bal 0x002c3234
_or a1,s3,zero
lw gp,0x20(sp)
lw s8,0x4c(sp)
b 0x002c53d4
_lbu s3,0x50(sp)
b 0x002c5388
_or v1,zero,zero
b 0x002c52a8
_or s0,s3,zero
bne v0,zero,0x002c5288
_nop
b 0x002c5450
_or s2,zero,zero
or v0,zero,zero
lw a1,0x0(s2)
b 0x002c5224
_or s0,v0,zero
lw a2,-0x7924(gp)
lw a0,-0x7fc4(gp)
lw t9,-0x7810(gp)
addiu a2,a2,0x3098
jalr t9
_addiu a0,a0,-0x9b8
li a1,0x75a
lw a0,-0x7924(gp)
lw t9,-0x7810(gp)
addiu a2,a2,0x2f4c
jalr t9
_addiu a0,a0,0x24b0
li a1,0x768
lw a0,-0x7924(gp)
lw t9,-0x7810(gp)
addiu a2,a2,0x2f4c
jalr t9
_addiu a0,a0,0x24b0
(translation_unit "/* gold::Sized_symbol<32>* gold::Symbol_table::define_special_symbol<32, false>(char const**, char\n   const**, bool, elfcpp::STV, gold::Sized_symbol<32>**, bool*, bool) */\n\nSized_symbol * __thiscall\ngold::Symbol_table::define_special_symbol<32,false>\n          (Symbol_table *this,undefined4 *param_1,int *param_2,int param_4,int param_5,\n          undefined4 *param_6,undefined1 *param_7,char param_8)\n\n{\n  undefined4 *puVar1;\n  uint uVar2;\n  Sized_symbol *pSVar3;\n  undefined4 uVar4;\n  undefined4 *puVar5;\n  uint uVar6;\n  int iVar7;\n  int *piVar8;\n  char *pcVar9;\n  uint uVar10;\n  uint uVar11;\n  undefined1 *local_68;\n  int local_64;\n  undefined1 local_60 [16];\n  uint local_50;\n  uint local_4c;\n  undefined4 local_48;\n  uint local_44;\n  byte local_40;\n  int local_3c;\n  byte local_38;\n  uint local_34;\n  uint local_30 [2];\n  \n  local_64 = 0;\n  local_60[0] = 0;\n  pcVar9 = (char *)*param_1;\n  *param_7 = 0;\n  *param_6 = 0;\n  local_68 = local_60;\n  if (param_8 == '\0') {\n    uVar6 = 0;\n    if (*param_2 == 0) {\n      uVar6 = Version_script_info::get_symbol_version\n                        (*(Version_script_info **)(this + 0x160),pcVar9,(string *)&local_68,\n                         (bool *)&local_50);\n      if ((uVar6 != 0) && (uVar6 = local_50 >> 0x18, uVar6 != 0)) {\n        if (local_64 == 0) {\n          pcVar9 = (char *)*param_1;\n          uVar6 = 0;\n          goto LAB_002c5224;\n        }\n        *param_2 = (int)local_68;\n      }\n      pcVar9 = (char *)*param_1;\n    }\nLAB_002c5224:\n    if (param_4 == 0) goto LAB_002c5340;\nLAB_002c522c:\n                    /* try { // try from 002c5238 to 002c5693 has its CatchHandler @ 002c5694 */\n    puVar1 = (undefined4 *)lookup(this,pcVar9,(char *)*param_2);\n    if (puVar1 != (undefined4 *)0x0) {\nLAB_002c524c:\n      uVar2 = puVar1[10];\n      if ((uVar2 & 0xe000) != 0) {\n        if ((uVar2 & 0xe000) == 0x8000) goto LAB_002c5288;\n        goto LAB_002c544c;\n      }\n      if (puVar1[3] == 0) {\n        if ((int)(uVar2 << 0x1d) < 0) goto LAB_002c5288;\n        iVar7 = puVar1[2];\n      }\n      else {\n        iVar7 = puVar1[2];\n      }\n      if (-1 < *(int *)(iVar7 + 0x2c)) goto LAB_002c544c;\n      if ((param_5 - 1U < 2) && (-1 < (int)(uVar2 << 0x17))) {\n        pSVar3 = (Sized_symbol *)0x0;\n        goto LAB_002c5450;\n      }\nLAB_002c5288:\n      *param_1 = *puVar1;\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        *param_2 = puVar1[1];\n        uVar2 = 0;\n        uVar10 = 0;\n        iVar7 = 0;\n      }\n      else {\n        iVar7 = Stringpool_template<char>::add\n                          ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,\n                           (uint *)0x0);\n        uVar11 = 0;\n        *param_2 = iVar7;\n        uVar2 = 0;\n        uVar10 = 0;\n        iVar7 = 0;\n      }\n      goto LAB_002c52a8;\n    }\n    if (uVar6 != 0) {\n      puVar1 = (undefined4 *)lookup(this,(char *)*param_1,(char *)0x0);\n      if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)0x0;\n        goto LAB_002c5450;\n      }\n      goto LAB_002c524c;\n    }\nLAB_002c544c:\n    pSVar3 = (Sized_symbol *)0x0;\n  }\n  else {\n    uVar6 = 0;\n    if (param_4 != 0) goto LAB_002c522c;\nLAB_002c5340:\n    uVar4 = Stringpool_template<char>::add\n                      ((Stringpool_template<char> *)(this + 0x48),pcVar9,true,local_30);\n    *param_1 = uVar4;\n    local_34 = 0;\n    if ((char *)*param_2 != (char *)0x0) {\n      iVar7 = Stringpool_template<char>::add\n                        ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,&local_34)\n      ;\n      *param_2 = iVar7;\n    }\n    local_48 = 0;\n    local_50 = local_30[0];\n    local_4c = local_34;\n    std::\n    _Hashtable<std::pair<unsigned_int,unsigned_int>,std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>,std::allocator<std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>>,std::__detail::_Select1st,gold::Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>\n              (&local_3c,this + 0x28,0,&local_50);\n    if (uVar6 == 0) {\n      uVar2 = 0;\n      uVar11 = 0;\n    }\n    else {\n      local_4c = 0;\n      local_48 = 0;\n      local_50 = local_30[0];\n      std::\n      _Hashtable<std::pair<unsigned_int,unsigned_int>,std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>,std::allocator<std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>>,std::__detail::_Select1st,gold::Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>\n                (&local_44,this + 0x28,0,&local_50);\n      uVar2 = (uint)local_40;\n      uVar11 = local_44;\n    }\n    uVar10 = (uint)local_38;\n    puVar1 = *(undefined4 **)(local_3c + 0xc);\n    if (uVar10 == 0) {\n      if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x75a,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        uVar2 = uVar6;\n        uVar10 = uVar6;\n        iVar7 = 0;\n      }\n      else {\n        uVar4 = FUN_002b58f0(puVar1);\n        local_50 = uVar11;\n        define_default_version<32,false>(this,uVar4,uVar2,uVar11);\n        uVar11 = 0;\n        uVar2 = 0;\n        iVar7 = 0;\n      }\n    }\n    else {\n      if (puVar1 != (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x768,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n      iVar7 = local_3c;\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        uVar2 = uVar6;\n      }\n      else {\n        uVar10 = uVar2;\n        if ((uVar2 == 0) &&\n           (puVar5 = *(undefined4 **)(uVar11 + 0xc), uVar2 = uVar6, uVar10 = uVar6, puVar5[1] == 0))\n        {\n          uVar11 = 0;\n          *param_7 = 1;\n          uVar2 = 0;\n          puVar1 = puVar5;\n        }\n      }\n    }\nLAB_002c52a8:\n    piVar8 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n    if (piVar8 == (int *)0x0) {\n      pSVar3 = (Sized_symbol *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                          PTR_s_in_a_linker_script_004c191c + 0x3098);\n      return pSVar3;\n    }\n    if (*(char *)(piVar8[1] + 0xc) == '\0') {\n      pSVar3 = (Sized_symbol *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n      (*(code *)PTR_memset_004c5c68)(pSVar3,0,0x30);\n    }\n    else {\n      pSVar3 = (Sized_symbol *)(**(code **)(*piVar8 + 0xa8))(piVar8,*param_1,0,0,0);\n      if (pSVar3 == (Sized_symbol *)0x0) goto LAB_002c544c;\n    }\n    if (uVar10 == 0) {\n      if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n    }\n    else {\n      *(Sized_symbol **)(iVar7 + 0xc) = pSVar3;\n    }\n    if (uVar2 != 0) {\n      *(Sized_symbol **)(uVar11 + 0xc) = pSVar3;\n    }\n    uVar4 = FUN_002b58f0(puVar1);\n    *param_6 = uVar4;\n  }\nLAB_002c5450:\n  if (local_68 != local_60) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  return pSVar3;\n}\n\n" comment (ERROR "Sized_symbol * __thiscall\ngold::Symbol_table::define_special_symbol<32,false>\n          (Symbol_table *this,undefined4 *param_1,int *param_2,int param_4,int param_5,\n          undefined4 *param_6,undefined1 *param_7,char param_8)" (binary_expression "Sized_symbol * __thiscall\ngold::Symbol_table::define_special_symbol<32,false>\n          (Symbol_table *this,undefined4 *param_1,int *param_2,int param_4,int param_5,\n          undefined4 *param_6,undefined1 *param_7,char param_8)" (binary_expression "Sized_symbol * __thiscall\ngold::Symbol_table::define_special_symbol<32" (binary_expression "Sized_symbol * __thiscall" identifier * identifier) (ERROR "gold::Symbol_table::define_special_symbol" identifier : : identifier : : identifier) < number_literal) (ERROR ",false" , false) > (parenthesized_expression "(Symbol_table *this,undefined4 *param_1,int *param_2,int param_4,int param_5,\n          undefined4 *param_6,undefined1 *param_7,char param_8)" ( (comma_expression "Symbol_table *this,undefined4 *param_1,int *param_2,int param_4,int param_5,\n          undefined4 *param_6,undefined1 *param_7,char param_8" (binary_expression "Symbol_table *this" identifier * identifier) , (comma_expression "undefined4 *param_1,int *param_2,int param_4,int param_5,\n          undefined4 *param_6,undefined1 *param_7,char param_8" (binary_expression "undefined4 *param_1" identifier * identifier) , (comma_expression "int *param_2,int param_4,int param_5,\n          undefined4 *param_6,undefined1 *param_7,char param_8" (binary_expression "int *param_2" identifier * identifier) , (ERROR "int" identifier) (comma_expression "param_4,int param_5,\n          undefined4 *param_6,undefined1 *param_7,char param_8" identifier , (ERROR "int" identifier) (comma_expression "param_5,\n          undefined4 *param_6,undefined1 *param_7,char param_8" identifier , (comma_expression "undefined4 *param_6,undefined1 *param_7,char param_8" (binary_expression "undefined4 *param_6" identifier * identifier) , (comma_expression "undefined1 *param_7,char param_8" (binary_expression "undefined1 *param_7" identifier * identifier) , (ERROR "char" identifier) identifier))))))) )))) (compound_statement "{\n  undefined4 *puVar1;\n  uint uVar2;\n  Sized_symbol *pSVar3;\n  undefined4 uVar4;\n  undefined4 *puVar5;\n  uint uVar6;\n  int iVar7;\n  int *piVar8;\n  char *pcVar9;\n  uint uVar10;\n  uint uVar11;\n  undefined1 *local_68;\n  int local_64;\n  undefined1 local_60 [16];\n  uint local_50;\n  uint local_4c;\n  undefined4 local_48;\n  uint local_44;\n  byte local_40;\n  int local_3c;\n  byte local_38;\n  uint local_34;\n  uint local_30 [2];\n  \n  local_64 = 0;\n  local_60[0] = 0;\n  pcVar9 = (char *)*param_1;\n  *param_7 = 0;\n  *param_6 = 0;\n  local_68 = local_60;\n  if (param_8 == '\0') {\n    uVar6 = 0;\n    if (*param_2 == 0) {\n      uVar6 = Version_script_info::get_symbol_version\n                        (*(Version_script_info **)(this + 0x160),pcVar9,(string *)&local_68,\n                         (bool *)&local_50);\n      if ((uVar6 != 0) && (uVar6 = local_50 >> 0x18, uVar6 != 0)) {\n        if (local_64 == 0) {\n          pcVar9 = (char *)*param_1;\n          uVar6 = 0;\n          goto LAB_002c5224;\n        }\n        *param_2 = (int)local_68;\n      }\n      pcVar9 = (char *)*param_1;\n    }\nLAB_002c5224:\n    if (param_4 == 0) goto LAB_002c5340;\nLAB_002c522c:\n                    /* try { // try from 002c5238 to 002c5693 has its CatchHandler @ 002c5694 */\n    puVar1 = (undefined4 *)lookup(this,pcVar9,(char *)*param_2);\n    if (puVar1 != (undefined4 *)0x0) {\nLAB_002c524c:\n      uVar2 = puVar1[10];\n      if ((uVar2 & 0xe000) != 0) {\n        if ((uVar2 & 0xe000) == 0x8000) goto LAB_002c5288;\n        goto LAB_002c544c;\n      }\n      if (puVar1[3] == 0) {\n        if ((int)(uVar2 << 0x1d) < 0) goto LAB_002c5288;\n        iVar7 = puVar1[2];\n      }\n      else {\n        iVar7 = puVar1[2];\n      }\n      if (-1 < *(int *)(iVar7 + 0x2c)) goto LAB_002c544c;\n      if ((param_5 - 1U < 2) && (-1 < (int)(uVar2 << 0x17))) {\n        pSVar3 = (Sized_symbol *)0x0;\n        goto LAB_002c5450;\n      }\nLAB_002c5288:\n      *param_1 = *puVar1;\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        *param_2 = puVar1[1];\n        uVar2 = 0;\n        uVar10 = 0;\n        iVar7 = 0;\n      }\n      else {\n        iVar7 = Stringpool_template<char>::add\n                          ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,\n                           (uint *)0x0);\n        uVar11 = 0;\n        *param_2 = iVar7;\n        uVar2 = 0;\n        uVar10 = 0;\n        iVar7 = 0;\n      }\n      goto LAB_002c52a8;\n    }\n    if (uVar6 != 0) {\n      puVar1 = (undefined4 *)lookup(this,(char *)*param_1,(char *)0x0);\n      if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)0x0;\n        goto LAB_002c5450;\n      }\n      goto LAB_002c524c;\n    }\nLAB_002c544c:\n    pSVar3 = (Sized_symbol *)0x0;\n  }\n  else {\n    uVar6 = 0;\n    if (param_4 != 0) goto LAB_002c522c;\nLAB_002c5340:\n    uVar4 = Stringpool_template<char>::add\n                      ((Stringpool_template<char> *)(this + 0x48),pcVar9,true,local_30);\n    *param_1 = uVar4;\n    local_34 = 0;\n    if ((char *)*param_2 != (char *)0x0) {\n      iVar7 = Stringpool_template<char>::add\n                        ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,&local_34)\n      ;\n      *param_2 = iVar7;\n    }\n    local_48 = 0;\n    local_50 = local_30[0];\n    local_4c = local_34;\n    std::\n    _Hashtable<std::pair<unsigned_int,unsigned_int>,std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>,std::allocator<std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>>,std::__detail::_Select1st,gold::Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>\n              (&local_3c,this + 0x28,0,&local_50);\n    if (uVar6 == 0) {\n      uVar2 = 0;\n      uVar11 = 0;\n    }\n    else {\n      local_4c = 0;\n      local_48 = 0;\n      local_50 = local_30[0];\n      std::\n      _Hashtable<std::pair<unsigned_int,unsigned_int>,std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>,std::allocator<std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>>,std::__detail::_Select1st,gold::Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>\n                (&local_44,this + 0x28,0,&local_50);\n      uVar2 = (uint)local_40;\n      uVar11 = local_44;\n    }\n    uVar10 = (uint)local_38;\n    puVar1 = *(undefined4 **)(local_3c + 0xc);\n    if (uVar10 == 0) {\n      if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x75a,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        uVar2 = uVar6;\n        uVar10 = uVar6;\n        iVar7 = 0;\n      }\n      else {\n        uVar4 = FUN_002b58f0(puVar1);\n        local_50 = uVar11;\n        define_default_version<32,false>(this,uVar4,uVar2,uVar11);\n        uVar11 = 0;\n        uVar2 = 0;\n        iVar7 = 0;\n      }\n    }\n    else {\n      if (puVar1 != (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x768,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n      iVar7 = local_3c;\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        uVar2 = uVar6;\n      }\n      else {\n        uVar10 = uVar2;\n        if ((uVar2 == 0) &&\n           (puVar5 = *(undefined4 **)(uVar11 + 0xc), uVar2 = uVar6, uVar10 = uVar6, puVar5[1] == 0))\n        {\n          uVar11 = 0;\n          *param_7 = 1;\n          uVar2 = 0;\n          puVar1 = puVar5;\n        }\n      }\n    }\nLAB_002c52a8:\n    piVar8 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n    if (piVar8 == (int *)0x0) {\n      pSVar3 = (Sized_symbol *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                          PTR_s_in_a_linker_script_004c191c + 0x3098);\n      return pSVar3;\n    }\n    if (*(char *)(piVar8[1] + 0xc) == '\0') {\n      pSVar3 = (Sized_symbol *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n      (*(code *)PTR_memset_004c5c68)(pSVar3,0,0x30);\n    }\n    else {\n      pSVar3 = (Sized_symbol *)(**(code **)(*piVar8 + 0xa8))(piVar8,*param_1,0,0,0);\n      if (pSVar3 == (Sized_symbol *)0x0) goto LAB_002c544c;\n    }\n    if (uVar10 == 0) {\n      if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n    }\n    else {\n      *(Sized_symbol **)(iVar7 + 0xc) = pSVar3;\n    }\n    if (uVar2 != 0) {\n      *(Sized_symbol **)(uVar11 + 0xc) = pSVar3;\n    }\n    uVar4 = FUN_002b58f0(puVar1);\n    *param_6 = uVar4;\n  }\nLAB_002c5450:\n  if (local_68 != local_60) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  return pSVar3;\n}" { (declaration "undefined4 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "Sized_symbol *pSVar3;" type_identifier (pointer_declarator "*pSVar3" * identifier) ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "undefined4 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "undefined1 *local_68;" type_identifier (pointer_declarator "*local_68" * identifier) ;) (declaration "int local_64;" primitive_type identifier ;) (declaration "undefined1 local_60 [16];" type_identifier (array_declarator "local_60 [16]" identifier [ number_literal ]) ;) (declaration "uint local_50;" type_identifier identifier ;) (declaration "uint local_4c;" type_identifier identifier ;) (declaration "undefined4 local_48;" type_identifier identifier ;) (declaration "uint local_44;" type_identifier identifier ;) (declaration "byte local_40;" type_identifier identifier ;) (declaration "int local_3c;" primitive_type identifier ;) (declaration "byte local_38;" type_identifier identifier ;) (declaration "uint local_34;" type_identifier identifier ;) (declaration "uint local_30 [2];" type_identifier (array_declarator "local_30 [2]" identifier [ number_literal ]) ;) (expression_statement "local_64 = 0;" (assignment_expression "local_64 = 0" identifier = number_literal) ;) (expression_statement "local_60[0] = 0;" (assignment_expression "local_60[0] = 0" (subscript_expression "local_60[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pcVar9 = (char *)*param_1;" (assignment_expression "pcVar9 = (char *)*param_1" identifier = (cast_expression "(char *)*param_1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_1" * identifier))) ;) (expression_statement "*param_7 = 0;" (assignment_expression "*param_7 = 0" (pointer_expression "*param_7" * identifier) = number_literal) ;) (expression_statement "*param_6 = 0;" (assignment_expression "*param_6 = 0" (pointer_expression "*param_6" * identifier) = number_literal) ;) (expression_statement "local_68 = local_60;" (assignment_expression "local_68 = local_60" identifier = identifier) ;) (if_statement "if (param_8 == '\0') {\n    uVar6 = 0;\n    if (*param_2 == 0) {\n      uVar6 = Version_script_info::get_symbol_version\n                        (*(Version_script_info **)(this + 0x160),pcVar9,(string *)&local_68,\n                         (bool *)&local_50);\n      if ((uVar6 != 0) && (uVar6 = local_50 >> 0x18, uVar6 != 0)) {\n        if (local_64 == 0) {\n          pcVar9 = (char *)*param_1;\n          uVar6 = 0;\n          goto LAB_002c5224;\n        }\n        *param_2 = (int)local_68;\n      }\n      pcVar9 = (char *)*param_1;\n    }\nLAB_002c5224:\n    if (param_4 == 0) goto LAB_002c5340;\nLAB_002c522c:\n                    /* try { // try from 002c5238 to 002c5693 has its CatchHandler @ 002c5694 */\n    puVar1 = (undefined4 *)lookup(this,pcVar9,(char *)*param_2);\n    if (puVar1 != (undefined4 *)0x0) {\nLAB_002c524c:\n      uVar2 = puVar1[10];\n      if ((uVar2 & 0xe000) != 0) {\n        if ((uVar2 & 0xe000) == 0x8000) goto LAB_002c5288;\n        goto LAB_002c544c;\n      }\n      if (puVar1[3] == 0) {\n        if ((int)(uVar2 << 0x1d) < 0) goto LAB_002c5288;\n        iVar7 = puVar1[2];\n      }\n      else {\n        iVar7 = puVar1[2];\n      }\n      if (-1 < *(int *)(iVar7 + 0x2c)) goto LAB_002c544c;\n      if ((param_5 - 1U < 2) && (-1 < (int)(uVar2 << 0x17))) {\n        pSVar3 = (Sized_symbol *)0x0;\n        goto LAB_002c5450;\n      }\nLAB_002c5288:\n      *param_1 = *puVar1;\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        *param_2 = puVar1[1];\n        uVar2 = 0;\n        uVar10 = 0;\n        iVar7 = 0;\n      }\n      else {\n        iVar7 = Stringpool_template<char>::add\n                          ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,\n                           (uint *)0x0);\n        uVar11 = 0;\n        *param_2 = iVar7;\n        uVar2 = 0;\n        uVar10 = 0;\n        iVar7 = 0;\n      }\n      goto LAB_002c52a8;\n    }\n    if (uVar6 != 0) {\n      puVar1 = (undefined4 *)lookup(this,(char *)*param_1,(char *)0x0);\n      if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)0x0;\n        goto LAB_002c5450;\n      }\n      goto LAB_002c524c;\n    }\nLAB_002c544c:\n    pSVar3 = (Sized_symbol *)0x0;\n  }\n  else {\n    uVar6 = 0;\n    if (param_4 != 0) goto LAB_002c522c;\nLAB_002c5340:\n    uVar4 = Stringpool_template<char>::add\n                      ((Stringpool_template<char> *)(this + 0x48),pcVar9,true,local_30);\n    *param_1 = uVar4;\n    local_34 = 0;\n    if ((char *)*param_2 != (char *)0x0) {\n      iVar7 = Stringpool_template<char>::add\n                        ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,&local_34)\n      ;\n      *param_2 = iVar7;\n    }\n    local_48 = 0;\n    local_50 = local_30[0];\n    local_4c = local_34;\n    std::\n    _Hashtable<std::pair<unsigned_int,unsigned_int>,std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>,std::allocator<std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>>,std::__detail::_Select1st,gold::Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>\n              (&local_3c,this + 0x28,0,&local_50);\n    if (uVar6 == 0) {\n      uVar2 = 0;\n      uVar11 = 0;\n    }\n    else {\n      local_4c = 0;\n      local_48 = 0;\n      local_50 = local_30[0];\n      std::\n      _Hashtable<std::pair<unsigned_int,unsigned_int>,std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>,std::allocator<std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>>,std::__detail::_Select1st,gold::Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>\n                (&local_44,this + 0x28,0,&local_50);\n      uVar2 = (uint)local_40;\n      uVar11 = local_44;\n    }\n    uVar10 = (uint)local_38;\n    puVar1 = *(undefined4 **)(local_3c + 0xc);\n    if (uVar10 == 0) {\n      if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x75a,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        uVar2 = uVar6;\n        uVar10 = uVar6;\n        iVar7 = 0;\n      }\n      else {\n        uVar4 = FUN_002b58f0(puVar1);\n        local_50 = uVar11;\n        define_default_version<32,false>(this,uVar4,uVar2,uVar11);\n        uVar11 = 0;\n        uVar2 = 0;\n        iVar7 = 0;\n      }\n    }\n    else {\n      if (puVar1 != (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x768,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n      iVar7 = local_3c;\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        uVar2 = uVar6;\n      }\n      else {\n        uVar10 = uVar2;\n        if ((uVar2 == 0) &&\n           (puVar5 = *(undefined4 **)(uVar11 + 0xc), uVar2 = uVar6, uVar10 = uVar6, puVar5[1] == 0))\n        {\n          uVar11 = 0;\n          *param_7 = 1;\n          uVar2 = 0;\n          puVar1 = puVar5;\n        }\n      }\n    }\nLAB_002c52a8:\n    piVar8 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n    if (piVar8 == (int *)0x0) {\n      pSVar3 = (Sized_symbol *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                          PTR_s_in_a_linker_script_004c191c + 0x3098);\n      return pSVar3;\n    }\n    if (*(char *)(piVar8[1] + 0xc) == '\0') {\n      pSVar3 = (Sized_symbol *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n      (*(code *)PTR_memset_004c5c68)(pSVar3,0,0x30);\n    }\n    else {\n      pSVar3 = (Sized_symbol *)(**(code **)(*piVar8 + 0xa8))(piVar8,*param_1,0,0,0);\n      if (pSVar3 == (Sized_symbol *)0x0) goto LAB_002c544c;\n    }\n    if (uVar10 == 0) {\n      if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n    }\n    else {\n      *(Sized_symbol **)(iVar7 + 0xc) = pSVar3;\n    }\n    if (uVar2 != 0) {\n      *(Sized_symbol **)(uVar11 + 0xc) = pSVar3;\n    }\n    uVar4 = FUN_002b58f0(puVar1);\n    *param_6 = uVar4;\n  }" if (parenthesized_expression "(param_8 == '\0')" ( (binary_expression "param_8 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    uVar6 = 0;\n    if (*param_2 == 0) {\n      uVar6 = Version_script_info::get_symbol_version\n                        (*(Version_script_info **)(this + 0x160),pcVar9,(string *)&local_68,\n                         (bool *)&local_50);\n      if ((uVar6 != 0) && (uVar6 = local_50 >> 0x18, uVar6 != 0)) {\n        if (local_64 == 0) {\n          pcVar9 = (char *)*param_1;\n          uVar6 = 0;\n          goto LAB_002c5224;\n        }\n        *param_2 = (int)local_68;\n      }\n      pcVar9 = (char *)*param_1;\n    }\nLAB_002c5224:\n    if (param_4 == 0) goto LAB_002c5340;\nLAB_002c522c:\n                    /* try { // try from 002c5238 to 002c5693 has its CatchHandler @ 002c5694 */\n    puVar1 = (undefined4 *)lookup(this,pcVar9,(char *)*param_2);\n    if (puVar1 != (undefined4 *)0x0) {\nLAB_002c524c:\n      uVar2 = puVar1[10];\n      if ((uVar2 & 0xe000) != 0) {\n        if ((uVar2 & 0xe000) == 0x8000) goto LAB_002c5288;\n        goto LAB_002c544c;\n      }\n      if (puVar1[3] == 0) {\n        if ((int)(uVar2 << 0x1d) < 0) goto LAB_002c5288;\n        iVar7 = puVar1[2];\n      }\n      else {\n        iVar7 = puVar1[2];\n      }\n      if (-1 < *(int *)(iVar7 + 0x2c)) goto LAB_002c544c;\n      if ((param_5 - 1U < 2) && (-1 < (int)(uVar2 << 0x17))) {\n        pSVar3 = (Sized_symbol *)0x0;\n        goto LAB_002c5450;\n      }\nLAB_002c5288:\n      *param_1 = *puVar1;\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        *param_2 = puVar1[1];\n        uVar2 = 0;\n        uVar10 = 0;\n        iVar7 = 0;\n      }\n      else {\n        iVar7 = Stringpool_template<char>::add\n                          ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,\n                           (uint *)0x0);\n        uVar11 = 0;\n        *param_2 = iVar7;\n        uVar2 = 0;\n        uVar10 = 0;\n        iVar7 = 0;\n      }\n      goto LAB_002c52a8;\n    }\n    if (uVar6 != 0) {\n      puVar1 = (undefined4 *)lookup(this,(char *)*param_1,(char *)0x0);\n      if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)0x0;\n        goto LAB_002c5450;\n      }\n      goto LAB_002c524c;\n    }\nLAB_002c544c:\n    pSVar3 = (Sized_symbol *)0x0;\n  }" { (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (if_statement "if (*param_2 == 0) {\n      uVar6 = Version_script_info::get_symbol_version\n                        (*(Version_script_info **)(this + 0x160),pcVar9,(string *)&local_68,\n                         (bool *)&local_50);\n      if ((uVar6 != 0) && (uVar6 = local_50 >> 0x18, uVar6 != 0)) {\n        if (local_64 == 0) {\n          pcVar9 = (char *)*param_1;\n          uVar6 = 0;\n          goto LAB_002c5224;\n        }\n        *param_2 = (int)local_68;\n      }\n      pcVar9 = (char *)*param_1;\n    }" if (parenthesized_expression "(*param_2 == 0)" ( (binary_expression "*param_2 == 0" (pointer_expression "*param_2" * identifier) == number_literal) )) (compound_statement "{\n      uVar6 = Version_script_info::get_symbol_version\n                        (*(Version_script_info **)(this + 0x160),pcVar9,(string *)&local_68,\n                         (bool *)&local_50);\n      if ((uVar6 != 0) && (uVar6 = local_50 >> 0x18, uVar6 != 0)) {\n        if (local_64 == 0) {\n          pcVar9 = (char *)*param_1;\n          uVar6 = 0;\n          goto LAB_002c5224;\n        }\n        *param_2 = (int)local_68;\n      }\n      pcVar9 = (char *)*param_1;\n    }" { (ERROR "uVar6 = Version_script_info::" (assignment_expression "uVar6 = Version_script_info" identifier = identifier) : :) (expression_statement "get_symbol_version\n                        (*(Version_script_info **)(this + 0x160),pcVar9,(string *)&local_68,\n                         (bool *)&local_50);" (call_expression "get_symbol_version\n                        (*(Version_script_info **)(this + 0x160),pcVar9,(string *)&local_68,\n                         (bool *)&local_50)" identifier (argument_list "(*(Version_script_info **)(this + 0x160),pcVar9,(string *)&local_68,\n                         (bool *)&local_50)" ( (pointer_expression "*(Version_script_info **)(this + 0x160)" * (cast_expression "(Version_script_info **)(this + 0x160)" ( (type_descriptor "Version_script_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x160)" ( (binary_expression "this + 0x160" identifier + number_literal) )))) , identifier , (cast_expression "(string *)&local_68" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_68" & identifier)) , (cast_expression "(bool *)&local_50" ( (type_descriptor "bool *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_50" & identifier)) ))) ;) (if_statement "if ((uVar6 != 0) && (uVar6 = local_50 >> 0x18, uVar6 != 0)) {\n        if (local_64 == 0) {\n          pcVar9 = (char *)*param_1;\n          uVar6 = 0;\n          goto LAB_002c5224;\n        }\n        *param_2 = (int)local_68;\n      }" if (parenthesized_expression "((uVar6 != 0) && (uVar6 = local_50 >> 0x18, uVar6 != 0))" ( (binary_expression "(uVar6 != 0) && (uVar6 = local_50 >> 0x18, uVar6 != 0)" (parenthesized_expression "(uVar6 != 0)" ( (binary_expression "uVar6 != 0" identifier != number_literal) )) && (parenthesized_expression "(uVar6 = local_50 >> 0x18, uVar6 != 0)" ( (comma_expression "uVar6 = local_50 >> 0x18, uVar6 != 0" (assignment_expression "uVar6 = local_50 >> 0x18" identifier = (binary_expression "local_50 >> 0x18" identifier >> number_literal)) , (binary_expression "uVar6 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n        if (local_64 == 0) {\n          pcVar9 = (char *)*param_1;\n          uVar6 = 0;\n          goto LAB_002c5224;\n        }\n        *param_2 = (int)local_68;\n      }" { (if_statement "if (local_64 == 0) {\n          pcVar9 = (char *)*param_1;\n          uVar6 = 0;\n          goto LAB_002c5224;\n        }" if (parenthesized_expression "(local_64 == 0)" ( (binary_expression "local_64 == 0" identifier == number_literal) )) (compound_statement "{\n          pcVar9 = (char *)*param_1;\n          uVar6 = 0;\n          goto LAB_002c5224;\n        }" { (expression_statement "pcVar9 = (char *)*param_1;" (assignment_expression "pcVar9 = (char *)*param_1" identifier = (cast_expression "(char *)*param_1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_1" * identifier))) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_002c5224;" goto statement_identifier ;) })) (expression_statement "*param_2 = (int)local_68;" (assignment_expression "*param_2 = (int)local_68" (pointer_expression "*param_2" * identifier) = (cast_expression "(int)local_68" ( (type_descriptor "int" primitive_type) ) identifier)) ;) })) (expression_statement "pcVar9 = (char *)*param_1;" (assignment_expression "pcVar9 = (char *)*param_1" identifier = (cast_expression "(char *)*param_1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_1" * identifier))) ;) })) (labeled_statement "LAB_002c5224:\n    if (param_4 == 0) goto LAB_002c5340;" statement_identifier : (if_statement "if (param_4 == 0) goto LAB_002c5340;" if (parenthesized_expression "(param_4 == 0)" ( (binary_expression "param_4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_002c5340;" goto statement_identifier ;))) (labeled_statement "LAB_002c522c:\n                    /* try { // try from 002c5238 to 002c5693 has its CatchHandler @ 002c5694 */\n    puVar1 = (undefined4 *)lookup(this,pcVar9,(char *)*param_2);" statement_identifier : comment (expression_statement "puVar1 = (undefined4 *)lookup(this,pcVar9,(char *)*param_2);" (assignment_expression "puVar1 = (undefined4 *)lookup(this,pcVar9,(char *)*param_2)" identifier = (cast_expression "(undefined4 *)lookup(this,pcVar9,(char *)*param_2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "lookup(this,pcVar9,(char *)*param_2)" identifier (argument_list "(this,pcVar9,(char *)*param_2)" ( identifier , identifier , (cast_expression "(char *)*param_2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_2" * identifier)) ))))) ;)) (if_statement "if (puVar1 != (undefined4 *)0x0) {\nLAB_002c524c:\n      uVar2 = puVar1[10];\n      if ((uVar2 & 0xe000) != 0) {\n        if ((uVar2 & 0xe000) == 0x8000) goto LAB_002c5288;\n        goto LAB_002c544c;\n      }\n      if (puVar1[3] == 0) {\n        if ((int)(uVar2 << 0x1d) < 0) goto LAB_002c5288;\n        iVar7 = puVar1[2];\n      }\n      else {\n        iVar7 = puVar1[2];\n      }\n      if (-1 < *(int *)(iVar7 + 0x2c)) goto LAB_002c544c;\n      if ((param_5 - 1U < 2) && (-1 < (int)(uVar2 << 0x17))) {\n        pSVar3 = (Sized_symbol *)0x0;\n        goto LAB_002c5450;\n      }\nLAB_002c5288:\n      *param_1 = *puVar1;\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        *param_2 = puVar1[1];\n        uVar2 = 0;\n        uVar10 = 0;\n        iVar7 = 0;\n      }\n      else {\n        iVar7 = Stringpool_template<char>::add\n                          ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,\n                           (uint *)0x0);\n        uVar11 = 0;\n        *param_2 = iVar7;\n        uVar2 = 0;\n        uVar10 = 0;\n        iVar7 = 0;\n      }\n      goto LAB_002c52a8;\n    }" if (parenthesized_expression "(puVar1 != (undefined4 *)0x0)" ( (binary_expression "puVar1 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_002c524c:\n      uVar2 = puVar1[10];\n      if ((uVar2 & 0xe000) != 0) {\n        if ((uVar2 & 0xe000) == 0x8000) goto LAB_002c5288;\n        goto LAB_002c544c;\n      }\n      if (puVar1[3] == 0) {\n        if ((int)(uVar2 << 0x1d) < 0) goto LAB_002c5288;\n        iVar7 = puVar1[2];\n      }\n      else {\n        iVar7 = puVar1[2];\n      }\n      if (-1 < *(int *)(iVar7 + 0x2c)) goto LAB_002c544c;\n      if ((param_5 - 1U < 2) && (-1 < (int)(uVar2 << 0x17))) {\n        pSVar3 = (Sized_symbol *)0x0;\n        goto LAB_002c5450;\n      }\nLAB_002c5288:\n      *param_1 = *puVar1;\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        *param_2 = puVar1[1];\n        uVar2 = 0;\n        uVar10 = 0;\n        iVar7 = 0;\n      }\n      else {\n        iVar7 = Stringpool_template<char>::add\n                          ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,\n                           (uint *)0x0);\n        uVar11 = 0;\n        *param_2 = iVar7;\n        uVar2 = 0;\n        uVar10 = 0;\n        iVar7 = 0;\n      }\n      goto LAB_002c52a8;\n    }" { (labeled_statement "LAB_002c524c:\n      uVar2 = puVar1[10];" statement_identifier : (expression_statement "uVar2 = puVar1[10];" (assignment_expression "uVar2 = puVar1[10]" identifier = (subscript_expression "puVar1[10]" identifier [ number_literal ])) ;)) (if_statement "if ((uVar2 & 0xe000) != 0) {\n        if ((uVar2 & 0xe000) == 0x8000) goto LAB_002c5288;\n        goto LAB_002c544c;\n      }" if (parenthesized_expression "((uVar2 & 0xe000) != 0)" ( (binary_expression "(uVar2 & 0xe000) != 0" (parenthesized_expression "(uVar2 & 0xe000)" ( (binary_expression "uVar2 & 0xe000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        if ((uVar2 & 0xe000) == 0x8000) goto LAB_002c5288;\n        goto LAB_002c544c;\n      }" { (if_statement "if ((uVar2 & 0xe000) == 0x8000) goto LAB_002c5288;" if (parenthesized_expression "((uVar2 & 0xe000) == 0x8000)" ( (binary_expression "(uVar2 & 0xe000) == 0x8000" (parenthesized_expression "(uVar2 & 0xe000)" ( (binary_expression "uVar2 & 0xe000" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_002c5288;" goto statement_identifier ;)) (goto_statement "goto LAB_002c544c;" goto statement_identifier ;) })) (if_statement "if (puVar1[3] == 0) {\n        if ((int)(uVar2 << 0x1d) < 0) goto LAB_002c5288;\n        iVar7 = puVar1[2];\n      }\n      else {\n        iVar7 = puVar1[2];\n      }" if (parenthesized_expression "(puVar1[3] == 0)" ( (binary_expression "puVar1[3] == 0" (subscript_expression "puVar1[3]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        if ((int)(uVar2 << 0x1d) < 0) goto LAB_002c5288;\n        iVar7 = puVar1[2];\n      }" { (if_statement "if ((int)(uVar2 << 0x1d) < 0) goto LAB_002c5288;" if (parenthesized_expression "((int)(uVar2 << 0x1d) < 0)" ( (binary_expression "(int)(uVar2 << 0x1d) < 0" (cast_expression "(int)(uVar2 << 0x1d)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar2 << 0x1d)" ( (binary_expression "uVar2 << 0x1d" identifier << number_literal) ))) < number_literal) )) (goto_statement "goto LAB_002c5288;" goto statement_identifier ;)) (expression_statement "iVar7 = puVar1[2];" (assignment_expression "iVar7 = puVar1[2]" identifier = (subscript_expression "puVar1[2]" identifier [ number_literal ])) ;) }) (else_clause "else {\n        iVar7 = puVar1[2];\n      }" else (compound_statement "{\n        iVar7 = puVar1[2];\n      }" { (expression_statement "iVar7 = puVar1[2];" (assignment_expression "iVar7 = puVar1[2]" identifier = (subscript_expression "puVar1[2]" identifier [ number_literal ])) ;) }))) (if_statement "if (-1 < *(int *)(iVar7 + 0x2c)) goto LAB_002c544c;" if (parenthesized_expression "(-1 < *(int *)(iVar7 + 0x2c))" ( (binary_expression "-1 < *(int *)(iVar7 + 0x2c)" number_literal < (pointer_expression "*(int *)(iVar7 + 0x2c)" * (cast_expression "(int *)(iVar7 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x2c)" ( (binary_expression "iVar7 + 0x2c" identifier + number_literal) ))))) )) (goto_statement "goto LAB_002c544c;" goto statement_identifier ;)) (if_statement "if ((param_5 - 1U < 2) && (-1 < (int)(uVar2 << 0x17))) {\n        pSVar3 = (Sized_symbol *)0x0;\n        goto LAB_002c5450;\n      }" if (parenthesized_expression "((param_5 - 1U < 2) && (-1 < (int)(uVar2 << 0x17)))" ( (binary_expression "(param_5 - 1U < 2) && (-1 < (int)(uVar2 << 0x17))" (parenthesized_expression "(param_5 - 1U < 2)" ( (binary_expression "param_5 - 1U < 2" (binary_expression "param_5 - 1U" identifier - number_literal) < number_literal) )) && (parenthesized_expression "(-1 < (int)(uVar2 << 0x17))" ( (binary_expression "-1 < (int)(uVar2 << 0x17)" number_literal < (cast_expression "(int)(uVar2 << 0x17)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar2 << 0x17)" ( (binary_expression "uVar2 << 0x17" identifier << number_literal) )))) ))) )) (compound_statement "{\n        pSVar3 = (Sized_symbol *)0x0;\n        goto LAB_002c5450;\n      }" { (expression_statement "pSVar3 = (Sized_symbol *)0x0;" (assignment_expression "pSVar3 = (Sized_symbol *)0x0" identifier = (cast_expression "(Sized_symbol *)0x0" ( (type_descriptor "Sized_symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_002c5450;" goto statement_identifier ;) })) (labeled_statement "LAB_002c5288:\n      *param_1 = *puVar1;" statement_identifier : (expression_statement "*param_1 = *puVar1;" (assignment_expression "*param_1 = *puVar1" (pointer_expression "*param_1" * identifier) = (pointer_expression "*puVar1" * identifier)) ;)) (if_statement "if (uVar6 == 0) {\n        uVar11 = 0;\n        *param_2 = puVar1[1];\n        uVar2 = 0;\n        uVar10 = 0;\n        iVar7 = 0;\n      }\n      else {\n        iVar7 = Stringpool_template<char>::add\n                          ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,\n                           (uint *)0x0);\n        uVar11 = 0;\n        *param_2 = iVar7;\n        uVar2 = 0;\n        uVar10 = 0;\n        iVar7 = 0;\n      }" if (parenthesized_expression "(uVar6 == 0)" ( (binary_expression "uVar6 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar11 = 0;\n        *param_2 = puVar1[1];\n        uVar2 = 0;\n        uVar10 = 0;\n        iVar7 = 0;\n      }" { (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;) (expression_statement "*param_2 = puVar1[1];" (assignment_expression "*param_2 = puVar1[1]" (pointer_expression "*param_2" * identifier) = (subscript_expression "puVar1[1]" identifier [ number_literal ])) ;) (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" identifier = number_literal) ;) (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        iVar7 = Stringpool_template<char>::add\n                          ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,\n                           (uint *)0x0);\n        uVar11 = 0;\n        *param_2 = iVar7;\n        uVar2 = 0;\n        uVar10 = 0;\n        iVar7 = 0;\n      }" else (compound_statement "{\n        iVar7 = Stringpool_template<char>::add\n                          ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,\n                           (uint *)0x0);\n        uVar11 = 0;\n        *param_2 = iVar7;\n        uVar2 = 0;\n        uVar10 = 0;\n        iVar7 = 0;\n      }" { (expression_statement "iVar7 = Stringpool_template<char>::add\n                          ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,\n                           (uint *)0x0);" (assignment_expression "iVar7 = Stringpool_template<char>::add\n                          ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,\n                           (uint *)0x0)" identifier = (binary_expression "Stringpool_template<char>::add\n                          ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,\n                           (uint *)0x0)" (binary_expression "Stringpool_template<char" identifier < identifier) > (ERROR "::" : :) (call_expression "add\n                          ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,\n                           (uint *)0x0)" identifier (argument_list "((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,\n                           (uint *)0x0)" ( (call_expression "(Stringpool_template<char> *)(this + 0x48)" (parenthesized_expression "(Stringpool_template<char> *)" ( (binary_expression "Stringpool_template<char> *" (binary_expression "Stringpool_template<char" identifier < identifier) > (pointer_expression "*" * identifier)) )) (argument_list "(this + 0x48)" ( (binary_expression "this + 0x48" identifier + number_literal) ))) , (cast_expression "(char *)*param_2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_2" * identifier)) , true , (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ))))) ;) (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;) (expression_statement "*param_2 = iVar7;" (assignment_expression "*param_2 = iVar7" (pointer_expression "*param_2" * identifier) = identifier) ;) (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" identifier = number_literal) ;) (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) }))) (goto_statement "goto LAB_002c52a8;" goto statement_identifier ;) })) (if_statement "if (uVar6 != 0) {\n      puVar1 = (undefined4 *)lookup(this,(char *)*param_1,(char *)0x0);\n      if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)0x0;\n        goto LAB_002c5450;\n      }\n      goto LAB_002c524c;\n    }" if (parenthesized_expression "(uVar6 != 0)" ( (binary_expression "uVar6 != 0" identifier != number_literal) )) (compound_statement "{\n      puVar1 = (undefined4 *)lookup(this,(char *)*param_1,(char *)0x0);\n      if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)0x0;\n        goto LAB_002c5450;\n      }\n      goto LAB_002c524c;\n    }" { (expression_statement "puVar1 = (undefined4 *)lookup(this,(char *)*param_1,(char *)0x0);" (assignment_expression "puVar1 = (undefined4 *)lookup(this,(char *)*param_1,(char *)0x0)" identifier = (cast_expression "(undefined4 *)lookup(this,(char *)*param_1,(char *)0x0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "lookup(this,(char *)*param_1,(char *)0x0)" identifier (argument_list "(this,(char *)*param_1,(char *)0x0)" ( identifier , (cast_expression "(char *)*param_1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_1" * identifier)) , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ))))) ;) (if_statement "if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)0x0;\n        goto LAB_002c5450;\n      }" if (parenthesized_expression "(puVar1 == (undefined4 *)0x0)" ( (binary_expression "puVar1 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pSVar3 = (Sized_symbol *)0x0;\n        goto LAB_002c5450;\n      }" { (expression_statement "pSVar3 = (Sized_symbol *)0x0;" (assignment_expression "pSVar3 = (Sized_symbol *)0x0" identifier = (cast_expression "(Sized_symbol *)0x0" ( (type_descriptor "Sized_symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_002c5450;" goto statement_identifier ;) })) (goto_statement "goto LAB_002c524c;" goto statement_identifier ;) })) (labeled_statement "LAB_002c544c:\n    pSVar3 = (Sized_symbol *)0x0;" statement_identifier : (expression_statement "pSVar3 = (Sized_symbol *)0x0;" (assignment_expression "pSVar3 = (Sized_symbol *)0x0" identifier = (cast_expression "(Sized_symbol *)0x0" ( (type_descriptor "Sized_symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) }) (else_clause "else {\n    uVar6 = 0;\n    if (param_4 != 0) goto LAB_002c522c;\nLAB_002c5340:\n    uVar4 = Stringpool_template<char>::add\n                      ((Stringpool_template<char> *)(this + 0x48),pcVar9,true,local_30);\n    *param_1 = uVar4;\n    local_34 = 0;\n    if ((char *)*param_2 != (char *)0x0) {\n      iVar7 = Stringpool_template<char>::add\n                        ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,&local_34)\n      ;\n      *param_2 = iVar7;\n    }\n    local_48 = 0;\n    local_50 = local_30[0];\n    local_4c = local_34;\n    std::\n    _Hashtable<std::pair<unsigned_int,unsigned_int>,std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>,std::allocator<std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>>,std::__detail::_Select1st,gold::Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>\n              (&local_3c,this + 0x28,0,&local_50);\n    if (uVar6 == 0) {\n      uVar2 = 0;\n      uVar11 = 0;\n    }\n    else {\n      local_4c = 0;\n      local_48 = 0;\n      local_50 = local_30[0];\n      std::\n      _Hashtable<std::pair<unsigned_int,unsigned_int>,std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>,std::allocator<std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>>,std::__detail::_Select1st,gold::Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>\n                (&local_44,this + 0x28,0,&local_50);\n      uVar2 = (uint)local_40;\n      uVar11 = local_44;\n    }\n    uVar10 = (uint)local_38;\n    puVar1 = *(undefined4 **)(local_3c + 0xc);\n    if (uVar10 == 0) {\n      if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x75a,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        uVar2 = uVar6;\n        uVar10 = uVar6;\n        iVar7 = 0;\n      }\n      else {\n        uVar4 = FUN_002b58f0(puVar1);\n        local_50 = uVar11;\n        define_default_version<32,false>(this,uVar4,uVar2,uVar11);\n        uVar11 = 0;\n        uVar2 = 0;\n        iVar7 = 0;\n      }\n    }\n    else {\n      if (puVar1 != (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x768,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n      iVar7 = local_3c;\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        uVar2 = uVar6;\n      }\n      else {\n        uVar10 = uVar2;\n        if ((uVar2 == 0) &&\n           (puVar5 = *(undefined4 **)(uVar11 + 0xc), uVar2 = uVar6, uVar10 = uVar6, puVar5[1] == 0))\n        {\n          uVar11 = 0;\n          *param_7 = 1;\n          uVar2 = 0;\n          puVar1 = puVar5;\n        }\n      }\n    }\nLAB_002c52a8:\n    piVar8 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n    if (piVar8 == (int *)0x0) {\n      pSVar3 = (Sized_symbol *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                          PTR_s_in_a_linker_script_004c191c + 0x3098);\n      return pSVar3;\n    }\n    if (*(char *)(piVar8[1] + 0xc) == '\0') {\n      pSVar3 = (Sized_symbol *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n      (*(code *)PTR_memset_004c5c68)(pSVar3,0,0x30);\n    }\n    else {\n      pSVar3 = (Sized_symbol *)(**(code **)(*piVar8 + 0xa8))(piVar8,*param_1,0,0,0);\n      if (pSVar3 == (Sized_symbol *)0x0) goto LAB_002c544c;\n    }\n    if (uVar10 == 0) {\n      if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n    }\n    else {\n      *(Sized_symbol **)(iVar7 + 0xc) = pSVar3;\n    }\n    if (uVar2 != 0) {\n      *(Sized_symbol **)(uVar11 + 0xc) = pSVar3;\n    }\n    uVar4 = FUN_002b58f0(puVar1);\n    *param_6 = uVar4;\n  }" else (compound_statement "{\n    uVar6 = 0;\n    if (param_4 != 0) goto LAB_002c522c;\nLAB_002c5340:\n    uVar4 = Stringpool_template<char>::add\n                      ((Stringpool_template<char> *)(this + 0x48),pcVar9,true,local_30);\n    *param_1 = uVar4;\n    local_34 = 0;\n    if ((char *)*param_2 != (char *)0x0) {\n      iVar7 = Stringpool_template<char>::add\n                        ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,&local_34)\n      ;\n      *param_2 = iVar7;\n    }\n    local_48 = 0;\n    local_50 = local_30[0];\n    local_4c = local_34;\n    std::\n    _Hashtable<std::pair<unsigned_int,unsigned_int>,std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>,std::allocator<std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>>,std::__detail::_Select1st,gold::Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>\n              (&local_3c,this + 0x28,0,&local_50);\n    if (uVar6 == 0) {\n      uVar2 = 0;\n      uVar11 = 0;\n    }\n    else {\n      local_4c = 0;\n      local_48 = 0;\n      local_50 = local_30[0];\n      std::\n      _Hashtable<std::pair<unsigned_int,unsigned_int>,std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>,std::allocator<std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>>,std::__detail::_Select1st,gold::Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>\n                (&local_44,this + 0x28,0,&local_50);\n      uVar2 = (uint)local_40;\n      uVar11 = local_44;\n    }\n    uVar10 = (uint)local_38;\n    puVar1 = *(undefined4 **)(local_3c + 0xc);\n    if (uVar10 == 0) {\n      if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x75a,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        uVar2 = uVar6;\n        uVar10 = uVar6;\n        iVar7 = 0;\n      }\n      else {\n        uVar4 = FUN_002b58f0(puVar1);\n        local_50 = uVar11;\n        define_default_version<32,false>(this,uVar4,uVar2,uVar11);\n        uVar11 = 0;\n        uVar2 = 0;\n        iVar7 = 0;\n      }\n    }\n    else {\n      if (puVar1 != (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x768,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n      iVar7 = local_3c;\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        uVar2 = uVar6;\n      }\n      else {\n        uVar10 = uVar2;\n        if ((uVar2 == 0) &&\n           (puVar5 = *(undefined4 **)(uVar11 + 0xc), uVar2 = uVar6, uVar10 = uVar6, puVar5[1] == 0))\n        {\n          uVar11 = 0;\n          *param_7 = 1;\n          uVar2 = 0;\n          puVar1 = puVar5;\n        }\n      }\n    }\nLAB_002c52a8:\n    piVar8 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n    if (piVar8 == (int *)0x0) {\n      pSVar3 = (Sized_symbol *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                          PTR_s_in_a_linker_script_004c191c + 0x3098);\n      return pSVar3;\n    }\n    if (*(char *)(piVar8[1] + 0xc) == '\0') {\n      pSVar3 = (Sized_symbol *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n      (*(code *)PTR_memset_004c5c68)(pSVar3,0,0x30);\n    }\n    else {\n      pSVar3 = (Sized_symbol *)(**(code **)(*piVar8 + 0xa8))(piVar8,*param_1,0,0,0);\n      if (pSVar3 == (Sized_symbol *)0x0) goto LAB_002c544c;\n    }\n    if (uVar10 == 0) {\n      if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n    }\n    else {\n      *(Sized_symbol **)(iVar7 + 0xc) = pSVar3;\n    }\n    if (uVar2 != 0) {\n      *(Sized_symbol **)(uVar11 + 0xc) = pSVar3;\n    }\n    uVar4 = FUN_002b58f0(puVar1);\n    *param_6 = uVar4;\n  }" { (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (if_statement "if (param_4 != 0) goto LAB_002c522c;" if (parenthesized_expression "(param_4 != 0)" ( (binary_expression "param_4 != 0" identifier != number_literal) )) (goto_statement "goto LAB_002c522c;" goto statement_identifier ;)) (labeled_statement "LAB_002c5340:\n    uVar4 = Stringpool_template<char>::add\n                      ((Stringpool_template<char> *)(this + 0x48),pcVar9,true,local_30);" statement_identifier : (expression_statement "uVar4 = Stringpool_template<char>::add\n                      ((Stringpool_template<char> *)(this + 0x48),pcVar9,true,local_30);" (assignment_expression "uVar4 = Stringpool_template<char>::add\n                      ((Stringpool_template<char> *)(this + 0x48),pcVar9,true,local_30)" identifier = (binary_expression "Stringpool_template<char>::add\n                      ((Stringpool_template<char> *)(this + 0x48),pcVar9,true,local_30)" (binary_expression "Stringpool_template<char" identifier < identifier) > (ERROR "::" : :) (call_expression "add\n                      ((Stringpool_template<char> *)(this + 0x48),pcVar9,true,local_30)" identifier (argument_list "((Stringpool_template<char> *)(this + 0x48),pcVar9,true,local_30)" ( (call_expression "(Stringpool_template<char> *)(this + 0x48)" (parenthesized_expression "(Stringpool_template<char> *)" ( (binary_expression "Stringpool_template<char> *" (binary_expression "Stringpool_template<char" identifier < identifier) > (pointer_expression "*" * identifier)) )) (argument_list "(this + 0x48)" ( (binary_expression "this + 0x48" identifier + number_literal) ))) , identifier , true , identifier ))))) ;)) (expression_statement "*param_1 = uVar4;" (assignment_expression "*param_1 = uVar4" (pointer_expression "*param_1" * identifier) = identifier) ;) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (if_statement "if ((char *)*param_2 != (char *)0x0) {\n      iVar7 = Stringpool_template<char>::add\n                        ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,&local_34)\n      ;\n      *param_2 = iVar7;\n    }" if (parenthesized_expression "((char *)*param_2 != (char *)0x0)" ( (binary_expression "(char *)*param_2 != (char *)0x0" (cast_expression "(char *)*param_2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_2" * identifier)) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      iVar7 = Stringpool_template<char>::add\n                        ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,&local_34)\n      ;\n      *param_2 = iVar7;\n    }" { (expression_statement "iVar7 = Stringpool_template<char>::add\n                        ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,&local_34)\n      ;" (assignment_expression "iVar7 = Stringpool_template<char>::add\n                        ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,&local_34)" identifier = (binary_expression "Stringpool_template<char>::add\n                        ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,&local_34)" (binary_expression "Stringpool_template<char" identifier < identifier) > (ERROR "::" : :) (call_expression "add\n                        ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,&local_34)" identifier (argument_list "((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,&local_34)" ( (call_expression "(Stringpool_template<char> *)(this + 0x48)" (parenthesized_expression "(Stringpool_template<char> *)" ( (binary_expression "Stringpool_template<char> *" (binary_expression "Stringpool_template<char" identifier < identifier) > (pointer_expression "*" * identifier)) )) (argument_list "(this + 0x48)" ( (binary_expression "this + 0x48" identifier + number_literal) ))) , (cast_expression "(char *)*param_2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_2" * identifier)) , true , (pointer_expression "&local_34" & identifier) ))))) ;) (expression_statement "*param_2 = iVar7;" (assignment_expression "*param_2 = iVar7" (pointer_expression "*param_2" * identifier) = identifier) ;) })) (expression_statement "local_48 = 0;" (assignment_expression "local_48 = 0" identifier = number_literal) ;) (expression_statement "local_50 = local_30[0];" (assignment_expression "local_50 = local_30[0]" identifier = (subscript_expression "local_30[0]" identifier [ number_literal ])) ;) (expression_statement "local_4c = local_34;" (assignment_expression "local_4c = local_34" identifier = identifier) ;) (labeled_statement "std::\n    _Hashtable<std::pair<unsigned_int,unsigned_int>,std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>,std::allocator<std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>>,std::__detail::_Select1st,gold::Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>\n              (&local_3c,this + 0x28,0,&local_50);" statement_identifier (ERROR "::\n    _Hashtable<std::pair<unsigned_int,unsigned_int>,std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>,std::allocator<std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>>,std:" : : (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<std" identifier < identifier) : : (comma_expression "pair<unsigned_int,unsigned_int>const,gold" (binary_expression "pair<unsigned_int" identifier < identifier) , (comma_expression "unsigned_int>const,gold" (binary_expression "unsigned_int>const" identifier > identifier) , identifier)) : : (comma_expression "Symbol*>,std" identifier (ERROR "*>" * >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<std" identifier < identifier) : : (comma_expression "pair<unsigned_int,unsigned_int>const,gold" (binary_expression "pair<unsigned_int" identifier < identifier) , (comma_expression "unsigned_int>const,gold" (binary_expression "unsigned_int>const" identifier > identifier) , identifier)) : : (comma_expression "Symbol*>>,std" identifier (ERROR "*>>" * >>) , identifier) :) : (labeled_statement "__detail::_Select1st,gold::Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>\n              (&local_3c,this + 0x28,0,&local_50);" statement_identifier (ERROR "::_Select1st,gold:" : : (comma_expression "_Select1st,gold" identifier , identifier) :) : (labeled_statement "Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>\n              (&local_3c,this + 0x28,0,&local_50);" statement_identifier (ERROR "::Symbol_table_eq,gold:" : : (comma_expression "Symbol_table_eq,gold" identifier , identifier) :) : (labeled_statement "Symbol_table::Symbol_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::Symbol*>>\n              (&local_3c,this + 0x28,0,&local_50);" statement_identifier (ERROR "::Symbol_table_hash,std:" : : (comma_expression "Symbol_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_emplace<std::pair<std::pair<unsigned_int,unsigned_int>,gold::Symbol*>>\n              (&local_3c,this + 0x28,0,&local_50);" 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_emplace<std::pair<std::pair<unsigned_int,unsigned_int>,gold::Symbol*>>\n              (&local_3c,this + 0x28,0,&local_50);" 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_emplace<std::pair<std::pair<unsigned_int,unsigned_int>,gold::Symbol*>>\n              (&local_3c,this + 0x28,0,&local_50);" statement_identifier (ERROR "::_Prime_rehash_policy,std:" : : (comma_expression "_Prime_rehash_policy,std" identifier , identifier) :) : (expression_statement "__detail::_Hashtable_traits<true,false,true>>\n    ::_M_emplace<std::pair<std::pair<unsigned_int,unsigned_int>,gold::Symbol*>>\n              (&local_3c,this + 0x28,0,&local_50);" (binary_expression "__detail::_Hashtable_traits<true,false,true>>\n    ::_M_emplace<std::pair<std::pair<unsigned_int,unsigned_int>,gold::Symbol*>>\n              (&local_3c,this + 0x28,0,&local_50)" identifier (ERROR "::_Hashtable_traits<true,false,true>>\n    ::_M_emplace<std::pair<std::pair<unsigned_int,unsigned_int>,gold::Symbol*" : : (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" false , (binary_expression "true>>\n    ::_M_emplace<std" (binary_expression "true>>\n    ::_M_emplace" true >> (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)) : : identifier *) >> (parenthesized_expression "(&local_3c,this + 0x28,0,&local_50)" ( (comma_expression "&local_3c,this + 0x28,0,&local_50" (pointer_expression "&local_3c" & identifier) , (comma_expression "this + 0x28,0,&local_50" (binary_expression "this + 0x28" identifier + number_literal) , (comma_expression "0,&local_50" number_literal , (pointer_expression "&local_50" & identifier)))) ))) ;)))))))) (if_statement "if (uVar6 == 0) {\n      uVar2 = 0;\n      uVar11 = 0;\n    }\n    else {\n      local_4c = 0;\n      local_48 = 0;\n      local_50 = local_30[0];\n      std::\n      _Hashtable<std::pair<unsigned_int,unsigned_int>,std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>,std::allocator<std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>>,std::__detail::_Select1st,gold::Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>\n                (&local_44,this + 0x28,0,&local_50);\n      uVar2 = (uint)local_40;\n      uVar11 = local_44;\n    }" if (parenthesized_expression "(uVar6 == 0)" ( (binary_expression "uVar6 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar2 = 0;\n      uVar11 = 0;\n    }" { (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" identifier = number_literal) ;) (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      local_4c = 0;\n      local_48 = 0;\n      local_50 = local_30[0];\n      std::\n      _Hashtable<std::pair<unsigned_int,unsigned_int>,std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>,std::allocator<std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>>,std::__detail::_Select1st,gold::Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>\n                (&local_44,this + 0x28,0,&local_50);\n      uVar2 = (uint)local_40;\n      uVar11 = local_44;\n    }" else (compound_statement "{\n      local_4c = 0;\n      local_48 = 0;\n      local_50 = local_30[0];\n      std::\n      _Hashtable<std::pair<unsigned_int,unsigned_int>,std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>,std::allocator<std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>>,std::__detail::_Select1st,gold::Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>\n                (&local_44,this + 0x28,0,&local_50);\n      uVar2 = (uint)local_40;\n      uVar11 = local_44;\n    }" { (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" identifier = number_literal) ;) (expression_statement "local_48 = 0;" (assignment_expression "local_48 = 0" identifier = number_literal) ;) (expression_statement "local_50 = local_30[0];" (assignment_expression "local_50 = local_30[0]" identifier = (subscript_expression "local_30[0]" identifier [ number_literal ])) ;) (labeled_statement "std::\n      _Hashtable<std::pair<unsigned_int,unsigned_int>,std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>,std::allocator<std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>>,std::__detail::_Select1st,gold::Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>\n                (&local_44,this + 0x28,0,&local_50);" statement_identifier (ERROR "::\n      _Hashtable<std::pair<unsigned_int,unsigned_int>,std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>,std::allocator<std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>>,std:" : : (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<std" identifier < identifier) : : (comma_expression "pair<unsigned_int,unsigned_int>const,gold" (binary_expression "pair<unsigned_int" identifier < identifier) , (comma_expression "unsigned_int>const,gold" (binary_expression "unsigned_int>const" identifier > identifier) , identifier)) : : (comma_expression "Symbol*>,std" identifier (ERROR "*>" * >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<std" identifier < identifier) : : (comma_expression "pair<unsigned_int,unsigned_int>const,gold" (binary_expression "pair<unsigned_int" identifier < identifier) , (comma_expression "unsigned_int>const,gold" (binary_expression "unsigned_int>const" identifier > identifier) , identifier)) : : (comma_expression "Symbol*>>,std" identifier (ERROR "*>>" * >>) , identifier) :) : (labeled_statement "__detail::_Select1st,gold::Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>\n                (&local_44,this + 0x28,0,&local_50);" statement_identifier (ERROR "::_Select1st,gold:" : : (comma_expression "_Select1st,gold" identifier , identifier) :) : (labeled_statement "Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>\n                (&local_44,this + 0x28,0,&local_50);" statement_identifier (ERROR "::Symbol_table_eq,gold:" : : (comma_expression "Symbol_table_eq,gold" identifier , identifier) :) : (labeled_statement "Symbol_table::Symbol_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::Symbol*>>\n                (&local_44,this + 0x28,0,&local_50);" statement_identifier (ERROR "::Symbol_table_hash,std:" : : (comma_expression "Symbol_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_emplace<std::pair<std::pair<unsigned_int,unsigned_int>,gold::Symbol*>>\n                (&local_44,this + 0x28,0,&local_50);" 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_emplace<std::pair<std::pair<unsigned_int,unsigned_int>,gold::Symbol*>>\n                (&local_44,this + 0x28,0,&local_50);" 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_emplace<std::pair<std::pair<unsigned_int,unsigned_int>,gold::Symbol*>>\n                (&local_44,this + 0x28,0,&local_50);" statement_identifier (ERROR "::_Prime_rehash_policy,std:" : : (comma_expression "_Prime_rehash_policy,std" identifier , identifier) :) : (expression_statement "__detail::_Hashtable_traits<true,false,true>>\n      ::_M_emplace<std::pair<std::pair<unsigned_int,unsigned_int>,gold::Symbol*>>\n                (&local_44,this + 0x28,0,&local_50);" (binary_expression "__detail::_Hashtable_traits<true,false,true>>\n      ::_M_emplace<std::pair<std::pair<unsigned_int,unsigned_int>,gold::Symbol*>>\n                (&local_44,this + 0x28,0,&local_50)" identifier (ERROR "::_Hashtable_traits<true,false,true>>\n      ::_M_emplace<std::pair<std::pair<unsigned_int,unsigned_int>,gold::Symbol*" : : (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" false , (binary_expression "true>>\n      ::_M_emplace<std" (binary_expression "true>>\n      ::_M_emplace" true >> (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)) : : identifier *) >> (parenthesized_expression "(&local_44,this + 0x28,0,&local_50)" ( (comma_expression "&local_44,this + 0x28,0,&local_50" (pointer_expression "&local_44" & identifier) , (comma_expression "this + 0x28,0,&local_50" (binary_expression "this + 0x28" identifier + number_literal) , (comma_expression "0,&local_50" number_literal , (pointer_expression "&local_50" & identifier)))) ))) ;)))))))) (expression_statement "uVar2 = (uint)local_40;" (assignment_expression "uVar2 = (uint)local_40" identifier = (cast_expression "(uint)local_40" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar11 = local_44;" (assignment_expression "uVar11 = local_44" identifier = identifier) ;) }))) (expression_statement "uVar10 = (uint)local_38;" (assignment_expression "uVar10 = (uint)local_38" identifier = (cast_expression "(uint)local_38" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar1 = *(undefined4 **)(local_3c + 0xc);" (assignment_expression "puVar1 = *(undefined4 **)(local_3c + 0xc)" identifier = (pointer_expression "*(undefined4 **)(local_3c + 0xc)" * (cast_expression "(undefined4 **)(local_3c + 0xc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_3c + 0xc)" ( (binary_expression "local_3c + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (uVar10 == 0) {\n      if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x75a,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        uVar2 = uVar6;\n        uVar10 = uVar6;\n        iVar7 = 0;\n      }\n      else {\n        uVar4 = FUN_002b58f0(puVar1);\n        local_50 = uVar11;\n        define_default_version<32,false>(this,uVar4,uVar2,uVar11);\n        uVar11 = 0;\n        uVar2 = 0;\n        iVar7 = 0;\n      }\n    }\n    else {\n      if (puVar1 != (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x768,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n      iVar7 = local_3c;\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        uVar2 = uVar6;\n      }\n      else {\n        uVar10 = uVar2;\n        if ((uVar2 == 0) &&\n           (puVar5 = *(undefined4 **)(uVar11 + 0xc), uVar2 = uVar6, uVar10 = uVar6, puVar5[1] == 0))\n        {\n          uVar11 = 0;\n          *param_7 = 1;\n          uVar2 = 0;\n          puVar1 = puVar5;\n        }\n      }\n    }" if (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) (compound_statement "{\n      if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x75a,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        uVar2 = uVar6;\n        uVar10 = uVar6;\n        iVar7 = 0;\n      }\n      else {\n        uVar4 = FUN_002b58f0(puVar1);\n        local_50 = uVar11;\n        define_default_version<32,false>(this,uVar4,uVar2,uVar11);\n        uVar11 = 0;\n        uVar2 = 0;\n        iVar7 = 0;\n      }\n    }" { (if_statement "if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x75a,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }" if (parenthesized_expression "(puVar1 == (undefined4 *)0x0)" ( (binary_expression "puVar1 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x75a,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }" { (expression_statement "pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x75a,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);" (assignment_expression "pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x75a,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c)" identifier = (cast_expression "(Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x75a,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c)" ( (type_descriptor "Sized_symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x75a,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_in_a_linker_script_004c191c + 0x24b0,0x75a,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c)" ( (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x24b0" identifier + number_literal) , number_literal , (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x2f4c" identifier + number_literal) ))))) ;) (return_statement "return pSVar3;" return identifier ;) })) (if_statement "if (uVar6 == 0) {\n        uVar11 = 0;\n        uVar2 = uVar6;\n        uVar10 = uVar6;\n        iVar7 = 0;\n      }\n      else {\n        uVar4 = FUN_002b58f0(puVar1);\n        local_50 = uVar11;\n        define_default_version<32,false>(this,uVar4,uVar2,uVar11);\n        uVar11 = 0;\n        uVar2 = 0;\n        iVar7 = 0;\n      }" if (parenthesized_expression "(uVar6 == 0)" ( (binary_expression "uVar6 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar11 = 0;\n        uVar2 = uVar6;\n        uVar10 = uVar6;\n        iVar7 = 0;\n      }" { (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;) (expression_statement "uVar2 = uVar6;" (assignment_expression "uVar2 = uVar6" identifier = identifier) ;) (expression_statement "uVar10 = uVar6;" (assignment_expression "uVar10 = uVar6" identifier = identifier) ;) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        uVar4 = FUN_002b58f0(puVar1);\n        local_50 = uVar11;\n        define_default_version<32,false>(this,uVar4,uVar2,uVar11);\n        uVar11 = 0;\n        uVar2 = 0;\n        iVar7 = 0;\n      }" else (compound_statement "{\n        uVar4 = FUN_002b58f0(puVar1);\n        local_50 = uVar11;\n        define_default_version<32,false>(this,uVar4,uVar2,uVar11);\n        uVar11 = 0;\n        uVar2 = 0;\n        iVar7 = 0;\n      }" { (expression_statement "uVar4 = FUN_002b58f0(puVar1);" (assignment_expression "uVar4 = FUN_002b58f0(puVar1)" identifier = (call_expression "FUN_002b58f0(puVar1)" identifier (argument_list "(puVar1)" ( identifier )))) ;) (expression_statement "local_50 = uVar11;" (assignment_expression "local_50 = uVar11" identifier = identifier) ;) (expression_statement "define_default_version<32,false>(this,uVar4,uVar2,uVar11);" (comma_expression "define_default_version<32,false>(this,uVar4,uVar2,uVar11)" (binary_expression "define_default_version<32" identifier < number_literal) , (binary_expression "false>(this,uVar4,uVar2,uVar11)" false > (parenthesized_expression "(this,uVar4,uVar2,uVar11)" ( (comma_expression "this,uVar4,uVar2,uVar11" identifier , (comma_expression "uVar4,uVar2,uVar11" identifier , (comma_expression "uVar2,uVar11" identifier , identifier))) )))) ;) (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;) (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" identifier = number_literal) ;) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) }))) }) (else_clause "else {\n      if (puVar1 != (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x768,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n      iVar7 = local_3c;\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        uVar2 = uVar6;\n      }\n      else {\n        uVar10 = uVar2;\n        if ((uVar2 == 0) &&\n           (puVar5 = *(undefined4 **)(uVar11 + 0xc), uVar2 = uVar6, uVar10 = uVar6, puVar5[1] == 0))\n        {\n          uVar11 = 0;\n          *param_7 = 1;\n          uVar2 = 0;\n          puVar1 = puVar5;\n        }\n      }\n    }" else (compound_statement "{\n      if (puVar1 != (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x768,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n      iVar7 = local_3c;\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        uVar2 = uVar6;\n      }\n      else {\n        uVar10 = uVar2;\n        if ((uVar2 == 0) &&\n           (puVar5 = *(undefined4 **)(uVar11 + 0xc), uVar2 = uVar6, uVar10 = uVar6, puVar5[1] == 0))\n        {\n          uVar11 = 0;\n          *param_7 = 1;\n          uVar2 = 0;\n          puVar1 = puVar5;\n        }\n      }\n    }" { (if_statement "if (puVar1 != (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x768,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }" if (parenthesized_expression "(puVar1 != (undefined4 *)0x0)" ( (binary_expression "puVar1 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x768,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }" { (expression_statement "pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x768,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);" (assignment_expression "pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x768,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c)" identifier = (cast_expression "(Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x768,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c)" ( (type_descriptor "Sized_symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x768,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_in_a_linker_script_004c191c + 0x24b0,0x768,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c)" ( (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x24b0" identifier + number_literal) , number_literal , (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x2f4c" identifier + number_literal) ))))) ;) (return_statement "return pSVar3;" return identifier ;) })) (expression_statement "iVar7 = local_3c;" (assignment_expression "iVar7 = local_3c" identifier = identifier) ;) (if_statement "if (uVar6 == 0) {\n        uVar11 = 0;\n        uVar2 = uVar6;\n      }\n      else {\n        uVar10 = uVar2;\n        if ((uVar2 == 0) &&\n           (puVar5 = *(undefined4 **)(uVar11 + 0xc), uVar2 = uVar6, uVar10 = uVar6, puVar5[1] == 0))\n        {\n          uVar11 = 0;\n          *param_7 = 1;\n          uVar2 = 0;\n          puVar1 = puVar5;\n        }\n      }" if (parenthesized_expression "(uVar6 == 0)" ( (binary_expression "uVar6 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar11 = 0;\n        uVar2 = uVar6;\n      }" { (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;) (expression_statement "uVar2 = uVar6;" (assignment_expression "uVar2 = uVar6" identifier = identifier) ;) }) (else_clause "else {\n        uVar10 = uVar2;\n        if ((uVar2 == 0) &&\n           (puVar5 = *(undefined4 **)(uVar11 + 0xc), uVar2 = uVar6, uVar10 = uVar6, puVar5[1] == 0))\n        {\n          uVar11 = 0;\n          *param_7 = 1;\n          uVar2 = 0;\n          puVar1 = puVar5;\n        }\n      }" else (compound_statement "{\n        uVar10 = uVar2;\n        if ((uVar2 == 0) &&\n           (puVar5 = *(undefined4 **)(uVar11 + 0xc), uVar2 = uVar6, uVar10 = uVar6, puVar5[1] == 0))\n        {\n          uVar11 = 0;\n          *param_7 = 1;\n          uVar2 = 0;\n          puVar1 = puVar5;\n        }\n      }" { (expression_statement "uVar10 = uVar2;" (assignment_expression "uVar10 = uVar2" identifier = identifier) ;) (if_statement "if ((uVar2 == 0) &&\n           (puVar5 = *(undefined4 **)(uVar11 + 0xc), uVar2 = uVar6, uVar10 = uVar6, puVar5[1] == 0))\n        {\n          uVar11 = 0;\n          *param_7 = 1;\n          uVar2 = 0;\n          puVar1 = puVar5;\n        }" if (parenthesized_expression "((uVar2 == 0) &&\n           (puVar5 = *(undefined4 **)(uVar11 + 0xc), uVar2 = uVar6, uVar10 = uVar6, puVar5[1] == 0))" ( (binary_expression "(uVar2 == 0) &&\n           (puVar5 = *(undefined4 **)(uVar11 + 0xc), uVar2 = uVar6, uVar10 = uVar6, puVar5[1] == 0)" (parenthesized_expression "(uVar2 == 0)" ( (binary_expression "uVar2 == 0" identifier == number_literal) )) && (parenthesized_expression "(puVar5 = *(undefined4 **)(uVar11 + 0xc), uVar2 = uVar6, uVar10 = uVar6, puVar5[1] == 0)" ( (comma_expression "puVar5 = *(undefined4 **)(uVar11 + 0xc), uVar2 = uVar6, uVar10 = uVar6, puVar5[1] == 0" (assignment_expression "puVar5 = *(undefined4 **)(uVar11 + 0xc)" identifier = (pointer_expression "*(undefined4 **)(uVar11 + 0xc)" * (cast_expression "(undefined4 **)(uVar11 + 0xc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(uVar11 + 0xc)" ( (binary_expression "uVar11 + 0xc" identifier + number_literal) ))))) , (comma_expression "uVar2 = uVar6, uVar10 = uVar6, puVar5[1] == 0" (assignment_expression "uVar2 = uVar6" identifier = identifier) , (comma_expression "uVar10 = uVar6, puVar5[1] == 0" (assignment_expression "uVar10 = uVar6" identifier = identifier) , (binary_expression "puVar5[1] == 0" (subscript_expression "puVar5[1]" identifier [ number_literal ]) == number_literal)))) ))) )) (compound_statement "{\n          uVar11 = 0;\n          *param_7 = 1;\n          uVar2 = 0;\n          puVar1 = puVar5;\n        }" { (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" * identifier) = number_literal) ;) (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" identifier = number_literal) ;) (expression_statement "puVar1 = puVar5;" (assignment_expression "puVar1 = puVar5" identifier = identifier) ;) })) }))) }))) (labeled_statement "LAB_002c52a8:\n    piVar8 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);" statement_identifier : (expression_statement "piVar8 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);" (assignment_expression "piVar8 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc)" identifier = (pointer_expression "*(int **)(*(int *)PTR_parameters_004c19b4 + 0xc)" * (cast_expression "(int **)(*(int *)PTR_parameters_004c19b4 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)PTR_parameters_004c19b4 + 0xc)" ( (binary_expression "*(int *)PTR_parameters_004c19b4 + 0xc" (pointer_expression "*(int *)PTR_parameters_004c19b4" * (cast_expression "(int *)PTR_parameters_004c19b4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) ;)) (if_statement "if (piVar8 == (int *)0x0) {\n      pSVar3 = (Sized_symbol *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                          PTR_s_in_a_linker_script_004c191c + 0x3098);\n      return pSVar3;\n    }" if (parenthesized_expression "(piVar8 == (int *)0x0)" ( (binary_expression "piVar8 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pSVar3 = (Sized_symbol *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                          PTR_s_in_a_linker_script_004c191c + 0x3098);\n      return pSVar3;\n    }" { (expression_statement "pSVar3 = (Sized_symbol *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                          PTR_s_in_a_linker_script_004c191c + 0x3098);" (assignment_expression "pSVar3 = (Sized_symbol *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                          PTR_s_in_a_linker_script_004c191c + 0x3098)" identifier = (cast_expression "(Sized_symbol *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                          PTR_s_in_a_linker_script_004c191c + 0x3098)" ( (type_descriptor "Sized_symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                          PTR_s_in_a_linker_script_004c191c + 0x3098)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                          PTR_s_in_a_linker_script_004c191c + 0x3098)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8" identifier + number_literal) , number_literal , (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x3098" identifier + number_literal) ))))) ;) (return_statement "return pSVar3;" return identifier ;) })) (if_statement "if (*(char *)(piVar8[1] + 0xc) == '\0') {\n      pSVar3 = (Sized_symbol *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n      (*(code *)PTR_memset_004c5c68)(pSVar3,0,0x30);\n    }\n    else {\n      pSVar3 = (Sized_symbol *)(**(code **)(*piVar8 + 0xa8))(piVar8,*param_1,0,0,0);\n      if (pSVar3 == (Sized_symbol *)0x0) goto LAB_002c544c;\n    }" if (parenthesized_expression "(*(char *)(piVar8[1] + 0xc) == '\0')" ( (binary_expression "*(char *)(piVar8[1] + 0xc) == '\0'" (pointer_expression "*(char *)(piVar8[1] + 0xc)" * (cast_expression "(char *)(piVar8[1] + 0xc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar8[1] + 0xc)" ( (binary_expression "piVar8[1] + 0xc" (subscript_expression "piVar8[1]" identifier [ number_literal ]) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      pSVar3 = (Sized_symbol *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n      (*(code *)PTR_memset_004c5c68)(pSVar3,0,0x30);\n    }" { (expression_statement "pSVar3 = (Sized_symbol *)(*(code *)PTR_operator_new_004c13a8)(0x38);" (assignment_expression "pSVar3 = (Sized_symbol *)(*(code *)PTR_operator_new_004c13a8)(0x38)" identifier = (cast_expression "(Sized_symbol *)(*(code *)PTR_operator_new_004c13a8)(0x38)" ( (type_descriptor "Sized_symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_operator_new_004c13a8)(0x38)" (parenthesized_expression "(*(code *)PTR_operator_new_004c13a8)" ( (pointer_expression "*(code *)PTR_operator_new_004c13a8" * (cast_expression "(code *)PTR_operator_new_004c13a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x38)" ( number_literal ))))) ;) (expression_statement "(*(code *)PTR_memset_004c5c68)(pSVar3,0,0x30);" (call_expression "(*(code *)PTR_memset_004c5c68)(pSVar3,0,0x30)" (parenthesized_expression "(*(code *)PTR_memset_004c5c68)" ( (pointer_expression "*(code *)PTR_memset_004c5c68" * (cast_expression "(code *)PTR_memset_004c5c68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pSVar3,0,0x30)" ( identifier , number_literal , number_literal ))) ;) }) (else_clause "else {\n      pSVar3 = (Sized_symbol *)(**(code **)(*piVar8 + 0xa8))(piVar8,*param_1,0,0,0);\n      if (pSVar3 == (Sized_symbol *)0x0) goto LAB_002c544c;\n    }" else (compound_statement "{\n      pSVar3 = (Sized_symbol *)(**(code **)(*piVar8 + 0xa8))(piVar8,*param_1,0,0,0);\n      if (pSVar3 == (Sized_symbol *)0x0) goto LAB_002c544c;\n    }" { (expression_statement "pSVar3 = (Sized_symbol *)(**(code **)(*piVar8 + 0xa8))(piVar8,*param_1,0,0,0);" (assignment_expression "pSVar3 = (Sized_symbol *)(**(code **)(*piVar8 + 0xa8))(piVar8,*param_1,0,0,0)" identifier = (cast_expression "(Sized_symbol *)(**(code **)(*piVar8 + 0xa8))(piVar8,*param_1,0,0,0)" ( (type_descriptor "Sized_symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*piVar8 + 0xa8))(piVar8,*param_1,0,0,0)" (parenthesized_expression "(**(code **)(*piVar8 + 0xa8))" ( (pointer_expression "**(code **)(*piVar8 + 0xa8)" * (pointer_expression "*(code **)(*piVar8 + 0xa8)" * (cast_expression "(code **)(*piVar8 + 0xa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar8 + 0xa8)" ( (binary_expression "*piVar8 + 0xa8" (pointer_expression "*piVar8" * identifier) + number_literal) ))))) )) (argument_list "(piVar8,*param_1,0,0,0)" ( identifier , (pointer_expression "*param_1" * identifier) , number_literal , number_literal , number_literal ))))) ;) (if_statement "if (pSVar3 == (Sized_symbol *)0x0) goto LAB_002c544c;" if (parenthesized_expression "(pSVar3 == (Sized_symbol *)0x0)" ( (binary_expression "pSVar3 == (Sized_symbol *)0x0" identifier == (cast_expression "(Sized_symbol *)0x0" ( (type_descriptor "Sized_symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002c544c;" goto statement_identifier ;)) }))) (if_statement "if (uVar10 == 0) {\n      if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n    }\n    else {\n      *(Sized_symbol **)(iVar7 + 0xc) = pSVar3;\n    }" if (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) (compound_statement "{\n      if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n    }" { (if_statement "if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }" if (parenthesized_expression "(puVar1 == (undefined4 *)0x0)" ( (binary_expression "puVar1 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }" { (expression_statement "pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);" (assignment_expression "pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c)" identifier = (cast_expression "(Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c)" ( (type_descriptor "Sized_symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c)" ( (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x24b0" identifier + number_literal) , number_literal , (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x2f4c" identifier + number_literal) ))))) ;) (return_statement "return pSVar3;" return identifier ;) })) }) (else_clause "else {\n      *(Sized_symbol **)(iVar7 + 0xc) = pSVar3;\n    }" else (compound_statement "{\n      *(Sized_symbol **)(iVar7 + 0xc) = pSVar3;\n    }" { (expression_statement "*(Sized_symbol **)(iVar7 + 0xc) = pSVar3;" (assignment_expression "*(Sized_symbol **)(iVar7 + 0xc) = pSVar3" (pointer_expression "*(Sized_symbol **)(iVar7 + 0xc)" * (cast_expression "(Sized_symbol **)(iVar7 + 0xc)" ( (type_descriptor "Sized_symbol **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0xc)" ( (binary_expression "iVar7 + 0xc" identifier + number_literal) )))) = identifier) ;) }))) (if_statement "if (uVar2 != 0) {\n      *(Sized_symbol **)(uVar11 + 0xc) = pSVar3;\n    }" if (parenthesized_expression "(uVar2 != 0)" ( (binary_expression "uVar2 != 0" identifier != number_literal) )) (compound_statement "{\n      *(Sized_symbol **)(uVar11 + 0xc) = pSVar3;\n    }" { (expression_statement "*(Sized_symbol **)(uVar11 + 0xc) = pSVar3;" (assignment_expression "*(Sized_symbol **)(uVar11 + 0xc) = pSVar3" (pointer_expression "*(Sized_symbol **)(uVar11 + 0xc)" * (cast_expression "(Sized_symbol **)(uVar11 + 0xc)" ( (type_descriptor "Sized_symbol **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(uVar11 + 0xc)" ( (binary_expression "uVar11 + 0xc" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "uVar4 = FUN_002b58f0(puVar1);" (assignment_expression "uVar4 = FUN_002b58f0(puVar1)" identifier = (call_expression "FUN_002b58f0(puVar1)" identifier (argument_list "(puVar1)" ( identifier )))) ;) (expression_statement "*param_6 = uVar4;" (assignment_expression "*param_6 = uVar4" (pointer_expression "*param_6" * identifier) = identifier) ;) }))) (labeled_statement "LAB_002c5450:\n  if (local_68 != local_60) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" statement_identifier : (if_statement "if (local_68 != local_60) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" if (parenthesized_expression "(local_68 != local_60)" ( (binary_expression "local_68 != local_60" identifier != identifier) )) (compound_statement "{\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) }))) (return_statement "return pSVar3;" return identifier ;) }))
(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: define_special_symbol<32, false>\n   DWARF original prototype: Sized_symbol<32> * define_special_symbol<32,_false>(Symbol_table *\n   this, char * * pname, char * * pversion, bool only_if_ref, STV visibility, Sized_symbol<32> * *\n   poldsym, bool * resolve_oldsym, bool is_forced_local) */\n\nSized_symbol<32> * __thiscall\ngold::Symbol_table::define_special_symbol<32,_false>\n          (Symbol_table *this,char **pname,char **pversion,bool only_if_ref,STV visibility,\n          Sized_symbol<32> **poldsym,bool *resolve_oldsym,bool is_forced_local)\n\n{\n  undefined3 extraout_var;\n  Symbol_table *this_00;\n  __bucket_type *pp_Var1;\n  Sized_symbol<32> *pSVar2;\n  Sized_symbol<32> *pSVar3;\n  Symbol_table *pSVar4;\n  bool bVar5;\n  Output_segment *pOVar6;\n  int *piVar7;\n  undefined *puVar8;\n  char *pcVar9;\n  Symbol *pSVar10;\n  Symbol *sym;\n  undefined *puVar11;\n  undefined3 in_register_0000001c;\n  uint uVar12;\n  uint uVar13;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *paVar14;\n  uint uVar15;\n  __node_base _Var16;\n  _Node_iterator_base<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_true>\n  pdef;\n  string v;\n  bool is_global;\n  Key local_4c;\n  undefined4 local_48;\n  _Node_iterator_base<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_true>\n  local_44;\n  byte local_40;\n  __node_base local_3c;\n  byte local_38;\n  Key version_key;\n  Key name_key;\n  \n  paVar14 = &v.field_2;\n  v._M_string_length = 0;\n  v.field_2._M_local_buf[0] = '\0';\n  pcVar9 = *pname;\n  *resolve_oldsym = false;\n  *poldsym = (Sized_symbol<32> *)0x0;\n  v._M_dataplus._M_p = (pointer)paVar14;\n  if (!is_forced_local) {\n    uVar12 = 0;\n    if (*pversion == (char *)0x0) {\n      bVar5 = Version_script_info::get_symbol_version(this->version_script_,pcVar9,&v,&is_global);\n      uVar12 = CONCAT31(extraout_var,bVar5);\n      if ((uVar12 != 0) && (uVar12 = (uint)_is_global >> 0x18, uVar12 != 0)) {\n        if (v._M_string_length == 0) {\n          pcVar9 = *pname;\n          uVar12 = 0;\n          goto LAB_002c5224;\n        }\n        *pversion = v._M_dataplus._M_p;\n      }\n      pcVar9 = *pname;\n    }\nLAB_002c5224:\n    if (CONCAT31(in_register_0000001c,only_if_ref) == 0) goto LAB_002c5340;\nLAB_002c522c:\n                    /* try { // try from 002c5238 to 002c5693 has its CatchHandler @ 002c5694 */\n    this_00 = (Symbol_table *)lookup(this,pcVar9,*pversion);\n    if (this_00 != (Symbol_table *)0x0) {\nLAB_002c524c:\n      pp_Var1 = (this_00->table_)._M_h._M_buckets;\n      if (((uint)pp_Var1 & 0xe000) != 0) {\n        if (((uint)pp_Var1 & 0xe000) == 0x8000) goto LAB_002c5288;\n        goto LAB_002c544c;\n      }\n      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n          ((anon_union_4_3_b0f6f408_for_u1_ *)&this_00->offset_ + 1))->shndx == 0) {\n        if ((int)pp_Var1 << 0x1d < 0) goto LAB_002c5288;\n        pOVar6 = ((anon_union_4_3_b0f6f408_for_u1_ *)&this_00->offset_)->output_segment;\n      }\n      else {\n        pOVar6 = ((anon_union_4_3_b0f6f408_for_u1_ *)&this_00->offset_)->output_segment;\n      }\n      if (-1 < (int)pOVar6->output_lists_[3].\n                    super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                    _M_impl._M_end_of_storage) goto LAB_002c544c;\n      if ((visibility - STV_INTERNAL < 2) && (-1 < (int)pp_Var1 << 0x17)) {\n        pSVar2 = (Sized_symbol<32> *)0x0;\n        goto LAB_002c5450;\n      }\nLAB_002c5288:\n      *pname = (char *)this_00->saw_undefined_;\n      if (uVar12 == 0) {\n        pdef._M_cur = (__node_type *)0x0;\n        *pversion = (char *)this_00->first_global_index_;\n        uVar13 = 0;\n        uVar15 = 0;\n        _Var16._M_nxt = (_Hash_node_base *)0x0;\n      }\n      else {\n        pcVar9 = Stringpool_template<char>::add(&this->namepool_,*pversion,true,(Key *)0x0);\n        pdef._M_cur = (__node_type *)0x0;\n        *pversion = pcVar9;\n        uVar13 = 0;\n        uVar15 = 0;\n        _Var16._M_nxt = (_Hash_node_base *)0x0;\n      }\n      goto LAB_002c52a8;\n    }\n    if (uVar12 != 0) {\n      this_00 = (Symbol_table *)lookup(this,*pname,(char *)0x0);\n      if (this_00 == (Symbol_table *)0x0) {\n        pSVar2 = (Sized_symbol<32> *)0x0;\n        goto LAB_002c5450;\n      }\n      goto LAB_002c524c;\n    }\nLAB_002c544c:\n    pSVar2 = (Sized_symbol<32> *)0x0;\nLAB_002c5450:\n    if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)v._M_dataplus._M_p != paVar14) {\n      (*(code *)PTR_operator_delete_004c12fc)();\n    }\n    return pSVar2;\n  }\n  uVar12 = 0;\n  if (CONCAT31(in_register_0000001c,only_if_ref) != 0) goto LAB_002c522c;\nLAB_002c5340:\n  pcVar9 = Stringpool_template<char>::add(&this->namepool_,pcVar9,true,&name_key);\n  *pname = pcVar9;\n  version_key = 0;\n  if (*pversion != (char *)0x0) {\n    pcVar9 = Stringpool_template<char>::add(&this->namepool_,*pversion,true,&version_key);\n    *pversion = pcVar9;\n  }\n  sym = (Symbol *)&this->table_;\n  local_48 = 0;\n  _is_global = (__node_type *)name_key;\n  pSVar10 = sym;\n  local_4c = version_key;\n  std::\n  _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>,_std::__detail::_Select1st,_gold::Symbol_table::Symbol_table_eq,_gold::Symbol_table::Symbol_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::Symbol*>_>\n            ((_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>,_std::__detail::_Select1st,_gold::Symbol_table::Symbol_table_eq,_gold::Symbol_table::Symbol_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              *)&stack0xffffffc4,sym,0,&is_global);\n  if (uVar12 == 0) {\n    uVar13 = 0;\n    sym = pSVar10;\n    pdef._M_cur = (__node_type *)0x0;\n  }\n  else {\n    local_4c = 0;\n    local_48 = 0;\n    _is_global = (__node_type *)name_key;\n    std::\n    _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>,_std::__detail::_Select1st,_gold::Symbol_table::Symbol_table_eq,_gold::Symbol_table::Symbol_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::Symbol*>_>\n              ((_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>,_std::__detail::_Select1st,_gold::Symbol_table::Symbol_table_eq,_gold::Symbol_table::Symbol_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                *)&stack0xffffffbc,sym,0,&is_global);\n    uVar13 = (uint)local_40;\n    pdef._M_cur = local_44._M_cur;\n  }\n  uVar15 = (uint)local_38;\n  this_00 = (Symbol_table *)local_3c._M_nxt[3]._M_nxt;\n  if (uVar15 == 0) {\n    puVar11 = PTR_s_in_a_linker_script_004c191c;\n    if (this_00 != (Symbol_table *)0x0) {\n      if (uVar12 == 0) {\n        pdef._M_cur = (__node_type *)0x0;\n        uVar13 = uVar12;\n        uVar15 = uVar12;\n        _Var16._M_nxt = (_Hash_node_base *)0x0;\n      }\n      else {\n        pSVar2 = get_sized_symbol<32>(this_00,sym);\n        _is_global = pdef._M_cur;\n        define_default_version<32,_false>(this,pSVar2,SUB41(uVar13,0),(iterator)pdef._M_cur);\n        pdef._M_cur = (__node_type *)0x0;\n        uVar13 = 0;\n        _Var16._M_nxt = (_Hash_node_base *)0x0;\n      }\n      goto LAB_002c52a8;\n    }\n  }\n  else {\n    puVar11 = PTR_s_in_a_linker_script_004c191c;\n    if (this_00 != (Symbol_table *)0x0) goto LAB_002c567c;\n    _Var16._M_nxt = local_3c._M_nxt;\n    if (uVar12 == 0) {\n      pdef._M_cur = (__node_type *)0x0;\n      uVar13 = uVar12;\n    }\n    else {\n      uVar15 = uVar13;\n      if ((uVar13 == 0) &&\n         (pSVar4 = *(Symbol_table **)((int)pdef._M_cur + 0xc), uVar13 = uVar12, uVar15 = uVar12,\n         pSVar4->first_global_index_ == 0)) {\n        pdef._M_cur = (__node_type *)0x0;\n        *resolve_oldsym = true;\n        uVar13 = 0;\n        this_00 = pSVar4;\n      }\n    }\nLAB_002c52a8:\n    piVar7 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n    if (piVar7 != (int *)0x0) {\n      if (*(char *)(piVar7[1] + 0xc) == '\0') goto LAB_002c55b0;\n      pSVar10 = (Symbol *)*pname;\n      pSVar2 = (Sized_symbol<32> *)(**(code **)(*piVar7 + 0xa8))(piVar7,pSVar10,0,0,0);\n      if (pSVar2 != (Sized_symbol<32> *)0x0) {\n        while (uVar15 == 0) {\n          pSVar10 = (Symbol *)&DAT_00000794;\n          if (this_00 != (Symbol_table *)0x0) goto LAB_002c530c;\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,\n                     PTR_s_in_a_linker_script_004c191c + 0x2f4c);\nLAB_002c55b0:\n          pSVar2 = (Sized_symbol<32> *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n          pSVar10 = (Symbol *)0x0;\n          (*(code *)PTR_memset_004c5c68)(pSVar2,0,0x30);\n        }\n        _Var16._M_nxt[3]._M_nxt = (_Hash_node_base *)pSVar2;\nLAB_002c530c:\n        if (uVar13 != 0) {\n          *(Sized_symbol<32> **)\n           ((int)&((pdef._M_cur)->\n                  super__Hash_node_value_base<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>\n                  )._M_storage._M_storage + 8) = pSVar2;\n        }\n        pSVar3 = get_sized_symbol<32>(this_00,pSVar10);\n        *poldsym = pSVar3;\n        goto LAB_002c5450;\n      }\n      goto LAB_002c544c;\n    }\n    puVar11 = PTR_s_in_a_linker_script_004c191c + 0x3098;\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,puVar11);\n  }\n  puVar11 = puVar11 + 0x2f4c;\n  (*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x75a,puVar11);\nLAB_002c567c:\n  puVar8 = PTR_s_in_a_linker_script_004c191c + 0x24b0;\n  (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar8,0x768,puVar11 + 0x2f4c);\n                    /* catch() { ... } // from try @ 002c5238 with catch @ 002c5694 */\n  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)v._M_dataplus._M_p != paVar14) {\n    (*(code *)PTR_operator_delete_004c12fc)(v._M_dataplus._M_p);\n  }\n  pSVar2 = (Sized_symbol<32> *)(*(code *)PTR__Unwind_Resume_004c12c8)(puVar8);\n  return pSVar2;\n}\n\n" comment comment comment (ERROR "Sized_symbol<32> * __thiscall\ngold::Symbol_table::define_special_symbol<32,_false>\n          (Symbol_table *this,char **pname,char **pversion,bool only_if_ref,STV visibility,\n          Sized_symbol<32> **poldsym,bool *resolve_oldsym,bool is_forced_local)" (binary_expression "Sized_symbol<32> * __thiscall\ngold::Symbol_table::define_special_symbol<32,_false>\n          (Symbol_table *this,char **pname,char **pversion,bool only_if_ref,STV visibility,\n          Sized_symbol<32> **poldsym,bool *resolve_oldsym,bool is_forced_local)" (binary_expression "Sized_symbol<32> * __thiscall\ngold::Symbol_table::define_special_symbol<32" (binary_expression "Sized_symbol<32> * __thiscall" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "* __thiscall" * identifier)) (ERROR "gold::Symbol_table::define_special_symbol" identifier : : identifier : : identifier) < number_literal) (ERROR ",_false" , identifier) > (parenthesized_expression "(Symbol_table *this,char **pname,char **pversion,bool only_if_ref,STV visibility,\n          Sized_symbol<32> **poldsym,bool *resolve_oldsym,bool is_forced_local)" ( (comma_expression "Symbol_table *this,char **pname,char **pversion,bool only_if_ref,STV visibility,\n          Sized_symbol<32> **poldsym,bool *resolve_oldsym,bool is_forced_local" (binary_expression "Symbol_table *this" identifier * identifier) , (comma_expression "char **pname,char **pversion,bool only_if_ref,STV visibility,\n          Sized_symbol<32> **poldsym,bool *resolve_oldsym,bool is_forced_local" (binary_expression "char **pname" identifier * (pointer_expression "*pname" * identifier)) , (comma_expression "char **pversion,bool only_if_ref,STV visibility,\n          Sized_symbol<32> **poldsym,bool *resolve_oldsym,bool is_forced_local" (binary_expression "char **pversion" identifier * (pointer_expression "*pversion" * identifier)) , (ERROR "bool" identifier) (comma_expression "only_if_ref,STV visibility,\n          Sized_symbol<32> **poldsym,bool *resolve_oldsym,bool is_forced_local" identifier , (ERROR "STV" identifier) (comma_expression "visibility,\n          Sized_symbol<32> **poldsym,bool *resolve_oldsym,bool is_forced_local" identifier , (comma_expression "Sized_symbol<32> **poldsym,bool *resolve_oldsym,bool is_forced_local" (binary_expression "Sized_symbol<32> **poldsym" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "**poldsym" * (pointer_expression "*poldsym" * identifier))) , (comma_expression "bool *resolve_oldsym,bool is_forced_local" (binary_expression "bool *resolve_oldsym" identifier * identifier) , (ERROR "bool" identifier) identifier))))))) )))) (compound_statement "{\n  undefined3 extraout_var;\n  Symbol_table *this_00;\n  __bucket_type *pp_Var1;\n  Sized_symbol<32> *pSVar2;\n  Sized_symbol<32> *pSVar3;\n  Symbol_table *pSVar4;\n  bool bVar5;\n  Output_segment *pOVar6;\n  int *piVar7;\n  undefined *puVar8;\n  char *pcVar9;\n  Symbol *pSVar10;\n  Symbol *sym;\n  undefined *puVar11;\n  undefined3 in_register_0000001c;\n  uint uVar12;\n  uint uVar13;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *paVar14;\n  uint uVar15;\n  __node_base _Var16;\n  _Node_iterator_base<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_true>\n  pdef;\n  string v;\n  bool is_global;\n  Key local_4c;\n  undefined4 local_48;\n  _Node_iterator_base<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_true>\n  local_44;\n  byte local_40;\n  __node_base local_3c;\n  byte local_38;\n  Key version_key;\n  Key name_key;\n  \n  paVar14 = &v.field_2;\n  v._M_string_length = 0;\n  v.field_2._M_local_buf[0] = '\0';\n  pcVar9 = *pname;\n  *resolve_oldsym = false;\n  *poldsym = (Sized_symbol<32> *)0x0;\n  v._M_dataplus._M_p = (pointer)paVar14;\n  if (!is_forced_local) {\n    uVar12 = 0;\n    if (*pversion == (char *)0x0) {\n      bVar5 = Version_script_info::get_symbol_version(this->version_script_,pcVar9,&v,&is_global);\n      uVar12 = CONCAT31(extraout_var,bVar5);\n      if ((uVar12 != 0) && (uVar12 = (uint)_is_global >> 0x18, uVar12 != 0)) {\n        if (v._M_string_length == 0) {\n          pcVar9 = *pname;\n          uVar12 = 0;\n          goto LAB_002c5224;\n        }\n        *pversion = v._M_dataplus._M_p;\n      }\n      pcVar9 = *pname;\n    }\nLAB_002c5224:\n    if (CONCAT31(in_register_0000001c,only_if_ref) == 0) goto LAB_002c5340;\nLAB_002c522c:\n                    /* try { // try from 002c5238 to 002c5693 has its CatchHandler @ 002c5694 */\n    this_00 = (Symbol_table *)lookup(this,pcVar9,*pversion);\n    if (this_00 != (Symbol_table *)0x0) {\nLAB_002c524c:\n      pp_Var1 = (this_00->table_)._M_h._M_buckets;\n      if (((uint)pp_Var1 & 0xe000) != 0) {\n        if (((uint)pp_Var1 & 0xe000) == 0x8000) goto LAB_002c5288;\n        goto LAB_002c544c;\n      }\n      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n          ((anon_union_4_3_b0f6f408_for_u1_ *)&this_00->offset_ + 1))->shndx == 0) {\n        if ((int)pp_Var1 << 0x1d < 0) goto LAB_002c5288;\n        pOVar6 = ((anon_union_4_3_b0f6f408_for_u1_ *)&this_00->offset_)->output_segment;\n      }\n      else {\n        pOVar6 = ((anon_union_4_3_b0f6f408_for_u1_ *)&this_00->offset_)->output_segment;\n      }\n      if (-1 < (int)pOVar6->output_lists_[3].\n                    super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                    _M_impl._M_end_of_storage) goto LAB_002c544c;\n      if ((visibility - STV_INTERNAL < 2) && (-1 < (int)pp_Var1 << 0x17)) {\n        pSVar2 = (Sized_symbol<32> *)0x0;\n        goto LAB_002c5450;\n      }\nLAB_002c5288:\n      *pname = (char *)this_00->saw_undefined_;\n      if (uVar12 == 0) {\n        pdef._M_cur = (__node_type *)0x0;\n        *pversion = (char *)this_00->first_global_index_;\n        uVar13 = 0;\n        uVar15 = 0;\n        _Var16._M_nxt = (_Hash_node_base *)0x0;\n      }\n      else {\n        pcVar9 = Stringpool_template<char>::add(&this->namepool_,*pversion,true,(Key *)0x0);\n        pdef._M_cur = (__node_type *)0x0;\n        *pversion = pcVar9;\n        uVar13 = 0;\n        uVar15 = 0;\n        _Var16._M_nxt = (_Hash_node_base *)0x0;\n      }\n      goto LAB_002c52a8;\n    }\n    if (uVar12 != 0) {\n      this_00 = (Symbol_table *)lookup(this,*pname,(char *)0x0);\n      if (this_00 == (Symbol_table *)0x0) {\n        pSVar2 = (Sized_symbol<32> *)0x0;\n        goto LAB_002c5450;\n      }\n      goto LAB_002c524c;\n    }\nLAB_002c544c:\n    pSVar2 = (Sized_symbol<32> *)0x0;\nLAB_002c5450:\n    if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)v._M_dataplus._M_p != paVar14) {\n      (*(code *)PTR_operator_delete_004c12fc)();\n    }\n    return pSVar2;\n  }\n  uVar12 = 0;\n  if (CONCAT31(in_register_0000001c,only_if_ref) != 0) goto LAB_002c522c;\nLAB_002c5340:\n  pcVar9 = Stringpool_template<char>::add(&this->namepool_,pcVar9,true,&name_key);\n  *pname = pcVar9;\n  version_key = 0;\n  if (*pversion != (char *)0x0) {\n    pcVar9 = Stringpool_template<char>::add(&this->namepool_,*pversion,true,&version_key);\n    *pversion = pcVar9;\n  }\n  sym = (Symbol *)&this->table_;\n  local_48 = 0;\n  _is_global = (__node_type *)name_key;\n  pSVar10 = sym;\n  local_4c = version_key;\n  std::\n  _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>,_std::__detail::_Select1st,_gold::Symbol_table::Symbol_table_eq,_gold::Symbol_table::Symbol_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::Symbol*>_>\n            ((_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>,_std::__detail::_Select1st,_gold::Symbol_table::Symbol_table_eq,_gold::Symbol_table::Symbol_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              *)&stack0xffffffc4,sym,0,&is_global);\n  if (uVar12 == 0) {\n    uVar13 = 0;\n    sym = pSVar10;\n    pdef._M_cur = (__node_type *)0x0;\n  }\n  else {\n    local_4c = 0;\n    local_48 = 0;\n    _is_global = (__node_type *)name_key;\n    std::\n    _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>,_std::__detail::_Select1st,_gold::Symbol_table::Symbol_table_eq,_gold::Symbol_table::Symbol_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::Symbol*>_>\n              ((_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>,_std::__detail::_Select1st,_gold::Symbol_table::Symbol_table_eq,_gold::Symbol_table::Symbol_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                *)&stack0xffffffbc,sym,0,&is_global);\n    uVar13 = (uint)local_40;\n    pdef._M_cur = local_44._M_cur;\n  }\n  uVar15 = (uint)local_38;\n  this_00 = (Symbol_table *)local_3c._M_nxt[3]._M_nxt;\n  if (uVar15 == 0) {\n    puVar11 = PTR_s_in_a_linker_script_004c191c;\n    if (this_00 != (Symbol_table *)0x0) {\n      if (uVar12 == 0) {\n        pdef._M_cur = (__node_type *)0x0;\n        uVar13 = uVar12;\n        uVar15 = uVar12;\n        _Var16._M_nxt = (_Hash_node_base *)0x0;\n      }\n      else {\n        pSVar2 = get_sized_symbol<32>(this_00,sym);\n        _is_global = pdef._M_cur;\n        define_default_version<32,_false>(this,pSVar2,SUB41(uVar13,0),(iterator)pdef._M_cur);\n        pdef._M_cur = (__node_type *)0x0;\n        uVar13 = 0;\n        _Var16._M_nxt = (_Hash_node_base *)0x0;\n      }\n      goto LAB_002c52a8;\n    }\n  }\n  else {\n    puVar11 = PTR_s_in_a_linker_script_004c191c;\n    if (this_00 != (Symbol_table *)0x0) goto LAB_002c567c;\n    _Var16._M_nxt = local_3c._M_nxt;\n    if (uVar12 == 0) {\n      pdef._M_cur = (__node_type *)0x0;\n      uVar13 = uVar12;\n    }\n    else {\n      uVar15 = uVar13;\n      if ((uVar13 == 0) &&\n         (pSVar4 = *(Symbol_table **)((int)pdef._M_cur + 0xc), uVar13 = uVar12, uVar15 = uVar12,\n         pSVar4->first_global_index_ == 0)) {\n        pdef._M_cur = (__node_type *)0x0;\n        *resolve_oldsym = true;\n        uVar13 = 0;\n        this_00 = pSVar4;\n      }\n    }\nLAB_002c52a8:\n    piVar7 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n    if (piVar7 != (int *)0x0) {\n      if (*(char *)(piVar7[1] + 0xc) == '\0') goto LAB_002c55b0;\n      pSVar10 = (Symbol *)*pname;\n      pSVar2 = (Sized_symbol<32> *)(**(code **)(*piVar7 + 0xa8))(piVar7,pSVar10,0,0,0);\n      if (pSVar2 != (Sized_symbol<32> *)0x0) {\n        while (uVar15 == 0) {\n          pSVar10 = (Symbol *)&DAT_00000794;\n          if (this_00 != (Symbol_table *)0x0) goto LAB_002c530c;\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,\n                     PTR_s_in_a_linker_script_004c191c + 0x2f4c);\nLAB_002c55b0:\n          pSVar2 = (Sized_symbol<32> *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n          pSVar10 = (Symbol *)0x0;\n          (*(code *)PTR_memset_004c5c68)(pSVar2,0,0x30);\n        }\n        _Var16._M_nxt[3]._M_nxt = (_Hash_node_base *)pSVar2;\nLAB_002c530c:\n        if (uVar13 != 0) {\n          *(Sized_symbol<32> **)\n           ((int)&((pdef._M_cur)->\n                  super__Hash_node_value_base<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>\n                  )._M_storage._M_storage + 8) = pSVar2;\n        }\n        pSVar3 = get_sized_symbol<32>(this_00,pSVar10);\n        *poldsym = pSVar3;\n        goto LAB_002c5450;\n      }\n      goto LAB_002c544c;\n    }\n    puVar11 = PTR_s_in_a_linker_script_004c191c + 0x3098;\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,puVar11);\n  }\n  puVar11 = puVar11 + 0x2f4c;\n  (*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x75a,puVar11);\nLAB_002c567c:\n  puVar8 = PTR_s_in_a_linker_script_004c191c + 0x24b0;\n  (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar8,0x768,puVar11 + 0x2f4c);\n                    /* catch() { ... } // from try @ 002c5238 with catch @ 002c5694 */\n  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)v._M_dataplus._M_p != paVar14) {\n    (*(code *)PTR_operator_delete_004c12fc)(v._M_dataplus._M_p);\n  }\n  pSVar2 = (Sized_symbol<32> *)(*(code *)PTR__Unwind_Resume_004c12c8)(puVar8);\n  return pSVar2;\n}" { (declaration "undefined3 extraout_var;" type_identifier identifier ;) (declaration "Symbol_table *this_00;" type_identifier (pointer_declarator "*this_00" * identifier) ;) (declaration "__bucket_type *pp_Var1;" type_identifier (pointer_declarator "*pp_Var1" * identifier) ;) (expression_statement "Sized_symbol<32> *pSVar2;" (binary_expression "Sized_symbol<32> *pSVar2" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "*pSVar2" * identifier)) ;) (expression_statement "Sized_symbol<32> *pSVar3;" (binary_expression "Sized_symbol<32> *pSVar3" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "*pSVar3" * identifier)) ;) (declaration "Symbol_table *pSVar4;" type_identifier (pointer_declarator "*pSVar4" * identifier) ;) (declaration "bool bVar5;" primitive_type identifier ;) (declaration "Output_segment *pOVar6;" type_identifier (pointer_declarator "*pOVar6" * identifier) ;) (declaration "int *piVar7;" primitive_type (pointer_declarator "*piVar7" * identifier) ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "Symbol *pSVar10;" type_identifier (pointer_declarator "*pSVar10" * identifier) ;) (declaration "Symbol *sym;" type_identifier (pointer_declarator "*sym" * identifier) ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "undefined3 in_register_0000001c;" type_identifier identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (expression_statement "allocator<char>_>_9\n  *paVar14;" (binary_expression "allocator<char>_>_9\n  *paVar14" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n  *paVar14" identifier * identifier)) ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "__node_base _Var16;" type_identifier identifier ;) (ERROR "_Node_iterator_base<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::" (comma_expression "_Node_iterator_base<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold" (binary_expression "_Node_iterator_base<std::pair<const_std::pair<unsigned_int" (binary_expression "_Node_iterator_base<std::pair<const_std" (binary_expression "_Node_iterator_base<std" identifier < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_unsigned_int>,_gold" identifier > (ERROR "," ,) identifier)) : :) (expression_statement "Symbol*>,_true>\n  pdef;" (binary_expression "Symbol*>,_true>\n  pdef" (binary_expression "Symbol*>,_true" identifier * (ERROR ">," > ,) identifier) > identifier) ;) (declaration "string v;" type_identifier identifier ;) (declaration "bool is_global;" primitive_type identifier ;) (declaration "Key local_4c;" type_identifier identifier ;) (declaration "undefined4 local_48;" type_identifier identifier ;) (ERROR "_Node_iterator_base<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::" (comma_expression "_Node_iterator_base<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold" (binary_expression "_Node_iterator_base<std::pair<const_std::pair<unsigned_int" (binary_expression "_Node_iterator_base<std::pair<const_std" (binary_expression "_Node_iterator_base<std" identifier < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_unsigned_int>,_gold" identifier > (ERROR "," ,) identifier)) : :) (expression_statement "Symbol*>,_true>\n  local_44;" (binary_expression "Symbol*>,_true>\n  local_44" (binary_expression "Symbol*>,_true" identifier * (ERROR ">," > ,) identifier) > identifier) ;) (declaration "byte local_40;" type_identifier identifier ;) (declaration "__node_base local_3c;" type_identifier identifier ;) (declaration "byte local_38;" type_identifier identifier ;) (declaration "Key version_key;" type_identifier identifier ;) (declaration "Key name_key;" type_identifier identifier ;) (expression_statement "paVar14 = &v.field_2;" (assignment_expression "paVar14 = &v.field_2" identifier = (pointer_expression "&v.field_2" & (field_expression "v.field_2" identifier . field_identifier))) ;) (expression_statement "v._M_string_length = 0;" (assignment_expression "v._M_string_length = 0" (field_expression "v._M_string_length" identifier . field_identifier) = number_literal) ;) (expression_statement "v.field_2._M_local_buf[0] = '\0';" (assignment_expression "v.field_2._M_local_buf[0] = '\0'" (subscript_expression "v.field_2._M_local_buf[0]" (field_expression "v.field_2._M_local_buf" (field_expression "v.field_2" identifier . field_identifier) . field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar9 = *pname;" (assignment_expression "pcVar9 = *pname" identifier = (pointer_expression "*pname" * identifier)) ;) (expression_statement "*resolve_oldsym = false;" (assignment_expression "*resolve_oldsym = false" (pointer_expression "*resolve_oldsym" * identifier) = false) ;) (expression_statement "*poldsym = (Sized_symbol<32> *)0x0;" (assignment_expression "*poldsym = (Sized_symbol<32> *)0x0" (pointer_expression "*poldsym" * identifier) = (parenthesized_expression "(Sized_symbol<32> *)0x0" ( (binary_expression "Sized_symbol<32> *)0x0" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) ))) ;) (expression_statement "v._M_dataplus._M_p = (pointer)paVar14;" (assignment_expression "v._M_dataplus._M_p = (pointer)paVar14" (field_expression "v._M_dataplus._M_p" (field_expression "v._M_dataplus" identifier . field_identifier) . field_identifier) = (cast_expression "(pointer)paVar14" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) (if_statement "if (!is_forced_local) {\n    uVar12 = 0;\n    if (*pversion == (char *)0x0) {\n      bVar5 = Version_script_info::get_symbol_version(this->version_script_,pcVar9,&v,&is_global);\n      uVar12 = CONCAT31(extraout_var,bVar5);\n      if ((uVar12 != 0) && (uVar12 = (uint)_is_global >> 0x18, uVar12 != 0)) {\n        if (v._M_string_length == 0) {\n          pcVar9 = *pname;\n          uVar12 = 0;\n          goto LAB_002c5224;\n        }\n        *pversion = v._M_dataplus._M_p;\n      }\n      pcVar9 = *pname;\n    }\nLAB_002c5224:\n    if (CONCAT31(in_register_0000001c,only_if_ref) == 0) goto LAB_002c5340;\nLAB_002c522c:\n                    /* try { // try from 002c5238 to 002c5693 has its CatchHandler @ 002c5694 */\n    this_00 = (Symbol_table *)lookup(this,pcVar9,*pversion);\n    if (this_00 != (Symbol_table *)0x0) {\nLAB_002c524c:\n      pp_Var1 = (this_00->table_)._M_h._M_buckets;\n      if (((uint)pp_Var1 & 0xe000) != 0) {\n        if (((uint)pp_Var1 & 0xe000) == 0x8000) goto LAB_002c5288;\n        goto LAB_002c544c;\n      }\n      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n          ((anon_union_4_3_b0f6f408_for_u1_ *)&this_00->offset_ + 1))->shndx == 0) {\n        if ((int)pp_Var1 << 0x1d < 0) goto LAB_002c5288;\n        pOVar6 = ((anon_union_4_3_b0f6f408_for_u1_ *)&this_00->offset_)->output_segment;\n      }\n      else {\n        pOVar6 = ((anon_union_4_3_b0f6f408_for_u1_ *)&this_00->offset_)->output_segment;\n      }\n      if (-1 < (int)pOVar6->output_lists_[3].\n                    super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                    _M_impl._M_end_of_storage) goto LAB_002c544c;\n      if ((visibility - STV_INTERNAL < 2) && (-1 < (int)pp_Var1 << 0x17)) {\n        pSVar2 = (Sized_symbol<32> *)0x0;\n        goto LAB_002c5450;\n      }\nLAB_002c5288:\n      *pname = (char *)this_00->saw_undefined_;\n      if (uVar12 == 0) {\n        pdef._M_cur = (__node_type *)0x0;\n        *pversion = (char *)this_00->first_global_index_;\n        uVar13 = 0;\n        uVar15 = 0;\n        _Var16._M_nxt = (_Hash_node_base *)0x0;\n      }\n      else {\n        pcVar9 = Stringpool_template<char>::add(&this->namepool_,*pversion,true,(Key *)0x0);\n        pdef._M_cur = (__node_type *)0x0;\n        *pversion = pcVar9;\n        uVar13 = 0;\n        uVar15 = 0;\n        _Var16._M_nxt = (_Hash_node_base *)0x0;\n      }\n      goto LAB_002c52a8;\n    }\n    if (uVar12 != 0) {\n      this_00 = (Symbol_table *)lookup(this,*pname,(char *)0x0);\n      if (this_00 == (Symbol_table *)0x0) {\n        pSVar2 = (Sized_symbol<32> *)0x0;\n        goto LAB_002c5450;\n      }\n      goto LAB_002c524c;\n    }\nLAB_002c544c:\n    pSVar2 = (Sized_symbol<32> *)0x0;\nLAB_002c5450:\n    if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)v._M_dataplus._M_p != paVar14) {\n      (*(code *)PTR_operator_delete_004c12fc)();\n    }\n    return pSVar2;\n  }" if (parenthesized_expression "(!is_forced_local)" ( (unary_expression "!is_forced_local" ! identifier) )) (compound_statement "{\n    uVar12 = 0;\n    if (*pversion == (char *)0x0) {\n      bVar5 = Version_script_info::get_symbol_version(this->version_script_,pcVar9,&v,&is_global);\n      uVar12 = CONCAT31(extraout_var,bVar5);\n      if ((uVar12 != 0) && (uVar12 = (uint)_is_global >> 0x18, uVar12 != 0)) {\n        if (v._M_string_length == 0) {\n          pcVar9 = *pname;\n          uVar12 = 0;\n          goto LAB_002c5224;\n        }\n        *pversion = v._M_dataplus._M_p;\n      }\n      pcVar9 = *pname;\n    }\nLAB_002c5224:\n    if (CONCAT31(in_register_0000001c,only_if_ref) == 0) goto LAB_002c5340;\nLAB_002c522c:\n                    /* try { // try from 002c5238 to 002c5693 has its CatchHandler @ 002c5694 */\n    this_00 = (Symbol_table *)lookup(this,pcVar9,*pversion);\n    if (this_00 != (Symbol_table *)0x0) {\nLAB_002c524c:\n      pp_Var1 = (this_00->table_)._M_h._M_buckets;\n      if (((uint)pp_Var1 & 0xe000) != 0) {\n        if (((uint)pp_Var1 & 0xe000) == 0x8000) goto LAB_002c5288;\n        goto LAB_002c544c;\n      }\n      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n          ((anon_union_4_3_b0f6f408_for_u1_ *)&this_00->offset_ + 1))->shndx == 0) {\n        if ((int)pp_Var1 << 0x1d < 0) goto LAB_002c5288;\n        pOVar6 = ((anon_union_4_3_b0f6f408_for_u1_ *)&this_00->offset_)->output_segment;\n      }\n      else {\n        pOVar6 = ((anon_union_4_3_b0f6f408_for_u1_ *)&this_00->offset_)->output_segment;\n      }\n      if (-1 < (int)pOVar6->output_lists_[3].\n                    super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                    _M_impl._M_end_of_storage) goto LAB_002c544c;\n      if ((visibility - STV_INTERNAL < 2) && (-1 < (int)pp_Var1 << 0x17)) {\n        pSVar2 = (Sized_symbol<32> *)0x0;\n        goto LAB_002c5450;\n      }\nLAB_002c5288:\n      *pname = (char *)this_00->saw_undefined_;\n      if (uVar12 == 0) {\n        pdef._M_cur = (__node_type *)0x0;\n        *pversion = (char *)this_00->first_global_index_;\n        uVar13 = 0;\n        uVar15 = 0;\n        _Var16._M_nxt = (_Hash_node_base *)0x0;\n      }\n      else {\n        pcVar9 = Stringpool_template<char>::add(&this->namepool_,*pversion,true,(Key *)0x0);\n        pdef._M_cur = (__node_type *)0x0;\n        *pversion = pcVar9;\n        uVar13 = 0;\n        uVar15 = 0;\n        _Var16._M_nxt = (_Hash_node_base *)0x0;\n      }\n      goto LAB_002c52a8;\n    }\n    if (uVar12 != 0) {\n      this_00 = (Symbol_table *)lookup(this,*pname,(char *)0x0);\n      if (this_00 == (Symbol_table *)0x0) {\n        pSVar2 = (Sized_symbol<32> *)0x0;\n        goto LAB_002c5450;\n      }\n      goto LAB_002c524c;\n    }\nLAB_002c544c:\n    pSVar2 = (Sized_symbol<32> *)0x0;\nLAB_002c5450:\n    if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)v._M_dataplus._M_p != paVar14) {\n      (*(code *)PTR_operator_delete_004c12fc)();\n    }\n    return pSVar2;\n  }" { (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (if_statement "if (*pversion == (char *)0x0) {\n      bVar5 = Version_script_info::get_symbol_version(this->version_script_,pcVar9,&v,&is_global);\n      uVar12 = CONCAT31(extraout_var,bVar5);\n      if ((uVar12 != 0) && (uVar12 = (uint)_is_global >> 0x18, uVar12 != 0)) {\n        if (v._M_string_length == 0) {\n          pcVar9 = *pname;\n          uVar12 = 0;\n          goto LAB_002c5224;\n        }\n        *pversion = v._M_dataplus._M_p;\n      }\n      pcVar9 = *pname;\n    }" if (parenthesized_expression "(*pversion == (char *)0x0)" ( (binary_expression "*pversion == (char *)0x0" (pointer_expression "*pversion" * identifier) == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      bVar5 = Version_script_info::get_symbol_version(this->version_script_,pcVar9,&v,&is_global);\n      uVar12 = CONCAT31(extraout_var,bVar5);\n      if ((uVar12 != 0) && (uVar12 = (uint)_is_global >> 0x18, uVar12 != 0)) {\n        if (v._M_string_length == 0) {\n          pcVar9 = *pname;\n          uVar12 = 0;\n          goto LAB_002c5224;\n        }\n        *pversion = v._M_dataplus._M_p;\n      }\n      pcVar9 = *pname;\n    }" { (ERROR "bVar5 = Version_script_info::" (assignment_expression "bVar5 = Version_script_info" identifier = identifier) : :) (expression_statement "get_symbol_version(this->version_script_,pcVar9,&v,&is_global);" (call_expression "get_symbol_version(this->version_script_,pcVar9,&v,&is_global)" identifier (argument_list "(this->version_script_,pcVar9,&v,&is_global)" ( (field_expression "this->version_script_" identifier -> field_identifier) , identifier , (pointer_expression "&v" & identifier) , (pointer_expression "&is_global" & identifier) ))) ;) (expression_statement "uVar12 = CONCAT31(extraout_var,bVar5);" (assignment_expression "uVar12 = CONCAT31(extraout_var,bVar5)" identifier = (call_expression "CONCAT31(extraout_var,bVar5)" identifier (argument_list "(extraout_var,bVar5)" ( identifier , identifier )))) ;) (if_statement "if ((uVar12 != 0) && (uVar12 = (uint)_is_global >> 0x18, uVar12 != 0)) {\n        if (v._M_string_length == 0) {\n          pcVar9 = *pname;\n          uVar12 = 0;\n          goto LAB_002c5224;\n        }\n        *pversion = v._M_dataplus._M_p;\n      }" if (parenthesized_expression "((uVar12 != 0) && (uVar12 = (uint)_is_global >> 0x18, uVar12 != 0))" ( (binary_expression "(uVar12 != 0) && (uVar12 = (uint)_is_global >> 0x18, uVar12 != 0)" (parenthesized_expression "(uVar12 != 0)" ( (binary_expression "uVar12 != 0" identifier != number_literal) )) && (parenthesized_expression "(uVar12 = (uint)_is_global >> 0x18, uVar12 != 0)" ( (comma_expression "uVar12 = (uint)_is_global >> 0x18, uVar12 != 0" (assignment_expression "uVar12 = (uint)_is_global >> 0x18" identifier = (binary_expression "(uint)_is_global >> 0x18" (cast_expression "(uint)_is_global" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal)) , (binary_expression "uVar12 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n        if (v._M_string_length == 0) {\n          pcVar9 = *pname;\n          uVar12 = 0;\n          goto LAB_002c5224;\n        }\n        *pversion = v._M_dataplus._M_p;\n      }" { (if_statement "if (v._M_string_length == 0) {\n          pcVar9 = *pname;\n          uVar12 = 0;\n          goto LAB_002c5224;\n        }" if (parenthesized_expression "(v._M_string_length == 0)" ( (binary_expression "v._M_string_length == 0" (field_expression "v._M_string_length" identifier . field_identifier) == number_literal) )) (compound_statement "{\n          pcVar9 = *pname;\n          uVar12 = 0;\n          goto LAB_002c5224;\n        }" { (expression_statement "pcVar9 = *pname;" (assignment_expression "pcVar9 = *pname" identifier = (pointer_expression "*pname" * identifier)) ;) (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_002c5224;" goto statement_identifier ;) })) (expression_statement "*pversion = v._M_dataplus._M_p;" (assignment_expression "*pversion = v._M_dataplus._M_p" (pointer_expression "*pversion" * identifier) = (field_expression "v._M_dataplus._M_p" (field_expression "v._M_dataplus" identifier . field_identifier) . field_identifier)) ;) })) (expression_statement "pcVar9 = *pname;" (assignment_expression "pcVar9 = *pname" identifier = (pointer_expression "*pname" * identifier)) ;) })) (labeled_statement "LAB_002c5224:\n    if (CONCAT31(in_register_0000001c,only_if_ref) == 0) goto LAB_002c5340;" statement_identifier : (if_statement "if (CONCAT31(in_register_0000001c,only_if_ref) == 0) goto LAB_002c5340;" if (parenthesized_expression "(CONCAT31(in_register_0000001c,only_if_ref) == 0)" ( (binary_expression "CONCAT31(in_register_0000001c,only_if_ref) == 0" (call_expression "CONCAT31(in_register_0000001c,only_if_ref)" identifier (argument_list "(in_register_0000001c,only_if_ref)" ( identifier , identifier ))) == number_literal) )) (goto_statement "goto LAB_002c5340;" goto statement_identifier ;))) (labeled_statement "LAB_002c522c:\n                    /* try { // try from 002c5238 to 002c5693 has its CatchHandler @ 002c5694 */\n    this_00 = (Symbol_table *)lookup(this,pcVar9,*pversion);" statement_identifier : comment (expression_statement "this_00 = (Symbol_table *)lookup(this,pcVar9,*pversion);" (assignment_expression "this_00 = (Symbol_table *)lookup(this,pcVar9,*pversion)" identifier = (cast_expression "(Symbol_table *)lookup(this,pcVar9,*pversion)" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "lookup(this,pcVar9,*pversion)" identifier (argument_list "(this,pcVar9,*pversion)" ( identifier , identifier , (pointer_expression "*pversion" * identifier) ))))) ;)) (if_statement "if (this_00 != (Symbol_table *)0x0) {\nLAB_002c524c:\n      pp_Var1 = (this_00->table_)._M_h._M_buckets;\n      if (((uint)pp_Var1 & 0xe000) != 0) {\n        if (((uint)pp_Var1 & 0xe000) == 0x8000) goto LAB_002c5288;\n        goto LAB_002c544c;\n      }\n      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n          ((anon_union_4_3_b0f6f408_for_u1_ *)&this_00->offset_ + 1))->shndx == 0) {\n        if ((int)pp_Var1 << 0x1d < 0) goto LAB_002c5288;\n        pOVar6 = ((anon_union_4_3_b0f6f408_for_u1_ *)&this_00->offset_)->output_segment;\n      }\n      else {\n        pOVar6 = ((anon_union_4_3_b0f6f408_for_u1_ *)&this_00->offset_)->output_segment;\n      }\n      if (-1 < (int)pOVar6->output_lists_[3].\n                    super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                    _M_impl._M_end_of_storage) goto LAB_002c544c;\n      if ((visibility - STV_INTERNAL < 2) && (-1 < (int)pp_Var1 << 0x17)) {\n        pSVar2 = (Sized_symbol<32> *)0x0;\n        goto LAB_002c5450;\n      }\nLAB_002c5288:\n      *pname = (char *)this_00->saw_undefined_;\n      if (uVar12 == 0) {\n        pdef._M_cur = (__node_type *)0x0;\n        *pversion = (char *)this_00->first_global_index_;\n        uVar13 = 0;\n        uVar15 = 0;\n        _Var16._M_nxt = (_Hash_node_base *)0x0;\n      }\n      else {\n        pcVar9 = Stringpool_template<char>::add(&this->namepool_,*pversion,true,(Key *)0x0);\n        pdef._M_cur = (__node_type *)0x0;\n        *pversion = pcVar9;\n        uVar13 = 0;\n        uVar15 = 0;\n        _Var16._M_nxt = (_Hash_node_base *)0x0;\n      }\n      goto LAB_002c52a8;\n    }" if (parenthesized_expression "(this_00 != (Symbol_table *)0x0)" ( (binary_expression "this_00 != (Symbol_table *)0x0" identifier != (cast_expression "(Symbol_table *)0x0" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_002c524c:\n      pp_Var1 = (this_00->table_)._M_h._M_buckets;\n      if (((uint)pp_Var1 & 0xe000) != 0) {\n        if (((uint)pp_Var1 & 0xe000) == 0x8000) goto LAB_002c5288;\n        goto LAB_002c544c;\n      }\n      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n          ((anon_union_4_3_b0f6f408_for_u1_ *)&this_00->offset_ + 1))->shndx == 0) {\n        if ((int)pp_Var1 << 0x1d < 0) goto LAB_002c5288;\n        pOVar6 = ((anon_union_4_3_b0f6f408_for_u1_ *)&this_00->offset_)->output_segment;\n      }\n      else {\n        pOVar6 = ((anon_union_4_3_b0f6f408_for_u1_ *)&this_00->offset_)->output_segment;\n      }\n      if (-1 < (int)pOVar6->output_lists_[3].\n                    super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                    _M_impl._M_end_of_storage) goto LAB_002c544c;\n      if ((visibility - STV_INTERNAL < 2) && (-1 < (int)pp_Var1 << 0x17)) {\n        pSVar2 = (Sized_symbol<32> *)0x0;\n        goto LAB_002c5450;\n      }\nLAB_002c5288:\n      *pname = (char *)this_00->saw_undefined_;\n      if (uVar12 == 0) {\n        pdef._M_cur = (__node_type *)0x0;\n        *pversion = (char *)this_00->first_global_index_;\n        uVar13 = 0;\n        uVar15 = 0;\n        _Var16._M_nxt = (_Hash_node_base *)0x0;\n      }\n      else {\n        pcVar9 = Stringpool_template<char>::add(&this->namepool_,*pversion,true,(Key *)0x0);\n        pdef._M_cur = (__node_type *)0x0;\n        *pversion = pcVar9;\n        uVar13 = 0;\n        uVar15 = 0;\n        _Var16._M_nxt = (_Hash_node_base *)0x0;\n      }\n      goto LAB_002c52a8;\n    }" { (labeled_statement "LAB_002c524c:\n      pp_Var1 = (this_00->table_)._M_h._M_buckets;" statement_identifier : (expression_statement "pp_Var1 = (this_00->table_)._M_h._M_buckets;" (assignment_expression "pp_Var1 = (this_00->table_)._M_h._M_buckets" identifier = (field_expression "(this_00->table_)._M_h._M_buckets" (field_expression "(this_00->table_)._M_h" (parenthesized_expression "(this_00->table_)" ( (field_expression "this_00->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;)) (if_statement "if (((uint)pp_Var1 & 0xe000) != 0) {\n        if (((uint)pp_Var1 & 0xe000) == 0x8000) goto LAB_002c5288;\n        goto LAB_002c544c;\n      }" if (parenthesized_expression "(((uint)pp_Var1 & 0xe000) != 0)" ( (binary_expression "((uint)pp_Var1 & 0xe000) != 0" (parenthesized_expression "((uint)pp_Var1 & 0xe000)" ( (binary_expression "(uint)pp_Var1 & 0xe000" (cast_expression "(uint)pp_Var1" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n        if (((uint)pp_Var1 & 0xe000) == 0x8000) goto LAB_002c5288;\n        goto LAB_002c544c;\n      }" { (if_statement "if (((uint)pp_Var1 & 0xe000) == 0x8000) goto LAB_002c5288;" if (parenthesized_expression "(((uint)pp_Var1 & 0xe000) == 0x8000)" ( (binary_expression "((uint)pp_Var1 & 0xe000) == 0x8000" (parenthesized_expression "((uint)pp_Var1 & 0xe000)" ( (binary_expression "(uint)pp_Var1 & 0xe000" (cast_expression "(uint)pp_Var1" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_002c5288;" goto statement_identifier ;)) (goto_statement "goto LAB_002c544c;" goto statement_identifier ;) })) (if_statement "if (((anon_union_4_3_b582a2bd_for_u2_ *)\n          ((anon_union_4_3_b0f6f408_for_u1_ *)&this_00->offset_ + 1))->shndx == 0) {\n        if ((int)pp_Var1 << 0x1d < 0) goto LAB_002c5288;\n        pOVar6 = ((anon_union_4_3_b0f6f408_for_u1_ *)&this_00->offset_)->output_segment;\n      }\n      else {\n        pOVar6 = ((anon_union_4_3_b0f6f408_for_u1_ *)&this_00->offset_)->output_segment;\n      }" if (parenthesized_expression "(((anon_union_4_3_b582a2bd_for_u2_ *)\n          ((anon_union_4_3_b0f6f408_for_u1_ *)&this_00->offset_ + 1))->shndx == 0)" ( (binary_expression "((anon_union_4_3_b582a2bd_for_u2_ *)\n          ((anon_union_4_3_b0f6f408_for_u1_ *)&this_00->offset_ + 1))->shndx == 0" (field_expression "((anon_union_4_3_b582a2bd_for_u2_ *)\n          ((anon_union_4_3_b0f6f408_for_u1_ *)&this_00->offset_ + 1))->shndx" (parenthesized_expression "((anon_union_4_3_b582a2bd_for_u2_ *)\n          ((anon_union_4_3_b0f6f408_for_u1_ *)&this_00->offset_ + 1))" ( (cast_expression "(anon_union_4_3_b582a2bd_for_u2_ *)\n          ((anon_union_4_3_b0f6f408_for_u1_ *)&this_00->offset_ + 1)" ( (type_descriptor "anon_union_4_3_b582a2bd_for_u2_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((anon_union_4_3_b0f6f408_for_u1_ *)&this_00->offset_ + 1)" ( (binary_expression "(anon_union_4_3_b0f6f408_for_u1_ *)&this_00->offset_ + 1" (cast_expression "(anon_union_4_3_b0f6f408_for_u1_ *)&this_00->offset_" ( (type_descriptor "anon_union_4_3_b0f6f408_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this_00->offset_" & (field_expression "this_00->offset_" identifier -> field_identifier))) + number_literal) ))) )) -> field_identifier) == number_literal) )) (compound_statement "{\n        if ((int)pp_Var1 << 0x1d < 0) goto LAB_002c5288;\n        pOVar6 = ((anon_union_4_3_b0f6f408_for_u1_ *)&this_00->offset_)->output_segment;\n      }" { (if_statement "if ((int)pp_Var1 << 0x1d < 0) goto LAB_002c5288;" if (parenthesized_expression "((int)pp_Var1 << 0x1d < 0)" ( (binary_expression "(int)pp_Var1 << 0x1d < 0" (binary_expression "(int)pp_Var1 << 0x1d" (cast_expression "(int)pp_Var1" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) < number_literal) )) (goto_statement "goto LAB_002c5288;" goto statement_identifier ;)) (expression_statement "pOVar6 = ((anon_union_4_3_b0f6f408_for_u1_ *)&this_00->offset_)->output_segment;" (assignment_expression "pOVar6 = ((anon_union_4_3_b0f6f408_for_u1_ *)&this_00->offset_)->output_segment" identifier = (field_expression "((anon_union_4_3_b0f6f408_for_u1_ *)&this_00->offset_)->output_segment" (parenthesized_expression "((anon_union_4_3_b0f6f408_for_u1_ *)&this_00->offset_)" ( (cast_expression "(anon_union_4_3_b0f6f408_for_u1_ *)&this_00->offset_" ( (type_descriptor "anon_union_4_3_b0f6f408_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this_00->offset_" & (field_expression "this_00->offset_" identifier -> field_identifier))) )) -> field_identifier)) ;) }) (else_clause "else {\n        pOVar6 = ((anon_union_4_3_b0f6f408_for_u1_ *)&this_00->offset_)->output_segment;\n      }" else (compound_statement "{\n        pOVar6 = ((anon_union_4_3_b0f6f408_for_u1_ *)&this_00->offset_)->output_segment;\n      }" { (expression_statement "pOVar6 = ((anon_union_4_3_b0f6f408_for_u1_ *)&this_00->offset_)->output_segment;" (assignment_expression "pOVar6 = ((anon_union_4_3_b0f6f408_for_u1_ *)&this_00->offset_)->output_segment" identifier = (field_expression "((anon_union_4_3_b0f6f408_for_u1_ *)&this_00->offset_)->output_segment" (parenthesized_expression "((anon_union_4_3_b0f6f408_for_u1_ *)&this_00->offset_)" ( (cast_expression "(anon_union_4_3_b0f6f408_for_u1_ *)&this_00->offset_" ( (type_descriptor "anon_union_4_3_b0f6f408_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this_00->offset_" & (field_expression "this_00->offset_" identifier -> field_identifier))) )) -> field_identifier)) ;) }))) (if_statement "if (-1 < (int)pOVar6->output_lists_[3].\n                    super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                    _M_impl._M_end_of_storage) goto LAB_002c544c;" if (parenthesized_expression "(-1 < (int)pOVar6->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)pOVar6->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)pOVar6->output_lists_[3].\n                    super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                    _M_impl" (binary_expression "-1 < (int)pOVar6->output_lists_[3].\n                    super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_" (binary_expression "-1 < (int)pOVar6->output_lists_[3].\n                    super__Vector_base<gold::Output_data*,_std::allocator<gold" (binary_expression "-1 < (int)pOVar6->output_lists_[3].\n                    super__Vector_base<gold::Output_data*,_std" (binary_expression "-1 < (int)pOVar6->output_lists_[3].\n                    super__Vector_base<gold" (binary_expression "-1 < (int)pOVar6->output_lists_[3].\n                    super__Vector_base" number_literal < (cast_expression "(int)pOVar6->output_lists_[3].\n                    super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "pOVar6->output_lists_[3].\n                    super__Vector_base" (subscript_expression "pOVar6->output_lists_[3]" (field_expression "pOVar6->output_lists_" 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) )) (goto_statement "goto LAB_002c544c;" goto statement_identifier ;)) (if_statement "if ((visibility - STV_INTERNAL < 2) && (-1 < (int)pp_Var1 << 0x17)) {\n        pSVar2 = (Sized_symbol<32> *)0x0;\n        goto LAB_002c5450;\n      }" if (parenthesized_expression "((visibility - STV_INTERNAL < 2) && (-1 < (int)pp_Var1 << 0x17))" ( (binary_expression "(visibility - STV_INTERNAL < 2) && (-1 < (int)pp_Var1 << 0x17)" (parenthesized_expression "(visibility - STV_INTERNAL < 2)" ( (binary_expression "visibility - STV_INTERNAL < 2" (binary_expression "visibility - STV_INTERNAL" identifier - identifier) < number_literal) )) && (parenthesized_expression "(-1 < (int)pp_Var1 << 0x17)" ( (binary_expression "-1 < (int)pp_Var1 << 0x17" number_literal < (binary_expression "(int)pp_Var1 << 0x17" (cast_expression "(int)pp_Var1" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal)) ))) )) (compound_statement "{\n        pSVar2 = (Sized_symbol<32> *)0x0;\n        goto LAB_002c5450;\n      }" { (expression_statement "pSVar2 = (Sized_symbol<32> *)0x0;" (assignment_expression "pSVar2 = (Sized_symbol<32> *)0x0" identifier = (parenthesized_expression "(Sized_symbol<32> *)0x0" ( (binary_expression "Sized_symbol<32> *)0x0" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) ))) ;) (goto_statement "goto LAB_002c5450;" goto statement_identifier ;) })) (labeled_statement "LAB_002c5288:\n      *pname = (char *)this_00->saw_undefined_;" statement_identifier : (expression_statement "*pname = (char *)this_00->saw_undefined_;" (assignment_expression "*pname = (char *)this_00->saw_undefined_" (pointer_expression "*pname" * identifier) = (cast_expression "(char *)this_00->saw_undefined_" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "this_00->saw_undefined_" identifier -> field_identifier))) ;)) (if_statement "if (uVar12 == 0) {\n        pdef._M_cur = (__node_type *)0x0;\n        *pversion = (char *)this_00->first_global_index_;\n        uVar13 = 0;\n        uVar15 = 0;\n        _Var16._M_nxt = (_Hash_node_base *)0x0;\n      }\n      else {\n        pcVar9 = Stringpool_template<char>::add(&this->namepool_,*pversion,true,(Key *)0x0);\n        pdef._M_cur = (__node_type *)0x0;\n        *pversion = pcVar9;\n        uVar13 = 0;\n        uVar15 = 0;\n        _Var16._M_nxt = (_Hash_node_base *)0x0;\n      }" if (parenthesized_expression "(uVar12 == 0)" ( (binary_expression "uVar12 == 0" identifier == number_literal) )) (compound_statement "{\n        pdef._M_cur = (__node_type *)0x0;\n        *pversion = (char *)this_00->first_global_index_;\n        uVar13 = 0;\n        uVar15 = 0;\n        _Var16._M_nxt = (_Hash_node_base *)0x0;\n      }" { (expression_statement "pdef._M_cur = (__node_type *)0x0;" (assignment_expression "pdef._M_cur = (__node_type *)0x0" (field_expression "pdef._M_cur" identifier . field_identifier) = (cast_expression "(__node_type *)0x0" ( (type_descriptor "__node_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*pversion = (char *)this_00->first_global_index_;" (assignment_expression "*pversion = (char *)this_00->first_global_index_" (pointer_expression "*pversion" * identifier) = (cast_expression "(char *)this_00->first_global_index_" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "this_00->first_global_index_" identifier -> field_identifier))) ;) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" identifier = number_literal) ;) (expression_statement "_Var16._M_nxt = (_Hash_node_base *)0x0;" (assignment_expression "_Var16._M_nxt = (_Hash_node_base *)0x0" (field_expression "_Var16._M_nxt" identifier . field_identifier) = (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n        pcVar9 = Stringpool_template<char>::add(&this->namepool_,*pversion,true,(Key *)0x0);\n        pdef._M_cur = (__node_type *)0x0;\n        *pversion = pcVar9;\n        uVar13 = 0;\n        uVar15 = 0;\n        _Var16._M_nxt = (_Hash_node_base *)0x0;\n      }" else (compound_statement "{\n        pcVar9 = Stringpool_template<char>::add(&this->namepool_,*pversion,true,(Key *)0x0);\n        pdef._M_cur = (__node_type *)0x0;\n        *pversion = pcVar9;\n        uVar13 = 0;\n        uVar15 = 0;\n        _Var16._M_nxt = (_Hash_node_base *)0x0;\n      }" { (expression_statement "pcVar9 = Stringpool_template<char>::add(&this->namepool_,*pversion,true,(Key *)0x0);" (assignment_expression "pcVar9 = Stringpool_template<char>::add(&this->namepool_,*pversion,true,(Key *)0x0)" identifier = (binary_expression "Stringpool_template<char>::add(&this->namepool_,*pversion,true,(Key *)0x0)" (binary_expression "Stringpool_template<char" identifier < identifier) > (ERROR "::" : :) (call_expression "add(&this->namepool_,*pversion,true,(Key *)0x0)" identifier (argument_list "(&this->namepool_,*pversion,true,(Key *)0x0)" ( (pointer_expression "&this->namepool_" & (field_expression "this->namepool_" identifier -> field_identifier)) , (pointer_expression "*pversion" * identifier) , true , (cast_expression "(Key *)0x0" ( (type_descriptor "Key *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ))))) ;) (expression_statement "pdef._M_cur = (__node_type *)0x0;" (assignment_expression "pdef._M_cur = (__node_type *)0x0" (field_expression "pdef._M_cur" identifier . field_identifier) = (cast_expression "(__node_type *)0x0" ( (type_descriptor "__node_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*pversion = pcVar9;" (assignment_expression "*pversion = pcVar9" (pointer_expression "*pversion" * identifier) = identifier) ;) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" identifier = number_literal) ;) (expression_statement "_Var16._M_nxt = (_Hash_node_base *)0x0;" (assignment_expression "_Var16._M_nxt = (_Hash_node_base *)0x0" (field_expression "_Var16._M_nxt" identifier . field_identifier) = (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (goto_statement "goto LAB_002c52a8;" goto statement_identifier ;) })) (if_statement "if (uVar12 != 0) {\n      this_00 = (Symbol_table *)lookup(this,*pname,(char *)0x0);\n      if (this_00 == (Symbol_table *)0x0) {\n        pSVar2 = (Sized_symbol<32> *)0x0;\n        goto LAB_002c5450;\n      }\n      goto LAB_002c524c;\n    }" if (parenthesized_expression "(uVar12 != 0)" ( (binary_expression "uVar12 != 0" identifier != number_literal) )) (compound_statement "{\n      this_00 = (Symbol_table *)lookup(this,*pname,(char *)0x0);\n      if (this_00 == (Symbol_table *)0x0) {\n        pSVar2 = (Sized_symbol<32> *)0x0;\n        goto LAB_002c5450;\n      }\n      goto LAB_002c524c;\n    }" { (expression_statement "this_00 = (Symbol_table *)lookup(this,*pname,(char *)0x0);" (assignment_expression "this_00 = (Symbol_table *)lookup(this,*pname,(char *)0x0)" identifier = (cast_expression "(Symbol_table *)lookup(this,*pname,(char *)0x0)" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "lookup(this,*pname,(char *)0x0)" identifier (argument_list "(this,*pname,(char *)0x0)" ( identifier , (pointer_expression "*pname" * identifier) , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ))))) ;) (if_statement "if (this_00 == (Symbol_table *)0x0) {\n        pSVar2 = (Sized_symbol<32> *)0x0;\n        goto LAB_002c5450;\n      }" if (parenthesized_expression "(this_00 == (Symbol_table *)0x0)" ( (binary_expression "this_00 == (Symbol_table *)0x0" identifier == (cast_expression "(Symbol_table *)0x0" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pSVar2 = (Sized_symbol<32> *)0x0;\n        goto LAB_002c5450;\n      }" { (expression_statement "pSVar2 = (Sized_symbol<32> *)0x0;" (assignment_expression "pSVar2 = (Sized_symbol<32> *)0x0" identifier = (parenthesized_expression "(Sized_symbol<32> *)0x0" ( (binary_expression "Sized_symbol<32> *)0x0" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) ))) ;) (goto_statement "goto LAB_002c5450;" goto statement_identifier ;) })) (goto_statement "goto LAB_002c524c;" goto statement_identifier ;) })) (labeled_statement "LAB_002c544c:\n    pSVar2 = (Sized_symbol<32> *)0x0;" statement_identifier : (expression_statement "pSVar2 = (Sized_symbol<32> *)0x0;" (assignment_expression "pSVar2 = (Sized_symbol<32> *)0x0" identifier = (parenthesized_expression "(Sized_symbol<32> *)0x0" ( (binary_expression "Sized_symbol<32> *)0x0" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) ))) ;)) (labeled_statement "LAB_002c5450:\n    if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)v._M_dataplus._M_p != paVar14) {\n      (*(code *)PTR_operator_delete_004c12fc)();\n    }" statement_identifier : (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)v._M_dataplus._M_p != paVar14) {\n      (*(code *)PTR_operator_delete_004c12fc)();\n    }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)v._M_dataplus._M_p != paVar14)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)v._M_dataplus._M_p != paVar14)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9\n         *)v._M_dataplus._M_p != paVar14" (binary_expression "allocator<char>_>_9\n         *)v._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n         *)v._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "v._M_dataplus._M_p" (field_expression "v._M_dataplus" identifier . field_identifier) . field_identifier))) != identifier) )) )) (compound_statement "{\n      (*(code *)PTR_operator_delete_004c12fc)();\n    }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) }))) (return_statement "return pSVar2;" return identifier ;) })) (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (if_statement "if (CONCAT31(in_register_0000001c,only_if_ref) != 0) goto LAB_002c522c;" if (parenthesized_expression "(CONCAT31(in_register_0000001c,only_if_ref) != 0)" ( (binary_expression "CONCAT31(in_register_0000001c,only_if_ref) != 0" (call_expression "CONCAT31(in_register_0000001c,only_if_ref)" identifier (argument_list "(in_register_0000001c,only_if_ref)" ( identifier , identifier ))) != number_literal) )) (goto_statement "goto LAB_002c522c;" goto statement_identifier ;)) (labeled_statement "LAB_002c5340:\n  pcVar9 = Stringpool_template<char>::add(&this->namepool_,pcVar9,true,&name_key);" statement_identifier : (expression_statement "pcVar9 = Stringpool_template<char>::add(&this->namepool_,pcVar9,true,&name_key);" (assignment_expression "pcVar9 = Stringpool_template<char>::add(&this->namepool_,pcVar9,true,&name_key)" identifier = (binary_expression "Stringpool_template<char>::add(&this->namepool_,pcVar9,true,&name_key)" (binary_expression "Stringpool_template<char" identifier < identifier) > (ERROR "::" : :) (call_expression "add(&this->namepool_,pcVar9,true,&name_key)" identifier (argument_list "(&this->namepool_,pcVar9,true,&name_key)" ( (pointer_expression "&this->namepool_" & (field_expression "this->namepool_" identifier -> field_identifier)) , identifier , true , (pointer_expression "&name_key" & identifier) ))))) ;)) (expression_statement "*pname = pcVar9;" (assignment_expression "*pname = pcVar9" (pointer_expression "*pname" * identifier) = identifier) ;) (expression_statement "version_key = 0;" (assignment_expression "version_key = 0" identifier = number_literal) ;) (if_statement "if (*pversion != (char *)0x0) {\n    pcVar9 = Stringpool_template<char>::add(&this->namepool_,*pversion,true,&version_key);\n    *pversion = pcVar9;\n  }" if (parenthesized_expression "(*pversion != (char *)0x0)" ( (binary_expression "*pversion != (char *)0x0" (pointer_expression "*pversion" * identifier) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pcVar9 = Stringpool_template<char>::add(&this->namepool_,*pversion,true,&version_key);\n    *pversion = pcVar9;\n  }" { (expression_statement "pcVar9 = Stringpool_template<char>::add(&this->namepool_,*pversion,true,&version_key);" (assignment_expression "pcVar9 = Stringpool_template<char>::add(&this->namepool_,*pversion,true,&version_key)" identifier = (binary_expression "Stringpool_template<char>::add(&this->namepool_,*pversion,true,&version_key)" (binary_expression "Stringpool_template<char" identifier < identifier) > (ERROR "::" : :) (call_expression "add(&this->namepool_,*pversion,true,&version_key)" identifier (argument_list "(&this->namepool_,*pversion,true,&version_key)" ( (pointer_expression "&this->namepool_" & (field_expression "this->namepool_" identifier -> field_identifier)) , (pointer_expression "*pversion" * identifier) , true , (pointer_expression "&version_key" & identifier) ))))) ;) (expression_statement "*pversion = pcVar9;" (assignment_expression "*pversion = pcVar9" (pointer_expression "*pversion" * identifier) = identifier) ;) })) (expression_statement "sym = (Symbol *)&this->table_;" (assignment_expression "sym = (Symbol *)&this->table_" identifier = (cast_expression "(Symbol *)&this->table_" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->table_" & (field_expression "this->table_" identifier -> field_identifier)))) ;) (expression_statement "local_48 = 0;" (assignment_expression "local_48 = 0" identifier = number_literal) ;) (expression_statement "_is_global = (__node_type *)name_key;" (assignment_expression "_is_global = (__node_type *)name_key" identifier = (cast_expression "(__node_type *)name_key" ( (type_descriptor "__node_type *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pSVar10 = sym;" (assignment_expression "pSVar10 = sym" identifier = identifier) ;) (expression_statement "local_4c = version_key;" (assignment_expression "local_4c = version_key" identifier = identifier) ;) (ERROR "std::\n  _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>,_std::__detail::_Select1st,_gold::Symbol_table::Symbol_table_eq,_gold::Symbol_table::Symbol_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 "std::\n  _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>,_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::Symbol*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>,_std" (binary_expression "std::\n  _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_" identifier (ERROR "::\n  _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*" : : (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 "Symbol*>,_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 : : (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)) : :) (expression_statement "Symbol*>_>\n            ((_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>,_std::__detail::_Select1st,_gold::Symbol_table::Symbol_table_eq,_gold::Symbol_table::Symbol_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              *)&stack0xffffffc4,sym,0,&is_global);" (binary_expression "Symbol*>_>\n            ((_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>,_std::__detail::_Select1st,_gold::Symbol_table::Symbol_table_eq,_gold::Symbol_table::Symbol_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              *)&stack0xffffffc4,sym,0,&is_global)" (binary_expression "Symbol*>_" identifier * (ERROR ">" >) identifier) > (parenthesized_expression "((_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>,_std::__detail::_Select1st,_gold::Symbol_table::Symbol_table_eq,_gold::Symbol_table::Symbol_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              *)&stack0xffffffc4,sym,0,&is_global)" ( (comma_expression "(_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>,_std::__detail::_Select1st,_gold::Symbol_table::Symbol_table_eq,_gold::Symbol_table::Symbol_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              *)&stack0xffffffc4,sym,0,&is_global" (binary_expression "(_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>,_std::__detail::_Select1st,_gold::Symbol_table::Symbol_table_eq,_gold::Symbol_table::Symbol_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              *)&stack0xffffffc4" (parenthesized_expression "(_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>,_std::__detail::_Select1st,_gold::Symbol_table::Symbol_table_eq,_gold::Symbol_table::Symbol_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              *)" ( (ERROR "_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>,_std::__detail::_Select1st,_gold::Symbol_table::Symbol_table_eq,_gold::Symbol_table::Symbol_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (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 "Symbol*>,_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 "Symbol*>_>,_std" (binary_expression "Symbol*>_" identifier * (ERROR ">" >) identifier) > (ERROR "," ,) identifier) : : identifier : : (comma_expression "_Select1st,_gold" identifier , identifier) : : identifier : : (comma_expression "Symbol_table_eq,_gold" identifier , identifier) : : identifier : : (comma_expression "Symbol_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              *" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_false,_true>_>\n              *" identifier , (binary_expression "_true>_>\n              *" (binary_expression "_true>_" identifier > identifier) > (pointer_expression "*" * identifier)))) )) & identifier) , (comma_expression "sym,0,&is_global" identifier , (comma_expression "0,&is_global" number_literal , (pointer_expression "&is_global" & identifier)))) ))) ;) (if_statement "if (uVar12 == 0) {\n    uVar13 = 0;\n    sym = pSVar10;\n    pdef._M_cur = (__node_type *)0x0;\n  }\n  else {\n    local_4c = 0;\n    local_48 = 0;\n    _is_global = (__node_type *)name_key;\n    std::\n    _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>,_std::__detail::_Select1st,_gold::Symbol_table::Symbol_table_eq,_gold::Symbol_table::Symbol_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::Symbol*>_>\n              ((_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>,_std::__detail::_Select1st,_gold::Symbol_table::Symbol_table_eq,_gold::Symbol_table::Symbol_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                *)&stack0xffffffbc,sym,0,&is_global);\n    uVar13 = (uint)local_40;\n    pdef._M_cur = local_44._M_cur;\n  }" if (parenthesized_expression "(uVar12 == 0)" ( (binary_expression "uVar12 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar13 = 0;\n    sym = pSVar10;\n    pdef._M_cur = (__node_type *)0x0;\n  }" { (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (expression_statement "sym = pSVar10;" (assignment_expression "sym = pSVar10" identifier = identifier) ;) (expression_statement "pdef._M_cur = (__node_type *)0x0;" (assignment_expression "pdef._M_cur = (__node_type *)0x0" (field_expression "pdef._M_cur" identifier . field_identifier) = (cast_expression "(__node_type *)0x0" ( (type_descriptor "__node_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    local_4c = 0;\n    local_48 = 0;\n    _is_global = (__node_type *)name_key;\n    std::\n    _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>,_std::__detail::_Select1st,_gold::Symbol_table::Symbol_table_eq,_gold::Symbol_table::Symbol_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::Symbol*>_>\n              ((_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>,_std::__detail::_Select1st,_gold::Symbol_table::Symbol_table_eq,_gold::Symbol_table::Symbol_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                *)&stack0xffffffbc,sym,0,&is_global);\n    uVar13 = (uint)local_40;\n    pdef._M_cur = local_44._M_cur;\n  }" else (compound_statement "{\n    local_4c = 0;\n    local_48 = 0;\n    _is_global = (__node_type *)name_key;\n    std::\n    _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>,_std::__detail::_Select1st,_gold::Symbol_table::Symbol_table_eq,_gold::Symbol_table::Symbol_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::Symbol*>_>\n              ((_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>,_std::__detail::_Select1st,_gold::Symbol_table::Symbol_table_eq,_gold::Symbol_table::Symbol_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                *)&stack0xffffffbc,sym,0,&is_global);\n    uVar13 = (uint)local_40;\n    pdef._M_cur = local_44._M_cur;\n  }" { (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" identifier = number_literal) ;) (expression_statement "local_48 = 0;" (assignment_expression "local_48 = 0" identifier = number_literal) ;) (expression_statement "_is_global = (__node_type *)name_key;" (assignment_expression "_is_global = (__node_type *)name_key" identifier = (cast_expression "(__node_type *)name_key" ( (type_descriptor "__node_type *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (ERROR "std::\n    _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>,_std::__detail::_Select1st,_gold::Symbol_table::Symbol_table_eq,_gold::Symbol_table::Symbol_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 "std::\n    _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>,_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::Symbol*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>,_std" (binary_expression "std::\n    _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_" identifier (ERROR "::\n    _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*" : : (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 "Symbol*>,_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 : : (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)) : :) (expression_statement "Symbol*>_>\n              ((_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>,_std::__detail::_Select1st,_gold::Symbol_table::Symbol_table_eq,_gold::Symbol_table::Symbol_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                *)&stack0xffffffbc,sym,0,&is_global);" (binary_expression "Symbol*>_>\n              ((_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>,_std::__detail::_Select1st,_gold::Symbol_table::Symbol_table_eq,_gold::Symbol_table::Symbol_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                *)&stack0xffffffbc,sym,0,&is_global)" (binary_expression "Symbol*>_" identifier * (ERROR ">" >) identifier) > (parenthesized_expression "((_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>,_std::__detail::_Select1st,_gold::Symbol_table::Symbol_table_eq,_gold::Symbol_table::Symbol_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                *)&stack0xffffffbc,sym,0,&is_global)" ( (comma_expression "(_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>,_std::__detail::_Select1st,_gold::Symbol_table::Symbol_table_eq,_gold::Symbol_table::Symbol_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                *)&stack0xffffffbc,sym,0,&is_global" (binary_expression "(_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>,_std::__detail::_Select1st,_gold::Symbol_table::Symbol_table_eq,_gold::Symbol_table::Symbol_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                *)&stack0xffffffbc" (parenthesized_expression "(_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>,_std::__detail::_Select1st,_gold::Symbol_table::Symbol_table_eq,_gold::Symbol_table::Symbol_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                *)" ( (ERROR "_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>,_std::__detail::_Select1st,_gold::Symbol_table::Symbol_table_eq,_gold::Symbol_table::Symbol_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (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 "Symbol*>,_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 "Symbol*>_>,_std" (binary_expression "Symbol*>_" identifier * (ERROR ">" >) identifier) > (ERROR "," ,) identifier) : : identifier : : (comma_expression "_Select1st,_gold" identifier , identifier) : : identifier : : (comma_expression "Symbol_table_eq,_gold" identifier , identifier) : : identifier : : (comma_expression "Symbol_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                *" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_false,_true>_>\n                *" identifier , (binary_expression "_true>_>\n                *" (binary_expression "_true>_" identifier > identifier) > (pointer_expression "*" * identifier)))) )) & identifier) , (comma_expression "sym,0,&is_global" identifier , (comma_expression "0,&is_global" number_literal , (pointer_expression "&is_global" & identifier)))) ))) ;) (expression_statement "uVar13 = (uint)local_40;" (assignment_expression "uVar13 = (uint)local_40" identifier = (cast_expression "(uint)local_40" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "pdef._M_cur = local_44._M_cur;" (assignment_expression "pdef._M_cur = local_44._M_cur" (field_expression "pdef._M_cur" identifier . field_identifier) = (field_expression "local_44._M_cur" identifier . field_identifier)) ;) }))) (expression_statement "uVar15 = (uint)local_38;" (assignment_expression "uVar15 = (uint)local_38" identifier = (cast_expression "(uint)local_38" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "this_00 = (Symbol_table *)local_3c._M_nxt[3]._M_nxt;" (assignment_expression "this_00 = (Symbol_table *)local_3c._M_nxt[3]._M_nxt" identifier = (cast_expression "(Symbol_table *)local_3c._M_nxt[3]._M_nxt" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_3c._M_nxt[3]._M_nxt" (subscript_expression "local_3c._M_nxt[3]" (field_expression "local_3c._M_nxt" identifier . field_identifier) [ number_literal ]) . field_identifier))) ;) (if_statement "if (uVar15 == 0) {\n    puVar11 = PTR_s_in_a_linker_script_004c191c;\n    if (this_00 != (Symbol_table *)0x0) {\n      if (uVar12 == 0) {\n        pdef._M_cur = (__node_type *)0x0;\n        uVar13 = uVar12;\n        uVar15 = uVar12;\n        _Var16._M_nxt = (_Hash_node_base *)0x0;\n      }\n      else {\n        pSVar2 = get_sized_symbol<32>(this_00,sym);\n        _is_global = pdef._M_cur;\n        define_default_version<32,_false>(this,pSVar2,SUB41(uVar13,0),(iterator)pdef._M_cur);\n        pdef._M_cur = (__node_type *)0x0;\n        uVar13 = 0;\n        _Var16._M_nxt = (_Hash_node_base *)0x0;\n      }\n      goto LAB_002c52a8;\n    }\n  }\n  else {\n    puVar11 = PTR_s_in_a_linker_script_004c191c;\n    if (this_00 != (Symbol_table *)0x0) goto LAB_002c567c;\n    _Var16._M_nxt = local_3c._M_nxt;\n    if (uVar12 == 0) {\n      pdef._M_cur = (__node_type *)0x0;\n      uVar13 = uVar12;\n    }\n    else {\n      uVar15 = uVar13;\n      if ((uVar13 == 0) &&\n         (pSVar4 = *(Symbol_table **)((int)pdef._M_cur + 0xc), uVar13 = uVar12, uVar15 = uVar12,\n         pSVar4->first_global_index_ == 0)) {\n        pdef._M_cur = (__node_type *)0x0;\n        *resolve_oldsym = true;\n        uVar13 = 0;\n        this_00 = pSVar4;\n      }\n    }\nLAB_002c52a8:\n    piVar7 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n    if (piVar7 != (int *)0x0) {\n      if (*(char *)(piVar7[1] + 0xc) == '\0') goto LAB_002c55b0;\n      pSVar10 = (Symbol *)*pname;\n      pSVar2 = (Sized_symbol<32> *)(**(code **)(*piVar7 + 0xa8))(piVar7,pSVar10,0,0,0);\n      if (pSVar2 != (Sized_symbol<32> *)0x0) {\n        while (uVar15 == 0) {\n          pSVar10 = (Symbol *)&DAT_00000794;\n          if (this_00 != (Symbol_table *)0x0) goto LAB_002c530c;\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,\n                     PTR_s_in_a_linker_script_004c191c + 0x2f4c);\nLAB_002c55b0:\n          pSVar2 = (Sized_symbol<32> *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n          pSVar10 = (Symbol *)0x0;\n          (*(code *)PTR_memset_004c5c68)(pSVar2,0,0x30);\n        }\n        _Var16._M_nxt[3]._M_nxt = (_Hash_node_base *)pSVar2;\nLAB_002c530c:\n        if (uVar13 != 0) {\n          *(Sized_symbol<32> **)\n           ((int)&((pdef._M_cur)->\n                  super__Hash_node_value_base<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>\n                  )._M_storage._M_storage + 8) = pSVar2;\n        }\n        pSVar3 = get_sized_symbol<32>(this_00,pSVar10);\n        *poldsym = pSVar3;\n        goto LAB_002c5450;\n      }\n      goto LAB_002c544c;\n    }\n    puVar11 = PTR_s_in_a_linker_script_004c191c + 0x3098;\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,puVar11);\n  }" if (parenthesized_expression "(uVar15 == 0)" ( (binary_expression "uVar15 == 0" identifier == number_literal) )) (compound_statement "{\n    puVar11 = PTR_s_in_a_linker_script_004c191c;\n    if (this_00 != (Symbol_table *)0x0) {\n      if (uVar12 == 0) {\n        pdef._M_cur = (__node_type *)0x0;\n        uVar13 = uVar12;\n        uVar15 = uVar12;\n        _Var16._M_nxt = (_Hash_node_base *)0x0;\n      }\n      else {\n        pSVar2 = get_sized_symbol<32>(this_00,sym);\n        _is_global = pdef._M_cur;\n        define_default_version<32,_false>(this,pSVar2,SUB41(uVar13,0),(iterator)pdef._M_cur);\n        pdef._M_cur = (__node_type *)0x0;\n        uVar13 = 0;\n        _Var16._M_nxt = (_Hash_node_base *)0x0;\n      }\n      goto LAB_002c52a8;\n    }\n  }" { (expression_statement "puVar11 = PTR_s_in_a_linker_script_004c191c;" (assignment_expression "puVar11 = PTR_s_in_a_linker_script_004c191c" identifier = identifier) ;) (if_statement "if (this_00 != (Symbol_table *)0x0) {\n      if (uVar12 == 0) {\n        pdef._M_cur = (__node_type *)0x0;\n        uVar13 = uVar12;\n        uVar15 = uVar12;\n        _Var16._M_nxt = (_Hash_node_base *)0x0;\n      }\n      else {\n        pSVar2 = get_sized_symbol<32>(this_00,sym);\n        _is_global = pdef._M_cur;\n        define_default_version<32,_false>(this,pSVar2,SUB41(uVar13,0),(iterator)pdef._M_cur);\n        pdef._M_cur = (__node_type *)0x0;\n        uVar13 = 0;\n        _Var16._M_nxt = (_Hash_node_base *)0x0;\n      }\n      goto LAB_002c52a8;\n    }" if (parenthesized_expression "(this_00 != (Symbol_table *)0x0)" ( (binary_expression "this_00 != (Symbol_table *)0x0" identifier != (cast_expression "(Symbol_table *)0x0" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (uVar12 == 0) {\n        pdef._M_cur = (__node_type *)0x0;\n        uVar13 = uVar12;\n        uVar15 = uVar12;\n        _Var16._M_nxt = (_Hash_node_base *)0x0;\n      }\n      else {\n        pSVar2 = get_sized_symbol<32>(this_00,sym);\n        _is_global = pdef._M_cur;\n        define_default_version<32,_false>(this,pSVar2,SUB41(uVar13,0),(iterator)pdef._M_cur);\n        pdef._M_cur = (__node_type *)0x0;\n        uVar13 = 0;\n        _Var16._M_nxt = (_Hash_node_base *)0x0;\n      }\n      goto LAB_002c52a8;\n    }" { (if_statement "if (uVar12 == 0) {\n        pdef._M_cur = (__node_type *)0x0;\n        uVar13 = uVar12;\n        uVar15 = uVar12;\n        _Var16._M_nxt = (_Hash_node_base *)0x0;\n      }\n      else {\n        pSVar2 = get_sized_symbol<32>(this_00,sym);\n        _is_global = pdef._M_cur;\n        define_default_version<32,_false>(this,pSVar2,SUB41(uVar13,0),(iterator)pdef._M_cur);\n        pdef._M_cur = (__node_type *)0x0;\n        uVar13 = 0;\n        _Var16._M_nxt = (_Hash_node_base *)0x0;\n      }" if (parenthesized_expression "(uVar12 == 0)" ( (binary_expression "uVar12 == 0" identifier == number_literal) )) (compound_statement "{\n        pdef._M_cur = (__node_type *)0x0;\n        uVar13 = uVar12;\n        uVar15 = uVar12;\n        _Var16._M_nxt = (_Hash_node_base *)0x0;\n      }" { (expression_statement "pdef._M_cur = (__node_type *)0x0;" (assignment_expression "pdef._M_cur = (__node_type *)0x0" (field_expression "pdef._M_cur" identifier . field_identifier) = (cast_expression "(__node_type *)0x0" ( (type_descriptor "__node_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar13 = uVar12;" (assignment_expression "uVar13 = uVar12" identifier = identifier) ;) (expression_statement "uVar15 = uVar12;" (assignment_expression "uVar15 = uVar12" identifier = identifier) ;) (expression_statement "_Var16._M_nxt = (_Hash_node_base *)0x0;" (assignment_expression "_Var16._M_nxt = (_Hash_node_base *)0x0" (field_expression "_Var16._M_nxt" identifier . field_identifier) = (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n        pSVar2 = get_sized_symbol<32>(this_00,sym);\n        _is_global = pdef._M_cur;\n        define_default_version<32,_false>(this,pSVar2,SUB41(uVar13,0),(iterator)pdef._M_cur);\n        pdef._M_cur = (__node_type *)0x0;\n        uVar13 = 0;\n        _Var16._M_nxt = (_Hash_node_base *)0x0;\n      }" else (compound_statement "{\n        pSVar2 = get_sized_symbol<32>(this_00,sym);\n        _is_global = pdef._M_cur;\n        define_default_version<32,_false>(this,pSVar2,SUB41(uVar13,0),(iterator)pdef._M_cur);\n        pdef._M_cur = (__node_type *)0x0;\n        uVar13 = 0;\n        _Var16._M_nxt = (_Hash_node_base *)0x0;\n      }" { (expression_statement "pSVar2 = get_sized_symbol<32>(this_00,sym);" (assignment_expression "pSVar2 = get_sized_symbol<32>(this_00,sym)" identifier = (binary_expression "get_sized_symbol<32>(this_00,sym)" (binary_expression "get_sized_symbol<32" identifier < number_literal) > (parenthesized_expression "(this_00,sym)" ( (comma_expression "this_00,sym" identifier , identifier) )))) ;) (expression_statement "_is_global = pdef._M_cur;" (assignment_expression "_is_global = pdef._M_cur" identifier = (field_expression "pdef._M_cur" identifier . field_identifier)) ;) (expression_statement "define_default_version<32,_false>(this,pSVar2,SUB41(uVar13,0),(iterator)pdef._M_cur);" (comma_expression "define_default_version<32,_false>(this,pSVar2,SUB41(uVar13,0),(iterator)pdef._M_cur)" (binary_expression "define_default_version<32" identifier < number_literal) , (binary_expression "_false>(this,pSVar2,SUB41(uVar13,0),(iterator)pdef._M_cur)" identifier > (parenthesized_expression "(this,pSVar2,SUB41(uVar13,0),(iterator)pdef._M_cur)" ( (comma_expression "this,pSVar2,SUB41(uVar13,0),(iterator)pdef._M_cur" identifier , (comma_expression "pSVar2,SUB41(uVar13,0),(iterator)pdef._M_cur" identifier , (comma_expression "SUB41(uVar13,0),(iterator)pdef._M_cur" (call_expression "SUB41(uVar13,0)" identifier (argument_list "(uVar13,0)" ( identifier , number_literal ))) , (cast_expression "(iterator)pdef._M_cur" ( (type_descriptor "iterator" type_identifier) ) (field_expression "pdef._M_cur" identifier . field_identifier))))) )))) ;) (expression_statement "pdef._M_cur = (__node_type *)0x0;" (assignment_expression "pdef._M_cur = (__node_type *)0x0" (field_expression "pdef._M_cur" identifier . field_identifier) = (cast_expression "(__node_type *)0x0" ( (type_descriptor "__node_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (expression_statement "_Var16._M_nxt = (_Hash_node_base *)0x0;" (assignment_expression "_Var16._M_nxt = (_Hash_node_base *)0x0" (field_expression "_Var16._M_nxt" identifier . field_identifier) = (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (goto_statement "goto LAB_002c52a8;" goto statement_identifier ;) })) }) (else_clause "else {\n    puVar11 = PTR_s_in_a_linker_script_004c191c;\n    if (this_00 != (Symbol_table *)0x0) goto LAB_002c567c;\n    _Var16._M_nxt = local_3c._M_nxt;\n    if (uVar12 == 0) {\n      pdef._M_cur = (__node_type *)0x0;\n      uVar13 = uVar12;\n    }\n    else {\n      uVar15 = uVar13;\n      if ((uVar13 == 0) &&\n         (pSVar4 = *(Symbol_table **)((int)pdef._M_cur + 0xc), uVar13 = uVar12, uVar15 = uVar12,\n         pSVar4->first_global_index_ == 0)) {\n        pdef._M_cur = (__node_type *)0x0;\n        *resolve_oldsym = true;\n        uVar13 = 0;\n        this_00 = pSVar4;\n      }\n    }\nLAB_002c52a8:\n    piVar7 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n    if (piVar7 != (int *)0x0) {\n      if (*(char *)(piVar7[1] + 0xc) == '\0') goto LAB_002c55b0;\n      pSVar10 = (Symbol *)*pname;\n      pSVar2 = (Sized_symbol<32> *)(**(code **)(*piVar7 + 0xa8))(piVar7,pSVar10,0,0,0);\n      if (pSVar2 != (Sized_symbol<32> *)0x0) {\n        while (uVar15 == 0) {\n          pSVar10 = (Symbol *)&DAT_00000794;\n          if (this_00 != (Symbol_table *)0x0) goto LAB_002c530c;\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,\n                     PTR_s_in_a_linker_script_004c191c + 0x2f4c);\nLAB_002c55b0:\n          pSVar2 = (Sized_symbol<32> *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n          pSVar10 = (Symbol *)0x0;\n          (*(code *)PTR_memset_004c5c68)(pSVar2,0,0x30);\n        }\n        _Var16._M_nxt[3]._M_nxt = (_Hash_node_base *)pSVar2;\nLAB_002c530c:\n        if (uVar13 != 0) {\n          *(Sized_symbol<32> **)\n           ((int)&((pdef._M_cur)->\n                  super__Hash_node_value_base<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>\n                  )._M_storage._M_storage + 8) = pSVar2;\n        }\n        pSVar3 = get_sized_symbol<32>(this_00,pSVar10);\n        *poldsym = pSVar3;\n        goto LAB_002c5450;\n      }\n      goto LAB_002c544c;\n    }\n    puVar11 = PTR_s_in_a_linker_script_004c191c + 0x3098;\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,puVar11);\n  }" else (compound_statement "{\n    puVar11 = PTR_s_in_a_linker_script_004c191c;\n    if (this_00 != (Symbol_table *)0x0) goto LAB_002c567c;\n    _Var16._M_nxt = local_3c._M_nxt;\n    if (uVar12 == 0) {\n      pdef._M_cur = (__node_type *)0x0;\n      uVar13 = uVar12;\n    }\n    else {\n      uVar15 = uVar13;\n      if ((uVar13 == 0) &&\n         (pSVar4 = *(Symbol_table **)((int)pdef._M_cur + 0xc), uVar13 = uVar12, uVar15 = uVar12,\n         pSVar4->first_global_index_ == 0)) {\n        pdef._M_cur = (__node_type *)0x0;\n        *resolve_oldsym = true;\n        uVar13 = 0;\n        this_00 = pSVar4;\n      }\n    }\nLAB_002c52a8:\n    piVar7 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n    if (piVar7 != (int *)0x0) {\n      if (*(char *)(piVar7[1] + 0xc) == '\0') goto LAB_002c55b0;\n      pSVar10 = (Symbol *)*pname;\n      pSVar2 = (Sized_symbol<32> *)(**(code **)(*piVar7 + 0xa8))(piVar7,pSVar10,0,0,0);\n      if (pSVar2 != (Sized_symbol<32> *)0x0) {\n        while (uVar15 == 0) {\n          pSVar10 = (Symbol *)&DAT_00000794;\n          if (this_00 != (Symbol_table *)0x0) goto LAB_002c530c;\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,\n                     PTR_s_in_a_linker_script_004c191c + 0x2f4c);\nLAB_002c55b0:\n          pSVar2 = (Sized_symbol<32> *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n          pSVar10 = (Symbol *)0x0;\n          (*(code *)PTR_memset_004c5c68)(pSVar2,0,0x30);\n        }\n        _Var16._M_nxt[3]._M_nxt = (_Hash_node_base *)pSVar2;\nLAB_002c530c:\n        if (uVar13 != 0) {\n          *(Sized_symbol<32> **)\n           ((int)&((pdef._M_cur)->\n                  super__Hash_node_value_base<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>\n                  )._M_storage._M_storage + 8) = pSVar2;\n        }\n        pSVar3 = get_sized_symbol<32>(this_00,pSVar10);\n        *poldsym = pSVar3;\n        goto LAB_002c5450;\n      }\n      goto LAB_002c544c;\n    }\n    puVar11 = PTR_s_in_a_linker_script_004c191c + 0x3098;\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,puVar11);\n  }" { (expression_statement "puVar11 = PTR_s_in_a_linker_script_004c191c;" (assignment_expression "puVar11 = PTR_s_in_a_linker_script_004c191c" identifier = identifier) ;) (if_statement "if (this_00 != (Symbol_table *)0x0) goto LAB_002c567c;" if (parenthesized_expression "(this_00 != (Symbol_table *)0x0)" ( (binary_expression "this_00 != (Symbol_table *)0x0" identifier != (cast_expression "(Symbol_table *)0x0" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002c567c;" goto statement_identifier ;)) (expression_statement "_Var16._M_nxt = local_3c._M_nxt;" (assignment_expression "_Var16._M_nxt = local_3c._M_nxt" (field_expression "_Var16._M_nxt" identifier . field_identifier) = (field_expression "local_3c._M_nxt" identifier . field_identifier)) ;) (if_statement "if (uVar12 == 0) {\n      pdef._M_cur = (__node_type *)0x0;\n      uVar13 = uVar12;\n    }\n    else {\n      uVar15 = uVar13;\n      if ((uVar13 == 0) &&\n         (pSVar4 = *(Symbol_table **)((int)pdef._M_cur + 0xc), uVar13 = uVar12, uVar15 = uVar12,\n         pSVar4->first_global_index_ == 0)) {\n        pdef._M_cur = (__node_type *)0x0;\n        *resolve_oldsym = true;\n        uVar13 = 0;\n        this_00 = pSVar4;\n      }\n    }" if (parenthesized_expression "(uVar12 == 0)" ( (binary_expression "uVar12 == 0" identifier == number_literal) )) (compound_statement "{\n      pdef._M_cur = (__node_type *)0x0;\n      uVar13 = uVar12;\n    }" { (expression_statement "pdef._M_cur = (__node_type *)0x0;" (assignment_expression "pdef._M_cur = (__node_type *)0x0" (field_expression "pdef._M_cur" identifier . field_identifier) = (cast_expression "(__node_type *)0x0" ( (type_descriptor "__node_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar13 = uVar12;" (assignment_expression "uVar13 = uVar12" identifier = identifier) ;) }) (else_clause "else {\n      uVar15 = uVar13;\n      if ((uVar13 == 0) &&\n         (pSVar4 = *(Symbol_table **)((int)pdef._M_cur + 0xc), uVar13 = uVar12, uVar15 = uVar12,\n         pSVar4->first_global_index_ == 0)) {\n        pdef._M_cur = (__node_type *)0x0;\n        *resolve_oldsym = true;\n        uVar13 = 0;\n        this_00 = pSVar4;\n      }\n    }" else (compound_statement "{\n      uVar15 = uVar13;\n      if ((uVar13 == 0) &&\n         (pSVar4 = *(Symbol_table **)((int)pdef._M_cur + 0xc), uVar13 = uVar12, uVar15 = uVar12,\n         pSVar4->first_global_index_ == 0)) {\n        pdef._M_cur = (__node_type *)0x0;\n        *resolve_oldsym = true;\n        uVar13 = 0;\n        this_00 = pSVar4;\n      }\n    }" { (expression_statement "uVar15 = uVar13;" (assignment_expression "uVar15 = uVar13" identifier = identifier) ;) (if_statement "if ((uVar13 == 0) &&\n         (pSVar4 = *(Symbol_table **)((int)pdef._M_cur + 0xc), uVar13 = uVar12, uVar15 = uVar12,\n         pSVar4->first_global_index_ == 0)) {\n        pdef._M_cur = (__node_type *)0x0;\n        *resolve_oldsym = true;\n        uVar13 = 0;\n        this_00 = pSVar4;\n      }" if (parenthesized_expression "((uVar13 == 0) &&\n         (pSVar4 = *(Symbol_table **)((int)pdef._M_cur + 0xc), uVar13 = uVar12, uVar15 = uVar12,\n         pSVar4->first_global_index_ == 0))" ( (binary_expression "(uVar13 == 0) &&\n         (pSVar4 = *(Symbol_table **)((int)pdef._M_cur + 0xc), uVar13 = uVar12, uVar15 = uVar12,\n         pSVar4->first_global_index_ == 0)" (parenthesized_expression "(uVar13 == 0)" ( (binary_expression "uVar13 == 0" identifier == number_literal) )) && (parenthesized_expression "(pSVar4 = *(Symbol_table **)((int)pdef._M_cur + 0xc), uVar13 = uVar12, uVar15 = uVar12,\n         pSVar4->first_global_index_ == 0)" ( (comma_expression "pSVar4 = *(Symbol_table **)((int)pdef._M_cur + 0xc), uVar13 = uVar12, uVar15 = uVar12,\n         pSVar4->first_global_index_ == 0" (assignment_expression "pSVar4 = *(Symbol_table **)((int)pdef._M_cur + 0xc)" identifier = (pointer_expression "*(Symbol_table **)((int)pdef._M_cur + 0xc)" * (cast_expression "(Symbol_table **)((int)pdef._M_cur + 0xc)" ( (type_descriptor "Symbol_table **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pdef._M_cur + 0xc)" ( (binary_expression "(int)pdef._M_cur + 0xc" (cast_expression "(int)pdef._M_cur" ( (type_descriptor "int" primitive_type) ) (field_expression "pdef._M_cur" identifier . field_identifier)) + number_literal) ))))) , (comma_expression "uVar13 = uVar12, uVar15 = uVar12,\n         pSVar4->first_global_index_ == 0" (assignment_expression "uVar13 = uVar12" identifier = identifier) , (comma_expression "uVar15 = uVar12,\n         pSVar4->first_global_index_ == 0" (assignment_expression "uVar15 = uVar12" identifier = identifier) , (binary_expression "pSVar4->first_global_index_ == 0" (field_expression "pSVar4->first_global_index_" identifier -> field_identifier) == number_literal)))) ))) )) (compound_statement "{\n        pdef._M_cur = (__node_type *)0x0;\n        *resolve_oldsym = true;\n        uVar13 = 0;\n        this_00 = pSVar4;\n      }" { (expression_statement "pdef._M_cur = (__node_type *)0x0;" (assignment_expression "pdef._M_cur = (__node_type *)0x0" (field_expression "pdef._M_cur" identifier . field_identifier) = (cast_expression "(__node_type *)0x0" ( (type_descriptor "__node_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*resolve_oldsym = true;" (assignment_expression "*resolve_oldsym = true" (pointer_expression "*resolve_oldsym" * identifier) = true) ;) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (expression_statement "this_00 = pSVar4;" (assignment_expression "this_00 = pSVar4" identifier = identifier) ;) })) }))) (labeled_statement "LAB_002c52a8:\n    piVar7 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);" statement_identifier : (expression_statement "piVar7 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);" (assignment_expression "piVar7 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc)" identifier = (pointer_expression "*(int **)(*(int *)PTR_parameters_004c19b4 + 0xc)" * (cast_expression "(int **)(*(int *)PTR_parameters_004c19b4 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)PTR_parameters_004c19b4 + 0xc)" ( (binary_expression "*(int *)PTR_parameters_004c19b4 + 0xc" (pointer_expression "*(int *)PTR_parameters_004c19b4" * (cast_expression "(int *)PTR_parameters_004c19b4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) ;)) (if_statement "if (piVar7 != (int *)0x0) {\n      if (*(char *)(piVar7[1] + 0xc) == '\0') goto LAB_002c55b0;\n      pSVar10 = (Symbol *)*pname;\n      pSVar2 = (Sized_symbol<32> *)(**(code **)(*piVar7 + 0xa8))(piVar7,pSVar10,0,0,0);\n      if (pSVar2 != (Sized_symbol<32> *)0x0) {\n        while (uVar15 == 0) {\n          pSVar10 = (Symbol *)&DAT_00000794;\n          if (this_00 != (Symbol_table *)0x0) goto LAB_002c530c;\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,\n                     PTR_s_in_a_linker_script_004c191c + 0x2f4c);\nLAB_002c55b0:\n          pSVar2 = (Sized_symbol<32> *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n          pSVar10 = (Symbol *)0x0;\n          (*(code *)PTR_memset_004c5c68)(pSVar2,0,0x30);\n        }\n        _Var16._M_nxt[3]._M_nxt = (_Hash_node_base *)pSVar2;\nLAB_002c530c:\n        if (uVar13 != 0) {\n          *(Sized_symbol<32> **)\n           ((int)&((pdef._M_cur)->\n                  super__Hash_node_value_base<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>\n                  )._M_storage._M_storage + 8) = pSVar2;\n        }\n        pSVar3 = get_sized_symbol<32>(this_00,pSVar10);\n        *poldsym = pSVar3;\n        goto LAB_002c5450;\n      }\n      goto LAB_002c544c;\n    }" if (parenthesized_expression "(piVar7 != (int *)0x0)" ( (binary_expression "piVar7 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (*(char *)(piVar7[1] + 0xc) == '\0') goto LAB_002c55b0;\n      pSVar10 = (Symbol *)*pname;\n      pSVar2 = (Sized_symbol<32> *)(**(code **)(*piVar7 + 0xa8))(piVar7,pSVar10,0,0,0);\n      if (pSVar2 != (Sized_symbol<32> *)0x0) {\n        while (uVar15 == 0) {\n          pSVar10 = (Symbol *)&DAT_00000794;\n          if (this_00 != (Symbol_table *)0x0) goto LAB_002c530c;\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,\n                     PTR_s_in_a_linker_script_004c191c + 0x2f4c);\nLAB_002c55b0:\n          pSVar2 = (Sized_symbol<32> *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n          pSVar10 = (Symbol *)0x0;\n          (*(code *)PTR_memset_004c5c68)(pSVar2,0,0x30);\n        }\n        _Var16._M_nxt[3]._M_nxt = (_Hash_node_base *)pSVar2;\nLAB_002c530c:\n        if (uVar13 != 0) {\n          *(Sized_symbol<32> **)\n           ((int)&((pdef._M_cur)->\n                  super__Hash_node_value_base<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>\n                  )._M_storage._M_storage + 8) = pSVar2;\n        }\n        pSVar3 = get_sized_symbol<32>(this_00,pSVar10);\n        *poldsym = pSVar3;\n        goto LAB_002c5450;\n      }\n      goto LAB_002c544c;\n    }" { (if_statement "if (*(char *)(piVar7[1] + 0xc) == '\0') goto LAB_002c55b0;" if (parenthesized_expression "(*(char *)(piVar7[1] + 0xc) == '\0')" ( (binary_expression "*(char *)(piVar7[1] + 0xc) == '\0'" (pointer_expression "*(char *)(piVar7[1] + 0xc)" * (cast_expression "(char *)(piVar7[1] + 0xc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar7[1] + 0xc)" ( (binary_expression "piVar7[1] + 0xc" (subscript_expression "piVar7[1]" identifier [ number_literal ]) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_002c55b0;" goto statement_identifier ;)) (expression_statement "pSVar10 = (Symbol *)*pname;" (assignment_expression "pSVar10 = (Symbol *)*pname" identifier = (cast_expression "(Symbol *)*pname" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*pname" * identifier))) ;) (expression_statement "pSVar2 = (Sized_symbol<32> *)(**(code **)(*piVar7 + 0xa8))(piVar7,pSVar10,0,0,0);" (assignment_expression "pSVar2 = (Sized_symbol<32> *)(**(code **)(*piVar7 + 0xa8))(piVar7,pSVar10,0,0,0)" identifier = (call_expression "(Sized_symbol<32> *)(**(code **)(*piVar7 + 0xa8))(piVar7,pSVar10,0,0,0)" (call_expression "(Sized_symbol<32> *)(**(code **)(*piVar7 + 0xa8))" (parenthesized_expression "(Sized_symbol<32> *)" ( (binary_expression "Sized_symbol<32> *" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "*" * identifier)) )) (argument_list "(**(code **)(*piVar7 + 0xa8))" ( (pointer_expression "**(code **)(*piVar7 + 0xa8)" * (pointer_expression "*(code **)(*piVar7 + 0xa8)" * (cast_expression "(code **)(*piVar7 + 0xa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar7 + 0xa8)" ( (binary_expression "*piVar7 + 0xa8" (pointer_expression "*piVar7" * identifier) + number_literal) ))))) ))) (argument_list "(piVar7,pSVar10,0,0,0)" ( identifier , identifier , number_literal , number_literal , number_literal )))) ;) (if_statement "if (pSVar2 != (Sized_symbol<32> *)0x0) {\n        while (uVar15 == 0) {\n          pSVar10 = (Symbol *)&DAT_00000794;\n          if (this_00 != (Symbol_table *)0x0) goto LAB_002c530c;\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,\n                     PTR_s_in_a_linker_script_004c191c + 0x2f4c);\nLAB_002c55b0:\n          pSVar2 = (Sized_symbol<32> *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n          pSVar10 = (Symbol *)0x0;\n          (*(code *)PTR_memset_004c5c68)(pSVar2,0,0x30);\n        }\n        _Var16._M_nxt[3]._M_nxt = (_Hash_node_base *)pSVar2;\nLAB_002c530c:\n        if (uVar13 != 0) {\n          *(Sized_symbol<32> **)\n           ((int)&((pdef._M_cur)->\n                  super__Hash_node_value_base<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>\n                  )._M_storage._M_storage + 8) = pSVar2;\n        }\n        pSVar3 = get_sized_symbol<32>(this_00,pSVar10);\n        *poldsym = pSVar3;\n        goto LAB_002c5450;\n      }" if (parenthesized_expression "(pSVar2 != (Sized_symbol<32> *)0x0)" ( (binary_expression "pSVar2 != (Sized_symbol<32> *)0x0)" identifier != (parenthesized_expression "(Sized_symbol<32> *)0x0)" ( (binary_expression "Sized_symbol<32> *)0x0" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) ))) )) (compound_statement "{\n        while (uVar15 == 0) {\n          pSVar10 = (Symbol *)&DAT_00000794;\n          if (this_00 != (Symbol_table *)0x0) goto LAB_002c530c;\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,\n                     PTR_s_in_a_linker_script_004c191c + 0x2f4c);\nLAB_002c55b0:\n          pSVar2 = (Sized_symbol<32> *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n          pSVar10 = (Symbol *)0x0;\n          (*(code *)PTR_memset_004c5c68)(pSVar2,0,0x30);\n        }\n        _Var16._M_nxt[3]._M_nxt = (_Hash_node_base *)pSVar2;\nLAB_002c530c:\n        if (uVar13 != 0) {\n          *(Sized_symbol<32> **)\n           ((int)&((pdef._M_cur)->\n                  super__Hash_node_value_base<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>\n                  )._M_storage._M_storage + 8) = pSVar2;\n        }\n        pSVar3 = get_sized_symbol<32>(this_00,pSVar10);\n        *poldsym = pSVar3;\n        goto LAB_002c5450;\n      }" { (while_statement "while (uVar15 == 0) {\n          pSVar10 = (Symbol *)&DAT_00000794;\n          if (this_00 != (Symbol_table *)0x0) goto LAB_002c530c;\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,\n                     PTR_s_in_a_linker_script_004c191c + 0x2f4c);\nLAB_002c55b0:\n          pSVar2 = (Sized_symbol<32> *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n          pSVar10 = (Symbol *)0x0;\n          (*(code *)PTR_memset_004c5c68)(pSVar2,0,0x30);\n        }" while (parenthesized_expression "(uVar15 == 0)" ( (binary_expression "uVar15 == 0" identifier == number_literal) )) (compound_statement "{\n          pSVar10 = (Symbol *)&DAT_00000794;\n          if (this_00 != (Symbol_table *)0x0) goto LAB_002c530c;\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,\n                     PTR_s_in_a_linker_script_004c191c + 0x2f4c);\nLAB_002c55b0:\n          pSVar2 = (Sized_symbol<32> *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n          pSVar10 = (Symbol *)0x0;\n          (*(code *)PTR_memset_004c5c68)(pSVar2,0,0x30);\n        }" { (expression_statement "pSVar10 = (Symbol *)&DAT_00000794;" (assignment_expression "pSVar10 = (Symbol *)&DAT_00000794" identifier = (cast_expression "(Symbol *)&DAT_00000794" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000794" & identifier))) ;) (if_statement "if (this_00 != (Symbol_table *)0x0) goto LAB_002c530c;" if (parenthesized_expression "(this_00 != (Symbol_table *)0x0)" ( (binary_expression "this_00 != (Symbol_table *)0x0" identifier != (cast_expression "(Symbol_table *)0x0" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002c530c;" goto statement_identifier ;)) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,\n                     PTR_s_in_a_linker_script_004c191c + 0x2f4c);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,\n                     PTR_s_in_a_linker_script_004c191c + 0x2f4c)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,\n                     PTR_s_in_a_linker_script_004c191c + 0x2f4c)" ( (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x24b0" identifier + number_literal) , number_literal , (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x2f4c" identifier + number_literal) ))) ;) (labeled_statement "LAB_002c55b0:\n          pSVar2 = (Sized_symbol<32> *)(*(code *)PTR_operator_new_004c13a8)(0x38);" statement_identifier : (expression_statement "pSVar2 = (Sized_symbol<32> *)(*(code *)PTR_operator_new_004c13a8)(0x38);" (assignment_expression "pSVar2 = (Sized_symbol<32> *)(*(code *)PTR_operator_new_004c13a8)(0x38)" identifier = (call_expression "(Sized_symbol<32> *)(*(code *)PTR_operator_new_004c13a8)(0x38)" (call_expression "(Sized_symbol<32> *)(*(code *)PTR_operator_new_004c13a8)" (parenthesized_expression "(Sized_symbol<32> *)" ( (binary_expression "Sized_symbol<32> *" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "*" * identifier)) )) (argument_list "(*(code *)PTR_operator_new_004c13a8)" ( (pointer_expression "*(code *)PTR_operator_new_004c13a8" * (cast_expression "(code *)PTR_operator_new_004c13a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) (argument_list "(0x38)" ( number_literal )))) ;)) (expression_statement "pSVar10 = (Symbol *)0x0;" (assignment_expression "pSVar10 = (Symbol *)0x0" identifier = (cast_expression "(Symbol *)0x0" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*(code *)PTR_memset_004c5c68)(pSVar2,0,0x30);" (call_expression "(*(code *)PTR_memset_004c5c68)(pSVar2,0,0x30)" (parenthesized_expression "(*(code *)PTR_memset_004c5c68)" ( (pointer_expression "*(code *)PTR_memset_004c5c68" * (cast_expression "(code *)PTR_memset_004c5c68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pSVar2,0,0x30)" ( identifier , number_literal , number_literal ))) ;) })) (expression_statement "_Var16._M_nxt[3]._M_nxt = (_Hash_node_base *)pSVar2;" (assignment_expression "_Var16._M_nxt[3]._M_nxt = (_Hash_node_base *)pSVar2" (field_expression "_Var16._M_nxt[3]._M_nxt" (subscript_expression "_Var16._M_nxt[3]" (field_expression "_Var16._M_nxt" identifier . field_identifier) [ number_literal ]) . field_identifier) = (cast_expression "(_Hash_node_base *)pSVar2" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (labeled_statement "LAB_002c530c:\n        if (uVar13 != 0) {\n          *(Sized_symbol<32> **)\n           ((int)&((pdef._M_cur)->\n                  super__Hash_node_value_base<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>\n                  )._M_storage._M_storage + 8) = pSVar2;\n        }" statement_identifier : (if_statement "if (uVar13 != 0) {\n          *(Sized_symbol<32> **)\n           ((int)&((pdef._M_cur)->\n                  super__Hash_node_value_base<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>\n                  )._M_storage._M_storage + 8) = pSVar2;\n        }" if (parenthesized_expression "(uVar13 != 0)" ( (binary_expression "uVar13 != 0" identifier != number_literal) )) (compound_statement "{\n          *(Sized_symbol<32> **)\n           ((int)&((pdef._M_cur)->\n                  super__Hash_node_value_base<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>\n                  )._M_storage._M_storage + 8) = pSVar2;\n        }" { (expression_statement "*(Sized_symbol<32> **)\n           ((int)&((pdef._M_cur)->\n                  super__Hash_node_value_base<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>\n                  )._M_storage._M_storage + 8) = pSVar2;" (pointer_expression "*(Sized_symbol<32> **)\n           ((int)&((pdef._M_cur)->\n                  super__Hash_node_value_base<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>\n                  )._M_storage._M_storage + 8) = pSVar2" * (parenthesized_expression "(Sized_symbol<32> **)\n           ((int)&((pdef._M_cur)->\n                  super__Hash_node_value_base<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>\n                  )._M_storage._M_storage + 8) = pSVar2" ( (binary_expression "Sized_symbol<32> **)\n           ((int)&((pdef._M_cur)->\n                  super__Hash_node_value_base<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>\n                  )._M_storage._M_storage + 8) = pSVar2" (binary_expression "Sized_symbol<32" identifier < number_literal) > (assignment_expression "**)\n           ((int)&((pdef._M_cur)->\n                  super__Hash_node_value_base<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>\n                  )._M_storage._M_storage + 8) = pSVar2" (pointer_expression "**)\n           ((int)&((pdef._M_cur)->\n                  super__Hash_node_value_base<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>\n                  )._M_storage._M_storage + 8)" * (pointer_expression "*)\n           ((int)&((pdef._M_cur)->\n                  super__Hash_node_value_base<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>\n                  )._M_storage._M_storage + 8)" * (ERROR ")" )) (parenthesized_expression "((int)&((pdef._M_cur)->\n                  super__Hash_node_value_base<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>\n                  )._M_storage._M_storage + 8)" ( (binary_expression "(int)&((pdef._M_cur)->\n                  super__Hash_node_value_base<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>\n                  )._M_storage._M_storage + 8" (cast_expression "(int)&((pdef._M_cur)->\n                  super__Hash_node_value_base<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>\n                  )._M_storage._M_storage" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((pdef._M_cur)->\n                  super__Hash_node_value_base<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>\n                  )._M_storage._M_storage" & (field_expression "((pdef._M_cur)->\n                  super__Hash_node_value_base<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>\n                  )._M_storage._M_storage" (field_expression "((pdef._M_cur)->\n                  super__Hash_node_value_base<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>\n                  )._M_storage" (parenthesized_expression "((pdef._M_cur)->\n                  super__Hash_node_value_base<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Symbol*>_>\n                  )" ( (comma_expression "(pdef._M_cur)->\n                  super__Hash_node_value_base<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold" (binary_expression "(pdef._M_cur)->\n                  super__Hash_node_value_base<std::pair<const_std::pair<unsigned_int" (binary_expression "(pdef._M_cur)->\n                  super__Hash_node_value_base<std::pair<const_std" (binary_expression "(pdef._M_cur)->\n                  super__Hash_node_value_base<std" (field_expression "(pdef._M_cur)->\n                  super__Hash_node_value_base" (parenthesized_expression "(pdef._M_cur)" ( (field_expression "pdef._M_cur" identifier . field_identifier) )) -> field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_unsigned_int>,_gold" identifier > (ERROR "," ,) identifier)) (ERROR "::Symbol*>_>" : : identifier * > identifier >) )) . field_identifier) . field_identifier))) + number_literal) )))) = identifier)) ))) ;) }))) (expression_statement "pSVar3 = get_sized_symbol<32>(this_00,pSVar10);" (assignment_expression "pSVar3 = get_sized_symbol<32>(this_00,pSVar10)" identifier = (binary_expression "get_sized_symbol<32>(this_00,pSVar10)" (binary_expression "get_sized_symbol<32" identifier < number_literal) > (parenthesized_expression "(this_00,pSVar10)" ( (comma_expression "this_00,pSVar10" identifier , identifier) )))) ;) (expression_statement "*poldsym = pSVar3;" (assignment_expression "*poldsym = pSVar3" (pointer_expression "*poldsym" * identifier) = identifier) ;) (goto_statement "goto LAB_002c5450;" goto statement_identifier ;) })) (goto_statement "goto LAB_002c544c;" goto statement_identifier ;) })) (expression_statement "puVar11 = PTR_s_in_a_linker_script_004c191c + 0x3098;" (assignment_expression "puVar11 = PTR_s_in_a_linker_script_004c191c + 0x3098" identifier = (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x3098" identifier + number_literal)) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,puVar11);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,puVar11)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,puVar11)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8" identifier + number_literal) , number_literal , identifier ))) ;) }))) (expression_statement "puVar11 = puVar11 + 0x2f4c;" (assignment_expression "puVar11 = puVar11 + 0x2f4c" identifier = (binary_expression "puVar11 + 0x2f4c" identifier + number_literal)) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x75a,puVar11);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x75a,puVar11)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_in_a_linker_script_004c191c + 0x24b0,0x75a,puVar11)" ( (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x24b0" identifier + number_literal) , number_literal , identifier ))) ;) (labeled_statement "LAB_002c567c:\n  puVar8 = PTR_s_in_a_linker_script_004c191c + 0x24b0;" statement_identifier : (expression_statement "puVar8 = PTR_s_in_a_linker_script_004c191c + 0x24b0;" (assignment_expression "puVar8 = PTR_s_in_a_linker_script_004c191c + 0x24b0" identifier = (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x24b0" identifier + number_literal)) ;)) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)(puVar8,0x768,puVar11 + 0x2f4c);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)(puVar8,0x768,puVar11 + 0x2f4c)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar8,0x768,puVar11 + 0x2f4c)" ( identifier , number_literal , (binary_expression "puVar11 + 0x2f4c" identifier + number_literal) ))) ;) comment (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)v._M_dataplus._M_p != paVar14) {\n    (*(code *)PTR_operator_delete_004c12fc)(v._M_dataplus._M_p);\n  }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)v._M_dataplus._M_p != paVar14)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)v._M_dataplus._M_p != paVar14)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9\n       *)v._M_dataplus._M_p != paVar14" (binary_expression "allocator<char>_>_9\n       *)v._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n       *)v._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "v._M_dataplus._M_p" (field_expression "v._M_dataplus" identifier . field_identifier) . field_identifier))) != identifier) )) )) (compound_statement "{\n    (*(code *)PTR_operator_delete_004c12fc)(v._M_dataplus._M_p);\n  }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)(v._M_dataplus._M_p);" (call_expression "(*(code *)PTR_operator_delete_004c12fc)(v._M_dataplus._M_p)" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(v._M_dataplus._M_p)" ( (field_expression "v._M_dataplus._M_p" (field_expression "v._M_dataplus" identifier . field_identifier) . field_identifier) ))) ;) })) (expression_statement "pSVar2 = (Sized_symbol<32> *)(*(code *)PTR__Unwind_Resume_004c12c8)(puVar8);" (assignment_expression "pSVar2 = (Sized_symbol<32> *)(*(code *)PTR__Unwind_Resume_004c12c8)(puVar8)" identifier = (call_expression "(Sized_symbol<32> *)(*(code *)PTR__Unwind_Resume_004c12c8)(puVar8)" (call_expression "(Sized_symbol<32> *)(*(code *)PTR__Unwind_Resume_004c12c8)" (parenthesized_expression "(Sized_symbol<32> *)" ( (binary_expression "Sized_symbol<32> *" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "*" * identifier)) )) (argument_list "(*(code *)PTR__Unwind_Resume_004c12c8)" ( (pointer_expression "*(code *)PTR__Unwind_Resume_004c12c8" * (cast_expression "(code *)PTR__Unwind_Resume_004c12c8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) (argument_list "(puVar8)" ( identifier )))) ;) (return_statement "return pSVar2;" return identifier ;) }))
(translation_unit "Sized_symbol * __thiscall\ngold::Symbol_table::define_special_symbol<32,false>\n          (Symbol_table *this,undefined4 *param_1,int *param_2,int param_4,int param_5,\n          undefined4 *param_6,undefined1 *param_7,char param_8)\n\n{\n  undefined4 *puVar1;\n  uint uVar2;\n  Sized_symbol *pSVar3;\n  undefined4 uVar4;\n  undefined4 *puVar5;\n  uint uVar6;\n  int iVar7;\n  int *piVar8;\n  char *pcVar9;\n  uint uVar10;\n  uint uVar11;\n  undefined1 *local_68;\n  int local_64;\n  undefined1 local_60 [16];\n  uint local_50;\n  uint local_4c;\n  undefined4 local_48;\n  uint local_44;\n  byte local_40;\n  int local_3c;\n  byte local_38;\n  uint local_34;\n  uint local_30 [2];\n  \n  local_64 = 0;\n  local_60[0] = 0;\n  pcVar9 = (char *)*param_1;\n  *param_7 = 0;\n  *param_6 = 0;\n  local_68 = local_60;\n  if (param_8 == '\0') {\n    uVar6 = 0;\n    if (*param_2 == 0) {\n      uVar6 = Version_script_info::get_symbol_version\n                        (*(Version_script_info **)(this + 0x160),pcVar9,(string *)&local_68,\n                         (bool *)&local_50);\n      if ((uVar6 != 0) && (uVar6 = local_50 >> 0x18, uVar6 != 0)) {\n        if (local_64 == 0) {\n          pcVar9 = (char *)*param_1;\n          uVar6 = 0;\n          goto LAB_002c5224;\n        }\n        *param_2 = (int)local_68;\n      }\n      pcVar9 = (char *)*param_1;\n    }\nLAB_002c5224:\n    if (param_4 == 0) goto LAB_002c5340;\nLAB_002c522c:\n                    \n    puVar1 = (undefined4 *)lookup(this,pcVar9,(char *)*param_2);\n    if (puVar1 != (undefined4 *)0x0) {\nLAB_002c524c:\n      uVar2 = puVar1[10];\n      if ((uVar2 & 0xe000) != 0) {\n        if ((uVar2 & 0xe000) == 0x8000) goto LAB_002c5288;\n        goto LAB_002c544c;\n      }\n      if (puVar1[3] == 0) {\n        if ((int)(uVar2 << 0x1d) < 0) goto LAB_002c5288;\n        iVar7 = puVar1[2];\n      }\n      else {\n        iVar7 = puVar1[2];\n      }\n      if (-1 < *(int *)(iVar7 + 0x2c)) goto LAB_002c544c;\n      if ((param_5 - 1U < 2) && (-1 < (int)(uVar2 << 0x17))) {\n        pSVar3 = (Sized_symbol *)0x0;\n        goto LAB_002c5450;\n      }\nLAB_002c5288:\n      *param_1 = *puVar1;\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        *param_2 = puVar1[1];\n        uVar2 = 0;\n        uVar10 = 0;\n        iVar7 = 0;\n      }\n      else {\n        iVar7 = Stringpool_template<char>::add\n                          ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,\n                           (uint *)0x0);\n        uVar11 = 0;\n        *param_2 = iVar7;\n        uVar2 = 0;\n        uVar10 = 0;\n        iVar7 = 0;\n      }\n      goto LAB_002c52a8;\n    }\n    if (uVar6 != 0) {\n      puVar1 = (undefined4 *)lookup(this,(char *)*param_1,(char *)0x0);\n      if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)0x0;\n        goto LAB_002c5450;\n      }\n      goto LAB_002c524c;\n    }\nLAB_002c544c:\n    pSVar3 = (Sized_symbol *)0x0;\n  }\n  else {\n    uVar6 = 0;\n    if (param_4 != 0) goto LAB_002c522c;\nLAB_002c5340:\n    uVar4 = Stringpool_template<char>::add\n                      ((Stringpool_template<char> *)(this + 0x48),pcVar9,true,local_30);\n    *param_1 = uVar4;\n    local_34 = 0;\n    if ((char *)*param_2 != (char *)0x0) {\n      iVar7 = Stringpool_template<char>::add\n                        ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,&local_34)\n      ;\n      *param_2 = iVar7;\n    }\n    local_48 = 0;\n    local_50 = local_30[0];\n    local_4c = local_34;\n    std::\n    _Hashtable<std::pair<unsigned_int,unsigned_int>,std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>,std::allocator<std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>>,std::__detail::_Select1st,gold::Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>\n              (&local_3c,this + 0x28,0,&local_50);\n    if (uVar6 == 0) {\n      uVar2 = 0;\n      uVar11 = 0;\n    }\n    else {\n      local_4c = 0;\n      local_48 = 0;\n      local_50 = local_30[0];\n      std::\n      _Hashtable<std::pair<unsigned_int,unsigned_int>,std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>,std::allocator<std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>>,std::__detail::_Select1st,gold::Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>\n                (&local_44,this + 0x28,0,&local_50);\n      uVar2 = (uint)local_40;\n      uVar11 = local_44;\n    }\n    uVar10 = (uint)local_38;\n    puVar1 = *(undefined4 **)(local_3c + 0xc);\n    if (uVar10 == 0) {\n      if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x75a,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        uVar2 = uVar6;\n        uVar10 = uVar6;\n        iVar7 = 0;\n      }\n      else {\n        uVar4 = FUN_002b58f0(puVar1);\n        local_50 = uVar11;\n        define_default_version<32,false>(this,uVar4,uVar2,uVar11);\n        uVar11 = 0;\n        uVar2 = 0;\n        iVar7 = 0;\n      }\n    }\n    else {\n      if (puVar1 != (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x768,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n      iVar7 = local_3c;\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        uVar2 = uVar6;\n      }\n      else {\n        uVar10 = uVar2;\n        if ((uVar2 == 0) &&\n           (puVar5 = *(undefined4 **)(uVar11 + 0xc), uVar2 = uVar6, uVar10 = uVar6, puVar5[1] == 0))\n        {\n          uVar11 = 0;\n          *param_7 = 1;\n          uVar2 = 0;\n          puVar1 = puVar5;\n        }\n      }\n    }\nLAB_002c52a8:\n    piVar8 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n    if (piVar8 == (int *)0x0) {\n      pSVar3 = (Sized_symbol *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                          PTR_s_in_a_linker_script_004c191c + 0x3098);\n      return pSVar3;\n    }\n    if (*(char *)(piVar8[1] + 0xc) == '\0') {\n      pSVar3 = (Sized_symbol *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n      (*(code *)PTR_memset_004c5c68)(pSVar3,0,0x30);\n    }\n    else {\n      pSVar3 = (Sized_symbol *)(**(code **)(*piVar8 + 0xa8))(piVar8,*param_1,0,0,0);\n      if (pSVar3 == (Sized_symbol *)0x0) goto LAB_002c544c;\n    }\n    if (uVar10 == 0) {\n      if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n    }\n    else {\n      *(Sized_symbol **)(iVar7 + 0xc) = pSVar3;\n    }\n    if (uVar2 != 0) {\n      *(Sized_symbol **)(uVar11 + 0xc) = pSVar3;\n    }\n    uVar4 = FUN_002b58f0(puVar1);\n    *param_6 = uVar4;\n  }\nLAB_002c5450:\n  if (local_68 != local_60) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  return pSVar3;\n}\n\n" (ERROR "Sized_symbol * __thiscall\ngold::Symbol_table::define_special_symbol<32,false>\n          (Symbol_table *this,undefined4 *param_1,int *param_2,int param_4,int param_5,\n          undefined4 *param_6,undefined1 *param_7,char param_8)" (binary_expression "Sized_symbol * __thiscall\ngold::Symbol_table::define_special_symbol<32,false>\n          (Symbol_table *this,undefined4 *param_1,int *param_2,int param_4,int param_5,\n          undefined4 *param_6,undefined1 *param_7,char param_8)" (binary_expression "Sized_symbol * __thiscall\ngold::Symbol_table::define_special_symbol<32" (binary_expression "Sized_symbol * __thiscall" identifier * identifier) (ERROR "gold::Symbol_table::define_special_symbol" identifier : : identifier : : identifier) < number_literal) (ERROR ",false" , false) > (parenthesized_expression "(Symbol_table *this,undefined4 *param_1,int *param_2,int param_4,int param_5,\n          undefined4 *param_6,undefined1 *param_7,char param_8)" ( (comma_expression "Symbol_table *this,undefined4 *param_1,int *param_2,int param_4,int param_5,\n          undefined4 *param_6,undefined1 *param_7,char param_8" (binary_expression "Symbol_table *this" identifier * identifier) , (comma_expression "undefined4 *param_1,int *param_2,int param_4,int param_5,\n          undefined4 *param_6,undefined1 *param_7,char param_8" (binary_expression "undefined4 *param_1" identifier * identifier) , (comma_expression "int *param_2,int param_4,int param_5,\n          undefined4 *param_6,undefined1 *param_7,char param_8" (binary_expression "int *param_2" identifier * identifier) , (ERROR "int" identifier) (comma_expression "param_4,int param_5,\n          undefined4 *param_6,undefined1 *param_7,char param_8" identifier , (ERROR "int" identifier) (comma_expression "param_5,\n          undefined4 *param_6,undefined1 *param_7,char param_8" identifier , (comma_expression "undefined4 *param_6,undefined1 *param_7,char param_8" (binary_expression "undefined4 *param_6" identifier * identifier) , (comma_expression "undefined1 *param_7,char param_8" (binary_expression "undefined1 *param_7" identifier * identifier) , (ERROR "char" identifier) identifier))))))) )))) (compound_statement "{\n  undefined4 *puVar1;\n  uint uVar2;\n  Sized_symbol *pSVar3;\n  undefined4 uVar4;\n  undefined4 *puVar5;\n  uint uVar6;\n  int iVar7;\n  int *piVar8;\n  char *pcVar9;\n  uint uVar10;\n  uint uVar11;\n  undefined1 *local_68;\n  int local_64;\n  undefined1 local_60 [16];\n  uint local_50;\n  uint local_4c;\n  undefined4 local_48;\n  uint local_44;\n  byte local_40;\n  int local_3c;\n  byte local_38;\n  uint local_34;\n  uint local_30 [2];\n  \n  local_64 = 0;\n  local_60[0] = 0;\n  pcVar9 = (char *)*param_1;\n  *param_7 = 0;\n  *param_6 = 0;\n  local_68 = local_60;\n  if (param_8 == '\0') {\n    uVar6 = 0;\n    if (*param_2 == 0) {\n      uVar6 = Version_script_info::get_symbol_version\n                        (*(Version_script_info **)(this + 0x160),pcVar9,(string *)&local_68,\n                         (bool *)&local_50);\n      if ((uVar6 != 0) && (uVar6 = local_50 >> 0x18, uVar6 != 0)) {\n        if (local_64 == 0) {\n          pcVar9 = (char *)*param_1;\n          uVar6 = 0;\n          goto LAB_002c5224;\n        }\n        *param_2 = (int)local_68;\n      }\n      pcVar9 = (char *)*param_1;\n    }\nLAB_002c5224:\n    if (param_4 == 0) goto LAB_002c5340;\nLAB_002c522c:\n                    \n    puVar1 = (undefined4 *)lookup(this,pcVar9,(char *)*param_2);\n    if (puVar1 != (undefined4 *)0x0) {\nLAB_002c524c:\n      uVar2 = puVar1[10];\n      if ((uVar2 & 0xe000) != 0) {\n        if ((uVar2 & 0xe000) == 0x8000) goto LAB_002c5288;\n        goto LAB_002c544c;\n      }\n      if (puVar1[3] == 0) {\n        if ((int)(uVar2 << 0x1d) < 0) goto LAB_002c5288;\n        iVar7 = puVar1[2];\n      }\n      else {\n        iVar7 = puVar1[2];\n      }\n      if (-1 < *(int *)(iVar7 + 0x2c)) goto LAB_002c544c;\n      if ((param_5 - 1U < 2) && (-1 < (int)(uVar2 << 0x17))) {\n        pSVar3 = (Sized_symbol *)0x0;\n        goto LAB_002c5450;\n      }\nLAB_002c5288:\n      *param_1 = *puVar1;\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        *param_2 = puVar1[1];\n        uVar2 = 0;\n        uVar10 = 0;\n        iVar7 = 0;\n      }\n      else {\n        iVar7 = Stringpool_template<char>::add\n                          ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,\n                           (uint *)0x0);\n        uVar11 = 0;\n        *param_2 = iVar7;\n        uVar2 = 0;\n        uVar10 = 0;\n        iVar7 = 0;\n      }\n      goto LAB_002c52a8;\n    }\n    if (uVar6 != 0) {\n      puVar1 = (undefined4 *)lookup(this,(char *)*param_1,(char *)0x0);\n      if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)0x0;\n        goto LAB_002c5450;\n      }\n      goto LAB_002c524c;\n    }\nLAB_002c544c:\n    pSVar3 = (Sized_symbol *)0x0;\n  }\n  else {\n    uVar6 = 0;\n    if (param_4 != 0) goto LAB_002c522c;\nLAB_002c5340:\n    uVar4 = Stringpool_template<char>::add\n                      ((Stringpool_template<char> *)(this + 0x48),pcVar9,true,local_30);\n    *param_1 = uVar4;\n    local_34 = 0;\n    if ((char *)*param_2 != (char *)0x0) {\n      iVar7 = Stringpool_template<char>::add\n                        ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,&local_34)\n      ;\n      *param_2 = iVar7;\n    }\n    local_48 = 0;\n    local_50 = local_30[0];\n    local_4c = local_34;\n    std::\n    _Hashtable<std::pair<unsigned_int,unsigned_int>,std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>,std::allocator<std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>>,std::__detail::_Select1st,gold::Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>\n              (&local_3c,this + 0x28,0,&local_50);\n    if (uVar6 == 0) {\n      uVar2 = 0;\n      uVar11 = 0;\n    }\n    else {\n      local_4c = 0;\n      local_48 = 0;\n      local_50 = local_30[0];\n      std::\n      _Hashtable<std::pair<unsigned_int,unsigned_int>,std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>,std::allocator<std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>>,std::__detail::_Select1st,gold::Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>\n                (&local_44,this + 0x28,0,&local_50);\n      uVar2 = (uint)local_40;\n      uVar11 = local_44;\n    }\n    uVar10 = (uint)local_38;\n    puVar1 = *(undefined4 **)(local_3c + 0xc);\n    if (uVar10 == 0) {\n      if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x75a,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        uVar2 = uVar6;\n        uVar10 = uVar6;\n        iVar7 = 0;\n      }\n      else {\n        uVar4 = FUN_002b58f0(puVar1);\n        local_50 = uVar11;\n        define_default_version<32,false>(this,uVar4,uVar2,uVar11);\n        uVar11 = 0;\n        uVar2 = 0;\n        iVar7 = 0;\n      }\n    }\n    else {\n      if (puVar1 != (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x768,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n      iVar7 = local_3c;\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        uVar2 = uVar6;\n      }\n      else {\n        uVar10 = uVar2;\n        if ((uVar2 == 0) &&\n           (puVar5 = *(undefined4 **)(uVar11 + 0xc), uVar2 = uVar6, uVar10 = uVar6, puVar5[1] == 0))\n        {\n          uVar11 = 0;\n          *param_7 = 1;\n          uVar2 = 0;\n          puVar1 = puVar5;\n        }\n      }\n    }\nLAB_002c52a8:\n    piVar8 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n    if (piVar8 == (int *)0x0) {\n      pSVar3 = (Sized_symbol *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                          PTR_s_in_a_linker_script_004c191c + 0x3098);\n      return pSVar3;\n    }\n    if (*(char *)(piVar8[1] + 0xc) == '\0') {\n      pSVar3 = (Sized_symbol *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n      (*(code *)PTR_memset_004c5c68)(pSVar3,0,0x30);\n    }\n    else {\n      pSVar3 = (Sized_symbol *)(**(code **)(*piVar8 + 0xa8))(piVar8,*param_1,0,0,0);\n      if (pSVar3 == (Sized_symbol *)0x0) goto LAB_002c544c;\n    }\n    if (uVar10 == 0) {\n      if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n    }\n    else {\n      *(Sized_symbol **)(iVar7 + 0xc) = pSVar3;\n    }\n    if (uVar2 != 0) {\n      *(Sized_symbol **)(uVar11 + 0xc) = pSVar3;\n    }\n    uVar4 = FUN_002b58f0(puVar1);\n    *param_6 = uVar4;\n  }\nLAB_002c5450:\n  if (local_68 != local_60) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  return pSVar3;\n}" { (declaration "undefined4 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "Sized_symbol *pSVar3;" type_identifier (pointer_declarator "*pSVar3" * identifier) ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "undefined4 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "undefined1 *local_68;" type_identifier (pointer_declarator "*local_68" * identifier) ;) (declaration "int local_64;" primitive_type identifier ;) (declaration "undefined1 local_60 [16];" type_identifier (array_declarator "local_60 [16]" identifier [ number_literal ]) ;) (declaration "uint local_50;" type_identifier identifier ;) (declaration "uint local_4c;" type_identifier identifier ;) (declaration "undefined4 local_48;" type_identifier identifier ;) (declaration "uint local_44;" type_identifier identifier ;) (declaration "byte local_40;" type_identifier identifier ;) (declaration "int local_3c;" primitive_type identifier ;) (declaration "byte local_38;" type_identifier identifier ;) (declaration "uint local_34;" type_identifier identifier ;) (declaration "uint local_30 [2];" type_identifier (array_declarator "local_30 [2]" identifier [ number_literal ]) ;) (expression_statement "local_64 = 0;" (assignment_expression "local_64 = 0" identifier = number_literal) ;) (expression_statement "local_60[0] = 0;" (assignment_expression "local_60[0] = 0" (subscript_expression "local_60[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pcVar9 = (char *)*param_1;" (assignment_expression "pcVar9 = (char *)*param_1" identifier = (cast_expression "(char *)*param_1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_1" * identifier))) ;) (expression_statement "*param_7 = 0;" (assignment_expression "*param_7 = 0" (pointer_expression "*param_7" * identifier) = number_literal) ;) (expression_statement "*param_6 = 0;" (assignment_expression "*param_6 = 0" (pointer_expression "*param_6" * identifier) = number_literal) ;) (expression_statement "local_68 = local_60;" (assignment_expression "local_68 = local_60" identifier = identifier) ;) (if_statement "if (param_8 == '\0') {\n    uVar6 = 0;\n    if (*param_2 == 0) {\n      uVar6 = Version_script_info::get_symbol_version\n                        (*(Version_script_info **)(this + 0x160),pcVar9,(string *)&local_68,\n                         (bool *)&local_50);\n      if ((uVar6 != 0) && (uVar6 = local_50 >> 0x18, uVar6 != 0)) {\n        if (local_64 == 0) {\n          pcVar9 = (char *)*param_1;\n          uVar6 = 0;\n          goto LAB_002c5224;\n        }\n        *param_2 = (int)local_68;\n      }\n      pcVar9 = (char *)*param_1;\n    }\nLAB_002c5224:\n    if (param_4 == 0) goto LAB_002c5340;\nLAB_002c522c:\n                    \n    puVar1 = (undefined4 *)lookup(this,pcVar9,(char *)*param_2);\n    if (puVar1 != (undefined4 *)0x0) {\nLAB_002c524c:\n      uVar2 = puVar1[10];\n      if ((uVar2 & 0xe000) != 0) {\n        if ((uVar2 & 0xe000) == 0x8000) goto LAB_002c5288;\n        goto LAB_002c544c;\n      }\n      if (puVar1[3] == 0) {\n        if ((int)(uVar2 << 0x1d) < 0) goto LAB_002c5288;\n        iVar7 = puVar1[2];\n      }\n      else {\n        iVar7 = puVar1[2];\n      }\n      if (-1 < *(int *)(iVar7 + 0x2c)) goto LAB_002c544c;\n      if ((param_5 - 1U < 2) && (-1 < (int)(uVar2 << 0x17))) {\n        pSVar3 = (Sized_symbol *)0x0;\n        goto LAB_002c5450;\n      }\nLAB_002c5288:\n      *param_1 = *puVar1;\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        *param_2 = puVar1[1];\n        uVar2 = 0;\n        uVar10 = 0;\n        iVar7 = 0;\n      }\n      else {\n        iVar7 = Stringpool_template<char>::add\n                          ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,\n                           (uint *)0x0);\n        uVar11 = 0;\n        *param_2 = iVar7;\n        uVar2 = 0;\n        uVar10 = 0;\n        iVar7 = 0;\n      }\n      goto LAB_002c52a8;\n    }\n    if (uVar6 != 0) {\n      puVar1 = (undefined4 *)lookup(this,(char *)*param_1,(char *)0x0);\n      if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)0x0;\n        goto LAB_002c5450;\n      }\n      goto LAB_002c524c;\n    }\nLAB_002c544c:\n    pSVar3 = (Sized_symbol *)0x0;\n  }\n  else {\n    uVar6 = 0;\n    if (param_4 != 0) goto LAB_002c522c;\nLAB_002c5340:\n    uVar4 = Stringpool_template<char>::add\n                      ((Stringpool_template<char> *)(this + 0x48),pcVar9,true,local_30);\n    *param_1 = uVar4;\n    local_34 = 0;\n    if ((char *)*param_2 != (char *)0x0) {\n      iVar7 = Stringpool_template<char>::add\n                        ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,&local_34)\n      ;\n      *param_2 = iVar7;\n    }\n    local_48 = 0;\n    local_50 = local_30[0];\n    local_4c = local_34;\n    std::\n    _Hashtable<std::pair<unsigned_int,unsigned_int>,std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>,std::allocator<std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>>,std::__detail::_Select1st,gold::Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>\n              (&local_3c,this + 0x28,0,&local_50);\n    if (uVar6 == 0) {\n      uVar2 = 0;\n      uVar11 = 0;\n    }\n    else {\n      local_4c = 0;\n      local_48 = 0;\n      local_50 = local_30[0];\n      std::\n      _Hashtable<std::pair<unsigned_int,unsigned_int>,std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>,std::allocator<std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>>,std::__detail::_Select1st,gold::Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>\n                (&local_44,this + 0x28,0,&local_50);\n      uVar2 = (uint)local_40;\n      uVar11 = local_44;\n    }\n    uVar10 = (uint)local_38;\n    puVar1 = *(undefined4 **)(local_3c + 0xc);\n    if (uVar10 == 0) {\n      if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x75a,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        uVar2 = uVar6;\n        uVar10 = uVar6;\n        iVar7 = 0;\n      }\n      else {\n        uVar4 = FUN_002b58f0(puVar1);\n        local_50 = uVar11;\n        define_default_version<32,false>(this,uVar4,uVar2,uVar11);\n        uVar11 = 0;\n        uVar2 = 0;\n        iVar7 = 0;\n      }\n    }\n    else {\n      if (puVar1 != (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x768,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n      iVar7 = local_3c;\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        uVar2 = uVar6;\n      }\n      else {\n        uVar10 = uVar2;\n        if ((uVar2 == 0) &&\n           (puVar5 = *(undefined4 **)(uVar11 + 0xc), uVar2 = uVar6, uVar10 = uVar6, puVar5[1] == 0))\n        {\n          uVar11 = 0;\n          *param_7 = 1;\n          uVar2 = 0;\n          puVar1 = puVar5;\n        }\n      }\n    }\nLAB_002c52a8:\n    piVar8 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n    if (piVar8 == (int *)0x0) {\n      pSVar3 = (Sized_symbol *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                          PTR_s_in_a_linker_script_004c191c + 0x3098);\n      return pSVar3;\n    }\n    if (*(char *)(piVar8[1] + 0xc) == '\0') {\n      pSVar3 = (Sized_symbol *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n      (*(code *)PTR_memset_004c5c68)(pSVar3,0,0x30);\n    }\n    else {\n      pSVar3 = (Sized_symbol *)(**(code **)(*piVar8 + 0xa8))(piVar8,*param_1,0,0,0);\n      if (pSVar3 == (Sized_symbol *)0x0) goto LAB_002c544c;\n    }\n    if (uVar10 == 0) {\n      if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n    }\n    else {\n      *(Sized_symbol **)(iVar7 + 0xc) = pSVar3;\n    }\n    if (uVar2 != 0) {\n      *(Sized_symbol **)(uVar11 + 0xc) = pSVar3;\n    }\n    uVar4 = FUN_002b58f0(puVar1);\n    *param_6 = uVar4;\n  }" if (parenthesized_expression "(param_8 == '\0')" ( (binary_expression "param_8 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    uVar6 = 0;\n    if (*param_2 == 0) {\n      uVar6 = Version_script_info::get_symbol_version\n                        (*(Version_script_info **)(this + 0x160),pcVar9,(string *)&local_68,\n                         (bool *)&local_50);\n      if ((uVar6 != 0) && (uVar6 = local_50 >> 0x18, uVar6 != 0)) {\n        if (local_64 == 0) {\n          pcVar9 = (char *)*param_1;\n          uVar6 = 0;\n          goto LAB_002c5224;\n        }\n        *param_2 = (int)local_68;\n      }\n      pcVar9 = (char *)*param_1;\n    }\nLAB_002c5224:\n    if (param_4 == 0) goto LAB_002c5340;\nLAB_002c522c:\n                    \n    puVar1 = (undefined4 *)lookup(this,pcVar9,(char *)*param_2);\n    if (puVar1 != (undefined4 *)0x0) {\nLAB_002c524c:\n      uVar2 = puVar1[10];\n      if ((uVar2 & 0xe000) != 0) {\n        if ((uVar2 & 0xe000) == 0x8000) goto LAB_002c5288;\n        goto LAB_002c544c;\n      }\n      if (puVar1[3] == 0) {\n        if ((int)(uVar2 << 0x1d) < 0) goto LAB_002c5288;\n        iVar7 = puVar1[2];\n      }\n      else {\n        iVar7 = puVar1[2];\n      }\n      if (-1 < *(int *)(iVar7 + 0x2c)) goto LAB_002c544c;\n      if ((param_5 - 1U < 2) && (-1 < (int)(uVar2 << 0x17))) {\n        pSVar3 = (Sized_symbol *)0x0;\n        goto LAB_002c5450;\n      }\nLAB_002c5288:\n      *param_1 = *puVar1;\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        *param_2 = puVar1[1];\n        uVar2 = 0;\n        uVar10 = 0;\n        iVar7 = 0;\n      }\n      else {\n        iVar7 = Stringpool_template<char>::add\n                          ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,\n                           (uint *)0x0);\n        uVar11 = 0;\n        *param_2 = iVar7;\n        uVar2 = 0;\n        uVar10 = 0;\n        iVar7 = 0;\n      }\n      goto LAB_002c52a8;\n    }\n    if (uVar6 != 0) {\n      puVar1 = (undefined4 *)lookup(this,(char *)*param_1,(char *)0x0);\n      if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)0x0;\n        goto LAB_002c5450;\n      }\n      goto LAB_002c524c;\n    }\nLAB_002c544c:\n    pSVar3 = (Sized_symbol *)0x0;\n  }" { (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (if_statement "if (*param_2 == 0) {\n      uVar6 = Version_script_info::get_symbol_version\n                        (*(Version_script_info **)(this + 0x160),pcVar9,(string *)&local_68,\n                         (bool *)&local_50);\n      if ((uVar6 != 0) && (uVar6 = local_50 >> 0x18, uVar6 != 0)) {\n        if (local_64 == 0) {\n          pcVar9 = (char *)*param_1;\n          uVar6 = 0;\n          goto LAB_002c5224;\n        }\n        *param_2 = (int)local_68;\n      }\n      pcVar9 = (char *)*param_1;\n    }" if (parenthesized_expression "(*param_2 == 0)" ( (binary_expression "*param_2 == 0" (pointer_expression "*param_2" * identifier) == number_literal) )) (compound_statement "{\n      uVar6 = Version_script_info::get_symbol_version\n                        (*(Version_script_info **)(this + 0x160),pcVar9,(string *)&local_68,\n                         (bool *)&local_50);\n      if ((uVar6 != 0) && (uVar6 = local_50 >> 0x18, uVar6 != 0)) {\n        if (local_64 == 0) {\n          pcVar9 = (char *)*param_1;\n          uVar6 = 0;\n          goto LAB_002c5224;\n        }\n        *param_2 = (int)local_68;\n      }\n      pcVar9 = (char *)*param_1;\n    }" { (ERROR "uVar6 = Version_script_info::" (assignment_expression "uVar6 = Version_script_info" identifier = identifier) : :) (expression_statement "get_symbol_version\n                        (*(Version_script_info **)(this + 0x160),pcVar9,(string *)&local_68,\n                         (bool *)&local_50);" (call_expression "get_symbol_version\n                        (*(Version_script_info **)(this + 0x160),pcVar9,(string *)&local_68,\n                         (bool *)&local_50)" identifier (argument_list "(*(Version_script_info **)(this + 0x160),pcVar9,(string *)&local_68,\n                         (bool *)&local_50)" ( (pointer_expression "*(Version_script_info **)(this + 0x160)" * (cast_expression "(Version_script_info **)(this + 0x160)" ( (type_descriptor "Version_script_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x160)" ( (binary_expression "this + 0x160" identifier + number_literal) )))) , identifier , (cast_expression "(string *)&local_68" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_68" & identifier)) , (cast_expression "(bool *)&local_50" ( (type_descriptor "bool *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_50" & identifier)) ))) ;) (if_statement "if ((uVar6 != 0) && (uVar6 = local_50 >> 0x18, uVar6 != 0)) {\n        if (local_64 == 0) {\n          pcVar9 = (char *)*param_1;\n          uVar6 = 0;\n          goto LAB_002c5224;\n        }\n        *param_2 = (int)local_68;\n      }" if (parenthesized_expression "((uVar6 != 0) && (uVar6 = local_50 >> 0x18, uVar6 != 0))" ( (binary_expression "(uVar6 != 0) && (uVar6 = local_50 >> 0x18, uVar6 != 0)" (parenthesized_expression "(uVar6 != 0)" ( (binary_expression "uVar6 != 0" identifier != number_literal) )) && (parenthesized_expression "(uVar6 = local_50 >> 0x18, uVar6 != 0)" ( (comma_expression "uVar6 = local_50 >> 0x18, uVar6 != 0" (assignment_expression "uVar6 = local_50 >> 0x18" identifier = (binary_expression "local_50 >> 0x18" identifier >> number_literal)) , (binary_expression "uVar6 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n        if (local_64 == 0) {\n          pcVar9 = (char *)*param_1;\n          uVar6 = 0;\n          goto LAB_002c5224;\n        }\n        *param_2 = (int)local_68;\n      }" { (if_statement "if (local_64 == 0) {\n          pcVar9 = (char *)*param_1;\n          uVar6 = 0;\n          goto LAB_002c5224;\n        }" if (parenthesized_expression "(local_64 == 0)" ( (binary_expression "local_64 == 0" identifier == number_literal) )) (compound_statement "{\n          pcVar9 = (char *)*param_1;\n          uVar6 = 0;\n          goto LAB_002c5224;\n        }" { (expression_statement "pcVar9 = (char *)*param_1;" (assignment_expression "pcVar9 = (char *)*param_1" identifier = (cast_expression "(char *)*param_1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_1" * identifier))) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_002c5224;" goto statement_identifier ;) })) (expression_statement "*param_2 = (int)local_68;" (assignment_expression "*param_2 = (int)local_68" (pointer_expression "*param_2" * identifier) = (cast_expression "(int)local_68" ( (type_descriptor "int" primitive_type) ) identifier)) ;) })) (expression_statement "pcVar9 = (char *)*param_1;" (assignment_expression "pcVar9 = (char *)*param_1" identifier = (cast_expression "(char *)*param_1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_1" * identifier))) ;) })) (labeled_statement "LAB_002c5224:\n    if (param_4 == 0) goto LAB_002c5340;" statement_identifier : (if_statement "if (param_4 == 0) goto LAB_002c5340;" if (parenthesized_expression "(param_4 == 0)" ( (binary_expression "param_4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_002c5340;" goto statement_identifier ;))) (labeled_statement "LAB_002c522c:\n                    \n    puVar1 = (undefined4 *)lookup(this,pcVar9,(char *)*param_2);" statement_identifier : (expression_statement "puVar1 = (undefined4 *)lookup(this,pcVar9,(char *)*param_2);" (assignment_expression "puVar1 = (undefined4 *)lookup(this,pcVar9,(char *)*param_2)" identifier = (cast_expression "(undefined4 *)lookup(this,pcVar9,(char *)*param_2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "lookup(this,pcVar9,(char *)*param_2)" identifier (argument_list "(this,pcVar9,(char *)*param_2)" ( identifier , identifier , (cast_expression "(char *)*param_2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_2" * identifier)) ))))) ;)) (if_statement "if (puVar1 != (undefined4 *)0x0) {\nLAB_002c524c:\n      uVar2 = puVar1[10];\n      if ((uVar2 & 0xe000) != 0) {\n        if ((uVar2 & 0xe000) == 0x8000) goto LAB_002c5288;\n        goto LAB_002c544c;\n      }\n      if (puVar1[3] == 0) {\n        if ((int)(uVar2 << 0x1d) < 0) goto LAB_002c5288;\n        iVar7 = puVar1[2];\n      }\n      else {\n        iVar7 = puVar1[2];\n      }\n      if (-1 < *(int *)(iVar7 + 0x2c)) goto LAB_002c544c;\n      if ((param_5 - 1U < 2) && (-1 < (int)(uVar2 << 0x17))) {\n        pSVar3 = (Sized_symbol *)0x0;\n        goto LAB_002c5450;\n      }\nLAB_002c5288:\n      *param_1 = *puVar1;\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        *param_2 = puVar1[1];\n        uVar2 = 0;\n        uVar10 = 0;\n        iVar7 = 0;\n      }\n      else {\n        iVar7 = Stringpool_template<char>::add\n                          ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,\n                           (uint *)0x0);\n        uVar11 = 0;\n        *param_2 = iVar7;\n        uVar2 = 0;\n        uVar10 = 0;\n        iVar7 = 0;\n      }\n      goto LAB_002c52a8;\n    }" if (parenthesized_expression "(puVar1 != (undefined4 *)0x0)" ( (binary_expression "puVar1 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_002c524c:\n      uVar2 = puVar1[10];\n      if ((uVar2 & 0xe000) != 0) {\n        if ((uVar2 & 0xe000) == 0x8000) goto LAB_002c5288;\n        goto LAB_002c544c;\n      }\n      if (puVar1[3] == 0) {\n        if ((int)(uVar2 << 0x1d) < 0) goto LAB_002c5288;\n        iVar7 = puVar1[2];\n      }\n      else {\n        iVar7 = puVar1[2];\n      }\n      if (-1 < *(int *)(iVar7 + 0x2c)) goto LAB_002c544c;\n      if ((param_5 - 1U < 2) && (-1 < (int)(uVar2 << 0x17))) {\n        pSVar3 = (Sized_symbol *)0x0;\n        goto LAB_002c5450;\n      }\nLAB_002c5288:\n      *param_1 = *puVar1;\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        *param_2 = puVar1[1];\n        uVar2 = 0;\n        uVar10 = 0;\n        iVar7 = 0;\n      }\n      else {\n        iVar7 = Stringpool_template<char>::add\n                          ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,\n                           (uint *)0x0);\n        uVar11 = 0;\n        *param_2 = iVar7;\n        uVar2 = 0;\n        uVar10 = 0;\n        iVar7 = 0;\n      }\n      goto LAB_002c52a8;\n    }" { (labeled_statement "LAB_002c524c:\n      uVar2 = puVar1[10];" statement_identifier : (expression_statement "uVar2 = puVar1[10];" (assignment_expression "uVar2 = puVar1[10]" identifier = (subscript_expression "puVar1[10]" identifier [ number_literal ])) ;)) (if_statement "if ((uVar2 & 0xe000) != 0) {\n        if ((uVar2 & 0xe000) == 0x8000) goto LAB_002c5288;\n        goto LAB_002c544c;\n      }" if (parenthesized_expression "((uVar2 & 0xe000) != 0)" ( (binary_expression "(uVar2 & 0xe000) != 0" (parenthesized_expression "(uVar2 & 0xe000)" ( (binary_expression "uVar2 & 0xe000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        if ((uVar2 & 0xe000) == 0x8000) goto LAB_002c5288;\n        goto LAB_002c544c;\n      }" { (if_statement "if ((uVar2 & 0xe000) == 0x8000) goto LAB_002c5288;" if (parenthesized_expression "((uVar2 & 0xe000) == 0x8000)" ( (binary_expression "(uVar2 & 0xe000) == 0x8000" (parenthesized_expression "(uVar2 & 0xe000)" ( (binary_expression "uVar2 & 0xe000" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_002c5288;" goto statement_identifier ;)) (goto_statement "goto LAB_002c544c;" goto statement_identifier ;) })) (if_statement "if (puVar1[3] == 0) {\n        if ((int)(uVar2 << 0x1d) < 0) goto LAB_002c5288;\n        iVar7 = puVar1[2];\n      }\n      else {\n        iVar7 = puVar1[2];\n      }" if (parenthesized_expression "(puVar1[3] == 0)" ( (binary_expression "puVar1[3] == 0" (subscript_expression "puVar1[3]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        if ((int)(uVar2 << 0x1d) < 0) goto LAB_002c5288;\n        iVar7 = puVar1[2];\n      }" { (if_statement "if ((int)(uVar2 << 0x1d) < 0) goto LAB_002c5288;" if (parenthesized_expression "((int)(uVar2 << 0x1d) < 0)" ( (binary_expression "(int)(uVar2 << 0x1d) < 0" (cast_expression "(int)(uVar2 << 0x1d)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar2 << 0x1d)" ( (binary_expression "uVar2 << 0x1d" identifier << number_literal) ))) < number_literal) )) (goto_statement "goto LAB_002c5288;" goto statement_identifier ;)) (expression_statement "iVar7 = puVar1[2];" (assignment_expression "iVar7 = puVar1[2]" identifier = (subscript_expression "puVar1[2]" identifier [ number_literal ])) ;) }) (else_clause "else {\n        iVar7 = puVar1[2];\n      }" else (compound_statement "{\n        iVar7 = puVar1[2];\n      }" { (expression_statement "iVar7 = puVar1[2];" (assignment_expression "iVar7 = puVar1[2]" identifier = (subscript_expression "puVar1[2]" identifier [ number_literal ])) ;) }))) (if_statement "if (-1 < *(int *)(iVar7 + 0x2c)) goto LAB_002c544c;" if (parenthesized_expression "(-1 < *(int *)(iVar7 + 0x2c))" ( (binary_expression "-1 < *(int *)(iVar7 + 0x2c)" number_literal < (pointer_expression "*(int *)(iVar7 + 0x2c)" * (cast_expression "(int *)(iVar7 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x2c)" ( (binary_expression "iVar7 + 0x2c" identifier + number_literal) ))))) )) (goto_statement "goto LAB_002c544c;" goto statement_identifier ;)) (if_statement "if ((param_5 - 1U < 2) && (-1 < (int)(uVar2 << 0x17))) {\n        pSVar3 = (Sized_symbol *)0x0;\n        goto LAB_002c5450;\n      }" if (parenthesized_expression "((param_5 - 1U < 2) && (-1 < (int)(uVar2 << 0x17)))" ( (binary_expression "(param_5 - 1U < 2) && (-1 < (int)(uVar2 << 0x17))" (parenthesized_expression "(param_5 - 1U < 2)" ( (binary_expression "param_5 - 1U < 2" (binary_expression "param_5 - 1U" identifier - number_literal) < number_literal) )) && (parenthesized_expression "(-1 < (int)(uVar2 << 0x17))" ( (binary_expression "-1 < (int)(uVar2 << 0x17)" number_literal < (cast_expression "(int)(uVar2 << 0x17)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar2 << 0x17)" ( (binary_expression "uVar2 << 0x17" identifier << number_literal) )))) ))) )) (compound_statement "{\n        pSVar3 = (Sized_symbol *)0x0;\n        goto LAB_002c5450;\n      }" { (expression_statement "pSVar3 = (Sized_symbol *)0x0;" (assignment_expression "pSVar3 = (Sized_symbol *)0x0" identifier = (cast_expression "(Sized_symbol *)0x0" ( (type_descriptor "Sized_symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_002c5450;" goto statement_identifier ;) })) (labeled_statement "LAB_002c5288:\n      *param_1 = *puVar1;" statement_identifier : (expression_statement "*param_1 = *puVar1;" (assignment_expression "*param_1 = *puVar1" (pointer_expression "*param_1" * identifier) = (pointer_expression "*puVar1" * identifier)) ;)) (if_statement "if (uVar6 == 0) {\n        uVar11 = 0;\n        *param_2 = puVar1[1];\n        uVar2 = 0;\n        uVar10 = 0;\n        iVar7 = 0;\n      }\n      else {\n        iVar7 = Stringpool_template<char>::add\n                          ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,\n                           (uint *)0x0);\n        uVar11 = 0;\n        *param_2 = iVar7;\n        uVar2 = 0;\n        uVar10 = 0;\n        iVar7 = 0;\n      }" if (parenthesized_expression "(uVar6 == 0)" ( (binary_expression "uVar6 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar11 = 0;\n        *param_2 = puVar1[1];\n        uVar2 = 0;\n        uVar10 = 0;\n        iVar7 = 0;\n      }" { (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;) (expression_statement "*param_2 = puVar1[1];" (assignment_expression "*param_2 = puVar1[1]" (pointer_expression "*param_2" * identifier) = (subscript_expression "puVar1[1]" identifier [ number_literal ])) ;) (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" identifier = number_literal) ;) (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        iVar7 = Stringpool_template<char>::add\n                          ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,\n                           (uint *)0x0);\n        uVar11 = 0;\n        *param_2 = iVar7;\n        uVar2 = 0;\n        uVar10 = 0;\n        iVar7 = 0;\n      }" else (compound_statement "{\n        iVar7 = Stringpool_template<char>::add\n                          ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,\n                           (uint *)0x0);\n        uVar11 = 0;\n        *param_2 = iVar7;\n        uVar2 = 0;\n        uVar10 = 0;\n        iVar7 = 0;\n      }" { (expression_statement "iVar7 = Stringpool_template<char>::add\n                          ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,\n                           (uint *)0x0);" (assignment_expression "iVar7 = Stringpool_template<char>::add\n                          ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,\n                           (uint *)0x0)" identifier = (binary_expression "Stringpool_template<char>::add\n                          ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,\n                           (uint *)0x0)" (binary_expression "Stringpool_template<char" identifier < identifier) > (ERROR "::" : :) (call_expression "add\n                          ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,\n                           (uint *)0x0)" identifier (argument_list "((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,\n                           (uint *)0x0)" ( (call_expression "(Stringpool_template<char> *)(this + 0x48)" (parenthesized_expression "(Stringpool_template<char> *)" ( (binary_expression "Stringpool_template<char> *" (binary_expression "Stringpool_template<char" identifier < identifier) > (pointer_expression "*" * identifier)) )) (argument_list "(this + 0x48)" ( (binary_expression "this + 0x48" identifier + number_literal) ))) , (cast_expression "(char *)*param_2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_2" * identifier)) , true , (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ))))) ;) (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;) (expression_statement "*param_2 = iVar7;" (assignment_expression "*param_2 = iVar7" (pointer_expression "*param_2" * identifier) = identifier) ;) (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" identifier = number_literal) ;) (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) }))) (goto_statement "goto LAB_002c52a8;" goto statement_identifier ;) })) (if_statement "if (uVar6 != 0) {\n      puVar1 = (undefined4 *)lookup(this,(char *)*param_1,(char *)0x0);\n      if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)0x0;\n        goto LAB_002c5450;\n      }\n      goto LAB_002c524c;\n    }" if (parenthesized_expression "(uVar6 != 0)" ( (binary_expression "uVar6 != 0" identifier != number_literal) )) (compound_statement "{\n      puVar1 = (undefined4 *)lookup(this,(char *)*param_1,(char *)0x0);\n      if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)0x0;\n        goto LAB_002c5450;\n      }\n      goto LAB_002c524c;\n    }" { (expression_statement "puVar1 = (undefined4 *)lookup(this,(char *)*param_1,(char *)0x0);" (assignment_expression "puVar1 = (undefined4 *)lookup(this,(char *)*param_1,(char *)0x0)" identifier = (cast_expression "(undefined4 *)lookup(this,(char *)*param_1,(char *)0x0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "lookup(this,(char *)*param_1,(char *)0x0)" identifier (argument_list "(this,(char *)*param_1,(char *)0x0)" ( identifier , (cast_expression "(char *)*param_1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_1" * identifier)) , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ))))) ;) (if_statement "if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)0x0;\n        goto LAB_002c5450;\n      }" if (parenthesized_expression "(puVar1 == (undefined4 *)0x0)" ( (binary_expression "puVar1 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pSVar3 = (Sized_symbol *)0x0;\n        goto LAB_002c5450;\n      }" { (expression_statement "pSVar3 = (Sized_symbol *)0x0;" (assignment_expression "pSVar3 = (Sized_symbol *)0x0" identifier = (cast_expression "(Sized_symbol *)0x0" ( (type_descriptor "Sized_symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_002c5450;" goto statement_identifier ;) })) (goto_statement "goto LAB_002c524c;" goto statement_identifier ;) })) (labeled_statement "LAB_002c544c:\n    pSVar3 = (Sized_symbol *)0x0;" statement_identifier : (expression_statement "pSVar3 = (Sized_symbol *)0x0;" (assignment_expression "pSVar3 = (Sized_symbol *)0x0" identifier = (cast_expression "(Sized_symbol *)0x0" ( (type_descriptor "Sized_symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) }) (else_clause "else {\n    uVar6 = 0;\n    if (param_4 != 0) goto LAB_002c522c;\nLAB_002c5340:\n    uVar4 = Stringpool_template<char>::add\n                      ((Stringpool_template<char> *)(this + 0x48),pcVar9,true,local_30);\n    *param_1 = uVar4;\n    local_34 = 0;\n    if ((char *)*param_2 != (char *)0x0) {\n      iVar7 = Stringpool_template<char>::add\n                        ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,&local_34)\n      ;\n      *param_2 = iVar7;\n    }\n    local_48 = 0;\n    local_50 = local_30[0];\n    local_4c = local_34;\n    std::\n    _Hashtable<std::pair<unsigned_int,unsigned_int>,std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>,std::allocator<std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>>,std::__detail::_Select1st,gold::Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>\n              (&local_3c,this + 0x28,0,&local_50);\n    if (uVar6 == 0) {\n      uVar2 = 0;\n      uVar11 = 0;\n    }\n    else {\n      local_4c = 0;\n      local_48 = 0;\n      local_50 = local_30[0];\n      std::\n      _Hashtable<std::pair<unsigned_int,unsigned_int>,std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>,std::allocator<std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>>,std::__detail::_Select1st,gold::Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>\n                (&local_44,this + 0x28,0,&local_50);\n      uVar2 = (uint)local_40;\n      uVar11 = local_44;\n    }\n    uVar10 = (uint)local_38;\n    puVar1 = *(undefined4 **)(local_3c + 0xc);\n    if (uVar10 == 0) {\n      if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x75a,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        uVar2 = uVar6;\n        uVar10 = uVar6;\n        iVar7 = 0;\n      }\n      else {\n        uVar4 = FUN_002b58f0(puVar1);\n        local_50 = uVar11;\n        define_default_version<32,false>(this,uVar4,uVar2,uVar11);\n        uVar11 = 0;\n        uVar2 = 0;\n        iVar7 = 0;\n      }\n    }\n    else {\n      if (puVar1 != (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x768,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n      iVar7 = local_3c;\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        uVar2 = uVar6;\n      }\n      else {\n        uVar10 = uVar2;\n        if ((uVar2 == 0) &&\n           (puVar5 = *(undefined4 **)(uVar11 + 0xc), uVar2 = uVar6, uVar10 = uVar6, puVar5[1] == 0))\n        {\n          uVar11 = 0;\n          *param_7 = 1;\n          uVar2 = 0;\n          puVar1 = puVar5;\n        }\n      }\n    }\nLAB_002c52a8:\n    piVar8 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n    if (piVar8 == (int *)0x0) {\n      pSVar3 = (Sized_symbol *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                          PTR_s_in_a_linker_script_004c191c + 0x3098);\n      return pSVar3;\n    }\n    if (*(char *)(piVar8[1] + 0xc) == '\0') {\n      pSVar3 = (Sized_symbol *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n      (*(code *)PTR_memset_004c5c68)(pSVar3,0,0x30);\n    }\n    else {\n      pSVar3 = (Sized_symbol *)(**(code **)(*piVar8 + 0xa8))(piVar8,*param_1,0,0,0);\n      if (pSVar3 == (Sized_symbol *)0x0) goto LAB_002c544c;\n    }\n    if (uVar10 == 0) {\n      if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n    }\n    else {\n      *(Sized_symbol **)(iVar7 + 0xc) = pSVar3;\n    }\n    if (uVar2 != 0) {\n      *(Sized_symbol **)(uVar11 + 0xc) = pSVar3;\n    }\n    uVar4 = FUN_002b58f0(puVar1);\n    *param_6 = uVar4;\n  }" else (compound_statement "{\n    uVar6 = 0;\n    if (param_4 != 0) goto LAB_002c522c;\nLAB_002c5340:\n    uVar4 = Stringpool_template<char>::add\n                      ((Stringpool_template<char> *)(this + 0x48),pcVar9,true,local_30);\n    *param_1 = uVar4;\n    local_34 = 0;\n    if ((char *)*param_2 != (char *)0x0) {\n      iVar7 = Stringpool_template<char>::add\n                        ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,&local_34)\n      ;\n      *param_2 = iVar7;\n    }\n    local_48 = 0;\n    local_50 = local_30[0];\n    local_4c = local_34;\n    std::\n    _Hashtable<std::pair<unsigned_int,unsigned_int>,std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>,std::allocator<std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>>,std::__detail::_Select1st,gold::Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>\n              (&local_3c,this + 0x28,0,&local_50);\n    if (uVar6 == 0) {\n      uVar2 = 0;\n      uVar11 = 0;\n    }\n    else {\n      local_4c = 0;\n      local_48 = 0;\n      local_50 = local_30[0];\n      std::\n      _Hashtable<std::pair<unsigned_int,unsigned_int>,std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>,std::allocator<std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>>,std::__detail::_Select1st,gold::Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>\n                (&local_44,this + 0x28,0,&local_50);\n      uVar2 = (uint)local_40;\n      uVar11 = local_44;\n    }\n    uVar10 = (uint)local_38;\n    puVar1 = *(undefined4 **)(local_3c + 0xc);\n    if (uVar10 == 0) {\n      if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x75a,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        uVar2 = uVar6;\n        uVar10 = uVar6;\n        iVar7 = 0;\n      }\n      else {\n        uVar4 = FUN_002b58f0(puVar1);\n        local_50 = uVar11;\n        define_default_version<32,false>(this,uVar4,uVar2,uVar11);\n        uVar11 = 0;\n        uVar2 = 0;\n        iVar7 = 0;\n      }\n    }\n    else {\n      if (puVar1 != (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x768,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n      iVar7 = local_3c;\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        uVar2 = uVar6;\n      }\n      else {\n        uVar10 = uVar2;\n        if ((uVar2 == 0) &&\n           (puVar5 = *(undefined4 **)(uVar11 + 0xc), uVar2 = uVar6, uVar10 = uVar6, puVar5[1] == 0))\n        {\n          uVar11 = 0;\n          *param_7 = 1;\n          uVar2 = 0;\n          puVar1 = puVar5;\n        }\n      }\n    }\nLAB_002c52a8:\n    piVar8 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n    if (piVar8 == (int *)0x0) {\n      pSVar3 = (Sized_symbol *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                          PTR_s_in_a_linker_script_004c191c + 0x3098);\n      return pSVar3;\n    }\n    if (*(char *)(piVar8[1] + 0xc) == '\0') {\n      pSVar3 = (Sized_symbol *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n      (*(code *)PTR_memset_004c5c68)(pSVar3,0,0x30);\n    }\n    else {\n      pSVar3 = (Sized_symbol *)(**(code **)(*piVar8 + 0xa8))(piVar8,*param_1,0,0,0);\n      if (pSVar3 == (Sized_symbol *)0x0) goto LAB_002c544c;\n    }\n    if (uVar10 == 0) {\n      if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n    }\n    else {\n      *(Sized_symbol **)(iVar7 + 0xc) = pSVar3;\n    }\n    if (uVar2 != 0) {\n      *(Sized_symbol **)(uVar11 + 0xc) = pSVar3;\n    }\n    uVar4 = FUN_002b58f0(puVar1);\n    *param_6 = uVar4;\n  }" { (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (if_statement "if (param_4 != 0) goto LAB_002c522c;" if (parenthesized_expression "(param_4 != 0)" ( (binary_expression "param_4 != 0" identifier != number_literal) )) (goto_statement "goto LAB_002c522c;" goto statement_identifier ;)) (labeled_statement "LAB_002c5340:\n    uVar4 = Stringpool_template<char>::add\n                      ((Stringpool_template<char> *)(this + 0x48),pcVar9,true,local_30);" statement_identifier : (expression_statement "uVar4 = Stringpool_template<char>::add\n                      ((Stringpool_template<char> *)(this + 0x48),pcVar9,true,local_30);" (assignment_expression "uVar4 = Stringpool_template<char>::add\n                      ((Stringpool_template<char> *)(this + 0x48),pcVar9,true,local_30)" identifier = (binary_expression "Stringpool_template<char>::add\n                      ((Stringpool_template<char> *)(this + 0x48),pcVar9,true,local_30)" (binary_expression "Stringpool_template<char" identifier < identifier) > (ERROR "::" : :) (call_expression "add\n                      ((Stringpool_template<char> *)(this + 0x48),pcVar9,true,local_30)" identifier (argument_list "((Stringpool_template<char> *)(this + 0x48),pcVar9,true,local_30)" ( (call_expression "(Stringpool_template<char> *)(this + 0x48)" (parenthesized_expression "(Stringpool_template<char> *)" ( (binary_expression "Stringpool_template<char> *" (binary_expression "Stringpool_template<char" identifier < identifier) > (pointer_expression "*" * identifier)) )) (argument_list "(this + 0x48)" ( (binary_expression "this + 0x48" identifier + number_literal) ))) , identifier , true , identifier ))))) ;)) (expression_statement "*param_1 = uVar4;" (assignment_expression "*param_1 = uVar4" (pointer_expression "*param_1" * identifier) = identifier) ;) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (if_statement "if ((char *)*param_2 != (char *)0x0) {\n      iVar7 = Stringpool_template<char>::add\n                        ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,&local_34)\n      ;\n      *param_2 = iVar7;\n    }" if (parenthesized_expression "((char *)*param_2 != (char *)0x0)" ( (binary_expression "(char *)*param_2 != (char *)0x0" (cast_expression "(char *)*param_2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_2" * identifier)) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      iVar7 = Stringpool_template<char>::add\n                        ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,&local_34)\n      ;\n      *param_2 = iVar7;\n    }" { (expression_statement "iVar7 = Stringpool_template<char>::add\n                        ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,&local_34)\n      ;" (assignment_expression "iVar7 = Stringpool_template<char>::add\n                        ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,&local_34)" identifier = (binary_expression "Stringpool_template<char>::add\n                        ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,&local_34)" (binary_expression "Stringpool_template<char" identifier < identifier) > (ERROR "::" : :) (call_expression "add\n                        ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,&local_34)" identifier (argument_list "((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,&local_34)" ( (call_expression "(Stringpool_template<char> *)(this + 0x48)" (parenthesized_expression "(Stringpool_template<char> *)" ( (binary_expression "Stringpool_template<char> *" (binary_expression "Stringpool_template<char" identifier < identifier) > (pointer_expression "*" * identifier)) )) (argument_list "(this + 0x48)" ( (binary_expression "this + 0x48" identifier + number_literal) ))) , (cast_expression "(char *)*param_2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_2" * identifier)) , true , (pointer_expression "&local_34" & identifier) ))))) ;) (expression_statement "*param_2 = iVar7;" (assignment_expression "*param_2 = iVar7" (pointer_expression "*param_2" * identifier) = identifier) ;) })) (expression_statement "local_48 = 0;" (assignment_expression "local_48 = 0" identifier = number_literal) ;) (expression_statement "local_50 = local_30[0];" (assignment_expression "local_50 = local_30[0]" identifier = (subscript_expression "local_30[0]" identifier [ number_literal ])) ;) (expression_statement "local_4c = local_34;" (assignment_expression "local_4c = local_34" identifier = identifier) ;) (labeled_statement "std::\n    _Hashtable<std::pair<unsigned_int,unsigned_int>,std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>,std::allocator<std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>>,std::__detail::_Select1st,gold::Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>\n              (&local_3c,this + 0x28,0,&local_50);" statement_identifier (ERROR "::\n    _Hashtable<std::pair<unsigned_int,unsigned_int>,std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>,std::allocator<std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>>,std:" : : (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<std" identifier < identifier) : : (comma_expression "pair<unsigned_int,unsigned_int>const,gold" (binary_expression "pair<unsigned_int" identifier < identifier) , (comma_expression "unsigned_int>const,gold" (binary_expression "unsigned_int>const" identifier > identifier) , identifier)) : : (comma_expression "Symbol*>,std" identifier (ERROR "*>" * >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<std" identifier < identifier) : : (comma_expression "pair<unsigned_int,unsigned_int>const,gold" (binary_expression "pair<unsigned_int" identifier < identifier) , (comma_expression "unsigned_int>const,gold" (binary_expression "unsigned_int>const" identifier > identifier) , identifier)) : : (comma_expression "Symbol*>>,std" identifier (ERROR "*>>" * >>) , identifier) :) : (labeled_statement "__detail::_Select1st,gold::Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>\n              (&local_3c,this + 0x28,0,&local_50);" statement_identifier (ERROR "::_Select1st,gold:" : : (comma_expression "_Select1st,gold" identifier , identifier) :) : (labeled_statement "Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>\n              (&local_3c,this + 0x28,0,&local_50);" statement_identifier (ERROR "::Symbol_table_eq,gold:" : : (comma_expression "Symbol_table_eq,gold" identifier , identifier) :) : (labeled_statement "Symbol_table::Symbol_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::Symbol*>>\n              (&local_3c,this + 0x28,0,&local_50);" statement_identifier (ERROR "::Symbol_table_hash,std:" : : (comma_expression "Symbol_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_emplace<std::pair<std::pair<unsigned_int,unsigned_int>,gold::Symbol*>>\n              (&local_3c,this + 0x28,0,&local_50);" 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_emplace<std::pair<std::pair<unsigned_int,unsigned_int>,gold::Symbol*>>\n              (&local_3c,this + 0x28,0,&local_50);" 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_emplace<std::pair<std::pair<unsigned_int,unsigned_int>,gold::Symbol*>>\n              (&local_3c,this + 0x28,0,&local_50);" statement_identifier (ERROR "::_Prime_rehash_policy,std:" : : (comma_expression "_Prime_rehash_policy,std" identifier , identifier) :) : (expression_statement "__detail::_Hashtable_traits<true,false,true>>\n    ::_M_emplace<std::pair<std::pair<unsigned_int,unsigned_int>,gold::Symbol*>>\n              (&local_3c,this + 0x28,0,&local_50);" (binary_expression "__detail::_Hashtable_traits<true,false,true>>\n    ::_M_emplace<std::pair<std::pair<unsigned_int,unsigned_int>,gold::Symbol*>>\n              (&local_3c,this + 0x28,0,&local_50)" identifier (ERROR "::_Hashtable_traits<true,false,true>>\n    ::_M_emplace<std::pair<std::pair<unsigned_int,unsigned_int>,gold::Symbol*" : : (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" false , (binary_expression "true>>\n    ::_M_emplace<std" (binary_expression "true>>\n    ::_M_emplace" true >> (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)) : : identifier *) >> (parenthesized_expression "(&local_3c,this + 0x28,0,&local_50)" ( (comma_expression "&local_3c,this + 0x28,0,&local_50" (pointer_expression "&local_3c" & identifier) , (comma_expression "this + 0x28,0,&local_50" (binary_expression "this + 0x28" identifier + number_literal) , (comma_expression "0,&local_50" number_literal , (pointer_expression "&local_50" & identifier)))) ))) ;)))))))) (if_statement "if (uVar6 == 0) {\n      uVar2 = 0;\n      uVar11 = 0;\n    }\n    else {\n      local_4c = 0;\n      local_48 = 0;\n      local_50 = local_30[0];\n      std::\n      _Hashtable<std::pair<unsigned_int,unsigned_int>,std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>,std::allocator<std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>>,std::__detail::_Select1st,gold::Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>\n                (&local_44,this + 0x28,0,&local_50);\n      uVar2 = (uint)local_40;\n      uVar11 = local_44;\n    }" if (parenthesized_expression "(uVar6 == 0)" ( (binary_expression "uVar6 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar2 = 0;\n      uVar11 = 0;\n    }" { (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" identifier = number_literal) ;) (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      local_4c = 0;\n      local_48 = 0;\n      local_50 = local_30[0];\n      std::\n      _Hashtable<std::pair<unsigned_int,unsigned_int>,std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>,std::allocator<std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>>,std::__detail::_Select1st,gold::Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>\n                (&local_44,this + 0x28,0,&local_50);\n      uVar2 = (uint)local_40;\n      uVar11 = local_44;\n    }" else (compound_statement "{\n      local_4c = 0;\n      local_48 = 0;\n      local_50 = local_30[0];\n      std::\n      _Hashtable<std::pair<unsigned_int,unsigned_int>,std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>,std::allocator<std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>>,std::__detail::_Select1st,gold::Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>\n                (&local_44,this + 0x28,0,&local_50);\n      uVar2 = (uint)local_40;\n      uVar11 = local_44;\n    }" { (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" identifier = number_literal) ;) (expression_statement "local_48 = 0;" (assignment_expression "local_48 = 0" identifier = number_literal) ;) (expression_statement "local_50 = local_30[0];" (assignment_expression "local_50 = local_30[0]" identifier = (subscript_expression "local_30[0]" identifier [ number_literal ])) ;) (labeled_statement "std::\n      _Hashtable<std::pair<unsigned_int,unsigned_int>,std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>,std::allocator<std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>>,std::__detail::_Select1st,gold::Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>\n                (&local_44,this + 0x28,0,&local_50);" statement_identifier (ERROR "::\n      _Hashtable<std::pair<unsigned_int,unsigned_int>,std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>,std::allocator<std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>>,std:" : : (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<std" identifier < identifier) : : (comma_expression "pair<unsigned_int,unsigned_int>const,gold" (binary_expression "pair<unsigned_int" identifier < identifier) , (comma_expression "unsigned_int>const,gold" (binary_expression "unsigned_int>const" identifier > identifier) , identifier)) : : (comma_expression "Symbol*>,std" identifier (ERROR "*>" * >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<std" identifier < identifier) : : (comma_expression "pair<unsigned_int,unsigned_int>const,gold" (binary_expression "pair<unsigned_int" identifier < identifier) , (comma_expression "unsigned_int>const,gold" (binary_expression "unsigned_int>const" identifier > identifier) , identifier)) : : (comma_expression "Symbol*>>,std" identifier (ERROR "*>>" * >>) , identifier) :) : (labeled_statement "__detail::_Select1st,gold::Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>\n                (&local_44,this + 0x28,0,&local_50);" statement_identifier (ERROR "::_Select1st,gold:" : : (comma_expression "_Select1st,gold" identifier , identifier) :) : (labeled_statement "Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>\n                (&local_44,this + 0x28,0,&local_50);" statement_identifier (ERROR "::Symbol_table_eq,gold:" : : (comma_expression "Symbol_table_eq,gold" identifier , identifier) :) : (labeled_statement "Symbol_table::Symbol_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::Symbol*>>\n                (&local_44,this + 0x28,0,&local_50);" statement_identifier (ERROR "::Symbol_table_hash,std:" : : (comma_expression "Symbol_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_emplace<std::pair<std::pair<unsigned_int,unsigned_int>,gold::Symbol*>>\n                (&local_44,this + 0x28,0,&local_50);" 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_emplace<std::pair<std::pair<unsigned_int,unsigned_int>,gold::Symbol*>>\n                (&local_44,this + 0x28,0,&local_50);" 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_emplace<std::pair<std::pair<unsigned_int,unsigned_int>,gold::Symbol*>>\n                (&local_44,this + 0x28,0,&local_50);" statement_identifier (ERROR "::_Prime_rehash_policy,std:" : : (comma_expression "_Prime_rehash_policy,std" identifier , identifier) :) : (expression_statement "__detail::_Hashtable_traits<true,false,true>>\n      ::_M_emplace<std::pair<std::pair<unsigned_int,unsigned_int>,gold::Symbol*>>\n                (&local_44,this + 0x28,0,&local_50);" (binary_expression "__detail::_Hashtable_traits<true,false,true>>\n      ::_M_emplace<std::pair<std::pair<unsigned_int,unsigned_int>,gold::Symbol*>>\n                (&local_44,this + 0x28,0,&local_50)" identifier (ERROR "::_Hashtable_traits<true,false,true>>\n      ::_M_emplace<std::pair<std::pair<unsigned_int,unsigned_int>,gold::Symbol*" : : (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" false , (binary_expression "true>>\n      ::_M_emplace<std" (binary_expression "true>>\n      ::_M_emplace" true >> (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)) : : identifier *) >> (parenthesized_expression "(&local_44,this + 0x28,0,&local_50)" ( (comma_expression "&local_44,this + 0x28,0,&local_50" (pointer_expression "&local_44" & identifier) , (comma_expression "this + 0x28,0,&local_50" (binary_expression "this + 0x28" identifier + number_literal) , (comma_expression "0,&local_50" number_literal , (pointer_expression "&local_50" & identifier)))) ))) ;)))))))) (expression_statement "uVar2 = (uint)local_40;" (assignment_expression "uVar2 = (uint)local_40" identifier = (cast_expression "(uint)local_40" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar11 = local_44;" (assignment_expression "uVar11 = local_44" identifier = identifier) ;) }))) (expression_statement "uVar10 = (uint)local_38;" (assignment_expression "uVar10 = (uint)local_38" identifier = (cast_expression "(uint)local_38" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar1 = *(undefined4 **)(local_3c + 0xc);" (assignment_expression "puVar1 = *(undefined4 **)(local_3c + 0xc)" identifier = (pointer_expression "*(undefined4 **)(local_3c + 0xc)" * (cast_expression "(undefined4 **)(local_3c + 0xc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_3c + 0xc)" ( (binary_expression "local_3c + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (uVar10 == 0) {\n      if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x75a,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        uVar2 = uVar6;\n        uVar10 = uVar6;\n        iVar7 = 0;\n      }\n      else {\n        uVar4 = FUN_002b58f0(puVar1);\n        local_50 = uVar11;\n        define_default_version<32,false>(this,uVar4,uVar2,uVar11);\n        uVar11 = 0;\n        uVar2 = 0;\n        iVar7 = 0;\n      }\n    }\n    else {\n      if (puVar1 != (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x768,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n      iVar7 = local_3c;\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        uVar2 = uVar6;\n      }\n      else {\n        uVar10 = uVar2;\n        if ((uVar2 == 0) &&\n           (puVar5 = *(undefined4 **)(uVar11 + 0xc), uVar2 = uVar6, uVar10 = uVar6, puVar5[1] == 0))\n        {\n          uVar11 = 0;\n          *param_7 = 1;\n          uVar2 = 0;\n          puVar1 = puVar5;\n        }\n      }\n    }" if (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) (compound_statement "{\n      if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x75a,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        uVar2 = uVar6;\n        uVar10 = uVar6;\n        iVar7 = 0;\n      }\n      else {\n        uVar4 = FUN_002b58f0(puVar1);\n        local_50 = uVar11;\n        define_default_version<32,false>(this,uVar4,uVar2,uVar11);\n        uVar11 = 0;\n        uVar2 = 0;\n        iVar7 = 0;\n      }\n    }" { (if_statement "if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x75a,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }" if (parenthesized_expression "(puVar1 == (undefined4 *)0x0)" ( (binary_expression "puVar1 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x75a,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }" { (expression_statement "pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x75a,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);" (assignment_expression "pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x75a,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c)" identifier = (cast_expression "(Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x75a,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c)" ( (type_descriptor "Sized_symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x75a,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_in_a_linker_script_004c191c + 0x24b0,0x75a,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c)" ( (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x24b0" identifier + number_literal) , number_literal , (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x2f4c" identifier + number_literal) ))))) ;) (return_statement "return pSVar3;" return identifier ;) })) (if_statement "if (uVar6 == 0) {\n        uVar11 = 0;\n        uVar2 = uVar6;\n        uVar10 = uVar6;\n        iVar7 = 0;\n      }\n      else {\n        uVar4 = FUN_002b58f0(puVar1);\n        local_50 = uVar11;\n        define_default_version<32,false>(this,uVar4,uVar2,uVar11);\n        uVar11 = 0;\n        uVar2 = 0;\n        iVar7 = 0;\n      }" if (parenthesized_expression "(uVar6 == 0)" ( (binary_expression "uVar6 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar11 = 0;\n        uVar2 = uVar6;\n        uVar10 = uVar6;\n        iVar7 = 0;\n      }" { (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;) (expression_statement "uVar2 = uVar6;" (assignment_expression "uVar2 = uVar6" identifier = identifier) ;) (expression_statement "uVar10 = uVar6;" (assignment_expression "uVar10 = uVar6" identifier = identifier) ;) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        uVar4 = FUN_002b58f0(puVar1);\n        local_50 = uVar11;\n        define_default_version<32,false>(this,uVar4,uVar2,uVar11);\n        uVar11 = 0;\n        uVar2 = 0;\n        iVar7 = 0;\n      }" else (compound_statement "{\n        uVar4 = FUN_002b58f0(puVar1);\n        local_50 = uVar11;\n        define_default_version<32,false>(this,uVar4,uVar2,uVar11);\n        uVar11 = 0;\n        uVar2 = 0;\n        iVar7 = 0;\n      }" { (expression_statement "uVar4 = FUN_002b58f0(puVar1);" (assignment_expression "uVar4 = FUN_002b58f0(puVar1)" identifier = (call_expression "FUN_002b58f0(puVar1)" identifier (argument_list "(puVar1)" ( identifier )))) ;) (expression_statement "local_50 = uVar11;" (assignment_expression "local_50 = uVar11" identifier = identifier) ;) (expression_statement "define_default_version<32,false>(this,uVar4,uVar2,uVar11);" (comma_expression "define_default_version<32,false>(this,uVar4,uVar2,uVar11)" (binary_expression "define_default_version<32" identifier < number_literal) , (binary_expression "false>(this,uVar4,uVar2,uVar11)" false > (parenthesized_expression "(this,uVar4,uVar2,uVar11)" ( (comma_expression "this,uVar4,uVar2,uVar11" identifier , (comma_expression "uVar4,uVar2,uVar11" identifier , (comma_expression "uVar2,uVar11" identifier , identifier))) )))) ;) (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;) (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" identifier = number_literal) ;) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) }))) }) (else_clause "else {\n      if (puVar1 != (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x768,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n      iVar7 = local_3c;\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        uVar2 = uVar6;\n      }\n      else {\n        uVar10 = uVar2;\n        if ((uVar2 == 0) &&\n           (puVar5 = *(undefined4 **)(uVar11 + 0xc), uVar2 = uVar6, uVar10 = uVar6, puVar5[1] == 0))\n        {\n          uVar11 = 0;\n          *param_7 = 1;\n          uVar2 = 0;\n          puVar1 = puVar5;\n        }\n      }\n    }" else (compound_statement "{\n      if (puVar1 != (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x768,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n      iVar7 = local_3c;\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        uVar2 = uVar6;\n      }\n      else {\n        uVar10 = uVar2;\n        if ((uVar2 == 0) &&\n           (puVar5 = *(undefined4 **)(uVar11 + 0xc), uVar2 = uVar6, uVar10 = uVar6, puVar5[1] == 0))\n        {\n          uVar11 = 0;\n          *param_7 = 1;\n          uVar2 = 0;\n          puVar1 = puVar5;\n        }\n      }\n    }" { (if_statement "if (puVar1 != (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x768,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }" if (parenthesized_expression "(puVar1 != (undefined4 *)0x0)" ( (binary_expression "puVar1 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x768,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }" { (expression_statement "pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x768,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);" (assignment_expression "pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x768,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c)" identifier = (cast_expression "(Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x768,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c)" ( (type_descriptor "Sized_symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x768,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_in_a_linker_script_004c191c + 0x24b0,0x768,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c)" ( (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x24b0" identifier + number_literal) , number_literal , (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x2f4c" identifier + number_literal) ))))) ;) (return_statement "return pSVar3;" return identifier ;) })) (expression_statement "iVar7 = local_3c;" (assignment_expression "iVar7 = local_3c" identifier = identifier) ;) (if_statement "if (uVar6 == 0) {\n        uVar11 = 0;\n        uVar2 = uVar6;\n      }\n      else {\n        uVar10 = uVar2;\n        if ((uVar2 == 0) &&\n           (puVar5 = *(undefined4 **)(uVar11 + 0xc), uVar2 = uVar6, uVar10 = uVar6, puVar5[1] == 0))\n        {\n          uVar11 = 0;\n          *param_7 = 1;\n          uVar2 = 0;\n          puVar1 = puVar5;\n        }\n      }" if (parenthesized_expression "(uVar6 == 0)" ( (binary_expression "uVar6 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar11 = 0;\n        uVar2 = uVar6;\n      }" { (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;) (expression_statement "uVar2 = uVar6;" (assignment_expression "uVar2 = uVar6" identifier = identifier) ;) }) (else_clause "else {\n        uVar10 = uVar2;\n        if ((uVar2 == 0) &&\n           (puVar5 = *(undefined4 **)(uVar11 + 0xc), uVar2 = uVar6, uVar10 = uVar6, puVar5[1] == 0))\n        {\n          uVar11 = 0;\n          *param_7 = 1;\n          uVar2 = 0;\n          puVar1 = puVar5;\n        }\n      }" else (compound_statement "{\n        uVar10 = uVar2;\n        if ((uVar2 == 0) &&\n           (puVar5 = *(undefined4 **)(uVar11 + 0xc), uVar2 = uVar6, uVar10 = uVar6, puVar5[1] == 0))\n        {\n          uVar11 = 0;\n          *param_7 = 1;\n          uVar2 = 0;\n          puVar1 = puVar5;\n        }\n      }" { (expression_statement "uVar10 = uVar2;" (assignment_expression "uVar10 = uVar2" identifier = identifier) ;) (if_statement "if ((uVar2 == 0) &&\n           (puVar5 = *(undefined4 **)(uVar11 + 0xc), uVar2 = uVar6, uVar10 = uVar6, puVar5[1] == 0))\n        {\n          uVar11 = 0;\n          *param_7 = 1;\n          uVar2 = 0;\n          puVar1 = puVar5;\n        }" if (parenthesized_expression "((uVar2 == 0) &&\n           (puVar5 = *(undefined4 **)(uVar11 + 0xc), uVar2 = uVar6, uVar10 = uVar6, puVar5[1] == 0))" ( (binary_expression "(uVar2 == 0) &&\n           (puVar5 = *(undefined4 **)(uVar11 + 0xc), uVar2 = uVar6, uVar10 = uVar6, puVar5[1] == 0)" (parenthesized_expression "(uVar2 == 0)" ( (binary_expression "uVar2 == 0" identifier == number_literal) )) && (parenthesized_expression "(puVar5 = *(undefined4 **)(uVar11 + 0xc), uVar2 = uVar6, uVar10 = uVar6, puVar5[1] == 0)" ( (comma_expression "puVar5 = *(undefined4 **)(uVar11 + 0xc), uVar2 = uVar6, uVar10 = uVar6, puVar5[1] == 0" (assignment_expression "puVar5 = *(undefined4 **)(uVar11 + 0xc)" identifier = (pointer_expression "*(undefined4 **)(uVar11 + 0xc)" * (cast_expression "(undefined4 **)(uVar11 + 0xc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(uVar11 + 0xc)" ( (binary_expression "uVar11 + 0xc" identifier + number_literal) ))))) , (comma_expression "uVar2 = uVar6, uVar10 = uVar6, puVar5[1] == 0" (assignment_expression "uVar2 = uVar6" identifier = identifier) , (comma_expression "uVar10 = uVar6, puVar5[1] == 0" (assignment_expression "uVar10 = uVar6" identifier = identifier) , (binary_expression "puVar5[1] == 0" (subscript_expression "puVar5[1]" identifier [ number_literal ]) == number_literal)))) ))) )) (compound_statement "{\n          uVar11 = 0;\n          *param_7 = 1;\n          uVar2 = 0;\n          puVar1 = puVar5;\n        }" { (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" * identifier) = number_literal) ;) (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" identifier = number_literal) ;) (expression_statement "puVar1 = puVar5;" (assignment_expression "puVar1 = puVar5" identifier = identifier) ;) })) }))) }))) (labeled_statement "LAB_002c52a8:\n    piVar8 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);" statement_identifier : (expression_statement "piVar8 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);" (assignment_expression "piVar8 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc)" identifier = (pointer_expression "*(int **)(*(int *)PTR_parameters_004c19b4 + 0xc)" * (cast_expression "(int **)(*(int *)PTR_parameters_004c19b4 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)PTR_parameters_004c19b4 + 0xc)" ( (binary_expression "*(int *)PTR_parameters_004c19b4 + 0xc" (pointer_expression "*(int *)PTR_parameters_004c19b4" * (cast_expression "(int *)PTR_parameters_004c19b4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) ;)) (if_statement "if (piVar8 == (int *)0x0) {\n      pSVar3 = (Sized_symbol *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                          PTR_s_in_a_linker_script_004c191c + 0x3098);\n      return pSVar3;\n    }" if (parenthesized_expression "(piVar8 == (int *)0x0)" ( (binary_expression "piVar8 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pSVar3 = (Sized_symbol *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                          PTR_s_in_a_linker_script_004c191c + 0x3098);\n      return pSVar3;\n    }" { (expression_statement "pSVar3 = (Sized_symbol *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                          PTR_s_in_a_linker_script_004c191c + 0x3098);" (assignment_expression "pSVar3 = (Sized_symbol *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                          PTR_s_in_a_linker_script_004c191c + 0x3098)" identifier = (cast_expression "(Sized_symbol *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                          PTR_s_in_a_linker_script_004c191c + 0x3098)" ( (type_descriptor "Sized_symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                          PTR_s_in_a_linker_script_004c191c + 0x3098)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                          PTR_s_in_a_linker_script_004c191c + 0x3098)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8" identifier + number_literal) , number_literal , (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x3098" identifier + number_literal) ))))) ;) (return_statement "return pSVar3;" return identifier ;) })) (if_statement "if (*(char *)(piVar8[1] + 0xc) == '\0') {\n      pSVar3 = (Sized_symbol *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n      (*(code *)PTR_memset_004c5c68)(pSVar3,0,0x30);\n    }\n    else {\n      pSVar3 = (Sized_symbol *)(**(code **)(*piVar8 + 0xa8))(piVar8,*param_1,0,0,0);\n      if (pSVar3 == (Sized_symbol *)0x0) goto LAB_002c544c;\n    }" if (parenthesized_expression "(*(char *)(piVar8[1] + 0xc) == '\0')" ( (binary_expression "*(char *)(piVar8[1] + 0xc) == '\0'" (pointer_expression "*(char *)(piVar8[1] + 0xc)" * (cast_expression "(char *)(piVar8[1] + 0xc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar8[1] + 0xc)" ( (binary_expression "piVar8[1] + 0xc" (subscript_expression "piVar8[1]" identifier [ number_literal ]) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      pSVar3 = (Sized_symbol *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n      (*(code *)PTR_memset_004c5c68)(pSVar3,0,0x30);\n    }" { (expression_statement "pSVar3 = (Sized_symbol *)(*(code *)PTR_operator_new_004c13a8)(0x38);" (assignment_expression "pSVar3 = (Sized_symbol *)(*(code *)PTR_operator_new_004c13a8)(0x38)" identifier = (cast_expression "(Sized_symbol *)(*(code *)PTR_operator_new_004c13a8)(0x38)" ( (type_descriptor "Sized_symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_operator_new_004c13a8)(0x38)" (parenthesized_expression "(*(code *)PTR_operator_new_004c13a8)" ( (pointer_expression "*(code *)PTR_operator_new_004c13a8" * (cast_expression "(code *)PTR_operator_new_004c13a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x38)" ( number_literal ))))) ;) (expression_statement "(*(code *)PTR_memset_004c5c68)(pSVar3,0,0x30);" (call_expression "(*(code *)PTR_memset_004c5c68)(pSVar3,0,0x30)" (parenthesized_expression "(*(code *)PTR_memset_004c5c68)" ( (pointer_expression "*(code *)PTR_memset_004c5c68" * (cast_expression "(code *)PTR_memset_004c5c68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pSVar3,0,0x30)" ( identifier , number_literal , number_literal ))) ;) }) (else_clause "else {\n      pSVar3 = (Sized_symbol *)(**(code **)(*piVar8 + 0xa8))(piVar8,*param_1,0,0,0);\n      if (pSVar3 == (Sized_symbol *)0x0) goto LAB_002c544c;\n    }" else (compound_statement "{\n      pSVar3 = (Sized_symbol *)(**(code **)(*piVar8 + 0xa8))(piVar8,*param_1,0,0,0);\n      if (pSVar3 == (Sized_symbol *)0x0) goto LAB_002c544c;\n    }" { (expression_statement "pSVar3 = (Sized_symbol *)(**(code **)(*piVar8 + 0xa8))(piVar8,*param_1,0,0,0);" (assignment_expression "pSVar3 = (Sized_symbol *)(**(code **)(*piVar8 + 0xa8))(piVar8,*param_1,0,0,0)" identifier = (cast_expression "(Sized_symbol *)(**(code **)(*piVar8 + 0xa8))(piVar8,*param_1,0,0,0)" ( (type_descriptor "Sized_symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*piVar8 + 0xa8))(piVar8,*param_1,0,0,0)" (parenthesized_expression "(**(code **)(*piVar8 + 0xa8))" ( (pointer_expression "**(code **)(*piVar8 + 0xa8)" * (pointer_expression "*(code **)(*piVar8 + 0xa8)" * (cast_expression "(code **)(*piVar8 + 0xa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar8 + 0xa8)" ( (binary_expression "*piVar8 + 0xa8" (pointer_expression "*piVar8" * identifier) + number_literal) ))))) )) (argument_list "(piVar8,*param_1,0,0,0)" ( identifier , (pointer_expression "*param_1" * identifier) , number_literal , number_literal , number_literal ))))) ;) (if_statement "if (pSVar3 == (Sized_symbol *)0x0) goto LAB_002c544c;" if (parenthesized_expression "(pSVar3 == (Sized_symbol *)0x0)" ( (binary_expression "pSVar3 == (Sized_symbol *)0x0" identifier == (cast_expression "(Sized_symbol *)0x0" ( (type_descriptor "Sized_symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002c544c;" goto statement_identifier ;)) }))) (if_statement "if (uVar10 == 0) {\n      if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n    }\n    else {\n      *(Sized_symbol **)(iVar7 + 0xc) = pSVar3;\n    }" if (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) (compound_statement "{\n      if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n    }" { (if_statement "if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }" if (parenthesized_expression "(puVar1 == (undefined4 *)0x0)" ( (binary_expression "puVar1 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }" { (expression_statement "pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);" (assignment_expression "pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c)" identifier = (cast_expression "(Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c)" ( (type_descriptor "Sized_symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c)" ( (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x24b0" identifier + number_literal) , number_literal , (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x2f4c" identifier + number_literal) ))))) ;) (return_statement "return pSVar3;" return identifier ;) })) }) (else_clause "else {\n      *(Sized_symbol **)(iVar7 + 0xc) = pSVar3;\n    }" else (compound_statement "{\n      *(Sized_symbol **)(iVar7 + 0xc) = pSVar3;\n    }" { (expression_statement "*(Sized_symbol **)(iVar7 + 0xc) = pSVar3;" (assignment_expression "*(Sized_symbol **)(iVar7 + 0xc) = pSVar3" (pointer_expression "*(Sized_symbol **)(iVar7 + 0xc)" * (cast_expression "(Sized_symbol **)(iVar7 + 0xc)" ( (type_descriptor "Sized_symbol **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0xc)" ( (binary_expression "iVar7 + 0xc" identifier + number_literal) )))) = identifier) ;) }))) (if_statement "if (uVar2 != 0) {\n      *(Sized_symbol **)(uVar11 + 0xc) = pSVar3;\n    }" if (parenthesized_expression "(uVar2 != 0)" ( (binary_expression "uVar2 != 0" identifier != number_literal) )) (compound_statement "{\n      *(Sized_symbol **)(uVar11 + 0xc) = pSVar3;\n    }" { (expression_statement "*(Sized_symbol **)(uVar11 + 0xc) = pSVar3;" (assignment_expression "*(Sized_symbol **)(uVar11 + 0xc) = pSVar3" (pointer_expression "*(Sized_symbol **)(uVar11 + 0xc)" * (cast_expression "(Sized_symbol **)(uVar11 + 0xc)" ( (type_descriptor "Sized_symbol **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(uVar11 + 0xc)" ( (binary_expression "uVar11 + 0xc" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "uVar4 = FUN_002b58f0(puVar1);" (assignment_expression "uVar4 = FUN_002b58f0(puVar1)" identifier = (call_expression "FUN_002b58f0(puVar1)" identifier (argument_list "(puVar1)" ( identifier )))) ;) (expression_statement "*param_6 = uVar4;" (assignment_expression "*param_6 = uVar4" (pointer_expression "*param_6" * identifier) = identifier) ;) }))) (labeled_statement "LAB_002c5450:\n  if (local_68 != local_60) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" statement_identifier : (if_statement "if (local_68 != local_60) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" if (parenthesized_expression "(local_68 != local_60)" ( (binary_expression "local_68 != local_60" identifier != identifier) )) (compound_statement "{\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) }))) (return_statement "return pSVar3;" return identifier ;) }))
(translation_unit (ERROR (binary_expression (binary_expression (binary_expression IDENT * IDENT) (ERROR IDENT : : IDENT : : IDENT) < LIT) (ERROR , BOOL) > (parenthesized_expression ( (comma_expression (binary_expression IDENT * IDENT) , (comma_expression (binary_expression IDENT * IDENT) , (comma_expression (binary_expression IDENT * IDENT) , (ERROR IDENT) (comma_expression IDENT , (ERROR IDENT) (comma_expression IDENT , (comma_expression (binary_expression IDENT * IDENT) , (comma_expression (binary_expression IDENT * IDENT) , (ERROR IDENT) IDENT))))))) )))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * 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 (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (ERROR (assignment_expression IDENT = IDENT) : :) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT)) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT)) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT >> LIT)) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) })) (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) )) (goto_statement goto statement_identifier ;))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT << LIT) ))) < LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) && (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT << LIT) )))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT < IDENT) > (ERROR : :) (call_expression IDENT (argument_list ( (call_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT < IDENT) > (pointer_expression * IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) ))) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) , BOOL , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) }) (else_clause else (compound_statement { (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 (binary_expression IDENT < IDENT) > (ERROR : :) (call_expression IDENT (argument_list ( (call_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT < IDENT) > (pointer_expression * IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) ))) , IDENT , BOOL , IDENT ))))) ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT < IDENT) > (ERROR : :) (call_expression IDENT (argument_list ( (call_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT < IDENT) > (pointer_expression * IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) ))) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) , BOOL , (pointer_expression & IDENT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier (ERROR : : (binary_expression IDENT < IDENT) : : (comma_expression (binary_expression IDENT < IDENT) , (binary_expression IDENT > (ERROR ,) IDENT)) : : (binary_expression IDENT < IDENT) : : (comma_expression (binary_expression IDENT < IDENT) , (comma_expression (binary_expression IDENT > IDENT) , IDENT)) : : (comma_expression IDENT (ERROR * >) , IDENT) : : (binary_expression IDENT < IDENT) : : (binary_expression IDENT < IDENT) : : (comma_expression (binary_expression IDENT < IDENT) , (comma_expression (binary_expression IDENT > IDENT) , IDENT)) : : (comma_expression IDENT (ERROR * >>) , IDENT) :) : (labeled_statement statement_identifier (ERROR : : (comma_expression IDENT , IDENT) :) : (labeled_statement statement_identifier (ERROR : : (comma_expression IDENT , IDENT) :) : (labeled_statement statement_identifier (ERROR : : (comma_expression IDENT , IDENT) :) : (labeled_statement statement_identifier (ERROR : : (comma_expression IDENT , IDENT) :) : (labeled_statement statement_identifier (ERROR : : (comma_expression IDENT , IDENT) :) : (labeled_statement statement_identifier (ERROR : : (comma_expression IDENT , IDENT) :) : (expression_statement (binary_expression IDENT (ERROR : : (comma_expression (binary_expression IDENT < BOOL) , (comma_expression BOOL , (binary_expression (binary_expression BOOL >> (ERROR : :) IDENT) < IDENT))) : : (binary_expression IDENT < IDENT) : : (comma_expression (binary_expression IDENT < IDENT) , (binary_expression IDENT > (ERROR ,) IDENT)) : : IDENT *) >> (parenthesized_expression ( (comma_expression (pointer_expression & IDENT) , (comma_expression (binary_expression IDENT + LIT) , (comma_expression LIT , (pointer_expression & IDENT)))) ))) ;)))))))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (labeled_statement statement_identifier (ERROR : : (binary_expression IDENT < IDENT) : : (comma_expression (binary_expression IDENT < IDENT) , (binary_expression IDENT > (ERROR ,) IDENT)) : : (binary_expression IDENT < IDENT) : : (comma_expression (binary_expression IDENT < IDENT) , (comma_expression (binary_expression IDENT > IDENT) , IDENT)) : : (comma_expression IDENT (ERROR * >) , IDENT) : : (binary_expression IDENT < IDENT) : : (binary_expression IDENT < IDENT) : : (comma_expression (binary_expression IDENT < IDENT) , (comma_expression (binary_expression IDENT > IDENT) , IDENT)) : : (comma_expression IDENT (ERROR * >>) , IDENT) :) : (labeled_statement statement_identifier (ERROR : : (comma_expression IDENT , IDENT) :) : (labeled_statement statement_identifier (ERROR : : (comma_expression IDENT , IDENT) :) : (labeled_statement statement_identifier (ERROR : : (comma_expression IDENT , IDENT) :) : (labeled_statement statement_identifier (ERROR : : (comma_expression IDENT , IDENT) :) : (labeled_statement statement_identifier (ERROR : : (comma_expression IDENT , IDENT) :) : (labeled_statement statement_identifier (ERROR : : (comma_expression IDENT , IDENT) :) : (expression_statement (binary_expression IDENT (ERROR : : (comma_expression (binary_expression IDENT < BOOL) , (comma_expression BOOL , (binary_expression (binary_expression BOOL >> (ERROR : :) IDENT) < IDENT))) : : (binary_expression IDENT < IDENT) : : (comma_expression (binary_expression IDENT < IDENT) , (binary_expression IDENT > (ERROR ,) IDENT)) : : IDENT *) >> (parenthesized_expression ( (comma_expression (pointer_expression & IDENT) , (comma_expression (binary_expression IDENT + LIT) , (comma_expression LIT , (pointer_expression & IDENT)))) ))) ;)))))))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (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 ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))))) ;) (return_statement return IDENT ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (comma_expression (binary_expression IDENT < LIT) , (binary_expression BOOL > (parenthesized_expression ( (comma_expression IDENT , (comma_expression IDENT , (comma_expression IDENT , IDENT))) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (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 ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))))) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (subscript_expression IDENT [ LIT ]) == LIT)))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) }))) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (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 ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))))) ;) (return_statement return IDENT ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (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 ( LIT ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , LIT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , (pointer_expression * IDENT) , LIT , LIT , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (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 ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))))) ;) (return_statement return IDENT ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) }))) (return_statement return IDENT ;) }))
(ERROR "Sized_symbol * __thiscall\ngold::Symbol_table::define_special_symbol<32,false>\n          (Symbol_table *this,undefined4 *param_1,int *param_2,int param_4,int param_5,\n          undefined4 *param_6,undefined1 *param_7,char param_8)" (binary_expression "Sized_symbol * __thiscall\ngold::Symbol_table::define_special_symbol<32,false>\n          (Symbol_table *this,undefined4 *param_1,int *param_2,int param_4,int param_5,\n          undefined4 *param_6,undefined1 *param_7,char param_8)" (binary_expression "Sized_symbol * __thiscall\ngold::Symbol_table::define_special_symbol<32" (binary_expression "Sized_symbol * __thiscall" (identifier "Sized_symbol") (* "*") (identifier "__thiscall")) (ERROR "gold::Symbol_table::define_special_symbol" (identifier "gold") (: ":") (: ":") (identifier "Symbol_table") (: ":") (: ":") (identifier "define_special_symbol")) (< "<") (number_literal "32")) (ERROR ",false" (, ",") (false "false")) (> ">") (parenthesized_expression "(Symbol_table *this,undefined4 *param_1,int *param_2,int param_4,int param_5,\n          undefined4 *param_6,undefined1 *param_7,char param_8)" (( "(") (comma_expression "Symbol_table *this,undefined4 *param_1,int *param_2,int param_4,int param_5,\n          undefined4 *param_6,undefined1 *param_7,char param_8" (binary_expression "Symbol_table *this" (identifier "Symbol_table") (* "*") (identifier "this")) (, ",") (comma_expression "undefined4 *param_1,int *param_2,int param_4,int param_5,\n          undefined4 *param_6,undefined1 *param_7,char param_8" (binary_expression "undefined4 *param_1" (identifier "undefined4") (* "*") (identifier "param_1")) (, ",") (comma_expression "int *param_2,int param_4,int param_5,\n          undefined4 *param_6,undefined1 *param_7,char param_8" (binary_expression "int *param_2" (identifier "int") (* "*") (identifier "param_2")) (, ",") (ERROR "int" (identifier "int")) (comma_expression "param_4,int param_5,\n          undefined4 *param_6,undefined1 *param_7,char param_8" (identifier "param_4") (, ",") (ERROR "int" (identifier "int")) (comma_expression "param_5,\n          undefined4 *param_6,undefined1 *param_7,char param_8" (identifier "param_5") (, ",") (comma_expression "undefined4 *param_6,undefined1 *param_7,char param_8" (binary_expression "undefined4 *param_6" (identifier "undefined4") (* "*") (identifier "param_6")) (, ",") (comma_expression "undefined1 *param_7,char param_8" (binary_expression "undefined1 *param_7" (identifier "undefined1") (* "*") (identifier "param_7")) (, ",") (ERROR "char" (identifier "char")) (identifier "param_8")))))))) () ")")))) (compound_statement "{\n  undefined4 *puVar1;\n  uint uVar2;\n  Sized_symbol *pSVar3;\n  undefined4 uVar4;\n  undefined4 *puVar5;\n  uint uVar6;\n  int iVar7;\n  int *piVar8;\n  char *pcVar9;\n  uint uVar10;\n  uint uVar11;\n  undefined1 *local_68;\n  int local_64;\n  undefined1 local_60 [16];\n  uint local_50;\n  uint local_4c;\n  undefined4 local_48;\n  uint local_44;\n  byte local_40;\n  int local_3c;\n  byte local_38;\n  uint local_34;\n  uint local_30 [2];\n  \n  local_64 = 0;\n  local_60[0] = 0;\n  pcVar9 = (char *)*param_1;\n  *param_7 = 0;\n  *param_6 = 0;\n  local_68 = local_60;\n  if (param_8 == '\0') {\n    uVar6 = 0;\n    if (*param_2 == 0) {\n      uVar6 = Version_script_info::get_symbol_version\n                        (*(Version_script_info **)(this + 0x160),pcVar9,(string *)&local_68,\n                         (bool *)&local_50);\n      if ((uVar6 != 0) && (uVar6 = local_50 >> 0x18, uVar6 != 0)) {\n        if (local_64 == 0) {\n          pcVar9 = (char *)*param_1;\n          uVar6 = 0;\n          goto LAB_002c5224;\n        }\n        *param_2 = (int)local_68;\n      }\n      pcVar9 = (char *)*param_1;\n    }\nLAB_002c5224:\n    if (param_4 == 0) goto LAB_002c5340;\nLAB_002c522c:\n                    \n    puVar1 = (undefined4 *)lookup(this,pcVar9,(char *)*param_2);\n    if (puVar1 != (undefined4 *)0x0) {\nLAB_002c524c:\n      uVar2 = puVar1[10];\n      if ((uVar2 & 0xe000) != 0) {\n        if ((uVar2 & 0xe000) == 0x8000) goto LAB_002c5288;\n        goto LAB_002c544c;\n      }\n      if (puVar1[3] == 0) {\n        if ((int)(uVar2 << 0x1d) < 0) goto LAB_002c5288;\n        iVar7 = puVar1[2];\n      }\n      else {\n        iVar7 = puVar1[2];\n      }\n      if (-1 < *(int *)(iVar7 + 0x2c)) goto LAB_002c544c;\n      if ((param_5 - 1U < 2) && (-1 < (int)(uVar2 << 0x17))) {\n        pSVar3 = (Sized_symbol *)0x0;\n        goto LAB_002c5450;\n      }\nLAB_002c5288:\n      *param_1 = *puVar1;\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        *param_2 = puVar1[1];\n        uVar2 = 0;\n        uVar10 = 0;\n        iVar7 = 0;\n      }\n      else {\n        iVar7 = Stringpool_template<char>::add\n                          ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,\n                           (uint *)0x0);\n        uVar11 = 0;\n        *param_2 = iVar7;\n        uVar2 = 0;\n        uVar10 = 0;\n        iVar7 = 0;\n      }\n      goto LAB_002c52a8;\n    }\n    if (uVar6 != 0) {\n      puVar1 = (undefined4 *)lookup(this,(char *)*param_1,(char *)0x0);\n      if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)0x0;\n        goto LAB_002c5450;\n      }\n      goto LAB_002c524c;\n    }\nLAB_002c544c:\n    pSVar3 = (Sized_symbol *)0x0;\n  }\n  else {\n    uVar6 = 0;\n    if (param_4 != 0) goto LAB_002c522c;\nLAB_002c5340:\n    uVar4 = Stringpool_template<char>::add\n                      ((Stringpool_template<char> *)(this + 0x48),pcVar9,true,local_30);\n    *param_1 = uVar4;\n    local_34 = 0;\n    if ((char *)*param_2 != (char *)0x0) {\n      iVar7 = Stringpool_template<char>::add\n                        ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,&local_34)\n      ;\n      *param_2 = iVar7;\n    }\n    local_48 = 0;\n    local_50 = local_30[0];\n    local_4c = local_34;\n    std::\n    _Hashtable<std::pair<unsigned_int,unsigned_int>,std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>,std::allocator<std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>>,std::__detail::_Select1st,gold::Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>\n              (&local_3c,this + 0x28,0,&local_50);\n    if (uVar6 == 0) {\n      uVar2 = 0;\n      uVar11 = 0;\n    }\n    else {\n      local_4c = 0;\n      local_48 = 0;\n      local_50 = local_30[0];\n      std::\n      _Hashtable<std::pair<unsigned_int,unsigned_int>,std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>,std::allocator<std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>>,std::__detail::_Select1st,gold::Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>\n                (&local_44,this + 0x28,0,&local_50);\n      uVar2 = (uint)local_40;\n      uVar11 = local_44;\n    }\n    uVar10 = (uint)local_38;\n    puVar1 = *(undefined4 **)(local_3c + 0xc);\n    if (uVar10 == 0) {\n      if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x75a,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        uVar2 = uVar6;\n        uVar10 = uVar6;\n        iVar7 = 0;\n      }\n      else {\n        uVar4 = FUN_002b58f0(puVar1);\n        local_50 = uVar11;\n        define_default_version<32,false>(this,uVar4,uVar2,uVar11);\n        uVar11 = 0;\n        uVar2 = 0;\n        iVar7 = 0;\n      }\n    }\n    else {\n      if (puVar1 != (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x768,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n      iVar7 = local_3c;\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        uVar2 = uVar6;\n      }\n      else {\n        uVar10 = uVar2;\n        if ((uVar2 == 0) &&\n           (puVar5 = *(undefined4 **)(uVar11 + 0xc), uVar2 = uVar6, uVar10 = uVar6, puVar5[1] == 0))\n        {\n          uVar11 = 0;\n          *param_7 = 1;\n          uVar2 = 0;\n          puVar1 = puVar5;\n        }\n      }\n    }\nLAB_002c52a8:\n    piVar8 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n    if (piVar8 == (int *)0x0) {\n      pSVar3 = (Sized_symbol *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                          PTR_s_in_a_linker_script_004c191c + 0x3098);\n      return pSVar3;\n    }\n    if (*(char *)(piVar8[1] + 0xc) == '\0') {\n      pSVar3 = (Sized_symbol *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n      (*(code *)PTR_memset_004c5c68)(pSVar3,0,0x30);\n    }\n    else {\n      pSVar3 = (Sized_symbol *)(**(code **)(*piVar8 + 0xa8))(piVar8,*param_1,0,0,0);\n      if (pSVar3 == (Sized_symbol *)0x0) goto LAB_002c544c;\n    }\n    if (uVar10 == 0) {\n      if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n    }\n    else {\n      *(Sized_symbol **)(iVar7 + 0xc) = pSVar3;\n    }\n    if (uVar2 != 0) {\n      *(Sized_symbol **)(uVar11 + 0xc) = pSVar3;\n    }\n    uVar4 = FUN_002b58f0(puVar1);\n    *param_6 = uVar4;\n  }\nLAB_002c5450:\n  if (local_68 != local_60) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  return pSVar3;\n}" ({ "{") (declaration "undefined4 *puVar1;" (type_identifier "undefined4") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "uint uVar2;" (type_identifier "uint") (identifier "uVar2") (; ";")) (declaration "Sized_symbol *pSVar3;" (type_identifier "Sized_symbol") (pointer_declarator "*pSVar3" (* "*") (identifier "pSVar3")) (; ";")) (declaration "undefined4 uVar4;" (type_identifier "undefined4") (identifier "uVar4") (; ";")) (declaration "undefined4 *puVar5;" (type_identifier "undefined4") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "uint uVar6;" (type_identifier "uint") (identifier "uVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "int *piVar8;" (primitive_type "int") (pointer_declarator "*piVar8" (* "*") (identifier "piVar8")) (; ";")) (declaration "char *pcVar9;" (primitive_type "char") (pointer_declarator "*pcVar9" (* "*") (identifier "pcVar9")) (; ";")) (declaration "uint uVar10;" (type_identifier "uint") (identifier "uVar10") (; ";")) (declaration "uint uVar11;" (type_identifier "uint") (identifier "uVar11") (; ";")) (declaration "undefined1 *local_68;" (type_identifier "undefined1") (pointer_declarator "*local_68" (* "*") (identifier "local_68")) (; ";")) (declaration "int local_64;" (primitive_type "int") (identifier "local_64") (; ";")) (declaration "undefined1 local_60 [16];" (type_identifier "undefined1") (array_declarator "local_60 [16]" (identifier "local_60") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "uint local_50;" (type_identifier "uint") (identifier "local_50") (; ";")) (declaration "uint local_4c;" (type_identifier "uint") (identifier "local_4c") (; ";")) (declaration "undefined4 local_48;" (type_identifier "undefined4") (identifier "local_48") (; ";")) (declaration "uint local_44;" (type_identifier "uint") (identifier "local_44") (; ";")) (declaration "byte local_40;" (type_identifier "byte") (identifier "local_40") (; ";")) (declaration "int local_3c;" (primitive_type "int") (identifier "local_3c") (; ";")) (declaration "byte local_38;" (type_identifier "byte") (identifier "local_38") (; ";")) (declaration "uint local_34;" (type_identifier "uint") (identifier "local_34") (; ";")) (declaration "uint local_30 [2];" (type_identifier "uint") (array_declarator "local_30 [2]" (identifier "local_30") ([ "[") (number_literal "2") (] "]")) (; ";")) (expression_statement "local_64 = 0;" (assignment_expression "local_64 = 0" (identifier "local_64") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_60[0] = 0;" (assignment_expression "local_60[0] = 0" (subscript_expression "local_60[0]" (identifier "local_60") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar9 = (char *)*param_1;" (assignment_expression "pcVar9 = (char *)*param_1" (identifier "pcVar9") (= "=") (cast_expression "(char *)*param_1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_1" (* "*") (identifier "param_1")))) (; ";")) (expression_statement "*param_7 = 0;" (assignment_expression "*param_7 = 0" (pointer_expression "*param_7" (* "*") (identifier "param_7")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*param_6 = 0;" (assignment_expression "*param_6 = 0" (pointer_expression "*param_6" (* "*") (identifier "param_6")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_68 = local_60;" (assignment_expression "local_68 = local_60" (identifier "local_68") (= "=") (identifier "local_60")) (; ";")) (if_statement "if (param_8 == '\0') {\n    uVar6 = 0;\n    if (*param_2 == 0) {\n      uVar6 = Version_script_info::get_symbol_version\n                        (*(Version_script_info **)(this + 0x160),pcVar9,(string *)&local_68,\n                         (bool *)&local_50);\n      if ((uVar6 != 0) && (uVar6 = local_50 >> 0x18, uVar6 != 0)) {\n        if (local_64 == 0) {\n          pcVar9 = (char *)*param_1;\n          uVar6 = 0;\n          goto LAB_002c5224;\n        }\n        *param_2 = (int)local_68;\n      }\n      pcVar9 = (char *)*param_1;\n    }\nLAB_002c5224:\n    if (param_4 == 0) goto LAB_002c5340;\nLAB_002c522c:\n                    \n    puVar1 = (undefined4 *)lookup(this,pcVar9,(char *)*param_2);\n    if (puVar1 != (undefined4 *)0x0) {\nLAB_002c524c:\n      uVar2 = puVar1[10];\n      if ((uVar2 & 0xe000) != 0) {\n        if ((uVar2 & 0xe000) == 0x8000) goto LAB_002c5288;\n        goto LAB_002c544c;\n      }\n      if (puVar1[3] == 0) {\n        if ((int)(uVar2 << 0x1d) < 0) goto LAB_002c5288;\n        iVar7 = puVar1[2];\n      }\n      else {\n        iVar7 = puVar1[2];\n      }\n      if (-1 < *(int *)(iVar7 + 0x2c)) goto LAB_002c544c;\n      if ((param_5 - 1U < 2) && (-1 < (int)(uVar2 << 0x17))) {\n        pSVar3 = (Sized_symbol *)0x0;\n        goto LAB_002c5450;\n      }\nLAB_002c5288:\n      *param_1 = *puVar1;\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        *param_2 = puVar1[1];\n        uVar2 = 0;\n        uVar10 = 0;\n        iVar7 = 0;\n      }\n      else {\n        iVar7 = Stringpool_template<char>::add\n                          ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,\n                           (uint *)0x0);\n        uVar11 = 0;\n        *param_2 = iVar7;\n        uVar2 = 0;\n        uVar10 = 0;\n        iVar7 = 0;\n      }\n      goto LAB_002c52a8;\n    }\n    if (uVar6 != 0) {\n      puVar1 = (undefined4 *)lookup(this,(char *)*param_1,(char *)0x0);\n      if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)0x0;\n        goto LAB_002c5450;\n      }\n      goto LAB_002c524c;\n    }\nLAB_002c544c:\n    pSVar3 = (Sized_symbol *)0x0;\n  }\n  else {\n    uVar6 = 0;\n    if (param_4 != 0) goto LAB_002c522c;\nLAB_002c5340:\n    uVar4 = Stringpool_template<char>::add\n                      ((Stringpool_template<char> *)(this + 0x48),pcVar9,true,local_30);\n    *param_1 = uVar4;\n    local_34 = 0;\n    if ((char *)*param_2 != (char *)0x0) {\n      iVar7 = Stringpool_template<char>::add\n                        ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,&local_34)\n      ;\n      *param_2 = iVar7;\n    }\n    local_48 = 0;\n    local_50 = local_30[0];\n    local_4c = local_34;\n    std::\n    _Hashtable<std::pair<unsigned_int,unsigned_int>,std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>,std::allocator<std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>>,std::__detail::_Select1st,gold::Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>\n              (&local_3c,this + 0x28,0,&local_50);\n    if (uVar6 == 0) {\n      uVar2 = 0;\n      uVar11 = 0;\n    }\n    else {\n      local_4c = 0;\n      local_48 = 0;\n      local_50 = local_30[0];\n      std::\n      _Hashtable<std::pair<unsigned_int,unsigned_int>,std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>,std::allocator<std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>>,std::__detail::_Select1st,gold::Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>\n                (&local_44,this + 0x28,0,&local_50);\n      uVar2 = (uint)local_40;\n      uVar11 = local_44;\n    }\n    uVar10 = (uint)local_38;\n    puVar1 = *(undefined4 **)(local_3c + 0xc);\n    if (uVar10 == 0) {\n      if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x75a,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        uVar2 = uVar6;\n        uVar10 = uVar6;\n        iVar7 = 0;\n      }\n      else {\n        uVar4 = FUN_002b58f0(puVar1);\n        local_50 = uVar11;\n        define_default_version<32,false>(this,uVar4,uVar2,uVar11);\n        uVar11 = 0;\n        uVar2 = 0;\n        iVar7 = 0;\n      }\n    }\n    else {\n      if (puVar1 != (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x768,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n      iVar7 = local_3c;\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        uVar2 = uVar6;\n      }\n      else {\n        uVar10 = uVar2;\n        if ((uVar2 == 0) &&\n           (puVar5 = *(undefined4 **)(uVar11 + 0xc), uVar2 = uVar6, uVar10 = uVar6, puVar5[1] == 0))\n        {\n          uVar11 = 0;\n          *param_7 = 1;\n          uVar2 = 0;\n          puVar1 = puVar5;\n        }\n      }\n    }\nLAB_002c52a8:\n    piVar8 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n    if (piVar8 == (int *)0x0) {\n      pSVar3 = (Sized_symbol *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                          PTR_s_in_a_linker_script_004c191c + 0x3098);\n      return pSVar3;\n    }\n    if (*(char *)(piVar8[1] + 0xc) == '\0') {\n      pSVar3 = (Sized_symbol *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n      (*(code *)PTR_memset_004c5c68)(pSVar3,0,0x30);\n    }\n    else {\n      pSVar3 = (Sized_symbol *)(**(code **)(*piVar8 + 0xa8))(piVar8,*param_1,0,0,0);\n      if (pSVar3 == (Sized_symbol *)0x0) goto LAB_002c544c;\n    }\n    if (uVar10 == 0) {\n      if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n    }\n    else {\n      *(Sized_symbol **)(iVar7 + 0xc) = pSVar3;\n    }\n    if (uVar2 != 0) {\n      *(Sized_symbol **)(uVar11 + 0xc) = pSVar3;\n    }\n    uVar4 = FUN_002b58f0(puVar1);\n    *param_6 = uVar4;\n  }" (if "if") (parenthesized_expression "(param_8 == '\0')" (( "(") (binary_expression "param_8 == '\0'" (identifier "param_8") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    uVar6 = 0;\n    if (*param_2 == 0) {\n      uVar6 = Version_script_info::get_symbol_version\n                        (*(Version_script_info **)(this + 0x160),pcVar9,(string *)&local_68,\n                         (bool *)&local_50);\n      if ((uVar6 != 0) && (uVar6 = local_50 >> 0x18, uVar6 != 0)) {\n        if (local_64 == 0) {\n          pcVar9 = (char *)*param_1;\n          uVar6 = 0;\n          goto LAB_002c5224;\n        }\n        *param_2 = (int)local_68;\n      }\n      pcVar9 = (char *)*param_1;\n    }\nLAB_002c5224:\n    if (param_4 == 0) goto LAB_002c5340;\nLAB_002c522c:\n                    \n    puVar1 = (undefined4 *)lookup(this,pcVar9,(char *)*param_2);\n    if (puVar1 != (undefined4 *)0x0) {\nLAB_002c524c:\n      uVar2 = puVar1[10];\n      if ((uVar2 & 0xe000) != 0) {\n        if ((uVar2 & 0xe000) == 0x8000) goto LAB_002c5288;\n        goto LAB_002c544c;\n      }\n      if (puVar1[3] == 0) {\n        if ((int)(uVar2 << 0x1d) < 0) goto LAB_002c5288;\n        iVar7 = puVar1[2];\n      }\n      else {\n        iVar7 = puVar1[2];\n      }\n      if (-1 < *(int *)(iVar7 + 0x2c)) goto LAB_002c544c;\n      if ((param_5 - 1U < 2) && (-1 < (int)(uVar2 << 0x17))) {\n        pSVar3 = (Sized_symbol *)0x0;\n        goto LAB_002c5450;\n      }\nLAB_002c5288:\n      *param_1 = *puVar1;\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        *param_2 = puVar1[1];\n        uVar2 = 0;\n        uVar10 = 0;\n        iVar7 = 0;\n      }\n      else {\n        iVar7 = Stringpool_template<char>::add\n                          ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,\n                           (uint *)0x0);\n        uVar11 = 0;\n        *param_2 = iVar7;\n        uVar2 = 0;\n        uVar10 = 0;\n        iVar7 = 0;\n      }\n      goto LAB_002c52a8;\n    }\n    if (uVar6 != 0) {\n      puVar1 = (undefined4 *)lookup(this,(char *)*param_1,(char *)0x0);\n      if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)0x0;\n        goto LAB_002c5450;\n      }\n      goto LAB_002c524c;\n    }\nLAB_002c544c:\n    pSVar3 = (Sized_symbol *)0x0;\n  }" ({ "{") (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" (identifier "uVar6") (= "=") (number_literal "0")) (; ";")) (if_statement "if (*param_2 == 0) {\n      uVar6 = Version_script_info::get_symbol_version\n                        (*(Version_script_info **)(this + 0x160),pcVar9,(string *)&local_68,\n                         (bool *)&local_50);\n      if ((uVar6 != 0) && (uVar6 = local_50 >> 0x18, uVar6 != 0)) {\n        if (local_64 == 0) {\n          pcVar9 = (char *)*param_1;\n          uVar6 = 0;\n          goto LAB_002c5224;\n        }\n        *param_2 = (int)local_68;\n      }\n      pcVar9 = (char *)*param_1;\n    }" (if "if") (parenthesized_expression "(*param_2 == 0)" (( "(") (binary_expression "*param_2 == 0" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      uVar6 = Version_script_info::get_symbol_version\n                        (*(Version_script_info **)(this + 0x160),pcVar9,(string *)&local_68,\n                         (bool *)&local_50);\n      if ((uVar6 != 0) && (uVar6 = local_50 >> 0x18, uVar6 != 0)) {\n        if (local_64 == 0) {\n          pcVar9 = (char *)*param_1;\n          uVar6 = 0;\n          goto LAB_002c5224;\n        }\n        *param_2 = (int)local_68;\n      }\n      pcVar9 = (char *)*param_1;\n    }" ({ "{") (ERROR "uVar6 = Version_script_info::" (assignment_expression "uVar6 = Version_script_info" (identifier "uVar6") (= "=") (identifier "Version_script_info")) (: ":") (: ":")) (expression_statement "get_symbol_version\n                        (*(Version_script_info **)(this + 0x160),pcVar9,(string *)&local_68,\n                         (bool *)&local_50);" (call_expression "get_symbol_version\n                        (*(Version_script_info **)(this + 0x160),pcVar9,(string *)&local_68,\n                         (bool *)&local_50)" (identifier "get_symbol_version") (argument_list "(*(Version_script_info **)(this + 0x160),pcVar9,(string *)&local_68,\n                         (bool *)&local_50)" (( "(") (pointer_expression "*(Version_script_info **)(this + 0x160)" (* "*") (cast_expression "(Version_script_info **)(this + 0x160)" (( "(") (type_descriptor "Version_script_info **" (type_identifier "Version_script_info") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(this + 0x160)" (( "(") (binary_expression "this + 0x160" (identifier "this") (+ "+") (number_literal "0x160")) () ")")))) (, ",") (identifier "pcVar9") (, ",") (cast_expression "(string *)&local_68" (( "(") (type_descriptor "string *" (type_identifier "string") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&local_68" (& "&") (identifier "local_68"))) (, ",") (cast_expression "(bool *)&local_50" (( "(") (type_descriptor "bool *" (primitive_type "bool") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&local_50" (& "&") (identifier "local_50"))) () ")"))) (; ";")) (if_statement "if ((uVar6 != 0) && (uVar6 = local_50 >> 0x18, uVar6 != 0)) {\n        if (local_64 == 0) {\n          pcVar9 = (char *)*param_1;\n          uVar6 = 0;\n          goto LAB_002c5224;\n        }\n        *param_2 = (int)local_68;\n      }" (if "if") (parenthesized_expression "((uVar6 != 0) && (uVar6 = local_50 >> 0x18, uVar6 != 0))" (( "(") (binary_expression "(uVar6 != 0) && (uVar6 = local_50 >> 0x18, uVar6 != 0)" (parenthesized_expression "(uVar6 != 0)" (( "(") (binary_expression "uVar6 != 0" (identifier "uVar6") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(uVar6 = local_50 >> 0x18, uVar6 != 0)" (( "(") (comma_expression "uVar6 = local_50 >> 0x18, uVar6 != 0" (assignment_expression "uVar6 = local_50 >> 0x18" (identifier "uVar6") (= "=") (binary_expression "local_50 >> 0x18" (identifier "local_50") (>> ">>") (number_literal "0x18"))) (, ",") (binary_expression "uVar6 != 0" (identifier "uVar6") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n        if (local_64 == 0) {\n          pcVar9 = (char *)*param_1;\n          uVar6 = 0;\n          goto LAB_002c5224;\n        }\n        *param_2 = (int)local_68;\n      }" ({ "{") (if_statement "if (local_64 == 0) {\n          pcVar9 = (char *)*param_1;\n          uVar6 = 0;\n          goto LAB_002c5224;\n        }" (if "if") (parenthesized_expression "(local_64 == 0)" (( "(") (binary_expression "local_64 == 0" (identifier "local_64") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          pcVar9 = (char *)*param_1;\n          uVar6 = 0;\n          goto LAB_002c5224;\n        }" ({ "{") (expression_statement "pcVar9 = (char *)*param_1;" (assignment_expression "pcVar9 = (char *)*param_1" (identifier "pcVar9") (= "=") (cast_expression "(char *)*param_1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_1" (* "*") (identifier "param_1")))) (; ";")) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" (identifier "uVar6") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_002c5224;" (goto "goto") (statement_identifier "LAB_002c5224") (; ";")) (} "}"))) (expression_statement "*param_2 = (int)local_68;" (assignment_expression "*param_2 = (int)local_68" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (= "=") (cast_expression "(int)local_68" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_68"))) (; ";")) (} "}"))) (expression_statement "pcVar9 = (char *)*param_1;" (assignment_expression "pcVar9 = (char *)*param_1" (identifier "pcVar9") (= "=") (cast_expression "(char *)*param_1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_1" (* "*") (identifier "param_1")))) (; ";")) (} "}"))) (labeled_statement "LAB_002c5224:\n    if (param_4 == 0) goto LAB_002c5340;" (statement_identifier "LAB_002c5224") (: ":") (if_statement "if (param_4 == 0) goto LAB_002c5340;" (if "if") (parenthesized_expression "(param_4 == 0)" (( "(") (binary_expression "param_4 == 0" (identifier "param_4") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_002c5340;" (goto "goto") (statement_identifier "LAB_002c5340") (; ";")))) (labeled_statement "LAB_002c522c:\n                    \n    puVar1 = (undefined4 *)lookup(this,pcVar9,(char *)*param_2);" (statement_identifier "LAB_002c522c") (: ":") (expression_statement "puVar1 = (undefined4 *)lookup(this,pcVar9,(char *)*param_2);" (assignment_expression "puVar1 = (undefined4 *)lookup(this,pcVar9,(char *)*param_2)" (identifier "puVar1") (= "=") (cast_expression "(undefined4 *)lookup(this,pcVar9,(char *)*param_2)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "lookup(this,pcVar9,(char *)*param_2)" (identifier "lookup") (argument_list "(this,pcVar9,(char *)*param_2)" (( "(") (identifier "this") (, ",") (identifier "pcVar9") (, ",") (cast_expression "(char *)*param_2" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) () ")"))))) (; ";"))) (if_statement "if (puVar1 != (undefined4 *)0x0) {\nLAB_002c524c:\n      uVar2 = puVar1[10];\n      if ((uVar2 & 0xe000) != 0) {\n        if ((uVar2 & 0xe000) == 0x8000) goto LAB_002c5288;\n        goto LAB_002c544c;\n      }\n      if (puVar1[3] == 0) {\n        if ((int)(uVar2 << 0x1d) < 0) goto LAB_002c5288;\n        iVar7 = puVar1[2];\n      }\n      else {\n        iVar7 = puVar1[2];\n      }\n      if (-1 < *(int *)(iVar7 + 0x2c)) goto LAB_002c544c;\n      if ((param_5 - 1U < 2) && (-1 < (int)(uVar2 << 0x17))) {\n        pSVar3 = (Sized_symbol *)0x0;\n        goto LAB_002c5450;\n      }\nLAB_002c5288:\n      *param_1 = *puVar1;\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        *param_2 = puVar1[1];\n        uVar2 = 0;\n        uVar10 = 0;\n        iVar7 = 0;\n      }\n      else {\n        iVar7 = Stringpool_template<char>::add\n                          ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,\n                           (uint *)0x0);\n        uVar11 = 0;\n        *param_2 = iVar7;\n        uVar2 = 0;\n        uVar10 = 0;\n        iVar7 = 0;\n      }\n      goto LAB_002c52a8;\n    }" (if "if") (parenthesized_expression "(puVar1 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar1 != (undefined4 *)0x0" (identifier "puVar1") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_002c524c:\n      uVar2 = puVar1[10];\n      if ((uVar2 & 0xe000) != 0) {\n        if ((uVar2 & 0xe000) == 0x8000) goto LAB_002c5288;\n        goto LAB_002c544c;\n      }\n      if (puVar1[3] == 0) {\n        if ((int)(uVar2 << 0x1d) < 0) goto LAB_002c5288;\n        iVar7 = puVar1[2];\n      }\n      else {\n        iVar7 = puVar1[2];\n      }\n      if (-1 < *(int *)(iVar7 + 0x2c)) goto LAB_002c544c;\n      if ((param_5 - 1U < 2) && (-1 < (int)(uVar2 << 0x17))) {\n        pSVar3 = (Sized_symbol *)0x0;\n        goto LAB_002c5450;\n      }\nLAB_002c5288:\n      *param_1 = *puVar1;\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        *param_2 = puVar1[1];\n        uVar2 = 0;\n        uVar10 = 0;\n        iVar7 = 0;\n      }\n      else {\n        iVar7 = Stringpool_template<char>::add\n                          ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,\n                           (uint *)0x0);\n        uVar11 = 0;\n        *param_2 = iVar7;\n        uVar2 = 0;\n        uVar10 = 0;\n        iVar7 = 0;\n      }\n      goto LAB_002c52a8;\n    }" ({ "{") (labeled_statement "LAB_002c524c:\n      uVar2 = puVar1[10];" (statement_identifier "LAB_002c524c") (: ":") (expression_statement "uVar2 = puVar1[10];" (assignment_expression "uVar2 = puVar1[10]" (identifier "uVar2") (= "=") (subscript_expression "puVar1[10]" (identifier "puVar1") ([ "[") (number_literal "10") (] "]"))) (; ";"))) (if_statement "if ((uVar2 & 0xe000) != 0) {\n        if ((uVar2 & 0xe000) == 0x8000) goto LAB_002c5288;\n        goto LAB_002c544c;\n      }" (if "if") (parenthesized_expression "((uVar2 & 0xe000) != 0)" (( "(") (binary_expression "(uVar2 & 0xe000) != 0" (parenthesized_expression "(uVar2 & 0xe000)" (( "(") (binary_expression "uVar2 & 0xe000" (identifier "uVar2") (& "&") (number_literal "0xe000")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        if ((uVar2 & 0xe000) == 0x8000) goto LAB_002c5288;\n        goto LAB_002c544c;\n      }" ({ "{") (if_statement "if ((uVar2 & 0xe000) == 0x8000) goto LAB_002c5288;" (if "if") (parenthesized_expression "((uVar2 & 0xe000) == 0x8000)" (( "(") (binary_expression "(uVar2 & 0xe000) == 0x8000" (parenthesized_expression "(uVar2 & 0xe000)" (( "(") (binary_expression "uVar2 & 0xe000" (identifier "uVar2") (& "&") (number_literal "0xe000")) () ")")) (== "==") (number_literal "0x8000")) () ")")) (goto_statement "goto LAB_002c5288;" (goto "goto") (statement_identifier "LAB_002c5288") (; ";"))) (goto_statement "goto LAB_002c544c;" (goto "goto") (statement_identifier "LAB_002c544c") (; ";")) (} "}"))) (if_statement "if (puVar1[3] == 0) {\n        if ((int)(uVar2 << 0x1d) < 0) goto LAB_002c5288;\n        iVar7 = puVar1[2];\n      }\n      else {\n        iVar7 = puVar1[2];\n      }" (if "if") (parenthesized_expression "(puVar1[3] == 0)" (( "(") (binary_expression "puVar1[3] == 0" (subscript_expression "puVar1[3]" (identifier "puVar1") ([ "[") (number_literal "3") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        if ((int)(uVar2 << 0x1d) < 0) goto LAB_002c5288;\n        iVar7 = puVar1[2];\n      }" ({ "{") (if_statement "if ((int)(uVar2 << 0x1d) < 0) goto LAB_002c5288;" (if "if") (parenthesized_expression "((int)(uVar2 << 0x1d) < 0)" (( "(") (binary_expression "(int)(uVar2 << 0x1d) < 0" (cast_expression "(int)(uVar2 << 0x1d)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(uVar2 << 0x1d)" (( "(") (binary_expression "uVar2 << 0x1d" (identifier "uVar2") (<< "<<") (number_literal "0x1d")) () ")"))) (< "<") (number_literal "0")) () ")")) (goto_statement "goto LAB_002c5288;" (goto "goto") (statement_identifier "LAB_002c5288") (; ";"))) (expression_statement "iVar7 = puVar1[2];" (assignment_expression "iVar7 = puVar1[2]" (identifier "iVar7") (= "=") (subscript_expression "puVar1[2]" (identifier "puVar1") ([ "[") (number_literal "2") (] "]"))) (; ";")) (} "}")) (else_clause "else {\n        iVar7 = puVar1[2];\n      }" (else "else") (compound_statement "{\n        iVar7 = puVar1[2];\n      }" ({ "{") (expression_statement "iVar7 = puVar1[2];" (assignment_expression "iVar7 = puVar1[2]" (identifier "iVar7") (= "=") (subscript_expression "puVar1[2]" (identifier "puVar1") ([ "[") (number_literal "2") (] "]"))) (; ";")) (} "}")))) (if_statement "if (-1 < *(int *)(iVar7 + 0x2c)) goto LAB_002c544c;" (if "if") (parenthesized_expression "(-1 < *(int *)(iVar7 + 0x2c))" (( "(") (binary_expression "-1 < *(int *)(iVar7 + 0x2c)" (number_literal "-1") (< "<") (pointer_expression "*(int *)(iVar7 + 0x2c)" (* "*") (cast_expression "(int *)(iVar7 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x2c)" (( "(") (binary_expression "iVar7 + 0x2c" (identifier "iVar7") (+ "+") (number_literal "0x2c")) () ")"))))) () ")")) (goto_statement "goto LAB_002c544c;" (goto "goto") (statement_identifier "LAB_002c544c") (; ";"))) (if_statement "if ((param_5 - 1U < 2) && (-1 < (int)(uVar2 << 0x17))) {\n        pSVar3 = (Sized_symbol *)0x0;\n        goto LAB_002c5450;\n      }" (if "if") (parenthesized_expression "((param_5 - 1U < 2) && (-1 < (int)(uVar2 << 0x17)))" (( "(") (binary_expression "(param_5 - 1U < 2) && (-1 < (int)(uVar2 << 0x17))" (parenthesized_expression "(param_5 - 1U < 2)" (( "(") (binary_expression "param_5 - 1U < 2" (binary_expression "param_5 - 1U" (identifier "param_5") (- "-") (number_literal "1U")) (< "<") (number_literal "2")) () ")")) (&& "&&") (parenthesized_expression "(-1 < (int)(uVar2 << 0x17))" (( "(") (binary_expression "-1 < (int)(uVar2 << 0x17)" (number_literal "-1") (< "<") (cast_expression "(int)(uVar2 << 0x17)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(uVar2 << 0x17)" (( "(") (binary_expression "uVar2 << 0x17" (identifier "uVar2") (<< "<<") (number_literal "0x17")) () ")")))) () ")"))) () ")")) (compound_statement "{\n        pSVar3 = (Sized_symbol *)0x0;\n        goto LAB_002c5450;\n      }" ({ "{") (expression_statement "pSVar3 = (Sized_symbol *)0x0;" (assignment_expression "pSVar3 = (Sized_symbol *)0x0" (identifier "pSVar3") (= "=") (cast_expression "(Sized_symbol *)0x0" (( "(") (type_descriptor "Sized_symbol *" (type_identifier "Sized_symbol") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (goto_statement "goto LAB_002c5450;" (goto "goto") (statement_identifier "LAB_002c5450") (; ";")) (} "}"))) (labeled_statement "LAB_002c5288:\n      *param_1 = *puVar1;" (statement_identifier "LAB_002c5288") (: ":") (expression_statement "*param_1 = *puVar1;" (assignment_expression "*param_1 = *puVar1" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (pointer_expression "*puVar1" (* "*") (identifier "puVar1"))) (; ";"))) (if_statement "if (uVar6 == 0) {\n        uVar11 = 0;\n        *param_2 = puVar1[1];\n        uVar2 = 0;\n        uVar10 = 0;\n        iVar7 = 0;\n      }\n      else {\n        iVar7 = Stringpool_template<char>::add\n                          ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,\n                           (uint *)0x0);\n        uVar11 = 0;\n        *param_2 = iVar7;\n        uVar2 = 0;\n        uVar10 = 0;\n        iVar7 = 0;\n      }" (if "if") (parenthesized_expression "(uVar6 == 0)" (( "(") (binary_expression "uVar6 == 0" (identifier "uVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar11 = 0;\n        *param_2 = puVar1[1];\n        uVar2 = 0;\n        uVar10 = 0;\n        iVar7 = 0;\n      }" ({ "{") (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" (identifier "uVar11") (= "=") (number_literal "0")) (; ";")) (expression_statement "*param_2 = puVar1[1];" (assignment_expression "*param_2 = puVar1[1]" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (= "=") (subscript_expression "puVar1[1]" (identifier "puVar1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" (identifier "uVar2") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" (identifier "uVar10") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" (identifier "iVar7") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n        iVar7 = Stringpool_template<char>::add\n                          ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,\n                           (uint *)0x0);\n        uVar11 = 0;\n        *param_2 = iVar7;\n        uVar2 = 0;\n        uVar10 = 0;\n        iVar7 = 0;\n      }" (else "else") (compound_statement "{\n        iVar7 = Stringpool_template<char>::add\n                          ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,\n                           (uint *)0x0);\n        uVar11 = 0;\n        *param_2 = iVar7;\n        uVar2 = 0;\n        uVar10 = 0;\n        iVar7 = 0;\n      }" ({ "{") (expression_statement "iVar7 = Stringpool_template<char>::add\n                          ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,\n                           (uint *)0x0);" (assignment_expression "iVar7 = Stringpool_template<char>::add\n                          ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,\n                           (uint *)0x0)" (identifier "iVar7") (= "=") (binary_expression "Stringpool_template<char>::add\n                          ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,\n                           (uint *)0x0)" (binary_expression "Stringpool_template<char" (identifier "Stringpool_template") (< "<") (identifier "char")) (> ">") (ERROR "::" (: ":") (: ":")) (call_expression "add\n                          ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,\n                           (uint *)0x0)" (identifier "add") (argument_list "((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,\n                           (uint *)0x0)" (( "(") (call_expression "(Stringpool_template<char> *)(this + 0x48)" (parenthesized_expression "(Stringpool_template<char> *)" (( "(") (binary_expression "Stringpool_template<char> *" (binary_expression "Stringpool_template<char" (identifier "Stringpool_template") (< "<") (identifier "char")) (> ">") (pointer_expression "*" (* "*") (identifier ""))) () ")")) (argument_list "(this + 0x48)" (( "(") (binary_expression "this + 0x48" (identifier "this") (+ "+") (number_literal "0x48")) () ")"))) (, ",") (cast_expression "(char *)*param_2" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (, ",") (true "true") (, ",") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) () ")"))))) (; ";")) (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" (identifier "uVar11") (= "=") (number_literal "0")) (; ";")) (expression_statement "*param_2 = iVar7;" (assignment_expression "*param_2 = iVar7" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (= "=") (identifier "iVar7")) (; ";")) (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" (identifier "uVar2") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" (identifier "uVar10") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" (identifier "iVar7") (= "=") (number_literal "0")) (; ";")) (} "}")))) (goto_statement "goto LAB_002c52a8;" (goto "goto") (statement_identifier "LAB_002c52a8") (; ";")) (} "}"))) (if_statement "if (uVar6 != 0) {\n      puVar1 = (undefined4 *)lookup(this,(char *)*param_1,(char *)0x0);\n      if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)0x0;\n        goto LAB_002c5450;\n      }\n      goto LAB_002c524c;\n    }" (if "if") (parenthesized_expression "(uVar6 != 0)" (( "(") (binary_expression "uVar6 != 0" (identifier "uVar6") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      puVar1 = (undefined4 *)lookup(this,(char *)*param_1,(char *)0x0);\n      if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)0x0;\n        goto LAB_002c5450;\n      }\n      goto LAB_002c524c;\n    }" ({ "{") (expression_statement "puVar1 = (undefined4 *)lookup(this,(char *)*param_1,(char *)0x0);" (assignment_expression "puVar1 = (undefined4 *)lookup(this,(char *)*param_1,(char *)0x0)" (identifier "puVar1") (= "=") (cast_expression "(undefined4 *)lookup(this,(char *)*param_1,(char *)0x0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "lookup(this,(char *)*param_1,(char *)0x0)" (identifier "lookup") (argument_list "(this,(char *)*param_1,(char *)0x0)" (( "(") (identifier "this") (, ",") (cast_expression "(char *)*param_1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (, ",") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) () ")"))))) (; ";")) (if_statement "if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)0x0;\n        goto LAB_002c5450;\n      }" (if "if") (parenthesized_expression "(puVar1 == (undefined4 *)0x0)" (( "(") (binary_expression "puVar1 == (undefined4 *)0x0" (identifier "puVar1") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        pSVar3 = (Sized_symbol *)0x0;\n        goto LAB_002c5450;\n      }" ({ "{") (expression_statement "pSVar3 = (Sized_symbol *)0x0;" (assignment_expression "pSVar3 = (Sized_symbol *)0x0" (identifier "pSVar3") (= "=") (cast_expression "(Sized_symbol *)0x0" (( "(") (type_descriptor "Sized_symbol *" (type_identifier "Sized_symbol") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (goto_statement "goto LAB_002c5450;" (goto "goto") (statement_identifier "LAB_002c5450") (; ";")) (} "}"))) (goto_statement "goto LAB_002c524c;" (goto "goto") (statement_identifier "LAB_002c524c") (; ";")) (} "}"))) (labeled_statement "LAB_002c544c:\n    pSVar3 = (Sized_symbol *)0x0;" (statement_identifier "LAB_002c544c") (: ":") (expression_statement "pSVar3 = (Sized_symbol *)0x0;" (assignment_expression "pSVar3 = (Sized_symbol *)0x0" (identifier "pSVar3") (= "=") (cast_expression "(Sized_symbol *)0x0" (( "(") (type_descriptor "Sized_symbol *" (type_identifier "Sized_symbol") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";"))) (} "}")) (else_clause "else {\n    uVar6 = 0;\n    if (param_4 != 0) goto LAB_002c522c;\nLAB_002c5340:\n    uVar4 = Stringpool_template<char>::add\n                      ((Stringpool_template<char> *)(this + 0x48),pcVar9,true,local_30);\n    *param_1 = uVar4;\n    local_34 = 0;\n    if ((char *)*param_2 != (char *)0x0) {\n      iVar7 = Stringpool_template<char>::add\n                        ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,&local_34)\n      ;\n      *param_2 = iVar7;\n    }\n    local_48 = 0;\n    local_50 = local_30[0];\n    local_4c = local_34;\n    std::\n    _Hashtable<std::pair<unsigned_int,unsigned_int>,std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>,std::allocator<std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>>,std::__detail::_Select1st,gold::Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>\n              (&local_3c,this + 0x28,0,&local_50);\n    if (uVar6 == 0) {\n      uVar2 = 0;\n      uVar11 = 0;\n    }\n    else {\n      local_4c = 0;\n      local_48 = 0;\n      local_50 = local_30[0];\n      std::\n      _Hashtable<std::pair<unsigned_int,unsigned_int>,std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>,std::allocator<std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>>,std::__detail::_Select1st,gold::Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>\n                (&local_44,this + 0x28,0,&local_50);\n      uVar2 = (uint)local_40;\n      uVar11 = local_44;\n    }\n    uVar10 = (uint)local_38;\n    puVar1 = *(undefined4 **)(local_3c + 0xc);\n    if (uVar10 == 0) {\n      if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x75a,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        uVar2 = uVar6;\n        uVar10 = uVar6;\n        iVar7 = 0;\n      }\n      else {\n        uVar4 = FUN_002b58f0(puVar1);\n        local_50 = uVar11;\n        define_default_version<32,false>(this,uVar4,uVar2,uVar11);\n        uVar11 = 0;\n        uVar2 = 0;\n        iVar7 = 0;\n      }\n    }\n    else {\n      if (puVar1 != (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x768,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n      iVar7 = local_3c;\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        uVar2 = uVar6;\n      }\n      else {\n        uVar10 = uVar2;\n        if ((uVar2 == 0) &&\n           (puVar5 = *(undefined4 **)(uVar11 + 0xc), uVar2 = uVar6, uVar10 = uVar6, puVar5[1] == 0))\n        {\n          uVar11 = 0;\n          *param_7 = 1;\n          uVar2 = 0;\n          puVar1 = puVar5;\n        }\n      }\n    }\nLAB_002c52a8:\n    piVar8 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n    if (piVar8 == (int *)0x0) {\n      pSVar3 = (Sized_symbol *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                          PTR_s_in_a_linker_script_004c191c + 0x3098);\n      return pSVar3;\n    }\n    if (*(char *)(piVar8[1] + 0xc) == '\0') {\n      pSVar3 = (Sized_symbol *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n      (*(code *)PTR_memset_004c5c68)(pSVar3,0,0x30);\n    }\n    else {\n      pSVar3 = (Sized_symbol *)(**(code **)(*piVar8 + 0xa8))(piVar8,*param_1,0,0,0);\n      if (pSVar3 == (Sized_symbol *)0x0) goto LAB_002c544c;\n    }\n    if (uVar10 == 0) {\n      if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n    }\n    else {\n      *(Sized_symbol **)(iVar7 + 0xc) = pSVar3;\n    }\n    if (uVar2 != 0) {\n      *(Sized_symbol **)(uVar11 + 0xc) = pSVar3;\n    }\n    uVar4 = FUN_002b58f0(puVar1);\n    *param_6 = uVar4;\n  }" (else "else") (compound_statement "{\n    uVar6 = 0;\n    if (param_4 != 0) goto LAB_002c522c;\nLAB_002c5340:\n    uVar4 = Stringpool_template<char>::add\n                      ((Stringpool_template<char> *)(this + 0x48),pcVar9,true,local_30);\n    *param_1 = uVar4;\n    local_34 = 0;\n    if ((char *)*param_2 != (char *)0x0) {\n      iVar7 = Stringpool_template<char>::add\n                        ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,&local_34)\n      ;\n      *param_2 = iVar7;\n    }\n    local_48 = 0;\n    local_50 = local_30[0];\n    local_4c = local_34;\n    std::\n    _Hashtable<std::pair<unsigned_int,unsigned_int>,std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>,std::allocator<std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>>,std::__detail::_Select1st,gold::Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>\n              (&local_3c,this + 0x28,0,&local_50);\n    if (uVar6 == 0) {\n      uVar2 = 0;\n      uVar11 = 0;\n    }\n    else {\n      local_4c = 0;\n      local_48 = 0;\n      local_50 = local_30[0];\n      std::\n      _Hashtable<std::pair<unsigned_int,unsigned_int>,std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>,std::allocator<std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>>,std::__detail::_Select1st,gold::Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>\n                (&local_44,this + 0x28,0,&local_50);\n      uVar2 = (uint)local_40;\n      uVar11 = local_44;\n    }\n    uVar10 = (uint)local_38;\n    puVar1 = *(undefined4 **)(local_3c + 0xc);\n    if (uVar10 == 0) {\n      if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x75a,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        uVar2 = uVar6;\n        uVar10 = uVar6;\n        iVar7 = 0;\n      }\n      else {\n        uVar4 = FUN_002b58f0(puVar1);\n        local_50 = uVar11;\n        define_default_version<32,false>(this,uVar4,uVar2,uVar11);\n        uVar11 = 0;\n        uVar2 = 0;\n        iVar7 = 0;\n      }\n    }\n    else {\n      if (puVar1 != (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x768,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n      iVar7 = local_3c;\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        uVar2 = uVar6;\n      }\n      else {\n        uVar10 = uVar2;\n        if ((uVar2 == 0) &&\n           (puVar5 = *(undefined4 **)(uVar11 + 0xc), uVar2 = uVar6, uVar10 = uVar6, puVar5[1] == 0))\n        {\n          uVar11 = 0;\n          *param_7 = 1;\n          uVar2 = 0;\n          puVar1 = puVar5;\n        }\n      }\n    }\nLAB_002c52a8:\n    piVar8 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n    if (piVar8 == (int *)0x0) {\n      pSVar3 = (Sized_symbol *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                          PTR_s_in_a_linker_script_004c191c + 0x3098);\n      return pSVar3;\n    }\n    if (*(char *)(piVar8[1] + 0xc) == '\0') {\n      pSVar3 = (Sized_symbol *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n      (*(code *)PTR_memset_004c5c68)(pSVar3,0,0x30);\n    }\n    else {\n      pSVar3 = (Sized_symbol *)(**(code **)(*piVar8 + 0xa8))(piVar8,*param_1,0,0,0);\n      if (pSVar3 == (Sized_symbol *)0x0) goto LAB_002c544c;\n    }\n    if (uVar10 == 0) {\n      if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n    }\n    else {\n      *(Sized_symbol **)(iVar7 + 0xc) = pSVar3;\n    }\n    if (uVar2 != 0) {\n      *(Sized_symbol **)(uVar11 + 0xc) = pSVar3;\n    }\n    uVar4 = FUN_002b58f0(puVar1);\n    *param_6 = uVar4;\n  }" ({ "{") (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" (identifier "uVar6") (= "=") (number_literal "0")) (; ";")) (if_statement "if (param_4 != 0) goto LAB_002c522c;" (if "if") (parenthesized_expression "(param_4 != 0)" (( "(") (binary_expression "param_4 != 0" (identifier "param_4") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_002c522c;" (goto "goto") (statement_identifier "LAB_002c522c") (; ";"))) (labeled_statement "LAB_002c5340:\n    uVar4 = Stringpool_template<char>::add\n                      ((Stringpool_template<char> *)(this + 0x48),pcVar9,true,local_30);" (statement_identifier "LAB_002c5340") (: ":") (expression_statement "uVar4 = Stringpool_template<char>::add\n                      ((Stringpool_template<char> *)(this + 0x48),pcVar9,true,local_30);" (assignment_expression "uVar4 = Stringpool_template<char>::add\n                      ((Stringpool_template<char> *)(this + 0x48),pcVar9,true,local_30)" (identifier "uVar4") (= "=") (binary_expression "Stringpool_template<char>::add\n                      ((Stringpool_template<char> *)(this + 0x48),pcVar9,true,local_30)" (binary_expression "Stringpool_template<char" (identifier "Stringpool_template") (< "<") (identifier "char")) (> ">") (ERROR "::" (: ":") (: ":")) (call_expression "add\n                      ((Stringpool_template<char> *)(this + 0x48),pcVar9,true,local_30)" (identifier "add") (argument_list "((Stringpool_template<char> *)(this + 0x48),pcVar9,true,local_30)" (( "(") (call_expression "(Stringpool_template<char> *)(this + 0x48)" (parenthesized_expression "(Stringpool_template<char> *)" (( "(") (binary_expression "Stringpool_template<char> *" (binary_expression "Stringpool_template<char" (identifier "Stringpool_template") (< "<") (identifier "char")) (> ">") (pointer_expression "*" (* "*") (identifier ""))) () ")")) (argument_list "(this + 0x48)" (( "(") (binary_expression "this + 0x48" (identifier "this") (+ "+") (number_literal "0x48")) () ")"))) (, ",") (identifier "pcVar9") (, ",") (true "true") (, ",") (identifier "local_30") () ")"))))) (; ";"))) (expression_statement "*param_1 = uVar4;" (assignment_expression "*param_1 = uVar4" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (identifier "uVar4")) (; ";")) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" (identifier "local_34") (= "=") (number_literal "0")) (; ";")) (if_statement "if ((char *)*param_2 != (char *)0x0) {\n      iVar7 = Stringpool_template<char>::add\n                        ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,&local_34)\n      ;\n      *param_2 = iVar7;\n    }" (if "if") (parenthesized_expression "((char *)*param_2 != (char *)0x0)" (( "(") (binary_expression "(char *)*param_2 != (char *)0x0" (cast_expression "(char *)*param_2" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      iVar7 = Stringpool_template<char>::add\n                        ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,&local_34)\n      ;\n      *param_2 = iVar7;\n    }" ({ "{") (expression_statement "iVar7 = Stringpool_template<char>::add\n                        ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,&local_34)\n      ;" (assignment_expression "iVar7 = Stringpool_template<char>::add\n                        ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,&local_34)" (identifier "iVar7") (= "=") (binary_expression "Stringpool_template<char>::add\n                        ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,&local_34)" (binary_expression "Stringpool_template<char" (identifier "Stringpool_template") (< "<") (identifier "char")) (> ">") (ERROR "::" (: ":") (: ":")) (call_expression "add\n                        ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,&local_34)" (identifier "add") (argument_list "((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,&local_34)" (( "(") (call_expression "(Stringpool_template<char> *)(this + 0x48)" (parenthesized_expression "(Stringpool_template<char> *)" (( "(") (binary_expression "Stringpool_template<char> *" (binary_expression "Stringpool_template<char" (identifier "Stringpool_template") (< "<") (identifier "char")) (> ">") (pointer_expression "*" (* "*") (identifier ""))) () ")")) (argument_list "(this + 0x48)" (( "(") (binary_expression "this + 0x48" (identifier "this") (+ "+") (number_literal "0x48")) () ")"))) (, ",") (cast_expression "(char *)*param_2" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (, ",") (true "true") (, ",") (pointer_expression "&local_34" (& "&") (identifier "local_34")) () ")"))))) (; ";")) (expression_statement "*param_2 = iVar7;" (assignment_expression "*param_2 = iVar7" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (= "=") (identifier "iVar7")) (; ";")) (} "}"))) (expression_statement "local_48 = 0;" (assignment_expression "local_48 = 0" (identifier "local_48") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_50 = local_30[0];" (assignment_expression "local_50 = local_30[0]" (identifier "local_50") (= "=") (subscript_expression "local_30[0]" (identifier "local_30") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "local_4c = local_34;" (assignment_expression "local_4c = local_34" (identifier "local_4c") (= "=") (identifier "local_34")) (; ";")) (labeled_statement "std::\n    _Hashtable<std::pair<unsigned_int,unsigned_int>,std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>,std::allocator<std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>>,std::__detail::_Select1st,gold::Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>\n              (&local_3c,this + 0x28,0,&local_50);" (statement_identifier "std") (ERROR "::\n    _Hashtable<std::pair<unsigned_int,unsigned_int>,std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>,std::allocator<std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>>,std:" (: ":") (: ":") (binary_expression "_Hashtable<std" (identifier "_Hashtable") (< "<") (identifier "std")) (: ":") (: ":") (comma_expression "pair<unsigned_int,unsigned_int>,std" (binary_expression "pair<unsigned_int" (identifier "pair") (< "<") (identifier "unsigned_int")) (, ",") (binary_expression "unsigned_int>,std" (identifier "unsigned_int") (> ">") (ERROR "," (, ",")) (identifier "std"))) (: ":") (: ":") (binary_expression "pair<std" (identifier "pair") (< "<") (identifier "std")) (: ":") (: ":") (comma_expression "pair<unsigned_int,unsigned_int>const,gold" (binary_expression "pair<unsigned_int" (identifier "pair") (< "<") (identifier "unsigned_int")) (, ",") (comma_expression "unsigned_int>const,gold" (binary_expression "unsigned_int>const" (identifier "unsigned_int") (> ">") (identifier "const")) (, ",") (identifier "gold"))) (: ":") (: ":") (comma_expression "Symbol*>,std" (identifier "Symbol") (ERROR "*>" (* "*") (> ">")) (, ",") (identifier "std")) (: ":") (: ":") (binary_expression "allocator<std" (identifier "allocator") (< "<") (identifier "std")) (: ":") (: ":") (binary_expression "pair<std" (identifier "pair") (< "<") (identifier "std")) (: ":") (: ":") (comma_expression "pair<unsigned_int,unsigned_int>const,gold" (binary_expression "pair<unsigned_int" (identifier "pair") (< "<") (identifier "unsigned_int")) (, ",") (comma_expression "unsigned_int>const,gold" (binary_expression "unsigned_int>const" (identifier "unsigned_int") (> ">") (identifier "const")) (, ",") (identifier "gold"))) (: ":") (: ":") (comma_expression "Symbol*>>,std" (identifier "Symbol") (ERROR "*>>" (* "*") (>> ">>")) (, ",") (identifier "std")) (: ":")) (: ":") (labeled_statement "__detail::_Select1st,gold::Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>\n              (&local_3c,this + 0x28,0,&local_50);" (statement_identifier "__detail") (ERROR "::_Select1st,gold:" (: ":") (: ":") (comma_expression "_Select1st,gold" (identifier "_Select1st") (, ",") (identifier "gold")) (: ":")) (: ":") (labeled_statement "Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>\n              (&local_3c,this + 0x28,0,&local_50);" (statement_identifier "Symbol_table") (ERROR "::Symbol_table_eq,gold:" (: ":") (: ":") (comma_expression "Symbol_table_eq,gold" (identifier "Symbol_table_eq") (, ",") (identifier "gold")) (: ":")) (: ":") (labeled_statement "Symbol_table::Symbol_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::Symbol*>>\n              (&local_3c,this + 0x28,0,&local_50);" (statement_identifier "Symbol_table") (ERROR "::Symbol_table_hash,std:" (: ":") (: ":") (comma_expression "Symbol_table_hash,std" (identifier "Symbol_table_hash") (, ",") (identifier "std")) (: ":")) (: ":") (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_emplace<std::pair<std::pair<unsigned_int,unsigned_int>,gold::Symbol*>>\n              (&local_3c,this + 0x28,0,&local_50);" (statement_identifier "__detail") (ERROR "::_Mod_range_hashing,std:" (: ":") (: ":") (comma_expression "_Mod_range_hashing,std" (identifier "_Mod_range_hashing") (, ",") (identifier "std")) (: ":")) (: ":") (labeled_statement "__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::Symbol*>>\n              (&local_3c,this + 0x28,0,&local_50);" (statement_identifier "__detail") (ERROR "::_Default_ranged_hash,std:" (: ":") (: ":") (comma_expression "_Default_ranged_hash,std" (identifier "_Default_ranged_hash") (, ",") (identifier "std")) (: ":")) (: ":") (labeled_statement "__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,false,true>>\n    ::_M_emplace<std::pair<std::pair<unsigned_int,unsigned_int>,gold::Symbol*>>\n              (&local_3c,this + 0x28,0,&local_50);" (statement_identifier "__detail") (ERROR "::_Prime_rehash_policy,std:" (: ":") (: ":") (comma_expression "_Prime_rehash_policy,std" (identifier "_Prime_rehash_policy") (, ",") (identifier "std")) (: ":")) (: ":") (expression_statement "__detail::_Hashtable_traits<true,false,true>>\n    ::_M_emplace<std::pair<std::pair<unsigned_int,unsigned_int>,gold::Symbol*>>\n              (&local_3c,this + 0x28,0,&local_50);" (binary_expression "__detail::_Hashtable_traits<true,false,true>>\n    ::_M_emplace<std::pair<std::pair<unsigned_int,unsigned_int>,gold::Symbol*>>\n              (&local_3c,this + 0x28,0,&local_50)" (identifier "__detail") (ERROR "::_Hashtable_traits<true,false,true>>\n    ::_M_emplace<std::pair<std::pair<unsigned_int,unsigned_int>,gold::Symbol*" (: ":") (: ":") (comma_expression "_Hashtable_traits<true,false,true>>\n    ::_M_emplace<std" (binary_expression "_Hashtable_traits<true" (identifier "_Hashtable_traits") (< "<") (true "true")) (, ",") (comma_expression "false,true>>\n    ::_M_emplace<std" (false "false") (, ",") (binary_expression "true>>\n    ::_M_emplace<std" (binary_expression "true>>\n    ::_M_emplace" (true "true") (>> ">>") (ERROR "::" (: ":") (: ":")) (identifier "_M_emplace")) (< "<") (identifier "std")))) (: ":") (: ":") (binary_expression "pair<std" (identifier "pair") (< "<") (identifier "std")) (: ":") (: ":") (comma_expression "pair<unsigned_int,unsigned_int>,gold" (binary_expression "pair<unsigned_int" (identifier "pair") (< "<") (identifier "unsigned_int")) (, ",") (binary_expression "unsigned_int>,gold" (identifier "unsigned_int") (> ">") (ERROR "," (, ",")) (identifier "gold"))) (: ":") (: ":") (identifier "Symbol") (* "*")) (>> ">>") (parenthesized_expression "(&local_3c,this + 0x28,0,&local_50)" (( "(") (comma_expression "&local_3c,this + 0x28,0,&local_50" (pointer_expression "&local_3c" (& "&") (identifier "local_3c")) (, ",") (comma_expression "this + 0x28,0,&local_50" (binary_expression "this + 0x28" (identifier "this") (+ "+") (number_literal "0x28")) (, ",") (comma_expression "0,&local_50" (number_literal "0") (, ",") (pointer_expression "&local_50" (& "&") (identifier "local_50"))))) () ")"))) (; ";"))))))))) (if_statement "if (uVar6 == 0) {\n      uVar2 = 0;\n      uVar11 = 0;\n    }\n    else {\n      local_4c = 0;\n      local_48 = 0;\n      local_50 = local_30[0];\n      std::\n      _Hashtable<std::pair<unsigned_int,unsigned_int>,std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>,std::allocator<std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>>,std::__detail::_Select1st,gold::Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>\n                (&local_44,this + 0x28,0,&local_50);\n      uVar2 = (uint)local_40;\n      uVar11 = local_44;\n    }" (if "if") (parenthesized_expression "(uVar6 == 0)" (( "(") (binary_expression "uVar6 == 0" (identifier "uVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      uVar2 = 0;\n      uVar11 = 0;\n    }" ({ "{") (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" (identifier "uVar2") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" (identifier "uVar11") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n      local_4c = 0;\n      local_48 = 0;\n      local_50 = local_30[0];\n      std::\n      _Hashtable<std::pair<unsigned_int,unsigned_int>,std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>,std::allocator<std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>>,std::__detail::_Select1st,gold::Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>\n                (&local_44,this + 0x28,0,&local_50);\n      uVar2 = (uint)local_40;\n      uVar11 = local_44;\n    }" (else "else") (compound_statement "{\n      local_4c = 0;\n      local_48 = 0;\n      local_50 = local_30[0];\n      std::\n      _Hashtable<std::pair<unsigned_int,unsigned_int>,std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>,std::allocator<std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>>,std::__detail::_Select1st,gold::Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>\n                (&local_44,this + 0x28,0,&local_50);\n      uVar2 = (uint)local_40;\n      uVar11 = local_44;\n    }" ({ "{") (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" (identifier "local_4c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_48 = 0;" (assignment_expression "local_48 = 0" (identifier "local_48") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_50 = local_30[0];" (assignment_expression "local_50 = local_30[0]" (identifier "local_50") (= "=") (subscript_expression "local_30[0]" (identifier "local_30") ([ "[") (number_literal "0") (] "]"))) (; ";")) (labeled_statement "std::\n      _Hashtable<std::pair<unsigned_int,unsigned_int>,std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>,std::allocator<std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>>,std::__detail::_Select1st,gold::Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>\n                (&local_44,this + 0x28,0,&local_50);" (statement_identifier "std") (ERROR "::\n      _Hashtable<std::pair<unsigned_int,unsigned_int>,std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>,std::allocator<std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>>,std:" (: ":") (: ":") (binary_expression "_Hashtable<std" (identifier "_Hashtable") (< "<") (identifier "std")) (: ":") (: ":") (comma_expression "pair<unsigned_int,unsigned_int>,std" (binary_expression "pair<unsigned_int" (identifier "pair") (< "<") (identifier "unsigned_int")) (, ",") (binary_expression "unsigned_int>,std" (identifier "unsigned_int") (> ">") (ERROR "," (, ",")) (identifier "std"))) (: ":") (: ":") (binary_expression "pair<std" (identifier "pair") (< "<") (identifier "std")) (: ":") (: ":") (comma_expression "pair<unsigned_int,unsigned_int>const,gold" (binary_expression "pair<unsigned_int" (identifier "pair") (< "<") (identifier "unsigned_int")) (, ",") (comma_expression "unsigned_int>const,gold" (binary_expression "unsigned_int>const" (identifier "unsigned_int") (> ">") (identifier "const")) (, ",") (identifier "gold"))) (: ":") (: ":") (comma_expression "Symbol*>,std" (identifier "Symbol") (ERROR "*>" (* "*") (> ">")) (, ",") (identifier "std")) (: ":") (: ":") (binary_expression "allocator<std" (identifier "allocator") (< "<") (identifier "std")) (: ":") (: ":") (binary_expression "pair<std" (identifier "pair") (< "<") (identifier "std")) (: ":") (: ":") (comma_expression "pair<unsigned_int,unsigned_int>const,gold" (binary_expression "pair<unsigned_int" (identifier "pair") (< "<") (identifier "unsigned_int")) (, ",") (comma_expression "unsigned_int>const,gold" (binary_expression "unsigned_int>const" (identifier "unsigned_int") (> ">") (identifier "const")) (, ",") (identifier "gold"))) (: ":") (: ":") (comma_expression "Symbol*>>,std" (identifier "Symbol") (ERROR "*>>" (* "*") (>> ">>")) (, ",") (identifier "std")) (: ":")) (: ":") (labeled_statement "__detail::_Select1st,gold::Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>\n                (&local_44,this + 0x28,0,&local_50);" (statement_identifier "__detail") (ERROR "::_Select1st,gold:" (: ":") (: ":") (comma_expression "_Select1st,gold" (identifier "_Select1st") (, ",") (identifier "gold")) (: ":")) (: ":") (labeled_statement "Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>\n                (&local_44,this + 0x28,0,&local_50);" (statement_identifier "Symbol_table") (ERROR "::Symbol_table_eq,gold:" (: ":") (: ":") (comma_expression "Symbol_table_eq,gold" (identifier "Symbol_table_eq") (, ",") (identifier "gold")) (: ":")) (: ":") (labeled_statement "Symbol_table::Symbol_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::Symbol*>>\n                (&local_44,this + 0x28,0,&local_50);" (statement_identifier "Symbol_table") (ERROR "::Symbol_table_hash,std:" (: ":") (: ":") (comma_expression "Symbol_table_hash,std" (identifier "Symbol_table_hash") (, ",") (identifier "std")) (: ":")) (: ":") (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_emplace<std::pair<std::pair<unsigned_int,unsigned_int>,gold::Symbol*>>\n                (&local_44,this + 0x28,0,&local_50);" (statement_identifier "__detail") (ERROR "::_Mod_range_hashing,std:" (: ":") (: ":") (comma_expression "_Mod_range_hashing,std" (identifier "_Mod_range_hashing") (, ",") (identifier "std")) (: ":")) (: ":") (labeled_statement "__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::Symbol*>>\n                (&local_44,this + 0x28,0,&local_50);" (statement_identifier "__detail") (ERROR "::_Default_ranged_hash,std:" (: ":") (: ":") (comma_expression "_Default_ranged_hash,std" (identifier "_Default_ranged_hash") (, ",") (identifier "std")) (: ":")) (: ":") (labeled_statement "__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,false,true>>\n      ::_M_emplace<std::pair<std::pair<unsigned_int,unsigned_int>,gold::Symbol*>>\n                (&local_44,this + 0x28,0,&local_50);" (statement_identifier "__detail") (ERROR "::_Prime_rehash_policy,std:" (: ":") (: ":") (comma_expression "_Prime_rehash_policy,std" (identifier "_Prime_rehash_policy") (, ",") (identifier "std")) (: ":")) (: ":") (expression_statement "__detail::_Hashtable_traits<true,false,true>>\n      ::_M_emplace<std::pair<std::pair<unsigned_int,unsigned_int>,gold::Symbol*>>\n                (&local_44,this + 0x28,0,&local_50);" (binary_expression "__detail::_Hashtable_traits<true,false,true>>\n      ::_M_emplace<std::pair<std::pair<unsigned_int,unsigned_int>,gold::Symbol*>>\n                (&local_44,this + 0x28,0,&local_50)" (identifier "__detail") (ERROR "::_Hashtable_traits<true,false,true>>\n      ::_M_emplace<std::pair<std::pair<unsigned_int,unsigned_int>,gold::Symbol*" (: ":") (: ":") (comma_expression "_Hashtable_traits<true,false,true>>\n      ::_M_emplace<std" (binary_expression "_Hashtable_traits<true" (identifier "_Hashtable_traits") (< "<") (true "true")) (, ",") (comma_expression "false,true>>\n      ::_M_emplace<std" (false "false") (, ",") (binary_expression "true>>\n      ::_M_emplace<std" (binary_expression "true>>\n      ::_M_emplace" (true "true") (>> ">>") (ERROR "::" (: ":") (: ":")) (identifier "_M_emplace")) (< "<") (identifier "std")))) (: ":") (: ":") (binary_expression "pair<std" (identifier "pair") (< "<") (identifier "std")) (: ":") (: ":") (comma_expression "pair<unsigned_int,unsigned_int>,gold" (binary_expression "pair<unsigned_int" (identifier "pair") (< "<") (identifier "unsigned_int")) (, ",") (binary_expression "unsigned_int>,gold" (identifier "unsigned_int") (> ">") (ERROR "," (, ",")) (identifier "gold"))) (: ":") (: ":") (identifier "Symbol") (* "*")) (>> ">>") (parenthesized_expression "(&local_44,this + 0x28,0,&local_50)" (( "(") (comma_expression "&local_44,this + 0x28,0,&local_50" (pointer_expression "&local_44" (& "&") (identifier "local_44")) (, ",") (comma_expression "this + 0x28,0,&local_50" (binary_expression "this + 0x28" (identifier "this") (+ "+") (number_literal "0x28")) (, ",") (comma_expression "0,&local_50" (number_literal "0") (, ",") (pointer_expression "&local_50" (& "&") (identifier "local_50"))))) () ")"))) (; ";"))))))))) (expression_statement "uVar2 = (uint)local_40;" (assignment_expression "uVar2 = (uint)local_40" (identifier "uVar2") (= "=") (cast_expression "(uint)local_40" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_40"))) (; ";")) (expression_statement "uVar11 = local_44;" (assignment_expression "uVar11 = local_44" (identifier "uVar11") (= "=") (identifier "local_44")) (; ";")) (} "}")))) (expression_statement "uVar10 = (uint)local_38;" (assignment_expression "uVar10 = (uint)local_38" (identifier "uVar10") (= "=") (cast_expression "(uint)local_38" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_38"))) (; ";")) (expression_statement "puVar1 = *(undefined4 **)(local_3c + 0xc);" (assignment_expression "puVar1 = *(undefined4 **)(local_3c + 0xc)" (identifier "puVar1") (= "=") (pointer_expression "*(undefined4 **)(local_3c + 0xc)" (* "*") (cast_expression "(undefined4 **)(local_3c + 0xc)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_3c + 0xc)" (( "(") (binary_expression "local_3c + 0xc" (identifier "local_3c") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (uVar10 == 0) {\n      if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x75a,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        uVar2 = uVar6;\n        uVar10 = uVar6;\n        iVar7 = 0;\n      }\n      else {\n        uVar4 = FUN_002b58f0(puVar1);\n        local_50 = uVar11;\n        define_default_version<32,false>(this,uVar4,uVar2,uVar11);\n        uVar11 = 0;\n        uVar2 = 0;\n        iVar7 = 0;\n      }\n    }\n    else {\n      if (puVar1 != (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x768,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n      iVar7 = local_3c;\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        uVar2 = uVar6;\n      }\n      else {\n        uVar10 = uVar2;\n        if ((uVar2 == 0) &&\n           (puVar5 = *(undefined4 **)(uVar11 + 0xc), uVar2 = uVar6, uVar10 = uVar6, puVar5[1] == 0))\n        {\n          uVar11 = 0;\n          *param_7 = 1;\n          uVar2 = 0;\n          puVar1 = puVar5;\n        }\n      }\n    }" (if "if") (parenthesized_expression "(uVar10 == 0)" (( "(") (binary_expression "uVar10 == 0" (identifier "uVar10") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x75a,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        uVar2 = uVar6;\n        uVar10 = uVar6;\n        iVar7 = 0;\n      }\n      else {\n        uVar4 = FUN_002b58f0(puVar1);\n        local_50 = uVar11;\n        define_default_version<32,false>(this,uVar4,uVar2,uVar11);\n        uVar11 = 0;\n        uVar2 = 0;\n        iVar7 = 0;\n      }\n    }" ({ "{") (if_statement "if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x75a,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }" (if "if") (parenthesized_expression "(puVar1 == (undefined4 *)0x0)" (( "(") (binary_expression "puVar1 == (undefined4 *)0x0" (identifier "puVar1") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x75a,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }" ({ "{") (expression_statement "pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x75a,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);" (assignment_expression "pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x75a,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c)" (identifier "pSVar3") (= "=") (cast_expression "(Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x75a,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c)" (( "(") (type_descriptor "Sized_symbol *" (type_identifier "Sized_symbol") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x75a,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004c1a30"))) () ")")) (argument_list "(PTR_s_in_a_linker_script_004c191c + 0x24b0,0x75a,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c)" (( "(") (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x24b0" (identifier "PTR_s_in_a_linker_script_004c191c") (+ "+") (number_literal "0x24b0")) (, ",") (number_literal "0x75a") (, ",") (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x2f4c" (identifier "PTR_s_in_a_linker_script_004c191c") (+ "+") (number_literal "0x2f4c")) () ")"))))) (; ";")) (return_statement "return pSVar3;" (return "return") (identifier "pSVar3") (; ";")) (} "}"))) (if_statement "if (uVar6 == 0) {\n        uVar11 = 0;\n        uVar2 = uVar6;\n        uVar10 = uVar6;\n        iVar7 = 0;\n      }\n      else {\n        uVar4 = FUN_002b58f0(puVar1);\n        local_50 = uVar11;\n        define_default_version<32,false>(this,uVar4,uVar2,uVar11);\n        uVar11 = 0;\n        uVar2 = 0;\n        iVar7 = 0;\n      }" (if "if") (parenthesized_expression "(uVar6 == 0)" (( "(") (binary_expression "uVar6 == 0" (identifier "uVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar11 = 0;\n        uVar2 = uVar6;\n        uVar10 = uVar6;\n        iVar7 = 0;\n      }" ({ "{") (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" (identifier "uVar11") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar2 = uVar6;" (assignment_expression "uVar2 = uVar6" (identifier "uVar2") (= "=") (identifier "uVar6")) (; ";")) (expression_statement "uVar10 = uVar6;" (assignment_expression "uVar10 = uVar6" (identifier "uVar10") (= "=") (identifier "uVar6")) (; ";")) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" (identifier "iVar7") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n        uVar4 = FUN_002b58f0(puVar1);\n        local_50 = uVar11;\n        define_default_version<32,false>(this,uVar4,uVar2,uVar11);\n        uVar11 = 0;\n        uVar2 = 0;\n        iVar7 = 0;\n      }" (else "else") (compound_statement "{\n        uVar4 = FUN_002b58f0(puVar1);\n        local_50 = uVar11;\n        define_default_version<32,false>(this,uVar4,uVar2,uVar11);\n        uVar11 = 0;\n        uVar2 = 0;\n        iVar7 = 0;\n      }" ({ "{") (expression_statement "uVar4 = FUN_002b58f0(puVar1);" (assignment_expression "uVar4 = FUN_002b58f0(puVar1)" (identifier "uVar4") (= "=") (call_expression "FUN_002b58f0(puVar1)" (identifier "FUN_002b58f0") (argument_list "(puVar1)" (( "(") (identifier "puVar1") () ")")))) (; ";")) (expression_statement "local_50 = uVar11;" (assignment_expression "local_50 = uVar11" (identifier "local_50") (= "=") (identifier "uVar11")) (; ";")) (expression_statement "define_default_version<32,false>(this,uVar4,uVar2,uVar11);" (comma_expression "define_default_version<32,false>(this,uVar4,uVar2,uVar11)" (binary_expression "define_default_version<32" (identifier "define_default_version") (< "<") (number_literal "32")) (, ",") (binary_expression "false>(this,uVar4,uVar2,uVar11)" (false "false") (> ">") (parenthesized_expression "(this,uVar4,uVar2,uVar11)" (( "(") (comma_expression "this,uVar4,uVar2,uVar11" (identifier "this") (, ",") (comma_expression "uVar4,uVar2,uVar11" (identifier "uVar4") (, ",") (comma_expression "uVar2,uVar11" (identifier "uVar2") (, ",") (identifier "uVar11")))) () ")")))) (; ";")) (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" (identifier "uVar11") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" (identifier "uVar2") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" (identifier "iVar7") (= "=") (number_literal "0")) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n      if (puVar1 != (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x768,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n      iVar7 = local_3c;\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        uVar2 = uVar6;\n      }\n      else {\n        uVar10 = uVar2;\n        if ((uVar2 == 0) &&\n           (puVar5 = *(undefined4 **)(uVar11 + 0xc), uVar2 = uVar6, uVar10 = uVar6, puVar5[1] == 0))\n        {\n          uVar11 = 0;\n          *param_7 = 1;\n          uVar2 = 0;\n          puVar1 = puVar5;\n        }\n      }\n    }" (else "else") (compound_statement "{\n      if (puVar1 != (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x768,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n      iVar7 = local_3c;\n      if (uVar6 == 0) {\n        uVar11 = 0;\n        uVar2 = uVar6;\n      }\n      else {\n        uVar10 = uVar2;\n        if ((uVar2 == 0) &&\n           (puVar5 = *(undefined4 **)(uVar11 + 0xc), uVar2 = uVar6, uVar10 = uVar6, puVar5[1] == 0))\n        {\n          uVar11 = 0;\n          *param_7 = 1;\n          uVar2 = 0;\n          puVar1 = puVar5;\n        }\n      }\n    }" ({ "{") (if_statement "if (puVar1 != (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x768,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }" (if "if") (parenthesized_expression "(puVar1 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar1 != (undefined4 *)0x0" (identifier "puVar1") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x768,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }" ({ "{") (expression_statement "pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x768,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);" (assignment_expression "pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x768,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c)" (identifier "pSVar3") (= "=") (cast_expression "(Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x768,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c)" (( "(") (type_descriptor "Sized_symbol *" (type_identifier "Sized_symbol") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x768,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004c1a30"))) () ")")) (argument_list "(PTR_s_in_a_linker_script_004c191c + 0x24b0,0x768,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c)" (( "(") (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x24b0" (identifier "PTR_s_in_a_linker_script_004c191c") (+ "+") (number_literal "0x24b0")) (, ",") (number_literal "0x768") (, ",") (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x2f4c" (identifier "PTR_s_in_a_linker_script_004c191c") (+ "+") (number_literal "0x2f4c")) () ")"))))) (; ";")) (return_statement "return pSVar3;" (return "return") (identifier "pSVar3") (; ";")) (} "}"))) (expression_statement "iVar7 = local_3c;" (assignment_expression "iVar7 = local_3c" (identifier "iVar7") (= "=") (identifier "local_3c")) (; ";")) (if_statement "if (uVar6 == 0) {\n        uVar11 = 0;\n        uVar2 = uVar6;\n      }\n      else {\n        uVar10 = uVar2;\n        if ((uVar2 == 0) &&\n           (puVar5 = *(undefined4 **)(uVar11 + 0xc), uVar2 = uVar6, uVar10 = uVar6, puVar5[1] == 0))\n        {\n          uVar11 = 0;\n          *param_7 = 1;\n          uVar2 = 0;\n          puVar1 = puVar5;\n        }\n      }" (if "if") (parenthesized_expression "(uVar6 == 0)" (( "(") (binary_expression "uVar6 == 0" (identifier "uVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar11 = 0;\n        uVar2 = uVar6;\n      }" ({ "{") (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" (identifier "uVar11") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar2 = uVar6;" (assignment_expression "uVar2 = uVar6" (identifier "uVar2") (= "=") (identifier "uVar6")) (; ";")) (} "}")) (else_clause "else {\n        uVar10 = uVar2;\n        if ((uVar2 == 0) &&\n           (puVar5 = *(undefined4 **)(uVar11 + 0xc), uVar2 = uVar6, uVar10 = uVar6, puVar5[1] == 0))\n        {\n          uVar11 = 0;\n          *param_7 = 1;\n          uVar2 = 0;\n          puVar1 = puVar5;\n        }\n      }" (else "else") (compound_statement "{\n        uVar10 = uVar2;\n        if ((uVar2 == 0) &&\n           (puVar5 = *(undefined4 **)(uVar11 + 0xc), uVar2 = uVar6, uVar10 = uVar6, puVar5[1] == 0))\n        {\n          uVar11 = 0;\n          *param_7 = 1;\n          uVar2 = 0;\n          puVar1 = puVar5;\n        }\n      }" ({ "{") (expression_statement "uVar10 = uVar2;" (assignment_expression "uVar10 = uVar2" (identifier "uVar10") (= "=") (identifier "uVar2")) (; ";")) (if_statement "if ((uVar2 == 0) &&\n           (puVar5 = *(undefined4 **)(uVar11 + 0xc), uVar2 = uVar6, uVar10 = uVar6, puVar5[1] == 0))\n        {\n          uVar11 = 0;\n          *param_7 = 1;\n          uVar2 = 0;\n          puVar1 = puVar5;\n        }" (if "if") (parenthesized_expression "((uVar2 == 0) &&\n           (puVar5 = *(undefined4 **)(uVar11 + 0xc), uVar2 = uVar6, uVar10 = uVar6, puVar5[1] == 0))" (( "(") (binary_expression "(uVar2 == 0) &&\n           (puVar5 = *(undefined4 **)(uVar11 + 0xc), uVar2 = uVar6, uVar10 = uVar6, puVar5[1] == 0)" (parenthesized_expression "(uVar2 == 0)" (( "(") (binary_expression "uVar2 == 0" (identifier "uVar2") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(puVar5 = *(undefined4 **)(uVar11 + 0xc), uVar2 = uVar6, uVar10 = uVar6, puVar5[1] == 0)" (( "(") (comma_expression "puVar5 = *(undefined4 **)(uVar11 + 0xc), uVar2 = uVar6, uVar10 = uVar6, puVar5[1] == 0" (assignment_expression "puVar5 = *(undefined4 **)(uVar11 + 0xc)" (identifier "puVar5") (= "=") (pointer_expression "*(undefined4 **)(uVar11 + 0xc)" (* "*") (cast_expression "(undefined4 **)(uVar11 + 0xc)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(uVar11 + 0xc)" (( "(") (binary_expression "uVar11 + 0xc" (identifier "uVar11") (+ "+") (number_literal "0xc")) () ")"))))) (, ",") (comma_expression "uVar2 = uVar6, uVar10 = uVar6, puVar5[1] == 0" (assignment_expression "uVar2 = uVar6" (identifier "uVar2") (= "=") (identifier "uVar6")) (, ",") (comma_expression "uVar10 = uVar6, puVar5[1] == 0" (assignment_expression "uVar10 = uVar6" (identifier "uVar10") (= "=") (identifier "uVar6")) (, ",") (binary_expression "puVar5[1] == 0" (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0"))))) () ")"))) () ")")) (compound_statement "{\n          uVar11 = 0;\n          *param_7 = 1;\n          uVar2 = 0;\n          puVar1 = puVar5;\n        }" ({ "{") (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" (identifier "uVar11") (= "=") (number_literal "0")) (; ";")) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" (* "*") (identifier "param_7")) (= "=") (number_literal "1")) (; ";")) (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" (identifier "uVar2") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar1 = puVar5;" (assignment_expression "puVar1 = puVar5" (identifier "puVar1") (= "=") (identifier "puVar5")) (; ";")) (} "}"))) (} "}")))) (} "}")))) (labeled_statement "LAB_002c52a8:\n    piVar8 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);" (statement_identifier "LAB_002c52a8") (: ":") (expression_statement "piVar8 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);" (assignment_expression "piVar8 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc)" (identifier "piVar8") (= "=") (pointer_expression "*(int **)(*(int *)PTR_parameters_004c19b4 + 0xc)" (* "*") (cast_expression "(int **)(*(int *)PTR_parameters_004c19b4 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)PTR_parameters_004c19b4 + 0xc)" (( "(") (binary_expression "*(int *)PTR_parameters_004c19b4 + 0xc" (pointer_expression "*(int *)PTR_parameters_004c19b4" (* "*") (cast_expression "(int *)PTR_parameters_004c19b4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_parameters_004c19b4"))) (+ "+") (number_literal "0xc")) () ")"))))) (; ";"))) (if_statement "if (piVar8 == (int *)0x0) {\n      pSVar3 = (Sized_symbol *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                          PTR_s_in_a_linker_script_004c191c + 0x3098);\n      return pSVar3;\n    }" (if "if") (parenthesized_expression "(piVar8 == (int *)0x0)" (( "(") (binary_expression "piVar8 == (int *)0x0" (identifier "piVar8") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      pSVar3 = (Sized_symbol *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                          PTR_s_in_a_linker_script_004c191c + 0x3098);\n      return pSVar3;\n    }" ({ "{") (expression_statement "pSVar3 = (Sized_symbol *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                          PTR_s_in_a_linker_script_004c191c + 0x3098);" (assignment_expression "pSVar3 = (Sized_symbol *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                          PTR_s_in_a_linker_script_004c191c + 0x3098)" (identifier "pSVar3") (= "=") (cast_expression "(Sized_symbol *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                          PTR_s_in_a_linker_script_004c191c + 0x3098)" (( "(") (type_descriptor "Sized_symbol *" (type_identifier "Sized_symbol") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                          PTR_s_in_a_linker_script_004c191c + 0x3098)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004c1a30"))) () ")")) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                          PTR_s_in_a_linker_script_004c191c + 0x3098)" (( "(") (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8" (identifier "PTR_s_ral_options14Struct_no_crefE_004c127c") (+ "+") (number_literal "-0x9b8")) (, ",") (number_literal "0x69") (, ",") (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x3098" (identifier "PTR_s_in_a_linker_script_004c191c") (+ "+") (number_literal "0x3098")) () ")"))))) (; ";")) (return_statement "return pSVar3;" (return "return") (identifier "pSVar3") (; ";")) (} "}"))) (if_statement "if (*(char *)(piVar8[1] + 0xc) == '\0') {\n      pSVar3 = (Sized_symbol *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n      (*(code *)PTR_memset_004c5c68)(pSVar3,0,0x30);\n    }\n    else {\n      pSVar3 = (Sized_symbol *)(**(code **)(*piVar8 + 0xa8))(piVar8,*param_1,0,0,0);\n      if (pSVar3 == (Sized_symbol *)0x0) goto LAB_002c544c;\n    }" (if "if") (parenthesized_expression "(*(char *)(piVar8[1] + 0xc) == '\0')" (( "(") (binary_expression "*(char *)(piVar8[1] + 0xc) == '\0'" (pointer_expression "*(char *)(piVar8[1] + 0xc)" (* "*") (cast_expression "(char *)(piVar8[1] + 0xc)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar8[1] + 0xc)" (( "(") (binary_expression "piVar8[1] + 0xc" (subscript_expression "piVar8[1]" (identifier "piVar8") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0xc")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      pSVar3 = (Sized_symbol *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n      (*(code *)PTR_memset_004c5c68)(pSVar3,0,0x30);\n    }" ({ "{") (expression_statement "pSVar3 = (Sized_symbol *)(*(code *)PTR_operator_new_004c13a8)(0x38);" (assignment_expression "pSVar3 = (Sized_symbol *)(*(code *)PTR_operator_new_004c13a8)(0x38)" (identifier "pSVar3") (= "=") (cast_expression "(Sized_symbol *)(*(code *)PTR_operator_new_004c13a8)(0x38)" (( "(") (type_descriptor "Sized_symbol *" (type_identifier "Sized_symbol") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_operator_new_004c13a8)(0x38)" (parenthesized_expression "(*(code *)PTR_operator_new_004c13a8)" (( "(") (pointer_expression "*(code *)PTR_operator_new_004c13a8" (* "*") (cast_expression "(code *)PTR_operator_new_004c13a8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_operator_new_004c13a8"))) () ")")) (argument_list "(0x38)" (( "(") (number_literal "0x38") () ")"))))) (; ";")) (expression_statement "(*(code *)PTR_memset_004c5c68)(pSVar3,0,0x30);" (call_expression "(*(code *)PTR_memset_004c5c68)(pSVar3,0,0x30)" (parenthesized_expression "(*(code *)PTR_memset_004c5c68)" (( "(") (pointer_expression "*(code *)PTR_memset_004c5c68" (* "*") (cast_expression "(code *)PTR_memset_004c5c68" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memset_004c5c68"))) () ")")) (argument_list "(pSVar3,0,0x30)" (( "(") (identifier "pSVar3") (, ",") (number_literal "0") (, ",") (number_literal "0x30") () ")"))) (; ";")) (} "}")) (else_clause "else {\n      pSVar3 = (Sized_symbol *)(**(code **)(*piVar8 + 0xa8))(piVar8,*param_1,0,0,0);\n      if (pSVar3 == (Sized_symbol *)0x0) goto LAB_002c544c;\n    }" (else "else") (compound_statement "{\n      pSVar3 = (Sized_symbol *)(**(code **)(*piVar8 + 0xa8))(piVar8,*param_1,0,0,0);\n      if (pSVar3 == (Sized_symbol *)0x0) goto LAB_002c544c;\n    }" ({ "{") (expression_statement "pSVar3 = (Sized_symbol *)(**(code **)(*piVar8 + 0xa8))(piVar8,*param_1,0,0,0);" (assignment_expression "pSVar3 = (Sized_symbol *)(**(code **)(*piVar8 + 0xa8))(piVar8,*param_1,0,0,0)" (identifier "pSVar3") (= "=") (cast_expression "(Sized_symbol *)(**(code **)(*piVar8 + 0xa8))(piVar8,*param_1,0,0,0)" (( "(") (type_descriptor "Sized_symbol *" (type_identifier "Sized_symbol") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(*piVar8 + 0xa8))(piVar8,*param_1,0,0,0)" (parenthesized_expression "(**(code **)(*piVar8 + 0xa8))" (( "(") (pointer_expression "**(code **)(*piVar8 + 0xa8)" (* "*") (pointer_expression "*(code **)(*piVar8 + 0xa8)" (* "*") (cast_expression "(code **)(*piVar8 + 0xa8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar8 + 0xa8)" (( "(") (binary_expression "*piVar8 + 0xa8" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (+ "+") (number_literal "0xa8")) () ")"))))) () ")")) (argument_list "(piVar8,*param_1,0,0,0)" (( "(") (identifier "piVar8") (, ",") (pointer_expression "*param_1" (* "*") (identifier "param_1")) (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))))) (; ";")) (if_statement "if (pSVar3 == (Sized_symbol *)0x0) goto LAB_002c544c;" (if "if") (parenthesized_expression "(pSVar3 == (Sized_symbol *)0x0)" (( "(") (binary_expression "pSVar3 == (Sized_symbol *)0x0" (identifier "pSVar3") (== "==") (cast_expression "(Sized_symbol *)0x0" (( "(") (type_descriptor "Sized_symbol *" (type_identifier "Sized_symbol") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_002c544c;" (goto "goto") (statement_identifier "LAB_002c544c") (; ";"))) (} "}")))) (if_statement "if (uVar10 == 0) {\n      if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n    }\n    else {\n      *(Sized_symbol **)(iVar7 + 0xc) = pSVar3;\n    }" (if "if") (parenthesized_expression "(uVar10 == 0)" (( "(") (binary_expression "uVar10 == 0" (identifier "uVar10") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }\n    }" ({ "{") (if_statement "if (puVar1 == (undefined4 *)0x0) {\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }" (if "if") (parenthesized_expression "(puVar1 == (undefined4 *)0x0)" (( "(") (binary_expression "puVar1 == (undefined4 *)0x0" (identifier "puVar1") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);\n        return pSVar3;\n      }" ({ "{") (expression_statement "pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);" (assignment_expression "pSVar3 = (Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c)" (identifier "pSVar3") (= "=") (cast_expression "(Sized_symbol *)\n                 (*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c)" (( "(") (type_descriptor "Sized_symbol *" (type_identifier "Sized_symbol") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004c1a30"))) () ")")) (argument_list "(PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,\n                            PTR_s_in_a_linker_script_004c191c + 0x2f4c)" (( "(") (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x24b0" (identifier "PTR_s_in_a_linker_script_004c191c") (+ "+") (number_literal "0x24b0")) (, ",") (number_literal "0x794") (, ",") (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x2f4c" (identifier "PTR_s_in_a_linker_script_004c191c") (+ "+") (number_literal "0x2f4c")) () ")"))))) (; ";")) (return_statement "return pSVar3;" (return "return") (identifier "pSVar3") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      *(Sized_symbol **)(iVar7 + 0xc) = pSVar3;\n    }" (else "else") (compound_statement "{\n      *(Sized_symbol **)(iVar7 + 0xc) = pSVar3;\n    }" ({ "{") (expression_statement "*(Sized_symbol **)(iVar7 + 0xc) = pSVar3;" (assignment_expression "*(Sized_symbol **)(iVar7 + 0xc) = pSVar3" (pointer_expression "*(Sized_symbol **)(iVar7 + 0xc)" (* "*") (cast_expression "(Sized_symbol **)(iVar7 + 0xc)" (( "(") (type_descriptor "Sized_symbol **" (type_identifier "Sized_symbol") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar7 + 0xc)" (( "(") (binary_expression "iVar7 + 0xc" (identifier "iVar7") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "pSVar3")) (; ";")) (} "}")))) (if_statement "if (uVar2 != 0) {\n      *(Sized_symbol **)(uVar11 + 0xc) = pSVar3;\n    }" (if "if") (parenthesized_expression "(uVar2 != 0)" (( "(") (binary_expression "uVar2 != 0" (identifier "uVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      *(Sized_symbol **)(uVar11 + 0xc) = pSVar3;\n    }" ({ "{") (expression_statement "*(Sized_symbol **)(uVar11 + 0xc) = pSVar3;" (assignment_expression "*(Sized_symbol **)(uVar11 + 0xc) = pSVar3" (pointer_expression "*(Sized_symbol **)(uVar11 + 0xc)" (* "*") (cast_expression "(Sized_symbol **)(uVar11 + 0xc)" (( "(") (type_descriptor "Sized_symbol **" (type_identifier "Sized_symbol") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(uVar11 + 0xc)" (( "(") (binary_expression "uVar11 + 0xc" (identifier "uVar11") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "pSVar3")) (; ";")) (} "}"))) (expression_statement "uVar4 = FUN_002b58f0(puVar1);" (assignment_expression "uVar4 = FUN_002b58f0(puVar1)" (identifier "uVar4") (= "=") (call_expression "FUN_002b58f0(puVar1)" (identifier "FUN_002b58f0") (argument_list "(puVar1)" (( "(") (identifier "puVar1") () ")")))) (; ";")) (expression_statement "*param_6 = uVar4;" (assignment_expression "*param_6 = uVar4" (pointer_expression "*param_6" (* "*") (identifier "param_6")) (= "=") (identifier "uVar4")) (; ";")) (} "}")))) (labeled_statement "LAB_002c5450:\n  if (local_68 != local_60) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" (statement_identifier "LAB_002c5450") (: ":") (if_statement "if (local_68 != local_60) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" (if "if") (parenthesized_expression "(local_68 != local_60)" (( "(") (binary_expression "local_68 != local_60" (identifier "local_68") (!= "!=") (identifier "local_60")) () ")")) (compound_statement "{\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" ({ "{") (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" (( "(") (pointer_expression "*(code *)PTR_operator_delete_004c12fc" (* "*") (cast_expression "(code *)PTR_operator_delete_004c12fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_operator_delete_004c12fc"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (return_statement "return pSVar3;" (return "return") (identifier "pSVar3") (; ";")) (} "}"))
(translation_unit (ERROR (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) (ERROR (identifier) (identifier) (identifier)) right: (number_literal)) (ERROR (false)) right: (parenthesized_expression (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (comma_expression left: (binary_expression left: (identifier) right: (identifier)) (ERROR (identifier)) right: (comma_expression left: (identifier) (ERROR (identifier)) right: (comma_expression left: (identifier) right: (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (comma_expression left: (binary_expression left: (identifier) right: (identifier)) (ERROR (identifier)) right: (identifier))))))))))) (compound_statement (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) 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: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (compound_statement (ERROR (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (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))))) (identifier) (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))) (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (identifier) 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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) 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: (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))))) (if_statement condition: (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: (identifier) right: (number_literal))))))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) (ERROR) right: (call_expression function: (identifier) arguments: (argument_list (call_expression function: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (pointer_expression argument: (MISSING identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))) (true) (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))) (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))))) alternative: (else_clause (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))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) (ERROR) right: (call_expression function: (identifier) arguments: (argument_list (call_expression function: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (pointer_expression argument: (MISSING identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) (identifier) (true) (identifier))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))) 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: (binary_expression left: (identifier) right: (identifier)) (ERROR) right: (call_expression function: (identifier) arguments: (argument_list (call_expression function: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (pointer_expression argument: (MISSING identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))) (true) (pointer_expression argument: (identifier))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR (binary_expression left: (identifier) right: (identifier)) (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) (ERROR) right: (identifier))) (binary_expression left: (identifier) right: (identifier)) (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier))) (comma_expression left: (identifier) (ERROR) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier))) (comma_expression left: (identifier) (ERROR) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR (comma_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR (comma_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR (comma_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR (comma_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR (comma_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR (comma_expression left: (identifier) right: (identifier))) (expression_statement (binary_expression left: (identifier) (ERROR (comma_expression left: (binary_expression left: (identifier) right: (true)) right: (comma_expression left: (false) right: (binary_expression left: (binary_expression left: (true) (ERROR) right: (identifier)) right: (identifier)))) (binary_expression left: (identifier) right: (identifier)) (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) (ERROR) right: (identifier))) (identifier)) right: (parenthesized_expression (comma_expression left: (pointer_expression argument: (identifier)) right: (comma_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (comma_expression left: (number_literal) right: (pointer_expression argument: (identifier))))))))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (labeled_statement label: (statement_identifier) (ERROR (binary_expression left: (identifier) right: (identifier)) (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) (ERROR) right: (identifier))) (binary_expression left: (identifier) right: (identifier)) (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier))) (comma_expression left: (identifier) (ERROR) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier))) (comma_expression left: (identifier) (ERROR) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR (comma_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR (comma_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR (comma_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR (comma_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR (comma_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR (comma_expression left: (identifier) right: (identifier))) (expression_statement (binary_expression left: (identifier) (ERROR (comma_expression left: (binary_expression left: (identifier) right: (true)) right: (comma_expression left: (false) right: (binary_expression left: (binary_expression left: (true) (ERROR) right: (identifier)) right: (identifier)))) (binary_expression left: (identifier) right: (identifier)) (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) (ERROR) right: (identifier))) (identifier)) right: (parenthesized_expression (comma_expression left: (pointer_expression argument: (identifier)) right: (comma_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (comma_expression left: (number_literal) right: (pointer_expression argument: (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: (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: (type_identifier) declarator: (abstract_pointer_declarator 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 (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (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 (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_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))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (comma_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (false) right: (parenthesized_expression (comma_expression left: (identifier) right: (comma_expression left: (identifier) right: (comma_expression left: (identifier) right: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (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 (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (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)))))) right: (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))))))))) (labeled_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 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: (identifier))) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) 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: (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 (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))))) (return_statement (identifier)))) (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal)))))) (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 (identifier) (number_literal) (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (number_literal) (number_literal) (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_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: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (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 (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (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))))) right: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (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))))) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier)))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) 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)))))) (return_statement (identifier))))

/* gold::Sized_symbol<32>* gold::Symbol_table::define_special_symbol<32, false>(char const**, char
   const**, bool, elfcpp::STV, gold::Sized_symbol<32>**, bool*, bool) */

Sized_symbol * __thiscall
gold::Symbol_table::MASKED
          (Symbol_table *this,undefined4 *param_1,int *param_2,int param_4,int param_5,
          undefined4 *param_6,undefined1 *param_7,char param_8)

{
  undefined4 *puVar1;
  uint uVar2;
  Sized_symbol *pSVar3;
  undefined4 uVar4;
  undefined4 *puVar5;
  uint uVar6;
  int iVar7;
  int *piVar8;
  char *pcVar9;
  uint uVar10;
  uint uVar11;
  undefined1 *local_68;
  int local_64;
  undefined1 local_60 [16];
  uint local_50;
  uint local_4c;
  undefined4 local_48;
  uint local_44;
  byte local_40;
  int local_3c;
  byte local_38;
  uint local_34;
  uint local_30 [2];
  
  local_64 = 0;
  local_60[0] = 0;
  pcVar9 = (char *)*param_1;
  *param_7 = 0;
  *param_6 = 0;
  local_68 = local_60;
  if (param_8 == '\0') {
    uVar6 = 0;
    if (*param_2 == 0) {
      uVar6 = Version_script_info::get_symbol_version
                        (*(Version_script_info **)(this + 0x160),pcVar9,(string *)&local_68,
                         (bool *)&local_50);
      if ((uVar6 != 0) && (uVar6 = local_50 >> 0x18, uVar6 != 0)) {
        if (local_64 == 0) {
          pcVar9 = (char *)*param_1;
          uVar6 = 0;
          goto LAB_002c5224;
        }
        *param_2 = (int)local_68;
      }
      pcVar9 = (char *)*param_1;
    }
LAB_002c5224:
    if (param_4 == 0) goto LAB_002c5340;
LAB_002c522c:
                    /* try { // try from 002c5238 to 002c5693 has its CatchHandler @ 002c5694 */
    puVar1 = (undefined4 *)lookup(this,pcVar9,(char *)*param_2);
    if (puVar1 != (undefined4 *)0x0) {
LAB_002c524c:
      uVar2 = puVar1[10];
      if ((uVar2 & 0xe000) != 0) {
        if ((uVar2 & 0xe000) == 0x8000) goto LAB_002c5288;
        goto LAB_002c544c;
      }
      if (puVar1[3] == 0) {
        if ((int)(uVar2 << 0x1d) < 0) goto LAB_002c5288;
        iVar7 = puVar1[2];
      }
      else {
        iVar7 = puVar1[2];
      }
      if (-1 < *(int *)(iVar7 + 0x2c)) goto LAB_002c544c;
      if ((param_5 - 1U < 2) && (-1 < (int)(uVar2 << 0x17))) {
        pSVar3 = (Sized_symbol *)0x0;
        goto LAB_002c5450;
      }
LAB_002c5288:
      *param_1 = *puVar1;
      if (uVar6 == 0) {
        uVar11 = 0;
        *param_2 = puVar1[1];
        uVar2 = 0;
        uVar10 = 0;
        iVar7 = 0;
      }
      else {
        iVar7 = Stringpool_template<char>::add
                          ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,
                           (uint *)0x0);
        uVar11 = 0;
        *param_2 = iVar7;
        uVar2 = 0;
        uVar10 = 0;
        iVar7 = 0;
      }
      goto LAB_002c52a8;
    }
    if (uVar6 != 0) {
      puVar1 = (undefined4 *)lookup(this,(char *)*param_1,(char *)0x0);
      if (puVar1 == (undefined4 *)0x0) {
        pSVar3 = (Sized_symbol *)0x0;
        goto LAB_002c5450;
      }
      goto LAB_002c524c;
    }
LAB_002c544c:
    pSVar3 = (Sized_symbol *)0x0;
  }
  else {
    uVar6 = 0;
    if (param_4 != 0) goto LAB_002c522c;
LAB_002c5340:
    uVar4 = Stringpool_template<char>::add
                      ((Stringpool_template<char> *)(this + 0x48),pcVar9,true,local_30);
    *param_1 = uVar4;
    local_34 = 0;
    if ((char *)*param_2 != (char *)0x0) {
      iVar7 = Stringpool_template<char>::add
                        ((Stringpool_template<char> *)(this + 0x48),(char *)*param_2,true,&local_34)
      ;
      *param_2 = iVar7;
    }
    local_48 = 0;
    local_50 = local_30[0];
    local_4c = local_34;
    std::
    _Hashtable<std::pair<unsigned_int,unsigned_int>,std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>,std::allocator<std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>>,std::__detail::_Select1st,gold::Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>
              (&local_3c,this + 0x28,0,&local_50);
    if (uVar6 == 0) {
      uVar2 = 0;
      uVar11 = 0;
    }
    else {
      local_4c = 0;
      local_48 = 0;
      local_50 = local_30[0];
      std::
      _Hashtable<std::pair<unsigned_int,unsigned_int>,std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>,std::allocator<std::pair<std::pair<unsigned_int,unsigned_int>const,gold::Symbol*>>,std::__detail::_Select1st,gold::Symbol_table::Symbol_table_eq,gold::Symbol_table::Symbol_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::Symbol*>>
                (&local_44,this + 0x28,0,&local_50);
      uVar2 = (uint)local_40;
      uVar11 = local_44;
    }
    uVar10 = (uint)local_38;
    puVar1 = *(undefined4 **)(local_3c + 0xc);
    if (uVar10 == 0) {
      if (puVar1 == (undefined4 *)0x0) {
        pSVar3 = (Sized_symbol *)
                 (*(code *)PTR_do_gold_unreachable_004c1a30)
                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x75a,
                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);
        return pSVar3;
      }
      if (uVar6 == 0) {
        uVar11 = 0;
        uVar2 = uVar6;
        uVar10 = uVar6;
        iVar7 = 0;
      }
      else {
        uVar4 = FUN_002b58f0(puVar1);
        local_50 = uVar11;
        define_default_version<32,false>(this,uVar4,uVar2,uVar11);
        uVar11 = 0;
        uVar2 = 0;
        iVar7 = 0;
      }
    }
    else {
      if (puVar1 != (undefined4 *)0x0) {
        pSVar3 = (Sized_symbol *)
                 (*(code *)PTR_do_gold_unreachable_004c1a30)
                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x768,
                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);
        return pSVar3;
      }
      iVar7 = local_3c;
      if (uVar6 == 0) {
        uVar11 = 0;
        uVar2 = uVar6;
      }
      else {
        uVar10 = uVar2;
        if ((uVar2 == 0) &&
           (puVar5 = *(undefined4 **)(uVar11 + 0xc), uVar2 = uVar6, uVar10 = uVar6, puVar5[1] == 0))
        {
          uVar11 = 0;
          *param_7 = 1;
          uVar2 = 0;
          puVar1 = puVar5;
        }
      }
    }
LAB_002c52a8:
    piVar8 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);
    if (piVar8 == (int *)0x0) {
      pSVar3 = (Sized_symbol *)
               (*(code *)PTR_do_gold_unreachable_004c1a30)
                         (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,
                          PTR_s_in_a_linker_script_004c191c + 0x3098);
      return pSVar3;
    }
    if (*(char *)(piVar8[1] + 0xc) == '\0') {
      pSVar3 = (Sized_symbol *)(*(code *)PTR_operator_new_004c13a8)(0x38);
      (*(code *)PTR_memset_004c5c68)(pSVar3,0,0x30);
    }
    else {
      pSVar3 = (Sized_symbol *)(**(code **)(*piVar8 + 0xa8))(piVar8,*param_1,0,0,0);
      if (pSVar3 == (Sized_symbol *)0x0) goto LAB_002c544c;
    }
    if (uVar10 == 0) {
      if (puVar1 == (undefined4 *)0x0) {
        pSVar3 = (Sized_symbol *)
                 (*(code *)PTR_do_gold_unreachable_004c1a30)
                           (PTR_s_in_a_linker_script_004c191c + 0x24b0,0x794,
                            PTR_s_in_a_linker_script_004c191c + 0x2f4c);
        return pSVar3;
      }
    }
    else {
      *(Sized_symbol **)(iVar7 + 0xc) = pSVar3;
    }
    if (uVar2 != 0) {
      *(Sized_symbol **)(uVar11 + 0xc) = pSVar3;
    }
    uVar4 = FUN_002b58f0(puVar1);
    *param_6 = uVar4;
  }
LAB_002c5450:
  if (local_68 != local_60) {
    (*(code *)PTR_operator_delete_004c12fc)();
  }
  return pSVar3;
}

