
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: void find_identical_sections(Icf * this, Input_objects * input_objects,
   Symbol_table * symtab) */

void __thiscall
gold::Icf::find_identical_sections(Icf *this,Input_objects *input_objects,Symbol_table *symtab)

{
  size_type *psVar1;
  pointer ppVar2;
  pointer puVar3;
  uint uVar4;
  Target *pTVar5;
  Relobj *pRVar6;
  Input_file *pIVar7;
  pointer ppOVar8;
  iterator __position;
  _Hash_node_base *p_Var9;
  __bucket_type *pp_Var10;
  pointer __src;
  pointer puVar11;
  pointer pcVar12;
  byte bVar13;
  uint *puVar14;
  pointer pbVar15;
  uint32_t uVar16;
  _Alloc_hider __s2;
  undefined8 uVar17;
  _Bit_type *p_Var18;
  char cVar19;
  gnu_v3_ctor_kinds gVar20;
  gnu_v3_dtor_kinds gVar21;
  uint uVar22;
  uint uVar23;
  int iVar24;
  General_options *pGVar25;
  _Hash_node_base *p_Var26;
  __node_base *p_Var27;
  undefined4 extraout_var;
  _Hash_node_base *p_Var28;
  __bucket_type *pp_Var29;
  byte *pbVar30;
  iterator iVar31;
  pointer __dest;
  size_t sVar32;
  undefined4 *__dest_00;
  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
  *paVar33;
  ulong uVar34;
  __node_type *p_Var35;
  Symbol *pSVar36;
  char *pcVar37;
  long lVar38;
  _Hash_node_base *p_Var39;
  pointer ppVar40;
  _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>
  *this_00;
  ulong uVar41;
  ulong uVar42;
  size_type sVar43;
  uint uVar44;
  ulong uVar45;
  long lVar46;
  pointer pbVar47;
  Relobj *pRVar48;
  byte *pbVar49;
  _Alloc_hider _Var50;
  vector<bool,_std::allocator<bool>_> *pvVar51;
  byte *pbVar52;
  char *pcVar53;
  _Node_iterator<std::pair<unsigned_int_const,_unsigned_int>,_false,_false> _Var54;
  pointer ppRVar55;
  undefined1 uVar56;
  bool bVar57;
  bool bVar58;
  undefined1 uVar59;
  bool bVar60;
  byte bVar61;
  pair<std::__detail::_Node_iterator<std::pair<unsigned_int_const,_unsigned_int>,_false,_false>,_std::__detail::_Node_iterator<std::pair<unsigned_int_const,_unsigned_int>,_false,_false>_>
  pVar62;
  iterator __position_00;
  _Node_iterator<std::pair<unsigned_int_const,_unsigned_int>,_false,_false> local_1f0;
  pointer local_1e8;
  undefined4 *local_1d8;
  ulong local_1d0;
  undefined4 *local_1c8;
  undefined4 *local_1b0;
  basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *local_1a8;
  ulong local_1a0;
  uint32_t cksum;
  _Bit_type *local_188;
  uint local_180;
  undefined4 uStack_17c;
  Section_id secn;
  vector<long_unsigned_int,_std::allocator<long_unsigned_int>_> section_addraligns;
  vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
  section_contents;
  vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
  full_section_contents;
  string this_secn_contents;
  uint num_relocs;
  size_t local_e0;
  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
  local_d8;
  string section_name;
  vector<bool,_std::allocator<bool>_> is_secn_or_group_unique;
  unordered_multimap<unsigned_int,_unsigned_int,_std::hash<unsigned_int>,_std::equal_to<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>_>
  section_cksum;
  
  bVar61 = 0;
  pTVar5 = parameters->target_;
  section_addraligns.super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.
  _M_impl._M_start = (pointer)0x0;
  section_addraligns.super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.
  _M_impl._M_finish = (pointer)0x0;
  section_addraligns.super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.
  _M_impl._M_end_of_storage = (pointer)0x0;
  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.
  super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p = (_Bit_type *)0x0;
  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.
  super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset = 0;
  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.
  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p = (_Bit_type *)0x0;
  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.
  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset = 0;
  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.
  super__Bvector_impl_data._M_end_of_storage = (_Bit_pointer)0x0;
  section_contents.
  super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
  ._M_impl._M_start = (pointer)0x0;
  section_contents.
  super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
  ._M_impl._M_finish = (pointer)0x0;
  section_contents.
  super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
  ._M_impl._M_end_of_storage = (pointer)0x0;
  if (pTVar5 == (Target *)0x0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00181f0b to 00181f0f has its CatchHandler @ 00181f15 */
    do_gold_unreachable("../../gold/parameters.h",0x69,"target");
  }
  ppRVar55 = (input_objects->relobj_list_).
             super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_start;
  if (ppRVar55 ==
      (input_objects->relobj_list_).
      super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish) {
    local_1d8 = (undefined4 *)0x0;
  }
  else {
    local_1c8 = (undefined4 *)0x0;
    local_1b0 = (undefined4 *)0x0;
    local_1d8 = (undefined4 *)0x0;
    uVar4 = 0;
    do {
      pRVar6 = *ppRVar55;
      pIVar7 = (pRVar6->super_Object).input_file_;
      if (pIVar7 == (Input_file *)0x0) {
        pRVar48 = pRVar6;
        if ((pRVar6->super_Object).shnum_ != 0) goto LAB_00180a17;
      }
      else {
                    /* try { // try from 00180a02 to 00180a06 has its CatchHandler @ 00181f33 */
        File_read::lock(&pIVar7->file_,(Task *)0xffffffffffffffff);
        pRVar48 = *ppRVar55;
        if (((*ppRVar55)->super_Object).shnum_ != 0) {
LAB_00180a17:
          uVar56 = false;
          uVar45 = 0;
          uVar59 = true;
          do {
            uVar44 = (uint)uVar45;
                    /* try { // try from 00180c4d to 00180c52 has its CatchHandler @ 00181f1d */
            (*(pRVar48->super_Object)._vptr_Object[0x10])(&section_name,pRVar48,uVar45);
            lVar38 = 5;
            pbVar30 = (byte *)".text";
            _Var50 = section_name._M_dataplus;
            do {
              if (lVar38 == 0) break;
              lVar38 = lVar38 + -1;
              uVar56 = *pbVar30 < (byte)*_Var50._M_p;
              uVar59 = *pbVar30 == *_Var50._M_p;
              pbVar30 = pbVar30 + (ulong)bVar61 * -2 + 1;
              _Var50._M_p = (pointer)((byte *)_Var50._M_p + (ulong)bVar61 * -2 + 1);
            } while ((bool)uVar59);
            bVar57 = false;
            bVar60 = (!(bool)uVar56 && !(bool)uVar59) == (bool)uVar56;
            if (bVar60) {
LAB_00180a28:
              pRVar48 = *ppRVar55;
              ppOVar8 = (pRVar48->output_sections_).
                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
                        ._M_impl._M_start;
              if ((ulong)((long)(pRVar48->output_sections_).
                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
                                ._M_impl._M_finish - (long)ppOVar8 >> 3) <= uVar45) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00181e47 to 00181e63 has its CatchHandler @ 00181f61 */
                do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");
              }
              if (ppOVar8[uVar45] == (Output_section *)0x0) goto LAB_00180c96;
              pGVar25 = parameters->options_;
              if (pGVar25 == (General_options *)0x0) {
                    /* WARNING: Subroutine does not return */
                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
              }
              if ((pGVar25->gc_sections_).value != false) {
                section_cksum._M_h._M_bucket_count =
                     CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);
                section_cksum._M_h._M_buckets = (__bucket_type *)pRVar48;
                iVar31 = std::
                         _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>
                         ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>
                                 *)&symtab->gc_->referenced_list_,(key_type *)&section_cksum);
                if (iVar31.super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>.
                    _M_cur == (__node_type *)0x0) goto LAB_00180c96;
                pGVar25 = parameters->options_;
                if (pGVar25 == (General_options *)0x0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00180e61 to 001811fa has its CatchHandler @ 00181f61 */
                  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
                }
              }
              if (pGVar25->icf_status_ == ICF_SAFE) {
                pbVar30 = (byte *)strrchr(section_name._M_dataplus._M_p,0x2e);
                bVar57 = false;
                bVar60 = pbVar30 == (byte *)0x0;
                if (bVar60) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00181ef3 to 00181ef7 has its CatchHandler @ 00181f61 */
                  do_gold_unreachable("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");
                }
                lVar38 = 4;
                pbVar49 = &DAT_00373305;
                pbVar52 = pbVar30;
                do {
                  if (lVar38 == 0) break;
                  lVar38 = lVar38 + -1;
                  bVar57 = *pbVar49 < *pbVar52;
                  bVar60 = *pbVar49 == *pbVar52;
                  pbVar49 = pbVar49 + (ulong)bVar61 * -2 + 1;
                  pbVar52 = pbVar52 + (ulong)bVar61 * -2 + 1;
                } while (bVar60);
                bVar58 = false;
                bVar57 = (!bVar57 && !bVar60) == bVar57;
                if (bVar57) {
LAB_00180f58:
                  gVar20 = is_gnu_v3_mangled_ctor((char *)(pbVar30 + 1));
                  if ((gVar20 != 0) ||
                     (gVar21 = is_gnu_v3_mangled_dtor((char *)(pbVar30 + 1)), gVar21 != 0))
                  goto LAB_00180a97;
                }
                else {
                  lVar38 = 4;
                  pbVar49 = &DAT_0037330a;
                  pbVar52 = pbVar30;
                  do {
                    if (lVar38 == 0) break;
                    lVar38 = lVar38 + -1;
                    bVar58 = *pbVar49 < *pbVar52;
                    bVar57 = *pbVar49 == *pbVar52;
                    pbVar49 = pbVar49 + (ulong)bVar61 * -2 + 1;
                    pbVar52 = pbVar52 + (ulong)bVar61 * -2 + 1;
                  } while (bVar57);
                  if ((!bVar58 && !bVar57) == bVar58) goto LAB_00180f58;
                }
                if ((*(code **)(*(long *)pTVar5 + 0x90) !=
                     Target::do_can_check_for_function_pointers) &&
                   (cVar19 = (**(code **)(*(long *)pTVar5 + 0x90))(pTVar5), cVar19 != '\0')) {
                  section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;
                  section_cksum._M_h._M_bucket_count =
                       CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);
                  iVar31 = std::
                           _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>
                           ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>
                                   *)&this->fptr_section_id_,(key_type *)&section_cksum);
                  if (iVar31.super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>
                      ._M_cur == (__node_type *)0x0) goto LAB_00180a97;
                }
                goto LAB_00180c96;
              }
LAB_00180a97:
              local_1a8 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)
                          &section_cksum;
              section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;
              __position._M_current =
                   (this->id_section_).
                   super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>
                   ._M_impl._M_finish;
              section_cksum._M_h._M_bucket_count =
                   CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);
              if (__position._M_current ==
                  (this->id_section_).
                  super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>
                  ._M_impl._M_end_of_storage) {
                std::
                vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>
                ::_M_realloc_insert<std::pair<gold::Relobj*,_unsigned_int>_>
                          (&this->id_section_,__position,
                           (pair<gold::Relobj*,_unsigned_int> *)local_1a8);
              }
              else {
                (__position._M_current)->first = (Relobj *)section_cksum._M_h._M_buckets;
                (__position._M_current)->second = uVar44;
                (this->id_section_).
                super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>
                ._M_impl._M_finish = __position._M_current + 1;
              }
              section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;
              section_cksum._M_h._M_bucket_count =
                   CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);
              p_Var26 = (_Hash_node_base *)((ulong)section_cksum._M_h._M_buckets ^ uVar45);
              local_1a0 = (ulong)p_Var26 % (this->section_id_)._M_h._M_bucket_count;
              p_Var27 = std::
                        _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
                        ::_M_find_before_node
                                  ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
                                    *)&this->section_id_,local_1a0,(key_type *)local_1a8,
                                   (__hash_code)p_Var26);
              if ((p_Var27 == (__node_base *)0x0) ||
                 (p_Var28 = p_Var27->_M_nxt, p_Var28 == (_Hash_node_base *)0x0)) {
                    /* try { // try from 00180cad to 00180cec has its CatchHandler @ 00181f61 */
                p_Var28 = (_Hash_node_base *)operator_new(0x28);
                uVar41 = (this->section_id_)._M_h._M_element_count;
                p_Var28->_M_nxt = (_Hash_node_base *)0x0;
                uVar42 = (this->section_id_)._M_h._M_bucket_count;
                *(undefined4 *)&p_Var28[3]._M_nxt = 0;
                p_Var28[1]._M_nxt = (_Hash_node_base *)section_cksum._M_h._M_buckets;
                p_Var28[2]._M_nxt = (_Hash_node_base *)section_cksum._M_h._M_bucket_count;
                cVar19 = std::__detail::_Prime_rehash_policy::_M_need_rehash
                                   (&(this->section_id_)._M_h._M_rehash_policy,uVar42,uVar41,1);
                if (cVar19 == '\0') {
                  pp_Var29 = (this->section_id_)._M_h._M_buckets;
                }
                else {
                  if (this_00 ==
                      (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>
                       *)0x1) {
                    pp_Var29 = &(this->section_id_)._M_h._M_single_bucket;
                    (this->section_id_)._M_h._M_single_bucket = (__bucket_type)0x0;
                  }
                  else {
                    /* try { // try from 00180d0d to 00180d11 has its CatchHandler @ 00181f10 */
                    pp_Var29 = std::__detail::
                               _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>
                               ::_M_allocate_buckets(this_00,uVar42);
                  }
                  p_Var39 = (this->section_id_)._M_h._M_before_begin._M_nxt;
                  (this->section_id_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;
                  if (p_Var39 != (_Hash_node_base *)0x0) {
                    uVar41 = 0;
                    do {
                      while( true ) {
                        p_Var9 = p_Var39->_M_nxt;
                        uVar42 = (ulong)p_Var39[4]._M_nxt % (ulong)this_00;
                        pp_Var10 = pp_Var29 + uVar42;
                        if (*pp_Var10 == (__bucket_type)0x0) break;
                        p_Var39->_M_nxt = (*pp_Var10)->_M_nxt;
                        (*pp_Var10)->_M_nxt = p_Var39;
                        uVar42 = uVar41;
LAB_00180d64:
                        p_Var39 = p_Var9;
                        uVar41 = uVar42;
                        if (p_Var9 == (_Hash_node_base *)0x0) goto LAB_00180dc0;
                      }
                      p_Var39->_M_nxt = (this->section_id_)._M_h._M_before_begin._M_nxt;
                      (this->section_id_)._M_h._M_before_begin._M_nxt = p_Var39;
                      *pp_Var10 = &(this->section_id_)._M_h._M_before_begin;
                      if (p_Var39->_M_nxt == (_Hash_node_base *)0x0) goto LAB_00180d64;
                      pp_Var29[uVar41] = p_Var39;
                      p_Var39 = p_Var9;
                      uVar41 = uVar42;
                    } while (p_Var9 != (_Hash_node_base *)0x0);
                  }
LAB_00180dc0:
                  pp_Var10 = (this->section_id_)._M_h._M_buckets;
                  if (pp_Var10 != &(this->section_id_)._M_h._M_single_bucket) {
                    operator_delete(pp_Var10);
                  }
                  (this->section_id_)._M_h._M_buckets = pp_Var29;
                  local_1a0 = (ulong)p_Var26 % (ulong)this_00;
                  (this->section_id_)._M_h._M_bucket_count = (size_type)this_00;
                }
                p_Var28[4]._M_nxt = p_Var26;
                pp_Var10 = pp_Var29 + local_1a0;
                if (*pp_Var10 == (__bucket_type)0x0) {
                  p_Var26 = (this->section_id_)._M_h._M_before_begin._M_nxt;
                  (this->section_id_)._M_h._M_before_begin._M_nxt = p_Var28;
                  p_Var28->_M_nxt = p_Var26;
                  if (p_Var26 != (_Hash_node_base *)0x0) {
                    pp_Var29[(ulong)p_Var26[4]._M_nxt % (this->section_id_)._M_h._M_bucket_count] =
                         p_Var28;
                  }
                  *pp_Var10 = &(this->section_id_)._M_h._M_before_begin;
                }
                else {
                  p_Var28->_M_nxt = (*pp_Var10)->_M_nxt;
                  (*pp_Var10)->_M_nxt = p_Var28;
                }
                psVar1 = &(this->section_id_)._M_h._M_element_count;
                *psVar1 = *psVar1 + 1;
              }
              puVar11 = (this->kept_section_id_).
                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
                        _M_finish;
              *(uint *)&p_Var28[3]._M_nxt = uVar4;
              if (puVar11 ==
                  (this->kept_section_id_).
                  super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
                  _M_end_of_storage) {
                __src = (this->kept_section_id_).
                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
                        _M_start;
                sVar32 = (long)puVar11 - (long)__src;
                uVar41 = (long)sVar32 >> 2;
                if (uVar41 == 0) {
                  local_1d0 = 4;
LAB_00181065:
                  __dest = (pointer)operator_new(local_1d0);
                  local_1e8 = (pointer)(local_1d0 + (long)__dest);
                }
                else {
                  uVar42 = uVar41 * 2;
                  if (uVar42 < uVar41) {
                    local_1d0 = 0xfffffffffffffffc;
                    goto LAB_00181065;
                  }
                  local_1d0 = 0xfffffffffffffffc;
                  if (0x3fffffffffffffff < uVar42) goto LAB_00181065;
                  if (uVar42 != 0) {
                    local_1d0 = uVar41 << 3;
                    goto LAB_00181065;
                  }
                  local_1e8 = (pointer)0x0;
                  __dest = (pointer)0x0;
                }
                *(uint *)((long)__dest + sVar32) = uVar4;
                puVar3 = (pointer)((long)__dest + sVar32 + 4);
                if (puVar11 == __src) {
                  if (__src != (pointer)0x0) goto LAB_001810bd;
                }
                else {
                  __dest = (pointer)memmove(__dest,__src,sVar32);
LAB_001810bd:
                  operator_delete(__src);
                }
                (this->kept_section_id_).
                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start =
                     __dest;
                (this->kept_section_id_).
                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =
                     puVar3;
                (this->kept_section_id_).
                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
                _M_end_of_storage = local_1e8;
                if (local_1c8 == local_1b0) goto LAB_00181108;
LAB_00180b52:
                *local_1b0 = 0;
                local_1b0 = local_1b0 + 1;
                __dest_00 = local_1d8;
              }
              else {
                *puVar11 = uVar4;
                (this->kept_section_id_).
                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =
                     puVar11 + 1;
                if (local_1c8 != local_1b0) goto LAB_00180b52;
LAB_00181108:
                sVar32 = (long)local_1b0 - (long)local_1d8;
                uVar41 = (long)sVar32 >> 2;
                if (uVar41 == 0) {
                  uVar42 = 4;
LAB_0018114e:
                  __dest_00 = (undefined4 *)operator_new(uVar42);
                  local_1c8 = (undefined4 *)((long)__dest_00 + uVar42);
                }
                else {
                  uVar34 = uVar41 * 2;
                  if (uVar34 < uVar41) {
                    uVar42 = 0xfffffffffffffffc;
                    goto LAB_0018114e;
                  }
                  uVar42 = 0xfffffffffffffffc;
                  if (0x3fffffffffffffff < uVar34) goto LAB_0018114e;
                  if (uVar34 != 0) {
                    uVar42 = uVar41 * 8;
                    goto LAB_0018114e;
                  }
                  local_1c8 = (undefined4 *)0x0;
                  __dest_00 = (undefined4 *)0x0;
                }
                *(undefined4 *)((long)__dest_00 + sVar32) = 0;
                if (local_1b0 == local_1d8) {
                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar32 + 4);
                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;
                }
                else {
                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar32);
                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar32 + 4);
LAB_001811a1:
                  operator_delete(local_1d8);
                }
              }
              local_1d8 = __dest_00;
                    /* try { // try from 00180b6b to 00180bee has its CatchHandler @ 00181f61 */
              iVar24 = (*((*ppRVar55)->super_Object)._vptr_Object[0x17])(*ppRVar55,uVar45);
              section_cksum._M_h._M_buckets = (__bucket_type *)CONCAT44(extraout_var,iVar24);
              if (section_addraligns.
                  super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.
                  _M_finish ==
                  section_addraligns.
                  super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.
                  _M_end_of_storage) {
                std::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>::
                _M_realloc_insert<long_unsigned_int>
                          (&section_addraligns,
                           (iterator)
                           section_addraligns.
                           super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>
                           ._M_impl._M_finish,(ulong *)local_1a8);
              }
              else {
                *section_addraligns.
                 super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.
                 _M_finish = (ulong)section_cksum._M_h._M_buckets;
                section_addraligns.
                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.
                _M_finish = section_addraligns.
                            super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>
                            ._M_impl._M_finish + 1;
              }
              uVar22 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.
                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset;
              p_Var18 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.
                        super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p;
              if (is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.
                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p ==
                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.
                  super__Bvector_impl_data._M_end_of_storage) {
                local_180 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>.
                            _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base.
                            _M_offset;
                __position_00.super__Bit_iterator_base._12_4_ = uStack_17c;
                __position_00.super__Bit_iterator_base._M_offset =
                     is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.
                     super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset;
                local_188 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>.
                            _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p
                ;
                __position_00.super__Bit_iterator_base._M_p =
                     is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.
                     super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p;
                std::vector<bool,_std::allocator<bool>_>::_M_insert_aux
                          (&is_secn_or_group_unique,__position_00,false);
              }
              else {
                if (is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.
                    super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset == 0x3f) {
                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.
                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset = 0;
                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.
                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p =
                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.
                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p + 1;
                }
                else {
                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.
                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset =
                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.
                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset + 1;
                }
                bVar13 = (byte)uVar22 & 0x3f;
                *p_Var18 = *p_Var18 & (-2L << bVar13 | 0xfffffffffffffffeU >> 0x40 - bVar13);
              }
              section_cksum._M_h._M_buckets = &section_cksum._M_h._M_before_begin._M_nxt;
              std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
              _M_construct<char_const*>(local_1a8,"");
                    /* try { // try from 00180c00 to 00180c04 has its CatchHandler @ 00181f59 */
              std::
              vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
              ::
              emplace_back<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>
                        (&section_contents,local_1a8);
              if ((__node_base *)section_cksum._M_h._M_buckets !=
                  &section_cksum._M_h._M_before_begin) {
                operator_delete(section_cksum._M_h._M_buckets);
              }
              uVar4 = uVar4 + 1;
              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
                   *)section_name._M_dataplus._M_p != &section_name.field_2) goto LAB_00180c31;
            }
            else {
              lVar38 = 0xf;
              pbVar30 = (byte *)".gnu.linkonce.t";
              _Var50 = section_name._M_dataplus;
              do {
                if (lVar38 == 0) break;
                lVar38 = lVar38 + -1;
                bVar57 = *pbVar30 < (byte)*_Var50._M_p;
                bVar60 = *pbVar30 == *_Var50._M_p;
                pbVar30 = pbVar30 + (ulong)bVar61 * -2 + 1;
                _Var50._M_p = (pointer)((byte *)_Var50._M_p + (ulong)bVar61 * -2 + 1);
              } while (bVar60);
              if ((!bVar57 && !bVar60) == bVar57) goto LAB_00180a28;
LAB_00180c96:
              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
                   *)section_name._M_dataplus._M_p != &section_name.field_2) {
LAB_00180c31:
                operator_delete(section_name._M_dataplus._M_p);
              }
            }
            pRVar48 = *ppRVar55;
            uVar44 = uVar44 + 1;
            uVar45 = (ulong)uVar44;
            uVar22 = (pRVar48->super_Object).shnum_;
            uVar56 = uVar44 < uVar22;
            uVar59 = uVar44 == uVar22;
          } while ((bool)uVar56);
        }
        pIVar7 = (pRVar6->super_Object).input_file_;
        if (pIVar7 != (Input_file *)0x0) {
          File_read::unlock(&pIVar7->file_,(Task *)0xffffffffffffffff);
        }
      }
      ppRVar55 = ppRVar55 + 1;
    } while ((input_objects->relobj_list_).
             super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish !=
             ppRVar55);
  }
  if (parameters->options_ == (General_options *)0x0) {
                    /* WARNING: Subroutine does not return */
    do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
  }
  uVar4 = 0;
  uVar44 = (parameters->options_->icf_iterations_).value;
  uVar22 = 2;
  if (0 < (int)uVar44) {
    uVar22 = uVar44;
  }
  paVar33 = &this_secn_contents.field_2;
  do {
    uVar4 = uVar4 + 1;
    section_cksum._M_h._M_bucket_count = 1;
    section_cksum._M_h._M_buckets = &section_cksum._M_h._M_single_bucket;
    section_cksum._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;
    section_cksum._M_h._M_element_count = 0;
    section_cksum._M_h._M_rehash_policy._M_max_load_factor = 1.0;
    section_cksum._M_h._M_rehash_policy._M_next_resize = 0;
    section_cksum._M_h._M_single_bucket = (__bucket_type)0x0;
    if (uVar4 == 1) {
      pvVar51 = &is_secn_or_group_unique;
                    /* try { // try from 00181c11 to 00181c15 has its CatchHandler @ 00181f8d */
      preprocess_for_unique_sections
                (&this->id_section_,&is_secn_or_group_unique,
                 (vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
                  *)0x0);
      iVar24 = (int)pvVar51;
    }
    else {
      pvVar51 = &is_secn_or_group_unique;
                    /* try { // try from 00181355 to 00181359 has its CatchHandler @ 00181f8d */
      preprocess_for_unique_sections(&this->id_section_,&is_secn_or_group_unique,&section_contents);
      iVar24 = (int)pvVar51;
    }
    full_section_contents.
    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
    ._M_impl._M_start = (pointer)0x0;
    full_section_contents.
    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
    ._M_impl._M_finish = (pointer)0x0;
    full_section_contents.
    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
    ._M_impl._M_end_of_storage = (pointer)0x0;
    if ((this->id_section_).
        super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>
        ._M_impl._M_finish ==
        (this->id_section_).
        super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>
        ._M_impl._M_start) {
      std::
      _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_false>_>
      ::~_Hashtable(&section_cksum._M_h,iVar24);
      bVar57 = true;
      break;
    }
    uVar45 = 0;
    bVar57 = true;
    uVar44 = 0;
    do {
      section_name._M_dataplus._M_p = (pointer)&section_name.field_2;
                    /* try { // try from 00181402 to 00181406 has its CatchHandler @ 00181f77 */
      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
      _M_construct<char_const*>(&section_name,"");
      _Var50._M_p = (pointer)&section_name;
                    /* try { // try from 00181411 to 00181415 has its CatchHandler @ 00181f51 */
      std::
      vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
      ::
      emplace_back<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>
                (&full_section_contents,&section_name);
      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
           *)section_name._M_dataplus._M_p != &section_name.field_2) {
        operator_delete(section_name._M_dataplus._M_p);
      }
      local_1a0._0_1_ = (byte)uVar44;
      uVar41 = 1L << ((byte)local_1a0 & 0x3f);
      ppVar40 = (this->id_section_).
                super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>
                ._M_impl._M_start;
      if ((uVar41 & is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.
                    super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar45 >> 6]) ==
          0) {
        ppVar2 = ppVar40 + uVar45;
        secn.first = ppVar2->first;
        secn.second = ppVar2->second;
        secn._12_4_ = *(undefined4 *)&ppVar2->field_0xc;
        this_secn_contents._M_string_length = 0;
        this_secn_contents.field_2._M_allocated_capacity =
             this_secn_contents.field_2._M_allocated_capacity & 0xffffffffffffff00;
        this_secn_contents._M_dataplus._M_p = (pointer)paVar33;
        if (uVar4 == 1) {
          _num_relocs = _num_relocs & 0xffffffff00000000;
          get_section_contents
                    (&section_name,true,&secn,uVar44,&num_relocs,symtab,&this->kept_section_id_,
                     &section_contents);
          uVar17 = this_secn_contents.field_2._M_allocated_capacity;
          _Var50._M_p = this_secn_contents._M_dataplus._M_p;
          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
               *)section_name._M_dataplus._M_p == &section_name.field_2) {
            sVar43 = section_name._M_string_length;
            if (section_name._M_string_length != 0) {
              if (section_name._M_string_length == 1) {
                *this_secn_contents._M_dataplus._M_p = section_name.field_2._M_local_buf[0];
                sVar43 = section_name._M_string_length;
              }
              else {
                memcpy(this_secn_contents._M_dataplus._M_p,section_name._M_dataplus._M_p,
                       section_name._M_string_length);
                sVar43 = section_name._M_string_length;
              }
            }
            this_secn_contents._M_dataplus._M_p[sVar43] = '\0';
            this_secn_contents._M_string_length = sVar43;
          }
          else {
            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
                 *)this_secn_contents._M_dataplus._M_p != paVar33) {
              this_secn_contents._M_dataplus = section_name._M_dataplus;
              this_secn_contents._M_string_length = section_name._M_string_length;
              this_secn_contents.field_2._M_allocated_capacity =
                   section_name.field_2._M_allocated_capacity;
              if (_Var50._M_p != (pointer)0x0) {
                section_name._M_dataplus = _Var50;
                section_name.field_2._M_allocated_capacity = uVar17;
                goto LAB_00181993;
              }
            }
            this_secn_contents.field_2._M_allocated_capacity =
                 section_name.field_2._M_allocated_capacity;
            this_secn_contents._M_string_length = section_name._M_string_length;
            this_secn_contents._M_dataplus = section_name._M_dataplus;
            section_name._M_dataplus._M_p = (pointer)&section_name.field_2;
          }
LAB_00181993:
          section_name._M_string_length = 0;
          *section_name._M_dataplus._M_p = '\0';
          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
               *)section_name._M_dataplus._M_p != &section_name.field_2) {
            operator_delete(section_name._M_dataplus._M_p);
          }
          local_1d8[uVar45] = num_relocs;
        }
        else {
          if (uVar44 != (this->kept_section_id_).
                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
                        _M_start[uVar45]) goto LAB_001813c8;
                    /* try { // try from 001814fb to 00181926 has its CatchHandler @ 00181f49 */
          get_section_contents
                    ((string *)&num_relocs,false,&secn,uVar44,(uint *)0x0,symtab,
                     &this->kept_section_id_,&section_contents);
          uVar17 = this_secn_contents.field_2._M_allocated_capacity;
          _Var50._M_p = this_secn_contents._M_dataplus._M_p;
          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
               *)_num_relocs == &local_d8) {
            sVar32 = local_e0;
            if (local_e0 != 0) {
              if (local_e0 == 1) {
                *this_secn_contents._M_dataplus._M_p = local_d8._M_local_buf[0];
                sVar32 = local_e0;
              }
              else {
                memcpy(this_secn_contents._M_dataplus._M_p,_num_relocs,local_e0);
                sVar32 = local_e0;
              }
            }
            this_secn_contents._M_dataplus._M_p[sVar32] = '\0';
            this_secn_contents._M_string_length = sVar32;
          }
          else {
            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
                 *)this_secn_contents._M_dataplus._M_p != paVar33) {
              this_secn_contents._M_dataplus._M_p = _num_relocs;
              this_secn_contents._M_string_length = local_e0;
              this_secn_contents.field_2._M_allocated_capacity = local_d8._M_allocated_capacity;
              if (_Var50._M_p != (pointer)0x0) {
                _num_relocs = _Var50._M_p;
                local_d8._M_allocated_capacity = uVar17;
                goto LAB_0018156c;
              }
            }
            this_secn_contents.field_2._M_allocated_capacity = local_d8._M_allocated_capacity;
            this_secn_contents._M_string_length = local_e0;
            this_secn_contents._M_dataplus._M_p = _num_relocs;
            _num_relocs = (pointer)&local_d8;
          }
LAB_0018156c:
          local_e0 = 0;
          *_num_relocs = '\0';
          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
               *)_num_relocs != &local_d8) {
            operator_delete(_num_relocs);
          }
        }
        uVar23 = xcrc32((uchar *)this_secn_contents._M_dataplus._M_p,
                        (int)this_secn_contents._M_string_length,0xffffffff);
        uVar42 = (ulong)uVar23 % section_cksum._M_h._M_bucket_count;
        cksum = uVar23;
        if ((section_cksum._M_h._M_buckets[uVar42] == (__bucket_type)0x0) ||
           (p_Var26 = section_cksum._M_h._M_buckets[uVar42]->_M_nxt,
           p_Var26 == (_Hash_node_base *)0x0)) {
LAB_00181638:
          p_Var35 = (__node_type *)operator_new(0x10);
          *(uint *)&(p_Var35->
                    super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).
                    _M_storage._M_storage = uVar23;
          (p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).
          super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;
          *(uint *)((long)&(p_Var35->
                           super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>
                           )._M_storage._M_storage + 4) = uVar44;
          std::
          _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_false>_>
          ::_M_insert_multi_node(&section_cksum._M_h,(__node_type *)0x0,(ulong)uVar23,p_Var35);
        }
        else {
          uVar34 = (ulong)*(uint *)&p_Var26[1]._M_nxt;
          lVar38 = 0;
          do {
            if (uVar23 == (uint)uVar34) {
              p_Var26 = p_Var26->_M_nxt;
              lVar38 = lVar38 + 1;
              lVar46 = lVar38;
            }
            else {
              if (lVar38 != 0) goto LAB_00181742;
              p_Var26 = p_Var26->_M_nxt;
              lVar46 = 0;
            }
          } while ((p_Var26 != (_Hash_node_base *)0x0) &&
                  (uVar34 = (ulong)*(uint *)&p_Var26[1]._M_nxt, lVar46 = lVar38,
                  uVar42 == uVar34 % section_cksum._M_h._M_bucket_count));
          if (lVar46 == 0) goto LAB_00181638;
LAB_00181742:
          pVar62 = std::
                   _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_false>_>
                   ::equal_range(&section_cksum._M_h,&cksum);
          sVar43 = this_secn_contents._M_string_length;
          __s2 = this_secn_contents._M_dataplus;
          pbVar15 = full_section_contents.
                    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
                    ._M_impl._M_start;
          if ((__node_type *)pVar62.first !=
              pVar62.second.
              super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>) {
            do {
              local_1f0 = pVar62.second;
              _Var54 = pVar62.first;
              uVar23 = *(uint *)((long)_Var54.
                                       super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>
                                       ._M_cur + 0xc);
              pbVar47 = pbVar15 + uVar23;
              if ((pbVar47->_M_string_length == sVar43) &&
                 (_Var50 = __s2, iVar24 = memcmp((pbVar47->_M_dataplus)._M_p,__s2._M_p,sVar43),
                 iVar24 == 0)) {
                puVar11 = (this->kept_section_id_).
                          super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
                          _M_start;
                if (section_addraligns.
                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.
                    _M_impl._M_start[uVar23] <
                    section_addraligns.
                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.
                    _M_impl._M_start[uVar45]) {
                  puVar11[uVar23] = uVar44;
                  _Var50._M_p = (pointer)(pbVar15 + uVar45);
                  *(uint *)((long)_Var54.
                                  super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>
                                  ._M_cur + 0xc) = uVar44;
                  std::string::swap((string *)pbVar47,(string *)_Var50._M_p);
                  bVar57 = false;
                }
                else {
                  puVar11[uVar45] = uVar23;
                  bVar57 = false;
                }
                goto joined_r0x00181835;
              }
              pVar62.second.
              super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>._M_cur =
                   local_1f0.
                   super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>.
                   _M_cur;
              pVar62.first.
              super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>._M_cur =
                   (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>)
                   (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>)
                   *(__node_type **)
                    _Var54.
                    super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>.
                    _M_cur;
            } while (local_1f0.
                     super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>.
                     _M_cur != (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>
                                )*(__node_type **)
                                  _Var54.
                                  super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>
                                  ._M_cur);
          }
          uVar16 = cksum;
          p_Var35 = (__node_type *)operator_new(0x10);
          (p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).
          _M_storage._M_storage.__align = (anon_struct_4_0_00000001_for___align)uVar16;
          (p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).
          super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;
          *(uint *)((long)&(p_Var35->
                           super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>
                           )._M_storage._M_storage + 4) = uVar44;
          std::
          _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_false>_>
          ::_M_insert_multi_node(&section_cksum._M_h,(__node_type *)0x0,(ulong)uVar16,p_Var35);
        }
        _Var50._M_p = (pointer)&this_secn_contents;
        std::string::_M_assign
                  ((string *)
                   (full_section_contents.
                    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
                    ._M_impl._M_start + uVar45),(string *)&this_secn_contents);
joined_r0x00181835:
        if ((uVar4 == 1) && (local_1d8[uVar45] == 0)) {
          is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.
          super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar45 >> 6] =
               is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.
               super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar45 >> 6] | uVar41
          ;
        }
        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
             *)this_secn_contents._M_dataplus._M_p != paVar33) {
          operator_delete(this_secn_contents._M_dataplus._M_p);
        }
        ppVar40 = (this->id_section_).
                  super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>
                  ._M_impl._M_start;
      }
LAB_001813c8:
      pbVar15 = full_section_contents.
                super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
                ._M_impl._M_finish;
      uVar44 = uVar44 + 1;
      uVar45 = (ulong)uVar44;
      uVar41 = (long)(this->id_section_).
                     super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>
                     ._M_impl._M_finish - (long)ppVar40 >> 4;
    } while (uVar45 < uVar41);
    if (uVar41 != 0) {
      _Var50._M_p = (pointer)(this->kept_section_id_).
                             super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl
                             ._M_start;
      uVar42 = 0;
      uVar45 = uVar42;
      do {
        do {
          uVar23 = (uint)uVar42;
          uVar44 = *(uint *)((long)&(((string *)_Var50._M_p)->_M_dataplus)._M_p + uVar42 * 4);
          uVar42 = (ulong)uVar44;
        } while (uVar23 != uVar44);
        puVar14 = (uint *)((long)&(((string *)_Var50._M_p)->_M_dataplus)._M_p + uVar45 * 4);
        uVar23 = *puVar14;
        while (uVar23 != uVar44) {
          *puVar14 = uVar44;
          puVar14 = (uint *)((long)&(((string *)_Var50._M_p)->_M_dataplus)._M_p + (ulong)uVar23 * 4)
          ;
          uVar23 = *puVar14;
        }
        uVar42 = (ulong)((int)uVar45 + 1);
        uVar45 = uVar42;
      } while (uVar42 < uVar41);
    }
    iVar24 = (int)_Var50._M_p;
    for (pbVar47 = full_section_contents.
                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
                   ._M_impl._M_start; pbVar47 != pbVar15; pbVar47 = pbVar47 + 1) {
      pcVar12 = (pbVar47->_M_dataplus)._M_p;
      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
           *)pcVar12 != &pbVar47->field_2) {
        operator_delete(pcVar12);
      }
      iVar24 = (int)_Var50._M_p;
    }
    if (full_section_contents.
        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
        ._M_impl._M_start != (pointer)0x0) {
      operator_delete(full_section_contents.
                      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
                      ._M_impl._M_start);
    }
    std::
    _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_false>_>
    ::~_Hashtable(&section_cksum._M_h,iVar24);
  } while (uVar4 < uVar22 && !bVar57);
  pcVar37 = program_name;
  pGVar25 = parameters->options_;
  if (pGVar25 == (General_options *)0x0) {
                    /* WARNING: Subroutine does not return */
    do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
  }
  if ((pGVar25->print_icf_sections_).value != false) {
    pcVar53 = "%s: ICF Converged after %u iteration(s)";
    if (!bVar57) {
      pcVar53 = "%s: ICF stopped after %u iteration(s)";
    }
    pcVar53 = (char *)gettext(pcVar53);
                    /* try { // try from 00181db6 to 00181de6 has its CatchHandler @ 00181f33 */
    gold_info(pcVar53,pcVar37,uVar4);
    pGVar25 = parameters->options_;
    if (pGVar25 == (General_options *)0x0) {
                    /* WARNING: Subroutine does not return */
      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
    }
  }
  p_Var26 = (pGVar25->keep_unique_).value._M_h._M_before_begin._M_nxt;
  pbVar15 = section_contents.
            super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
            ._M_impl._M_finish;
  do {
    section_contents.
    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
    ._M_impl._M_finish = pbVar15;
    if (p_Var26 == (_Hash_node_base *)0x0) {
      this->icf_ready_ = true;
      for (pbVar47 = section_contents.
                     super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
                     ._M_impl._M_start; pbVar15 != pbVar47; pbVar47 = pbVar47 + 1) {
        pcVar12 = (pbVar47->_M_dataplus)._M_p;
        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
             *)pcVar12 != &pbVar47->field_2) {
          operator_delete(pcVar12);
        }
      }
      if (section_contents.
          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
          ._M_impl._M_start != (pointer)0x0) {
        operator_delete(section_contents.
                        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
                        ._M_impl._M_start);
      }
      if (is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.
          super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p != (_Bit_type *)0x0) {
        operator_delete(is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.
                        super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p);
      }
      if (section_addraligns.
          super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl._M_start
          != (pointer)0x0) {
        operator_delete(section_addraligns.
                        super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.
                        _M_impl._M_start);
      }
      if (local_1d8 != (undefined4 *)0x0) {
        operator_delete(local_1d8);
      }
      return;
    }
    p_Var28 = p_Var26[1]._M_nxt;
                    /* try { // try from 00181b61 to 00181b7f has its CatchHandler @ 00181f33 */
    pSVar36 = Symbol_table::lookup(symtab,(char *)p_Var28,(char *)0x0);
    if (pSVar36 == (Symbol *)0x0) {
      pcVar37 = (char *)gettext("Could not find symbol %s to unfold\n");
      gold_warning(pcVar37,p_Var28);
    }
    else if ((((pSVar36->field_0x3a & 7) == 0) &&
             ((((Object *)((pSVar36->u1_).output_segment)->output_lists_)->field_0x3c & 1) == 0)) &&
            ((pSVar36->field_0x3b & 0x20) != 0)) {
      unfold_section(this,(Relobj *)(pSVar36->u1_).output_segment,(pSVar36->u2_).shndx);
    }
    p_Var26 = p_Var26->_M_nxt;
    pbVar15 = section_contents.
              super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
              ._M_impl._M_finish;
  } while (parameters->options_ != (General_options *)0x0);
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00181eab to 00181edf has its CatchHandler @ 00181f33 */
  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
}



void FUN_001808e0(long *param_1,long *param_2,long param_3)

{
  long *plVar1;
  uint *puVar2;
  uint uVar3;
  long *plVar4;
  int *piVar5;
  long *plVar6;
  int *__src;
  undefined8 uVar7;
  byte bVar8;
  char cVar9;
  int iVar10;
  uint uVar11;
  uint uVar12;
  int iVar13;
  long *plVar14;
  long *plVar15;
  byte *pbVar16;
  void *__dest;
  size_t sVar17;
  undefined4 *__dest_00;
  undefined8 *puVar18;
  ulong *puVar19;
  undefined8 uVar20;
  long lVar21;
  long *plVar22;
  ulong extraout_RDX;
  ulong uVar23;
  ulong uVar24;
  ulong uVar25;
  uint uVar26;
  int iVar27;
  ulong uVar28;
  long lVar29;
  long *plVar30;
  byte *pbVar31;
  ulong *puVar32;
  byte *pbVar33;
  char *pcVar34;
  undefined1 uVar35;
  bool bVar36;
  bool bVar37;
  undefined1 uVar38;
  bool bVar39;
  byte bVar40;
  undefined1 auVar41 [16];
  long local_1e8;
  undefined4 *local_1d8;
  long local_1d0;
  undefined4 *local_1c8;
  undefined4 *local_1b0;
  undefined8 **local_1a8;
  ulong local_1a0;
  uint local_18c;
  ulong *local_188;
  int local_180;
  undefined4 uStack_17c;
  undefined8 local_178;
  undefined8 uStack_170;
  long local_168;
  undefined8 *local_160;
  undefined8 *local_158;
  long *local_148;
  long *local_140;
  undefined8 local_138;
  long *local_128;
  long *local_120;
  undefined8 local_118;
  ulong *local_108;
  ulong local_100;
  ulong local_f8 [2];
  ulong *local_e8;
  size_t local_e0;
  ulong local_d8 [2];
  ulong *local_c8;
  size_t local_c0;
  ulong local_b8 [2];
  long local_a8;
  undefined4 local_a0;
  ulong *local_98;
  int local_90;
  ulong *local_88;
  undefined8 *local_78;
  ulong uStack_70;
  undefined8 local_68;
  undefined8 local_60;
  undefined4 local_58;
  undefined8 local_50;
  undefined8 local_48 [3];
  
  bVar40 = 0;
  plVar4 = *(long **)(PTR_DAT_0043e6b0 + 0x18);
  local_168 = 0;
  local_160 = (undefined8 *)0x0;
  local_158 = (undefined8 *)0x0;
  local_a8 = 0;
  local_a0 = 0;
  local_98 = (ulong *)0x0;
  local_90 = 0;
  local_88 = (ulong *)0x0;
  local_148 = (long *)0x0;
  local_140 = (long *)0x0;
  local_138 = 0;
  if (plVar4 == (long *)0x0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00181f0b to 00181f0f has its CatchHandler @ 00181f15 */
    FUN_0017c650("../../gold/parameters.h",0x69,"target");
  }
  puVar19 = (ulong *)*param_2;
  if (puVar19 == (ulong *)param_2[1]) {
    local_1d8 = (undefined4 *)0x0;
  }
  else {
    local_1c8 = (undefined4 *)0x0;
    local_1b0 = (undefined4 *)0x0;
    local_1d8 = (undefined4 *)0x0;
    iVar13 = 0;
    do {
      plVar30 = (long *)*puVar19;
      if (plVar30[5] == 0) {
        plVar14 = plVar30;
        if ((int)plVar30[7] != 0) goto LAB_00180a17;
      }
      else {
                    /* try { // try from 00180a02 to 00180a06 has its CatchHandler @ 00181f33 */
        FUN_00179ad0(plVar30[5] + 0x28,0xffffffffffffffff);
        plVar14 = (long *)*puVar19;
        if ((int)((long *)*puVar19)[7] != 0) {
LAB_00180a17:
          uVar35 = false;
          uVar28 = 0;
          uVar38 = true;
          do {
            iVar27 = (int)uVar28;
                    /* try { // try from 00180c4d to 00180c52 has its CatchHandler @ 00181f1d */
            (**(code **)(*plVar14 + 0x80))(&local_c8,plVar14,uVar28);
            lVar21 = 5;
            pbVar16 = (byte *)".text";
            puVar32 = local_c8;
            do {
              if (lVar21 == 0) break;
              lVar21 = lVar21 + -1;
              uVar35 = *pbVar16 < (byte)*puVar32;
              uVar38 = *pbVar16 == (byte)*puVar32;
              pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;
              puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);
            } while ((bool)uVar38);
            bVar36 = false;
            bVar39 = (!(bool)uVar35 && !(bool)uVar38) == (bool)uVar35;
            if (bVar39) {
LAB_00180a28:
              puVar18 = (undefined8 *)*puVar19;
              if ((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00181e47 to 00181e63 has its CatchHandler @ 00181f61 */
                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");
              }
              if (*(long *)(puVar18[10] + uVar28 * 8) == 0) goto LAB_00180c96;
              lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);
              if (lVar21 == 0) {
                    /* WARNING: Subroutine does not return */
                FUN_0017c650("../../gold/parameters.h",0x5c,"options");
              }
              if (*(char *)(lVar21 + 0x2809) != '\0') {
                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);
                local_78 = puVar18;
                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);
                if (lVar21 == 0) goto LAB_00180c96;
                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);
                if (lVar21 == 0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00180e61 to 001811fa has its CatchHandler @ 00181f61 */
                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");
                }
              }
              if (*(int *)(lVar21 + 0x9050) == 2) {
                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);
                bVar36 = false;
                bVar39 = pbVar16 == (byte *)0x0;
                if (bVar39) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00181ef3 to 00181ef7 has its CatchHandler @ 00181f61 */
                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");
                }
                lVar21 = 4;
                pbVar31 = &DAT_00373305;
                pbVar33 = pbVar16;
                do {
                  if (lVar21 == 0) break;
                  lVar21 = lVar21 + -1;
                  bVar36 = *pbVar31 < *pbVar33;
                  bVar39 = *pbVar31 == *pbVar33;
                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;
                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;
                } while (bVar39);
                bVar37 = false;
                bVar36 = (!bVar36 && !bVar39) == bVar36;
                if (bVar36) {
LAB_00180f58:
                  iVar10 = FUN_002d2ef0(pbVar16 + 1);
                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))
                  goto LAB_00180a97;
                }
                else {
                  lVar21 = 4;
                  pbVar31 = &DAT_0037330a;
                  pbVar33 = pbVar16;
                  do {
                    if (lVar21 == 0) break;
                    lVar21 = lVar21 + -1;
                    bVar37 = *pbVar31 < *pbVar33;
                    bVar36 = *pbVar31 == *pbVar33;
                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;
                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;
                  } while (bVar36);
                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;
                }
                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&
                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {
                  local_78 = (undefined8 *)*puVar19;
                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);
                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);
                  if (lVar21 == 0) goto LAB_00180a97;
                }
                goto LAB_00180c96;
              }
LAB_00180a97:
              local_1a8 = &local_78;
              local_78 = (undefined8 *)*puVar19;
              puVar32 = (ulong *)param_1[1];
              if (puVar32 == (ulong *)param_1[2]) {
                uStack_70._0_4_ = iVar27;
                FUN_001825a0(param_1,puVar32,local_1a8);
              }
              else {
                *puVar32 = (ulong)local_78;
                *(int *)(puVar32 + 1) = iVar27;
                param_1[1] = (long)(puVar32 + 2);
              }
              local_78 = (undefined8 *)*puVar19;
              uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);
              uVar24 = (ulong)local_78 ^ uVar28;
              local_1a0 = uVar24 % (ulong)param_1[4];
              puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24);
              if ((puVar18 == (undefined8 *)0x0) ||
                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)) {
                    /* try { // try from 00180cad to 00180cec has its CatchHandler @ 00181f61 */
                plVar14 = (long *)FUN_002d94a0(0x28);
                lVar21 = param_1[6];
                *plVar14 = 0;
                lVar29 = param_1[4];
                *(undefined4 *)(plVar14 + 3) = 0;
                plVar14[1] = (long)local_78;
                plVar14[2] = uStack_70;
                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);
                if (cVar9 == '\0') {
                  plVar15 = (long *)param_1[3];
                }
                else {
                  if (extraout_RDX == 1) {
                    plVar15 = param_1 + 9;
                    param_1[9] = 0;
                  }
                  else {
                    /* try { // try from 00180d0d to 00180d11 has its CatchHandler @ 00181f10 */
                    plVar15 = (long *)FUN_0017f5b0();
                  }
                  plVar22 = (long *)param_1[5];
                  param_1[5] = 0;
                  if (plVar22 != (long *)0x0) {
                    uVar25 = 0;
                    do {
                      while( true ) {
                        plVar6 = (long *)*plVar22;
                        uVar23 = (ulong)plVar22[4] % extraout_RDX;
                        plVar1 = plVar15 + uVar23;
                        if ((long *)*plVar1 == (long *)0x0) break;
                        *plVar22 = *(long *)*plVar1;
                        *(long **)*plVar1 = plVar22;
                        uVar23 = uVar25;
LAB_00180d64:
                        plVar22 = plVar6;
                        uVar25 = uVar23;
                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;
                      }
                      *plVar22 = param_1[5];
                      param_1[5] = (long)plVar22;
                      *plVar1 = (long)(param_1 + 5);
                      if (*plVar22 == 0) goto LAB_00180d64;
                      plVar15[uVar25] = (long)plVar22;
                      plVar22 = plVar6;
                      uVar25 = uVar23;
                    } while (plVar6 != (long *)0x0);
                  }
LAB_00180dc0:
                  if ((long *)param_1[3] != param_1 + 9) {
                    FUN_002dac70();
                  }
                  param_1[3] = (long)plVar15;
                  local_1a0 = uVar24 % extraout_RDX;
                  param_1[4] = extraout_RDX;
                }
                plVar14[4] = uVar24;
                plVar22 = plVar15 + local_1a0;
                if ((long *)*plVar22 == (long *)0x0) {
                  lVar21 = param_1[5];
                  param_1[5] = (long)plVar14;
                  *plVar14 = lVar21;
                  if (lVar21 != 0) {
                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;
                  }
                  *plVar22 = (long)(param_1 + 5);
                }
                else {
                  *plVar14 = *(long *)*plVar22;
                  *(long **)*plVar22 = plVar14;
                }
                param_1[6] = param_1[6] + 1;
              }
              piVar5 = (int *)param_1[0xb];
              *(int *)(plVar14 + 3) = iVar13;
              if (piVar5 == (int *)param_1[0xc]) {
                __src = (int *)param_1[10];
                sVar17 = (long)piVar5 - (long)__src;
                uVar24 = (long)sVar17 >> 2;
                if (uVar24 == 0) {
                  local_1d0 = 4;
LAB_00181065:
                  __dest = (void *)FUN_002d94a0(local_1d0);
                  local_1e8 = local_1d0 + (long)__dest;
                }
                else {
                  uVar25 = uVar24 * 2;
                  if (uVar25 < uVar24) {
                    local_1d0 = -4;
                    goto LAB_00181065;
                  }
                  local_1d0 = -4;
                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;
                  if (uVar25 != 0) {
                    local_1d0 = uVar24 << 3;
                    goto LAB_00181065;
                  }
                  local_1e8 = 0;
                  __dest = (void *)0x0;
                }
                *(int *)((long)__dest + sVar17) = iVar13;
                lVar21 = (long)__dest + sVar17 + 4;
                if (piVar5 == __src) {
                  if (__src != (int *)0x0) goto LAB_001810bd;
                }
                else {
                  __dest = memmove(__dest,__src,sVar17);
LAB_001810bd:
                  FUN_002dac70(__src);
                }
                param_1[10] = (long)__dest;
                param_1[0xb] = lVar21;
                param_1[0xc] = local_1e8;
                if (local_1c8 == local_1b0) goto LAB_00181108;
LAB_00180b52:
                *local_1b0 = 0;
                local_1b0 = local_1b0 + 1;
                __dest_00 = local_1d8;
              }
              else {
                *piVar5 = iVar13;
                param_1[0xb] = (long)(piVar5 + 1);
                if (local_1c8 != local_1b0) goto LAB_00180b52;
LAB_00181108:
                sVar17 = (long)local_1b0 - (long)local_1d8;
                uVar24 = (long)sVar17 >> 2;
                if (uVar24 == 0) {
                  lVar21 = 4;
LAB_0018114e:
                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);
                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);
                }
                else {
                  uVar25 = uVar24 * 2;
                  if (uVar25 < uVar24) {
                    lVar21 = -4;
                    goto LAB_0018114e;
                  }
                  lVar21 = -4;
                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;
                  if (uVar25 != 0) {
                    lVar21 = uVar24 * 8;
                    goto LAB_0018114e;
                  }
                  local_1c8 = (undefined4 *)0x0;
                  __dest_00 = (undefined4 *)0x0;
                }
                *(undefined4 *)((long)__dest_00 + sVar17) = 0;
                if (local_1b0 == local_1d8) {
                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);
                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;
                }
                else {
                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);
                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);
LAB_001811a1:
                  FUN_002dac70(local_1d8);
                }
              }
              local_1d8 = __dest_00;
                    /* try { // try from 00180b6b to 00180bee has its CatchHandler @ 00181f61 */
              local_78 = (undefined8 *)
                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28);
              if (local_160 == local_158) {
                FUN_00182710(&local_168,local_160,local_1a8);
              }
              else {
                *local_160 = local_78;
                local_160 = local_160 + 1;
              }
              iVar10 = local_90;
              puVar32 = local_98;
              if (local_98 == local_88) {
                local_180 = local_90;
                local_188 = local_98;
                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);
              }
              else {
                if (local_90 == 0x3f) {
                  local_90 = 0;
                  local_98 = local_98 + 1;
                }
                else {
                  local_90 = local_90 + 1;
                }
                bVar8 = (byte)iVar10 & 0x3f;
                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);
              }
              local_78 = &local_68;
              FUN_001665c0(local_1a8,"");
                    /* try { // try from 00180c00 to 00180c04 has its CatchHandler @ 00181f59 */
              FUN_0016f840(&local_148,local_1a8);
              if (local_78 != &local_68) {
                FUN_002dac70();
              }
              iVar13 = iVar13 + 1;
              if (local_c8 != local_b8) goto LAB_00180c31;
            }
            else {
              lVar21 = 0xf;
              pbVar16 = (byte *)".gnu.linkonce.t";
              puVar32 = local_c8;
              do {
                if (lVar21 == 0) break;
                lVar21 = lVar21 + -1;
                bVar36 = *pbVar16 < (byte)*puVar32;
                bVar39 = *pbVar16 == (byte)*puVar32;
                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;
                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);
              } while (bVar39);
              if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;
LAB_00180c96:
              if (local_c8 != local_b8) {
LAB_00180c31:
                FUN_002dac70(local_c8);
              }
            }
            plVar14 = (long *)*puVar19;
            uVar26 = iVar27 + 1;
            uVar28 = (ulong)uVar26;
            uVar35 = uVar26 < *(uint *)(plVar14 + 7);
            uVar38 = uVar26 == *(uint *)(plVar14 + 7);
          } while ((bool)uVar35);
        }
        if (plVar30[5] != 0) {
          FUN_0017a690(plVar30[5] + 0x28,0xffffffffffffffff);
        }
      }
      puVar19 = puVar19 + 1;
    } while ((ulong *)param_2[1] != puVar19);
  }
  if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {
                    /* WARNING: Subroutine does not return */
    FUN_0017c650("../../gold/parameters.h",0x5c,"options");
  }
  uVar26 = 0;
  uVar3 = *(uint *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2dac);
  uVar11 = 2;
  if (0 < (int)uVar3) {
    uVar11 = uVar3;
  }
  do {
    uVar26 = uVar26 + 1;
    uStack_70 = 1;
    local_78 = local_48;
    local_68 = 0;
    local_60 = 0;
    local_58 = 0x3f800000;
    local_50 = 0;
    local_48[0] = 0;
    if (uVar26 == 1) {
                    /* try { // try from 00181c11 to 00181c15 has its CatchHandler @ 00181f8d */
      FUN_00180660(param_1,&local_a8,0);
    }
    else {
                    /* try { // try from 00181355 to 00181359 has its CatchHandler @ 00181f8d */
      FUN_00180660(param_1,&local_a8,&local_148);
    }
    local_128 = (long *)0x0;
    local_120 = (long *)0x0;
    local_118 = 0;
    if (param_1[1] == *param_1) {
      FUN_00182070(&local_78);
      bVar36 = true;
      break;
    }
    uVar28 = 0;
    bVar36 = true;
    uVar3 = 0;
    do {
      local_c8 = local_b8;
                    /* try { // try from 00181402 to 00181406 has its CatchHandler @ 00181f77 */
      FUN_001665c0(&local_c8,"");
                    /* try { // try from 00181411 to 00181415 has its CatchHandler @ 00181f51 */
      FUN_0016f840(&local_128,&local_c8);
      if (local_c8 != local_b8) {
        FUN_002dac70();
      }
      local_1a0._0_1_ = (byte)uVar3;
      uVar24 = 1L << ((byte)local_1a0 & 0x3f);
      lVar21 = *param_1;
      if ((uVar24 & *(ulong *)(local_a8 + (uVar28 >> 6) * 8)) == 0) {
        puVar18 = (undefined8 *)(lVar21 + uVar28 * 0x10);
        local_178 = *puVar18;
        uStack_170 = puVar18[1];
        local_100 = 0;
        local_f8[0] = local_f8[0] & 0xffffffffffffff00;
        local_108 = local_f8;
        if (uVar26 == 1) {
          local_e8 = (ulong *)((ulong)local_e8 & 0xffffffff00000000);
          FUN_0017f6d0(&local_c8,1,&local_178,uVar3,&local_e8,param_3,param_1 + 10,&local_148);
          uVar25 = local_f8[0];
          puVar19 = local_108;
          if (local_c8 == local_b8) {
            sVar17 = local_c0;
            if (local_c0 != 0) {
              if (local_c0 == 1) {
                *(byte *)local_108 = (byte)local_b8[0];
                sVar17 = local_c0;
              }
              else {
                memcpy(local_108,local_c8,local_c0);
                sVar17 = local_c0;
              }
            }
            *(byte *)((long)local_108 + sVar17) = 0;
            local_100 = sVar17;
          }
          else {
            if (local_108 != local_f8) {
              local_108 = local_c8;
              local_100 = local_c0;
              local_f8[0] = local_b8[0];
              if (puVar19 != (ulong *)0x0) {
                local_c8 = puVar19;
                local_b8[0] = uVar25;
                goto LAB_00181993;
              }
            }
            local_f8[0] = local_b8[0];
            local_100 = local_c0;
            local_108 = local_c8;
            local_c8 = local_b8;
          }
LAB_00181993:
          local_c0 = 0;
          *(byte *)local_c8 = 0;
          if (local_c8 != local_b8) {
            FUN_002dac70();
          }
          local_1d8[uVar28] = local_e8._0_4_;
        }
        else {
          if (uVar3 != *(uint *)(param_1[10] + uVar28 * 4)) goto LAB_001813c8;
                    /* try { // try from 001814fb to 00181926 has its CatchHandler @ 00181f49 */
          FUN_0017f6d0(&local_e8,0,&local_178,uVar3,0,param_3,param_1 + 10,&local_148);
          uVar25 = local_f8[0];
          puVar19 = local_108;
          if (local_e8 == local_d8) {
            sVar17 = local_e0;
            if (local_e0 != 0) {
              if (local_e0 == 1) {
                *(byte *)local_108 = (byte)local_d8[0];
                sVar17 = local_e0;
              }
              else {
                memcpy(local_108,local_e8,local_e0);
                sVar17 = local_e0;
              }
            }
            *(byte *)((long)local_108 + sVar17) = 0;
            local_100 = sVar17;
          }
          else {
            if (local_108 != local_f8) {
              local_108 = local_e8;
              local_100 = local_e0;
              local_f8[0] = local_d8[0];
              if (puVar19 != (ulong *)0x0) {
                local_e8 = puVar19;
                local_d8[0] = uVar25;
                goto LAB_0018156c;
              }
            }
            local_f8[0] = local_d8[0];
            local_100 = local_e0;
            local_108 = local_e8;
            local_e8 = local_d8;
          }
LAB_0018156c:
          local_e0 = 0;
          *(byte *)local_e8 = 0;
          if (local_e8 != local_d8) {
            FUN_002dac70();
          }
        }
        uVar12 = FUN_002d5ef0(local_108,local_100 & 0xffffffff,0xffffffff);
        uVar25 = (ulong)uVar12 % uStack_70;
        local_18c = uVar12;
        if (((long *)local_78[uVar25] == (long *)0x0) ||
           (puVar18 = *(undefined8 **)local_78[uVar25], puVar18 == (undefined8 *)0x0)) {
LAB_00181638:
          puVar18 = (undefined8 *)FUN_002d94a0(0x10);
          *(uint *)(puVar18 + 1) = uVar12;
          *puVar18 = 0;
          *(uint *)((long)puVar18 + 0xc) = uVar3;
          FUN_00182c70(&local_78,0,(ulong)uVar12,puVar18);
        }
        else {
          uVar23 = (ulong)*(uint *)(puVar18 + 1);
          lVar21 = 0;
          do {
            if (uVar12 == (uint)uVar23) {
              puVar18 = (undefined8 *)*puVar18;
              lVar21 = lVar21 + 1;
              lVar29 = lVar21;
            }
            else {
              if (lVar21 != 0) goto LAB_00181742;
              puVar18 = (undefined8 *)*puVar18;
              lVar29 = 0;
            }
          } while ((puVar18 != (undefined8 *)0x0) &&
                  (uVar23 = (ulong)*(uint *)(puVar18 + 1), lVar29 = lVar21,
                  uVar25 == uVar23 % uStack_70));
          if (lVar29 == 0) goto LAB_00181638;
LAB_00181742:
          auVar41 = FUN_00182170(&local_78,&local_18c);
          uVar25 = local_100;
          puVar19 = local_108;
          plVar4 = local_128;
          uVar12 = local_18c;
          for (puVar18 = auVar41._0_8_; local_18c = uVar12, puVar18 != auVar41._8_8_;
              puVar18 = (undefined8 *)*puVar18) {
            uVar12 = *(uint *)((long)puVar18 + 0xc);
            uVar23 = (ulong)uVar12;
            plVar30 = plVar4 + uVar23 * 4;
            if ((plVar30[1] == uVar25) &&
               (iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0)) {
              if (*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8)) {
                *(uint *)(param_1[10] + uVar23 * 4) = uVar3;
                *(uint *)((long)puVar18 + 0xc) = uVar3;
                FUN_002e3180(plVar30,plVar4 + uVar28 * 4);
                bVar36 = false;
              }
              else {
                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;
                bVar36 = false;
              }
              goto joined_r0x00181835;
            }
            uVar12 = local_18c;
          }
          puVar18 = (undefined8 *)FUN_002d94a0(0x10);
          *(uint *)(puVar18 + 1) = uVar12;
          *puVar18 = 0;
          *(uint *)((long)puVar18 + 0xc) = uVar3;
          FUN_00182c70(&local_78,0,uVar12,puVar18);
        }
        FUN_002e1890(local_128 + uVar28 * 4,&local_108);
joined_r0x00181835:
        if ((uVar26 == 1) && (local_1d8[uVar28] == 0)) {
          puVar19 = (ulong *)((uVar28 >> 6) * 8 + local_a8);
          *puVar19 = *puVar19 | uVar24;
        }
        if (local_108 != local_f8) {
          FUN_002dac70();
        }
        lVar21 = *param_1;
      }
LAB_001813c8:
      plVar4 = local_120;
      uVar3 = uVar3 + 1;
      uVar28 = (ulong)uVar3;
      uVar24 = param_1[1] - lVar21 >> 4;
    } while (uVar28 < uVar24);
    plVar30 = local_128;
    if (uVar24 != 0) {
      lVar21 = param_1[10];
      uVar25 = 0;
      uVar28 = uVar25;
      do {
        do {
          uVar12 = (uint)uVar25;
          uVar3 = *(uint *)(lVar21 + uVar25 * 4);
          uVar25 = (ulong)uVar3;
        } while (uVar12 != uVar3);
        puVar2 = (uint *)(lVar21 + uVar28 * 4);
        uVar12 = *puVar2;
        while (uVar12 != uVar3) {
          *puVar2 = uVar3;
          puVar2 = (uint *)(lVar21 + (ulong)uVar12 * 4);
          uVar12 = *puVar2;
        }
        uVar25 = (ulong)((int)uVar28 + 1);
        uVar28 = uVar25;
      } while (uVar25 < uVar24);
    }
    for (; plVar30 != plVar4; plVar30 = plVar30 + 4) {
      if ((long *)*plVar30 != plVar30 + 2) {
        FUN_002dac70();
      }
    }
    if (local_128 != (long *)0x0) {
      FUN_002dac70(local_128);
    }
    FUN_00182070(&local_78);
  } while (uVar26 < uVar11 && !bVar36);
  uVar7 = DAT_0043e8e8;
  lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);
  if (lVar21 == 0) {
                    /* WARNING: Subroutine does not return */
    FUN_0017c650("../../gold/parameters.h",0x5c,"options");
  }
  if (*(char *)(lVar21 + 0x4be1) != '\0') {
    pcVar34 = "%s: ICF Converged after %u iteration(s)";
    if (!bVar36) {
      pcVar34 = "%s: ICF stopped after %u iteration(s)";
    }
    uVar20 = gettext(pcVar34);
                    /* try { // try from 00181db6 to 00181de6 has its CatchHandler @ 00181f33 */
    FUN_00178480(uVar20,uVar7,uVar26);
    lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);
    if (lVar21 == 0) {
                    /* WARNING: Subroutine does not return */
      FUN_0017c650("../../gold/parameters.h",0x5c,"options");
    }
  }
  puVar18 = *(undefined8 **)(lVar21 + 0x34a0);
  plVar4 = local_140;
  do {
    local_140 = plVar4;
    if (puVar18 == (undefined8 *)0x0) {
      *(undefined1 *)(param_1 + 0x14) = 1;
      for (plVar30 = local_148; plVar4 != plVar30; plVar30 = plVar30 + 4) {
        if ((long *)*plVar30 != plVar30 + 2) {
          FUN_002dac70();
        }
      }
      if (local_148 != (long *)0x0) {
        FUN_002dac70(local_148);
      }
      if (local_a8 != 0) {
        FUN_002dac70(local_a8);
      }
      if (local_168 != 0) {
        FUN_002dac70();
      }
      if (local_1d8 != (undefined4 *)0x0) {
        FUN_002dac70(local_1d8);
      }
      return;
    }
    uVar7 = puVar18[1];
                    /* try { // try from 00181b61 to 00181b7f has its CatchHandler @ 00181f33 */
    lVar21 = FUN_002732b0(param_3,uVar7,0);
    if (lVar21 == 0) {
      uVar20 = gettext("Could not find symbol %s to unfold\n");
      FUN_001783d0(uVar20,uVar7);
    }
    else if ((((*(byte *)(lVar21 + 0x3a) & 7) == 0) &&
             ((*(byte *)(*(long *)(lVar21 + 0x10) + 0x3c) & 1) == 0)) &&
            ((*(byte *)(lVar21 + 0x3b) & 0x20) != 0)) {
      FUN_0017f5f0(param_1,*(long *)(lVar21 + 0x10),*(undefined4 *)(lVar21 + 0x18));
    }
    puVar18 = (undefined8 *)*puVar18;
    plVar4 = local_140;
  } while (*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0);
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00181eab to 00181edf has its CatchHandler @ 00181f33 */
  FUN_0017c650("../../gold/parameters.h",0x5c,"options");
}


PUSH RBP
MOV RBP,RSP
PUSH R15
PUSH R14
PUSH R13
PUSH R12
PUSH RBX
SUB RSP,0x218
MOV RAX,qword ptr [0x0043e6b0]
MOV qword ptr [RBP + -0x1f8],RSI
MOV qword ptr [RBP + -0x1d8],RDX
MOV RBX,qword ptr [RAX + 0x18]
MOV qword ptr [RBP + -0x160],0x0
MOV qword ptr [RBP + -0x158],0x0
MOV qword ptr [RBP + -0x150],0x0
MOV qword ptr [RBP + -0xa0],0x0
MOV dword ptr [RBP + -0x98],0x0
MOV qword ptr [RBP + -0x90],0x0
MOV dword ptr [RBP + -0x88],0x0
MOV qword ptr [RBP + -0x80],0x0
MOV qword ptr [RBP + -0x140],0x0
MOV qword ptr [RBP + -0x138],0x0
MOV qword ptr [RBP + -0x130],0x0
MOV qword ptr [RBP + -0x1f0],RBX
TEST RBX,RBX
JZ 0x00181ef8
MOV RBX,qword ptr [RBP + -0x1f8]
MOV R13,RDI
MOV RDX,qword ptr [RBX]
CMP RDX,qword ptr [RBX + 0x8]
JZ 0x00181e64
MOV qword ptr [RBP + -0x1c0],0x0
MOV R14,RDX
MOV qword ptr [RBP + -0x1a8],0x0
MOV qword ptr [RBP + -0x1d0],0x0
MOV dword ptr [RBP + -0x1b0],0x0
NOP word ptr CS:[RAX + RAX*0x1]
MOV RAX,qword ptr [R14]
MOV RDI,qword ptr [RAX + 0x28]
MOV qword ptr [RBP + -0x1e8],RAX
TEST RDI,RDI
JZ 0x00181700
ADD RDI,0x28
MOV RSI,-0x1
CALL 0x00179ad0
MOV RSI,qword ptr [R14]
MOV R9D,dword ptr [RSI + 0x38]
TEST R9D,R9D
JZ 0x00181240
XOR EBX,EBX
LEA R15,[RBP + -0xc0]
JMP 0x00180c45
MOV RCX,qword ptr [R14]
MOV EDI,EBX
MOV qword ptr [RBP + -0x198],RDI
MOV RSI,qword ptr [RCX + 0x50]
MOV RAX,qword ptr [RCX + 0x58]
SUB RAX,RSI
SAR RAX,0x3
CMP RDI,RAX
JNC 0x00181e34
MOV RAX,qword ptr [RBP + -0x198]
CMP qword ptr [RSI + RAX*0x8],0x0
JZ 0x00180c96
MOV RAX,qword ptr [0x0043e6b0]
MOV RAX,qword ptr [RAX + 0x10]
TEST RAX,RAX
JZ 0x00181e4c
CMP byte ptr [RAX + 0x2809],0x0
JNZ 0x00180e08
LEA RDX,[RBP + -0x70]
CMP dword ptr [RAX + 0x9050],0x2
MOV qword ptr [RBP + -0x1a0],RDX
JZ 0x00180e70
MOV RAX,qword ptr [R14]
MOV RSI,qword ptr [R13 + 0x8]
MOV dword ptr [RBP + -0x68],EBX
MOV qword ptr [RBP + -0x70],RAX
CMP RSI,qword ptr [R13 + 0x10]
JZ 0x001811d0
MOV qword ptr [RSI],RAX
ADD RSI,0x10
MOV dword ptr [RSI + -0x8],EBX
MOV qword ptr [R13 + 0x8],RSI
MOV RAX,qword ptr [R14]
XOR EDX,EDX
LEA RDI,[R13 + 0x18]
MOV dword ptr [RBP + -0x68],EBX
MOV qword ptr [RBP + -0x70],RAX
XOR RAX,qword ptr [RBP + -0x198]
MOV RCX,RAX
MOV qword ptr [RBP + -0x1b8],RAX
DIV qword ptr [R13 + 0x20]
MOV qword ptr [RBP + -0x198],RDX
MOV RDX,qword ptr [RBP + -0x1a0]
MOV RSI,qword ptr [RBP + -0x198]
CALL 0x00182860
TEST RAX,RAX
JZ 0x00180ca8
MOV RAX,qword ptr [RAX]
LEA R12,[RAX + 0x18]
TEST RAX,RAX
JZ 0x00180ca8
MOV ECX,dword ptr [RBP + -0x1b0]
MOV RAX,qword ptr [R13 + 0x58]
MOV dword ptr [R12],ECX
MOV qword ptr [RBP + -0x198],RAX
CMP RAX,qword ptr [R13 + 0x60]
JZ 0x00181018
MOV dword ptr [RAX],ECX
ADD RAX,0x4
MOV qword ptr [R13 + 0x58],RAX
MOV RAX,qword ptr [RBP + -0x1a8]
CMP qword ptr [RBP + -0x1c0],RAX
JZ 0x00181108
MOV dword ptr [RAX],0x0
ADD RAX,0x4
MOV qword ptr [RBP + -0x1a8],RAX
MOV RDI,qword ptr [R14]
MOV ESI,EBX
MOV RAX,qword ptr [RDI]
CALL qword ptr [RAX + 0xb8]
MOV qword ptr [RBP + -0x70],RAX
MOV RSI,qword ptr [RBP + -0x158]
CMP RSI,qword ptr [RBP + -0x150]
JZ 0x001811e8
MOV qword ptr [RSI],RAX
ADD RSI,0x8
MOV qword ptr [RBP + -0x158],RSI
MOV RSI,qword ptr [RBP + -0x90]
MOV ECX,dword ptr [RBP + -0x88]
CMP RSI,qword ptr [RBP + -0x80]
JZ 0x00180fe8
CMP ECX,0x3f
JZ 0x00180f38
LEA EAX,[RCX + 0x1]
MOV dword ptr [RBP + -0x88],EAX
MOV RAX,-0x2
ROL RAX,CL
AND qword ptr [RSI],RAX
MOV R12,qword ptr [RBP + -0x1a0]
LEA RDX,[0x38b016]
MOV RSI,RDX
LEA RAX,[R12 + 0x10]
MOV RDI,R12
MOV qword ptr [RBP + -0x70],RAX
CALL 0x001665c0
LEA RDI,[RBP + -0x140]
MOV RSI,R12
MOV qword ptr [RBP + -0x1b8],RDI
CALL 0x0016f840
MOV RAX,R12
MOV RDI,qword ptr [RBP + -0x70]
ADD RAX,0x10
CMP RDI,RAX
JZ 0x00180c1a
CALL 0x002dac70
MOV RDI,qword ptr [RBP + -0xc0]
LEA RAX,[R15 + 0x10]
ADD dword ptr [RBP + -0x1b0],0x1
CMP RDI,RAX
JZ 0x00180c36
CALL 0x002dac70
MOV RSI,qword ptr [R14]
ADD EBX,0x1
CMP EBX,dword ptr [RSI + 0x38]
JNC 0x00181240
MOV RAX,qword ptr [RSI]
MOV EDX,EBX
MOV RDI,R15
CALL qword ptr [RAX + 0x80]
MOV RDX,qword ptr [RBP + -0xc0]
MOV ECX,0x5
LEA RSI,[0x3732ef]
MOV RDI,RDX
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x00180a28
MOV ECX,0xf
LEA RSI,[0x3732f5]
MOV RDI,RDX
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x00180a28
LEA RAX,[R15 + 0x10]
CMP RDX,RAX
JZ 0x00180c36
MOV RDI,RDX
JMP 0x00180c31
MOV EDI,0x28
CALL 0x002d94a0
MOVDQA XMM0,xmmword ptr [RBP + -0x70]
MOV R12,RAX
MOV RDX,qword ptr [R13 + 0x30]
LEA RDI,[R13 + 0x38]
MOV qword ptr [RAX],0x0
MOV RSI,qword ptr [R13 + 0x20]
MOV ECX,0x1
MOV dword ptr [RAX + 0x18],0x0
MOVUPS xmmword ptr [RAX + 0x8],XMM0
MOV RAX,qword ptr [R13 + 0x40]
MOV qword ptr [RBP + -0x1e0],RAX
CALL 0x00319200
MOV qword ptr [RBP + -0x1c8],RDX
TEST AL,AL
JZ 0x00180fa0
CMP RDX,0x1
JZ 0x00181b82
MOV RDI,qword ptr [RBP + -0x1c8]
CALL 0x0017f5b0
MOV R11,RAX
LEA R9,[R13 + 0x48]
MOV RCX,qword ptr [R13 + 0x28]
MOV qword ptr [R13 + 0x28],0x0
TEST RCX,RCX
JZ 0x00180dc0
MOV RAX,qword ptr [RBP + -0x1b8]
MOV qword ptr [RBP + -0x1e0],R9
XOR EDI,EDI
LEA R8,[R13 + 0x28]
MOV R9,qword ptr [RBP + -0x1c8]
MOV qword ptr [RBP + -0x198],RAX
JMP 0x00180d6c
MOV RAX,qword ptr [RAX]
MOV qword ptr [RCX],RAX
MOV RAX,qword ptr [RSI]
MOV qword ptr [RAX],RCX
MOV RCX,R10
TEST R10,R10
JZ 0x00180dab
MOV RAX,qword ptr [RCX + 0x20]
XOR EDX,EDX
MOV R10,qword ptr [RCX]
DIV R9
LEA RSI,[R11 + RDX*0x8]
MOV RAX,qword ptr [RSI]
TEST RAX,RAX
JNZ 0x00180d58
MOV RAX,qword ptr [R13 + 0x28]
MOV qword ptr [RCX],RAX
MOV qword ptr [R13 + 0x28],RCX
MOV qword ptr [RSI],R8
CMP qword ptr [RCX],0x0
JZ 0x00181200
MOV qword ptr [R11 + RDI*0x8],RCX
MOV RDI,RDX
MOV RCX,R10
TEST R10,R10
JNZ 0x00180d6c
MOV RAX,qword ptr [RBP + -0x198]
MOV R9,qword ptr [RBP + -0x1e0]
MOV qword ptr [RBP + -0x1b8],RAX
MOV RDI,qword ptr [R13 + 0x18]
CMP RDI,R9
JZ 0x00180ddc
MOV qword ptr [RBP + -0x198],R11
CALL 0x002dac70
MOV R11,qword ptr [RBP + -0x198]
MOV RCX,qword ptr [RBP + -0x1c8]
MOV RAX,qword ptr [RBP + -0x1b8]
XOR EDX,EDX
MOV qword ptr [R13 + 0x18],R11
DIV RCX
MOV qword ptr [R13 + 0x20],RCX
MOV qword ptr [RBP + -0x198],RDX
JMP 0x00180fa4
MOV RAX,qword ptr [RBP + -0x1d8]
LEA RSI,[RBP + -0x70]
MOV qword ptr [RBP + -0x70],RCX
MOV dword ptr [RBP + -0x68],EBX
MOV RAX,qword ptr [RAX + 0x290]
LEA RDI,[RAX + 0x50]
MOV qword ptr [RBP + -0x1a0],RAX
CALL 0x001820f0
TEST RAX,RAX
JZ 0x00180f27
MOV RAX,qword ptr [0x0043e6b0]
MOV RAX,qword ptr [RAX + 0x10]
TEST RAX,RAX
JNZ 0x00180a7f
LEA RDX,[0x373360]
MOV ESI,0x5c
LEA RDI,[0x3726d0]
CALL 0x0017c650
MOV RDI,qword ptr [RBP + -0xc0]
MOV ESI,0x2e
CALL 0x001475b0
TEST RAX,RAX
JZ 0x00181ee0
MOV ECX,0x4
LEA RSI,[0x373305]
MOV RDI,RAX
CMPSB.REPE RDI,RSI
SETA DL
SBB DL,0x0
TEST DL,DL
JZ 0x00180f58
MOV ECX,0x4
LEA RSI,[0x37330a]
MOV RDI,RAX
CMPSB.REPE RDI,RSI
SETA DL
SBB DL,0x0
TEST DL,DL
JZ 0x00180f58
MOV RAX,qword ptr [RBP + -0x1f0]
LEA RCX,[0x181fa0]
MOV RDX,qword ptr [RBP + -0xc0]
MOV RAX,qword ptr [RAX]
MOV RAX,qword ptr [RAX + 0x90]
CMP RAX,RCX
JZ 0x00180c96
MOV RDI,qword ptr [RBP + -0x1f0]
CALL RAX
TEST AL,AL
JZ 0x00180f27
MOV RAX,qword ptr [R14]
LEA RDI,[R13 + 0x68]
MOV dword ptr [RBP + -0x68],EBX
MOV qword ptr [RBP + -0x70],RAX
LEA RAX,[RBP + -0x70]
MOV RSI,RAX
MOV qword ptr [RBP + -0x1a0],RAX
CALL 0x001820f0
TEST RAX,RAX
JZ 0x00180a97
MOV RDX,qword ptr [RBP + -0xc0]
JMP 0x00180c96
MOV dword ptr [RBP + -0x88],0x0
LEA RAX,[RSI + 0x8]
MOV qword ptr [RBP + -0x90],RAX
JMP 0x00180bc0
LEA R12,[RAX + 0x1]
MOV RDI,R12
CALL 0x002d2ef0
LEA RCX,[RBP + -0x70]
MOV qword ptr [RBP + -0x1a0],RCX
TEST EAX,EAX
JNZ 0x00180a97
MOV RDI,R12
CALL 0x002d2f20
TEST EAX,EAX
JZ 0x00180ec8
LEA RAX,[RBP + -0x70]
MOV qword ptr [RBP + -0x1a0],RAX
JMP 0x00180a97
MOV R11,qword ptr [R13 + 0x18]
MOV RAX,qword ptr [RBP + -0x1b8]
MOV qword ptr [R12 + 0x20],RAX
MOV RAX,qword ptr [RBP + -0x198]
LEA RCX,[R11 + RAX*0x8]
MOV RAX,qword ptr [RCX]
TEST RAX,RAX
JZ 0x00181210
MOV RAX,qword ptr [RAX]
MOV qword ptr [R12],RAX
MOV RAX,qword ptr [RCX]
MOV qword ptr [RAX],R12
ADD qword ptr [R13 + 0x30],0x1
ADD R12,0x18
JMP 0x00180b15
MOV dword ptr [RBP + -0x178],ECX
LEA RAX,[RBP + -0xa0]
MOV RDX,qword ptr [RBP + -0x178]
XOR ECX,ECX
MOV RDI,RAX
MOV qword ptr [RBP + -0x180],RSI
CALL 0x00182220
JMP 0x00180bcd
MOV RAX,qword ptr [R13 + 0x50]
MOV R12,qword ptr [RBP + -0x198]
SUB R12,RAX
MOV qword ptr [RBP + -0x1b8],RAX
MOV RAX,R12
SAR RAX,0x2
JZ 0x00181720
LEA RDX,[RAX + RAX*0x1]
CMP RAX,RDX
JA 0x001819cc
MOV RCX,0x3fffffffffffffff
MOV qword ptr [RBP + -0x1c8],-0x4
CMP RDX,RCX
JBE 0x00181b96
MOV RDI,qword ptr [RBP + -0x1c8]
CALL 0x002d94a0
MOV RCX,RAX
MOV RAX,qword ptr [RBP + -0x1c8]
ADD RAX,RCX
MOV qword ptr [RBP + -0x1e0],RAX
MOV EAX,dword ptr [RBP + -0x1b0]
MOV RSI,qword ptr [RBP + -0x1b8]
MOV dword ptr [RCX + R12*0x1],EAX
LEA RAX,[RCX + R12*0x1 + 0x4]
MOV qword ptr [RBP + -0x1c8],RAX
CMP qword ptr [RBP + -0x198],RSI
JZ 0x001816b8
MOV RDI,RCX
MOV RDX,R12
CALL 0x001476d0
MOV RCX,RAX
MOV RDI,qword ptr [RBP + -0x1b8]
MOV qword ptr [RBP + -0x198],RCX
CALL 0x002dac70
MOV RCX,qword ptr [RBP + -0x198]
MOV RAX,qword ptr [RBP + -0x1c8]
MOV qword ptr [R13 + 0x50],RCX
MOV qword ptr [R13 + 0x58],RAX
MOV RAX,qword ptr [RBP + -0x1e0]
MOV qword ptr [R13 + 0x60],RAX
MOV RAX,qword ptr [RBP + -0x1a8]
CMP qword ptr [RBP + -0x1c0],RAX
JNZ 0x00180b52
NOP dword ptr [RAX]
MOV RAX,qword ptr [RBP + -0x1a8]
SUB RAX,qword ptr [RBP + -0x1d0]
MOV qword ptr [RBP + -0x198],RAX
SAR RAX,0x2
JZ 0x00181730
LEA RDX,[RAX + RAX*0x1]
CMP RAX,RDX
JA 0x001819dc
MOV RCX,0x3fffffffffffffff
MOV R12,-0x4
CMP RDX,RCX
JBE 0x00181bb1
MOV RDI,R12
CALL 0x002d94a0
MOV RCX,RAX
LEA RAX,[RAX + R12*0x1]
MOV qword ptr [RBP + -0x1c0],RAX
MOV R12,qword ptr [RBP + -0x198]
MOV RSI,qword ptr [RBP + -0x1d0]
MOV dword ptr [RCX + R12*0x1],0x0
CMP qword ptr [RBP + -0x1a8],RSI
JZ 0x001816d0
MOV RDI,RCX
MOV RDX,R12
CALL 0x001476d0
MOV RCX,RAX
LEA RAX,[RCX + R12*0x1 + 0x4]
MOV qword ptr [RBP + -0x1a8],RAX
MOV RDI,qword ptr [RBP + -0x1d0]
MOV qword ptr [RBP + -0x198],RCX
CALL 0x002dac70
MOV RCX,qword ptr [RBP + -0x198]
MOV qword ptr [RBP + -0x1d0],RCX
JMP 0x00180b63
MOV RDX,qword ptr [RBP + -0x1a0]
MOV RDI,R13
CALL 0x001825a0
JMP 0x00180abd
MOV RDX,qword ptr [RBP + -0x1a0]
LEA RDI,[RBP + -0x160]
CALL 0x00182710
JMP 0x00180b97
MOV RDI,RDX
JMP 0x00180d64
MOV RAX,qword ptr [R13 + 0x28]
MOV qword ptr [R13 + 0x28],R12
MOV qword ptr [R12],RAX
TEST RAX,RAX
JZ 0x0018122f
MOV RAX,qword ptr [RAX + 0x20]
XOR EDX,EDX
DIV qword ptr [R13 + 0x20]
MOV qword ptr [R11 + RDX*0x8],R12
LEA RAX,[R13 + 0x28]
MOV qword ptr [RCX],RAX
JMP 0x00180fd4
MOV RAX,qword ptr [RBP + -0x1e8]
MOV RDI,qword ptr [RAX + 0x28]
TEST RDI,RDI
JZ 0x00181260
ADD RDI,0x28
MOV RSI,-0x1
CALL 0x0017a690
MOV RAX,qword ptr [RBP + -0x1f8]
ADD R14,0x8
CMP qword ptr [RAX + 0x8],R14
JNZ 0x001809e0
MOV RAX,qword ptr [0x0043e6b0]
MOV RAX,qword ptr [RAX + 0x10]
TEST RAX,RAX
JZ 0x00181ec8
MOV dword ptr [RBP + -0x1a8],0x0
MOV EBX,dword ptr [RAX + 0x2dac]
MOV EAX,0x2
TEST EBX,EBX
CMOVG EAX,EBX
MOV dword ptr [RBP + -0x234],EAX
LEA RAX,[R13 + 0x50]
MOV qword ptr [RBP + -0x1f0],RAX
LEA RAX,[RBP + -0x70]
MOV qword ptr [RBP + -0x1a0],RAX
LEA RAX,[RBP + -0xa0]
MOV qword ptr [RBP + -0x230],RAX
LEA RAX,[RBP + -0x100]
MOV qword ptr [RBP + -0x200],RAX
ADD RAX,0x10
MOV qword ptr [RBP + -0x1b0],RAX
MOV RAX,qword ptr [RBP + -0x1a0]
ADD dword ptr [RBP + -0x1a8],0x1
MOV EBX,dword ptr [RBP + -0x1a8]
MOV qword ptr [RBP + -0x68],0x1
ADD RAX,0x30
MOV qword ptr [RBP + -0x60],0x0
MOV qword ptr [RBP + -0x70],RAX
LEA RAX,[RBP + -0x140]
MOV qword ptr [RBP + -0x58],0x0
MOV dword ptr [RBP + -0x50],0x3f800000
MOV qword ptr [RBP + -0x48],0x0
MOV qword ptr [RBP + -0x40],0x0
MOV qword ptr [RBP + -0x1b8],RAX
CMP EBX,0x1
JZ 0x00181c05
MOV RSI,qword ptr [RBP + -0x230]
MOV RDX,RAX
MOV RDI,R13
CALL 0x00180660
MOV qword ptr [RBP + -0x120],0x0
MOV RAX,qword ptr [R13]
MOV qword ptr [RBP + -0x118],0x0
MOV qword ptr [RBP + -0x110],0x0
CMP qword ptr [R13 + 0x8],RAX
JZ 0x00181d70
LEA RAX,[RBP + -0x120]
XOR R14D,R14D
MOV byte ptr [RBP + -0x1f8],0x1
LEA R15,[RBP + -0xc0]
MOV qword ptr [RBP + -0x1c0],RAX
LEA RAX,[RBP + -0x184]
MOV dword ptr [RBP + -0x198],0x0
MOV qword ptr [RBP + -0x210],RAX
JMP 0x001813ea
MOV RDI,qword ptr [R13 + 0x8]
ADD dword ptr [RBP + -0x198],0x1
MOV R14D,dword ptr [RBP + -0x198]
SUB RDI,RCX
SAR RDI,0x4
CMP R14,RDI
JNC 0x001819e8
LEA RDX,[0x38b016]
LEA RAX,[R15 + 0x10]
MOV RDI,R15
MOV RSI,RDX
MOV qword ptr [RBP + -0xc0],RAX
CALL 0x001665c0
MOV RDI,qword ptr [RBP + -0x1c0]
MOV RSI,R15
CALL 0x0016f840
MOV RDI,qword ptr [RBP + -0xc0]
LEA RAX,[R15 + 0x10]
CMP RDI,RAX
JZ 0x0018142b
CALL 0x002dac70
MOVZX ECX,byte ptr [RBP + -0x198]
MOV RAX,R14
MOV EDX,0x1
SHR RAX,0x6
SHL RDX,CL
LEA RBX,[RAX*0x8]
MOV RCX,qword ptr [R13]
MOV qword ptr [RBP + -0x1c8],RBX
MOV RBX,RDX
MOV qword ptr [RBP + -0x1e0],RDX
MOV RDX,qword ptr [RBP + -0xa0]
AND RBX,qword ptr [RDX + RAX*0x8]
JNZ 0x001813c8
MOV RAX,R14
SHL RAX,0x4
CMP dword ptr [RBP + -0x1a8],0x1
MOVDQU XMM1,xmmword ptr [RCX + RAX*0x1]
MOV RAX,qword ptr [RBP + -0x1b0]
MOV qword ptr [RBP + -0xf8],0x0
MOV byte ptr [RBP + -0xf0],0x0
MOVAPS xmmword ptr [RBP + -0x170],XMM1
MOV qword ptr [RBP + -0x100],RAX
JZ 0x001818e0
MOV RAX,qword ptr [R13 + 0x50]
MOV EDX,dword ptr [RBP + -0x198]
CMP EDX,dword ptr [RAX + R14*0x4]
JNZ 0x001813c8
LEA RAX,[RBP + -0x140]
LEA R12,[RBP + -0xe0]
XOR R8D,R8D
MOV R9,qword ptr [RBP + -0x1d8]
PUSH RAX
MOV ECX,dword ptr [RBP + -0x198]
LEA RDX,[RBP + -0x170]
XOR ESI,ESI
PUSH qword ptr [RBP + -0x1f0]
MOV RDI,R12
MOV qword ptr [RBP + -0x1b8],RAX
CALL 0x0017f6d0
POP RCX
POP RSI
LEA RAX,[R12 + 0x10]
MOV RSI,qword ptr [RBP + -0xe0]
MOV RDI,qword ptr [RBP + -0x100]
MOV RDX,qword ptr [RBP + -0xd8]
CMP RSI,RAX
JZ 0x00181bcc
MOV RAX,qword ptr [RBP + -0xd0]
CMP RDI,qword ptr [RBP + -0x1b0]
JZ 0x00181c54
MOV RCX,qword ptr [RBP + -0xf0]
MOV qword ptr [RBP + -0x100],RSI
MOV qword ptr [RBP + -0xf8],RDX
MOV qword ptr [RBP + -0xf0],RAX
TEST RDI,RDI
JZ 0x00181c69
MOV qword ptr [RBP + -0xe0],RDI
MOV qword ptr [RBP + -0xd0],RCX
MOV qword ptr [RBP + -0xd8],0x0
ADD R12,0x10
MOV byte ptr [RDI],0x0
MOV RDI,qword ptr [RBP + -0xe0]
CMP RDI,R12
JZ 0x0018158f
CALL 0x002dac70
MOV ESI,dword ptr [RBP + -0xf8]
MOV RDI,qword ptr [RBP + -0x100]
MOV EDX,0xffffffff
CALL 0x002d5ef0
MOV RDI,qword ptr [RBP + -0x68]
MOV EAX,EAX
XOR EDX,EDX
MOV R12,RAX
MOV dword ptr [RBP + -0x184],EAX
MOV qword ptr [RBP + -0x1e8],RAX
DIV RDI
MOV RAX,qword ptr [RBP + -0x70]
MOV RAX,qword ptr [RAX + RDX*0x8]
MOV R8,RDX
TEST RAX,RAX
JZ 0x00181638
MOV RCX,qword ptr [RAX]
TEST RCX,RCX
JZ 0x00181638
MOV RAX,qword ptr [RBP + -0x1b8]
MOV ESI,dword ptr [RCX + 0x8]
MOV R11,RAX
JMP 0x00181611
TEST RBX,RBX
JNZ 0x0018173b
MOV RCX,qword ptr [RCX]
TEST RCX,RCX
JZ 0x00181628
MOV EAX,dword ptr [RCX + 0x8]
XOR EDX,EDX
MOV RSI,RAX
DIV RDI
CMP R8,RDX
JNZ 0x00181628
CMP R12D,ESI
JNZ 0x001815f0
MOV RCX,qword ptr [RCX]
ADD RBX,0x1
TEST RCX,RCX
JNZ 0x00181601
NOP word ptr [RAX + RAX*0x1]
MOV qword ptr [RBP + -0x1b8],R11
TEST RBX,RBX
JNZ 0x00181742
MOV EDI,0x10
CALL 0x002d94a0
MOV EBX,dword ptr [RBP + -0x198]
MOV dword ptr [RAX + 0x8],R12D
MOV RCX,RAX
XOR ESI,ESI
MOV qword ptr [RAX],0x0
MOV RDX,qword ptr [RBP + -0x1e8]
MOV dword ptr [RAX + 0xc],EBX
MOV RDI,qword ptr [RBP + -0x1a0]
CALL 0x00182c70
MOV RDI,R14
MOV RSI,qword ptr [RBP + -0x200]
SHL RDI,0x5
ADD RDI,qword ptr [RBP + -0x120]
CALL 0x002e1890
CMP dword ptr [RBP + -0x1a8],0x1
JZ 0x0018183b
MOV RDI,qword ptr [RBP + -0x100]
CMP RDI,qword ptr [RBP + -0x1b0]
JZ 0x001816aa
CALL 0x002dac70
MOV RCX,qword ptr [R13]
JMP 0x001813c8
CMP qword ptr [RBP + -0x1b8],0x0
JZ 0x001810d7
JMP 0x001810bd
MOV RAX,qword ptr [RBP + -0x198]
CMP qword ptr [RBP + -0x1d0],0x0
LEA RAX,[RCX + RAX*0x1 + 0x4]
MOV qword ptr [RBP + -0x1a8],RAX
JZ 0x001811bb
JMP 0x001811a1
MOV RAX,qword ptr [RBP + -0x1e8]
MOV RSI,RAX
MOV EAX,dword ptr [RAX + 0x38]
TEST EAX,EAX
JNZ 0x00180a17
JMP 0x00181260
MOV qword ptr [RBP + -0x1c8],0x4
JMP 0x00181065
MOV R12D,0x4
JMP 0x0018114e
MOV qword ptr [RBP + -0x1b8],R11
MOV RSI,qword ptr [RBP + -0x210]
MOV RDI,qword ptr [RBP + -0x1a0]
CALL 0x00182170
MOV R12,RAX
CMP RAX,RDX
JZ 0x001818a4
MOV RAX,qword ptr [RBP + -0x100]
MOV R9,qword ptr [RBP + -0x120]
MOV qword ptr [RBP + -0x218],R14
MOV R8,qword ptr [RBP + -0xf8]
MOV qword ptr [RBP + -0x1e8],RDX
MOV qword ptr [RBP + -0x208],RAX
MOV RAX,qword ptr [RBP + -0x1b8]
MOV qword ptr [RBP + -0x228],R15
MOV qword ptr [RBP + -0x240],RAX
MOV qword ptr [RBP + -0x1b8],R9
MOV qword ptr [RBP + -0x220],R13
MOV R13,R8
MOV R14D,dword ptr [R12 + 0xc]
MOV RBX,R14
SHL RBX,0x5
ADD RBX,qword ptr [RBP + -0x1b8]
CMP qword ptr [RBX + 0x8],R13
JNZ 0x00181870
MOV RSI,qword ptr [RBP + -0x208]
MOV RDI,qword ptr [RBX]
MOV RDX,R13
CALL 0x00147840
TEST EAX,EAX
JNZ 0x00181870
MOV R11,R14
MOV ECX,R14D
MOV R13,qword ptr [RBP + -0x220]
MOV RAX,qword ptr [RBP + -0x160]
MOV R14,qword ptr [RBP + -0x218]
MOV R9,qword ptr [RBP + -0x1b8]
MOV R15,qword ptr [RBP + -0x228]
MOV RDX,qword ptr [R13 + 0x50]
MOV RDI,qword ptr [RAX + R11*0x8]
CMP qword ptr [RAX + R14*0x8],RDI
JA 0x00181caf
CMP dword ptr [RBP + -0x1a8],0x1
MOV dword ptr [RDX + R14*0x4],ECX
MOV byte ptr [RBP + -0x1f8],0x0
JNZ 0x00181695
MOV RAX,qword ptr [RBP + -0x1d0]
MOV EDX,dword ptr [RAX + R14*0x4]
TEST EDX,EDX
JNZ 0x00181695
MOV RAX,qword ptr [RBP + -0x1c8]
ADD RAX,qword ptr [RBP + -0xa0]
MOV RBX,qword ptr [RBP + -0x1e0]
OR qword ptr [RAX],RBX
JMP 0x00181695
MOV R12,qword ptr [R12]
CMP qword ptr [RBP + -0x1e8],R12
JNZ 0x001817b1
MOV RAX,qword ptr [RBP + -0x240]
MOV R14,qword ptr [RBP + -0x218]
MOV R13,qword ptr [RBP + -0x220]
MOV R15,qword ptr [RBP + -0x228]
MOV qword ptr [RBP + -0x1b8],RAX
MOV EDI,0x10
MOV EBX,dword ptr [RBP + -0x184]
CALL 0x002d94a0
MOV ECX,dword ptr [RBP + -0x198]
MOV dword ptr [RAX + 0x8],EBX
MOV EDX,EBX
XOR ESI,ESI
MOV qword ptr [RAX],0x0
MOV RDI,qword ptr [RBP + -0x1a0]
MOV dword ptr [RAX + 0xc],ECX
MOV RCX,RAX
CALL 0x00182c70
JMP 0x0018166e
LEA RAX,[RBP + -0x140]
MOV ECX,dword ptr [RBP + -0x198]
MOV R9,qword ptr [RBP + -0x1d8]
LEA RDX,[RBP + -0x170]
PUSH RAX
LEA R8,[RBP + -0xe0]
MOV ESI,0x1
MOV RDI,R15
PUSH qword ptr [RBP + -0x1f0]
MOV dword ptr [RBP + -0xe0],0x0
MOV qword ptr [RBP + -0x1b8],RAX
CALL 0x0017f6d0
MOV RSI,qword ptr [RBP + -0xc0]
LEA RAX,[R15 + 0x10]
POP RDI
MOV RDX,qword ptr [RBP + -0xb8]
POP R8
MOV RDI,qword ptr [RBP + -0x100]
CMP RSI,RAX
JZ 0x00181c1b
MOV RAX,qword ptr [RBP + -0xb0]
CMP RDI,qword ptr [RBP + -0x1b0]
JZ 0x00181c7a
MOV RCX,qword ptr [RBP + -0xf0]
MOV qword ptr [RBP + -0x100],RSI
MOV qword ptr [RBP + -0xf8],RDX
MOV qword ptr [RBP + -0xf0],RAX
TEST RDI,RDI
JZ 0x00181c8f
MOV qword ptr [RBP + -0xc0],RDI
MOV qword ptr [RBP + -0xb0],RCX
MOV qword ptr [RBP + -0xb8],0x0
LEA RAX,[R15 + 0x10]
MOV byte ptr [RDI],0x0
MOV RDI,qword ptr [RBP + -0xc0]
CMP RDI,RAX
JZ 0x001819b6
CALL 0x002dac70
MOV EAX,dword ptr [RBP + -0xe0]
MOV RCX,qword ptr [RBP + -0x1d0]
MOV dword ptr [RCX + R14*0x4],EAX
JMP 0x0018158f
MOV qword ptr [RBP + -0x1c8],-0x4
JMP 0x00181065
MOV R12,-0x4
JMP 0x0018114e
MOV EBX,dword ptr [RBP + -0x234]
CMP dword ptr [RBP + -0x1a8],EBX
SETNC byte ptr [RBP + -0x198]
MOVZX EAX,byte ptr [RBP + -0x198]
OR AL,byte ptr [RBP + -0x1f8]
MOV R15D,EAX
MOV RBX,qword ptr [RBP + -0x118]
MOV R12,qword ptr [RBP + -0x120]
TEST RDI,RDI
JZ 0x00181a7e
MOV RSI,qword ptr [R13 + 0x50]
XOR R8D,R8D
XOR ECX,ECX
MOV R9D,EAX
NOP word ptr [RAX + RAX*0x1]
MOV EDX,R8D
MOV R10D,R9D
JMP 0x00181a42
MOV EDX,EAX
MOV EAX,EDX
MOV EAX,dword ptr [RSI + RAX*0x4]
CMP EDX,EAX
JNZ 0x00181a40
LEA RCX,[RSI + RCX*0x4]
MOV R9D,R10D
MOV EDX,dword ptr [RCX]
CMP EDX,EAX
JZ 0x00181a6f
NOP dword ptr [RAX + RAX*0x1]
MOV dword ptr [RCX],EAX
LEA RCX,[RSI + RDX*0x4]
MOV EDX,dword ptr [RCX]
CMP EAX,EDX
JNZ 0x00181a60
MOV R9D,R10D
LEA ECX,[R8 + 0x1]
MOV R8,RCX
CMP RDI,RCX
JA 0x00181a30
MOV R15D,R9D
CMP R12,RBX
JZ 0x00181aab
NOP dword ptr [RAX + RAX*0x1]
MOV RDI,qword ptr [R12]
LEA RAX,[R12 + 0x10]
CMP RDI,RAX
JZ 0x00181a9b
CALL 0x002dac70
ADD R12,0x20
CMP R12,RBX
JNZ 0x00181a88
MOV R12,qword ptr [RBP + -0x120]
TEST R12,R12
JZ 0x00181ab8
MOV RDI,R12
CALL 0x002dac70
MOV RDI,qword ptr [RBP + -0x1a0]
CALL 0x00182070
TEST R15B,R15B
JZ 0x001812e6
MOV RAX,qword ptr [0x0043e6b0]
MOV RAX,qword ptr [RAX + 0x10]
TEST RAX,RAX
JZ 0x00181eb0
CMP byte ptr [RAX + 0x4be1],0x0
JNZ 0x00181d88
MOV RBX,qword ptr [RAX + 0x34a0]
LEA R12,[0x373430]
TEST RBX,RBX
JNZ 0x00181b4e
JMP 0x00181cdc
TEST byte ptr [RAX + 0x3a],0x7
JNZ 0x00181b30
MOV RSI,qword ptr [RAX + 0x10]
TEST byte ptr [RSI + 0x3c],0x1
JNZ 0x00181b30
TEST byte ptr [RAX + 0x3b],0x20
JNZ 0x00181c9f
NOP word ptr [RAX + RAX*0x1]
MOV RAX,qword ptr [0x0043e6b0]
MOV RBX,qword ptr [RBX]
CMP qword ptr [RAX + 0x10],0x0
JZ 0x00181e98
TEST RBX,RBX
JZ 0x00181cdc
MOV RAX,qword ptr [RBX + 0x8]
MOV RDI,qword ptr [RBP + -0x1d8]
XOR EDX,EDX
MOV RSI,RAX
MOV R15,RAX
CALL 0x002732b0
TEST RAX,RAX
JNZ 0x00181b10
MOV RDI,R12
CALL 0x00147320
MOV RSI,R15
MOV RDI,RAX
XOR EAX,EAX
CALL 0x001783d0
JMP 0x00181b30
LEA R11,[R13 + 0x48]
MOV qword ptr [R13 + 0x48],0x0
MOV R9,R11
JMP 0x00180d19
TEST RDX,RDX
JNZ 0x00181e81
MOV qword ptr [RBP + -0x1e0],0x0
XOR ECX,ECX
JMP 0x00181085
TEST RDX,RDX
JNZ 0x00181e74
MOV qword ptr [RBP + -0x1c0],0x0
XOR ECX,ECX
JMP 0x00181164
TEST RDX,RDX
JZ 0x00181bee
CMP RDX,0x1
JZ 0x00181df0
CALL 0x00147aa0
MOV RDX,qword ptr [RBP + -0xd8]
MOV RDI,qword ptr [RBP + -0x100]
MOV qword ptr [RBP + -0xf8],RDX
MOV byte ptr [RDI + RDX*0x1],0x0
MOV RDI,qword ptr [RBP + -0xe0]
JMP 0x0018156c
MOV RSI,qword ptr [RBP + -0x230]
XOR EDX,EDX
MOV RDI,R13
CALL 0x00180660
JMP 0x0018135a
TEST RDX,RDX
JZ 0x00181c3d
CMP RDX,0x1
JZ 0x00181e0c
CALL 0x00147aa0
MOV RDX,qword ptr [RBP + -0xb8]
MOV RDI,qword ptr [RBP + -0x100]
MOV qword ptr [RBP + -0xf8],RDX
MOV byte ptr [RDI + RDX*0x1],0x0
MOV RDI,qword ptr [RBP + -0xc0]
JMP 0x00181993
MOV qword ptr [RBP + -0x100],RSI
MOV qword ptr [RBP + -0xf8],RDX
MOV qword ptr [RBP + -0xf0],RAX
LEA RDI,[R12 + 0x10]
MOV qword ptr [RBP + -0xe0],RDI
JMP 0x0018156c
MOV qword ptr [RBP + -0x100],RSI
MOV qword ptr [RBP + -0xf8],RDX
MOV qword ptr [RBP + -0xf0],RAX
LEA RDI,[R15 + 0x10]
MOV qword ptr [RBP + -0xc0],RDI
JMP 0x00181993
MOV EDX,dword ptr [RAX + 0x18]
MOV RDI,R13
CALL 0x0017f5f0
JMP 0x00181b30
MOV EAX,dword ptr [RBP + -0x198]
MOV RSI,R14
MOV RDI,RBX
SHL RSI,0x5
MOV dword ptr [RDX + R11*0x4],EAX
ADD RSI,R9
MOV dword ptr [R12 + 0xc],EAX
CALL 0x002e3180
MOV byte ptr [RBP + -0x1f8],0x0
JMP 0x00181688
MOV RAX,qword ptr [RBP + -0x138]
MOV RBX,qword ptr [RBP + -0x140]
MOV byte ptr [R13 + 0xa0],0x1
CMP RAX,RBX
JZ 0x00181d1b
MOV R15,RAX
MOV RDI,qword ptr [RBX]
LEA RAX,[RBX + 0x10]
CMP RDI,RAX
JZ 0x00181d0b
CALL 0x002dac70
ADD RBX,0x20
CMP R15,RBX
JNZ 0x00181cfa
MOV RBX,qword ptr [RBP + -0x140]
TEST RBX,RBX
JZ 0x00181d28
MOV RDI,RBX
CALL 0x002dac70
MOV RAX,qword ptr [RBP + -0xa0]
TEST RAX,RAX
JZ 0x00181d3c
MOV RDI,RAX
CALL 0x002dac70
MOV RDI,qword ptr [RBP + -0x160]
TEST RDI,RDI
JZ 0x00181d4d
CALL 0x002dac70
MOV RAX,qword ptr [RBP + -0x1d0]
TEST RAX,RAX
JZ 0x00181d61
MOV RDI,RAX
CALL 0x002dac70
LEA RSP,[RBP + -0x28]
POP RBX
POP R12
POP R13
POP R14
POP R15
POP RBP
RET
MOV RDI,qword ptr [RBP + -0x1a0]
CALL 0x00182070
MOV byte ptr [RBP + -0x1f8],0x1
JMP 0x00181acd
CMP byte ptr [RBP + -0x1f8],0x0
MOV RBX,qword ptr [0x0043e8e8]
LEA RDI,[0x3733e0]
JZ 0x00181e28
CALL 0x00147320
MOV EDX,dword ptr [RBP + -0x1a8]
MOV RSI,RBX
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00178480
MOV RAX,qword ptr [0x0043e6b0]
MOV RAX,qword ptr [RAX + 0x10]
TEST RAX,RAX
JNZ 0x00181aee
LEA RDX,[0x373360]
MOV ESI,0x5c
LEA RDI,[0x3726d0]
CALL 0x0017c650
MOVZX EAX,byte ptr [RBP + -0xd0]
MOV byte ptr [RDI],AL
MOV RDX,qword ptr [RBP + -0xd8]
MOV RDI,qword ptr [RBP + -0x100]
JMP 0x00181bee
MOVZX EAX,byte ptr [RBP + -0xb0]
MOV byte ptr [RDI],AL
MOV RDX,qword ptr [RBP + -0xb8]
MOV RDI,qword ptr [RBP + -0x100]
JMP 0x00181c3d
LEA RDI,[0x373408]
JMP 0x00181da3
LEA RDX,[0x3733c0]
MOV ESI,0x50b
LEA RDI,[0x36b016]
CALL 0x0017c650
LEA RDX,[0x373360]
MOV ESI,0x5c
LEA RDI,[0x3726d0]
CALL 0x0017c650
MOV qword ptr [RBP + -0x1d0],0x0
JMP 0x0018127c
LEA R12,[RAX*0x8]
JMP 0x0018114e
SHL RAX,0x3
MOV qword ptr [RBP + -0x1c8],RAX
JMP 0x00181065
LEA RDX,[0x373360]
MOV ESI,0x5c
LEA RDI,[0x3726d0]
CALL 0x0017c650
LEA RDX,[0x373360]
MOV ESI,0x5c
LEA RDI,[0x3726d0]
CALL 0x0017c650
LEA RDX,[0x373360]
MOV ESI,0x5c
LEA RDI,[0x3726d0]
CALL 0x0017c650
LEA RDX,[0x3733a0]
MOV ESI,0x2f6
LEA RDI,[0x3732ba]
CALL 0x0017c650
LEA RDX,[0x3733d4]
MOV ESI,0x69
LEA RDI,[0x3726d0]
CALL 0x0017c650
(translation_unit "void FUN_001808e0(long *param_1,long *param_2,long param_3)\n\n{\n  long *plVar1;\n  uint *puVar2;\n  uint uVar3;\n  long *plVar4;\n  int *piVar5;\n  long *plVar6;\n  int *__src;\n  undefined8 uVar7;\n  byte bVar8;\n  char cVar9;\n  int iVar10;\n  uint uVar11;\n  uint uVar12;\n  int iVar13;\n  long *plVar14;\n  long *plVar15;\n  byte *pbVar16;\n  void *__dest;\n  size_t sVar17;\n  undefined4 *__dest_00;\n  undefined8 *puVar18;\n  ulong *puVar19;\n  undefined8 uVar20;\n  long lVar21;\n  long *plVar22;\n  ulong extraout_RDX;\n  ulong uVar23;\n  ulong uVar24;\n  ulong uVar25;\n  uint uVar26;\n  int iVar27;\n  ulong uVar28;\n  long lVar29;\n  long *plVar30;\n  byte *pbVar31;\n  ulong *puVar32;\n  byte *pbVar33;\n  char *pcVar34;\n  undefined1 uVar35;\n  bool bVar36;\n  bool bVar37;\n  undefined1 uVar38;\n  bool bVar39;\n  byte bVar40;\n  undefined1 auVar41 [16];\n  long local_1e8;\n  undefined4 *local_1d8;\n  long local_1d0;\n  undefined4 *local_1c8;\n  undefined4 *local_1b0;\n  undefined8 **local_1a8;\n  ulong local_1a0;\n  uint local_18c;\n  ulong *local_188;\n  int local_180;\n  undefined4 uStack_17c;\n  undefined8 local_178;\n  undefined8 uStack_170;\n  long local_168;\n  undefined8 *local_160;\n  undefined8 *local_158;\n  long *local_148;\n  long *local_140;\n  undefined8 local_138;\n  long *local_128;\n  long *local_120;\n  undefined8 local_118;\n  ulong *local_108;\n  ulong local_100;\n  ulong local_f8 [2];\n  ulong *local_e8;\n  size_t local_e0;\n  ulong local_d8 [2];\n  ulong *local_c8;\n  size_t local_c0;\n  ulong local_b8 [2];\n  long local_a8;\n  undefined4 local_a0;\n  ulong *local_98;\n  int local_90;\n  ulong *local_88;\n  undefined8 *local_78;\n  ulong uStack_70;\n  undefined8 local_68;\n  undefined8 local_60;\n  undefined4 local_58;\n  undefined8 local_50;\n  undefined8 local_48 [3];\n  \n  bVar40 = 0;\n  plVar4 = *(long **)(PTR_DAT_0043e6b0 + 0x18);\n  local_168 = 0;\n  local_160 = (undefined8 *)0x0;\n  local_158 = (undefined8 *)0x0;\n  local_a8 = 0;\n  local_a0 = 0;\n  local_98 = (ulong *)0x0;\n  local_90 = 0;\n  local_88 = (ulong *)0x0;\n  local_148 = (long *)0x0;\n  local_140 = (long *)0x0;\n  local_138 = 0;\n  if (plVar4 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181f0b to 00181f0f has its CatchHandler @ 00181f15 */\n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }\n  puVar19 = (ulong *)*param_2;\n  if (puVar19 == (ulong *)param_2[1]) {\n    local_1d8 = (undefined4 *)0x0;\n  }\n  else {\n    local_1c8 = (undefined4 *)0x0;\n    local_1b0 = (undefined4 *)0x0;\n    local_1d8 = (undefined4 *)0x0;\n    iVar13 = 0;\n    do {\n      plVar30 = (long *)*puVar19;\n      if (plVar30[5] == 0) {\n        plVar14 = plVar30;\n        if ((int)plVar30[7] != 0) goto LAB_00180a17;\n      }\n      else {\n                    /* try { // try from 00180a02 to 00180a06 has its CatchHandler @ 00181f33 */\n        FUN_00179ad0(plVar30[5] + 0x28,0xffffffffffffffff);\n        plVar14 = (long *)*puVar19;\n        if ((int)((long *)*puVar19)[7] != 0) {\nLAB_00180a17:\n          uVar35 = false;\n          uVar28 = 0;\n          uVar38 = true;\n          do {\n            iVar27 = (int)uVar28;\n                    /* try { // try from 00180c4d to 00180c52 has its CatchHandler @ 00181f1d */\n            (**(code **)(*plVar14 + 0x80))(&local_c8,plVar14,uVar28);\n            lVar21 = 5;\n            pbVar16 = (byte *)".text";\n            puVar32 = local_c8;\n            do {\n              if (lVar21 == 0) break;\n              lVar21 = lVar21 + -1;\n              uVar35 = *pbVar16 < (byte)*puVar32;\n              uVar38 = *pbVar16 == (byte)*puVar32;\n              pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n              puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n            } while ((bool)uVar38);\n            bVar36 = false;\n            bVar39 = (!(bool)uVar35 && !(bool)uVar38) == (bool)uVar35;\n            if (bVar39) {\nLAB_00180a28:\n              puVar18 = (undefined8 *)*puVar19;\n              if ((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181e47 to 00181e63 has its CatchHandler @ 00181f61 */\n                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (*(long *)(puVar18[10] + uVar28 * 8) == 0) goto LAB_00180c96;\n              lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n              if (lVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(lVar21 + 0x2809) != '\0') {\n                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                local_78 = puVar18;\n                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);\n                if (lVar21 == 0) goto LAB_00180c96;\n                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00180e61 to 001811fa has its CatchHandler @ 00181f61 */\n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (*(int *)(lVar21 + 0x9050) == 2) {\n                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);\n                bVar36 = false;\n                bVar39 = pbVar16 == (byte *)0x0;\n                if (bVar39) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181ef3 to 00181ef7 has its CatchHandler @ 00181f61 */\n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar21 = 4;\n                pbVar31 = &DAT_00373305;\n                pbVar33 = pbVar16;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);\n                bVar37 = false;\n                bVar36 = (!bVar36 && !bVar39) == bVar36;\n                if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }\n                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = &local_78;\n              local_78 = (undefined8 *)*puVar19;\n              puVar32 = (ulong *)param_1[1];\n              if (puVar32 == (ulong *)param_1[2]) {\n                uStack_70._0_4_ = iVar27;\n                FUN_001825a0(param_1,puVar32,local_1a8);\n              }\n              else {\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }\n              local_78 = (undefined8 *)*puVar19;\n              uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n              uVar24 = (ulong)local_78 ^ uVar28;\n              local_1a0 = uVar24 % (ulong)param_1[4];\n              puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24);\n              if ((puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)) {\n                    /* try { // try from 00180cad to 00180cec has its CatchHandler @ 00181f61 */\n                plVar14 = (long *)FUN_002d94a0(0x28);\n                lVar21 = param_1[6];\n                *plVar14 = 0;\n                lVar29 = param_1[4];\n                *(undefined4 *)(plVar14 + 3) = 0;\n                plVar14[1] = (long)local_78;\n                plVar14[2] = uStack_70;\n                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);\n                if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    /* try { // try from 00180d0d to 00180d11 has its CatchHandler @ 00181f10 */\n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }\n                plVar14[4] = uVar24;\n                plVar22 = plVar15 + local_1a0;\n                if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }\n                param_1[6] = param_1[6] + 1;\n              }\n              piVar5 = (int *)param_1[0xb];\n              *(int *)(plVar14 + 3) = iVar13;\n              if (piVar5 == (int *)param_1[0xc]) {\n                __src = (int *)param_1[10];\n                sVar17 = (long)piVar5 - (long)__src;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }\n                *(int *)((long)__dest + sVar17) = iVar13;\n                lVar21 = (long)__dest + sVar17 + 4;\n                if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }\n                param_1[10] = (long)__dest;\n                param_1[0xb] = lVar21;\n                param_1[0xc] = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    /* try { // try from 00180b6b to 00180bee has its CatchHandler @ 00181f61 */\n              local_78 = (undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28);\n              if (local_160 == local_158) {\n                FUN_00182710(&local_168,local_160,local_1a8);\n              }\n              else {\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }\n              iVar10 = local_90;\n              puVar32 = local_98;\n              if (local_98 == local_88) {\n                local_180 = local_90;\n                local_188 = local_98;\n                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);\n              }\n              else {\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }\n              local_78 = &local_68;\n              FUN_001665c0(local_1a8,"");\n                    /* try { // try from 00180c00 to 00180c04 has its CatchHandler @ 00181f59 */\n              FUN_0016f840(&local_148,local_1a8);\n              if (local_78 != &local_68) {\n                FUN_002dac70();\n              }\n              iVar13 = iVar13 + 1;\n              if (local_c8 != local_b8) goto LAB_00180c31;\n            }\n            else {\n              lVar21 = 0xf;\n              pbVar16 = (byte *)".gnu.linkonce.t";\n              puVar32 = local_c8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              } while (bVar39);\n              if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;\nLAB_00180c96:\n              if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }\n            }\n            plVar14 = (long *)*puVar19;\n            uVar26 = iVar27 + 1;\n            uVar28 = (ulong)uVar26;\n            uVar35 = uVar26 < *(uint *)(plVar14 + 7);\n            uVar38 = uVar26 == *(uint *)(plVar14 + 7);\n          } while ((bool)uVar35);\n        }\n        if (plVar30[5] != 0) {\n          FUN_0017a690(plVar30[5] + 0x28,0xffffffffffffffff);\n        }\n      }\n      puVar19 = puVar19 + 1;\n    } while ((ulong *)param_2[1] != puVar19);\n  }\n  if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }\n  uVar26 = 0;\n  uVar3 = *(uint *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2dac);\n  uVar11 = 2;\n  if (0 < (int)uVar3) {\n    uVar11 = uVar3;\n  }\n  do {\n    uVar26 = uVar26 + 1;\n    uStack_70 = 1;\n    local_78 = local_48;\n    local_68 = 0;\n    local_60 = 0;\n    local_58 = 0x3f800000;\n    local_50 = 0;\n    local_48[0] = 0;\n    if (uVar26 == 1) {\n                    /* try { // try from 00181c11 to 00181c15 has its CatchHandler @ 00181f8d */\n      FUN_00180660(param_1,&local_a8,0);\n    }\n    else {\n                    /* try { // try from 00181355 to 00181359 has its CatchHandler @ 00181f8d */\n      FUN_00180660(param_1,&local_a8,&local_148);\n    }\n    local_128 = (long *)0x0;\n    local_120 = (long *)0x0;\n    local_118 = 0;\n    if (param_1[1] == *param_1) {\n      FUN_00182070(&local_78);\n      bVar36 = true;\n      break;\n    }\n    uVar28 = 0;\n    bVar36 = true;\n    uVar3 = 0;\n    do {\n      local_c8 = local_b8;\n                    /* try { // try from 00181402 to 00181406 has its CatchHandler @ 00181f77 */\n      FUN_001665c0(&local_c8,"");\n                    /* try { // try from 00181411 to 00181415 has its CatchHandler @ 00181f51 */\n      FUN_0016f840(&local_128,&local_c8);\n      if (local_c8 != local_b8) {\n        FUN_002dac70();\n      }\n      local_1a0._0_1_ = (byte)uVar3;\n      uVar24 = 1L << ((byte)local_1a0 & 0x3f);\n      lVar21 = *param_1;\n      if ((uVar24 & *(ulong *)(local_a8 + (uVar28 >> 6) * 8)) == 0) {\n        puVar18 = (undefined8 *)(lVar21 + uVar28 * 0x10);\n        local_178 = *puVar18;\n        uStack_170 = puVar18[1];\n        local_100 = 0;\n        local_f8[0] = local_f8[0] & 0xffffffffffffff00;\n        local_108 = local_f8;\n        if (uVar26 == 1) {\n          local_e8 = (ulong *)((ulong)local_e8 & 0xffffffff00000000);\n          FUN_0017f6d0(&local_c8,1,&local_178,uVar3,&local_e8,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_c8 == local_b8) {\n            sVar17 = local_c0;\n            if (local_c0 != 0) {\n              if (local_c0 == 1) {\n                *(byte *)local_108 = (byte)local_b8[0];\n                sVar17 = local_c0;\n              }\n              else {\n                memcpy(local_108,local_c8,local_c0);\n                sVar17 = local_c0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_c8;\n              local_100 = local_c0;\n              local_f8[0] = local_b8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_c8 = puVar19;\n                local_b8[0] = uVar25;\n                goto LAB_00181993;\n              }\n            }\n            local_f8[0] = local_b8[0];\n            local_100 = local_c0;\n            local_108 = local_c8;\n            local_c8 = local_b8;\n          }\nLAB_00181993:\n          local_c0 = 0;\n          *(byte *)local_c8 = 0;\n          if (local_c8 != local_b8) {\n            FUN_002dac70();\n          }\n          local_1d8[uVar28] = local_e8._0_4_;\n        }\n        else {\n          if (uVar3 != *(uint *)(param_1[10] + uVar28 * 4)) goto LAB_001813c8;\n                    /* try { // try from 001814fb to 00181926 has its CatchHandler @ 00181f49 */\n          FUN_0017f6d0(&local_e8,0,&local_178,uVar3,0,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_e8 == local_d8) {\n            sVar17 = local_e0;\n            if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *(byte *)local_108 = (byte)local_d8[0];\n                sVar17 = local_e0;\n              }\n              else {\n                memcpy(local_108,local_e8,local_e0);\n                sVar17 = local_e0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_e8;\n              local_100 = local_e0;\n              local_f8[0] = local_d8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_e8 = puVar19;\n                local_d8[0] = uVar25;\n                goto LAB_0018156c;\n              }\n            }\n            local_f8[0] = local_d8[0];\n            local_100 = local_e0;\n            local_108 = local_e8;\n            local_e8 = local_d8;\n          }\nLAB_0018156c:\n          local_e0 = 0;\n          *(byte *)local_e8 = 0;\n          if (local_e8 != local_d8) {\n            FUN_002dac70();\n          }\n        }\n        uVar12 = FUN_002d5ef0(local_108,local_100 & 0xffffffff,0xffffffff);\n        uVar25 = (ulong)uVar12 % uStack_70;\n        local_18c = uVar12;\n        if (((long *)local_78[uVar25] == (long *)0x0) ||\n           (puVar18 = *(undefined8 **)local_78[uVar25], puVar18 == (undefined8 *)0x0)) {\nLAB_00181638:\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,(ulong)uVar12,puVar18);\n        }\n        else {\n          uVar23 = (ulong)*(uint *)(puVar18 + 1);\n          lVar21 = 0;\n          do {\n            if (uVar12 == (uint)uVar23) {\n              puVar18 = (undefined8 *)*puVar18;\n              lVar21 = lVar21 + 1;\n              lVar29 = lVar21;\n            }\n            else {\n              if (lVar21 != 0) goto LAB_00181742;\n              puVar18 = (undefined8 *)*puVar18;\n              lVar29 = 0;\n            }\n          } while ((puVar18 != (undefined8 *)0x0) &&\n                  (uVar23 = (ulong)*(uint *)(puVar18 + 1), lVar29 = lVar21,\n                  uVar25 == uVar23 % uStack_70));\n          if (lVar29 == 0) goto LAB_00181638;\nLAB_00181742:\n          auVar41 = FUN_00182170(&local_78,&local_18c);\n          uVar25 = local_100;\n          puVar19 = local_108;\n          plVar4 = local_128;\n          uVar12 = local_18c;\n          for (puVar18 = auVar41._0_8_; local_18c = uVar12, puVar18 != auVar41._8_8_;\n              puVar18 = (undefined8 *)*puVar18) {\n            uVar12 = *(uint *)((long)puVar18 + 0xc);\n            uVar23 = (ulong)uVar12;\n            plVar30 = plVar4 + uVar23 * 4;\n            if ((plVar30[1] == uVar25) &&\n               (iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0)) {\n              if (*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8)) {\n                *(uint *)(param_1[10] + uVar23 * 4) = uVar3;\n                *(uint *)((long)puVar18 + 0xc) = uVar3;\n                FUN_002e3180(plVar30,plVar4 + uVar28 * 4);\n                bVar36 = false;\n              }\n              else {\n                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;\n                bVar36 = false;\n              }\n              goto joined_r0x00181835;\n            }\n            uVar12 = local_18c;\n          }\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,uVar12,puVar18);\n        }\n        FUN_002e1890(local_128 + uVar28 * 4,&local_108);\njoined_r0x00181835:\n        if ((uVar26 == 1) && (local_1d8[uVar28] == 0)) {\n          puVar19 = (ulong *)((uVar28 >> 6) * 8 + local_a8);\n          *puVar19 = *puVar19 | uVar24;\n        }\n        if (local_108 != local_f8) {\n          FUN_002dac70();\n        }\n        lVar21 = *param_1;\n      }\nLAB_001813c8:\n      plVar4 = local_120;\n      uVar3 = uVar3 + 1;\n      uVar28 = (ulong)uVar3;\n      uVar24 = param_1[1] - lVar21 >> 4;\n    } while (uVar28 < uVar24);\n    plVar30 = local_128;\n    if (uVar24 != 0) {\n      lVar21 = param_1[10];\n      uVar25 = 0;\n      uVar28 = uVar25;\n      do {\n        do {\n          uVar12 = (uint)uVar25;\n          uVar3 = *(uint *)(lVar21 + uVar25 * 4);\n          uVar25 = (ulong)uVar3;\n        } while (uVar12 != uVar3);\n        puVar2 = (uint *)(lVar21 + uVar28 * 4);\n        uVar12 = *puVar2;\n        while (uVar12 != uVar3) {\n          *puVar2 = uVar3;\n          puVar2 = (uint *)(lVar21 + (ulong)uVar12 * 4);\n          uVar12 = *puVar2;\n        }\n        uVar25 = (ulong)((int)uVar28 + 1);\n        uVar28 = uVar25;\n      } while (uVar25 < uVar24);\n    }\n    for (; plVar30 != plVar4; plVar30 = plVar30 + 4) {\n      if ((long *)*plVar30 != plVar30 + 2) {\n        FUN_002dac70();\n      }\n    }\n    if (local_128 != (long *)0x0) {\n      FUN_002dac70(local_128);\n    }\n    FUN_00182070(&local_78);\n  } while (uVar26 < uVar11 && !bVar36);\n  uVar7 = DAT_0043e8e8;\n  lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n  if (lVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }\n  if (*(char *)(lVar21 + 0x4be1) != '\0') {\n    pcVar34 = "%s: ICF Converged after %u iteration(s)";\n    if (!bVar36) {\n      pcVar34 = "%s: ICF stopped after %u iteration(s)";\n    }\n    uVar20 = gettext(pcVar34);\n                    /* try { // try from 00181db6 to 00181de6 has its CatchHandler @ 00181f33 */\n    FUN_00178480(uVar20,uVar7,uVar26);\n    lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    if (lVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }\n  }\n  puVar18 = *(undefined8 **)(lVar21 + 0x34a0);\n  plVar4 = local_140;\n  do {\n    local_140 = plVar4;\n    if (puVar18 == (undefined8 *)0x0) {\n      *(undefined1 *)(param_1 + 0x14) = 1;\n      for (plVar30 = local_148; plVar4 != plVar30; plVar30 = plVar30 + 4) {\n        if ((long *)*plVar30 != plVar30 + 2) {\n          FUN_002dac70();\n        }\n      }\n      if (local_148 != (long *)0x0) {\n        FUN_002dac70(local_148);\n      }\n      if (local_a8 != 0) {\n        FUN_002dac70(local_a8);\n      }\n      if (local_168 != 0) {\n        FUN_002dac70();\n      }\n      if (local_1d8 != (undefined4 *)0x0) {\n        FUN_002dac70(local_1d8);\n      }\n      return;\n    }\n    uVar7 = puVar18[1];\n                    /* try { // try from 00181b61 to 00181b7f has its CatchHandler @ 00181f33 */\n    lVar21 = FUN_002732b0(param_3,uVar7,0);\n    if (lVar21 == 0) {\n      uVar20 = gettext("Could not find symbol %s to unfold\n");\n      FUN_001783d0(uVar20,uVar7);\n    }\n    else if ((((*(byte *)(lVar21 + 0x3a) & 7) == 0) &&\n             ((*(byte *)(*(long *)(lVar21 + 0x10) + 0x3c) & 1) == 0)) &&\n            ((*(byte *)(lVar21 + 0x3b) & 0x20) != 0)) {\n      FUN_0017f5f0(param_1,*(long *)(lVar21 + 0x10),*(undefined4 *)(lVar21 + 0x18));\n    }\n    puVar18 = (undefined8 *)*puVar18;\n    plVar4 = local_140;\n  } while (*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0);\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181eab to 00181edf has its CatchHandler @ 00181f33 */\n  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n}\n\n" (function_definition "void FUN_001808e0(long *param_1,long *param_2,long param_3)\n\n{\n  long *plVar1;\n  uint *puVar2;\n  uint uVar3;\n  long *plVar4;\n  int *piVar5;\n  long *plVar6;\n  int *__src;\n  undefined8 uVar7;\n  byte bVar8;\n  char cVar9;\n  int iVar10;\n  uint uVar11;\n  uint uVar12;\n  int iVar13;\n  long *plVar14;\n  long *plVar15;\n  byte *pbVar16;\n  void *__dest;\n  size_t sVar17;\n  undefined4 *__dest_00;\n  undefined8 *puVar18;\n  ulong *puVar19;\n  undefined8 uVar20;\n  long lVar21;\n  long *plVar22;\n  ulong extraout_RDX;\n  ulong uVar23;\n  ulong uVar24;\n  ulong uVar25;\n  uint uVar26;\n  int iVar27;\n  ulong uVar28;\n  long lVar29;\n  long *plVar30;\n  byte *pbVar31;\n  ulong *puVar32;\n  byte *pbVar33;\n  char *pcVar34;\n  undefined1 uVar35;\n  bool bVar36;\n  bool bVar37;\n  undefined1 uVar38;\n  bool bVar39;\n  byte bVar40;\n  undefined1 auVar41 [16];\n  long local_1e8;\n  undefined4 *local_1d8;\n  long local_1d0;\n  undefined4 *local_1c8;\n  undefined4 *local_1b0;\n  undefined8 **local_1a8;\n  ulong local_1a0;\n  uint local_18c;\n  ulong *local_188;\n  int local_180;\n  undefined4 uStack_17c;\n  undefined8 local_178;\n  undefined8 uStack_170;\n  long local_168;\n  undefined8 *local_160;\n  undefined8 *local_158;\n  long *local_148;\n  long *local_140;\n  undefined8 local_138;\n  long *local_128;\n  long *local_120;\n  undefined8 local_118;\n  ulong *local_108;\n  ulong local_100;\n  ulong local_f8 [2];\n  ulong *local_e8;\n  size_t local_e0;\n  ulong local_d8 [2];\n  ulong *local_c8;\n  size_t local_c0;\n  ulong local_b8 [2];\n  long local_a8;\n  undefined4 local_a0;\n  ulong *local_98;\n  int local_90;\n  ulong *local_88;\n  undefined8 *local_78;\n  ulong uStack_70;\n  undefined8 local_68;\n  undefined8 local_60;\n  undefined4 local_58;\n  undefined8 local_50;\n  undefined8 local_48 [3];\n  \n  bVar40 = 0;\n  plVar4 = *(long **)(PTR_DAT_0043e6b0 + 0x18);\n  local_168 = 0;\n  local_160 = (undefined8 *)0x0;\n  local_158 = (undefined8 *)0x0;\n  local_a8 = 0;\n  local_a0 = 0;\n  local_98 = (ulong *)0x0;\n  local_90 = 0;\n  local_88 = (ulong *)0x0;\n  local_148 = (long *)0x0;\n  local_140 = (long *)0x0;\n  local_138 = 0;\n  if (plVar4 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181f0b to 00181f0f has its CatchHandler @ 00181f15 */\n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }\n  puVar19 = (ulong *)*param_2;\n  if (puVar19 == (ulong *)param_2[1]) {\n    local_1d8 = (undefined4 *)0x0;\n  }\n  else {\n    local_1c8 = (undefined4 *)0x0;\n    local_1b0 = (undefined4 *)0x0;\n    local_1d8 = (undefined4 *)0x0;\n    iVar13 = 0;\n    do {\n      plVar30 = (long *)*puVar19;\n      if (plVar30[5] == 0) {\n        plVar14 = plVar30;\n        if ((int)plVar30[7] != 0) goto LAB_00180a17;\n      }\n      else {\n                    /* try { // try from 00180a02 to 00180a06 has its CatchHandler @ 00181f33 */\n        FUN_00179ad0(plVar30[5] + 0x28,0xffffffffffffffff);\n        plVar14 = (long *)*puVar19;\n        if ((int)((long *)*puVar19)[7] != 0) {\nLAB_00180a17:\n          uVar35 = false;\n          uVar28 = 0;\n          uVar38 = true;\n          do {\n            iVar27 = (int)uVar28;\n                    /* try { // try from 00180c4d to 00180c52 has its CatchHandler @ 00181f1d */\n            (**(code **)(*plVar14 + 0x80))(&local_c8,plVar14,uVar28);\n            lVar21 = 5;\n            pbVar16 = (byte *)".text";\n            puVar32 = local_c8;\n            do {\n              if (lVar21 == 0) break;\n              lVar21 = lVar21 + -1;\n              uVar35 = *pbVar16 < (byte)*puVar32;\n              uVar38 = *pbVar16 == (byte)*puVar32;\n              pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n              puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n            } while ((bool)uVar38);\n            bVar36 = false;\n            bVar39 = (!(bool)uVar35 && !(bool)uVar38) == (bool)uVar35;\n            if (bVar39) {\nLAB_00180a28:\n              puVar18 = (undefined8 *)*puVar19;\n              if ((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181e47 to 00181e63 has its CatchHandler @ 00181f61 */\n                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (*(long *)(puVar18[10] + uVar28 * 8) == 0) goto LAB_00180c96;\n              lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n              if (lVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(lVar21 + 0x2809) != '\0') {\n                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                local_78 = puVar18;\n                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);\n                if (lVar21 == 0) goto LAB_00180c96;\n                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00180e61 to 001811fa has its CatchHandler @ 00181f61 */\n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (*(int *)(lVar21 + 0x9050) == 2) {\n                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);\n                bVar36 = false;\n                bVar39 = pbVar16 == (byte *)0x0;\n                if (bVar39) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181ef3 to 00181ef7 has its CatchHandler @ 00181f61 */\n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar21 = 4;\n                pbVar31 = &DAT_00373305;\n                pbVar33 = pbVar16;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);\n                bVar37 = false;\n                bVar36 = (!bVar36 && !bVar39) == bVar36;\n                if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }\n                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = &local_78;\n              local_78 = (undefined8 *)*puVar19;\n              puVar32 = (ulong *)param_1[1];\n              if (puVar32 == (ulong *)param_1[2]) {\n                uStack_70._0_4_ = iVar27;\n                FUN_001825a0(param_1,puVar32,local_1a8);\n              }\n              else {\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }\n              local_78 = (undefined8 *)*puVar19;\n              uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n              uVar24 = (ulong)local_78 ^ uVar28;\n              local_1a0 = uVar24 % (ulong)param_1[4];\n              puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24);\n              if ((puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)) {\n                    /* try { // try from 00180cad to 00180cec has its CatchHandler @ 00181f61 */\n                plVar14 = (long *)FUN_002d94a0(0x28);\n                lVar21 = param_1[6];\n                *plVar14 = 0;\n                lVar29 = param_1[4];\n                *(undefined4 *)(plVar14 + 3) = 0;\n                plVar14[1] = (long)local_78;\n                plVar14[2] = uStack_70;\n                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);\n                if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    /* try { // try from 00180d0d to 00180d11 has its CatchHandler @ 00181f10 */\n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }\n                plVar14[4] = uVar24;\n                plVar22 = plVar15 + local_1a0;\n                if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }\n                param_1[6] = param_1[6] + 1;\n              }\n              piVar5 = (int *)param_1[0xb];\n              *(int *)(plVar14 + 3) = iVar13;\n              if (piVar5 == (int *)param_1[0xc]) {\n                __src = (int *)param_1[10];\n                sVar17 = (long)piVar5 - (long)__src;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }\n                *(int *)((long)__dest + sVar17) = iVar13;\n                lVar21 = (long)__dest + sVar17 + 4;\n                if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }\n                param_1[10] = (long)__dest;\n                param_1[0xb] = lVar21;\n                param_1[0xc] = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    /* try { // try from 00180b6b to 00180bee has its CatchHandler @ 00181f61 */\n              local_78 = (undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28);\n              if (local_160 == local_158) {\n                FUN_00182710(&local_168,local_160,local_1a8);\n              }\n              else {\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }\n              iVar10 = local_90;\n              puVar32 = local_98;\n              if (local_98 == local_88) {\n                local_180 = local_90;\n                local_188 = local_98;\n                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);\n              }\n              else {\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }\n              local_78 = &local_68;\n              FUN_001665c0(local_1a8,"");\n                    /* try { // try from 00180c00 to 00180c04 has its CatchHandler @ 00181f59 */\n              FUN_0016f840(&local_148,local_1a8);\n              if (local_78 != &local_68) {\n                FUN_002dac70();\n              }\n              iVar13 = iVar13 + 1;\n              if (local_c8 != local_b8) goto LAB_00180c31;\n            }\n            else {\n              lVar21 = 0xf;\n              pbVar16 = (byte *)".gnu.linkonce.t";\n              puVar32 = local_c8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              } while (bVar39);\n              if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;\nLAB_00180c96:\n              if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }\n            }\n            plVar14 = (long *)*puVar19;\n            uVar26 = iVar27 + 1;\n            uVar28 = (ulong)uVar26;\n            uVar35 = uVar26 < *(uint *)(plVar14 + 7);\n            uVar38 = uVar26 == *(uint *)(plVar14 + 7);\n          } while ((bool)uVar35);\n        }\n        if (plVar30[5] != 0) {\n          FUN_0017a690(plVar30[5] + 0x28,0xffffffffffffffff);\n        }\n      }\n      puVar19 = puVar19 + 1;\n    } while ((ulong *)param_2[1] != puVar19);\n  }\n  if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }\n  uVar26 = 0;\n  uVar3 = *(uint *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2dac);\n  uVar11 = 2;\n  if (0 < (int)uVar3) {\n    uVar11 = uVar3;\n  }\n  do {\n    uVar26 = uVar26 + 1;\n    uStack_70 = 1;\n    local_78 = local_48;\n    local_68 = 0;\n    local_60 = 0;\n    local_58 = 0x3f800000;\n    local_50 = 0;\n    local_48[0] = 0;\n    if (uVar26 == 1) {\n                    /* try { // try from 00181c11 to 00181c15 has its CatchHandler @ 00181f8d */\n      FUN_00180660(param_1,&local_a8,0);\n    }\n    else {\n                    /* try { // try from 00181355 to 00181359 has its CatchHandler @ 00181f8d */\n      FUN_00180660(param_1,&local_a8,&local_148);\n    }\n    local_128 = (long *)0x0;\n    local_120 = (long *)0x0;\n    local_118 = 0;\n    if (param_1[1] == *param_1) {\n      FUN_00182070(&local_78);\n      bVar36 = true;\n      break;\n    }\n    uVar28 = 0;\n    bVar36 = true;\n    uVar3 = 0;\n    do {\n      local_c8 = local_b8;\n                    /* try { // try from 00181402 to 00181406 has its CatchHandler @ 00181f77 */\n      FUN_001665c0(&local_c8,"");\n                    /* try { // try from 00181411 to 00181415 has its CatchHandler @ 00181f51 */\n      FUN_0016f840(&local_128,&local_c8);\n      if (local_c8 != local_b8) {\n        FUN_002dac70();\n      }\n      local_1a0._0_1_ = (byte)uVar3;\n      uVar24 = 1L << ((byte)local_1a0 & 0x3f);\n      lVar21 = *param_1;\n      if ((uVar24 & *(ulong *)(local_a8 + (uVar28 >> 6) * 8)) == 0) {\n        puVar18 = (undefined8 *)(lVar21 + uVar28 * 0x10);\n        local_178 = *puVar18;\n        uStack_170 = puVar18[1];\n        local_100 = 0;\n        local_f8[0] = local_f8[0] & 0xffffffffffffff00;\n        local_108 = local_f8;\n        if (uVar26 == 1) {\n          local_e8 = (ulong *)((ulong)local_e8 & 0xffffffff00000000);\n          FUN_0017f6d0(&local_c8,1,&local_178,uVar3,&local_e8,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_c8 == local_b8) {\n            sVar17 = local_c0;\n            if (local_c0 != 0) {\n              if (local_c0 == 1) {\n                *(byte *)local_108 = (byte)local_b8[0];\n                sVar17 = local_c0;\n              }\n              else {\n                memcpy(local_108,local_c8,local_c0);\n                sVar17 = local_c0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_c8;\n              local_100 = local_c0;\n              local_f8[0] = local_b8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_c8 = puVar19;\n                local_b8[0] = uVar25;\n                goto LAB_00181993;\n              }\n            }\n            local_f8[0] = local_b8[0];\n            local_100 = local_c0;\n            local_108 = local_c8;\n            local_c8 = local_b8;\n          }\nLAB_00181993:\n          local_c0 = 0;\n          *(byte *)local_c8 = 0;\n          if (local_c8 != local_b8) {\n            FUN_002dac70();\n          }\n          local_1d8[uVar28] = local_e8._0_4_;\n        }\n        else {\n          if (uVar3 != *(uint *)(param_1[10] + uVar28 * 4)) goto LAB_001813c8;\n                    /* try { // try from 001814fb to 00181926 has its CatchHandler @ 00181f49 */\n          FUN_0017f6d0(&local_e8,0,&local_178,uVar3,0,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_e8 == local_d8) {\n            sVar17 = local_e0;\n            if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *(byte *)local_108 = (byte)local_d8[0];\n                sVar17 = local_e0;\n              }\n              else {\n                memcpy(local_108,local_e8,local_e0);\n                sVar17 = local_e0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_e8;\n              local_100 = local_e0;\n              local_f8[0] = local_d8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_e8 = puVar19;\n                local_d8[0] = uVar25;\n                goto LAB_0018156c;\n              }\n            }\n            local_f8[0] = local_d8[0];\n            local_100 = local_e0;\n            local_108 = local_e8;\n            local_e8 = local_d8;\n          }\nLAB_0018156c:\n          local_e0 = 0;\n          *(byte *)local_e8 = 0;\n          if (local_e8 != local_d8) {\n            FUN_002dac70();\n          }\n        }\n        uVar12 = FUN_002d5ef0(local_108,local_100 & 0xffffffff,0xffffffff);\n        uVar25 = (ulong)uVar12 % uStack_70;\n        local_18c = uVar12;\n        if (((long *)local_78[uVar25] == (long *)0x0) ||\n           (puVar18 = *(undefined8 **)local_78[uVar25], puVar18 == (undefined8 *)0x0)) {\nLAB_00181638:\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,(ulong)uVar12,puVar18);\n        }\n        else {\n          uVar23 = (ulong)*(uint *)(puVar18 + 1);\n          lVar21 = 0;\n          do {\n            if (uVar12 == (uint)uVar23) {\n              puVar18 = (undefined8 *)*puVar18;\n              lVar21 = lVar21 + 1;\n              lVar29 = lVar21;\n            }\n            else {\n              if (lVar21 != 0) goto LAB_00181742;\n              puVar18 = (undefined8 *)*puVar18;\n              lVar29 = 0;\n            }\n          } while ((puVar18 != (undefined8 *)0x0) &&\n                  (uVar23 = (ulong)*(uint *)(puVar18 + 1), lVar29 = lVar21,\n                  uVar25 == uVar23 % uStack_70));\n          if (lVar29 == 0) goto LAB_00181638;\nLAB_00181742:\n          auVar41 = FUN_00182170(&local_78,&local_18c);\n          uVar25 = local_100;\n          puVar19 = local_108;\n          plVar4 = local_128;\n          uVar12 = local_18c;\n          for (puVar18 = auVar41._0_8_; local_18c = uVar12, puVar18 != auVar41._8_8_;\n              puVar18 = (undefined8 *)*puVar18) {\n            uVar12 = *(uint *)((long)puVar18 + 0xc);\n            uVar23 = (ulong)uVar12;\n            plVar30 = plVar4 + uVar23 * 4;\n            if ((plVar30[1] == uVar25) &&\n               (iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0)) {\n              if (*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8)) {\n                *(uint *)(param_1[10] + uVar23 * 4) = uVar3;\n                *(uint *)((long)puVar18 + 0xc) = uVar3;\n                FUN_002e3180(plVar30,plVar4 + uVar28 * 4);\n                bVar36 = false;\n              }\n              else {\n                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;\n                bVar36 = false;\n              }\n              goto joined_r0x00181835;\n            }\n            uVar12 = local_18c;\n          }\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,uVar12,puVar18);\n        }\n        FUN_002e1890(local_128 + uVar28 * 4,&local_108);\njoined_r0x00181835:\n        if ((uVar26 == 1) && (local_1d8[uVar28] == 0)) {\n          puVar19 = (ulong *)((uVar28 >> 6) * 8 + local_a8);\n          *puVar19 = *puVar19 | uVar24;\n        }\n        if (local_108 != local_f8) {\n          FUN_002dac70();\n        }\n        lVar21 = *param_1;\n      }\nLAB_001813c8:\n      plVar4 = local_120;\n      uVar3 = uVar3 + 1;\n      uVar28 = (ulong)uVar3;\n      uVar24 = param_1[1] - lVar21 >> 4;\n    } while (uVar28 < uVar24);\n    plVar30 = local_128;\n    if (uVar24 != 0) {\n      lVar21 = param_1[10];\n      uVar25 = 0;\n      uVar28 = uVar25;\n      do {\n        do {\n          uVar12 = (uint)uVar25;\n          uVar3 = *(uint *)(lVar21 + uVar25 * 4);\n          uVar25 = (ulong)uVar3;\n        } while (uVar12 != uVar3);\n        puVar2 = (uint *)(lVar21 + uVar28 * 4);\n        uVar12 = *puVar2;\n        while (uVar12 != uVar3) {\n          *puVar2 = uVar3;\n          puVar2 = (uint *)(lVar21 + (ulong)uVar12 * 4);\n          uVar12 = *puVar2;\n        }\n        uVar25 = (ulong)((int)uVar28 + 1);\n        uVar28 = uVar25;\n      } while (uVar25 < uVar24);\n    }\n    for (; plVar30 != plVar4; plVar30 = plVar30 + 4) {\n      if ((long *)*plVar30 != plVar30 + 2) {\n        FUN_002dac70();\n      }\n    }\n    if (local_128 != (long *)0x0) {\n      FUN_002dac70(local_128);\n    }\n    FUN_00182070(&local_78);\n  } while (uVar26 < uVar11 && !bVar36);\n  uVar7 = DAT_0043e8e8;\n  lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n  if (lVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }\n  if (*(char *)(lVar21 + 0x4be1) != '\0') {\n    pcVar34 = "%s: ICF Converged after %u iteration(s)";\n    if (!bVar36) {\n      pcVar34 = "%s: ICF stopped after %u iteration(s)";\n    }\n    uVar20 = gettext(pcVar34);\n                    /* try { // try from 00181db6 to 00181de6 has its CatchHandler @ 00181f33 */\n    FUN_00178480(uVar20,uVar7,uVar26);\n    lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    if (lVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }\n  }\n  puVar18 = *(undefined8 **)(lVar21 + 0x34a0);\n  plVar4 = local_140;\n  do {\n    local_140 = plVar4;\n    if (puVar18 == (undefined8 *)0x0) {\n      *(undefined1 *)(param_1 + 0x14) = 1;\n      for (plVar30 = local_148; plVar4 != plVar30; plVar30 = plVar30 + 4) {\n        if ((long *)*plVar30 != plVar30 + 2) {\n          FUN_002dac70();\n        }\n      }\n      if (local_148 != (long *)0x0) {\n        FUN_002dac70(local_148);\n      }\n      if (local_a8 != 0) {\n        FUN_002dac70(local_a8);\n      }\n      if (local_168 != 0) {\n        FUN_002dac70();\n      }\n      if (local_1d8 != (undefined4 *)0x0) {\n        FUN_002dac70(local_1d8);\n      }\n      return;\n    }\n    uVar7 = puVar18[1];\n                    /* try { // try from 00181b61 to 00181b7f has its CatchHandler @ 00181f33 */\n    lVar21 = FUN_002732b0(param_3,uVar7,0);\n    if (lVar21 == 0) {\n      uVar20 = gettext("Could not find symbol %s to unfold\n");\n      FUN_001783d0(uVar20,uVar7);\n    }\n    else if ((((*(byte *)(lVar21 + 0x3a) & 7) == 0) &&\n             ((*(byte *)(*(long *)(lVar21 + 0x10) + 0x3c) & 1) == 0)) &&\n            ((*(byte *)(lVar21 + 0x3b) & 0x20) != 0)) {\n      FUN_0017f5f0(param_1,*(long *)(lVar21 + 0x10),*(undefined4 *)(lVar21 + 0x18));\n    }\n    puVar18 = (undefined8 *)*puVar18;\n    plVar4 = local_140;\n  } while (*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0);\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181eab to 00181edf has its CatchHandler @ 00181f33 */\n  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n}" primitive_type (function_declarator "FUN_001808e0(long *param_1,long *param_2,long param_3)" identifier (parameter_list "(long *param_1,long *param_2,long param_3)" ( (parameter_declaration "long *param_1" (sized_type_specifier "long" long) (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "long *param_2" (sized_type_specifier "long" long) (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "long param_3" (sized_type_specifier "long" long) identifier) ))) (compound_statement "{\n  long *plVar1;\n  uint *puVar2;\n  uint uVar3;\n  long *plVar4;\n  int *piVar5;\n  long *plVar6;\n  int *__src;\n  undefined8 uVar7;\n  byte bVar8;\n  char cVar9;\n  int iVar10;\n  uint uVar11;\n  uint uVar12;\n  int iVar13;\n  long *plVar14;\n  long *plVar15;\n  byte *pbVar16;\n  void *__dest;\n  size_t sVar17;\n  undefined4 *__dest_00;\n  undefined8 *puVar18;\n  ulong *puVar19;\n  undefined8 uVar20;\n  long lVar21;\n  long *plVar22;\n  ulong extraout_RDX;\n  ulong uVar23;\n  ulong uVar24;\n  ulong uVar25;\n  uint uVar26;\n  int iVar27;\n  ulong uVar28;\n  long lVar29;\n  long *plVar30;\n  byte *pbVar31;\n  ulong *puVar32;\n  byte *pbVar33;\n  char *pcVar34;\n  undefined1 uVar35;\n  bool bVar36;\n  bool bVar37;\n  undefined1 uVar38;\n  bool bVar39;\n  byte bVar40;\n  undefined1 auVar41 [16];\n  long local_1e8;\n  undefined4 *local_1d8;\n  long local_1d0;\n  undefined4 *local_1c8;\n  undefined4 *local_1b0;\n  undefined8 **local_1a8;\n  ulong local_1a0;\n  uint local_18c;\n  ulong *local_188;\n  int local_180;\n  undefined4 uStack_17c;\n  undefined8 local_178;\n  undefined8 uStack_170;\n  long local_168;\n  undefined8 *local_160;\n  undefined8 *local_158;\n  long *local_148;\n  long *local_140;\n  undefined8 local_138;\n  long *local_128;\n  long *local_120;\n  undefined8 local_118;\n  ulong *local_108;\n  ulong local_100;\n  ulong local_f8 [2];\n  ulong *local_e8;\n  size_t local_e0;\n  ulong local_d8 [2];\n  ulong *local_c8;\n  size_t local_c0;\n  ulong local_b8 [2];\n  long local_a8;\n  undefined4 local_a0;\n  ulong *local_98;\n  int local_90;\n  ulong *local_88;\n  undefined8 *local_78;\n  ulong uStack_70;\n  undefined8 local_68;\n  undefined8 local_60;\n  undefined4 local_58;\n  undefined8 local_50;\n  undefined8 local_48 [3];\n  \n  bVar40 = 0;\n  plVar4 = *(long **)(PTR_DAT_0043e6b0 + 0x18);\n  local_168 = 0;\n  local_160 = (undefined8 *)0x0;\n  local_158 = (undefined8 *)0x0;\n  local_a8 = 0;\n  local_a0 = 0;\n  local_98 = (ulong *)0x0;\n  local_90 = 0;\n  local_88 = (ulong *)0x0;\n  local_148 = (long *)0x0;\n  local_140 = (long *)0x0;\n  local_138 = 0;\n  if (plVar4 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181f0b to 00181f0f has its CatchHandler @ 00181f15 */\n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }\n  puVar19 = (ulong *)*param_2;\n  if (puVar19 == (ulong *)param_2[1]) {\n    local_1d8 = (undefined4 *)0x0;\n  }\n  else {\n    local_1c8 = (undefined4 *)0x0;\n    local_1b0 = (undefined4 *)0x0;\n    local_1d8 = (undefined4 *)0x0;\n    iVar13 = 0;\n    do {\n      plVar30 = (long *)*puVar19;\n      if (plVar30[5] == 0) {\n        plVar14 = plVar30;\n        if ((int)plVar30[7] != 0) goto LAB_00180a17;\n      }\n      else {\n                    /* try { // try from 00180a02 to 00180a06 has its CatchHandler @ 00181f33 */\n        FUN_00179ad0(plVar30[5] + 0x28,0xffffffffffffffff);\n        plVar14 = (long *)*puVar19;\n        if ((int)((long *)*puVar19)[7] != 0) {\nLAB_00180a17:\n          uVar35 = false;\n          uVar28 = 0;\n          uVar38 = true;\n          do {\n            iVar27 = (int)uVar28;\n                    /* try { // try from 00180c4d to 00180c52 has its CatchHandler @ 00181f1d */\n            (**(code **)(*plVar14 + 0x80))(&local_c8,plVar14,uVar28);\n            lVar21 = 5;\n            pbVar16 = (byte *)".text";\n            puVar32 = local_c8;\n            do {\n              if (lVar21 == 0) break;\n              lVar21 = lVar21 + -1;\n              uVar35 = *pbVar16 < (byte)*puVar32;\n              uVar38 = *pbVar16 == (byte)*puVar32;\n              pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n              puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n            } while ((bool)uVar38);\n            bVar36 = false;\n            bVar39 = (!(bool)uVar35 && !(bool)uVar38) == (bool)uVar35;\n            if (bVar39) {\nLAB_00180a28:\n              puVar18 = (undefined8 *)*puVar19;\n              if ((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181e47 to 00181e63 has its CatchHandler @ 00181f61 */\n                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (*(long *)(puVar18[10] + uVar28 * 8) == 0) goto LAB_00180c96;\n              lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n              if (lVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(lVar21 + 0x2809) != '\0') {\n                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                local_78 = puVar18;\n                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);\n                if (lVar21 == 0) goto LAB_00180c96;\n                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00180e61 to 001811fa has its CatchHandler @ 00181f61 */\n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (*(int *)(lVar21 + 0x9050) == 2) {\n                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);\n                bVar36 = false;\n                bVar39 = pbVar16 == (byte *)0x0;\n                if (bVar39) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181ef3 to 00181ef7 has its CatchHandler @ 00181f61 */\n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar21 = 4;\n                pbVar31 = &DAT_00373305;\n                pbVar33 = pbVar16;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);\n                bVar37 = false;\n                bVar36 = (!bVar36 && !bVar39) == bVar36;\n                if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }\n                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = &local_78;\n              local_78 = (undefined8 *)*puVar19;\n              puVar32 = (ulong *)param_1[1];\n              if (puVar32 == (ulong *)param_1[2]) {\n                uStack_70._0_4_ = iVar27;\n                FUN_001825a0(param_1,puVar32,local_1a8);\n              }\n              else {\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }\n              local_78 = (undefined8 *)*puVar19;\n              uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n              uVar24 = (ulong)local_78 ^ uVar28;\n              local_1a0 = uVar24 % (ulong)param_1[4];\n              puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24);\n              if ((puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)) {\n                    /* try { // try from 00180cad to 00180cec has its CatchHandler @ 00181f61 */\n                plVar14 = (long *)FUN_002d94a0(0x28);\n                lVar21 = param_1[6];\n                *plVar14 = 0;\n                lVar29 = param_1[4];\n                *(undefined4 *)(plVar14 + 3) = 0;\n                plVar14[1] = (long)local_78;\n                plVar14[2] = uStack_70;\n                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);\n                if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    /* try { // try from 00180d0d to 00180d11 has its CatchHandler @ 00181f10 */\n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }\n                plVar14[4] = uVar24;\n                plVar22 = plVar15 + local_1a0;\n                if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }\n                param_1[6] = param_1[6] + 1;\n              }\n              piVar5 = (int *)param_1[0xb];\n              *(int *)(plVar14 + 3) = iVar13;\n              if (piVar5 == (int *)param_1[0xc]) {\n                __src = (int *)param_1[10];\n                sVar17 = (long)piVar5 - (long)__src;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }\n                *(int *)((long)__dest + sVar17) = iVar13;\n                lVar21 = (long)__dest + sVar17 + 4;\n                if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }\n                param_1[10] = (long)__dest;\n                param_1[0xb] = lVar21;\n                param_1[0xc] = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    /* try { // try from 00180b6b to 00180bee has its CatchHandler @ 00181f61 */\n              local_78 = (undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28);\n              if (local_160 == local_158) {\n                FUN_00182710(&local_168,local_160,local_1a8);\n              }\n              else {\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }\n              iVar10 = local_90;\n              puVar32 = local_98;\n              if (local_98 == local_88) {\n                local_180 = local_90;\n                local_188 = local_98;\n                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);\n              }\n              else {\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }\n              local_78 = &local_68;\n              FUN_001665c0(local_1a8,"");\n                    /* try { // try from 00180c00 to 00180c04 has its CatchHandler @ 00181f59 */\n              FUN_0016f840(&local_148,local_1a8);\n              if (local_78 != &local_68) {\n                FUN_002dac70();\n              }\n              iVar13 = iVar13 + 1;\n              if (local_c8 != local_b8) goto LAB_00180c31;\n            }\n            else {\n              lVar21 = 0xf;\n              pbVar16 = (byte *)".gnu.linkonce.t";\n              puVar32 = local_c8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              } while (bVar39);\n              if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;\nLAB_00180c96:\n              if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }\n            }\n            plVar14 = (long *)*puVar19;\n            uVar26 = iVar27 + 1;\n            uVar28 = (ulong)uVar26;\n            uVar35 = uVar26 < *(uint *)(plVar14 + 7);\n            uVar38 = uVar26 == *(uint *)(plVar14 + 7);\n          } while ((bool)uVar35);\n        }\n        if (plVar30[5] != 0) {\n          FUN_0017a690(plVar30[5] + 0x28,0xffffffffffffffff);\n        }\n      }\n      puVar19 = puVar19 + 1;\n    } while ((ulong *)param_2[1] != puVar19);\n  }\n  if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }\n  uVar26 = 0;\n  uVar3 = *(uint *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2dac);\n  uVar11 = 2;\n  if (0 < (int)uVar3) {\n    uVar11 = uVar3;\n  }\n  do {\n    uVar26 = uVar26 + 1;\n    uStack_70 = 1;\n    local_78 = local_48;\n    local_68 = 0;\n    local_60 = 0;\n    local_58 = 0x3f800000;\n    local_50 = 0;\n    local_48[0] = 0;\n    if (uVar26 == 1) {\n                    /* try { // try from 00181c11 to 00181c15 has its CatchHandler @ 00181f8d */\n      FUN_00180660(param_1,&local_a8,0);\n    }\n    else {\n                    /* try { // try from 00181355 to 00181359 has its CatchHandler @ 00181f8d */\n      FUN_00180660(param_1,&local_a8,&local_148);\n    }\n    local_128 = (long *)0x0;\n    local_120 = (long *)0x0;\n    local_118 = 0;\n    if (param_1[1] == *param_1) {\n      FUN_00182070(&local_78);\n      bVar36 = true;\n      break;\n    }\n    uVar28 = 0;\n    bVar36 = true;\n    uVar3 = 0;\n    do {\n      local_c8 = local_b8;\n                    /* try { // try from 00181402 to 00181406 has its CatchHandler @ 00181f77 */\n      FUN_001665c0(&local_c8,"");\n                    /* try { // try from 00181411 to 00181415 has its CatchHandler @ 00181f51 */\n      FUN_0016f840(&local_128,&local_c8);\n      if (local_c8 != local_b8) {\n        FUN_002dac70();\n      }\n      local_1a0._0_1_ = (byte)uVar3;\n      uVar24 = 1L << ((byte)local_1a0 & 0x3f);\n      lVar21 = *param_1;\n      if ((uVar24 & *(ulong *)(local_a8 + (uVar28 >> 6) * 8)) == 0) {\n        puVar18 = (undefined8 *)(lVar21 + uVar28 * 0x10);\n        local_178 = *puVar18;\n        uStack_170 = puVar18[1];\n        local_100 = 0;\n        local_f8[0] = local_f8[0] & 0xffffffffffffff00;\n        local_108 = local_f8;\n        if (uVar26 == 1) {\n          local_e8 = (ulong *)((ulong)local_e8 & 0xffffffff00000000);\n          FUN_0017f6d0(&local_c8,1,&local_178,uVar3,&local_e8,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_c8 == local_b8) {\n            sVar17 = local_c0;\n            if (local_c0 != 0) {\n              if (local_c0 == 1) {\n                *(byte *)local_108 = (byte)local_b8[0];\n                sVar17 = local_c0;\n              }\n              else {\n                memcpy(local_108,local_c8,local_c0);\n                sVar17 = local_c0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_c8;\n              local_100 = local_c0;\n              local_f8[0] = local_b8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_c8 = puVar19;\n                local_b8[0] = uVar25;\n                goto LAB_00181993;\n              }\n            }\n            local_f8[0] = local_b8[0];\n            local_100 = local_c0;\n            local_108 = local_c8;\n            local_c8 = local_b8;\n          }\nLAB_00181993:\n          local_c0 = 0;\n          *(byte *)local_c8 = 0;\n          if (local_c8 != local_b8) {\n            FUN_002dac70();\n          }\n          local_1d8[uVar28] = local_e8._0_4_;\n        }\n        else {\n          if (uVar3 != *(uint *)(param_1[10] + uVar28 * 4)) goto LAB_001813c8;\n                    /* try { // try from 001814fb to 00181926 has its CatchHandler @ 00181f49 */\n          FUN_0017f6d0(&local_e8,0,&local_178,uVar3,0,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_e8 == local_d8) {\n            sVar17 = local_e0;\n            if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *(byte *)local_108 = (byte)local_d8[0];\n                sVar17 = local_e0;\n              }\n              else {\n                memcpy(local_108,local_e8,local_e0);\n                sVar17 = local_e0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_e8;\n              local_100 = local_e0;\n              local_f8[0] = local_d8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_e8 = puVar19;\n                local_d8[0] = uVar25;\n                goto LAB_0018156c;\n              }\n            }\n            local_f8[0] = local_d8[0];\n            local_100 = local_e0;\n            local_108 = local_e8;\n            local_e8 = local_d8;\n          }\nLAB_0018156c:\n          local_e0 = 0;\n          *(byte *)local_e8 = 0;\n          if (local_e8 != local_d8) {\n            FUN_002dac70();\n          }\n        }\n        uVar12 = FUN_002d5ef0(local_108,local_100 & 0xffffffff,0xffffffff);\n        uVar25 = (ulong)uVar12 % uStack_70;\n        local_18c = uVar12;\n        if (((long *)local_78[uVar25] == (long *)0x0) ||\n           (puVar18 = *(undefined8 **)local_78[uVar25], puVar18 == (undefined8 *)0x0)) {\nLAB_00181638:\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,(ulong)uVar12,puVar18);\n        }\n        else {\n          uVar23 = (ulong)*(uint *)(puVar18 + 1);\n          lVar21 = 0;\n          do {\n            if (uVar12 == (uint)uVar23) {\n              puVar18 = (undefined8 *)*puVar18;\n              lVar21 = lVar21 + 1;\n              lVar29 = lVar21;\n            }\n            else {\n              if (lVar21 != 0) goto LAB_00181742;\n              puVar18 = (undefined8 *)*puVar18;\n              lVar29 = 0;\n            }\n          } while ((puVar18 != (undefined8 *)0x0) &&\n                  (uVar23 = (ulong)*(uint *)(puVar18 + 1), lVar29 = lVar21,\n                  uVar25 == uVar23 % uStack_70));\n          if (lVar29 == 0) goto LAB_00181638;\nLAB_00181742:\n          auVar41 = FUN_00182170(&local_78,&local_18c);\n          uVar25 = local_100;\n          puVar19 = local_108;\n          plVar4 = local_128;\n          uVar12 = local_18c;\n          for (puVar18 = auVar41._0_8_; local_18c = uVar12, puVar18 != auVar41._8_8_;\n              puVar18 = (undefined8 *)*puVar18) {\n            uVar12 = *(uint *)((long)puVar18 + 0xc);\n            uVar23 = (ulong)uVar12;\n            plVar30 = plVar4 + uVar23 * 4;\n            if ((plVar30[1] == uVar25) &&\n               (iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0)) {\n              if (*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8)) {\n                *(uint *)(param_1[10] + uVar23 * 4) = uVar3;\n                *(uint *)((long)puVar18 + 0xc) = uVar3;\n                FUN_002e3180(plVar30,plVar4 + uVar28 * 4);\n                bVar36 = false;\n              }\n              else {\n                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;\n                bVar36 = false;\n              }\n              goto joined_r0x00181835;\n            }\n            uVar12 = local_18c;\n          }\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,uVar12,puVar18);\n        }\n        FUN_002e1890(local_128 + uVar28 * 4,&local_108);\njoined_r0x00181835:\n        if ((uVar26 == 1) && (local_1d8[uVar28] == 0)) {\n          puVar19 = (ulong *)((uVar28 >> 6) * 8 + local_a8);\n          *puVar19 = *puVar19 | uVar24;\n        }\n        if (local_108 != local_f8) {\n          FUN_002dac70();\n        }\n        lVar21 = *param_1;\n      }\nLAB_001813c8:\n      plVar4 = local_120;\n      uVar3 = uVar3 + 1;\n      uVar28 = (ulong)uVar3;\n      uVar24 = param_1[1] - lVar21 >> 4;\n    } while (uVar28 < uVar24);\n    plVar30 = local_128;\n    if (uVar24 != 0) {\n      lVar21 = param_1[10];\n      uVar25 = 0;\n      uVar28 = uVar25;\n      do {\n        do {\n          uVar12 = (uint)uVar25;\n          uVar3 = *(uint *)(lVar21 + uVar25 * 4);\n          uVar25 = (ulong)uVar3;\n        } while (uVar12 != uVar3);\n        puVar2 = (uint *)(lVar21 + uVar28 * 4);\n        uVar12 = *puVar2;\n        while (uVar12 != uVar3) {\n          *puVar2 = uVar3;\n          puVar2 = (uint *)(lVar21 + (ulong)uVar12 * 4);\n          uVar12 = *puVar2;\n        }\n        uVar25 = (ulong)((int)uVar28 + 1);\n        uVar28 = uVar25;\n      } while (uVar25 < uVar24);\n    }\n    for (; plVar30 != plVar4; plVar30 = plVar30 + 4) {\n      if ((long *)*plVar30 != plVar30 + 2) {\n        FUN_002dac70();\n      }\n    }\n    if (local_128 != (long *)0x0) {\n      FUN_002dac70(local_128);\n    }\n    FUN_00182070(&local_78);\n  } while (uVar26 < uVar11 && !bVar36);\n  uVar7 = DAT_0043e8e8;\n  lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n  if (lVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }\n  if (*(char *)(lVar21 + 0x4be1) != '\0') {\n    pcVar34 = "%s: ICF Converged after %u iteration(s)";\n    if (!bVar36) {\n      pcVar34 = "%s: ICF stopped after %u iteration(s)";\n    }\n    uVar20 = gettext(pcVar34);\n                    /* try { // try from 00181db6 to 00181de6 has its CatchHandler @ 00181f33 */\n    FUN_00178480(uVar20,uVar7,uVar26);\n    lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    if (lVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }\n  }\n  puVar18 = *(undefined8 **)(lVar21 + 0x34a0);\n  plVar4 = local_140;\n  do {\n    local_140 = plVar4;\n    if (puVar18 == (undefined8 *)0x0) {\n      *(undefined1 *)(param_1 + 0x14) = 1;\n      for (plVar30 = local_148; plVar4 != plVar30; plVar30 = plVar30 + 4) {\n        if ((long *)*plVar30 != plVar30 + 2) {\n          FUN_002dac70();\n        }\n      }\n      if (local_148 != (long *)0x0) {\n        FUN_002dac70(local_148);\n      }\n      if (local_a8 != 0) {\n        FUN_002dac70(local_a8);\n      }\n      if (local_168 != 0) {\n        FUN_002dac70();\n      }\n      if (local_1d8 != (undefined4 *)0x0) {\n        FUN_002dac70(local_1d8);\n      }\n      return;\n    }\n    uVar7 = puVar18[1];\n                    /* try { // try from 00181b61 to 00181b7f has its CatchHandler @ 00181f33 */\n    lVar21 = FUN_002732b0(param_3,uVar7,0);\n    if (lVar21 == 0) {\n      uVar20 = gettext("Could not find symbol %s to unfold\n");\n      FUN_001783d0(uVar20,uVar7);\n    }\n    else if ((((*(byte *)(lVar21 + 0x3a) & 7) == 0) &&\n             ((*(byte *)(*(long *)(lVar21 + 0x10) + 0x3c) & 1) == 0)) &&\n            ((*(byte *)(lVar21 + 0x3b) & 0x20) != 0)) {\n      FUN_0017f5f0(param_1,*(long *)(lVar21 + 0x10),*(undefined4 *)(lVar21 + 0x18));\n    }\n    puVar18 = (undefined8 *)*puVar18;\n    plVar4 = local_140;\n  } while (*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0);\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181eab to 00181edf has its CatchHandler @ 00181f33 */\n  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n}" { (declaration "long *plVar1;" (sized_type_specifier "long" long) (pointer_declarator "*plVar1" * identifier) ;) (declaration "uint *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "long *plVar4;" (sized_type_specifier "long" long) (pointer_declarator "*plVar4" * identifier) ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "long *plVar6;" (sized_type_specifier "long" long) (pointer_declarator "*plVar6" * identifier) ;) (declaration "int *__src;" primitive_type (pointer_declarator "*__src" * identifier) ;) (declaration "undefined8 uVar7;" type_identifier identifier ;) (declaration "byte bVar8;" type_identifier identifier ;) (declaration "char cVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "long *plVar14;" (sized_type_specifier "long" long) (pointer_declarator "*plVar14" * identifier) ;) (declaration "long *plVar15;" (sized_type_specifier "long" long) (pointer_declarator "*plVar15" * identifier) ;) (declaration "byte *pbVar16;" type_identifier (pointer_declarator "*pbVar16" * identifier) ;) (declaration "void *__dest;" primitive_type (pointer_declarator "*__dest" * identifier) ;) (declaration "size_t sVar17;" primitive_type identifier ;) (declaration "undefined4 *__dest_00;" type_identifier (pointer_declarator "*__dest_00" * identifier) ;) (declaration "undefined8 *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "ulong *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "undefined8 uVar20;" type_identifier identifier ;) (declaration "long lVar21;" (sized_type_specifier "long" long) identifier ;) (declaration "long *plVar22;" (sized_type_specifier "long" long) (pointer_declarator "*plVar22" * identifier) ;) (declaration "ulong extraout_RDX;" type_identifier identifier ;) (declaration "ulong uVar23;" type_identifier identifier ;) (declaration "ulong uVar24;" type_identifier identifier ;) (declaration "ulong uVar25;" type_identifier identifier ;) (declaration "uint uVar26;" type_identifier identifier ;) (declaration "int iVar27;" primitive_type identifier ;) (declaration "ulong uVar28;" type_identifier identifier ;) (declaration "long lVar29;" (sized_type_specifier "long" long) identifier ;) (declaration "long *plVar30;" (sized_type_specifier "long" long) (pointer_declarator "*plVar30" * identifier) ;) (declaration "byte *pbVar31;" type_identifier (pointer_declarator "*pbVar31" * identifier) ;) (declaration "ulong *puVar32;" type_identifier (pointer_declarator "*puVar32" * identifier) ;) (declaration "byte *pbVar33;" type_identifier (pointer_declarator "*pbVar33" * identifier) ;) (declaration "char *pcVar34;" primitive_type (pointer_declarator "*pcVar34" * identifier) ;) (declaration "undefined1 uVar35;" type_identifier identifier ;) (declaration "bool bVar36;" primitive_type identifier ;) (declaration "bool bVar37;" primitive_type identifier ;) (declaration "undefined1 uVar38;" type_identifier identifier ;) (declaration "bool bVar39;" primitive_type identifier ;) (declaration "byte bVar40;" type_identifier identifier ;) (declaration "undefined1 auVar41 [16];" type_identifier (array_declarator "auVar41 [16]" identifier [ number_literal ]) ;) (declaration "long local_1e8;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined4 *local_1d8;" type_identifier (pointer_declarator "*local_1d8" * identifier) ;) (declaration "long local_1d0;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined4 *local_1c8;" type_identifier (pointer_declarator "*local_1c8" * identifier) ;) (declaration "undefined4 *local_1b0;" type_identifier (pointer_declarator "*local_1b0" * identifier) ;) (declaration "undefined8 **local_1a8;" type_identifier (pointer_declarator "**local_1a8" * (pointer_declarator "*local_1a8" * identifier)) ;) (declaration "ulong local_1a0;" type_identifier identifier ;) (declaration "uint local_18c;" type_identifier identifier ;) (declaration "ulong *local_188;" type_identifier (pointer_declarator "*local_188" * identifier) ;) (declaration "int local_180;" primitive_type identifier ;) (declaration "undefined4 uStack_17c;" type_identifier identifier ;) (declaration "undefined8 local_178;" type_identifier identifier ;) (declaration "undefined8 uStack_170;" type_identifier identifier ;) (declaration "long local_168;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 *local_160;" type_identifier (pointer_declarator "*local_160" * identifier) ;) (declaration "undefined8 *local_158;" type_identifier (pointer_declarator "*local_158" * identifier) ;) (declaration "long *local_148;" (sized_type_specifier "long" long) (pointer_declarator "*local_148" * identifier) ;) (declaration "long *local_140;" (sized_type_specifier "long" long) (pointer_declarator "*local_140" * identifier) ;) (declaration "undefined8 local_138;" type_identifier identifier ;) (declaration "long *local_128;" (sized_type_specifier "long" long) (pointer_declarator "*local_128" * identifier) ;) (declaration "long *local_120;" (sized_type_specifier "long" long) (pointer_declarator "*local_120" * identifier) ;) (declaration "undefined8 local_118;" type_identifier identifier ;) (declaration "ulong *local_108;" type_identifier (pointer_declarator "*local_108" * identifier) ;) (declaration "ulong local_100;" type_identifier identifier ;) (declaration "ulong local_f8 [2];" type_identifier (array_declarator "local_f8 [2]" identifier [ number_literal ]) ;) (declaration "ulong *local_e8;" type_identifier (pointer_declarator "*local_e8" * identifier) ;) (declaration "size_t local_e0;" primitive_type identifier ;) (declaration "ulong local_d8 [2];" type_identifier (array_declarator "local_d8 [2]" identifier [ number_literal ]) ;) (declaration "ulong *local_c8;" type_identifier (pointer_declarator "*local_c8" * identifier) ;) (declaration "size_t local_c0;" primitive_type identifier ;) (declaration "ulong local_b8 [2];" type_identifier (array_declarator "local_b8 [2]" identifier [ number_literal ]) ;) (declaration "long local_a8;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined4 local_a0;" type_identifier identifier ;) (declaration "ulong *local_98;" type_identifier (pointer_declarator "*local_98" * identifier) ;) (declaration "int local_90;" primitive_type identifier ;) (declaration "ulong *local_88;" type_identifier (pointer_declarator "*local_88" * identifier) ;) (declaration "undefined8 *local_78;" type_identifier (pointer_declarator "*local_78" * identifier) ;) (declaration "ulong uStack_70;" type_identifier identifier ;) (declaration "undefined8 local_68;" type_identifier identifier ;) (declaration "undefined8 local_60;" type_identifier identifier ;) (declaration "undefined4 local_58;" type_identifier identifier ;) (declaration "undefined8 local_50;" type_identifier identifier ;) (declaration "undefined8 local_48 [3];" type_identifier (array_declarator "local_48 [3]" identifier [ number_literal ]) ;) (expression_statement "bVar40 = 0;" (assignment_expression "bVar40 = 0" identifier = number_literal) ;) (expression_statement "plVar4 = *(long **)(PTR_DAT_0043e6b0 + 0x18);" (assignment_expression "plVar4 = *(long **)(PTR_DAT_0043e6b0 + 0x18)" identifier = (pointer_expression "*(long **)(PTR_DAT_0043e6b0 + 0x18)" * (cast_expression "(long **)(PTR_DAT_0043e6b0 + 0x18)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x18)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "local_168 = 0;" (assignment_expression "local_168 = 0" identifier = number_literal) ;) (expression_statement "local_160 = (undefined8 *)0x0;" (assignment_expression "local_160 = (undefined8 *)0x0" identifier = (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_158 = (undefined8 *)0x0;" (assignment_expression "local_158 = (undefined8 *)0x0" identifier = (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a8 = 0;" (assignment_expression "local_a8 = 0" identifier = number_literal) ;) (expression_statement "local_a0 = 0;" (assignment_expression "local_a0 = 0" identifier = number_literal) ;) (expression_statement "local_98 = (ulong *)0x0;" (assignment_expression "local_98 = (ulong *)0x0" identifier = (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;) (expression_statement "local_88 = (ulong *)0x0;" (assignment_expression "local_88 = (ulong *)0x0" identifier = (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_148 = (long *)0x0;" (assignment_expression "local_148 = (long *)0x0" identifier = (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_140 = (long *)0x0;" (assignment_expression "local_140 = (long *)0x0" identifier = (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_138 = 0;" (assignment_expression "local_138 = 0" identifier = number_literal) ;) (if_statement "if (plVar4 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181f0b to 00181f0f has its CatchHandler @ 00181f15 */\n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }" if (parenthesized_expression "(plVar4 == (long *)0x0)" ( (binary_expression "plVar4 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181f0b to 00181f0f has its CatchHandler @ 00181f15 */\n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }" { comment comment (expression_statement "FUN_0017c650("../../gold/parameters.h",0x69,"target");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x69,"target")" identifier (argument_list "("../../gold/parameters.h",0x69,"target")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""target"" " string_content ") ))) ;) })) (expression_statement "puVar19 = (ulong *)*param_2;" (assignment_expression "puVar19 = (ulong *)*param_2" identifier = (cast_expression "(ulong *)*param_2" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_2" * identifier))) ;) (if_statement "if (puVar19 == (ulong *)param_2[1]) {\n    local_1d8 = (undefined4 *)0x0;\n  }\n  else {\n    local_1c8 = (undefined4 *)0x0;\n    local_1b0 = (undefined4 *)0x0;\n    local_1d8 = (undefined4 *)0x0;\n    iVar13 = 0;\n    do {\n      plVar30 = (long *)*puVar19;\n      if (plVar30[5] == 0) {\n        plVar14 = plVar30;\n        if ((int)plVar30[7] != 0) goto LAB_00180a17;\n      }\n      else {\n                    /* try { // try from 00180a02 to 00180a06 has its CatchHandler @ 00181f33 */\n        FUN_00179ad0(plVar30[5] + 0x28,0xffffffffffffffff);\n        plVar14 = (long *)*puVar19;\n        if ((int)((long *)*puVar19)[7] != 0) {\nLAB_00180a17:\n          uVar35 = false;\n          uVar28 = 0;\n          uVar38 = true;\n          do {\n            iVar27 = (int)uVar28;\n                    /* try { // try from 00180c4d to 00180c52 has its CatchHandler @ 00181f1d */\n            (**(code **)(*plVar14 + 0x80))(&local_c8,plVar14,uVar28);\n            lVar21 = 5;\n            pbVar16 = (byte *)".text";\n            puVar32 = local_c8;\n            do {\n              if (lVar21 == 0) break;\n              lVar21 = lVar21 + -1;\n              uVar35 = *pbVar16 < (byte)*puVar32;\n              uVar38 = *pbVar16 == (byte)*puVar32;\n              pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n              puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n            } while ((bool)uVar38);\n            bVar36 = false;\n            bVar39 = (!(bool)uVar35 && !(bool)uVar38) == (bool)uVar35;\n            if (bVar39) {\nLAB_00180a28:\n              puVar18 = (undefined8 *)*puVar19;\n              if ((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181e47 to 00181e63 has its CatchHandler @ 00181f61 */\n                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (*(long *)(puVar18[10] + uVar28 * 8) == 0) goto LAB_00180c96;\n              lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n              if (lVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(lVar21 + 0x2809) != '\0') {\n                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                local_78 = puVar18;\n                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);\n                if (lVar21 == 0) goto LAB_00180c96;\n                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00180e61 to 001811fa has its CatchHandler @ 00181f61 */\n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (*(int *)(lVar21 + 0x9050) == 2) {\n                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);\n                bVar36 = false;\n                bVar39 = pbVar16 == (byte *)0x0;\n                if (bVar39) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181ef3 to 00181ef7 has its CatchHandler @ 00181f61 */\n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar21 = 4;\n                pbVar31 = &DAT_00373305;\n                pbVar33 = pbVar16;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);\n                bVar37 = false;\n                bVar36 = (!bVar36 && !bVar39) == bVar36;\n                if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }\n                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = &local_78;\n              local_78 = (undefined8 *)*puVar19;\n              puVar32 = (ulong *)param_1[1];\n              if (puVar32 == (ulong *)param_1[2]) {\n                uStack_70._0_4_ = iVar27;\n                FUN_001825a0(param_1,puVar32,local_1a8);\n              }\n              else {\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }\n              local_78 = (undefined8 *)*puVar19;\n              uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n              uVar24 = (ulong)local_78 ^ uVar28;\n              local_1a0 = uVar24 % (ulong)param_1[4];\n              puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24);\n              if ((puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)) {\n                    /* try { // try from 00180cad to 00180cec has its CatchHandler @ 00181f61 */\n                plVar14 = (long *)FUN_002d94a0(0x28);\n                lVar21 = param_1[6];\n                *plVar14 = 0;\n                lVar29 = param_1[4];\n                *(undefined4 *)(plVar14 + 3) = 0;\n                plVar14[1] = (long)local_78;\n                plVar14[2] = uStack_70;\n                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);\n                if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    /* try { // try from 00180d0d to 00180d11 has its CatchHandler @ 00181f10 */\n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }\n                plVar14[4] = uVar24;\n                plVar22 = plVar15 + local_1a0;\n                if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }\n                param_1[6] = param_1[6] + 1;\n              }\n              piVar5 = (int *)param_1[0xb];\n              *(int *)(plVar14 + 3) = iVar13;\n              if (piVar5 == (int *)param_1[0xc]) {\n                __src = (int *)param_1[10];\n                sVar17 = (long)piVar5 - (long)__src;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }\n                *(int *)((long)__dest + sVar17) = iVar13;\n                lVar21 = (long)__dest + sVar17 + 4;\n                if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }\n                param_1[10] = (long)__dest;\n                param_1[0xb] = lVar21;\n                param_1[0xc] = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    /* try { // try from 00180b6b to 00180bee has its CatchHandler @ 00181f61 */\n              local_78 = (undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28);\n              if (local_160 == local_158) {\n                FUN_00182710(&local_168,local_160,local_1a8);\n              }\n              else {\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }\n              iVar10 = local_90;\n              puVar32 = local_98;\n              if (local_98 == local_88) {\n                local_180 = local_90;\n                local_188 = local_98;\n                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);\n              }\n              else {\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }\n              local_78 = &local_68;\n              FUN_001665c0(local_1a8,"");\n                    /* try { // try from 00180c00 to 00180c04 has its CatchHandler @ 00181f59 */\n              FUN_0016f840(&local_148,local_1a8);\n              if (local_78 != &local_68) {\n                FUN_002dac70();\n              }\n              iVar13 = iVar13 + 1;\n              if (local_c8 != local_b8) goto LAB_00180c31;\n            }\n            else {\n              lVar21 = 0xf;\n              pbVar16 = (byte *)".gnu.linkonce.t";\n              puVar32 = local_c8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              } while (bVar39);\n              if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;\nLAB_00180c96:\n              if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }\n            }\n            plVar14 = (long *)*puVar19;\n            uVar26 = iVar27 + 1;\n            uVar28 = (ulong)uVar26;\n            uVar35 = uVar26 < *(uint *)(plVar14 + 7);\n            uVar38 = uVar26 == *(uint *)(plVar14 + 7);\n          } while ((bool)uVar35);\n        }\n        if (plVar30[5] != 0) {\n          FUN_0017a690(plVar30[5] + 0x28,0xffffffffffffffff);\n        }\n      }\n      puVar19 = puVar19 + 1;\n    } while ((ulong *)param_2[1] != puVar19);\n  }" if (parenthesized_expression "(puVar19 == (ulong *)param_2[1])" ( (binary_expression "puVar19 == (ulong *)param_2[1]" identifier == (cast_expression "(ulong *)param_2[1]" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[1]" identifier [ number_literal ]))) )) (compound_statement "{\n    local_1d8 = (undefined4 *)0x0;\n  }" { (expression_statement "local_1d8 = (undefined4 *)0x0;" (assignment_expression "local_1d8 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    local_1c8 = (undefined4 *)0x0;\n    local_1b0 = (undefined4 *)0x0;\n    local_1d8 = (undefined4 *)0x0;\n    iVar13 = 0;\n    do {\n      plVar30 = (long *)*puVar19;\n      if (plVar30[5] == 0) {\n        plVar14 = plVar30;\n        if ((int)plVar30[7] != 0) goto LAB_00180a17;\n      }\n      else {\n                    /* try { // try from 00180a02 to 00180a06 has its CatchHandler @ 00181f33 */\n        FUN_00179ad0(plVar30[5] + 0x28,0xffffffffffffffff);\n        plVar14 = (long *)*puVar19;\n        if ((int)((long *)*puVar19)[7] != 0) {\nLAB_00180a17:\n          uVar35 = false;\n          uVar28 = 0;\n          uVar38 = true;\n          do {\n            iVar27 = (int)uVar28;\n                    /* try { // try from 00180c4d to 00180c52 has its CatchHandler @ 00181f1d */\n            (**(code **)(*plVar14 + 0x80))(&local_c8,plVar14,uVar28);\n            lVar21 = 5;\n            pbVar16 = (byte *)".text";\n            puVar32 = local_c8;\n            do {\n              if (lVar21 == 0) break;\n              lVar21 = lVar21 + -1;\n              uVar35 = *pbVar16 < (byte)*puVar32;\n              uVar38 = *pbVar16 == (byte)*puVar32;\n              pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n              puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n            } while ((bool)uVar38);\n            bVar36 = false;\n            bVar39 = (!(bool)uVar35 && !(bool)uVar38) == (bool)uVar35;\n            if (bVar39) {\nLAB_00180a28:\n              puVar18 = (undefined8 *)*puVar19;\n              if ((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181e47 to 00181e63 has its CatchHandler @ 00181f61 */\n                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (*(long *)(puVar18[10] + uVar28 * 8) == 0) goto LAB_00180c96;\n              lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n              if (lVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(lVar21 + 0x2809) != '\0') {\n                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                local_78 = puVar18;\n                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);\n                if (lVar21 == 0) goto LAB_00180c96;\n                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00180e61 to 001811fa has its CatchHandler @ 00181f61 */\n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (*(int *)(lVar21 + 0x9050) == 2) {\n                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);\n                bVar36 = false;\n                bVar39 = pbVar16 == (byte *)0x0;\n                if (bVar39) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181ef3 to 00181ef7 has its CatchHandler @ 00181f61 */\n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar21 = 4;\n                pbVar31 = &DAT_00373305;\n                pbVar33 = pbVar16;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);\n                bVar37 = false;\n                bVar36 = (!bVar36 && !bVar39) == bVar36;\n                if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }\n                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = &local_78;\n              local_78 = (undefined8 *)*puVar19;\n              puVar32 = (ulong *)param_1[1];\n              if (puVar32 == (ulong *)param_1[2]) {\n                uStack_70._0_4_ = iVar27;\n                FUN_001825a0(param_1,puVar32,local_1a8);\n              }\n              else {\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }\n              local_78 = (undefined8 *)*puVar19;\n              uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n              uVar24 = (ulong)local_78 ^ uVar28;\n              local_1a0 = uVar24 % (ulong)param_1[4];\n              puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24);\n              if ((puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)) {\n                    /* try { // try from 00180cad to 00180cec has its CatchHandler @ 00181f61 */\n                plVar14 = (long *)FUN_002d94a0(0x28);\n                lVar21 = param_1[6];\n                *plVar14 = 0;\n                lVar29 = param_1[4];\n                *(undefined4 *)(plVar14 + 3) = 0;\n                plVar14[1] = (long)local_78;\n                plVar14[2] = uStack_70;\n                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);\n                if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    /* try { // try from 00180d0d to 00180d11 has its CatchHandler @ 00181f10 */\n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }\n                plVar14[4] = uVar24;\n                plVar22 = plVar15 + local_1a0;\n                if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }\n                param_1[6] = param_1[6] + 1;\n              }\n              piVar5 = (int *)param_1[0xb];\n              *(int *)(plVar14 + 3) = iVar13;\n              if (piVar5 == (int *)param_1[0xc]) {\n                __src = (int *)param_1[10];\n                sVar17 = (long)piVar5 - (long)__src;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }\n                *(int *)((long)__dest + sVar17) = iVar13;\n                lVar21 = (long)__dest + sVar17 + 4;\n                if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }\n                param_1[10] = (long)__dest;\n                param_1[0xb] = lVar21;\n                param_1[0xc] = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    /* try { // try from 00180b6b to 00180bee has its CatchHandler @ 00181f61 */\n              local_78 = (undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28);\n              if (local_160 == local_158) {\n                FUN_00182710(&local_168,local_160,local_1a8);\n              }\n              else {\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }\n              iVar10 = local_90;\n              puVar32 = local_98;\n              if (local_98 == local_88) {\n                local_180 = local_90;\n                local_188 = local_98;\n                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);\n              }\n              else {\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }\n              local_78 = &local_68;\n              FUN_001665c0(local_1a8,"");\n                    /* try { // try from 00180c00 to 00180c04 has its CatchHandler @ 00181f59 */\n              FUN_0016f840(&local_148,local_1a8);\n              if (local_78 != &local_68) {\n                FUN_002dac70();\n              }\n              iVar13 = iVar13 + 1;\n              if (local_c8 != local_b8) goto LAB_00180c31;\n            }\n            else {\n              lVar21 = 0xf;\n              pbVar16 = (byte *)".gnu.linkonce.t";\n              puVar32 = local_c8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              } while (bVar39);\n              if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;\nLAB_00180c96:\n              if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }\n            }\n            plVar14 = (long *)*puVar19;\n            uVar26 = iVar27 + 1;\n            uVar28 = (ulong)uVar26;\n            uVar35 = uVar26 < *(uint *)(plVar14 + 7);\n            uVar38 = uVar26 == *(uint *)(plVar14 + 7);\n          } while ((bool)uVar35);\n        }\n        if (plVar30[5] != 0) {\n          FUN_0017a690(plVar30[5] + 0x28,0xffffffffffffffff);\n        }\n      }\n      puVar19 = puVar19 + 1;\n    } while ((ulong *)param_2[1] != puVar19);\n  }" else (compound_statement "{\n    local_1c8 = (undefined4 *)0x0;\n    local_1b0 = (undefined4 *)0x0;\n    local_1d8 = (undefined4 *)0x0;\n    iVar13 = 0;\n    do {\n      plVar30 = (long *)*puVar19;\n      if (plVar30[5] == 0) {\n        plVar14 = plVar30;\n        if ((int)plVar30[7] != 0) goto LAB_00180a17;\n      }\n      else {\n                    /* try { // try from 00180a02 to 00180a06 has its CatchHandler @ 00181f33 */\n        FUN_00179ad0(plVar30[5] + 0x28,0xffffffffffffffff);\n        plVar14 = (long *)*puVar19;\n        if ((int)((long *)*puVar19)[7] != 0) {\nLAB_00180a17:\n          uVar35 = false;\n          uVar28 = 0;\n          uVar38 = true;\n          do {\n            iVar27 = (int)uVar28;\n                    /* try { // try from 00180c4d to 00180c52 has its CatchHandler @ 00181f1d */\n            (**(code **)(*plVar14 + 0x80))(&local_c8,plVar14,uVar28);\n            lVar21 = 5;\n            pbVar16 = (byte *)".text";\n            puVar32 = local_c8;\n            do {\n              if (lVar21 == 0) break;\n              lVar21 = lVar21 + -1;\n              uVar35 = *pbVar16 < (byte)*puVar32;\n              uVar38 = *pbVar16 == (byte)*puVar32;\n              pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n              puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n            } while ((bool)uVar38);\n            bVar36 = false;\n            bVar39 = (!(bool)uVar35 && !(bool)uVar38) == (bool)uVar35;\n            if (bVar39) {\nLAB_00180a28:\n              puVar18 = (undefined8 *)*puVar19;\n              if ((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181e47 to 00181e63 has its CatchHandler @ 00181f61 */\n                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (*(long *)(puVar18[10] + uVar28 * 8) == 0) goto LAB_00180c96;\n              lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n              if (lVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(lVar21 + 0x2809) != '\0') {\n                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                local_78 = puVar18;\n                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);\n                if (lVar21 == 0) goto LAB_00180c96;\n                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00180e61 to 001811fa has its CatchHandler @ 00181f61 */\n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (*(int *)(lVar21 + 0x9050) == 2) {\n                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);\n                bVar36 = false;\n                bVar39 = pbVar16 == (byte *)0x0;\n                if (bVar39) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181ef3 to 00181ef7 has its CatchHandler @ 00181f61 */\n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar21 = 4;\n                pbVar31 = &DAT_00373305;\n                pbVar33 = pbVar16;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);\n                bVar37 = false;\n                bVar36 = (!bVar36 && !bVar39) == bVar36;\n                if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }\n                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = &local_78;\n              local_78 = (undefined8 *)*puVar19;\n              puVar32 = (ulong *)param_1[1];\n              if (puVar32 == (ulong *)param_1[2]) {\n                uStack_70._0_4_ = iVar27;\n                FUN_001825a0(param_1,puVar32,local_1a8);\n              }\n              else {\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }\n              local_78 = (undefined8 *)*puVar19;\n              uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n              uVar24 = (ulong)local_78 ^ uVar28;\n              local_1a0 = uVar24 % (ulong)param_1[4];\n              puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24);\n              if ((puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)) {\n                    /* try { // try from 00180cad to 00180cec has its CatchHandler @ 00181f61 */\n                plVar14 = (long *)FUN_002d94a0(0x28);\n                lVar21 = param_1[6];\n                *plVar14 = 0;\n                lVar29 = param_1[4];\n                *(undefined4 *)(plVar14 + 3) = 0;\n                plVar14[1] = (long)local_78;\n                plVar14[2] = uStack_70;\n                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);\n                if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    /* try { // try from 00180d0d to 00180d11 has its CatchHandler @ 00181f10 */\n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }\n                plVar14[4] = uVar24;\n                plVar22 = plVar15 + local_1a0;\n                if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }\n                param_1[6] = param_1[6] + 1;\n              }\n              piVar5 = (int *)param_1[0xb];\n              *(int *)(plVar14 + 3) = iVar13;\n              if (piVar5 == (int *)param_1[0xc]) {\n                __src = (int *)param_1[10];\n                sVar17 = (long)piVar5 - (long)__src;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }\n                *(int *)((long)__dest + sVar17) = iVar13;\n                lVar21 = (long)__dest + sVar17 + 4;\n                if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }\n                param_1[10] = (long)__dest;\n                param_1[0xb] = lVar21;\n                param_1[0xc] = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    /* try { // try from 00180b6b to 00180bee has its CatchHandler @ 00181f61 */\n              local_78 = (undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28);\n              if (local_160 == local_158) {\n                FUN_00182710(&local_168,local_160,local_1a8);\n              }\n              else {\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }\n              iVar10 = local_90;\n              puVar32 = local_98;\n              if (local_98 == local_88) {\n                local_180 = local_90;\n                local_188 = local_98;\n                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);\n              }\n              else {\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }\n              local_78 = &local_68;\n              FUN_001665c0(local_1a8,"");\n                    /* try { // try from 00180c00 to 00180c04 has its CatchHandler @ 00181f59 */\n              FUN_0016f840(&local_148,local_1a8);\n              if (local_78 != &local_68) {\n                FUN_002dac70();\n              }\n              iVar13 = iVar13 + 1;\n              if (local_c8 != local_b8) goto LAB_00180c31;\n            }\n            else {\n              lVar21 = 0xf;\n              pbVar16 = (byte *)".gnu.linkonce.t";\n              puVar32 = local_c8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              } while (bVar39);\n              if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;\nLAB_00180c96:\n              if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }\n            }\n            plVar14 = (long *)*puVar19;\n            uVar26 = iVar27 + 1;\n            uVar28 = (ulong)uVar26;\n            uVar35 = uVar26 < *(uint *)(plVar14 + 7);\n            uVar38 = uVar26 == *(uint *)(plVar14 + 7);\n          } while ((bool)uVar35);\n        }\n        if (plVar30[5] != 0) {\n          FUN_0017a690(plVar30[5] + 0x28,0xffffffffffffffff);\n        }\n      }\n      puVar19 = puVar19 + 1;\n    } while ((ulong *)param_2[1] != puVar19);\n  }" { (expression_statement "local_1c8 = (undefined4 *)0x0;" (assignment_expression "local_1c8 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_1b0 = (undefined4 *)0x0;" (assignment_expression "local_1b0 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_1d8 = (undefined4 *)0x0;" (assignment_expression "local_1d8 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" identifier = number_literal) ;) (do_statement "do {\n      plVar30 = (long *)*puVar19;\n      if (plVar30[5] == 0) {\n        plVar14 = plVar30;\n        if ((int)plVar30[7] != 0) goto LAB_00180a17;\n      }\n      else {\n                    /* try { // try from 00180a02 to 00180a06 has its CatchHandler @ 00181f33 */\n        FUN_00179ad0(plVar30[5] + 0x28,0xffffffffffffffff);\n        plVar14 = (long *)*puVar19;\n        if ((int)((long *)*puVar19)[7] != 0) {\nLAB_00180a17:\n          uVar35 = false;\n          uVar28 = 0;\n          uVar38 = true;\n          do {\n            iVar27 = (int)uVar28;\n                    /* try { // try from 00180c4d to 00180c52 has its CatchHandler @ 00181f1d */\n            (**(code **)(*plVar14 + 0x80))(&local_c8,plVar14,uVar28);\n            lVar21 = 5;\n            pbVar16 = (byte *)".text";\n            puVar32 = local_c8;\n            do {\n              if (lVar21 == 0) break;\n              lVar21 = lVar21 + -1;\n              uVar35 = *pbVar16 < (byte)*puVar32;\n              uVar38 = *pbVar16 == (byte)*puVar32;\n              pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n              puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n            } while ((bool)uVar38);\n            bVar36 = false;\n            bVar39 = (!(bool)uVar35 && !(bool)uVar38) == (bool)uVar35;\n            if (bVar39) {\nLAB_00180a28:\n              puVar18 = (undefined8 *)*puVar19;\n              if ((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181e47 to 00181e63 has its CatchHandler @ 00181f61 */\n                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (*(long *)(puVar18[10] + uVar28 * 8) == 0) goto LAB_00180c96;\n              lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n              if (lVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(lVar21 + 0x2809) != '\0') {\n                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                local_78 = puVar18;\n                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);\n                if (lVar21 == 0) goto LAB_00180c96;\n                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00180e61 to 001811fa has its CatchHandler @ 00181f61 */\n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (*(int *)(lVar21 + 0x9050) == 2) {\n                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);\n                bVar36 = false;\n                bVar39 = pbVar16 == (byte *)0x0;\n                if (bVar39) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181ef3 to 00181ef7 has its CatchHandler @ 00181f61 */\n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar21 = 4;\n                pbVar31 = &DAT_00373305;\n                pbVar33 = pbVar16;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);\n                bVar37 = false;\n                bVar36 = (!bVar36 && !bVar39) == bVar36;\n                if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }\n                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = &local_78;\n              local_78 = (undefined8 *)*puVar19;\n              puVar32 = (ulong *)param_1[1];\n              if (puVar32 == (ulong *)param_1[2]) {\n                uStack_70._0_4_ = iVar27;\n                FUN_001825a0(param_1,puVar32,local_1a8);\n              }\n              else {\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }\n              local_78 = (undefined8 *)*puVar19;\n              uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n              uVar24 = (ulong)local_78 ^ uVar28;\n              local_1a0 = uVar24 % (ulong)param_1[4];\n              puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24);\n              if ((puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)) {\n                    /* try { // try from 00180cad to 00180cec has its CatchHandler @ 00181f61 */\n                plVar14 = (long *)FUN_002d94a0(0x28);\n                lVar21 = param_1[6];\n                *plVar14 = 0;\n                lVar29 = param_1[4];\n                *(undefined4 *)(plVar14 + 3) = 0;\n                plVar14[1] = (long)local_78;\n                plVar14[2] = uStack_70;\n                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);\n                if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    /* try { // try from 00180d0d to 00180d11 has its CatchHandler @ 00181f10 */\n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }\n                plVar14[4] = uVar24;\n                plVar22 = plVar15 + local_1a0;\n                if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }\n                param_1[6] = param_1[6] + 1;\n              }\n              piVar5 = (int *)param_1[0xb];\n              *(int *)(plVar14 + 3) = iVar13;\n              if (piVar5 == (int *)param_1[0xc]) {\n                __src = (int *)param_1[10];\n                sVar17 = (long)piVar5 - (long)__src;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }\n                *(int *)((long)__dest + sVar17) = iVar13;\n                lVar21 = (long)__dest + sVar17 + 4;\n                if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }\n                param_1[10] = (long)__dest;\n                param_1[0xb] = lVar21;\n                param_1[0xc] = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    /* try { // try from 00180b6b to 00180bee has its CatchHandler @ 00181f61 */\n              local_78 = (undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28);\n              if (local_160 == local_158) {\n                FUN_00182710(&local_168,local_160,local_1a8);\n              }\n              else {\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }\n              iVar10 = local_90;\n              puVar32 = local_98;\n              if (local_98 == local_88) {\n                local_180 = local_90;\n                local_188 = local_98;\n                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);\n              }\n              else {\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }\n              local_78 = &local_68;\n              FUN_001665c0(local_1a8,"");\n                    /* try { // try from 00180c00 to 00180c04 has its CatchHandler @ 00181f59 */\n              FUN_0016f840(&local_148,local_1a8);\n              if (local_78 != &local_68) {\n                FUN_002dac70();\n              }\n              iVar13 = iVar13 + 1;\n              if (local_c8 != local_b8) goto LAB_00180c31;\n            }\n            else {\n              lVar21 = 0xf;\n              pbVar16 = (byte *)".gnu.linkonce.t";\n              puVar32 = local_c8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              } while (bVar39);\n              if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;\nLAB_00180c96:\n              if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }\n            }\n            plVar14 = (long *)*puVar19;\n            uVar26 = iVar27 + 1;\n            uVar28 = (ulong)uVar26;\n            uVar35 = uVar26 < *(uint *)(plVar14 + 7);\n            uVar38 = uVar26 == *(uint *)(plVar14 + 7);\n          } while ((bool)uVar35);\n        }\n        if (plVar30[5] != 0) {\n          FUN_0017a690(plVar30[5] + 0x28,0xffffffffffffffff);\n        }\n      }\n      puVar19 = puVar19 + 1;\n    } while ((ulong *)param_2[1] != puVar19);" do (compound_statement "{\n      plVar30 = (long *)*puVar19;\n      if (plVar30[5] == 0) {\n        plVar14 = plVar30;\n        if ((int)plVar30[7] != 0) goto LAB_00180a17;\n      }\n      else {\n                    /* try { // try from 00180a02 to 00180a06 has its CatchHandler @ 00181f33 */\n        FUN_00179ad0(plVar30[5] + 0x28,0xffffffffffffffff);\n        plVar14 = (long *)*puVar19;\n        if ((int)((long *)*puVar19)[7] != 0) {\nLAB_00180a17:\n          uVar35 = false;\n          uVar28 = 0;\n          uVar38 = true;\n          do {\n            iVar27 = (int)uVar28;\n                    /* try { // try from 00180c4d to 00180c52 has its CatchHandler @ 00181f1d */\n            (**(code **)(*plVar14 + 0x80))(&local_c8,plVar14,uVar28);\n            lVar21 = 5;\n            pbVar16 = (byte *)".text";\n            puVar32 = local_c8;\n            do {\n              if (lVar21 == 0) break;\n              lVar21 = lVar21 + -1;\n              uVar35 = *pbVar16 < (byte)*puVar32;\n              uVar38 = *pbVar16 == (byte)*puVar32;\n              pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n              puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n            } while ((bool)uVar38);\n            bVar36 = false;\n            bVar39 = (!(bool)uVar35 && !(bool)uVar38) == (bool)uVar35;\n            if (bVar39) {\nLAB_00180a28:\n              puVar18 = (undefined8 *)*puVar19;\n              if ((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181e47 to 00181e63 has its CatchHandler @ 00181f61 */\n                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (*(long *)(puVar18[10] + uVar28 * 8) == 0) goto LAB_00180c96;\n              lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n              if (lVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(lVar21 + 0x2809) != '\0') {\n                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                local_78 = puVar18;\n                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);\n                if (lVar21 == 0) goto LAB_00180c96;\n                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00180e61 to 001811fa has its CatchHandler @ 00181f61 */\n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (*(int *)(lVar21 + 0x9050) == 2) {\n                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);\n                bVar36 = false;\n                bVar39 = pbVar16 == (byte *)0x0;\n                if (bVar39) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181ef3 to 00181ef7 has its CatchHandler @ 00181f61 */\n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar21 = 4;\n                pbVar31 = &DAT_00373305;\n                pbVar33 = pbVar16;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);\n                bVar37 = false;\n                bVar36 = (!bVar36 && !bVar39) == bVar36;\n                if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }\n                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = &local_78;\n              local_78 = (undefined8 *)*puVar19;\n              puVar32 = (ulong *)param_1[1];\n              if (puVar32 == (ulong *)param_1[2]) {\n                uStack_70._0_4_ = iVar27;\n                FUN_001825a0(param_1,puVar32,local_1a8);\n              }\n              else {\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }\n              local_78 = (undefined8 *)*puVar19;\n              uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n              uVar24 = (ulong)local_78 ^ uVar28;\n              local_1a0 = uVar24 % (ulong)param_1[4];\n              puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24);\n              if ((puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)) {\n                    /* try { // try from 00180cad to 00180cec has its CatchHandler @ 00181f61 */\n                plVar14 = (long *)FUN_002d94a0(0x28);\n                lVar21 = param_1[6];\n                *plVar14 = 0;\n                lVar29 = param_1[4];\n                *(undefined4 *)(plVar14 + 3) = 0;\n                plVar14[1] = (long)local_78;\n                plVar14[2] = uStack_70;\n                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);\n                if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    /* try { // try from 00180d0d to 00180d11 has its CatchHandler @ 00181f10 */\n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }\n                plVar14[4] = uVar24;\n                plVar22 = plVar15 + local_1a0;\n                if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }\n                param_1[6] = param_1[6] + 1;\n              }\n              piVar5 = (int *)param_1[0xb];\n              *(int *)(plVar14 + 3) = iVar13;\n              if (piVar5 == (int *)param_1[0xc]) {\n                __src = (int *)param_1[10];\n                sVar17 = (long)piVar5 - (long)__src;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }\n                *(int *)((long)__dest + sVar17) = iVar13;\n                lVar21 = (long)__dest + sVar17 + 4;\n                if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }\n                param_1[10] = (long)__dest;\n                param_1[0xb] = lVar21;\n                param_1[0xc] = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    /* try { // try from 00180b6b to 00180bee has its CatchHandler @ 00181f61 */\n              local_78 = (undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28);\n              if (local_160 == local_158) {\n                FUN_00182710(&local_168,local_160,local_1a8);\n              }\n              else {\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }\n              iVar10 = local_90;\n              puVar32 = local_98;\n              if (local_98 == local_88) {\n                local_180 = local_90;\n                local_188 = local_98;\n                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);\n              }\n              else {\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }\n              local_78 = &local_68;\n              FUN_001665c0(local_1a8,"");\n                    /* try { // try from 00180c00 to 00180c04 has its CatchHandler @ 00181f59 */\n              FUN_0016f840(&local_148,local_1a8);\n              if (local_78 != &local_68) {\n                FUN_002dac70();\n              }\n              iVar13 = iVar13 + 1;\n              if (local_c8 != local_b8) goto LAB_00180c31;\n            }\n            else {\n              lVar21 = 0xf;\n              pbVar16 = (byte *)".gnu.linkonce.t";\n              puVar32 = local_c8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              } while (bVar39);\n              if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;\nLAB_00180c96:\n              if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }\n            }\n            plVar14 = (long *)*puVar19;\n            uVar26 = iVar27 + 1;\n            uVar28 = (ulong)uVar26;\n            uVar35 = uVar26 < *(uint *)(plVar14 + 7);\n            uVar38 = uVar26 == *(uint *)(plVar14 + 7);\n          } while ((bool)uVar35);\n        }\n        if (plVar30[5] != 0) {\n          FUN_0017a690(plVar30[5] + 0x28,0xffffffffffffffff);\n        }\n      }\n      puVar19 = puVar19 + 1;\n    }" { (expression_statement "plVar30 = (long *)*puVar19;" (assignment_expression "plVar30 = (long *)*puVar19" identifier = (cast_expression "(long *)*puVar19" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar19" * identifier))) ;) (if_statement "if (plVar30[5] == 0) {\n        plVar14 = plVar30;\n        if ((int)plVar30[7] != 0) goto LAB_00180a17;\n      }\n      else {\n                    /* try { // try from 00180a02 to 00180a06 has its CatchHandler @ 00181f33 */\n        FUN_00179ad0(plVar30[5] + 0x28,0xffffffffffffffff);\n        plVar14 = (long *)*puVar19;\n        if ((int)((long *)*puVar19)[7] != 0) {\nLAB_00180a17:\n          uVar35 = false;\n          uVar28 = 0;\n          uVar38 = true;\n          do {\n            iVar27 = (int)uVar28;\n                    /* try { // try from 00180c4d to 00180c52 has its CatchHandler @ 00181f1d */\n            (**(code **)(*plVar14 + 0x80))(&local_c8,plVar14,uVar28);\n            lVar21 = 5;\n            pbVar16 = (byte *)".text";\n            puVar32 = local_c8;\n            do {\n              if (lVar21 == 0) break;\n              lVar21 = lVar21 + -1;\n              uVar35 = *pbVar16 < (byte)*puVar32;\n              uVar38 = *pbVar16 == (byte)*puVar32;\n              pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n              puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n            } while ((bool)uVar38);\n            bVar36 = false;\n            bVar39 = (!(bool)uVar35 && !(bool)uVar38) == (bool)uVar35;\n            if (bVar39) {\nLAB_00180a28:\n              puVar18 = (undefined8 *)*puVar19;\n              if ((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181e47 to 00181e63 has its CatchHandler @ 00181f61 */\n                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (*(long *)(puVar18[10] + uVar28 * 8) == 0) goto LAB_00180c96;\n              lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n              if (lVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(lVar21 + 0x2809) != '\0') {\n                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                local_78 = puVar18;\n                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);\n                if (lVar21 == 0) goto LAB_00180c96;\n                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00180e61 to 001811fa has its CatchHandler @ 00181f61 */\n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (*(int *)(lVar21 + 0x9050) == 2) {\n                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);\n                bVar36 = false;\n                bVar39 = pbVar16 == (byte *)0x0;\n                if (bVar39) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181ef3 to 00181ef7 has its CatchHandler @ 00181f61 */\n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar21 = 4;\n                pbVar31 = &DAT_00373305;\n                pbVar33 = pbVar16;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);\n                bVar37 = false;\n                bVar36 = (!bVar36 && !bVar39) == bVar36;\n                if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }\n                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = &local_78;\n              local_78 = (undefined8 *)*puVar19;\n              puVar32 = (ulong *)param_1[1];\n              if (puVar32 == (ulong *)param_1[2]) {\n                uStack_70._0_4_ = iVar27;\n                FUN_001825a0(param_1,puVar32,local_1a8);\n              }\n              else {\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }\n              local_78 = (undefined8 *)*puVar19;\n              uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n              uVar24 = (ulong)local_78 ^ uVar28;\n              local_1a0 = uVar24 % (ulong)param_1[4];\n              puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24);\n              if ((puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)) {\n                    /* try { // try from 00180cad to 00180cec has its CatchHandler @ 00181f61 */\n                plVar14 = (long *)FUN_002d94a0(0x28);\n                lVar21 = param_1[6];\n                *plVar14 = 0;\n                lVar29 = param_1[4];\n                *(undefined4 *)(plVar14 + 3) = 0;\n                plVar14[1] = (long)local_78;\n                plVar14[2] = uStack_70;\n                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);\n                if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    /* try { // try from 00180d0d to 00180d11 has its CatchHandler @ 00181f10 */\n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }\n                plVar14[4] = uVar24;\n                plVar22 = plVar15 + local_1a0;\n                if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }\n                param_1[6] = param_1[6] + 1;\n              }\n              piVar5 = (int *)param_1[0xb];\n              *(int *)(plVar14 + 3) = iVar13;\n              if (piVar5 == (int *)param_1[0xc]) {\n                __src = (int *)param_1[10];\n                sVar17 = (long)piVar5 - (long)__src;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }\n                *(int *)((long)__dest + sVar17) = iVar13;\n                lVar21 = (long)__dest + sVar17 + 4;\n                if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }\n                param_1[10] = (long)__dest;\n                param_1[0xb] = lVar21;\n                param_1[0xc] = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    /* try { // try from 00180b6b to 00180bee has its CatchHandler @ 00181f61 */\n              local_78 = (undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28);\n              if (local_160 == local_158) {\n                FUN_00182710(&local_168,local_160,local_1a8);\n              }\n              else {\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }\n              iVar10 = local_90;\n              puVar32 = local_98;\n              if (local_98 == local_88) {\n                local_180 = local_90;\n                local_188 = local_98;\n                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);\n              }\n              else {\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }\n              local_78 = &local_68;\n              FUN_001665c0(local_1a8,"");\n                    /* try { // try from 00180c00 to 00180c04 has its CatchHandler @ 00181f59 */\n              FUN_0016f840(&local_148,local_1a8);\n              if (local_78 != &local_68) {\n                FUN_002dac70();\n              }\n              iVar13 = iVar13 + 1;\n              if (local_c8 != local_b8) goto LAB_00180c31;\n            }\n            else {\n              lVar21 = 0xf;\n              pbVar16 = (byte *)".gnu.linkonce.t";\n              puVar32 = local_c8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              } while (bVar39);\n              if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;\nLAB_00180c96:\n              if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }\n            }\n            plVar14 = (long *)*puVar19;\n            uVar26 = iVar27 + 1;\n            uVar28 = (ulong)uVar26;\n            uVar35 = uVar26 < *(uint *)(plVar14 + 7);\n            uVar38 = uVar26 == *(uint *)(plVar14 + 7);\n          } while ((bool)uVar35);\n        }\n        if (plVar30[5] != 0) {\n          FUN_0017a690(plVar30[5] + 0x28,0xffffffffffffffff);\n        }\n      }" if (parenthesized_expression "(plVar30[5] == 0)" ( (binary_expression "plVar30[5] == 0" (subscript_expression "plVar30[5]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        plVar14 = plVar30;\n        if ((int)plVar30[7] != 0) goto LAB_00180a17;\n      }" { (expression_statement "plVar14 = plVar30;" (assignment_expression "plVar14 = plVar30" identifier = identifier) ;) (if_statement "if ((int)plVar30[7] != 0) goto LAB_00180a17;" if (parenthesized_expression "((int)plVar30[7] != 0)" ( (binary_expression "(int)plVar30[7] != 0" (cast_expression "(int)plVar30[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "plVar30[7]" identifier [ number_literal ])) != number_literal) )) (goto_statement "goto LAB_00180a17;" goto statement_identifier ;)) }) (else_clause "else {\n                    /* try { // try from 00180a02 to 00180a06 has its CatchHandler @ 00181f33 */\n        FUN_00179ad0(plVar30[5] + 0x28,0xffffffffffffffff);\n        plVar14 = (long *)*puVar19;\n        if ((int)((long *)*puVar19)[7] != 0) {\nLAB_00180a17:\n          uVar35 = false;\n          uVar28 = 0;\n          uVar38 = true;\n          do {\n            iVar27 = (int)uVar28;\n                    /* try { // try from 00180c4d to 00180c52 has its CatchHandler @ 00181f1d */\n            (**(code **)(*plVar14 + 0x80))(&local_c8,plVar14,uVar28);\n            lVar21 = 5;\n            pbVar16 = (byte *)".text";\n            puVar32 = local_c8;\n            do {\n              if (lVar21 == 0) break;\n              lVar21 = lVar21 + -1;\n              uVar35 = *pbVar16 < (byte)*puVar32;\n              uVar38 = *pbVar16 == (byte)*puVar32;\n              pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n              puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n            } while ((bool)uVar38);\n            bVar36 = false;\n            bVar39 = (!(bool)uVar35 && !(bool)uVar38) == (bool)uVar35;\n            if (bVar39) {\nLAB_00180a28:\n              puVar18 = (undefined8 *)*puVar19;\n              if ((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181e47 to 00181e63 has its CatchHandler @ 00181f61 */\n                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (*(long *)(puVar18[10] + uVar28 * 8) == 0) goto LAB_00180c96;\n              lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n              if (lVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(lVar21 + 0x2809) != '\0') {\n                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                local_78 = puVar18;\n                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);\n                if (lVar21 == 0) goto LAB_00180c96;\n                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00180e61 to 001811fa has its CatchHandler @ 00181f61 */\n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (*(int *)(lVar21 + 0x9050) == 2) {\n                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);\n                bVar36 = false;\n                bVar39 = pbVar16 == (byte *)0x0;\n                if (bVar39) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181ef3 to 00181ef7 has its CatchHandler @ 00181f61 */\n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar21 = 4;\n                pbVar31 = &DAT_00373305;\n                pbVar33 = pbVar16;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);\n                bVar37 = false;\n                bVar36 = (!bVar36 && !bVar39) == bVar36;\n                if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }\n                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = &local_78;\n              local_78 = (undefined8 *)*puVar19;\n              puVar32 = (ulong *)param_1[1];\n              if (puVar32 == (ulong *)param_1[2]) {\n                uStack_70._0_4_ = iVar27;\n                FUN_001825a0(param_1,puVar32,local_1a8);\n              }\n              else {\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }\n              local_78 = (undefined8 *)*puVar19;\n              uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n              uVar24 = (ulong)local_78 ^ uVar28;\n              local_1a0 = uVar24 % (ulong)param_1[4];\n              puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24);\n              if ((puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)) {\n                    /* try { // try from 00180cad to 00180cec has its CatchHandler @ 00181f61 */\n                plVar14 = (long *)FUN_002d94a0(0x28);\n                lVar21 = param_1[6];\n                *plVar14 = 0;\n                lVar29 = param_1[4];\n                *(undefined4 *)(plVar14 + 3) = 0;\n                plVar14[1] = (long)local_78;\n                plVar14[2] = uStack_70;\n                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);\n                if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    /* try { // try from 00180d0d to 00180d11 has its CatchHandler @ 00181f10 */\n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }\n                plVar14[4] = uVar24;\n                plVar22 = plVar15 + local_1a0;\n                if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }\n                param_1[6] = param_1[6] + 1;\n              }\n              piVar5 = (int *)param_1[0xb];\n              *(int *)(plVar14 + 3) = iVar13;\n              if (piVar5 == (int *)param_1[0xc]) {\n                __src = (int *)param_1[10];\n                sVar17 = (long)piVar5 - (long)__src;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }\n                *(int *)((long)__dest + sVar17) = iVar13;\n                lVar21 = (long)__dest + sVar17 + 4;\n                if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }\n                param_1[10] = (long)__dest;\n                param_1[0xb] = lVar21;\n                param_1[0xc] = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    /* try { // try from 00180b6b to 00180bee has its CatchHandler @ 00181f61 */\n              local_78 = (undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28);\n              if (local_160 == local_158) {\n                FUN_00182710(&local_168,local_160,local_1a8);\n              }\n              else {\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }\n              iVar10 = local_90;\n              puVar32 = local_98;\n              if (local_98 == local_88) {\n                local_180 = local_90;\n                local_188 = local_98;\n                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);\n              }\n              else {\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }\n              local_78 = &local_68;\n              FUN_001665c0(local_1a8,"");\n                    /* try { // try from 00180c00 to 00180c04 has its CatchHandler @ 00181f59 */\n              FUN_0016f840(&local_148,local_1a8);\n              if (local_78 != &local_68) {\n                FUN_002dac70();\n              }\n              iVar13 = iVar13 + 1;\n              if (local_c8 != local_b8) goto LAB_00180c31;\n            }\n            else {\n              lVar21 = 0xf;\n              pbVar16 = (byte *)".gnu.linkonce.t";\n              puVar32 = local_c8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              } while (bVar39);\n              if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;\nLAB_00180c96:\n              if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }\n            }\n            plVar14 = (long *)*puVar19;\n            uVar26 = iVar27 + 1;\n            uVar28 = (ulong)uVar26;\n            uVar35 = uVar26 < *(uint *)(plVar14 + 7);\n            uVar38 = uVar26 == *(uint *)(plVar14 + 7);\n          } while ((bool)uVar35);\n        }\n        if (plVar30[5] != 0) {\n          FUN_0017a690(plVar30[5] + 0x28,0xffffffffffffffff);\n        }\n      }" else (compound_statement "{\n                    /* try { // try from 00180a02 to 00180a06 has its CatchHandler @ 00181f33 */\n        FUN_00179ad0(plVar30[5] + 0x28,0xffffffffffffffff);\n        plVar14 = (long *)*puVar19;\n        if ((int)((long *)*puVar19)[7] != 0) {\nLAB_00180a17:\n          uVar35 = false;\n          uVar28 = 0;\n          uVar38 = true;\n          do {\n            iVar27 = (int)uVar28;\n                    /* try { // try from 00180c4d to 00180c52 has its CatchHandler @ 00181f1d */\n            (**(code **)(*plVar14 + 0x80))(&local_c8,plVar14,uVar28);\n            lVar21 = 5;\n            pbVar16 = (byte *)".text";\n            puVar32 = local_c8;\n            do {\n              if (lVar21 == 0) break;\n              lVar21 = lVar21 + -1;\n              uVar35 = *pbVar16 < (byte)*puVar32;\n              uVar38 = *pbVar16 == (byte)*puVar32;\n              pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n              puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n            } while ((bool)uVar38);\n            bVar36 = false;\n            bVar39 = (!(bool)uVar35 && !(bool)uVar38) == (bool)uVar35;\n            if (bVar39) {\nLAB_00180a28:\n              puVar18 = (undefined8 *)*puVar19;\n              if ((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181e47 to 00181e63 has its CatchHandler @ 00181f61 */\n                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (*(long *)(puVar18[10] + uVar28 * 8) == 0) goto LAB_00180c96;\n              lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n              if (lVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(lVar21 + 0x2809) != '\0') {\n                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                local_78 = puVar18;\n                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);\n                if (lVar21 == 0) goto LAB_00180c96;\n                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00180e61 to 001811fa has its CatchHandler @ 00181f61 */\n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (*(int *)(lVar21 + 0x9050) == 2) {\n                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);\n                bVar36 = false;\n                bVar39 = pbVar16 == (byte *)0x0;\n                if (bVar39) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181ef3 to 00181ef7 has its CatchHandler @ 00181f61 */\n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar21 = 4;\n                pbVar31 = &DAT_00373305;\n                pbVar33 = pbVar16;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);\n                bVar37 = false;\n                bVar36 = (!bVar36 && !bVar39) == bVar36;\n                if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }\n                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = &local_78;\n              local_78 = (undefined8 *)*puVar19;\n              puVar32 = (ulong *)param_1[1];\n              if (puVar32 == (ulong *)param_1[2]) {\n                uStack_70._0_4_ = iVar27;\n                FUN_001825a0(param_1,puVar32,local_1a8);\n              }\n              else {\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }\n              local_78 = (undefined8 *)*puVar19;\n              uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n              uVar24 = (ulong)local_78 ^ uVar28;\n              local_1a0 = uVar24 % (ulong)param_1[4];\n              puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24);\n              if ((puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)) {\n                    /* try { // try from 00180cad to 00180cec has its CatchHandler @ 00181f61 */\n                plVar14 = (long *)FUN_002d94a0(0x28);\n                lVar21 = param_1[6];\n                *plVar14 = 0;\n                lVar29 = param_1[4];\n                *(undefined4 *)(plVar14 + 3) = 0;\n                plVar14[1] = (long)local_78;\n                plVar14[2] = uStack_70;\n                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);\n                if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    /* try { // try from 00180d0d to 00180d11 has its CatchHandler @ 00181f10 */\n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }\n                plVar14[4] = uVar24;\n                plVar22 = plVar15 + local_1a0;\n                if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }\n                param_1[6] = param_1[6] + 1;\n              }\n              piVar5 = (int *)param_1[0xb];\n              *(int *)(plVar14 + 3) = iVar13;\n              if (piVar5 == (int *)param_1[0xc]) {\n                __src = (int *)param_1[10];\n                sVar17 = (long)piVar5 - (long)__src;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }\n                *(int *)((long)__dest + sVar17) = iVar13;\n                lVar21 = (long)__dest + sVar17 + 4;\n                if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }\n                param_1[10] = (long)__dest;\n                param_1[0xb] = lVar21;\n                param_1[0xc] = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    /* try { // try from 00180b6b to 00180bee has its CatchHandler @ 00181f61 */\n              local_78 = (undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28);\n              if (local_160 == local_158) {\n                FUN_00182710(&local_168,local_160,local_1a8);\n              }\n              else {\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }\n              iVar10 = local_90;\n              puVar32 = local_98;\n              if (local_98 == local_88) {\n                local_180 = local_90;\n                local_188 = local_98;\n                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);\n              }\n              else {\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }\n              local_78 = &local_68;\n              FUN_001665c0(local_1a8,"");\n                    /* try { // try from 00180c00 to 00180c04 has its CatchHandler @ 00181f59 */\n              FUN_0016f840(&local_148,local_1a8);\n              if (local_78 != &local_68) {\n                FUN_002dac70();\n              }\n              iVar13 = iVar13 + 1;\n              if (local_c8 != local_b8) goto LAB_00180c31;\n            }\n            else {\n              lVar21 = 0xf;\n              pbVar16 = (byte *)".gnu.linkonce.t";\n              puVar32 = local_c8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              } while (bVar39);\n              if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;\nLAB_00180c96:\n              if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }\n            }\n            plVar14 = (long *)*puVar19;\n            uVar26 = iVar27 + 1;\n            uVar28 = (ulong)uVar26;\n            uVar35 = uVar26 < *(uint *)(plVar14 + 7);\n            uVar38 = uVar26 == *(uint *)(plVar14 + 7);\n          } while ((bool)uVar35);\n        }\n        if (plVar30[5] != 0) {\n          FUN_0017a690(plVar30[5] + 0x28,0xffffffffffffffff);\n        }\n      }" { comment (expression_statement "FUN_00179ad0(plVar30[5] + 0x28,0xffffffffffffffff);" (call_expression "FUN_00179ad0(plVar30[5] + 0x28,0xffffffffffffffff)" identifier (argument_list "(plVar30[5] + 0x28,0xffffffffffffffff)" ( (binary_expression "plVar30[5] + 0x28" (subscript_expression "plVar30[5]" identifier [ number_literal ]) + number_literal) , number_literal ))) ;) (expression_statement "plVar14 = (long *)*puVar19;" (assignment_expression "plVar14 = (long *)*puVar19" identifier = (cast_expression "(long *)*puVar19" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar19" * identifier))) ;) (if_statement "if ((int)((long *)*puVar19)[7] != 0) {\nLAB_00180a17:\n          uVar35 = false;\n          uVar28 = 0;\n          uVar38 = true;\n          do {\n            iVar27 = (int)uVar28;\n                    /* try { // try from 00180c4d to 00180c52 has its CatchHandler @ 00181f1d */\n            (**(code **)(*plVar14 + 0x80))(&local_c8,plVar14,uVar28);\n            lVar21 = 5;\n            pbVar16 = (byte *)".text";\n            puVar32 = local_c8;\n            do {\n              if (lVar21 == 0) break;\n              lVar21 = lVar21 + -1;\n              uVar35 = *pbVar16 < (byte)*puVar32;\n              uVar38 = *pbVar16 == (byte)*puVar32;\n              pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n              puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n            } while ((bool)uVar38);\n            bVar36 = false;\n            bVar39 = (!(bool)uVar35 && !(bool)uVar38) == (bool)uVar35;\n            if (bVar39) {\nLAB_00180a28:\n              puVar18 = (undefined8 *)*puVar19;\n              if ((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181e47 to 00181e63 has its CatchHandler @ 00181f61 */\n                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (*(long *)(puVar18[10] + uVar28 * 8) == 0) goto LAB_00180c96;\n              lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n              if (lVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(lVar21 + 0x2809) != '\0') {\n                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                local_78 = puVar18;\n                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);\n                if (lVar21 == 0) goto LAB_00180c96;\n                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00180e61 to 001811fa has its CatchHandler @ 00181f61 */\n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (*(int *)(lVar21 + 0x9050) == 2) {\n                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);\n                bVar36 = false;\n                bVar39 = pbVar16 == (byte *)0x0;\n                if (bVar39) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181ef3 to 00181ef7 has its CatchHandler @ 00181f61 */\n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar21 = 4;\n                pbVar31 = &DAT_00373305;\n                pbVar33 = pbVar16;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);\n                bVar37 = false;\n                bVar36 = (!bVar36 && !bVar39) == bVar36;\n                if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }\n                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = &local_78;\n              local_78 = (undefined8 *)*puVar19;\n              puVar32 = (ulong *)param_1[1];\n              if (puVar32 == (ulong *)param_1[2]) {\n                uStack_70._0_4_ = iVar27;\n                FUN_001825a0(param_1,puVar32,local_1a8);\n              }\n              else {\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }\n              local_78 = (undefined8 *)*puVar19;\n              uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n              uVar24 = (ulong)local_78 ^ uVar28;\n              local_1a0 = uVar24 % (ulong)param_1[4];\n              puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24);\n              if ((puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)) {\n                    /* try { // try from 00180cad to 00180cec has its CatchHandler @ 00181f61 */\n                plVar14 = (long *)FUN_002d94a0(0x28);\n                lVar21 = param_1[6];\n                *plVar14 = 0;\n                lVar29 = param_1[4];\n                *(undefined4 *)(plVar14 + 3) = 0;\n                plVar14[1] = (long)local_78;\n                plVar14[2] = uStack_70;\n                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);\n                if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    /* try { // try from 00180d0d to 00180d11 has its CatchHandler @ 00181f10 */\n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }\n                plVar14[4] = uVar24;\n                plVar22 = plVar15 + local_1a0;\n                if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }\n                param_1[6] = param_1[6] + 1;\n              }\n              piVar5 = (int *)param_1[0xb];\n              *(int *)(plVar14 + 3) = iVar13;\n              if (piVar5 == (int *)param_1[0xc]) {\n                __src = (int *)param_1[10];\n                sVar17 = (long)piVar5 - (long)__src;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }\n                *(int *)((long)__dest + sVar17) = iVar13;\n                lVar21 = (long)__dest + sVar17 + 4;\n                if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }\n                param_1[10] = (long)__dest;\n                param_1[0xb] = lVar21;\n                param_1[0xc] = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    /* try { // try from 00180b6b to 00180bee has its CatchHandler @ 00181f61 */\n              local_78 = (undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28);\n              if (local_160 == local_158) {\n                FUN_00182710(&local_168,local_160,local_1a8);\n              }\n              else {\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }\n              iVar10 = local_90;\n              puVar32 = local_98;\n              if (local_98 == local_88) {\n                local_180 = local_90;\n                local_188 = local_98;\n                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);\n              }\n              else {\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }\n              local_78 = &local_68;\n              FUN_001665c0(local_1a8,"");\n                    /* try { // try from 00180c00 to 00180c04 has its CatchHandler @ 00181f59 */\n              FUN_0016f840(&local_148,local_1a8);\n              if (local_78 != &local_68) {\n                FUN_002dac70();\n              }\n              iVar13 = iVar13 + 1;\n              if (local_c8 != local_b8) goto LAB_00180c31;\n            }\n            else {\n              lVar21 = 0xf;\n              pbVar16 = (byte *)".gnu.linkonce.t";\n              puVar32 = local_c8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              } while (bVar39);\n              if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;\nLAB_00180c96:\n              if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }\n            }\n            plVar14 = (long *)*puVar19;\n            uVar26 = iVar27 + 1;\n            uVar28 = (ulong)uVar26;\n            uVar35 = uVar26 < *(uint *)(plVar14 + 7);\n            uVar38 = uVar26 == *(uint *)(plVar14 + 7);\n          } while ((bool)uVar35);\n        }" if (parenthesized_expression "((int)((long *)*puVar19)[7] != 0)" ( (binary_expression "(int)((long *)*puVar19)[7] != 0" (cast_expression "(int)((long *)*puVar19)[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "((long *)*puVar19)[7]" (parenthesized_expression "((long *)*puVar19)" ( (cast_expression "(long *)*puVar19" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar19" * identifier)) )) [ number_literal ])) != number_literal) )) (compound_statement "{\nLAB_00180a17:\n          uVar35 = false;\n          uVar28 = 0;\n          uVar38 = true;\n          do {\n            iVar27 = (int)uVar28;\n                    /* try { // try from 00180c4d to 00180c52 has its CatchHandler @ 00181f1d */\n            (**(code **)(*plVar14 + 0x80))(&local_c8,plVar14,uVar28);\n            lVar21 = 5;\n            pbVar16 = (byte *)".text";\n            puVar32 = local_c8;\n            do {\n              if (lVar21 == 0) break;\n              lVar21 = lVar21 + -1;\n              uVar35 = *pbVar16 < (byte)*puVar32;\n              uVar38 = *pbVar16 == (byte)*puVar32;\n              pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n              puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n            } while ((bool)uVar38);\n            bVar36 = false;\n            bVar39 = (!(bool)uVar35 && !(bool)uVar38) == (bool)uVar35;\n            if (bVar39) {\nLAB_00180a28:\n              puVar18 = (undefined8 *)*puVar19;\n              if ((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181e47 to 00181e63 has its CatchHandler @ 00181f61 */\n                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (*(long *)(puVar18[10] + uVar28 * 8) == 0) goto LAB_00180c96;\n              lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n              if (lVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(lVar21 + 0x2809) != '\0') {\n                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                local_78 = puVar18;\n                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);\n                if (lVar21 == 0) goto LAB_00180c96;\n                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00180e61 to 001811fa has its CatchHandler @ 00181f61 */\n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (*(int *)(lVar21 + 0x9050) == 2) {\n                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);\n                bVar36 = false;\n                bVar39 = pbVar16 == (byte *)0x0;\n                if (bVar39) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181ef3 to 00181ef7 has its CatchHandler @ 00181f61 */\n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar21 = 4;\n                pbVar31 = &DAT_00373305;\n                pbVar33 = pbVar16;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);\n                bVar37 = false;\n                bVar36 = (!bVar36 && !bVar39) == bVar36;\n                if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }\n                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = &local_78;\n              local_78 = (undefined8 *)*puVar19;\n              puVar32 = (ulong *)param_1[1];\n              if (puVar32 == (ulong *)param_1[2]) {\n                uStack_70._0_4_ = iVar27;\n                FUN_001825a0(param_1,puVar32,local_1a8);\n              }\n              else {\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }\n              local_78 = (undefined8 *)*puVar19;\n              uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n              uVar24 = (ulong)local_78 ^ uVar28;\n              local_1a0 = uVar24 % (ulong)param_1[4];\n              puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24);\n              if ((puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)) {\n                    /* try { // try from 00180cad to 00180cec has its CatchHandler @ 00181f61 */\n                plVar14 = (long *)FUN_002d94a0(0x28);\n                lVar21 = param_1[6];\n                *plVar14 = 0;\n                lVar29 = param_1[4];\n                *(undefined4 *)(plVar14 + 3) = 0;\n                plVar14[1] = (long)local_78;\n                plVar14[2] = uStack_70;\n                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);\n                if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    /* try { // try from 00180d0d to 00180d11 has its CatchHandler @ 00181f10 */\n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }\n                plVar14[4] = uVar24;\n                plVar22 = plVar15 + local_1a0;\n                if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }\n                param_1[6] = param_1[6] + 1;\n              }\n              piVar5 = (int *)param_1[0xb];\n              *(int *)(plVar14 + 3) = iVar13;\n              if (piVar5 == (int *)param_1[0xc]) {\n                __src = (int *)param_1[10];\n                sVar17 = (long)piVar5 - (long)__src;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }\n                *(int *)((long)__dest + sVar17) = iVar13;\n                lVar21 = (long)__dest + sVar17 + 4;\n                if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }\n                param_1[10] = (long)__dest;\n                param_1[0xb] = lVar21;\n                param_1[0xc] = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    /* try { // try from 00180b6b to 00180bee has its CatchHandler @ 00181f61 */\n              local_78 = (undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28);\n              if (local_160 == local_158) {\n                FUN_00182710(&local_168,local_160,local_1a8);\n              }\n              else {\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }\n              iVar10 = local_90;\n              puVar32 = local_98;\n              if (local_98 == local_88) {\n                local_180 = local_90;\n                local_188 = local_98;\n                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);\n              }\n              else {\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }\n              local_78 = &local_68;\n              FUN_001665c0(local_1a8,"");\n                    /* try { // try from 00180c00 to 00180c04 has its CatchHandler @ 00181f59 */\n              FUN_0016f840(&local_148,local_1a8);\n              if (local_78 != &local_68) {\n                FUN_002dac70();\n              }\n              iVar13 = iVar13 + 1;\n              if (local_c8 != local_b8) goto LAB_00180c31;\n            }\n            else {\n              lVar21 = 0xf;\n              pbVar16 = (byte *)".gnu.linkonce.t";\n              puVar32 = local_c8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              } while (bVar39);\n              if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;\nLAB_00180c96:\n              if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }\n            }\n            plVar14 = (long *)*puVar19;\n            uVar26 = iVar27 + 1;\n            uVar28 = (ulong)uVar26;\n            uVar35 = uVar26 < *(uint *)(plVar14 + 7);\n            uVar38 = uVar26 == *(uint *)(plVar14 + 7);\n          } while ((bool)uVar35);\n        }" { (labeled_statement "LAB_00180a17:\n          uVar35 = false;" statement_identifier : (expression_statement "uVar35 = false;" (assignment_expression "uVar35 = false" identifier = false) ;)) (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" identifier = number_literal) ;) (expression_statement "uVar38 = true;" (assignment_expression "uVar38 = true" identifier = true) ;) (do_statement "do {\n            iVar27 = (int)uVar28;\n                    /* try { // try from 00180c4d to 00180c52 has its CatchHandler @ 00181f1d */\n            (**(code **)(*plVar14 + 0x80))(&local_c8,plVar14,uVar28);\n            lVar21 = 5;\n            pbVar16 = (byte *)".text";\n            puVar32 = local_c8;\n            do {\n              if (lVar21 == 0) break;\n              lVar21 = lVar21 + -1;\n              uVar35 = *pbVar16 < (byte)*puVar32;\n              uVar38 = *pbVar16 == (byte)*puVar32;\n              pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n              puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n            } while ((bool)uVar38);\n            bVar36 = false;\n            bVar39 = (!(bool)uVar35 && !(bool)uVar38) == (bool)uVar35;\n            if (bVar39) {\nLAB_00180a28:\n              puVar18 = (undefined8 *)*puVar19;\n              if ((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181e47 to 00181e63 has its CatchHandler @ 00181f61 */\n                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (*(long *)(puVar18[10] + uVar28 * 8) == 0) goto LAB_00180c96;\n              lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n              if (lVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(lVar21 + 0x2809) != '\0') {\n                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                local_78 = puVar18;\n                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);\n                if (lVar21 == 0) goto LAB_00180c96;\n                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00180e61 to 001811fa has its CatchHandler @ 00181f61 */\n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (*(int *)(lVar21 + 0x9050) == 2) {\n                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);\n                bVar36 = false;\n                bVar39 = pbVar16 == (byte *)0x0;\n                if (bVar39) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181ef3 to 00181ef7 has its CatchHandler @ 00181f61 */\n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar21 = 4;\n                pbVar31 = &DAT_00373305;\n                pbVar33 = pbVar16;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);\n                bVar37 = false;\n                bVar36 = (!bVar36 && !bVar39) == bVar36;\n                if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }\n                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = &local_78;\n              local_78 = (undefined8 *)*puVar19;\n              puVar32 = (ulong *)param_1[1];\n              if (puVar32 == (ulong *)param_1[2]) {\n                uStack_70._0_4_ = iVar27;\n                FUN_001825a0(param_1,puVar32,local_1a8);\n              }\n              else {\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }\n              local_78 = (undefined8 *)*puVar19;\n              uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n              uVar24 = (ulong)local_78 ^ uVar28;\n              local_1a0 = uVar24 % (ulong)param_1[4];\n              puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24);\n              if ((puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)) {\n                    /* try { // try from 00180cad to 00180cec has its CatchHandler @ 00181f61 */\n                plVar14 = (long *)FUN_002d94a0(0x28);\n                lVar21 = param_1[6];\n                *plVar14 = 0;\n                lVar29 = param_1[4];\n                *(undefined4 *)(plVar14 + 3) = 0;\n                plVar14[1] = (long)local_78;\n                plVar14[2] = uStack_70;\n                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);\n                if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    /* try { // try from 00180d0d to 00180d11 has its CatchHandler @ 00181f10 */\n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }\n                plVar14[4] = uVar24;\n                plVar22 = plVar15 + local_1a0;\n                if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }\n                param_1[6] = param_1[6] + 1;\n              }\n              piVar5 = (int *)param_1[0xb];\n              *(int *)(plVar14 + 3) = iVar13;\n              if (piVar5 == (int *)param_1[0xc]) {\n                __src = (int *)param_1[10];\n                sVar17 = (long)piVar5 - (long)__src;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }\n                *(int *)((long)__dest + sVar17) = iVar13;\n                lVar21 = (long)__dest + sVar17 + 4;\n                if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }\n                param_1[10] = (long)__dest;\n                param_1[0xb] = lVar21;\n                param_1[0xc] = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    /* try { // try from 00180b6b to 00180bee has its CatchHandler @ 00181f61 */\n              local_78 = (undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28);\n              if (local_160 == local_158) {\n                FUN_00182710(&local_168,local_160,local_1a8);\n              }\n              else {\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }\n              iVar10 = local_90;\n              puVar32 = local_98;\n              if (local_98 == local_88) {\n                local_180 = local_90;\n                local_188 = local_98;\n                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);\n              }\n              else {\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }\n              local_78 = &local_68;\n              FUN_001665c0(local_1a8,"");\n                    /* try { // try from 00180c00 to 00180c04 has its CatchHandler @ 00181f59 */\n              FUN_0016f840(&local_148,local_1a8);\n              if (local_78 != &local_68) {\n                FUN_002dac70();\n              }\n              iVar13 = iVar13 + 1;\n              if (local_c8 != local_b8) goto LAB_00180c31;\n            }\n            else {\n              lVar21 = 0xf;\n              pbVar16 = (byte *)".gnu.linkonce.t";\n              puVar32 = local_c8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              } while (bVar39);\n              if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;\nLAB_00180c96:\n              if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }\n            }\n            plVar14 = (long *)*puVar19;\n            uVar26 = iVar27 + 1;\n            uVar28 = (ulong)uVar26;\n            uVar35 = uVar26 < *(uint *)(plVar14 + 7);\n            uVar38 = uVar26 == *(uint *)(plVar14 + 7);\n          } while ((bool)uVar35);" do (compound_statement "{\n            iVar27 = (int)uVar28;\n                    /* try { // try from 00180c4d to 00180c52 has its CatchHandler @ 00181f1d */\n            (**(code **)(*plVar14 + 0x80))(&local_c8,plVar14,uVar28);\n            lVar21 = 5;\n            pbVar16 = (byte *)".text";\n            puVar32 = local_c8;\n            do {\n              if (lVar21 == 0) break;\n              lVar21 = lVar21 + -1;\n              uVar35 = *pbVar16 < (byte)*puVar32;\n              uVar38 = *pbVar16 == (byte)*puVar32;\n              pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n              puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n            } while ((bool)uVar38);\n            bVar36 = false;\n            bVar39 = (!(bool)uVar35 && !(bool)uVar38) == (bool)uVar35;\n            if (bVar39) {\nLAB_00180a28:\n              puVar18 = (undefined8 *)*puVar19;\n              if ((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181e47 to 00181e63 has its CatchHandler @ 00181f61 */\n                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (*(long *)(puVar18[10] + uVar28 * 8) == 0) goto LAB_00180c96;\n              lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n              if (lVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(lVar21 + 0x2809) != '\0') {\n                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                local_78 = puVar18;\n                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);\n                if (lVar21 == 0) goto LAB_00180c96;\n                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00180e61 to 001811fa has its CatchHandler @ 00181f61 */\n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (*(int *)(lVar21 + 0x9050) == 2) {\n                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);\n                bVar36 = false;\n                bVar39 = pbVar16 == (byte *)0x0;\n                if (bVar39) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181ef3 to 00181ef7 has its CatchHandler @ 00181f61 */\n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar21 = 4;\n                pbVar31 = &DAT_00373305;\n                pbVar33 = pbVar16;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);\n                bVar37 = false;\n                bVar36 = (!bVar36 && !bVar39) == bVar36;\n                if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }\n                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = &local_78;\n              local_78 = (undefined8 *)*puVar19;\n              puVar32 = (ulong *)param_1[1];\n              if (puVar32 == (ulong *)param_1[2]) {\n                uStack_70._0_4_ = iVar27;\n                FUN_001825a0(param_1,puVar32,local_1a8);\n              }\n              else {\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }\n              local_78 = (undefined8 *)*puVar19;\n              uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n              uVar24 = (ulong)local_78 ^ uVar28;\n              local_1a0 = uVar24 % (ulong)param_1[4];\n              puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24);\n              if ((puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)) {\n                    /* try { // try from 00180cad to 00180cec has its CatchHandler @ 00181f61 */\n                plVar14 = (long *)FUN_002d94a0(0x28);\n                lVar21 = param_1[6];\n                *plVar14 = 0;\n                lVar29 = param_1[4];\n                *(undefined4 *)(plVar14 + 3) = 0;\n                plVar14[1] = (long)local_78;\n                plVar14[2] = uStack_70;\n                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);\n                if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    /* try { // try from 00180d0d to 00180d11 has its CatchHandler @ 00181f10 */\n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }\n                plVar14[4] = uVar24;\n                plVar22 = plVar15 + local_1a0;\n                if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }\n                param_1[6] = param_1[6] + 1;\n              }\n              piVar5 = (int *)param_1[0xb];\n              *(int *)(plVar14 + 3) = iVar13;\n              if (piVar5 == (int *)param_1[0xc]) {\n                __src = (int *)param_1[10];\n                sVar17 = (long)piVar5 - (long)__src;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }\n                *(int *)((long)__dest + sVar17) = iVar13;\n                lVar21 = (long)__dest + sVar17 + 4;\n                if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }\n                param_1[10] = (long)__dest;\n                param_1[0xb] = lVar21;\n                param_1[0xc] = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    /* try { // try from 00180b6b to 00180bee has its CatchHandler @ 00181f61 */\n              local_78 = (undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28);\n              if (local_160 == local_158) {\n                FUN_00182710(&local_168,local_160,local_1a8);\n              }\n              else {\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }\n              iVar10 = local_90;\n              puVar32 = local_98;\n              if (local_98 == local_88) {\n                local_180 = local_90;\n                local_188 = local_98;\n                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);\n              }\n              else {\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }\n              local_78 = &local_68;\n              FUN_001665c0(local_1a8,"");\n                    /* try { // try from 00180c00 to 00180c04 has its CatchHandler @ 00181f59 */\n              FUN_0016f840(&local_148,local_1a8);\n              if (local_78 != &local_68) {\n                FUN_002dac70();\n              }\n              iVar13 = iVar13 + 1;\n              if (local_c8 != local_b8) goto LAB_00180c31;\n            }\n            else {\n              lVar21 = 0xf;\n              pbVar16 = (byte *)".gnu.linkonce.t";\n              puVar32 = local_c8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              } while (bVar39);\n              if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;\nLAB_00180c96:\n              if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }\n            }\n            plVar14 = (long *)*puVar19;\n            uVar26 = iVar27 + 1;\n            uVar28 = (ulong)uVar26;\n            uVar35 = uVar26 < *(uint *)(plVar14 + 7);\n            uVar38 = uVar26 == *(uint *)(plVar14 + 7);\n          }" { (expression_statement "iVar27 = (int)uVar28;" (assignment_expression "iVar27 = (int)uVar28" identifier = (cast_expression "(int)uVar28" ( (type_descriptor "int" primitive_type) ) identifier)) ;) comment (expression_statement "(**(code **)(*plVar14 + 0x80))(&local_c8,plVar14,uVar28);" (call_expression "(**(code **)(*plVar14 + 0x80))(&local_c8,plVar14,uVar28)" (parenthesized_expression "(**(code **)(*plVar14 + 0x80))" ( (pointer_expression "**(code **)(*plVar14 + 0x80)" * (pointer_expression "*(code **)(*plVar14 + 0x80)" * (cast_expression "(code **)(*plVar14 + 0x80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar14 + 0x80)" ( (binary_expression "*plVar14 + 0x80" (pointer_expression "*plVar14" * identifier) + number_literal) ))))) )) (argument_list "(&local_c8,plVar14,uVar28)" ( (pointer_expression "&local_c8" & identifier) , identifier , identifier ))) ;) (expression_statement "lVar21 = 5;" (assignment_expression "lVar21 = 5" identifier = number_literal) ;) (expression_statement "pbVar16 = (byte *)".text";" (assignment_expression "pbVar16 = (byte *)".text"" identifier = (cast_expression "(byte *)".text"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".text"" " string_content "))) ;) (expression_statement "puVar32 = local_c8;" (assignment_expression "puVar32 = local_c8" identifier = identifier) ;) (do_statement "do {\n              if (lVar21 == 0) break;\n              lVar21 = lVar21 + -1;\n              uVar35 = *pbVar16 < (byte)*puVar32;\n              uVar38 = *pbVar16 == (byte)*puVar32;\n              pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n              puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n            } while ((bool)uVar38);" do (compound_statement "{\n              if (lVar21 == 0) break;\n              lVar21 = lVar21 + -1;\n              uVar35 = *pbVar16 < (byte)*puVar32;\n              uVar38 = *pbVar16 == (byte)*puVar32;\n              pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n              puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n            }" { (if_statement "if (lVar21 == 0) break;" if (parenthesized_expression "(lVar21 == 0)" ( (binary_expression "lVar21 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar21 = lVar21 + -1;" (assignment_expression "lVar21 = lVar21 + -1" identifier = (binary_expression "lVar21 + -1" identifier + number_literal)) ;) (expression_statement "uVar35 = *pbVar16 < (byte)*puVar32;" (assignment_expression "uVar35 = *pbVar16 < (byte)*puVar32" identifier = (binary_expression "*pbVar16 < (byte)*puVar32" (pointer_expression "*pbVar16" * identifier) < (binary_expression "(byte)*puVar32" (parenthesized_expression "(byte)" ( identifier )) * identifier))) ;) (expression_statement "uVar38 = *pbVar16 == (byte)*puVar32;" (assignment_expression "uVar38 = *pbVar16 == (byte)*puVar32" identifier = (binary_expression "*pbVar16 == (byte)*puVar32" (pointer_expression "*pbVar16" * identifier) == (binary_expression "(byte)*puVar32" (parenthesized_expression "(byte)" ( identifier )) * identifier))) ;) (expression_statement "pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;" (assignment_expression "pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1" identifier = (binary_expression "pbVar16 + (ulong)bVar40 * -2 + 1" (binary_expression "pbVar16 + (ulong)bVar40 * -2" identifier + (binary_expression "(ulong)bVar40 * -2" (cast_expression "(ulong)bVar40" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);" (assignment_expression "puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1)" identifier = (cast_expression "(ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar32 + (ulong)bVar40 * -2 + 1)" ( (binary_expression "(long)puVar32 + (ulong)bVar40 * -2 + 1" (binary_expression "(long)puVar32 + (ulong)bVar40 * -2" (cast_expression "(long)puVar32" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "(ulong)bVar40 * -2" (cast_expression "(ulong)bVar40" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) }) while (parenthesized_expression "((bool)uVar38)" ( (cast_expression "(bool)uVar38" ( (type_descriptor "bool" primitive_type) ) identifier) )) ;) (expression_statement "bVar36 = false;" (assignment_expression "bVar36 = false" identifier = false) ;) (expression_statement "bVar39 = (!(bool)uVar35 && !(bool)uVar38) == (bool)uVar35;" (assignment_expression "bVar39 = (!(bool)uVar35 && !(bool)uVar38) == (bool)uVar35" identifier = (binary_expression "(!(bool)uVar35 && !(bool)uVar38) == (bool)uVar35" (parenthesized_expression "(!(bool)uVar35 && !(bool)uVar38)" ( (binary_expression "!(bool)uVar35 && !(bool)uVar38" (unary_expression "!(bool)uVar35" ! (cast_expression "(bool)uVar35" ( (type_descriptor "bool" primitive_type) ) identifier)) && (unary_expression "!(bool)uVar38" ! (cast_expression "(bool)uVar38" ( (type_descriptor "bool" primitive_type) ) identifier))) )) == (cast_expression "(bool)uVar35" ( (type_descriptor "bool" primitive_type) ) identifier))) ;) (if_statement "if (bVar39) {\nLAB_00180a28:\n              puVar18 = (undefined8 *)*puVar19;\n              if ((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181e47 to 00181e63 has its CatchHandler @ 00181f61 */\n                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (*(long *)(puVar18[10] + uVar28 * 8) == 0) goto LAB_00180c96;\n              lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n              if (lVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(lVar21 + 0x2809) != '\0') {\n                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                local_78 = puVar18;\n                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);\n                if (lVar21 == 0) goto LAB_00180c96;\n                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00180e61 to 001811fa has its CatchHandler @ 00181f61 */\n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (*(int *)(lVar21 + 0x9050) == 2) {\n                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);\n                bVar36 = false;\n                bVar39 = pbVar16 == (byte *)0x0;\n                if (bVar39) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181ef3 to 00181ef7 has its CatchHandler @ 00181f61 */\n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar21 = 4;\n                pbVar31 = &DAT_00373305;\n                pbVar33 = pbVar16;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);\n                bVar37 = false;\n                bVar36 = (!bVar36 && !bVar39) == bVar36;\n                if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }\n                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = &local_78;\n              local_78 = (undefined8 *)*puVar19;\n              puVar32 = (ulong *)param_1[1];\n              if (puVar32 == (ulong *)param_1[2]) {\n                uStack_70._0_4_ = iVar27;\n                FUN_001825a0(param_1,puVar32,local_1a8);\n              }\n              else {\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }\n              local_78 = (undefined8 *)*puVar19;\n              uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n              uVar24 = (ulong)local_78 ^ uVar28;\n              local_1a0 = uVar24 % (ulong)param_1[4];\n              puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24);\n              if ((puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)) {\n                    /* try { // try from 00180cad to 00180cec has its CatchHandler @ 00181f61 */\n                plVar14 = (long *)FUN_002d94a0(0x28);\n                lVar21 = param_1[6];\n                *plVar14 = 0;\n                lVar29 = param_1[4];\n                *(undefined4 *)(plVar14 + 3) = 0;\n                plVar14[1] = (long)local_78;\n                plVar14[2] = uStack_70;\n                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);\n                if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    /* try { // try from 00180d0d to 00180d11 has its CatchHandler @ 00181f10 */\n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }\n                plVar14[4] = uVar24;\n                plVar22 = plVar15 + local_1a0;\n                if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }\n                param_1[6] = param_1[6] + 1;\n              }\n              piVar5 = (int *)param_1[0xb];\n              *(int *)(plVar14 + 3) = iVar13;\n              if (piVar5 == (int *)param_1[0xc]) {\n                __src = (int *)param_1[10];\n                sVar17 = (long)piVar5 - (long)__src;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }\n                *(int *)((long)__dest + sVar17) = iVar13;\n                lVar21 = (long)__dest + sVar17 + 4;\n                if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }\n                param_1[10] = (long)__dest;\n                param_1[0xb] = lVar21;\n                param_1[0xc] = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    /* try { // try from 00180b6b to 00180bee has its CatchHandler @ 00181f61 */\n              local_78 = (undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28);\n              if (local_160 == local_158) {\n                FUN_00182710(&local_168,local_160,local_1a8);\n              }\n              else {\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }\n              iVar10 = local_90;\n              puVar32 = local_98;\n              if (local_98 == local_88) {\n                local_180 = local_90;\n                local_188 = local_98;\n                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);\n              }\n              else {\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }\n              local_78 = &local_68;\n              FUN_001665c0(local_1a8,"");\n                    /* try { // try from 00180c00 to 00180c04 has its CatchHandler @ 00181f59 */\n              FUN_0016f840(&local_148,local_1a8);\n              if (local_78 != &local_68) {\n                FUN_002dac70();\n              }\n              iVar13 = iVar13 + 1;\n              if (local_c8 != local_b8) goto LAB_00180c31;\n            }\n            else {\n              lVar21 = 0xf;\n              pbVar16 = (byte *)".gnu.linkonce.t";\n              puVar32 = local_c8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              } while (bVar39);\n              if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;\nLAB_00180c96:\n              if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }\n            }" if (parenthesized_expression "(bVar39)" ( identifier )) (compound_statement "{\nLAB_00180a28:\n              puVar18 = (undefined8 *)*puVar19;\n              if ((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181e47 to 00181e63 has its CatchHandler @ 00181f61 */\n                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (*(long *)(puVar18[10] + uVar28 * 8) == 0) goto LAB_00180c96;\n              lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n              if (lVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(lVar21 + 0x2809) != '\0') {\n                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                local_78 = puVar18;\n                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);\n                if (lVar21 == 0) goto LAB_00180c96;\n                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00180e61 to 001811fa has its CatchHandler @ 00181f61 */\n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (*(int *)(lVar21 + 0x9050) == 2) {\n                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);\n                bVar36 = false;\n                bVar39 = pbVar16 == (byte *)0x0;\n                if (bVar39) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181ef3 to 00181ef7 has its CatchHandler @ 00181f61 */\n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar21 = 4;\n                pbVar31 = &DAT_00373305;\n                pbVar33 = pbVar16;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);\n                bVar37 = false;\n                bVar36 = (!bVar36 && !bVar39) == bVar36;\n                if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }\n                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = &local_78;\n              local_78 = (undefined8 *)*puVar19;\n              puVar32 = (ulong *)param_1[1];\n              if (puVar32 == (ulong *)param_1[2]) {\n                uStack_70._0_4_ = iVar27;\n                FUN_001825a0(param_1,puVar32,local_1a8);\n              }\n              else {\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }\n              local_78 = (undefined8 *)*puVar19;\n              uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n              uVar24 = (ulong)local_78 ^ uVar28;\n              local_1a0 = uVar24 % (ulong)param_1[4];\n              puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24);\n              if ((puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)) {\n                    /* try { // try from 00180cad to 00180cec has its CatchHandler @ 00181f61 */\n                plVar14 = (long *)FUN_002d94a0(0x28);\n                lVar21 = param_1[6];\n                *plVar14 = 0;\n                lVar29 = param_1[4];\n                *(undefined4 *)(plVar14 + 3) = 0;\n                plVar14[1] = (long)local_78;\n                plVar14[2] = uStack_70;\n                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);\n                if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    /* try { // try from 00180d0d to 00180d11 has its CatchHandler @ 00181f10 */\n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }\n                plVar14[4] = uVar24;\n                plVar22 = plVar15 + local_1a0;\n                if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }\n                param_1[6] = param_1[6] + 1;\n              }\n              piVar5 = (int *)param_1[0xb];\n              *(int *)(plVar14 + 3) = iVar13;\n              if (piVar5 == (int *)param_1[0xc]) {\n                __src = (int *)param_1[10];\n                sVar17 = (long)piVar5 - (long)__src;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }\n                *(int *)((long)__dest + sVar17) = iVar13;\n                lVar21 = (long)__dest + sVar17 + 4;\n                if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }\n                param_1[10] = (long)__dest;\n                param_1[0xb] = lVar21;\n                param_1[0xc] = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    /* try { // try from 00180b6b to 00180bee has its CatchHandler @ 00181f61 */\n              local_78 = (undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28);\n              if (local_160 == local_158) {\n                FUN_00182710(&local_168,local_160,local_1a8);\n              }\n              else {\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }\n              iVar10 = local_90;\n              puVar32 = local_98;\n              if (local_98 == local_88) {\n                local_180 = local_90;\n                local_188 = local_98;\n                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);\n              }\n              else {\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }\n              local_78 = &local_68;\n              FUN_001665c0(local_1a8,"");\n                    /* try { // try from 00180c00 to 00180c04 has its CatchHandler @ 00181f59 */\n              FUN_0016f840(&local_148,local_1a8);\n              if (local_78 != &local_68) {\n                FUN_002dac70();\n              }\n              iVar13 = iVar13 + 1;\n              if (local_c8 != local_b8) goto LAB_00180c31;\n            }" { (labeled_statement "LAB_00180a28:\n              puVar18 = (undefined8 *)*puVar19;" statement_identifier : (expression_statement "puVar18 = (undefined8 *)*puVar19;" (assignment_expression "puVar18 = (undefined8 *)*puVar19" identifier = (cast_expression "(undefined8 *)*puVar19" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar19" * identifier))) ;)) (if_statement "if ((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181e47 to 00181e63 has its CatchHandler @ 00181f61 */\n                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n              }" if (parenthesized_expression "((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28)" ( (binary_expression "(ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28" (call_expression "(ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((long)(puVar18[0xb] - puVar18[10]) >> 3)" ( (binary_expression "(long)(puVar18[0xb] - puVar18[10]) >> 3" (cast_expression "(long)(puVar18[0xb] - puVar18[10])" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "(puVar18[0xb] - puVar18[10])" ( (binary_expression "puVar18[0xb] - puVar18[10]" (subscript_expression "puVar18[0xb]" identifier [ number_literal ]) - (subscript_expression "puVar18[10]" identifier [ number_literal ])) ))) >> number_literal) ))) <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181e47 to 00181e63 has its CatchHandler @ 00181f61 */\n                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n              }" { comment comment (expression_statement "FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");" (call_expression "FUN_0017c650("../../gold/object.h",0x50b,"is_section_included")" identifier (argument_list "("../../gold/object.h",0x50b,"is_section_included")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""is_section_included"" " string_content ") ))) ;) })) (if_statement "if (*(long *)(puVar18[10] + uVar28 * 8) == 0) goto LAB_00180c96;" if (parenthesized_expression "(*(long *)(puVar18[10] + uVar28 * 8) == 0)" ( (binary_expression "*(long *)(puVar18[10] + uVar28 * 8) == 0" (pointer_expression "*(long *)(puVar18[10] + uVar28 * 8)" * (cast_expression "(long *)(puVar18[10] + uVar28 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18[10] + uVar28 * 8)" ( (binary_expression "puVar18[10] + uVar28 * 8" (subscript_expression "puVar18[10]" identifier [ number_literal ]) + (binary_expression "uVar28 * 8" identifier * number_literal)) )))) == number_literal) )) (goto_statement "goto LAB_00180c96;" goto statement_identifier ;)) (expression_statement "lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);" (assignment_expression "lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }" if (parenthesized_expression "(lVar21 == 0)" ( (binary_expression "lVar21 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }" { comment (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (if_statement "if (*(char *)(lVar21 + 0x2809) != '\0') {\n                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                local_78 = puVar18;\n                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);\n                if (lVar21 == 0) goto LAB_00180c96;\n                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00180e61 to 001811fa has its CatchHandler @ 00181f61 */\n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n              }" if (parenthesized_expression "(*(char *)(lVar21 + 0x2809) != '\0')" ( (binary_expression "*(char *)(lVar21 + 0x2809) != '\0'" (pointer_expression "*(char *)(lVar21 + 0x2809)" * (cast_expression "(char *)(lVar21 + 0x2809)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar21 + 0x2809)" ( (binary_expression "lVar21 + 0x2809" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                local_78 = puVar18;\n                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);\n                if (lVar21 == 0) goto LAB_00180c96;\n                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00180e61 to 001811fa has its CatchHandler @ 00181f61 */\n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n              }" { (expression_statement "uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);" (assignment_expression "uStack_70 = CONCAT44(uStack_70._4_4_,iVar27)" identifier = (call_expression "CONCAT44(uStack_70._4_4_,iVar27)" identifier (argument_list "(uStack_70._4_4_,iVar27)" ( (field_expression "uStack_70._4_4_" identifier . field_identifier) , identifier )))) ;) (expression_statement "local_78 = puVar18;" (assignment_expression "local_78 = puVar18" identifier = identifier) ;) (expression_statement "lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);" (assignment_expression "lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78)" identifier = (call_expression "FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78)" identifier (argument_list "(*(long *)(param_3 + 0x290) + 0x50,&local_78)" ( (binary_expression "*(long *)(param_3 + 0x290) + 0x50" (pointer_expression "*(long *)(param_3 + 0x290)" * (cast_expression "(long *)(param_3 + 0x290)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x290)" ( (binary_expression "param_3 + 0x290" identifier + number_literal) )))) + number_literal) , (pointer_expression "&local_78" & identifier) )))) ;) (if_statement "if (lVar21 == 0) goto LAB_00180c96;" if (parenthesized_expression "(lVar21 == 0)" ( (binary_expression "lVar21 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00180c96;" goto statement_identifier ;)) (expression_statement "lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);" (assignment_expression "lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00180e61 to 001811fa has its CatchHandler @ 00181f61 */\n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }" if (parenthesized_expression "(lVar21 == 0)" ( (binary_expression "lVar21 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00180e61 to 001811fa has its CatchHandler @ 00181f61 */\n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }" { comment comment (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) })) (if_statement "if (*(int *)(lVar21 + 0x9050) == 2) {\n                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);\n                bVar36 = false;\n                bVar39 = pbVar16 == (byte *)0x0;\n                if (bVar39) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181ef3 to 00181ef7 has its CatchHandler @ 00181f61 */\n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar21 = 4;\n                pbVar31 = &DAT_00373305;\n                pbVar33 = pbVar16;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);\n                bVar37 = false;\n                bVar36 = (!bVar36 && !bVar39) == bVar36;\n                if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }\n                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }" if (parenthesized_expression "(*(int *)(lVar21 + 0x9050) == 2)" ( (binary_expression "*(int *)(lVar21 + 0x9050) == 2" (pointer_expression "*(int *)(lVar21 + 0x9050)" * (cast_expression "(int *)(lVar21 + 0x9050)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar21 + 0x9050)" ( (binary_expression "lVar21 + 0x9050" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);\n                bVar36 = false;\n                bVar39 = pbVar16 == (byte *)0x0;\n                if (bVar39) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181ef3 to 00181ef7 has its CatchHandler @ 00181f61 */\n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar21 = 4;\n                pbVar31 = &DAT_00373305;\n                pbVar33 = pbVar16;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);\n                bVar37 = false;\n                bVar36 = (!bVar36 && !bVar39) == bVar36;\n                if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }\n                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }" { (expression_statement "pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);" (assignment_expression "pbVar16 = (byte *)strrchr((char *)local_c8,0x2e)" identifier = (cast_expression "(byte *)strrchr((char *)local_c8,0x2e)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "strrchr((char *)local_c8,0x2e)" identifier (argument_list "((char *)local_c8,0x2e)" ( (cast_expression "(char *)local_c8" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , number_literal ))))) ;) (expression_statement "bVar36 = false;" (assignment_expression "bVar36 = false" identifier = false) ;) (expression_statement "bVar39 = pbVar16 == (byte *)0x0;" (assignment_expression "bVar39 = pbVar16 == (byte *)0x0" identifier = (binary_expression "pbVar16 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (if_statement "if (bVar39) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181ef3 to 00181ef7 has its CatchHandler @ 00181f61 */\n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }" if (parenthesized_expression "(bVar39)" ( identifier )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181ef3 to 00181ef7 has its CatchHandler @ 00181f61 */\n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }" { comment comment (expression_statement "FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");" (call_expression "FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor")" identifier (argument_list "("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor")" ( (string_literal ""../../gold/icf.cc"" " string_content ") , number_literal , (string_literal ""is_function_ctor_or_dtor"" " string_content ") ))) ;) })) (expression_statement "lVar21 = 4;" (assignment_expression "lVar21 = 4" identifier = number_literal) ;) (expression_statement "pbVar31 = &DAT_00373305;" (assignment_expression "pbVar31 = &DAT_00373305" identifier = (pointer_expression "&DAT_00373305" & identifier)) ;) (expression_statement "pbVar33 = pbVar16;" (assignment_expression "pbVar33 = pbVar16" identifier = identifier) ;) (do_statement "do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);" do (compound_statement "{\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                }" { (if_statement "if (lVar21 == 0) break;" if (parenthesized_expression "(lVar21 == 0)" ( (binary_expression "lVar21 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar21 = lVar21 + -1;" (assignment_expression "lVar21 = lVar21 + -1" identifier = (binary_expression "lVar21 + -1" identifier + number_literal)) ;) (expression_statement "bVar36 = *pbVar31 < *pbVar33;" (assignment_expression "bVar36 = *pbVar31 < *pbVar33" identifier = (binary_expression "*pbVar31 < *pbVar33" (pointer_expression "*pbVar31" * identifier) < (pointer_expression "*pbVar33" * identifier))) ;) (expression_statement "bVar39 = *pbVar31 == *pbVar33;" (assignment_expression "bVar39 = *pbVar31 == *pbVar33" identifier = (binary_expression "*pbVar31 == *pbVar33" (pointer_expression "*pbVar31" * identifier) == (pointer_expression "*pbVar33" * identifier))) ;) (expression_statement "pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;" (assignment_expression "pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1" identifier = (binary_expression "pbVar31 + (ulong)bVar40 * -2 + 1" (binary_expression "pbVar31 + (ulong)bVar40 * -2" identifier + (binary_expression "(ulong)bVar40 * -2" (cast_expression "(ulong)bVar40" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;" (assignment_expression "pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1" identifier = (binary_expression "pbVar33 + (ulong)bVar40 * -2 + 1" (binary_expression "pbVar33 + (ulong)bVar40 * -2" identifier + (binary_expression "(ulong)bVar40 * -2" (cast_expression "(ulong)bVar40" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar39)" ( identifier )) ;) (expression_statement "bVar37 = false;" (assignment_expression "bVar37 = false" identifier = false) ;) (expression_statement "bVar36 = (!bVar36 && !bVar39) == bVar36;" (assignment_expression "bVar36 = (!bVar36 && !bVar39) == bVar36" identifier = (binary_expression "(!bVar36 && !bVar39) == bVar36" (parenthesized_expression "(!bVar36 && !bVar39)" ( (binary_expression "!bVar36 && !bVar39" (unary_expression "!bVar36" ! identifier) && (unary_expression "!bVar39" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }" if (parenthesized_expression "(bVar36)" ( identifier )) (compound_statement "{\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }" { (labeled_statement "LAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);" statement_identifier : (expression_statement "iVar10 = FUN_002d2ef0(pbVar16 + 1);" (assignment_expression "iVar10 = FUN_002d2ef0(pbVar16 + 1)" identifier = (call_expression "FUN_002d2ef0(pbVar16 + 1)" identifier (argument_list "(pbVar16 + 1)" ( (binary_expression "pbVar16 + 1" identifier + number_literal) )))) ;)) (if_statement "if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;" if (parenthesized_expression "((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))" ( (binary_expression "(iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0)" (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) || (parenthesized_expression "(iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0)" ( (comma_expression "iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0" (assignment_expression "iVar10 = FUN_002d2f20(pbVar16 + 1)" identifier = (call_expression "FUN_002d2f20(pbVar16 + 1)" identifier (argument_list "(pbVar16 + 1)" ( (binary_expression "pbVar16 + 1" identifier + number_literal) )))) , (binary_expression "iVar10 != 0" identifier != number_literal)) ))) )) (goto_statement "goto LAB_00180a97;" goto statement_identifier ;)) }) (else_clause "else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }" else (compound_statement "{\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }" { (expression_statement "lVar21 = 4;" (assignment_expression "lVar21 = 4" identifier = number_literal) ;) (expression_statement "pbVar31 = &DAT_0037330a;" (assignment_expression "pbVar31 = &DAT_0037330a" identifier = (pointer_expression "&DAT_0037330a" & identifier)) ;) (expression_statement "pbVar33 = pbVar16;" (assignment_expression "pbVar33 = pbVar16" identifier = identifier) ;) (do_statement "do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);" do (compound_statement "{\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  }" { (if_statement "if (lVar21 == 0) break;" if (parenthesized_expression "(lVar21 == 0)" ( (binary_expression "lVar21 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar21 = lVar21 + -1;" (assignment_expression "lVar21 = lVar21 + -1" identifier = (binary_expression "lVar21 + -1" identifier + number_literal)) ;) (expression_statement "bVar37 = *pbVar31 < *pbVar33;" (assignment_expression "bVar37 = *pbVar31 < *pbVar33" identifier = (binary_expression "*pbVar31 < *pbVar33" (pointer_expression "*pbVar31" * identifier) < (pointer_expression "*pbVar33" * identifier))) ;) (expression_statement "bVar36 = *pbVar31 == *pbVar33;" (assignment_expression "bVar36 = *pbVar31 == *pbVar33" identifier = (binary_expression "*pbVar31 == *pbVar33" (pointer_expression "*pbVar31" * identifier) == (pointer_expression "*pbVar33" * identifier))) ;) (expression_statement "pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;" (assignment_expression "pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1" identifier = (binary_expression "pbVar31 + (ulong)bVar40 * -2 + 1" (binary_expression "pbVar31 + (ulong)bVar40 * -2" identifier + (binary_expression "(ulong)bVar40 * -2" (cast_expression "(ulong)bVar40" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;" (assignment_expression "pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1" identifier = (binary_expression "pbVar33 + (ulong)bVar40 * -2 + 1" (binary_expression "pbVar33 + (ulong)bVar40 * -2" identifier + (binary_expression "(ulong)bVar40 * -2" (cast_expression "(ulong)bVar40" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar36)" ( identifier )) ;) (if_statement "if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;" if (parenthesized_expression "((!bVar37 && !bVar36) == bVar37)" ( (binary_expression "(!bVar37 && !bVar36) == bVar37" (parenthesized_expression "(!bVar37 && !bVar36)" ( (binary_expression "!bVar37 && !bVar36" (unary_expression "!bVar37" ! identifier) && (unary_expression "!bVar36" ! identifier)) )) == identifier) )) (goto_statement "goto LAB_00180f58;" goto statement_identifier ;)) }))) (if_statement "if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }" if (parenthesized_expression "((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0'))" ( (binary_expression "(*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')" (parenthesized_expression "(*(code **)(*plVar4 + 0x90) != FUN_00181fa0)" ( (binary_expression "*(code **)(*plVar4 + 0x90) != FUN_00181fa0" (pointer_expression "*(code **)(*plVar4 + 0x90)" * (cast_expression "(code **)(*plVar4 + 0x90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar4 + 0x90)" ( (binary_expression "*plVar4 + 0x90" (pointer_expression "*plVar4" * identifier) + number_literal) )))) != identifier) )) && (parenthesized_expression "(cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')" ( (comma_expression "cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0'" (assignment_expression "cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4)" identifier = (call_expression "(**(code **)(*plVar4 + 0x90))(plVar4)" (parenthesized_expression "(**(code **)(*plVar4 + 0x90))" ( (pointer_expression "**(code **)(*plVar4 + 0x90)" * (pointer_expression "*(code **)(*plVar4 + 0x90)" * (cast_expression "(code **)(*plVar4 + 0x90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar4 + 0x90)" ( (binary_expression "*plVar4 + 0x90" (pointer_expression "*plVar4" * identifier) + number_literal) ))))) )) (argument_list "(plVar4)" ( identifier )))) , (binary_expression "cVar9 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }" { (expression_statement "local_78 = (undefined8 *)*puVar19;" (assignment_expression "local_78 = (undefined8 *)*puVar19" identifier = (cast_expression "(undefined8 *)*puVar19" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar19" * identifier))) ;) (expression_statement "uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);" (assignment_expression "uStack_70 = CONCAT44(uStack_70._4_4_,iVar27)" identifier = (call_expression "CONCAT44(uStack_70._4_4_,iVar27)" identifier (argument_list "(uStack_70._4_4_,iVar27)" ( (field_expression "uStack_70._4_4_" identifier . field_identifier) , identifier )))) ;) (expression_statement "lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);" (assignment_expression "lVar21 = FUN_001820f0(param_1 + 0xd,&local_78)" identifier = (call_expression "FUN_001820f0(param_1 + 0xd,&local_78)" identifier (argument_list "(param_1 + 0xd,&local_78)" ( (binary_expression "param_1 + 0xd" identifier + number_literal) , (pointer_expression "&local_78" & identifier) )))) ;) (if_statement "if (lVar21 == 0) goto LAB_00180a97;" if (parenthesized_expression "(lVar21 == 0)" ( (binary_expression "lVar21 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00180a97;" goto statement_identifier ;)) })) (goto_statement "goto LAB_00180c96;" goto statement_identifier ;) })) (labeled_statement "LAB_00180a97:\n              local_1a8 = &local_78;" statement_identifier : (expression_statement "local_1a8 = &local_78;" (assignment_expression "local_1a8 = &local_78" identifier = (pointer_expression "&local_78" & identifier)) ;)) (expression_statement "local_78 = (undefined8 *)*puVar19;" (assignment_expression "local_78 = (undefined8 *)*puVar19" identifier = (cast_expression "(undefined8 *)*puVar19" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar19" * identifier))) ;) (expression_statement "puVar32 = (ulong *)param_1[1];" (assignment_expression "puVar32 = (ulong *)param_1[1]" identifier = (cast_expression "(ulong *)param_1[1]" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) ;) (if_statement "if (puVar32 == (ulong *)param_1[2]) {\n                uStack_70._0_4_ = iVar27;\n                FUN_001825a0(param_1,puVar32,local_1a8);\n              }\n              else {\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }" if (parenthesized_expression "(puVar32 == (ulong *)param_1[2])" ( (binary_expression "puVar32 == (ulong *)param_1[2]" identifier == (cast_expression "(ulong *)param_1[2]" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[2]" identifier [ number_literal ]))) )) (compound_statement "{\n                uStack_70._0_4_ = iVar27;\n                FUN_001825a0(param_1,puVar32,local_1a8);\n              }" { (expression_statement "uStack_70._0_4_ = iVar27;" (assignment_expression "uStack_70._0_4_ = iVar27" (field_expression "uStack_70._0_4_" identifier . field_identifier) = identifier) ;) (expression_statement "FUN_001825a0(param_1,puVar32,local_1a8);" (call_expression "FUN_001825a0(param_1,puVar32,local_1a8)" identifier (argument_list "(param_1,puVar32,local_1a8)" ( identifier , identifier , identifier ))) ;) }) (else_clause "else {\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }" else (compound_statement "{\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }" { (expression_statement "*puVar32 = (ulong)local_78;" (assignment_expression "*puVar32 = (ulong)local_78" (pointer_expression "*puVar32" * identifier) = (cast_expression "(ulong)local_78" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "*(int *)(puVar32 + 1) = iVar27;" (assignment_expression "*(int *)(puVar32 + 1) = iVar27" (pointer_expression "*(int *)(puVar32 + 1)" * (cast_expression "(int *)(puVar32 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + 1)" ( (binary_expression "puVar32 + 1" identifier + number_literal) )))) = identifier) ;) (expression_statement "param_1[1] = (long)(puVar32 + 2);" (assignment_expression "param_1[1] = (long)(puVar32 + 2)" (subscript_expression "param_1[1]" identifier [ number_literal ]) = (cast_expression "(long)(puVar32 + 2)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "(puVar32 + 2)" ( (binary_expression "puVar32 + 2" identifier + number_literal) )))) ;) }))) (expression_statement "local_78 = (undefined8 *)*puVar19;" (assignment_expression "local_78 = (undefined8 *)*puVar19" identifier = (cast_expression "(undefined8 *)*puVar19" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar19" * identifier))) ;) (expression_statement "uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);" (assignment_expression "uStack_70 = CONCAT44(uStack_70._4_4_,iVar27)" identifier = (call_expression "CONCAT44(uStack_70._4_4_,iVar27)" identifier (argument_list "(uStack_70._4_4_,iVar27)" ( (field_expression "uStack_70._4_4_" identifier . field_identifier) , identifier )))) ;) (expression_statement "uVar24 = (ulong)local_78 ^ uVar28;" (assignment_expression "uVar24 = (ulong)local_78 ^ uVar28" identifier = (binary_expression "(ulong)local_78 ^ uVar28" (cast_expression "(ulong)local_78" ( (type_descriptor "ulong" type_identifier) ) identifier) ^ identifier)) ;) (expression_statement "local_1a0 = uVar24 % (ulong)param_1[4];" (assignment_expression "local_1a0 = uVar24 % (ulong)param_1[4]" identifier = (binary_expression "uVar24 % (ulong)param_1[4]" identifier % (cast_expression "(ulong)param_1[4]" ( (type_descriptor "ulong" type_identifier) ) (subscript_expression "param_1[4]" identifier [ number_literal ])))) ;) (expression_statement "puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24);" (assignment_expression "puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24)" identifier = (cast_expression "(undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24)" identifier (argument_list "(param_1 + 3,local_1a0,local_1a8,uVar24)" ( (binary_expression "param_1 + 3" identifier + number_literal) , identifier , identifier , identifier ))))) ;) (if_statement "if ((puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)) {\n                    /* try { // try from 00180cad to 00180cec has its CatchHandler @ 00181f61 */\n                plVar14 = (long *)FUN_002d94a0(0x28);\n                lVar21 = param_1[6];\n                *plVar14 = 0;\n                lVar29 = param_1[4];\n                *(undefined4 *)(plVar14 + 3) = 0;\n                plVar14[1] = (long)local_78;\n                plVar14[2] = uStack_70;\n                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);\n                if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    /* try { // try from 00180d0d to 00180d11 has its CatchHandler @ 00181f10 */\n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }\n                plVar14[4] = uVar24;\n                plVar22 = plVar15 + local_1a0;\n                if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }\n                param_1[6] = param_1[6] + 1;\n              }" if (parenthesized_expression "((puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0))" ( (binary_expression "(puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)" (parenthesized_expression "(puVar18 == (undefined8 *)0x0)" ( (binary_expression "puVar18 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)" ( (comma_expression "plVar14 = (long *)*puVar18, plVar14 == (long *)0x0" (assignment_expression "plVar14 = (long *)*puVar18" identifier = (cast_expression "(long *)*puVar18" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar18" * identifier))) , (binary_expression "plVar14 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n                    /* try { // try from 00180cad to 00180cec has its CatchHandler @ 00181f61 */\n                plVar14 = (long *)FUN_002d94a0(0x28);\n                lVar21 = param_1[6];\n                *plVar14 = 0;\n                lVar29 = param_1[4];\n                *(undefined4 *)(plVar14 + 3) = 0;\n                plVar14[1] = (long)local_78;\n                plVar14[2] = uStack_70;\n                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);\n                if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    /* try { // try from 00180d0d to 00180d11 has its CatchHandler @ 00181f10 */\n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }\n                plVar14[4] = uVar24;\n                plVar22 = plVar15 + local_1a0;\n                if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }\n                param_1[6] = param_1[6] + 1;\n              }" { comment (expression_statement "plVar14 = (long *)FUN_002d94a0(0x28);" (assignment_expression "plVar14 = (long *)FUN_002d94a0(0x28)" identifier = (cast_expression "(long *)FUN_002d94a0(0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002d94a0(0x28)" identifier (argument_list "(0x28)" ( number_literal ))))) ;) (expression_statement "lVar21 = param_1[6];" (assignment_expression "lVar21 = param_1[6]" identifier = (subscript_expression "param_1[6]" identifier [ number_literal ])) ;) (expression_statement "*plVar14 = 0;" (assignment_expression "*plVar14 = 0" (pointer_expression "*plVar14" * identifier) = number_literal) ;) (expression_statement "lVar29 = param_1[4];" (assignment_expression "lVar29 = param_1[4]" identifier = (subscript_expression "param_1[4]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(plVar14 + 3) = 0;" (assignment_expression "*(undefined4 *)(plVar14 + 3) = 0" (pointer_expression "*(undefined4 *)(plVar14 + 3)" * (cast_expression "(undefined4 *)(plVar14 + 3)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar14 + 3)" ( (binary_expression "plVar14 + 3" identifier + number_literal) )))) = number_literal) ;) (expression_statement "plVar14[1] = (long)local_78;" (assignment_expression "plVar14[1] = (long)local_78" (subscript_expression "plVar14[1]" identifier [ number_literal ]) = (cast_expression "(long)local_78" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "plVar14[2] = uStack_70;" (assignment_expression "plVar14[2] = uStack_70" (subscript_expression "plVar14[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);" (assignment_expression "cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1)" identifier = (call_expression "FUN_00319200(param_1 + 7,lVar29,lVar21,1)" identifier (argument_list "(param_1 + 7,lVar29,lVar21,1)" ( (binary_expression "param_1 + 7" identifier + number_literal) , identifier , identifier , number_literal )))) ;) (if_statement "if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    /* try { // try from 00180d0d to 00180d11 has its CatchHandler @ 00181f10 */\n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }" if (parenthesized_expression "(cVar9 == '\0')" ( (binary_expression "cVar9 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  plVar15 = (long *)param_1[3];\n                }" { (expression_statement "plVar15 = (long *)param_1[3];" (assignment_expression "plVar15 = (long *)param_1[3]" identifier = (cast_expression "(long *)param_1[3]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[3]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    /* try { // try from 00180d0d to 00180d11 has its CatchHandler @ 00181f10 */\n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }" else (compound_statement "{\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    /* try { // try from 00180d0d to 00180d11 has its CatchHandler @ 00181f10 */\n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }" { (if_statement "if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    /* try { // try from 00180d0d to 00180d11 has its CatchHandler @ 00181f10 */\n                    plVar15 = (long *)FUN_0017f5b0();\n                  }" if (parenthesized_expression "(extraout_RDX == 1)" ( (binary_expression "extraout_RDX == 1" identifier == number_literal) )) (compound_statement "{\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }" { (expression_statement "plVar15 = param_1 + 9;" (assignment_expression "plVar15 = param_1 + 9" identifier = (binary_expression "param_1 + 9" identifier + number_literal)) ;) (expression_statement "param_1[9] = 0;" (assignment_expression "param_1[9] = 0" (subscript_expression "param_1[9]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n                    /* try { // try from 00180d0d to 00180d11 has its CatchHandler @ 00181f10 */\n                    plVar15 = (long *)FUN_0017f5b0();\n                  }" else (compound_statement "{\n                    /* try { // try from 00180d0d to 00180d11 has its CatchHandler @ 00181f10 */\n                    plVar15 = (long *)FUN_0017f5b0();\n                  }" { comment (expression_statement "plVar15 = (long *)FUN_0017f5b0();" (assignment_expression "plVar15 = (long *)FUN_0017f5b0()" identifier = (cast_expression "(long *)FUN_0017f5b0()" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0017f5b0()" identifier (argument_list "()" ( ))))) ;) }))) (expression_statement "plVar22 = (long *)param_1[5];" (assignment_expression "plVar22 = (long *)param_1[5]" identifier = (cast_expression "(long *)param_1[5]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[5]" identifier [ number_literal ]))) ;) (expression_statement "param_1[5] = 0;" (assignment_expression "param_1[5] = 0" (subscript_expression "param_1[5]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }" if (parenthesized_expression "(plVar22 != (long *)0x0)" ( (binary_expression "plVar22 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }" { (expression_statement "uVar25 = 0;" (assignment_expression "uVar25 = 0" identifier = number_literal) ;) (do_statement "do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);" do (compound_statement "{\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    }" { (while_statement "while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }" { (expression_statement "plVar6 = (long *)*plVar22;" (assignment_expression "plVar6 = (long *)*plVar22" identifier = (cast_expression "(long *)*plVar22" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar22" * identifier))) ;) (expression_statement "uVar23 = (ulong)plVar22[4] % extraout_RDX;" (assignment_expression "uVar23 = (ulong)plVar22[4] % extraout_RDX" identifier = (binary_expression "(ulong)plVar22[4] % extraout_RDX" (cast_expression "(ulong)plVar22[4]" ( (type_descriptor "ulong" type_identifier) ) (subscript_expression "plVar22[4]" identifier [ number_literal ])) % identifier)) ;) (expression_statement "plVar1 = plVar15 + uVar23;" (assignment_expression "plVar1 = plVar15 + uVar23" identifier = (binary_expression "plVar15 + uVar23" identifier + identifier)) ;) (if_statement "if ((long *)*plVar1 == (long *)0x0) break;" if (parenthesized_expression "((long *)*plVar1 == (long *)0x0)" ( (binary_expression "(long *)*plVar1 == (long *)0x0" (cast_expression "(long *)*plVar1" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar1" * identifier)) == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "*plVar22 = *(long *)*plVar1;" (assignment_expression "*plVar22 = *(long *)*plVar1" (pointer_expression "*plVar22" * identifier) = (pointer_expression "*(long *)*plVar1" * (cast_expression "(long *)*plVar1" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar1" * identifier)))) ;) (expression_statement "*(long **)*plVar1 = plVar22;" (assignment_expression "*(long **)*plVar1 = plVar22" (pointer_expression "*(long **)*plVar1" * (cast_expression "(long **)*plVar1" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*plVar1" * identifier))) = identifier) ;) (expression_statement "uVar23 = uVar25;" (assignment_expression "uVar23 = uVar25" identifier = identifier) ;) (labeled_statement "LAB_00180d64:\n                        plVar22 = plVar6;" statement_identifier : (expression_statement "plVar22 = plVar6;" (assignment_expression "plVar22 = plVar6" identifier = identifier) ;)) (expression_statement "uVar25 = uVar23;" (assignment_expression "uVar25 = uVar23" identifier = identifier) ;) (if_statement "if (plVar6 == (long *)0x0) goto LAB_00180dc0;" if (parenthesized_expression "(plVar6 == (long *)0x0)" ( (binary_expression "plVar6 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00180dc0;" goto statement_identifier ;)) })) (expression_statement "*plVar22 = param_1[5];" (assignment_expression "*plVar22 = param_1[5]" (pointer_expression "*plVar22" * identifier) = (subscript_expression "param_1[5]" identifier [ number_literal ])) ;) (expression_statement "param_1[5] = (long)plVar22;" (assignment_expression "param_1[5] = (long)plVar22" (subscript_expression "param_1[5]" identifier [ number_literal ]) = (cast_expression "(long)plVar22" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "*plVar1 = (long)(param_1 + 5);" (assignment_expression "*plVar1 = (long)(param_1 + 5)" (pointer_expression "*plVar1" * identifier) = (cast_expression "(long)(param_1 + 5)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "(param_1 + 5)" ( (binary_expression "param_1 + 5" identifier + number_literal) )))) ;) (if_statement "if (*plVar22 == 0) goto LAB_00180d64;" if (parenthesized_expression "(*plVar22 == 0)" ( (binary_expression "*plVar22 == 0" (pointer_expression "*plVar22" * identifier) == number_literal) )) (goto_statement "goto LAB_00180d64;" goto statement_identifier ;)) (expression_statement "plVar15[uVar25] = (long)plVar22;" (assignment_expression "plVar15[uVar25] = (long)plVar22" (subscript_expression "plVar15[uVar25]" identifier [ identifier ]) = (cast_expression "(long)plVar22" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "plVar22 = plVar6;" (assignment_expression "plVar22 = plVar6" identifier = identifier) ;) (expression_statement "uVar25 = uVar23;" (assignment_expression "uVar25 = uVar23" identifier = identifier) ;) }) while (parenthesized_expression "(plVar6 != (long *)0x0)" ( (binary_expression "plVar6 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (labeled_statement "LAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }" statement_identifier : (if_statement "if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }" if (parenthesized_expression "((long *)param_1[3] != param_1 + 9)" ( (binary_expression "(long *)param_1[3] != param_1 + 9" (cast_expression "(long *)param_1[3]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[3]" identifier [ number_literal ])) != (binary_expression "param_1 + 9" identifier + number_literal)) )) (compound_statement "{\n                    FUN_002dac70();\n                  }" { (expression_statement "FUN_002dac70();" (call_expression "FUN_002dac70()" identifier (argument_list "()" ( ))) ;) }))) (expression_statement "param_1[3] = (long)plVar15;" (assignment_expression "param_1[3] = (long)plVar15" (subscript_expression "param_1[3]" identifier [ number_literal ]) = (cast_expression "(long)plVar15" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "local_1a0 = uVar24 % extraout_RDX;" (assignment_expression "local_1a0 = uVar24 % extraout_RDX" identifier = (binary_expression "uVar24 % extraout_RDX" identifier % identifier)) ;) (expression_statement "param_1[4] = extraout_RDX;" (assignment_expression "param_1[4] = extraout_RDX" (subscript_expression "param_1[4]" identifier [ number_literal ]) = identifier) ;) }))) (expression_statement "plVar14[4] = uVar24;" (assignment_expression "plVar14[4] = uVar24" (subscript_expression "plVar14[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "plVar22 = plVar15 + local_1a0;" (assignment_expression "plVar22 = plVar15 + local_1a0" identifier = (binary_expression "plVar15 + local_1a0" identifier + identifier)) ;) (if_statement "if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }" if (parenthesized_expression "((long *)*plVar22 == (long *)0x0)" ( (binary_expression "(long *)*plVar22 == (long *)0x0" (cast_expression "(long *)*plVar22" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar22" * identifier)) == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }" { (expression_statement "lVar21 = param_1[5];" (assignment_expression "lVar21 = param_1[5]" identifier = (subscript_expression "param_1[5]" identifier [ number_literal ])) ;) (expression_statement "param_1[5] = (long)plVar14;" (assignment_expression "param_1[5] = (long)plVar14" (subscript_expression "param_1[5]" identifier [ number_literal ]) = (cast_expression "(long)plVar14" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "*plVar14 = lVar21;" (assignment_expression "*plVar14 = lVar21" (pointer_expression "*plVar14" * identifier) = identifier) ;) (if_statement "if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }" if (parenthesized_expression "(lVar21 != 0)" ( (binary_expression "lVar21 != 0" identifier != number_literal) )) (compound_statement "{\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }" { (expression_statement "plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;" (assignment_expression "plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14" (subscript_expression "plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]]" identifier [ (binary_expression "*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]" (pointer_expression "*(ulong *)(lVar21 + 0x20)" * (cast_expression "(ulong *)(lVar21 + 0x20)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar21 + 0x20)" ( (binary_expression "lVar21 + 0x20" identifier + number_literal) )))) % (cast_expression "(ulong)param_1[4]" ( (type_descriptor "ulong" type_identifier) ) (subscript_expression "param_1[4]" identifier [ number_literal ]))) ]) = (cast_expression "(long)plVar14" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) })) (expression_statement "*plVar22 = (long)(param_1 + 5);" (assignment_expression "*plVar22 = (long)(param_1 + 5)" (pointer_expression "*plVar22" * identifier) = (cast_expression "(long)(param_1 + 5)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "(param_1 + 5)" ( (binary_expression "param_1 + 5" identifier + number_literal) )))) ;) }) (else_clause "else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }" else (compound_statement "{\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }" { (expression_statement "*plVar14 = *(long *)*plVar22;" (assignment_expression "*plVar14 = *(long *)*plVar22" (pointer_expression "*plVar14" * identifier) = (pointer_expression "*(long *)*plVar22" * (cast_expression "(long *)*plVar22" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar22" * identifier)))) ;) (expression_statement "*(long **)*plVar22 = plVar14;" (assignment_expression "*(long **)*plVar22 = plVar14" (pointer_expression "*(long **)*plVar22" * (cast_expression "(long **)*plVar22" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*plVar22" * identifier))) = identifier) ;) }))) (expression_statement "param_1[6] = param_1[6] + 1;" (assignment_expression "param_1[6] = param_1[6] + 1" (subscript_expression "param_1[6]" identifier [ number_literal ]) = (binary_expression "param_1[6] + 1" (subscript_expression "param_1[6]" identifier [ number_literal ]) + number_literal)) ;) })) (expression_statement "piVar5 = (int *)param_1[0xb];" (assignment_expression "piVar5 = (int *)param_1[0xb]" identifier = (cast_expression "(int *)param_1[0xb]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0xb]" identifier [ number_literal ]))) ;) (expression_statement "*(int *)(plVar14 + 3) = iVar13;" (assignment_expression "*(int *)(plVar14 + 3) = iVar13" (pointer_expression "*(int *)(plVar14 + 3)" * (cast_expression "(int *)(plVar14 + 3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar14 + 3)" ( (binary_expression "plVar14 + 3" identifier + number_literal) )))) = identifier) ;) (if_statement "if (piVar5 == (int *)param_1[0xc]) {\n                __src = (int *)param_1[10];\n                sVar17 = (long)piVar5 - (long)__src;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }\n                *(int *)((long)__dest + sVar17) = iVar13;\n                lVar21 = (long)__dest + sVar17 + 4;\n                if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }\n                param_1[10] = (long)__dest;\n                param_1[0xb] = lVar21;\n                param_1[0xc] = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }" if (parenthesized_expression "(piVar5 == (int *)param_1[0xc])" ( (binary_expression "piVar5 == (int *)param_1[0xc]" identifier == (cast_expression "(int *)param_1[0xc]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0xc]" identifier [ number_literal ]))) )) (compound_statement "{\n                __src = (int *)param_1[10];\n                sVar17 = (long)piVar5 - (long)__src;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }\n                *(int *)((long)__dest + sVar17) = iVar13;\n                lVar21 = (long)__dest + sVar17 + 4;\n                if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }\n                param_1[10] = (long)__dest;\n                param_1[0xb] = lVar21;\n                param_1[0xc] = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }" { (expression_statement "__src = (int *)param_1[10];" (assignment_expression "__src = (int *)param_1[10]" identifier = (cast_expression "(int *)param_1[10]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[10]" identifier [ number_literal ]))) ;) (expression_statement "sVar17 = (long)piVar5 - (long)__src;" (assignment_expression "sVar17 = (long)piVar5 - (long)__src" identifier = (binary_expression "(long)piVar5 - (long)__src" (cast_expression "(long)piVar5" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)__src" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) ;) (expression_statement "uVar24 = (long)sVar17 >> 2;" (assignment_expression "uVar24 = (long)sVar17 >> 2" identifier = (binary_expression "(long)sVar17 >> 2" (cast_expression "(long)sVar17" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) >> number_literal)) ;) (if_statement "if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }" if (parenthesized_expression "(uVar24 == 0)" ( (binary_expression "uVar24 == 0" identifier == number_literal) )) (compound_statement "{\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }" { (expression_statement "local_1d0 = 4;" (assignment_expression "local_1d0 = 4" identifier = number_literal) ;) (labeled_statement "LAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);" statement_identifier : (expression_statement "__dest = (void *)FUN_002d94a0(local_1d0);" (assignment_expression "__dest = (void *)FUN_002d94a0(local_1d0)" identifier = (cast_expression "(void *)FUN_002d94a0(local_1d0)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002d94a0(local_1d0)" identifier (argument_list "(local_1d0)" ( identifier ))))) ;)) (expression_statement "local_1e8 = local_1d0 + (long)__dest;" (assignment_expression "local_1e8 = local_1d0 + (long)__dest" identifier = (binary_expression "local_1d0 + (long)__dest" identifier + (cast_expression "(long)__dest" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) ;) }) (else_clause "else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }" else (compound_statement "{\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }" { (expression_statement "uVar25 = uVar24 * 2;" (assignment_expression "uVar25 = uVar24 * 2" identifier = (binary_expression "uVar24 * 2" identifier * number_literal)) ;) (if_statement "if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }" if (parenthesized_expression "(uVar25 < uVar24)" ( (binary_expression "uVar25 < uVar24" identifier < identifier) )) (compound_statement "{\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }" { (expression_statement "local_1d0 = -4;" (assignment_expression "local_1d0 = -4" identifier = number_literal) ;) (goto_statement "goto LAB_00181065;" goto statement_identifier ;) })) (expression_statement "local_1d0 = -4;" (assignment_expression "local_1d0 = -4" identifier = number_literal) ;) (if_statement "if (0x3fffffffffffffff < uVar25) goto LAB_00181065;" if (parenthesized_expression "(0x3fffffffffffffff < uVar25)" ( (binary_expression "0x3fffffffffffffff < uVar25" number_literal < identifier) )) (goto_statement "goto LAB_00181065;" goto statement_identifier ;)) (if_statement "if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }" if (parenthesized_expression "(uVar25 != 0)" ( (binary_expression "uVar25 != 0" identifier != number_literal) )) (compound_statement "{\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }" { (expression_statement "local_1d0 = uVar24 << 3;" (assignment_expression "local_1d0 = uVar24 << 3" identifier = (binary_expression "uVar24 << 3" identifier << number_literal)) ;) (goto_statement "goto LAB_00181065;" goto statement_identifier ;) })) (expression_statement "local_1e8 = 0;" (assignment_expression "local_1e8 = 0" identifier = number_literal) ;) (expression_statement "__dest = (void *)0x0;" (assignment_expression "__dest = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (expression_statement "*(int *)((long)__dest + sVar17) = iVar13;" (assignment_expression "*(int *)((long)__dest + sVar17) = iVar13" (pointer_expression "*(int *)((long)__dest + sVar17)" * (cast_expression "(int *)((long)__dest + sVar17)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__dest + sVar17)" ( (binary_expression "(long)__dest + sVar17" (cast_expression "(long)__dest" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) )))) = identifier) ;) (expression_statement "lVar21 = (long)__dest + sVar17 + 4;" (assignment_expression "lVar21 = (long)__dest + sVar17 + 4" identifier = (binary_expression "(long)__dest + sVar17 + 4" (binary_expression "(long)__dest + sVar17" (cast_expression "(long)__dest" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal)) ;) (if_statement "if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }" if (parenthesized_expression "(piVar5 == __src)" ( (binary_expression "piVar5 == __src" identifier == identifier) )) (compound_statement "{\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }" { (if_statement "if (__src != (int *)0x0) goto LAB_001810bd;" if (parenthesized_expression "(__src != (int *)0x0)" ( (binary_expression "__src != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001810bd;" goto statement_identifier ;)) }) (else_clause "else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }" else (compound_statement "{\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }" { (expression_statement "__dest = memmove(__dest,__src,sVar17);" (assignment_expression "__dest = memmove(__dest,__src,sVar17)" identifier = (call_expression "memmove(__dest,__src,sVar17)" identifier (argument_list "(__dest,__src,sVar17)" ( identifier , identifier , identifier )))) ;) (labeled_statement "LAB_001810bd:\n                  FUN_002dac70(__src);" statement_identifier : (expression_statement "FUN_002dac70(__src);" (call_expression "FUN_002dac70(__src)" identifier (argument_list "(__src)" ( identifier ))) ;)) }))) (expression_statement "param_1[10] = (long)__dest;" (assignment_expression "param_1[10] = (long)__dest" (subscript_expression "param_1[10]" identifier [ number_literal ]) = (cast_expression "(long)__dest" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "param_1[0xb] = lVar21;" (assignment_expression "param_1[0xb] = lVar21" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0xc] = local_1e8;" (assignment_expression "param_1[0xc] = local_1e8" (subscript_expression "param_1[0xc]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (local_1c8 == local_1b0) goto LAB_00181108;" if (parenthesized_expression "(local_1c8 == local_1b0)" ( (binary_expression "local_1c8 == local_1b0" identifier == identifier) )) (goto_statement "goto LAB_00181108;" goto statement_identifier ;)) (labeled_statement "LAB_00180b52:\n                *local_1b0 = 0;" statement_identifier : (expression_statement "*local_1b0 = 0;" (assignment_expression "*local_1b0 = 0" (pointer_expression "*local_1b0" * identifier) = number_literal) ;)) (expression_statement "local_1b0 = local_1b0 + 1;" (assignment_expression "local_1b0 = local_1b0 + 1" identifier = (binary_expression "local_1b0 + 1" identifier + number_literal)) ;) (expression_statement "__dest_00 = local_1d8;" (assignment_expression "__dest_00 = local_1d8" identifier = identifier) ;) }) (else_clause "else {\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }" else (compound_statement "{\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }" { (expression_statement "*piVar5 = iVar13;" (assignment_expression "*piVar5 = iVar13" (pointer_expression "*piVar5" * identifier) = identifier) ;) (expression_statement "param_1[0xb] = (long)(piVar5 + 1);" (assignment_expression "param_1[0xb] = (long)(piVar5 + 1)" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) = (cast_expression "(long)(piVar5 + 1)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "(piVar5 + 1)" ( (binary_expression "piVar5 + 1" identifier + number_literal) )))) ;) (if_statement "if (local_1c8 != local_1b0) goto LAB_00180b52;" if (parenthesized_expression "(local_1c8 != local_1b0)" ( (binary_expression "local_1c8 != local_1b0" identifier != identifier) )) (goto_statement "goto LAB_00180b52;" goto statement_identifier ;)) (labeled_statement "LAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;" statement_identifier : (expression_statement "sVar17 = (long)local_1b0 - (long)local_1d8;" (assignment_expression "sVar17 = (long)local_1b0 - (long)local_1d8" identifier = (binary_expression "(long)local_1b0 - (long)local_1d8" (cast_expression "(long)local_1b0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)local_1d8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) ;)) (expression_statement "uVar24 = (long)sVar17 >> 2;" (assignment_expression "uVar24 = (long)sVar17 >> 2" identifier = (binary_expression "(long)sVar17 >> 2" (cast_expression "(long)sVar17" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) >> number_literal)) ;) (if_statement "if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }" if (parenthesized_expression "(uVar24 == 0)" ( (binary_expression "uVar24 == 0" identifier == number_literal) )) (compound_statement "{\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }" { (expression_statement "lVar21 = 4;" (assignment_expression "lVar21 = 4" identifier = number_literal) ;) (labeled_statement "LAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);" statement_identifier : (expression_statement "__dest_00 = (undefined4 *)FUN_002d94a0(lVar21);" (assignment_expression "__dest_00 = (undefined4 *)FUN_002d94a0(lVar21)" identifier = (cast_expression "(undefined4 *)FUN_002d94a0(lVar21)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002d94a0(lVar21)" identifier (argument_list "(lVar21)" ( identifier ))))) ;)) (expression_statement "local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);" (assignment_expression "local_1c8 = (undefined4 *)((long)__dest_00 + lVar21)" identifier = (cast_expression "(undefined4 *)((long)__dest_00 + lVar21)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__dest_00 + lVar21)" ( (binary_expression "(long)__dest_00 + lVar21" (cast_expression "(long)__dest_00" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) )))) ;) }) (else_clause "else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }" else (compound_statement "{\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }" { (expression_statement "uVar25 = uVar24 * 2;" (assignment_expression "uVar25 = uVar24 * 2" identifier = (binary_expression "uVar24 * 2" identifier * number_literal)) ;) (if_statement "if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }" if (parenthesized_expression "(uVar25 < uVar24)" ( (binary_expression "uVar25 < uVar24" identifier < identifier) )) (compound_statement "{\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }" { (expression_statement "lVar21 = -4;" (assignment_expression "lVar21 = -4" identifier = number_literal) ;) (goto_statement "goto LAB_0018114e;" goto statement_identifier ;) })) (expression_statement "lVar21 = -4;" (assignment_expression "lVar21 = -4" identifier = number_literal) ;) (if_statement "if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;" if (parenthesized_expression "(0x3fffffffffffffff < uVar25)" ( (binary_expression "0x3fffffffffffffff < uVar25" number_literal < identifier) )) (goto_statement "goto LAB_0018114e;" goto statement_identifier ;)) (if_statement "if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }" if (parenthesized_expression "(uVar25 != 0)" ( (binary_expression "uVar25 != 0" identifier != number_literal) )) (compound_statement "{\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }" { (expression_statement "lVar21 = uVar24 * 8;" (assignment_expression "lVar21 = uVar24 * 8" identifier = (binary_expression "uVar24 * 8" identifier * number_literal)) ;) (goto_statement "goto LAB_0018114e;" goto statement_identifier ;) })) (expression_statement "local_1c8 = (undefined4 *)0x0;" (assignment_expression "local_1c8 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "__dest_00 = (undefined4 *)0x0;" (assignment_expression "__dest_00 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (expression_statement "*(undefined4 *)((long)__dest_00 + sVar17) = 0;" (assignment_expression "*(undefined4 *)((long)__dest_00 + sVar17) = 0" (pointer_expression "*(undefined4 *)((long)__dest_00 + sVar17)" * (cast_expression "(undefined4 *)((long)__dest_00 + sVar17)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__dest_00 + sVar17)" ( (binary_expression "(long)__dest_00 + sVar17" (cast_expression "(long)__dest_00" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) )))) = number_literal) ;) (if_statement "if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }" if (parenthesized_expression "(local_1b0 == local_1d8)" ( (binary_expression "local_1b0 == local_1d8" identifier == identifier) )) (compound_statement "{\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }" { (expression_statement "local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);" (assignment_expression "local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4)" identifier = (cast_expression "(undefined4 *)((long)__dest_00 + sVar17 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__dest_00 + sVar17 + 4)" ( (binary_expression "(long)__dest_00 + sVar17 + 4" (binary_expression "(long)__dest_00 + sVar17" (cast_expression "(long)__dest_00" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (if_statement "if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;" if (parenthesized_expression "(local_1d8 != (undefined4 *)0x0)" ( (binary_expression "local_1d8 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001811a1;" goto statement_identifier ;)) }) (else_clause "else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }" else (compound_statement "{\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }" { (expression_statement "__dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);" (assignment_expression "__dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17)" identifier = (cast_expression "(undefined4 *)memmove(__dest_00,local_1d8,sVar17)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "memmove(__dest_00,local_1d8,sVar17)" identifier (argument_list "(__dest_00,local_1d8,sVar17)" ( identifier , identifier , identifier ))))) ;) (expression_statement "local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);" (assignment_expression "local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4)" identifier = (cast_expression "(undefined4 *)((long)__dest_00 + sVar17 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__dest_00 + sVar17 + 4)" ( (binary_expression "(long)__dest_00 + sVar17 + 4" (binary_expression "(long)__dest_00 + sVar17" (cast_expression "(long)__dest_00" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (labeled_statement "LAB_001811a1:\n                  FUN_002dac70(local_1d8);" statement_identifier : (expression_statement "FUN_002dac70(local_1d8);" (call_expression "FUN_002dac70(local_1d8)" identifier (argument_list "(local_1d8)" ( identifier ))) ;)) }))) }))) (expression_statement "local_1d8 = __dest_00;" (assignment_expression "local_1d8 = __dest_00" identifier = identifier) ;) comment (expression_statement "local_78 = (undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28);" (assignment_expression "local_78 = (undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28)" identifier = (cast_expression "(undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28)" (parenthesized_expression "(**(code **)(*(long *)*puVar19 + 0xb8))" ( (pointer_expression "**(code **)(*(long *)*puVar19 + 0xb8)" * (pointer_expression "*(code **)(*(long *)*puVar19 + 0xb8)" * (cast_expression "(code **)(*(long *)*puVar19 + 0xb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)*puVar19 + 0xb8)" ( (binary_expression "*(long *)*puVar19 + 0xb8" (pointer_expression "*(long *)*puVar19" * (cast_expression "(long *)*puVar19" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar19" * identifier))) + number_literal) ))))) )) (argument_list "((long *)*puVar19,uVar28)" ( (cast_expression "(long *)*puVar19" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar19" * identifier)) , identifier ))))) ;) (if_statement "if (local_160 == local_158) {\n                FUN_00182710(&local_168,local_160,local_1a8);\n              }\n              else {\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }" if (parenthesized_expression "(local_160 == local_158)" ( (binary_expression "local_160 == local_158" identifier == identifier) )) (compound_statement "{\n                FUN_00182710(&local_168,local_160,local_1a8);\n              }" { (expression_statement "FUN_00182710(&local_168,local_160,local_1a8);" (call_expression "FUN_00182710(&local_168,local_160,local_1a8)" identifier (argument_list "(&local_168,local_160,local_1a8)" ( (pointer_expression "&local_168" & identifier) , identifier , identifier ))) ;) }) (else_clause "else {\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }" else (compound_statement "{\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }" { (expression_statement "*local_160 = local_78;" (assignment_expression "*local_160 = local_78" (pointer_expression "*local_160" * identifier) = identifier) ;) (expression_statement "local_160 = local_160 + 1;" (assignment_expression "local_160 = local_160 + 1" identifier = (binary_expression "local_160 + 1" identifier + number_literal)) ;) }))) (expression_statement "iVar10 = local_90;" (assignment_expression "iVar10 = local_90" identifier = identifier) ;) (expression_statement "puVar32 = local_98;" (assignment_expression "puVar32 = local_98" identifier = identifier) ;) (if_statement "if (local_98 == local_88) {\n                local_180 = local_90;\n                local_188 = local_98;\n                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);\n              }\n              else {\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }" if (parenthesized_expression "(local_98 == local_88)" ( (binary_expression "local_98 == local_88" identifier == identifier) )) (compound_statement "{\n                local_180 = local_90;\n                local_188 = local_98;\n                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);\n              }" { (expression_statement "local_180 = local_90;" (assignment_expression "local_180 = local_90" identifier = identifier) ;) (expression_statement "local_188 = local_98;" (assignment_expression "local_188 = local_98" identifier = identifier) ;) (expression_statement "FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);" (call_expression "FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0)" identifier (argument_list "(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0)" ( (pointer_expression "&local_a8" & identifier) , identifier , (call_expression "CONCAT44(uStack_17c,local_90)" identifier (argument_list "(uStack_17c,local_90)" ( identifier , identifier ))) , number_literal ))) ;) }) (else_clause "else {\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }" else (compound_statement "{\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }" { (if_statement "if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }" if (parenthesized_expression "(local_90 == 0x3f)" ( (binary_expression "local_90 == 0x3f" identifier == number_literal) )) (compound_statement "{\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }" { (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;) (expression_statement "local_98 = local_98 + 1;" (assignment_expression "local_98 = local_98 + 1" identifier = (binary_expression "local_98 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n                  local_90 = local_90 + 1;\n                }" else (compound_statement "{\n                  local_90 = local_90 + 1;\n                }" { (expression_statement "local_90 = local_90 + 1;" (assignment_expression "local_90 = local_90 + 1" identifier = (binary_expression "local_90 + 1" identifier + number_literal)) ;) }))) (expression_statement "bVar8 = (byte)iVar10 & 0x3f;" (assignment_expression "bVar8 = (byte)iVar10 & 0x3f" identifier = (binary_expression "(byte)iVar10 & 0x3f" (cast_expression "(byte)iVar10" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "*puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);" (assignment_expression "*puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8)" (pointer_expression "*puVar32" * identifier) = (binary_expression "*puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8)" (pointer_expression "*puVar32" * identifier) & (parenthesized_expression "(-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8)" ( (binary_expression "-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8" (binary_expression "-2L << bVar8" number_literal << identifier) | (binary_expression "0xfffffffffffffffeU >> 0x40 - bVar8" number_literal >> (binary_expression "0x40 - bVar8" number_literal - identifier))) )))) ;) }))) (expression_statement "local_78 = &local_68;" (assignment_expression "local_78 = &local_68" identifier = (pointer_expression "&local_68" & identifier)) ;) (expression_statement "FUN_001665c0(local_1a8,"");" (call_expression "FUN_001665c0(local_1a8,"")" identifier (argument_list "(local_1a8,"")" ( identifier , (string_literal """" " ") ))) ;) comment (expression_statement "FUN_0016f840(&local_148,local_1a8);" (call_expression "FUN_0016f840(&local_148,local_1a8)" identifier (argument_list "(&local_148,local_1a8)" ( (pointer_expression "&local_148" & identifier) , identifier ))) ;) (if_statement "if (local_78 != &local_68) {\n                FUN_002dac70();\n              }" if (parenthesized_expression "(local_78 != &local_68)" ( (binary_expression "local_78 != &local_68" identifier != (pointer_expression "&local_68" & identifier)) )) (compound_statement "{\n                FUN_002dac70();\n              }" { (expression_statement "FUN_002dac70();" (call_expression "FUN_002dac70()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar13 = iVar13 + 1;" (assignment_expression "iVar13 = iVar13 + 1" identifier = (binary_expression "iVar13 + 1" identifier + number_literal)) ;) (if_statement "if (local_c8 != local_b8) goto LAB_00180c31;" if (parenthesized_expression "(local_c8 != local_b8)" ( (binary_expression "local_c8 != local_b8" identifier != identifier) )) (goto_statement "goto LAB_00180c31;" goto statement_identifier ;)) }) (else_clause "else {\n              lVar21 = 0xf;\n              pbVar16 = (byte *)".gnu.linkonce.t";\n              puVar32 = local_c8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              } while (bVar39);\n              if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;\nLAB_00180c96:\n              if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }\n            }" else (compound_statement "{\n              lVar21 = 0xf;\n              pbVar16 = (byte *)".gnu.linkonce.t";\n              puVar32 = local_c8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              } while (bVar39);\n              if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;\nLAB_00180c96:\n              if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }\n            }" { (expression_statement "lVar21 = 0xf;" (assignment_expression "lVar21 = 0xf" identifier = number_literal) ;) (expression_statement "pbVar16 = (byte *)".gnu.linkonce.t";" (assignment_expression "pbVar16 = (byte *)".gnu.linkonce.t"" identifier = (cast_expression "(byte *)".gnu.linkonce.t"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".gnu.linkonce.t"" " string_content "))) ;) (expression_statement "puVar32 = local_c8;" (assignment_expression "puVar32 = local_c8" identifier = identifier) ;) (do_statement "do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              } while (bVar39);" do (compound_statement "{\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              }" { (if_statement "if (lVar21 == 0) break;" if (parenthesized_expression "(lVar21 == 0)" ( (binary_expression "lVar21 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar21 = lVar21 + -1;" (assignment_expression "lVar21 = lVar21 + -1" identifier = (binary_expression "lVar21 + -1" identifier + number_literal)) ;) (expression_statement "bVar36 = *pbVar16 < (byte)*puVar32;" (assignment_expression "bVar36 = *pbVar16 < (byte)*puVar32" identifier = (binary_expression "*pbVar16 < (byte)*puVar32" (pointer_expression "*pbVar16" * identifier) < (binary_expression "(byte)*puVar32" (parenthesized_expression "(byte)" ( identifier )) * identifier))) ;) (expression_statement "bVar39 = *pbVar16 == (byte)*puVar32;" (assignment_expression "bVar39 = *pbVar16 == (byte)*puVar32" identifier = (binary_expression "*pbVar16 == (byte)*puVar32" (pointer_expression "*pbVar16" * identifier) == (binary_expression "(byte)*puVar32" (parenthesized_expression "(byte)" ( identifier )) * identifier))) ;) (expression_statement "pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;" (assignment_expression "pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1" identifier = (binary_expression "pbVar16 + (ulong)bVar40 * -2 + 1" (binary_expression "pbVar16 + (ulong)bVar40 * -2" identifier + (binary_expression "(ulong)bVar40 * -2" (cast_expression "(ulong)bVar40" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);" (assignment_expression "puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1)" identifier = (cast_expression "(ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar32 + (ulong)bVar40 * -2 + 1)" ( (binary_expression "(long)puVar32 + (ulong)bVar40 * -2 + 1" (binary_expression "(long)puVar32 + (ulong)bVar40 * -2" (cast_expression "(long)puVar32" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "(ulong)bVar40 * -2" (cast_expression "(ulong)bVar40" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) }) while (parenthesized_expression "(bVar39)" ( identifier )) ;) (if_statement "if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;" if (parenthesized_expression "((!bVar36 && !bVar39) == bVar36)" ( (binary_expression "(!bVar36 && !bVar39) == bVar36" (parenthesized_expression "(!bVar36 && !bVar39)" ( (binary_expression "!bVar36 && !bVar39" (unary_expression "!bVar36" ! identifier) && (unary_expression "!bVar39" ! identifier)) )) == identifier) )) (goto_statement "goto LAB_00180a28;" goto statement_identifier ;)) (labeled_statement "LAB_00180c96:\n              if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }" statement_identifier : (if_statement "if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }" if (parenthesized_expression "(local_c8 != local_b8)" ( (binary_expression "local_c8 != local_b8" identifier != identifier) )) (compound_statement "{\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }" { (labeled_statement "LAB_00180c31:\n                FUN_002dac70(local_c8);" statement_identifier : (expression_statement "FUN_002dac70(local_c8);" (call_expression "FUN_002dac70(local_c8)" identifier (argument_list "(local_c8)" ( identifier ))) ;)) }))) }))) (expression_statement "plVar14 = (long *)*puVar19;" (assignment_expression "plVar14 = (long *)*puVar19" identifier = (cast_expression "(long *)*puVar19" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar19" * identifier))) ;) (expression_statement "uVar26 = iVar27 + 1;" (assignment_expression "uVar26 = iVar27 + 1" identifier = (binary_expression "iVar27 + 1" identifier + number_literal)) ;) (expression_statement "uVar28 = (ulong)uVar26;" (assignment_expression "uVar28 = (ulong)uVar26" identifier = (cast_expression "(ulong)uVar26" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "uVar35 = uVar26 < *(uint *)(plVar14 + 7);" (assignment_expression "uVar35 = uVar26 < *(uint *)(plVar14 + 7)" identifier = (binary_expression "uVar26 < *(uint *)(plVar14 + 7)" identifier < (pointer_expression "*(uint *)(plVar14 + 7)" * (cast_expression "(uint *)(plVar14 + 7)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar14 + 7)" ( (binary_expression "plVar14 + 7" identifier + number_literal) )))))) ;) (expression_statement "uVar38 = uVar26 == *(uint *)(plVar14 + 7);" (assignment_expression "uVar38 = uVar26 == *(uint *)(plVar14 + 7)" identifier = (binary_expression "uVar26 == *(uint *)(plVar14 + 7)" identifier == (pointer_expression "*(uint *)(plVar14 + 7)" * (cast_expression "(uint *)(plVar14 + 7)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar14 + 7)" ( (binary_expression "plVar14 + 7" identifier + number_literal) )))))) ;) }) while (parenthesized_expression "((bool)uVar35)" ( (cast_expression "(bool)uVar35" ( (type_descriptor "bool" primitive_type) ) identifier) )) ;) })) (if_statement "if (plVar30[5] != 0) {\n          FUN_0017a690(plVar30[5] + 0x28,0xffffffffffffffff);\n        }" if (parenthesized_expression "(plVar30[5] != 0)" ( (binary_expression "plVar30[5] != 0" (subscript_expression "plVar30[5]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n          FUN_0017a690(plVar30[5] + 0x28,0xffffffffffffffff);\n        }" { (expression_statement "FUN_0017a690(plVar30[5] + 0x28,0xffffffffffffffff);" (call_expression "FUN_0017a690(plVar30[5] + 0x28,0xffffffffffffffff)" identifier (argument_list "(plVar30[5] + 0x28,0xffffffffffffffff)" ( (binary_expression "plVar30[5] + 0x28" (subscript_expression "plVar30[5]" identifier [ number_literal ]) + number_literal) , number_literal ))) ;) })) }))) (expression_statement "puVar19 = puVar19 + 1;" (assignment_expression "puVar19 = puVar19 + 1" identifier = (binary_expression "puVar19 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((ulong *)param_2[1] != puVar19)" ( (binary_expression "(ulong *)param_2[1] != puVar19" (cast_expression "(ulong *)param_2[1]" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[1]" identifier [ number_literal ])) != identifier) )) ;) }))) (if_statement "if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }" if (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }" { comment (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (expression_statement "uVar26 = 0;" (assignment_expression "uVar26 = 0" identifier = number_literal) ;) (expression_statement "uVar3 = *(uint *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2dac);" (assignment_expression "uVar3 = *(uint *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2dac)" identifier = (pointer_expression "*(uint *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2dac)" * (cast_expression "(uint *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2dac)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2dac)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2dac" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "uVar11 = 2;" (assignment_expression "uVar11 = 2" identifier = number_literal) ;) (if_statement "if (0 < (int)uVar3) {\n    uVar11 = uVar3;\n  }" if (parenthesized_expression "(0 < (int)uVar3)" ( (binary_expression "0 < (int)uVar3" number_literal < (cast_expression "(int)uVar3" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    uVar11 = uVar3;\n  }" { (expression_statement "uVar11 = uVar3;" (assignment_expression "uVar11 = uVar3" identifier = identifier) ;) })) (do_statement "do {\n    uVar26 = uVar26 + 1;\n    uStack_70 = 1;\n    local_78 = local_48;\n    local_68 = 0;\n    local_60 = 0;\n    local_58 = 0x3f800000;\n    local_50 = 0;\n    local_48[0] = 0;\n    if (uVar26 == 1) {\n                    /* try { // try from 00181c11 to 00181c15 has its CatchHandler @ 00181f8d */\n      FUN_00180660(param_1,&local_a8,0);\n    }\n    else {\n                    /* try { // try from 00181355 to 00181359 has its CatchHandler @ 00181f8d */\n      FUN_00180660(param_1,&local_a8,&local_148);\n    }\n    local_128 = (long *)0x0;\n    local_120 = (long *)0x0;\n    local_118 = 0;\n    if (param_1[1] == *param_1) {\n      FUN_00182070(&local_78);\n      bVar36 = true;\n      break;\n    }\n    uVar28 = 0;\n    bVar36 = true;\n    uVar3 = 0;\n    do {\n      local_c8 = local_b8;\n                    /* try { // try from 00181402 to 00181406 has its CatchHandler @ 00181f77 */\n      FUN_001665c0(&local_c8,"");\n                    /* try { // try from 00181411 to 00181415 has its CatchHandler @ 00181f51 */\n      FUN_0016f840(&local_128,&local_c8);\n      if (local_c8 != local_b8) {\n        FUN_002dac70();\n      }\n      local_1a0._0_1_ = (byte)uVar3;\n      uVar24 = 1L << ((byte)local_1a0 & 0x3f);\n      lVar21 = *param_1;\n      if ((uVar24 & *(ulong *)(local_a8 + (uVar28 >> 6) * 8)) == 0) {\n        puVar18 = (undefined8 *)(lVar21 + uVar28 * 0x10);\n        local_178 = *puVar18;\n        uStack_170 = puVar18[1];\n        local_100 = 0;\n        local_f8[0] = local_f8[0] & 0xffffffffffffff00;\n        local_108 = local_f8;\n        if (uVar26 == 1) {\n          local_e8 = (ulong *)((ulong)local_e8 & 0xffffffff00000000);\n          FUN_0017f6d0(&local_c8,1,&local_178,uVar3,&local_e8,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_c8 == local_b8) {\n            sVar17 = local_c0;\n            if (local_c0 != 0) {\n              if (local_c0 == 1) {\n                *(byte *)local_108 = (byte)local_b8[0];\n                sVar17 = local_c0;\n              }\n              else {\n                memcpy(local_108,local_c8,local_c0);\n                sVar17 = local_c0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_c8;\n              local_100 = local_c0;\n              local_f8[0] = local_b8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_c8 = puVar19;\n                local_b8[0] = uVar25;\n                goto LAB_00181993;\n              }\n            }\n            local_f8[0] = local_b8[0];\n            local_100 = local_c0;\n            local_108 = local_c8;\n            local_c8 = local_b8;\n          }\nLAB_00181993:\n          local_c0 = 0;\n          *(byte *)local_c8 = 0;\n          if (local_c8 != local_b8) {\n            FUN_002dac70();\n          }\n          local_1d8[uVar28] = local_e8._0_4_;\n        }\n        else {\n          if (uVar3 != *(uint *)(param_1[10] + uVar28 * 4)) goto LAB_001813c8;\n                    /* try { // try from 001814fb to 00181926 has its CatchHandler @ 00181f49 */\n          FUN_0017f6d0(&local_e8,0,&local_178,uVar3,0,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_e8 == local_d8) {\n            sVar17 = local_e0;\n            if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *(byte *)local_108 = (byte)local_d8[0];\n                sVar17 = local_e0;\n              }\n              else {\n                memcpy(local_108,local_e8,local_e0);\n                sVar17 = local_e0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_e8;\n              local_100 = local_e0;\n              local_f8[0] = local_d8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_e8 = puVar19;\n                local_d8[0] = uVar25;\n                goto LAB_0018156c;\n              }\n            }\n            local_f8[0] = local_d8[0];\n            local_100 = local_e0;\n            local_108 = local_e8;\n            local_e8 = local_d8;\n          }\nLAB_0018156c:\n          local_e0 = 0;\n          *(byte *)local_e8 = 0;\n          if (local_e8 != local_d8) {\n            FUN_002dac70();\n          }\n        }\n        uVar12 = FUN_002d5ef0(local_108,local_100 & 0xffffffff,0xffffffff);\n        uVar25 = (ulong)uVar12 % uStack_70;\n        local_18c = uVar12;\n        if (((long *)local_78[uVar25] == (long *)0x0) ||\n           (puVar18 = *(undefined8 **)local_78[uVar25], puVar18 == (undefined8 *)0x0)) {\nLAB_00181638:\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,(ulong)uVar12,puVar18);\n        }\n        else {\n          uVar23 = (ulong)*(uint *)(puVar18 + 1);\n          lVar21 = 0;\n          do {\n            if (uVar12 == (uint)uVar23) {\n              puVar18 = (undefined8 *)*puVar18;\n              lVar21 = lVar21 + 1;\n              lVar29 = lVar21;\n            }\n            else {\n              if (lVar21 != 0) goto LAB_00181742;\n              puVar18 = (undefined8 *)*puVar18;\n              lVar29 = 0;\n            }\n          } while ((puVar18 != (undefined8 *)0x0) &&\n                  (uVar23 = (ulong)*(uint *)(puVar18 + 1), lVar29 = lVar21,\n                  uVar25 == uVar23 % uStack_70));\n          if (lVar29 == 0) goto LAB_00181638;\nLAB_00181742:\n          auVar41 = FUN_00182170(&local_78,&local_18c);\n          uVar25 = local_100;\n          puVar19 = local_108;\n          plVar4 = local_128;\n          uVar12 = local_18c;\n          for (puVar18 = auVar41._0_8_; local_18c = uVar12, puVar18 != auVar41._8_8_;\n              puVar18 = (undefined8 *)*puVar18) {\n            uVar12 = *(uint *)((long)puVar18 + 0xc);\n            uVar23 = (ulong)uVar12;\n            plVar30 = plVar4 + uVar23 * 4;\n            if ((plVar30[1] == uVar25) &&\n               (iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0)) {\n              if (*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8)) {\n                *(uint *)(param_1[10] + uVar23 * 4) = uVar3;\n                *(uint *)((long)puVar18 + 0xc) = uVar3;\n                FUN_002e3180(plVar30,plVar4 + uVar28 * 4);\n                bVar36 = false;\n              }\n              else {\n                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;\n                bVar36 = false;\n              }\n              goto joined_r0x00181835;\n            }\n            uVar12 = local_18c;\n          }\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,uVar12,puVar18);\n        }\n        FUN_002e1890(local_128 + uVar28 * 4,&local_108);\njoined_r0x00181835:\n        if ((uVar26 == 1) && (local_1d8[uVar28] == 0)) {\n          puVar19 = (ulong *)((uVar28 >> 6) * 8 + local_a8);\n          *puVar19 = *puVar19 | uVar24;\n        }\n        if (local_108 != local_f8) {\n          FUN_002dac70();\n        }\n        lVar21 = *param_1;\n      }\nLAB_001813c8:\n      plVar4 = local_120;\n      uVar3 = uVar3 + 1;\n      uVar28 = (ulong)uVar3;\n      uVar24 = param_1[1] - lVar21 >> 4;\n    } while (uVar28 < uVar24);\n    plVar30 = local_128;\n    if (uVar24 != 0) {\n      lVar21 = param_1[10];\n      uVar25 = 0;\n      uVar28 = uVar25;\n      do {\n        do {\n          uVar12 = (uint)uVar25;\n          uVar3 = *(uint *)(lVar21 + uVar25 * 4);\n          uVar25 = (ulong)uVar3;\n        } while (uVar12 != uVar3);\n        puVar2 = (uint *)(lVar21 + uVar28 * 4);\n        uVar12 = *puVar2;\n        while (uVar12 != uVar3) {\n          *puVar2 = uVar3;\n          puVar2 = (uint *)(lVar21 + (ulong)uVar12 * 4);\n          uVar12 = *puVar2;\n        }\n        uVar25 = (ulong)((int)uVar28 + 1);\n        uVar28 = uVar25;\n      } while (uVar25 < uVar24);\n    }\n    for (; plVar30 != plVar4; plVar30 = plVar30 + 4) {\n      if ((long *)*plVar30 != plVar30 + 2) {\n        FUN_002dac70();\n      }\n    }\n    if (local_128 != (long *)0x0) {\n      FUN_002dac70(local_128);\n    }\n    FUN_00182070(&local_78);\n  } while (uVar26 < uVar11 && !bVar36);" do (compound_statement "{\n    uVar26 = uVar26 + 1;\n    uStack_70 = 1;\n    local_78 = local_48;\n    local_68 = 0;\n    local_60 = 0;\n    local_58 = 0x3f800000;\n    local_50 = 0;\n    local_48[0] = 0;\n    if (uVar26 == 1) {\n                    /* try { // try from 00181c11 to 00181c15 has its CatchHandler @ 00181f8d */\n      FUN_00180660(param_1,&local_a8,0);\n    }\n    else {\n                    /* try { // try from 00181355 to 00181359 has its CatchHandler @ 00181f8d */\n      FUN_00180660(param_1,&local_a8,&local_148);\n    }\n    local_128 = (long *)0x0;\n    local_120 = (long *)0x0;\n    local_118 = 0;\n    if (param_1[1] == *param_1) {\n      FUN_00182070(&local_78);\n      bVar36 = true;\n      break;\n    }\n    uVar28 = 0;\n    bVar36 = true;\n    uVar3 = 0;\n    do {\n      local_c8 = local_b8;\n                    /* try { // try from 00181402 to 00181406 has its CatchHandler @ 00181f77 */\n      FUN_001665c0(&local_c8,"");\n                    /* try { // try from 00181411 to 00181415 has its CatchHandler @ 00181f51 */\n      FUN_0016f840(&local_128,&local_c8);\n      if (local_c8 != local_b8) {\n        FUN_002dac70();\n      }\n      local_1a0._0_1_ = (byte)uVar3;\n      uVar24 = 1L << ((byte)local_1a0 & 0x3f);\n      lVar21 = *param_1;\n      if ((uVar24 & *(ulong *)(local_a8 + (uVar28 >> 6) * 8)) == 0) {\n        puVar18 = (undefined8 *)(lVar21 + uVar28 * 0x10);\n        local_178 = *puVar18;\n        uStack_170 = puVar18[1];\n        local_100 = 0;\n        local_f8[0] = local_f8[0] & 0xffffffffffffff00;\n        local_108 = local_f8;\n        if (uVar26 == 1) {\n          local_e8 = (ulong *)((ulong)local_e8 & 0xffffffff00000000);\n          FUN_0017f6d0(&local_c8,1,&local_178,uVar3,&local_e8,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_c8 == local_b8) {\n            sVar17 = local_c0;\n            if (local_c0 != 0) {\n              if (local_c0 == 1) {\n                *(byte *)local_108 = (byte)local_b8[0];\n                sVar17 = local_c0;\n              }\n              else {\n                memcpy(local_108,local_c8,local_c0);\n                sVar17 = local_c0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_c8;\n              local_100 = local_c0;\n              local_f8[0] = local_b8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_c8 = puVar19;\n                local_b8[0] = uVar25;\n                goto LAB_00181993;\n              }\n            }\n            local_f8[0] = local_b8[0];\n            local_100 = local_c0;\n            local_108 = local_c8;\n            local_c8 = local_b8;\n          }\nLAB_00181993:\n          local_c0 = 0;\n          *(byte *)local_c8 = 0;\n          if (local_c8 != local_b8) {\n            FUN_002dac70();\n          }\n          local_1d8[uVar28] = local_e8._0_4_;\n        }\n        else {\n          if (uVar3 != *(uint *)(param_1[10] + uVar28 * 4)) goto LAB_001813c8;\n                    /* try { // try from 001814fb to 00181926 has its CatchHandler @ 00181f49 */\n          FUN_0017f6d0(&local_e8,0,&local_178,uVar3,0,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_e8 == local_d8) {\n            sVar17 = local_e0;\n            if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *(byte *)local_108 = (byte)local_d8[0];\n                sVar17 = local_e0;\n              }\n              else {\n                memcpy(local_108,local_e8,local_e0);\n                sVar17 = local_e0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_e8;\n              local_100 = local_e0;\n              local_f8[0] = local_d8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_e8 = puVar19;\n                local_d8[0] = uVar25;\n                goto LAB_0018156c;\n              }\n            }\n            local_f8[0] = local_d8[0];\n            local_100 = local_e0;\n            local_108 = local_e8;\n            local_e8 = local_d8;\n          }\nLAB_0018156c:\n          local_e0 = 0;\n          *(byte *)local_e8 = 0;\n          if (local_e8 != local_d8) {\n            FUN_002dac70();\n          }\n        }\n        uVar12 = FUN_002d5ef0(local_108,local_100 & 0xffffffff,0xffffffff);\n        uVar25 = (ulong)uVar12 % uStack_70;\n        local_18c = uVar12;\n        if (((long *)local_78[uVar25] == (long *)0x0) ||\n           (puVar18 = *(undefined8 **)local_78[uVar25], puVar18 == (undefined8 *)0x0)) {\nLAB_00181638:\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,(ulong)uVar12,puVar18);\n        }\n        else {\n          uVar23 = (ulong)*(uint *)(puVar18 + 1);\n          lVar21 = 0;\n          do {\n            if (uVar12 == (uint)uVar23) {\n              puVar18 = (undefined8 *)*puVar18;\n              lVar21 = lVar21 + 1;\n              lVar29 = lVar21;\n            }\n            else {\n              if (lVar21 != 0) goto LAB_00181742;\n              puVar18 = (undefined8 *)*puVar18;\n              lVar29 = 0;\n            }\n          } while ((puVar18 != (undefined8 *)0x0) &&\n                  (uVar23 = (ulong)*(uint *)(puVar18 + 1), lVar29 = lVar21,\n                  uVar25 == uVar23 % uStack_70));\n          if (lVar29 == 0) goto LAB_00181638;\nLAB_00181742:\n          auVar41 = FUN_00182170(&local_78,&local_18c);\n          uVar25 = local_100;\n          puVar19 = local_108;\n          plVar4 = local_128;\n          uVar12 = local_18c;\n          for (puVar18 = auVar41._0_8_; local_18c = uVar12, puVar18 != auVar41._8_8_;\n              puVar18 = (undefined8 *)*puVar18) {\n            uVar12 = *(uint *)((long)puVar18 + 0xc);\n            uVar23 = (ulong)uVar12;\n            plVar30 = plVar4 + uVar23 * 4;\n            if ((plVar30[1] == uVar25) &&\n               (iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0)) {\n              if (*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8)) {\n                *(uint *)(param_1[10] + uVar23 * 4) = uVar3;\n                *(uint *)((long)puVar18 + 0xc) = uVar3;\n                FUN_002e3180(plVar30,plVar4 + uVar28 * 4);\n                bVar36 = false;\n              }\n              else {\n                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;\n                bVar36 = false;\n              }\n              goto joined_r0x00181835;\n            }\n            uVar12 = local_18c;\n          }\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,uVar12,puVar18);\n        }\n        FUN_002e1890(local_128 + uVar28 * 4,&local_108);\njoined_r0x00181835:\n        if ((uVar26 == 1) && (local_1d8[uVar28] == 0)) {\n          puVar19 = (ulong *)((uVar28 >> 6) * 8 + local_a8);\n          *puVar19 = *puVar19 | uVar24;\n        }\n        if (local_108 != local_f8) {\n          FUN_002dac70();\n        }\n        lVar21 = *param_1;\n      }\nLAB_001813c8:\n      plVar4 = local_120;\n      uVar3 = uVar3 + 1;\n      uVar28 = (ulong)uVar3;\n      uVar24 = param_1[1] - lVar21 >> 4;\n    } while (uVar28 < uVar24);\n    plVar30 = local_128;\n    if (uVar24 != 0) {\n      lVar21 = param_1[10];\n      uVar25 = 0;\n      uVar28 = uVar25;\n      do {\n        do {\n          uVar12 = (uint)uVar25;\n          uVar3 = *(uint *)(lVar21 + uVar25 * 4);\n          uVar25 = (ulong)uVar3;\n        } while (uVar12 != uVar3);\n        puVar2 = (uint *)(lVar21 + uVar28 * 4);\n        uVar12 = *puVar2;\n        while (uVar12 != uVar3) {\n          *puVar2 = uVar3;\n          puVar2 = (uint *)(lVar21 + (ulong)uVar12 * 4);\n          uVar12 = *puVar2;\n        }\n        uVar25 = (ulong)((int)uVar28 + 1);\n        uVar28 = uVar25;\n      } while (uVar25 < uVar24);\n    }\n    for (; plVar30 != plVar4; plVar30 = plVar30 + 4) {\n      if ((long *)*plVar30 != plVar30 + 2) {\n        FUN_002dac70();\n      }\n    }\n    if (local_128 != (long *)0x0) {\n      FUN_002dac70(local_128);\n    }\n    FUN_00182070(&local_78);\n  }" { (expression_statement "uVar26 = uVar26 + 1;" (assignment_expression "uVar26 = uVar26 + 1" identifier = (binary_expression "uVar26 + 1" identifier + number_literal)) ;) (expression_statement "uStack_70 = 1;" (assignment_expression "uStack_70 = 1" identifier = number_literal) ;) (expression_statement "local_78 = local_48;" (assignment_expression "local_78 = local_48" identifier = identifier) ;) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" identifier = number_literal) ;) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;) (expression_statement "local_58 = 0x3f800000;" (assignment_expression "local_58 = 0x3f800000" identifier = number_literal) ;) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (expression_statement "local_48[0] = 0;" (assignment_expression "local_48[0] = 0" (subscript_expression "local_48[0]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (uVar26 == 1) {\n                    /* try { // try from 00181c11 to 00181c15 has its CatchHandler @ 00181f8d */\n      FUN_00180660(param_1,&local_a8,0);\n    }\n    else {\n                    /* try { // try from 00181355 to 00181359 has its CatchHandler @ 00181f8d */\n      FUN_00180660(param_1,&local_a8,&local_148);\n    }" if (parenthesized_expression "(uVar26 == 1)" ( (binary_expression "uVar26 == 1" identifier == number_literal) )) (compound_statement "{\n                    /* try { // try from 00181c11 to 00181c15 has its CatchHandler @ 00181f8d */\n      FUN_00180660(param_1,&local_a8,0);\n    }" { comment (expression_statement "FUN_00180660(param_1,&local_a8,0);" (call_expression "FUN_00180660(param_1,&local_a8,0)" identifier (argument_list "(param_1,&local_a8,0)" ( identifier , (pointer_expression "&local_a8" & identifier) , number_literal ))) ;) }) (else_clause "else {\n                    /* try { // try from 00181355 to 00181359 has its CatchHandler @ 00181f8d */\n      FUN_00180660(param_1,&local_a8,&local_148);\n    }" else (compound_statement "{\n                    /* try { // try from 00181355 to 00181359 has its CatchHandler @ 00181f8d */\n      FUN_00180660(param_1,&local_a8,&local_148);\n    }" { comment (expression_statement "FUN_00180660(param_1,&local_a8,&local_148);" (call_expression "FUN_00180660(param_1,&local_a8,&local_148)" identifier (argument_list "(param_1,&local_a8,&local_148)" ( identifier , (pointer_expression "&local_a8" & identifier) , (pointer_expression "&local_148" & identifier) ))) ;) }))) (expression_statement "local_128 = (long *)0x0;" (assignment_expression "local_128 = (long *)0x0" identifier = (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_120 = (long *)0x0;" (assignment_expression "local_120 = (long *)0x0" identifier = (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_118 = 0;" (assignment_expression "local_118 = 0" identifier = number_literal) ;) (if_statement "if (param_1[1] == *param_1) {\n      FUN_00182070(&local_78);\n      bVar36 = true;\n      break;\n    }" if (parenthesized_expression "(param_1[1] == *param_1)" ( (binary_expression "param_1[1] == *param_1" (subscript_expression "param_1[1]" identifier [ number_literal ]) == (pointer_expression "*param_1" * identifier)) )) (compound_statement "{\n      FUN_00182070(&local_78);\n      bVar36 = true;\n      break;\n    }" { (expression_statement "FUN_00182070(&local_78);" (call_expression "FUN_00182070(&local_78)" identifier (argument_list "(&local_78)" ( (pointer_expression "&local_78" & identifier) ))) ;) (expression_statement "bVar36 = true;" (assignment_expression "bVar36 = true" identifier = true) ;) (break_statement "break;" break ;) })) (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" identifier = number_literal) ;) (expression_statement "bVar36 = true;" (assignment_expression "bVar36 = true" identifier = true) ;) (expression_statement "uVar3 = 0;" (assignment_expression "uVar3 = 0" identifier = number_literal) ;) (do_statement "do {\n      local_c8 = local_b8;\n                    /* try { // try from 00181402 to 00181406 has its CatchHandler @ 00181f77 */\n      FUN_001665c0(&local_c8,"");\n                    /* try { // try from 00181411 to 00181415 has its CatchHandler @ 00181f51 */\n      FUN_0016f840(&local_128,&local_c8);\n      if (local_c8 != local_b8) {\n        FUN_002dac70();\n      }\n      local_1a0._0_1_ = (byte)uVar3;\n      uVar24 = 1L << ((byte)local_1a0 & 0x3f);\n      lVar21 = *param_1;\n      if ((uVar24 & *(ulong *)(local_a8 + (uVar28 >> 6) * 8)) == 0) {\n        puVar18 = (undefined8 *)(lVar21 + uVar28 * 0x10);\n        local_178 = *puVar18;\n        uStack_170 = puVar18[1];\n        local_100 = 0;\n        local_f8[0] = local_f8[0] & 0xffffffffffffff00;\n        local_108 = local_f8;\n        if (uVar26 == 1) {\n          local_e8 = (ulong *)((ulong)local_e8 & 0xffffffff00000000);\n          FUN_0017f6d0(&local_c8,1,&local_178,uVar3,&local_e8,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_c8 == local_b8) {\n            sVar17 = local_c0;\n            if (local_c0 != 0) {\n              if (local_c0 == 1) {\n                *(byte *)local_108 = (byte)local_b8[0];\n                sVar17 = local_c0;\n              }\n              else {\n                memcpy(local_108,local_c8,local_c0);\n                sVar17 = local_c0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_c8;\n              local_100 = local_c0;\n              local_f8[0] = local_b8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_c8 = puVar19;\n                local_b8[0] = uVar25;\n                goto LAB_00181993;\n              }\n            }\n            local_f8[0] = local_b8[0];\n            local_100 = local_c0;\n            local_108 = local_c8;\n            local_c8 = local_b8;\n          }\nLAB_00181993:\n          local_c0 = 0;\n          *(byte *)local_c8 = 0;\n          if (local_c8 != local_b8) {\n            FUN_002dac70();\n          }\n          local_1d8[uVar28] = local_e8._0_4_;\n        }\n        else {\n          if (uVar3 != *(uint *)(param_1[10] + uVar28 * 4)) goto LAB_001813c8;\n                    /* try { // try from 001814fb to 00181926 has its CatchHandler @ 00181f49 */\n          FUN_0017f6d0(&local_e8,0,&local_178,uVar3,0,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_e8 == local_d8) {\n            sVar17 = local_e0;\n            if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *(byte *)local_108 = (byte)local_d8[0];\n                sVar17 = local_e0;\n              }\n              else {\n                memcpy(local_108,local_e8,local_e0);\n                sVar17 = local_e0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_e8;\n              local_100 = local_e0;\n              local_f8[0] = local_d8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_e8 = puVar19;\n                local_d8[0] = uVar25;\n                goto LAB_0018156c;\n              }\n            }\n            local_f8[0] = local_d8[0];\n            local_100 = local_e0;\n            local_108 = local_e8;\n            local_e8 = local_d8;\n          }\nLAB_0018156c:\n          local_e0 = 0;\n          *(byte *)local_e8 = 0;\n          if (local_e8 != local_d8) {\n            FUN_002dac70();\n          }\n        }\n        uVar12 = FUN_002d5ef0(local_108,local_100 & 0xffffffff,0xffffffff);\n        uVar25 = (ulong)uVar12 % uStack_70;\n        local_18c = uVar12;\n        if (((long *)local_78[uVar25] == (long *)0x0) ||\n           (puVar18 = *(undefined8 **)local_78[uVar25], puVar18 == (undefined8 *)0x0)) {\nLAB_00181638:\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,(ulong)uVar12,puVar18);\n        }\n        else {\n          uVar23 = (ulong)*(uint *)(puVar18 + 1);\n          lVar21 = 0;\n          do {\n            if (uVar12 == (uint)uVar23) {\n              puVar18 = (undefined8 *)*puVar18;\n              lVar21 = lVar21 + 1;\n              lVar29 = lVar21;\n            }\n            else {\n              if (lVar21 != 0) goto LAB_00181742;\n              puVar18 = (undefined8 *)*puVar18;\n              lVar29 = 0;\n            }\n          } while ((puVar18 != (undefined8 *)0x0) &&\n                  (uVar23 = (ulong)*(uint *)(puVar18 + 1), lVar29 = lVar21,\n                  uVar25 == uVar23 % uStack_70));\n          if (lVar29 == 0) goto LAB_00181638;\nLAB_00181742:\n          auVar41 = FUN_00182170(&local_78,&local_18c);\n          uVar25 = local_100;\n          puVar19 = local_108;\n          plVar4 = local_128;\n          uVar12 = local_18c;\n          for (puVar18 = auVar41._0_8_; local_18c = uVar12, puVar18 != auVar41._8_8_;\n              puVar18 = (undefined8 *)*puVar18) {\n            uVar12 = *(uint *)((long)puVar18 + 0xc);\n            uVar23 = (ulong)uVar12;\n            plVar30 = plVar4 + uVar23 * 4;\n            if ((plVar30[1] == uVar25) &&\n               (iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0)) {\n              if (*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8)) {\n                *(uint *)(param_1[10] + uVar23 * 4) = uVar3;\n                *(uint *)((long)puVar18 + 0xc) = uVar3;\n                FUN_002e3180(plVar30,plVar4 + uVar28 * 4);\n                bVar36 = false;\n              }\n              else {\n                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;\n                bVar36 = false;\n              }\n              goto joined_r0x00181835;\n            }\n            uVar12 = local_18c;\n          }\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,uVar12,puVar18);\n        }\n        FUN_002e1890(local_128 + uVar28 * 4,&local_108);\njoined_r0x00181835:\n        if ((uVar26 == 1) && (local_1d8[uVar28] == 0)) {\n          puVar19 = (ulong *)((uVar28 >> 6) * 8 + local_a8);\n          *puVar19 = *puVar19 | uVar24;\n        }\n        if (local_108 != local_f8) {\n          FUN_002dac70();\n        }\n        lVar21 = *param_1;\n      }\nLAB_001813c8:\n      plVar4 = local_120;\n      uVar3 = uVar3 + 1;\n      uVar28 = (ulong)uVar3;\n      uVar24 = param_1[1] - lVar21 >> 4;\n    } while (uVar28 < uVar24);" do (compound_statement "{\n      local_c8 = local_b8;\n                    /* try { // try from 00181402 to 00181406 has its CatchHandler @ 00181f77 */\n      FUN_001665c0(&local_c8,"");\n                    /* try { // try from 00181411 to 00181415 has its CatchHandler @ 00181f51 */\n      FUN_0016f840(&local_128,&local_c8);\n      if (local_c8 != local_b8) {\n        FUN_002dac70();\n      }\n      local_1a0._0_1_ = (byte)uVar3;\n      uVar24 = 1L << ((byte)local_1a0 & 0x3f);\n      lVar21 = *param_1;\n      if ((uVar24 & *(ulong *)(local_a8 + (uVar28 >> 6) * 8)) == 0) {\n        puVar18 = (undefined8 *)(lVar21 + uVar28 * 0x10);\n        local_178 = *puVar18;\n        uStack_170 = puVar18[1];\n        local_100 = 0;\n        local_f8[0] = local_f8[0] & 0xffffffffffffff00;\n        local_108 = local_f8;\n        if (uVar26 == 1) {\n          local_e8 = (ulong *)((ulong)local_e8 & 0xffffffff00000000);\n          FUN_0017f6d0(&local_c8,1,&local_178,uVar3,&local_e8,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_c8 == local_b8) {\n            sVar17 = local_c0;\n            if (local_c0 != 0) {\n              if (local_c0 == 1) {\n                *(byte *)local_108 = (byte)local_b8[0];\n                sVar17 = local_c0;\n              }\n              else {\n                memcpy(local_108,local_c8,local_c0);\n                sVar17 = local_c0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_c8;\n              local_100 = local_c0;\n              local_f8[0] = local_b8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_c8 = puVar19;\n                local_b8[0] = uVar25;\n                goto LAB_00181993;\n              }\n            }\n            local_f8[0] = local_b8[0];\n            local_100 = local_c0;\n            local_108 = local_c8;\n            local_c8 = local_b8;\n          }\nLAB_00181993:\n          local_c0 = 0;\n          *(byte *)local_c8 = 0;\n          if (local_c8 != local_b8) {\n            FUN_002dac70();\n          }\n          local_1d8[uVar28] = local_e8._0_4_;\n        }\n        else {\n          if (uVar3 != *(uint *)(param_1[10] + uVar28 * 4)) goto LAB_001813c8;\n                    /* try { // try from 001814fb to 00181926 has its CatchHandler @ 00181f49 */\n          FUN_0017f6d0(&local_e8,0,&local_178,uVar3,0,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_e8 == local_d8) {\n            sVar17 = local_e0;\n            if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *(byte *)local_108 = (byte)local_d8[0];\n                sVar17 = local_e0;\n              }\n              else {\n                memcpy(local_108,local_e8,local_e0);\n                sVar17 = local_e0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_e8;\n              local_100 = local_e0;\n              local_f8[0] = local_d8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_e8 = puVar19;\n                local_d8[0] = uVar25;\n                goto LAB_0018156c;\n              }\n            }\n            local_f8[0] = local_d8[0];\n            local_100 = local_e0;\n            local_108 = local_e8;\n            local_e8 = local_d8;\n          }\nLAB_0018156c:\n          local_e0 = 0;\n          *(byte *)local_e8 = 0;\n          if (local_e8 != local_d8) {\n            FUN_002dac70();\n          }\n        }\n        uVar12 = FUN_002d5ef0(local_108,local_100 & 0xffffffff,0xffffffff);\n        uVar25 = (ulong)uVar12 % uStack_70;\n        local_18c = uVar12;\n        if (((long *)local_78[uVar25] == (long *)0x0) ||\n           (puVar18 = *(undefined8 **)local_78[uVar25], puVar18 == (undefined8 *)0x0)) {\nLAB_00181638:\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,(ulong)uVar12,puVar18);\n        }\n        else {\n          uVar23 = (ulong)*(uint *)(puVar18 + 1);\n          lVar21 = 0;\n          do {\n            if (uVar12 == (uint)uVar23) {\n              puVar18 = (undefined8 *)*puVar18;\n              lVar21 = lVar21 + 1;\n              lVar29 = lVar21;\n            }\n            else {\n              if (lVar21 != 0) goto LAB_00181742;\n              puVar18 = (undefined8 *)*puVar18;\n              lVar29 = 0;\n            }\n          } while ((puVar18 != (undefined8 *)0x0) &&\n                  (uVar23 = (ulong)*(uint *)(puVar18 + 1), lVar29 = lVar21,\n                  uVar25 == uVar23 % uStack_70));\n          if (lVar29 == 0) goto LAB_00181638;\nLAB_00181742:\n          auVar41 = FUN_00182170(&local_78,&local_18c);\n          uVar25 = local_100;\n          puVar19 = local_108;\n          plVar4 = local_128;\n          uVar12 = local_18c;\n          for (puVar18 = auVar41._0_8_; local_18c = uVar12, puVar18 != auVar41._8_8_;\n              puVar18 = (undefined8 *)*puVar18) {\n            uVar12 = *(uint *)((long)puVar18 + 0xc);\n            uVar23 = (ulong)uVar12;\n            plVar30 = plVar4 + uVar23 * 4;\n            if ((plVar30[1] == uVar25) &&\n               (iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0)) {\n              if (*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8)) {\n                *(uint *)(param_1[10] + uVar23 * 4) = uVar3;\n                *(uint *)((long)puVar18 + 0xc) = uVar3;\n                FUN_002e3180(plVar30,plVar4 + uVar28 * 4);\n                bVar36 = false;\n              }\n              else {\n                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;\n                bVar36 = false;\n              }\n              goto joined_r0x00181835;\n            }\n            uVar12 = local_18c;\n          }\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,uVar12,puVar18);\n        }\n        FUN_002e1890(local_128 + uVar28 * 4,&local_108);\njoined_r0x00181835:\n        if ((uVar26 == 1) && (local_1d8[uVar28] == 0)) {\n          puVar19 = (ulong *)((uVar28 >> 6) * 8 + local_a8);\n          *puVar19 = *puVar19 | uVar24;\n        }\n        if (local_108 != local_f8) {\n          FUN_002dac70();\n        }\n        lVar21 = *param_1;\n      }\nLAB_001813c8:\n      plVar4 = local_120;\n      uVar3 = uVar3 + 1;\n      uVar28 = (ulong)uVar3;\n      uVar24 = param_1[1] - lVar21 >> 4;\n    }" { (expression_statement "local_c8 = local_b8;" (assignment_expression "local_c8 = local_b8" identifier = identifier) ;) comment (expression_statement "FUN_001665c0(&local_c8,"");" (call_expression "FUN_001665c0(&local_c8,"")" identifier (argument_list "(&local_c8,"")" ( (pointer_expression "&local_c8" & identifier) , (string_literal """" " ") ))) ;) comment (expression_statement "FUN_0016f840(&local_128,&local_c8);" (call_expression "FUN_0016f840(&local_128,&local_c8)" identifier (argument_list "(&local_128,&local_c8)" ( (pointer_expression "&local_128" & identifier) , (pointer_expression "&local_c8" & identifier) ))) ;) (if_statement "if (local_c8 != local_b8) {\n        FUN_002dac70();\n      }" if (parenthesized_expression "(local_c8 != local_b8)" ( (binary_expression "local_c8 != local_b8" identifier != identifier) )) (compound_statement "{\n        FUN_002dac70();\n      }" { (expression_statement "FUN_002dac70();" (call_expression "FUN_002dac70()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_1a0._0_1_ = (byte)uVar3;" (assignment_expression "local_1a0._0_1_ = (byte)uVar3" (field_expression "local_1a0._0_1_" identifier . field_identifier) = (cast_expression "(byte)uVar3" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "uVar24 = 1L << ((byte)local_1a0 & 0x3f);" (assignment_expression "uVar24 = 1L << ((byte)local_1a0 & 0x3f)" identifier = (binary_expression "1L << ((byte)local_1a0 & 0x3f)" number_literal << (parenthesized_expression "((byte)local_1a0 & 0x3f)" ( (binary_expression "(byte)local_1a0 & 0x3f" (cast_expression "(byte)local_1a0" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "lVar21 = *param_1;" (assignment_expression "lVar21 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (if_statement "if ((uVar24 & *(ulong *)(local_a8 + (uVar28 >> 6) * 8)) == 0) {\n        puVar18 = (undefined8 *)(lVar21 + uVar28 * 0x10);\n        local_178 = *puVar18;\n        uStack_170 = puVar18[1];\n        local_100 = 0;\n        local_f8[0] = local_f8[0] & 0xffffffffffffff00;\n        local_108 = local_f8;\n        if (uVar26 == 1) {\n          local_e8 = (ulong *)((ulong)local_e8 & 0xffffffff00000000);\n          FUN_0017f6d0(&local_c8,1,&local_178,uVar3,&local_e8,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_c8 == local_b8) {\n            sVar17 = local_c0;\n            if (local_c0 != 0) {\n              if (local_c0 == 1) {\n                *(byte *)local_108 = (byte)local_b8[0];\n                sVar17 = local_c0;\n              }\n              else {\n                memcpy(local_108,local_c8,local_c0);\n                sVar17 = local_c0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_c8;\n              local_100 = local_c0;\n              local_f8[0] = local_b8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_c8 = puVar19;\n                local_b8[0] = uVar25;\n                goto LAB_00181993;\n              }\n            }\n            local_f8[0] = local_b8[0];\n            local_100 = local_c0;\n            local_108 = local_c8;\n            local_c8 = local_b8;\n          }\nLAB_00181993:\n          local_c0 = 0;\n          *(byte *)local_c8 = 0;\n          if (local_c8 != local_b8) {\n            FUN_002dac70();\n          }\n          local_1d8[uVar28] = local_e8._0_4_;\n        }\n        else {\n          if (uVar3 != *(uint *)(param_1[10] + uVar28 * 4)) goto LAB_001813c8;\n                    /* try { // try from 001814fb to 00181926 has its CatchHandler @ 00181f49 */\n          FUN_0017f6d0(&local_e8,0,&local_178,uVar3,0,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_e8 == local_d8) {\n            sVar17 = local_e0;\n            if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *(byte *)local_108 = (byte)local_d8[0];\n                sVar17 = local_e0;\n              }\n              else {\n                memcpy(local_108,local_e8,local_e0);\n                sVar17 = local_e0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_e8;\n              local_100 = local_e0;\n              local_f8[0] = local_d8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_e8 = puVar19;\n                local_d8[0] = uVar25;\n                goto LAB_0018156c;\n              }\n            }\n            local_f8[0] = local_d8[0];\n            local_100 = local_e0;\n            local_108 = local_e8;\n            local_e8 = local_d8;\n          }\nLAB_0018156c:\n          local_e0 = 0;\n          *(byte *)local_e8 = 0;\n          if (local_e8 != local_d8) {\n            FUN_002dac70();\n          }\n        }\n        uVar12 = FUN_002d5ef0(local_108,local_100 & 0xffffffff,0xffffffff);\n        uVar25 = (ulong)uVar12 % uStack_70;\n        local_18c = uVar12;\n        if (((long *)local_78[uVar25] == (long *)0x0) ||\n           (puVar18 = *(undefined8 **)local_78[uVar25], puVar18 == (undefined8 *)0x0)) {\nLAB_00181638:\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,(ulong)uVar12,puVar18);\n        }\n        else {\n          uVar23 = (ulong)*(uint *)(puVar18 + 1);\n          lVar21 = 0;\n          do {\n            if (uVar12 == (uint)uVar23) {\n              puVar18 = (undefined8 *)*puVar18;\n              lVar21 = lVar21 + 1;\n              lVar29 = lVar21;\n            }\n            else {\n              if (lVar21 != 0) goto LAB_00181742;\n              puVar18 = (undefined8 *)*puVar18;\n              lVar29 = 0;\n            }\n          } while ((puVar18 != (undefined8 *)0x0) &&\n                  (uVar23 = (ulong)*(uint *)(puVar18 + 1), lVar29 = lVar21,\n                  uVar25 == uVar23 % uStack_70));\n          if (lVar29 == 0) goto LAB_00181638;\nLAB_00181742:\n          auVar41 = FUN_00182170(&local_78,&local_18c);\n          uVar25 = local_100;\n          puVar19 = local_108;\n          plVar4 = local_128;\n          uVar12 = local_18c;\n          for (puVar18 = auVar41._0_8_; local_18c = uVar12, puVar18 != auVar41._8_8_;\n              puVar18 = (undefined8 *)*puVar18) {\n            uVar12 = *(uint *)((long)puVar18 + 0xc);\n            uVar23 = (ulong)uVar12;\n            plVar30 = plVar4 + uVar23 * 4;\n            if ((plVar30[1] == uVar25) &&\n               (iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0)) {\n              if (*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8)) {\n                *(uint *)(param_1[10] + uVar23 * 4) = uVar3;\n                *(uint *)((long)puVar18 + 0xc) = uVar3;\n                FUN_002e3180(plVar30,plVar4 + uVar28 * 4);\n                bVar36 = false;\n              }\n              else {\n                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;\n                bVar36 = false;\n              }\n              goto joined_r0x00181835;\n            }\n            uVar12 = local_18c;\n          }\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,uVar12,puVar18);\n        }\n        FUN_002e1890(local_128 + uVar28 * 4,&local_108);\njoined_r0x00181835:\n        if ((uVar26 == 1) && (local_1d8[uVar28] == 0)) {\n          puVar19 = (ulong *)((uVar28 >> 6) * 8 + local_a8);\n          *puVar19 = *puVar19 | uVar24;\n        }\n        if (local_108 != local_f8) {\n          FUN_002dac70();\n        }\n        lVar21 = *param_1;\n      }" if (parenthesized_expression "((uVar24 & *(ulong *)(local_a8 + (uVar28 >> 6) * 8)) == 0)" ( (binary_expression "(uVar24 & *(ulong *)(local_a8 + (uVar28 >> 6) * 8)) == 0" (parenthesized_expression "(uVar24 & *(ulong *)(local_a8 + (uVar28 >> 6) * 8))" ( (binary_expression "uVar24 & *(ulong *)(local_a8 + (uVar28 >> 6) * 8)" identifier & (pointer_expression "*(ulong *)(local_a8 + (uVar28 >> 6) * 8)" * (cast_expression "(ulong *)(local_a8 + (uVar28 >> 6) * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a8 + (uVar28 >> 6) * 8)" ( (binary_expression "local_a8 + (uVar28 >> 6) * 8" identifier + (binary_expression "(uVar28 >> 6) * 8" (parenthesized_expression "(uVar28 >> 6)" ( (binary_expression "uVar28 >> 6" identifier >> number_literal) )) * number_literal)) ))))) )) == number_literal) )) (compound_statement "{\n        puVar18 = (undefined8 *)(lVar21 + uVar28 * 0x10);\n        local_178 = *puVar18;\n        uStack_170 = puVar18[1];\n        local_100 = 0;\n        local_f8[0] = local_f8[0] & 0xffffffffffffff00;\n        local_108 = local_f8;\n        if (uVar26 == 1) {\n          local_e8 = (ulong *)((ulong)local_e8 & 0xffffffff00000000);\n          FUN_0017f6d0(&local_c8,1,&local_178,uVar3,&local_e8,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_c8 == local_b8) {\n            sVar17 = local_c0;\n            if (local_c0 != 0) {\n              if (local_c0 == 1) {\n                *(byte *)local_108 = (byte)local_b8[0];\n                sVar17 = local_c0;\n              }\n              else {\n                memcpy(local_108,local_c8,local_c0);\n                sVar17 = local_c0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_c8;\n              local_100 = local_c0;\n              local_f8[0] = local_b8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_c8 = puVar19;\n                local_b8[0] = uVar25;\n                goto LAB_00181993;\n              }\n            }\n            local_f8[0] = local_b8[0];\n            local_100 = local_c0;\n            local_108 = local_c8;\n            local_c8 = local_b8;\n          }\nLAB_00181993:\n          local_c0 = 0;\n          *(byte *)local_c8 = 0;\n          if (local_c8 != local_b8) {\n            FUN_002dac70();\n          }\n          local_1d8[uVar28] = local_e8._0_4_;\n        }\n        else {\n          if (uVar3 != *(uint *)(param_1[10] + uVar28 * 4)) goto LAB_001813c8;\n                    /* try { // try from 001814fb to 00181926 has its CatchHandler @ 00181f49 */\n          FUN_0017f6d0(&local_e8,0,&local_178,uVar3,0,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_e8 == local_d8) {\n            sVar17 = local_e0;\n            if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *(byte *)local_108 = (byte)local_d8[0];\n                sVar17 = local_e0;\n              }\n              else {\n                memcpy(local_108,local_e8,local_e0);\n                sVar17 = local_e0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_e8;\n              local_100 = local_e0;\n              local_f8[0] = local_d8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_e8 = puVar19;\n                local_d8[0] = uVar25;\n                goto LAB_0018156c;\n              }\n            }\n            local_f8[0] = local_d8[0];\n            local_100 = local_e0;\n            local_108 = local_e8;\n            local_e8 = local_d8;\n          }\nLAB_0018156c:\n          local_e0 = 0;\n          *(byte *)local_e8 = 0;\n          if (local_e8 != local_d8) {\n            FUN_002dac70();\n          }\n        }\n        uVar12 = FUN_002d5ef0(local_108,local_100 & 0xffffffff,0xffffffff);\n        uVar25 = (ulong)uVar12 % uStack_70;\n        local_18c = uVar12;\n        if (((long *)local_78[uVar25] == (long *)0x0) ||\n           (puVar18 = *(undefined8 **)local_78[uVar25], puVar18 == (undefined8 *)0x0)) {\nLAB_00181638:\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,(ulong)uVar12,puVar18);\n        }\n        else {\n          uVar23 = (ulong)*(uint *)(puVar18 + 1);\n          lVar21 = 0;\n          do {\n            if (uVar12 == (uint)uVar23) {\n              puVar18 = (undefined8 *)*puVar18;\n              lVar21 = lVar21 + 1;\n              lVar29 = lVar21;\n            }\n            else {\n              if (lVar21 != 0) goto LAB_00181742;\n              puVar18 = (undefined8 *)*puVar18;\n              lVar29 = 0;\n            }\n          } while ((puVar18 != (undefined8 *)0x0) &&\n                  (uVar23 = (ulong)*(uint *)(puVar18 + 1), lVar29 = lVar21,\n                  uVar25 == uVar23 % uStack_70));\n          if (lVar29 == 0) goto LAB_00181638;\nLAB_00181742:\n          auVar41 = FUN_00182170(&local_78,&local_18c);\n          uVar25 = local_100;\n          puVar19 = local_108;\n          plVar4 = local_128;\n          uVar12 = local_18c;\n          for (puVar18 = auVar41._0_8_; local_18c = uVar12, puVar18 != auVar41._8_8_;\n              puVar18 = (undefined8 *)*puVar18) {\n            uVar12 = *(uint *)((long)puVar18 + 0xc);\n            uVar23 = (ulong)uVar12;\n            plVar30 = plVar4 + uVar23 * 4;\n            if ((plVar30[1] == uVar25) &&\n               (iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0)) {\n              if (*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8)) {\n                *(uint *)(param_1[10] + uVar23 * 4) = uVar3;\n                *(uint *)((long)puVar18 + 0xc) = uVar3;\n                FUN_002e3180(plVar30,plVar4 + uVar28 * 4);\n                bVar36 = false;\n              }\n              else {\n                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;\n                bVar36 = false;\n              }\n              goto joined_r0x00181835;\n            }\n            uVar12 = local_18c;\n          }\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,uVar12,puVar18);\n        }\n        FUN_002e1890(local_128 + uVar28 * 4,&local_108);\njoined_r0x00181835:\n        if ((uVar26 == 1) && (local_1d8[uVar28] == 0)) {\n          puVar19 = (ulong *)((uVar28 >> 6) * 8 + local_a8);\n          *puVar19 = *puVar19 | uVar24;\n        }\n        if (local_108 != local_f8) {\n          FUN_002dac70();\n        }\n        lVar21 = *param_1;\n      }" { (expression_statement "puVar18 = (undefined8 *)(lVar21 + uVar28 * 0x10);" (assignment_expression "puVar18 = (undefined8 *)(lVar21 + uVar28 * 0x10)" identifier = (cast_expression "(undefined8 *)(lVar21 + uVar28 * 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar21 + uVar28 * 0x10)" ( (binary_expression "lVar21 + uVar28 * 0x10" identifier + (binary_expression "uVar28 * 0x10" identifier * number_literal)) )))) ;) (expression_statement "local_178 = *puVar18;" (assignment_expression "local_178 = *puVar18" identifier = (pointer_expression "*puVar18" * identifier)) ;) (expression_statement "uStack_170 = puVar18[1];" (assignment_expression "uStack_170 = puVar18[1]" identifier = (subscript_expression "puVar18[1]" identifier [ number_literal ])) ;) (expression_statement "local_100 = 0;" (assignment_expression "local_100 = 0" identifier = number_literal) ;) (expression_statement "local_f8[0] = local_f8[0] & 0xffffffffffffff00;" (assignment_expression "local_f8[0] = local_f8[0] & 0xffffffffffffff00" (subscript_expression "local_f8[0]" identifier [ number_literal ]) = (binary_expression "local_f8[0] & 0xffffffffffffff00" (subscript_expression "local_f8[0]" identifier [ number_literal ]) & number_literal)) ;) (expression_statement "local_108 = local_f8;" (assignment_expression "local_108 = local_f8" identifier = identifier) ;) (if_statement "if (uVar26 == 1) {\n          local_e8 = (ulong *)((ulong)local_e8 & 0xffffffff00000000);\n          FUN_0017f6d0(&local_c8,1,&local_178,uVar3,&local_e8,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_c8 == local_b8) {\n            sVar17 = local_c0;\n            if (local_c0 != 0) {\n              if (local_c0 == 1) {\n                *(byte *)local_108 = (byte)local_b8[0];\n                sVar17 = local_c0;\n              }\n              else {\n                memcpy(local_108,local_c8,local_c0);\n                sVar17 = local_c0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_c8;\n              local_100 = local_c0;\n              local_f8[0] = local_b8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_c8 = puVar19;\n                local_b8[0] = uVar25;\n                goto LAB_00181993;\n              }\n            }\n            local_f8[0] = local_b8[0];\n            local_100 = local_c0;\n            local_108 = local_c8;\n            local_c8 = local_b8;\n          }\nLAB_00181993:\n          local_c0 = 0;\n          *(byte *)local_c8 = 0;\n          if (local_c8 != local_b8) {\n            FUN_002dac70();\n          }\n          local_1d8[uVar28] = local_e8._0_4_;\n        }\n        else {\n          if (uVar3 != *(uint *)(param_1[10] + uVar28 * 4)) goto LAB_001813c8;\n                    /* try { // try from 001814fb to 00181926 has its CatchHandler @ 00181f49 */\n          FUN_0017f6d0(&local_e8,0,&local_178,uVar3,0,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_e8 == local_d8) {\n            sVar17 = local_e0;\n            if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *(byte *)local_108 = (byte)local_d8[0];\n                sVar17 = local_e0;\n              }\n              else {\n                memcpy(local_108,local_e8,local_e0);\n                sVar17 = local_e0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_e8;\n              local_100 = local_e0;\n              local_f8[0] = local_d8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_e8 = puVar19;\n                local_d8[0] = uVar25;\n                goto LAB_0018156c;\n              }\n            }\n            local_f8[0] = local_d8[0];\n            local_100 = local_e0;\n            local_108 = local_e8;\n            local_e8 = local_d8;\n          }\nLAB_0018156c:\n          local_e0 = 0;\n          *(byte *)local_e8 = 0;\n          if (local_e8 != local_d8) {\n            FUN_002dac70();\n          }\n        }" if (parenthesized_expression "(uVar26 == 1)" ( (binary_expression "uVar26 == 1" identifier == number_literal) )) (compound_statement "{\n          local_e8 = (ulong *)((ulong)local_e8 & 0xffffffff00000000);\n          FUN_0017f6d0(&local_c8,1,&local_178,uVar3,&local_e8,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_c8 == local_b8) {\n            sVar17 = local_c0;\n            if (local_c0 != 0) {\n              if (local_c0 == 1) {\n                *(byte *)local_108 = (byte)local_b8[0];\n                sVar17 = local_c0;\n              }\n              else {\n                memcpy(local_108,local_c8,local_c0);\n                sVar17 = local_c0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_c8;\n              local_100 = local_c0;\n              local_f8[0] = local_b8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_c8 = puVar19;\n                local_b8[0] = uVar25;\n                goto LAB_00181993;\n              }\n            }\n            local_f8[0] = local_b8[0];\n            local_100 = local_c0;\n            local_108 = local_c8;\n            local_c8 = local_b8;\n          }\nLAB_00181993:\n          local_c0 = 0;\n          *(byte *)local_c8 = 0;\n          if (local_c8 != local_b8) {\n            FUN_002dac70();\n          }\n          local_1d8[uVar28] = local_e8._0_4_;\n        }" { (expression_statement "local_e8 = (ulong *)((ulong)local_e8 & 0xffffffff00000000);" (assignment_expression "local_e8 = (ulong *)((ulong)local_e8 & 0xffffffff00000000)" identifier = (cast_expression "(ulong *)((ulong)local_e8 & 0xffffffff00000000)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)local_e8 & 0xffffffff00000000)" ( (binary_expression "(ulong)local_e8 & 0xffffffff00000000" (cast_expression "(ulong)local_e8" ( (type_descriptor "ulong" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "FUN_0017f6d0(&local_c8,1,&local_178,uVar3,&local_e8,param_3,param_1 + 10,&local_148);" (call_expression "FUN_0017f6d0(&local_c8,1,&local_178,uVar3,&local_e8,param_3,param_1 + 10,&local_148)" identifier (argument_list "(&local_c8,1,&local_178,uVar3,&local_e8,param_3,param_1 + 10,&local_148)" ( (pointer_expression "&local_c8" & identifier) , number_literal , (pointer_expression "&local_178" & identifier) , identifier , (pointer_expression "&local_e8" & identifier) , identifier , (binary_expression "param_1 + 10" identifier + number_literal) , (pointer_expression "&local_148" & identifier) ))) ;) (expression_statement "uVar25 = local_f8[0];" (assignment_expression "uVar25 = local_f8[0]" identifier = (subscript_expression "local_f8[0]" identifier [ number_literal ])) ;) (expression_statement "puVar19 = local_108;" (assignment_expression "puVar19 = local_108" identifier = identifier) ;) (if_statement "if (local_c8 == local_b8) {\n            sVar17 = local_c0;\n            if (local_c0 != 0) {\n              if (local_c0 == 1) {\n                *(byte *)local_108 = (byte)local_b8[0];\n                sVar17 = local_c0;\n              }\n              else {\n                memcpy(local_108,local_c8,local_c0);\n                sVar17 = local_c0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_c8;\n              local_100 = local_c0;\n              local_f8[0] = local_b8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_c8 = puVar19;\n                local_b8[0] = uVar25;\n                goto LAB_00181993;\n              }\n            }\n            local_f8[0] = local_b8[0];\n            local_100 = local_c0;\n            local_108 = local_c8;\n            local_c8 = local_b8;\n          }" if (parenthesized_expression "(local_c8 == local_b8)" ( (binary_expression "local_c8 == local_b8" identifier == identifier) )) (compound_statement "{\n            sVar17 = local_c0;\n            if (local_c0 != 0) {\n              if (local_c0 == 1) {\n                *(byte *)local_108 = (byte)local_b8[0];\n                sVar17 = local_c0;\n              }\n              else {\n                memcpy(local_108,local_c8,local_c0);\n                sVar17 = local_c0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }" { (expression_statement "sVar17 = local_c0;" (assignment_expression "sVar17 = local_c0" identifier = identifier) ;) (if_statement "if (local_c0 != 0) {\n              if (local_c0 == 1) {\n                *(byte *)local_108 = (byte)local_b8[0];\n                sVar17 = local_c0;\n              }\n              else {\n                memcpy(local_108,local_c8,local_c0);\n                sVar17 = local_c0;\n              }\n            }" if (parenthesized_expression "(local_c0 != 0)" ( (binary_expression "local_c0 != 0" identifier != number_literal) )) (compound_statement "{\n              if (local_c0 == 1) {\n                *(byte *)local_108 = (byte)local_b8[0];\n                sVar17 = local_c0;\n              }\n              else {\n                memcpy(local_108,local_c8,local_c0);\n                sVar17 = local_c0;\n              }\n            }" { (if_statement "if (local_c0 == 1) {\n                *(byte *)local_108 = (byte)local_b8[0];\n                sVar17 = local_c0;\n              }\n              else {\n                memcpy(local_108,local_c8,local_c0);\n                sVar17 = local_c0;\n              }" if (parenthesized_expression "(local_c0 == 1)" ( (binary_expression "local_c0 == 1" identifier == number_literal) )) (compound_statement "{\n                *(byte *)local_108 = (byte)local_b8[0];\n                sVar17 = local_c0;\n              }" { (expression_statement "*(byte *)local_108 = (byte)local_b8[0];" (assignment_expression "*(byte *)local_108 = (byte)local_b8[0]" (pointer_expression "*(byte *)local_108" * (cast_expression "(byte *)local_108" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (cast_expression "(byte)local_b8[0]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "local_b8[0]" identifier [ number_literal ]))) ;) (expression_statement "sVar17 = local_c0;" (assignment_expression "sVar17 = local_c0" identifier = identifier) ;) }) (else_clause "else {\n                memcpy(local_108,local_c8,local_c0);\n                sVar17 = local_c0;\n              }" else (compound_statement "{\n                memcpy(local_108,local_c8,local_c0);\n                sVar17 = local_c0;\n              }" { (expression_statement "memcpy(local_108,local_c8,local_c0);" (call_expression "memcpy(local_108,local_c8,local_c0)" identifier (argument_list "(local_108,local_c8,local_c0)" ( identifier , identifier , identifier ))) ;) (expression_statement "sVar17 = local_c0;" (assignment_expression "sVar17 = local_c0" identifier = identifier) ;) }))) })) (expression_statement "*(byte *)((long)local_108 + sVar17) = 0;" (assignment_expression "*(byte *)((long)local_108 + sVar17) = 0" (pointer_expression "*(byte *)((long)local_108 + sVar17)" * (cast_expression "(byte *)((long)local_108 + sVar17)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_108 + sVar17)" ( (binary_expression "(long)local_108 + sVar17" (cast_expression "(long)local_108" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) )))) = number_literal) ;) (expression_statement "local_100 = sVar17;" (assignment_expression "local_100 = sVar17" identifier = identifier) ;) }) (else_clause "else {\n            if (local_108 != local_f8) {\n              local_108 = local_c8;\n              local_100 = local_c0;\n              local_f8[0] = local_b8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_c8 = puVar19;\n                local_b8[0] = uVar25;\n                goto LAB_00181993;\n              }\n            }\n            local_f8[0] = local_b8[0];\n            local_100 = local_c0;\n            local_108 = local_c8;\n            local_c8 = local_b8;\n          }" else (compound_statement "{\n            if (local_108 != local_f8) {\n              local_108 = local_c8;\n              local_100 = local_c0;\n              local_f8[0] = local_b8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_c8 = puVar19;\n                local_b8[0] = uVar25;\n                goto LAB_00181993;\n              }\n            }\n            local_f8[0] = local_b8[0];\n            local_100 = local_c0;\n            local_108 = local_c8;\n            local_c8 = local_b8;\n          }" { (if_statement "if (local_108 != local_f8) {\n              local_108 = local_c8;\n              local_100 = local_c0;\n              local_f8[0] = local_b8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_c8 = puVar19;\n                local_b8[0] = uVar25;\n                goto LAB_00181993;\n              }\n            }" if (parenthesized_expression "(local_108 != local_f8)" ( (binary_expression "local_108 != local_f8" identifier != identifier) )) (compound_statement "{\n              local_108 = local_c8;\n              local_100 = local_c0;\n              local_f8[0] = local_b8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_c8 = puVar19;\n                local_b8[0] = uVar25;\n                goto LAB_00181993;\n              }\n            }" { (expression_statement "local_108 = local_c8;" (assignment_expression "local_108 = local_c8" identifier = identifier) ;) (expression_statement "local_100 = local_c0;" (assignment_expression "local_100 = local_c0" identifier = identifier) ;) (expression_statement "local_f8[0] = local_b8[0];" (assignment_expression "local_f8[0] = local_b8[0]" (subscript_expression "local_f8[0]" identifier [ number_literal ]) = (subscript_expression "local_b8[0]" identifier [ number_literal ])) ;) (if_statement "if (puVar19 != (ulong *)0x0) {\n                local_c8 = puVar19;\n                local_b8[0] = uVar25;\n                goto LAB_00181993;\n              }" if (parenthesized_expression "(puVar19 != (ulong *)0x0)" ( (binary_expression "puVar19 != (ulong *)0x0" identifier != (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                local_c8 = puVar19;\n                local_b8[0] = uVar25;\n                goto LAB_00181993;\n              }" { (expression_statement "local_c8 = puVar19;" (assignment_expression "local_c8 = puVar19" identifier = identifier) ;) (expression_statement "local_b8[0] = uVar25;" (assignment_expression "local_b8[0] = uVar25" (subscript_expression "local_b8[0]" identifier [ number_literal ]) = identifier) ;) (goto_statement "goto LAB_00181993;" goto statement_identifier ;) })) })) (expression_statement "local_f8[0] = local_b8[0];" (assignment_expression "local_f8[0] = local_b8[0]" (subscript_expression "local_f8[0]" identifier [ number_literal ]) = (subscript_expression "local_b8[0]" identifier [ number_literal ])) ;) (expression_statement "local_100 = local_c0;" (assignment_expression "local_100 = local_c0" identifier = identifier) ;) (expression_statement "local_108 = local_c8;" (assignment_expression "local_108 = local_c8" identifier = identifier) ;) (expression_statement "local_c8 = local_b8;" (assignment_expression "local_c8 = local_b8" identifier = identifier) ;) }))) (labeled_statement "LAB_00181993:\n          local_c0 = 0;" statement_identifier : (expression_statement "local_c0 = 0;" (assignment_expression "local_c0 = 0" identifier = number_literal) ;)) (expression_statement "*(byte *)local_c8 = 0;" (assignment_expression "*(byte *)local_c8 = 0" (pointer_expression "*(byte *)local_c8" * (cast_expression "(byte *)local_c8" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (if_statement "if (local_c8 != local_b8) {\n            FUN_002dac70();\n          }" if (parenthesized_expression "(local_c8 != local_b8)" ( (binary_expression "local_c8 != local_b8" identifier != identifier) )) (compound_statement "{\n            FUN_002dac70();\n          }" { (expression_statement "FUN_002dac70();" (call_expression "FUN_002dac70()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_1d8[uVar28] = local_e8._0_4_;" (assignment_expression "local_1d8[uVar28] = local_e8._0_4_" (subscript_expression "local_1d8[uVar28]" identifier [ identifier ]) = (field_expression "local_e8._0_4_" identifier . field_identifier)) ;) }) (else_clause "else {\n          if (uVar3 != *(uint *)(param_1[10] + uVar28 * 4)) goto LAB_001813c8;\n                    /* try { // try from 001814fb to 00181926 has its CatchHandler @ 00181f49 */\n          FUN_0017f6d0(&local_e8,0,&local_178,uVar3,0,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_e8 == local_d8) {\n            sVar17 = local_e0;\n            if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *(byte *)local_108 = (byte)local_d8[0];\n                sVar17 = local_e0;\n              }\n              else {\n                memcpy(local_108,local_e8,local_e0);\n                sVar17 = local_e0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_e8;\n              local_100 = local_e0;\n              local_f8[0] = local_d8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_e8 = puVar19;\n                local_d8[0] = uVar25;\n                goto LAB_0018156c;\n              }\n            }\n            local_f8[0] = local_d8[0];\n            local_100 = local_e0;\n            local_108 = local_e8;\n            local_e8 = local_d8;\n          }\nLAB_0018156c:\n          local_e0 = 0;\n          *(byte *)local_e8 = 0;\n          if (local_e8 != local_d8) {\n            FUN_002dac70();\n          }\n        }" else (compound_statement "{\n          if (uVar3 != *(uint *)(param_1[10] + uVar28 * 4)) goto LAB_001813c8;\n                    /* try { // try from 001814fb to 00181926 has its CatchHandler @ 00181f49 */\n          FUN_0017f6d0(&local_e8,0,&local_178,uVar3,0,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_e8 == local_d8) {\n            sVar17 = local_e0;\n            if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *(byte *)local_108 = (byte)local_d8[0];\n                sVar17 = local_e0;\n              }\n              else {\n                memcpy(local_108,local_e8,local_e0);\n                sVar17 = local_e0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_e8;\n              local_100 = local_e0;\n              local_f8[0] = local_d8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_e8 = puVar19;\n                local_d8[0] = uVar25;\n                goto LAB_0018156c;\n              }\n            }\n            local_f8[0] = local_d8[0];\n            local_100 = local_e0;\n            local_108 = local_e8;\n            local_e8 = local_d8;\n          }\nLAB_0018156c:\n          local_e0 = 0;\n          *(byte *)local_e8 = 0;\n          if (local_e8 != local_d8) {\n            FUN_002dac70();\n          }\n        }" { (if_statement "if (uVar3 != *(uint *)(param_1[10] + uVar28 * 4)) goto LAB_001813c8;" if (parenthesized_expression "(uVar3 != *(uint *)(param_1[10] + uVar28 * 4))" ( (binary_expression "uVar3 != *(uint *)(param_1[10] + uVar28 * 4)" identifier != (pointer_expression "*(uint *)(param_1[10] + uVar28 * 4)" * (cast_expression "(uint *)(param_1[10] + uVar28 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[10] + uVar28 * 4)" ( (binary_expression "param_1[10] + uVar28 * 4" (subscript_expression "param_1[10]" identifier [ number_literal ]) + (binary_expression "uVar28 * 4" identifier * number_literal)) ))))) )) (goto_statement "goto LAB_001813c8;" goto statement_identifier ;)) comment (expression_statement "FUN_0017f6d0(&local_e8,0,&local_178,uVar3,0,param_3,param_1 + 10,&local_148);" (call_expression "FUN_0017f6d0(&local_e8,0,&local_178,uVar3,0,param_3,param_1 + 10,&local_148)" identifier (argument_list "(&local_e8,0,&local_178,uVar3,0,param_3,param_1 + 10,&local_148)" ( (pointer_expression "&local_e8" & identifier) , number_literal , (pointer_expression "&local_178" & identifier) , identifier , number_literal , identifier , (binary_expression "param_1 + 10" identifier + number_literal) , (pointer_expression "&local_148" & identifier) ))) ;) (expression_statement "uVar25 = local_f8[0];" (assignment_expression "uVar25 = local_f8[0]" identifier = (subscript_expression "local_f8[0]" identifier [ number_literal ])) ;) (expression_statement "puVar19 = local_108;" (assignment_expression "puVar19 = local_108" identifier = identifier) ;) (if_statement "if (local_e8 == local_d8) {\n            sVar17 = local_e0;\n            if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *(byte *)local_108 = (byte)local_d8[0];\n                sVar17 = local_e0;\n              }\n              else {\n                memcpy(local_108,local_e8,local_e0);\n                sVar17 = local_e0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_e8;\n              local_100 = local_e0;\n              local_f8[0] = local_d8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_e8 = puVar19;\n                local_d8[0] = uVar25;\n                goto LAB_0018156c;\n              }\n            }\n            local_f8[0] = local_d8[0];\n            local_100 = local_e0;\n            local_108 = local_e8;\n            local_e8 = local_d8;\n          }" if (parenthesized_expression "(local_e8 == local_d8)" ( (binary_expression "local_e8 == local_d8" identifier == identifier) )) (compound_statement "{\n            sVar17 = local_e0;\n            if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *(byte *)local_108 = (byte)local_d8[0];\n                sVar17 = local_e0;\n              }\n              else {\n                memcpy(local_108,local_e8,local_e0);\n                sVar17 = local_e0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }" { (expression_statement "sVar17 = local_e0;" (assignment_expression "sVar17 = local_e0" identifier = identifier) ;) (if_statement "if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *(byte *)local_108 = (byte)local_d8[0];\n                sVar17 = local_e0;\n              }\n              else {\n                memcpy(local_108,local_e8,local_e0);\n                sVar17 = local_e0;\n              }\n            }" if (parenthesized_expression "(local_e0 != 0)" ( (binary_expression "local_e0 != 0" identifier != number_literal) )) (compound_statement "{\n              if (local_e0 == 1) {\n                *(byte *)local_108 = (byte)local_d8[0];\n                sVar17 = local_e0;\n              }\n              else {\n                memcpy(local_108,local_e8,local_e0);\n                sVar17 = local_e0;\n              }\n            }" { (if_statement "if (local_e0 == 1) {\n                *(byte *)local_108 = (byte)local_d8[0];\n                sVar17 = local_e0;\n              }\n              else {\n                memcpy(local_108,local_e8,local_e0);\n                sVar17 = local_e0;\n              }" if (parenthesized_expression "(local_e0 == 1)" ( (binary_expression "local_e0 == 1" identifier == number_literal) )) (compound_statement "{\n                *(byte *)local_108 = (byte)local_d8[0];\n                sVar17 = local_e0;\n              }" { (expression_statement "*(byte *)local_108 = (byte)local_d8[0];" (assignment_expression "*(byte *)local_108 = (byte)local_d8[0]" (pointer_expression "*(byte *)local_108" * (cast_expression "(byte *)local_108" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (cast_expression "(byte)local_d8[0]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "local_d8[0]" identifier [ number_literal ]))) ;) (expression_statement "sVar17 = local_e0;" (assignment_expression "sVar17 = local_e0" identifier = identifier) ;) }) (else_clause "else {\n                memcpy(local_108,local_e8,local_e0);\n                sVar17 = local_e0;\n              }" else (compound_statement "{\n                memcpy(local_108,local_e8,local_e0);\n                sVar17 = local_e0;\n              }" { (expression_statement "memcpy(local_108,local_e8,local_e0);" (call_expression "memcpy(local_108,local_e8,local_e0)" identifier (argument_list "(local_108,local_e8,local_e0)" ( identifier , identifier , identifier ))) ;) (expression_statement "sVar17 = local_e0;" (assignment_expression "sVar17 = local_e0" identifier = identifier) ;) }))) })) (expression_statement "*(byte *)((long)local_108 + sVar17) = 0;" (assignment_expression "*(byte *)((long)local_108 + sVar17) = 0" (pointer_expression "*(byte *)((long)local_108 + sVar17)" * (cast_expression "(byte *)((long)local_108 + sVar17)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_108 + sVar17)" ( (binary_expression "(long)local_108 + sVar17" (cast_expression "(long)local_108" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) )))) = number_literal) ;) (expression_statement "local_100 = sVar17;" (assignment_expression "local_100 = sVar17" identifier = identifier) ;) }) (else_clause "else {\n            if (local_108 != local_f8) {\n              local_108 = local_e8;\n              local_100 = local_e0;\n              local_f8[0] = local_d8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_e8 = puVar19;\n                local_d8[0] = uVar25;\n                goto LAB_0018156c;\n              }\n            }\n            local_f8[0] = local_d8[0];\n            local_100 = local_e0;\n            local_108 = local_e8;\n            local_e8 = local_d8;\n          }" else (compound_statement "{\n            if (local_108 != local_f8) {\n              local_108 = local_e8;\n              local_100 = local_e0;\n              local_f8[0] = local_d8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_e8 = puVar19;\n                local_d8[0] = uVar25;\n                goto LAB_0018156c;\n              }\n            }\n            local_f8[0] = local_d8[0];\n            local_100 = local_e0;\n            local_108 = local_e8;\n            local_e8 = local_d8;\n          }" { (if_statement "if (local_108 != local_f8) {\n              local_108 = local_e8;\n              local_100 = local_e0;\n              local_f8[0] = local_d8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_e8 = puVar19;\n                local_d8[0] = uVar25;\n                goto LAB_0018156c;\n              }\n            }" if (parenthesized_expression "(local_108 != local_f8)" ( (binary_expression "local_108 != local_f8" identifier != identifier) )) (compound_statement "{\n              local_108 = local_e8;\n              local_100 = local_e0;\n              local_f8[0] = local_d8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_e8 = puVar19;\n                local_d8[0] = uVar25;\n                goto LAB_0018156c;\n              }\n            }" { (expression_statement "local_108 = local_e8;" (assignment_expression "local_108 = local_e8" identifier = identifier) ;) (expression_statement "local_100 = local_e0;" (assignment_expression "local_100 = local_e0" identifier = identifier) ;) (expression_statement "local_f8[0] = local_d8[0];" (assignment_expression "local_f8[0] = local_d8[0]" (subscript_expression "local_f8[0]" identifier [ number_literal ]) = (subscript_expression "local_d8[0]" identifier [ number_literal ])) ;) (if_statement "if (puVar19 != (ulong *)0x0) {\n                local_e8 = puVar19;\n                local_d8[0] = uVar25;\n                goto LAB_0018156c;\n              }" if (parenthesized_expression "(puVar19 != (ulong *)0x0)" ( (binary_expression "puVar19 != (ulong *)0x0" identifier != (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                local_e8 = puVar19;\n                local_d8[0] = uVar25;\n                goto LAB_0018156c;\n              }" { (expression_statement "local_e8 = puVar19;" (assignment_expression "local_e8 = puVar19" identifier = identifier) ;) (expression_statement "local_d8[0] = uVar25;" (assignment_expression "local_d8[0] = uVar25" (subscript_expression "local_d8[0]" identifier [ number_literal ]) = identifier) ;) (goto_statement "goto LAB_0018156c;" goto statement_identifier ;) })) })) (expression_statement "local_f8[0] = local_d8[0];" (assignment_expression "local_f8[0] = local_d8[0]" (subscript_expression "local_f8[0]" identifier [ number_literal ]) = (subscript_expression "local_d8[0]" identifier [ number_literal ])) ;) (expression_statement "local_100 = local_e0;" (assignment_expression "local_100 = local_e0" identifier = identifier) ;) (expression_statement "local_108 = local_e8;" (assignment_expression "local_108 = local_e8" identifier = identifier) ;) (expression_statement "local_e8 = local_d8;" (assignment_expression "local_e8 = local_d8" identifier = identifier) ;) }))) (labeled_statement "LAB_0018156c:\n          local_e0 = 0;" statement_identifier : (expression_statement "local_e0 = 0;" (assignment_expression "local_e0 = 0" identifier = number_literal) ;)) (expression_statement "*(byte *)local_e8 = 0;" (assignment_expression "*(byte *)local_e8 = 0" (pointer_expression "*(byte *)local_e8" * (cast_expression "(byte *)local_e8" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (if_statement "if (local_e8 != local_d8) {\n            FUN_002dac70();\n          }" if (parenthesized_expression "(local_e8 != local_d8)" ( (binary_expression "local_e8 != local_d8" identifier != identifier) )) (compound_statement "{\n            FUN_002dac70();\n          }" { (expression_statement "FUN_002dac70();" (call_expression "FUN_002dac70()" identifier (argument_list "()" ( ))) ;) })) }))) (expression_statement "uVar12 = FUN_002d5ef0(local_108,local_100 & 0xffffffff,0xffffffff);" (assignment_expression "uVar12 = FUN_002d5ef0(local_108,local_100 & 0xffffffff,0xffffffff)" identifier = (call_expression "FUN_002d5ef0(local_108,local_100 & 0xffffffff,0xffffffff)" identifier (argument_list "(local_108,local_100 & 0xffffffff,0xffffffff)" ( identifier , (binary_expression "local_100 & 0xffffffff" identifier & number_literal) , number_literal )))) ;) (expression_statement "uVar25 = (ulong)uVar12 % uStack_70;" (assignment_expression "uVar25 = (ulong)uVar12 % uStack_70" identifier = (binary_expression "(ulong)uVar12 % uStack_70" (cast_expression "(ulong)uVar12" ( (type_descriptor "ulong" type_identifier) ) identifier) % identifier)) ;) (expression_statement "local_18c = uVar12;" (assignment_expression "local_18c = uVar12" identifier = identifier) ;) (if_statement "if (((long *)local_78[uVar25] == (long *)0x0) ||\n           (puVar18 = *(undefined8 **)local_78[uVar25], puVar18 == (undefined8 *)0x0)) {\nLAB_00181638:\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,(ulong)uVar12,puVar18);\n        }\n        else {\n          uVar23 = (ulong)*(uint *)(puVar18 + 1);\n          lVar21 = 0;\n          do {\n            if (uVar12 == (uint)uVar23) {\n              puVar18 = (undefined8 *)*puVar18;\n              lVar21 = lVar21 + 1;\n              lVar29 = lVar21;\n            }\n            else {\n              if (lVar21 != 0) goto LAB_00181742;\n              puVar18 = (undefined8 *)*puVar18;\n              lVar29 = 0;\n            }\n          } while ((puVar18 != (undefined8 *)0x0) &&\n                  (uVar23 = (ulong)*(uint *)(puVar18 + 1), lVar29 = lVar21,\n                  uVar25 == uVar23 % uStack_70));\n          if (lVar29 == 0) goto LAB_00181638;\nLAB_00181742:\n          auVar41 = FUN_00182170(&local_78,&local_18c);\n          uVar25 = local_100;\n          puVar19 = local_108;\n          plVar4 = local_128;\n          uVar12 = local_18c;\n          for (puVar18 = auVar41._0_8_; local_18c = uVar12, puVar18 != auVar41._8_8_;\n              puVar18 = (undefined8 *)*puVar18) {\n            uVar12 = *(uint *)((long)puVar18 + 0xc);\n            uVar23 = (ulong)uVar12;\n            plVar30 = plVar4 + uVar23 * 4;\n            if ((plVar30[1] == uVar25) &&\n               (iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0)) {\n              if (*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8)) {\n                *(uint *)(param_1[10] + uVar23 * 4) = uVar3;\n                *(uint *)((long)puVar18 + 0xc) = uVar3;\n                FUN_002e3180(plVar30,plVar4 + uVar28 * 4);\n                bVar36 = false;\n              }\n              else {\n                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;\n                bVar36 = false;\n              }\n              goto joined_r0x00181835;\n            }\n            uVar12 = local_18c;\n          }\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,uVar12,puVar18);\n        }" if (parenthesized_expression "(((long *)local_78[uVar25] == (long *)0x0) ||\n           (puVar18 = *(undefined8 **)local_78[uVar25], puVar18 == (undefined8 *)0x0))" ( (binary_expression "((long *)local_78[uVar25] == (long *)0x0) ||\n           (puVar18 = *(undefined8 **)local_78[uVar25], puVar18 == (undefined8 *)0x0)" (parenthesized_expression "((long *)local_78[uVar25] == (long *)0x0)" ( (binary_expression "(long *)local_78[uVar25] == (long *)0x0" (cast_expression "(long *)local_78[uVar25]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_78[uVar25]" identifier [ identifier ])) == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(puVar18 = *(undefined8 **)local_78[uVar25], puVar18 == (undefined8 *)0x0)" ( (comma_expression "puVar18 = *(undefined8 **)local_78[uVar25], puVar18 == (undefined8 *)0x0" (assignment_expression "puVar18 = *(undefined8 **)local_78[uVar25]" identifier = (pointer_expression "*(undefined8 **)local_78[uVar25]" * (cast_expression "(undefined8 **)local_78[uVar25]" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "local_78[uVar25]" identifier [ identifier ])))) , (binary_expression "puVar18 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\nLAB_00181638:\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,(ulong)uVar12,puVar18);\n        }" { (labeled_statement "LAB_00181638:\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);" statement_identifier : (expression_statement "puVar18 = (undefined8 *)FUN_002d94a0(0x10);" (assignment_expression "puVar18 = (undefined8 *)FUN_002d94a0(0x10)" identifier = (cast_expression "(undefined8 *)FUN_002d94a0(0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002d94a0(0x10)" identifier (argument_list "(0x10)" ( number_literal ))))) ;)) (expression_statement "*(uint *)(puVar18 + 1) = uVar12;" (assignment_expression "*(uint *)(puVar18 + 1) = uVar12" (pointer_expression "*(uint *)(puVar18 + 1)" * (cast_expression "(uint *)(puVar18 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 1)" ( (binary_expression "puVar18 + 1" identifier + number_literal) )))) = identifier) ;) (expression_statement "*puVar18 = 0;" (assignment_expression "*puVar18 = 0" (pointer_expression "*puVar18" * identifier) = number_literal) ;) (expression_statement "*(uint *)((long)puVar18 + 0xc) = uVar3;" (assignment_expression "*(uint *)((long)puVar18 + 0xc) = uVar3" (pointer_expression "*(uint *)((long)puVar18 + 0xc)" * (cast_expression "(uint *)((long)puVar18 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar18 + 0xc)" ( (binary_expression "(long)puVar18 + 0xc" (cast_expression "(long)puVar18" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "FUN_00182c70(&local_78,0,(ulong)uVar12,puVar18);" (call_expression "FUN_00182c70(&local_78,0,(ulong)uVar12,puVar18)" identifier (argument_list "(&local_78,0,(ulong)uVar12,puVar18)" ( (pointer_expression "&local_78" & identifier) , number_literal , (cast_expression "(ulong)uVar12" ( (type_descriptor "ulong" type_identifier) ) identifier) , identifier ))) ;) }) (else_clause "else {\n          uVar23 = (ulong)*(uint *)(puVar18 + 1);\n          lVar21 = 0;\n          do {\n            if (uVar12 == (uint)uVar23) {\n              puVar18 = (undefined8 *)*puVar18;\n              lVar21 = lVar21 + 1;\n              lVar29 = lVar21;\n            }\n            else {\n              if (lVar21 != 0) goto LAB_00181742;\n              puVar18 = (undefined8 *)*puVar18;\n              lVar29 = 0;\n            }\n          } while ((puVar18 != (undefined8 *)0x0) &&\n                  (uVar23 = (ulong)*(uint *)(puVar18 + 1), lVar29 = lVar21,\n                  uVar25 == uVar23 % uStack_70));\n          if (lVar29 == 0) goto LAB_00181638;\nLAB_00181742:\n          auVar41 = FUN_00182170(&local_78,&local_18c);\n          uVar25 = local_100;\n          puVar19 = local_108;\n          plVar4 = local_128;\n          uVar12 = local_18c;\n          for (puVar18 = auVar41._0_8_; local_18c = uVar12, puVar18 != auVar41._8_8_;\n              puVar18 = (undefined8 *)*puVar18) {\n            uVar12 = *(uint *)((long)puVar18 + 0xc);\n            uVar23 = (ulong)uVar12;\n            plVar30 = plVar4 + uVar23 * 4;\n            if ((plVar30[1] == uVar25) &&\n               (iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0)) {\n              if (*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8)) {\n                *(uint *)(param_1[10] + uVar23 * 4) = uVar3;\n                *(uint *)((long)puVar18 + 0xc) = uVar3;\n                FUN_002e3180(plVar30,plVar4 + uVar28 * 4);\n                bVar36 = false;\n              }\n              else {\n                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;\n                bVar36 = false;\n              }\n              goto joined_r0x00181835;\n            }\n            uVar12 = local_18c;\n          }\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,uVar12,puVar18);\n        }" else (compound_statement "{\n          uVar23 = (ulong)*(uint *)(puVar18 + 1);\n          lVar21 = 0;\n          do {\n            if (uVar12 == (uint)uVar23) {\n              puVar18 = (undefined8 *)*puVar18;\n              lVar21 = lVar21 + 1;\n              lVar29 = lVar21;\n            }\n            else {\n              if (lVar21 != 0) goto LAB_00181742;\n              puVar18 = (undefined8 *)*puVar18;\n              lVar29 = 0;\n            }\n          } while ((puVar18 != (undefined8 *)0x0) &&\n                  (uVar23 = (ulong)*(uint *)(puVar18 + 1), lVar29 = lVar21,\n                  uVar25 == uVar23 % uStack_70));\n          if (lVar29 == 0) goto LAB_00181638;\nLAB_00181742:\n          auVar41 = FUN_00182170(&local_78,&local_18c);\n          uVar25 = local_100;\n          puVar19 = local_108;\n          plVar4 = local_128;\n          uVar12 = local_18c;\n          for (puVar18 = auVar41._0_8_; local_18c = uVar12, puVar18 != auVar41._8_8_;\n              puVar18 = (undefined8 *)*puVar18) {\n            uVar12 = *(uint *)((long)puVar18 + 0xc);\n            uVar23 = (ulong)uVar12;\n            plVar30 = plVar4 + uVar23 * 4;\n            if ((plVar30[1] == uVar25) &&\n               (iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0)) {\n              if (*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8)) {\n                *(uint *)(param_1[10] + uVar23 * 4) = uVar3;\n                *(uint *)((long)puVar18 + 0xc) = uVar3;\n                FUN_002e3180(plVar30,plVar4 + uVar28 * 4);\n                bVar36 = false;\n              }\n              else {\n                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;\n                bVar36 = false;\n              }\n              goto joined_r0x00181835;\n            }\n            uVar12 = local_18c;\n          }\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,uVar12,puVar18);\n        }" { (expression_statement "uVar23 = (ulong)*(uint *)(puVar18 + 1);" (assignment_expression "uVar23 = (ulong)*(uint *)(puVar18 + 1)" identifier = (binary_expression "(ulong)*(uint *)(puVar18 + 1)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(puVar18 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 1)" ( (binary_expression "puVar18 + 1" identifier + number_literal) ))))) ;) (expression_statement "lVar21 = 0;" (assignment_expression "lVar21 = 0" identifier = number_literal) ;) (do_statement "do {\n            if (uVar12 == (uint)uVar23) {\n              puVar18 = (undefined8 *)*puVar18;\n              lVar21 = lVar21 + 1;\n              lVar29 = lVar21;\n            }\n            else {\n              if (lVar21 != 0) goto LAB_00181742;\n              puVar18 = (undefined8 *)*puVar18;\n              lVar29 = 0;\n            }\n          } while ((puVar18 != (undefined8 *)0x0) &&\n                  (uVar23 = (ulong)*(uint *)(puVar18 + 1), lVar29 = lVar21,\n                  uVar25 == uVar23 % uStack_70));" do (compound_statement "{\n            if (uVar12 == (uint)uVar23) {\n              puVar18 = (undefined8 *)*puVar18;\n              lVar21 = lVar21 + 1;\n              lVar29 = lVar21;\n            }\n            else {\n              if (lVar21 != 0) goto LAB_00181742;\n              puVar18 = (undefined8 *)*puVar18;\n              lVar29 = 0;\n            }\n          }" { (if_statement "if (uVar12 == (uint)uVar23) {\n              puVar18 = (undefined8 *)*puVar18;\n              lVar21 = lVar21 + 1;\n              lVar29 = lVar21;\n            }\n            else {\n              if (lVar21 != 0) goto LAB_00181742;\n              puVar18 = (undefined8 *)*puVar18;\n              lVar29 = 0;\n            }" if (parenthesized_expression "(uVar12 == (uint)uVar23)" ( (binary_expression "uVar12 == (uint)uVar23" identifier == (cast_expression "(uint)uVar23" ( (type_descriptor "uint" type_identifier) ) identifier)) )) (compound_statement "{\n              puVar18 = (undefined8 *)*puVar18;\n              lVar21 = lVar21 + 1;\n              lVar29 = lVar21;\n            }" { (expression_statement "puVar18 = (undefined8 *)*puVar18;" (assignment_expression "puVar18 = (undefined8 *)*puVar18" identifier = (cast_expression "(undefined8 *)*puVar18" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar18" * identifier))) ;) (expression_statement "lVar21 = lVar21 + 1;" (assignment_expression "lVar21 = lVar21 + 1" identifier = (binary_expression "lVar21 + 1" identifier + number_literal)) ;) (expression_statement "lVar29 = lVar21;" (assignment_expression "lVar29 = lVar21" identifier = identifier) ;) }) (else_clause "else {\n              if (lVar21 != 0) goto LAB_00181742;\n              puVar18 = (undefined8 *)*puVar18;\n              lVar29 = 0;\n            }" else (compound_statement "{\n              if (lVar21 != 0) goto LAB_00181742;\n              puVar18 = (undefined8 *)*puVar18;\n              lVar29 = 0;\n            }" { (if_statement "if (lVar21 != 0) goto LAB_00181742;" if (parenthesized_expression "(lVar21 != 0)" ( (binary_expression "lVar21 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00181742;" goto statement_identifier ;)) (expression_statement "puVar18 = (undefined8 *)*puVar18;" (assignment_expression "puVar18 = (undefined8 *)*puVar18" identifier = (cast_expression "(undefined8 *)*puVar18" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar18" * identifier))) ;) (expression_statement "lVar29 = 0;" (assignment_expression "lVar29 = 0" identifier = number_literal) ;) }))) }) while (parenthesized_expression "((puVar18 != (undefined8 *)0x0) &&\n                  (uVar23 = (ulong)*(uint *)(puVar18 + 1), lVar29 = lVar21,\n                  uVar25 == uVar23 % uStack_70))" ( (binary_expression "(puVar18 != (undefined8 *)0x0) &&\n                  (uVar23 = (ulong)*(uint *)(puVar18 + 1), lVar29 = lVar21,\n                  uVar25 == uVar23 % uStack_70)" (parenthesized_expression "(puVar18 != (undefined8 *)0x0)" ( (binary_expression "puVar18 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(uVar23 = (ulong)*(uint *)(puVar18 + 1), lVar29 = lVar21,\n                  uVar25 == uVar23 % uStack_70)" ( (comma_expression "uVar23 = (ulong)*(uint *)(puVar18 + 1), lVar29 = lVar21,\n                  uVar25 == uVar23 % uStack_70" (assignment_expression "uVar23 = (ulong)*(uint *)(puVar18 + 1)" identifier = (binary_expression "(ulong)*(uint *)(puVar18 + 1)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(puVar18 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 1)" ( (binary_expression "puVar18 + 1" identifier + number_literal) ))))) , (comma_expression "lVar29 = lVar21,\n                  uVar25 == uVar23 % uStack_70" (assignment_expression "lVar29 = lVar21" identifier = identifier) , (binary_expression "uVar25 == uVar23 % uStack_70" identifier == (binary_expression "uVar23 % uStack_70" identifier % identifier)))) ))) )) ;) (if_statement "if (lVar29 == 0) goto LAB_00181638;" if (parenthesized_expression "(lVar29 == 0)" ( (binary_expression "lVar29 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00181638;" goto statement_identifier ;)) (labeled_statement "LAB_00181742:\n          auVar41 = FUN_00182170(&local_78,&local_18c);" statement_identifier : (expression_statement "auVar41 = FUN_00182170(&local_78,&local_18c);" (assignment_expression "auVar41 = FUN_00182170(&local_78,&local_18c)" identifier = (call_expression "FUN_00182170(&local_78,&local_18c)" identifier (argument_list "(&local_78,&local_18c)" ( (pointer_expression "&local_78" & identifier) , (pointer_expression "&local_18c" & identifier) )))) ;)) (expression_statement "uVar25 = local_100;" (assignment_expression "uVar25 = local_100" identifier = identifier) ;) (expression_statement "puVar19 = local_108;" (assignment_expression "puVar19 = local_108" identifier = identifier) ;) (expression_statement "plVar4 = local_128;" (assignment_expression "plVar4 = local_128" identifier = identifier) ;) (expression_statement "uVar12 = local_18c;" (assignment_expression "uVar12 = local_18c" identifier = identifier) ;) (for_statement "for (puVar18 = auVar41._0_8_; local_18c = uVar12, puVar18 != auVar41._8_8_;\n              puVar18 = (undefined8 *)*puVar18) {\n            uVar12 = *(uint *)((long)puVar18 + 0xc);\n            uVar23 = (ulong)uVar12;\n            plVar30 = plVar4 + uVar23 * 4;\n            if ((plVar30[1] == uVar25) &&\n               (iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0)) {\n              if (*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8)) {\n                *(uint *)(param_1[10] + uVar23 * 4) = uVar3;\n                *(uint *)((long)puVar18 + 0xc) = uVar3;\n                FUN_002e3180(plVar30,plVar4 + uVar28 * 4);\n                bVar36 = false;\n              }\n              else {\n                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;\n                bVar36 = false;\n              }\n              goto joined_r0x00181835;\n            }\n            uVar12 = local_18c;\n          }" for ( (assignment_expression "puVar18 = auVar41._0_8_" identifier = (field_expression "auVar41._0_8_" identifier . field_identifier)) ; (comma_expression "local_18c = uVar12, puVar18 != auVar41._8_8_" (assignment_expression "local_18c = uVar12" identifier = identifier) , (binary_expression "puVar18 != auVar41._8_8_" identifier != (field_expression "auVar41._8_8_" identifier . field_identifier))) ; (assignment_expression "puVar18 = (undefined8 *)*puVar18" identifier = (cast_expression "(undefined8 *)*puVar18" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar18" * identifier))) ) (compound_statement "{\n            uVar12 = *(uint *)((long)puVar18 + 0xc);\n            uVar23 = (ulong)uVar12;\n            plVar30 = plVar4 + uVar23 * 4;\n            if ((plVar30[1] == uVar25) &&\n               (iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0)) {\n              if (*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8)) {\n                *(uint *)(param_1[10] + uVar23 * 4) = uVar3;\n                *(uint *)((long)puVar18 + 0xc) = uVar3;\n                FUN_002e3180(plVar30,plVar4 + uVar28 * 4);\n                bVar36 = false;\n              }\n              else {\n                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;\n                bVar36 = false;\n              }\n              goto joined_r0x00181835;\n            }\n            uVar12 = local_18c;\n          }" { (expression_statement "uVar12 = *(uint *)((long)puVar18 + 0xc);" (assignment_expression "uVar12 = *(uint *)((long)puVar18 + 0xc)" identifier = (pointer_expression "*(uint *)((long)puVar18 + 0xc)" * (cast_expression "(uint *)((long)puVar18 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar18 + 0xc)" ( (binary_expression "(long)puVar18 + 0xc" (cast_expression "(long)puVar18" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "uVar23 = (ulong)uVar12;" (assignment_expression "uVar23 = (ulong)uVar12" identifier = (cast_expression "(ulong)uVar12" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "plVar30 = plVar4 + uVar23 * 4;" (assignment_expression "plVar30 = plVar4 + uVar23 * 4" identifier = (binary_expression "plVar4 + uVar23 * 4" identifier + (binary_expression "uVar23 * 4" identifier * number_literal))) ;) (if_statement "if ((plVar30[1] == uVar25) &&\n               (iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0)) {\n              if (*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8)) {\n                *(uint *)(param_1[10] + uVar23 * 4) = uVar3;\n                *(uint *)((long)puVar18 + 0xc) = uVar3;\n                FUN_002e3180(plVar30,plVar4 + uVar28 * 4);\n                bVar36 = false;\n              }\n              else {\n                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;\n                bVar36 = false;\n              }\n              goto joined_r0x00181835;\n            }" if (parenthesized_expression "((plVar30[1] == uVar25) &&\n               (iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0))" ( (binary_expression "(plVar30[1] == uVar25) &&\n               (iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0)" (parenthesized_expression "(plVar30[1] == uVar25)" ( (binary_expression "plVar30[1] == uVar25" (subscript_expression "plVar30[1]" identifier [ number_literal ]) == identifier) )) && (parenthesized_expression "(iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0)" ( (comma_expression "iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0" (assignment_expression "iVar13 = memcmp((void *)*plVar30,puVar19,uVar25)" identifier = (call_expression "memcmp((void *)*plVar30,puVar19,uVar25)" identifier (argument_list "((void *)*plVar30,puVar19,uVar25)" ( (cast_expression "(void *)*plVar30" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar30" * identifier)) , identifier , identifier )))) , (binary_expression "iVar13 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n              if (*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8)) {\n                *(uint *)(param_1[10] + uVar23 * 4) = uVar3;\n                *(uint *)((long)puVar18 + 0xc) = uVar3;\n                FUN_002e3180(plVar30,plVar4 + uVar28 * 4);\n                bVar36 = false;\n              }\n              else {\n                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;\n                bVar36 = false;\n              }\n              goto joined_r0x00181835;\n            }" { (if_statement "if (*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8)) {\n                *(uint *)(param_1[10] + uVar23 * 4) = uVar3;\n                *(uint *)((long)puVar18 + 0xc) = uVar3;\n                FUN_002e3180(plVar30,plVar4 + uVar28 * 4);\n                bVar36 = false;\n              }\n              else {\n                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;\n                bVar36 = false;\n              }" if (parenthesized_expression "(*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8))" ( (binary_expression "*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8)" (pointer_expression "*(ulong *)(local_168 + uVar23 * 8)" * (cast_expression "(ulong *)(local_168 + uVar23 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_168 + uVar23 * 8)" ( (binary_expression "local_168 + uVar23 * 8" identifier + (binary_expression "uVar23 * 8" identifier * number_literal)) )))) < (pointer_expression "*(ulong *)(local_168 + uVar28 * 8)" * (cast_expression "(ulong *)(local_168 + uVar28 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_168 + uVar28 * 8)" ( (binary_expression "local_168 + uVar28 * 8" identifier + (binary_expression "uVar28 * 8" identifier * number_literal)) ))))) )) (compound_statement "{\n                *(uint *)(param_1[10] + uVar23 * 4) = uVar3;\n                *(uint *)((long)puVar18 + 0xc) = uVar3;\n                FUN_002e3180(plVar30,plVar4 + uVar28 * 4);\n                bVar36 = false;\n              }" { (expression_statement "*(uint *)(param_1[10] + uVar23 * 4) = uVar3;" (assignment_expression "*(uint *)(param_1[10] + uVar23 * 4) = uVar3" (pointer_expression "*(uint *)(param_1[10] + uVar23 * 4)" * (cast_expression "(uint *)(param_1[10] + uVar23 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[10] + uVar23 * 4)" ( (binary_expression "param_1[10] + uVar23 * 4" (subscript_expression "param_1[10]" identifier [ number_literal ]) + (binary_expression "uVar23 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "*(uint *)((long)puVar18 + 0xc) = uVar3;" (assignment_expression "*(uint *)((long)puVar18 + 0xc) = uVar3" (pointer_expression "*(uint *)((long)puVar18 + 0xc)" * (cast_expression "(uint *)((long)puVar18 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar18 + 0xc)" ( (binary_expression "(long)puVar18 + 0xc" (cast_expression "(long)puVar18" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "FUN_002e3180(plVar30,plVar4 + uVar28 * 4);" (call_expression "FUN_002e3180(plVar30,plVar4 + uVar28 * 4)" identifier (argument_list "(plVar30,plVar4 + uVar28 * 4)" ( identifier , (binary_expression "plVar4 + uVar28 * 4" identifier + (binary_expression "uVar28 * 4" identifier * number_literal)) ))) ;) (expression_statement "bVar36 = false;" (assignment_expression "bVar36 = false" identifier = false) ;) }) (else_clause "else {\n                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;\n                bVar36 = false;\n              }" else (compound_statement "{\n                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;\n                bVar36 = false;\n              }" { (expression_statement "*(uint *)(param_1[10] + uVar28 * 4) = uVar12;" (assignment_expression "*(uint *)(param_1[10] + uVar28 * 4) = uVar12" (pointer_expression "*(uint *)(param_1[10] + uVar28 * 4)" * (cast_expression "(uint *)(param_1[10] + uVar28 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[10] + uVar28 * 4)" ( (binary_expression "param_1[10] + uVar28 * 4" (subscript_expression "param_1[10]" identifier [ number_literal ]) + (binary_expression "uVar28 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "bVar36 = false;" (assignment_expression "bVar36 = false" identifier = false) ;) }))) (goto_statement "goto joined_r0x00181835;" goto statement_identifier ;) })) (expression_statement "uVar12 = local_18c;" (assignment_expression "uVar12 = local_18c" identifier = identifier) ;) })) (expression_statement "puVar18 = (undefined8 *)FUN_002d94a0(0x10);" (assignment_expression "puVar18 = (undefined8 *)FUN_002d94a0(0x10)" identifier = (cast_expression "(undefined8 *)FUN_002d94a0(0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002d94a0(0x10)" identifier (argument_list "(0x10)" ( number_literal ))))) ;) (expression_statement "*(uint *)(puVar18 + 1) = uVar12;" (assignment_expression "*(uint *)(puVar18 + 1) = uVar12" (pointer_expression "*(uint *)(puVar18 + 1)" * (cast_expression "(uint *)(puVar18 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 1)" ( (binary_expression "puVar18 + 1" identifier + number_literal) )))) = identifier) ;) (expression_statement "*puVar18 = 0;" (assignment_expression "*puVar18 = 0" (pointer_expression "*puVar18" * identifier) = number_literal) ;) (expression_statement "*(uint *)((long)puVar18 + 0xc) = uVar3;" (assignment_expression "*(uint *)((long)puVar18 + 0xc) = uVar3" (pointer_expression "*(uint *)((long)puVar18 + 0xc)" * (cast_expression "(uint *)((long)puVar18 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar18 + 0xc)" ( (binary_expression "(long)puVar18 + 0xc" (cast_expression "(long)puVar18" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "FUN_00182c70(&local_78,0,uVar12,puVar18);" (call_expression "FUN_00182c70(&local_78,0,uVar12,puVar18)" identifier (argument_list "(&local_78,0,uVar12,puVar18)" ( (pointer_expression "&local_78" & identifier) , number_literal , identifier , identifier ))) ;) }))) (expression_statement "FUN_002e1890(local_128 + uVar28 * 4,&local_108);" (call_expression "FUN_002e1890(local_128 + uVar28 * 4,&local_108)" identifier (argument_list "(local_128 + uVar28 * 4,&local_108)" ( (binary_expression "local_128 + uVar28 * 4" identifier + (binary_expression "uVar28 * 4" identifier * number_literal)) , (pointer_expression "&local_108" & identifier) ))) ;) (labeled_statement "joined_r0x00181835:\n        if ((uVar26 == 1) && (local_1d8[uVar28] == 0)) {\n          puVar19 = (ulong *)((uVar28 >> 6) * 8 + local_a8);\n          *puVar19 = *puVar19 | uVar24;\n        }" statement_identifier : (if_statement "if ((uVar26 == 1) && (local_1d8[uVar28] == 0)) {\n          puVar19 = (ulong *)((uVar28 >> 6) * 8 + local_a8);\n          *puVar19 = *puVar19 | uVar24;\n        }" if (parenthesized_expression "((uVar26 == 1) && (local_1d8[uVar28] == 0))" ( (binary_expression "(uVar26 == 1) && (local_1d8[uVar28] == 0)" (parenthesized_expression "(uVar26 == 1)" ( (binary_expression "uVar26 == 1" identifier == number_literal) )) && (parenthesized_expression "(local_1d8[uVar28] == 0)" ( (binary_expression "local_1d8[uVar28] == 0" (subscript_expression "local_1d8[uVar28]" identifier [ identifier ]) == number_literal) ))) )) (compound_statement "{\n          puVar19 = (ulong *)((uVar28 >> 6) * 8 + local_a8);\n          *puVar19 = *puVar19 | uVar24;\n        }" { (expression_statement "puVar19 = (ulong *)((uVar28 >> 6) * 8 + local_a8);" (assignment_expression "puVar19 = (ulong *)((uVar28 >> 6) * 8 + local_a8)" identifier = (cast_expression "(ulong *)((uVar28 >> 6) * 8 + local_a8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uVar28 >> 6) * 8 + local_a8)" ( (binary_expression "(uVar28 >> 6) * 8 + local_a8" (binary_expression "(uVar28 >> 6) * 8" (parenthesized_expression "(uVar28 >> 6)" ( (binary_expression "uVar28 >> 6" identifier >> number_literal) )) * number_literal) + identifier) )))) ;) (expression_statement "*puVar19 = *puVar19 | uVar24;" (assignment_expression "*puVar19 = *puVar19 | uVar24" (pointer_expression "*puVar19" * identifier) = (binary_expression "*puVar19 | uVar24" (pointer_expression "*puVar19" * identifier) | identifier)) ;) }))) (if_statement "if (local_108 != local_f8) {\n          FUN_002dac70();\n        }" if (parenthesized_expression "(local_108 != local_f8)" ( (binary_expression "local_108 != local_f8" identifier != identifier) )) (compound_statement "{\n          FUN_002dac70();\n        }" { (expression_statement "FUN_002dac70();" (call_expression "FUN_002dac70()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "lVar21 = *param_1;" (assignment_expression "lVar21 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) })) (labeled_statement "LAB_001813c8:\n      plVar4 = local_120;" statement_identifier : (expression_statement "plVar4 = local_120;" (assignment_expression "plVar4 = local_120" identifier = identifier) ;)) (expression_statement "uVar3 = uVar3 + 1;" (assignment_expression "uVar3 = uVar3 + 1" identifier = (binary_expression "uVar3 + 1" identifier + number_literal)) ;) (expression_statement "uVar28 = (ulong)uVar3;" (assignment_expression "uVar28 = (ulong)uVar3" identifier = (cast_expression "(ulong)uVar3" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "uVar24 = param_1[1] - lVar21 >> 4;" (assignment_expression "uVar24 = param_1[1] - lVar21 >> 4" identifier = (binary_expression "param_1[1] - lVar21 >> 4" (binary_expression "param_1[1] - lVar21" (subscript_expression "param_1[1]" identifier [ number_literal ]) - identifier) >> number_literal)) ;) }) while (parenthesized_expression "(uVar28 < uVar24)" ( (binary_expression "uVar28 < uVar24" identifier < identifier) )) ;) (expression_statement "plVar30 = local_128;" (assignment_expression "plVar30 = local_128" identifier = identifier) ;) (if_statement "if (uVar24 != 0) {\n      lVar21 = param_1[10];\n      uVar25 = 0;\n      uVar28 = uVar25;\n      do {\n        do {\n          uVar12 = (uint)uVar25;\n          uVar3 = *(uint *)(lVar21 + uVar25 * 4);\n          uVar25 = (ulong)uVar3;\n        } while (uVar12 != uVar3);\n        puVar2 = (uint *)(lVar21 + uVar28 * 4);\n        uVar12 = *puVar2;\n        while (uVar12 != uVar3) {\n          *puVar2 = uVar3;\n          puVar2 = (uint *)(lVar21 + (ulong)uVar12 * 4);\n          uVar12 = *puVar2;\n        }\n        uVar25 = (ulong)((int)uVar28 + 1);\n        uVar28 = uVar25;\n      } while (uVar25 < uVar24);\n    }" if (parenthesized_expression "(uVar24 != 0)" ( (binary_expression "uVar24 != 0" identifier != number_literal) )) (compound_statement "{\n      lVar21 = param_1[10];\n      uVar25 = 0;\n      uVar28 = uVar25;\n      do {\n        do {\n          uVar12 = (uint)uVar25;\n          uVar3 = *(uint *)(lVar21 + uVar25 * 4);\n          uVar25 = (ulong)uVar3;\n        } while (uVar12 != uVar3);\n        puVar2 = (uint *)(lVar21 + uVar28 * 4);\n        uVar12 = *puVar2;\n        while (uVar12 != uVar3) {\n          *puVar2 = uVar3;\n          puVar2 = (uint *)(lVar21 + (ulong)uVar12 * 4);\n          uVar12 = *puVar2;\n        }\n        uVar25 = (ulong)((int)uVar28 + 1);\n        uVar28 = uVar25;\n      } while (uVar25 < uVar24);\n    }" { (expression_statement "lVar21 = param_1[10];" (assignment_expression "lVar21 = param_1[10]" identifier = (subscript_expression "param_1[10]" identifier [ number_literal ])) ;) (expression_statement "uVar25 = 0;" (assignment_expression "uVar25 = 0" identifier = number_literal) ;) (expression_statement "uVar28 = uVar25;" (assignment_expression "uVar28 = uVar25" identifier = identifier) ;) (do_statement "do {\n        do {\n          uVar12 = (uint)uVar25;\n          uVar3 = *(uint *)(lVar21 + uVar25 * 4);\n          uVar25 = (ulong)uVar3;\n        } while (uVar12 != uVar3);\n        puVar2 = (uint *)(lVar21 + uVar28 * 4);\n        uVar12 = *puVar2;\n        while (uVar12 != uVar3) {\n          *puVar2 = uVar3;\n          puVar2 = (uint *)(lVar21 + (ulong)uVar12 * 4);\n          uVar12 = *puVar2;\n        }\n        uVar25 = (ulong)((int)uVar28 + 1);\n        uVar28 = uVar25;\n      } while (uVar25 < uVar24);" do (compound_statement "{\n        do {\n          uVar12 = (uint)uVar25;\n          uVar3 = *(uint *)(lVar21 + uVar25 * 4);\n          uVar25 = (ulong)uVar3;\n        } while (uVar12 != uVar3);\n        puVar2 = (uint *)(lVar21 + uVar28 * 4);\n        uVar12 = *puVar2;\n        while (uVar12 != uVar3) {\n          *puVar2 = uVar3;\n          puVar2 = (uint *)(lVar21 + (ulong)uVar12 * 4);\n          uVar12 = *puVar2;\n        }\n        uVar25 = (ulong)((int)uVar28 + 1);\n        uVar28 = uVar25;\n      }" { (do_statement "do {\n          uVar12 = (uint)uVar25;\n          uVar3 = *(uint *)(lVar21 + uVar25 * 4);\n          uVar25 = (ulong)uVar3;\n        } while (uVar12 != uVar3);" do (compound_statement "{\n          uVar12 = (uint)uVar25;\n          uVar3 = *(uint *)(lVar21 + uVar25 * 4);\n          uVar25 = (ulong)uVar3;\n        }" { (expression_statement "uVar12 = (uint)uVar25;" (assignment_expression "uVar12 = (uint)uVar25" identifier = (cast_expression "(uint)uVar25" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar3 = *(uint *)(lVar21 + uVar25 * 4);" (assignment_expression "uVar3 = *(uint *)(lVar21 + uVar25 * 4)" identifier = (pointer_expression "*(uint *)(lVar21 + uVar25 * 4)" * (cast_expression "(uint *)(lVar21 + uVar25 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar21 + uVar25 * 4)" ( (binary_expression "lVar21 + uVar25 * 4" identifier + (binary_expression "uVar25 * 4" identifier * number_literal)) ))))) ;) (expression_statement "uVar25 = (ulong)uVar3;" (assignment_expression "uVar25 = (ulong)uVar3" identifier = (cast_expression "(ulong)uVar3" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) }) while (parenthesized_expression "(uVar12 != uVar3)" ( (binary_expression "uVar12 != uVar3" identifier != identifier) )) ;) (expression_statement "puVar2 = (uint *)(lVar21 + uVar28 * 4);" (assignment_expression "puVar2 = (uint *)(lVar21 + uVar28 * 4)" identifier = (cast_expression "(uint *)(lVar21 + uVar28 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar21 + uVar28 * 4)" ( (binary_expression "lVar21 + uVar28 * 4" identifier + (binary_expression "uVar28 * 4" identifier * number_literal)) )))) ;) (expression_statement "uVar12 = *puVar2;" (assignment_expression "uVar12 = *puVar2" identifier = (pointer_expression "*puVar2" * identifier)) ;) (while_statement "while (uVar12 != uVar3) {\n          *puVar2 = uVar3;\n          puVar2 = (uint *)(lVar21 + (ulong)uVar12 * 4);\n          uVar12 = *puVar2;\n        }" while (parenthesized_expression "(uVar12 != uVar3)" ( (binary_expression "uVar12 != uVar3" identifier != identifier) )) (compound_statement "{\n          *puVar2 = uVar3;\n          puVar2 = (uint *)(lVar21 + (ulong)uVar12 * 4);\n          uVar12 = *puVar2;\n        }" { (expression_statement "*puVar2 = uVar3;" (assignment_expression "*puVar2 = uVar3" (pointer_expression "*puVar2" * identifier) = identifier) ;) (expression_statement "puVar2 = (uint *)(lVar21 + (ulong)uVar12 * 4);" (assignment_expression "puVar2 = (uint *)(lVar21 + (ulong)uVar12 * 4)" identifier = (cast_expression "(uint *)(lVar21 + (ulong)uVar12 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar21 + (ulong)uVar12 * 4)" ( (binary_expression "lVar21 + (ulong)uVar12 * 4" identifier + (binary_expression "(ulong)uVar12 * 4" (cast_expression "(ulong)uVar12" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) )))) ;) (expression_statement "uVar12 = *puVar2;" (assignment_expression "uVar12 = *puVar2" identifier = (pointer_expression "*puVar2" * identifier)) ;) })) (expression_statement "uVar25 = (ulong)((int)uVar28 + 1);" (assignment_expression "uVar25 = (ulong)((int)uVar28 + 1)" identifier = (call_expression "(ulong)((int)uVar28 + 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((int)uVar28 + 1)" ( (binary_expression "(int)uVar28 + 1" (cast_expression "(int)uVar28" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "uVar28 = uVar25;" (assignment_expression "uVar28 = uVar25" identifier = identifier) ;) }) while (parenthesized_expression "(uVar25 < uVar24)" ( (binary_expression "uVar25 < uVar24" identifier < identifier) )) ;) })) (for_statement "for (; plVar30 != plVar4; plVar30 = plVar30 + 4) {\n      if ((long *)*plVar30 != plVar30 + 2) {\n        FUN_002dac70();\n      }\n    }" for ( ; (binary_expression "plVar30 != plVar4" identifier != identifier) ; (assignment_expression "plVar30 = plVar30 + 4" identifier = (binary_expression "plVar30 + 4" identifier + number_literal)) ) (compound_statement "{\n      if ((long *)*plVar30 != plVar30 + 2) {\n        FUN_002dac70();\n      }\n    }" { (if_statement "if ((long *)*plVar30 != plVar30 + 2) {\n        FUN_002dac70();\n      }" if (parenthesized_expression "((long *)*plVar30 != plVar30 + 2)" ( (binary_expression "(long *)*plVar30 != plVar30 + 2" (cast_expression "(long *)*plVar30" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar30" * identifier)) != (binary_expression "plVar30 + 2" identifier + number_literal)) )) (compound_statement "{\n        FUN_002dac70();\n      }" { (expression_statement "FUN_002dac70();" (call_expression "FUN_002dac70()" identifier (argument_list "()" ( ))) ;) })) })) (if_statement "if (local_128 != (long *)0x0) {\n      FUN_002dac70(local_128);\n    }" if (parenthesized_expression "(local_128 != (long *)0x0)" ( (binary_expression "local_128 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      FUN_002dac70(local_128);\n    }" { (expression_statement "FUN_002dac70(local_128);" (call_expression "FUN_002dac70(local_128)" identifier (argument_list "(local_128)" ( identifier ))) ;) })) (expression_statement "FUN_00182070(&local_78);" (call_expression "FUN_00182070(&local_78)" identifier (argument_list "(&local_78)" ( (pointer_expression "&local_78" & identifier) ))) ;) }) while (parenthesized_expression "(uVar26 < uVar11 && !bVar36)" ( (binary_expression "uVar26 < uVar11 && !bVar36" (binary_expression "uVar26 < uVar11" identifier < identifier) && (unary_expression "!bVar36" ! identifier)) )) ;) (expression_statement "uVar7 = DAT_0043e8e8;" (assignment_expression "uVar7 = DAT_0043e8e8" identifier = identifier) ;) (expression_statement "lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);" (assignment_expression "lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }" if (parenthesized_expression "(lVar21 == 0)" ( (binary_expression "lVar21 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }" { comment (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (if_statement "if (*(char *)(lVar21 + 0x4be1) != '\0') {\n    pcVar34 = "%s: ICF Converged after %u iteration(s)";\n    if (!bVar36) {\n      pcVar34 = "%s: ICF stopped after %u iteration(s)";\n    }\n    uVar20 = gettext(pcVar34);\n                    /* try { // try from 00181db6 to 00181de6 has its CatchHandler @ 00181f33 */\n    FUN_00178480(uVar20,uVar7,uVar26);\n    lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    if (lVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }\n  }" if (parenthesized_expression "(*(char *)(lVar21 + 0x4be1) != '\0')" ( (binary_expression "*(char *)(lVar21 + 0x4be1) != '\0'" (pointer_expression "*(char *)(lVar21 + 0x4be1)" * (cast_expression "(char *)(lVar21 + 0x4be1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar21 + 0x4be1)" ( (binary_expression "lVar21 + 0x4be1" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    pcVar34 = "%s: ICF Converged after %u iteration(s)";\n    if (!bVar36) {\n      pcVar34 = "%s: ICF stopped after %u iteration(s)";\n    }\n    uVar20 = gettext(pcVar34);\n                    /* try { // try from 00181db6 to 00181de6 has its CatchHandler @ 00181f33 */\n    FUN_00178480(uVar20,uVar7,uVar26);\n    lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    if (lVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }\n  }" { (expression_statement "pcVar34 = "%s: ICF Converged after %u iteration(s)";" (assignment_expression "pcVar34 = "%s: ICF Converged after %u iteration(s)"" identifier = (string_literal ""%s: ICF Converged after %u iteration(s)"" " string_content ")) ;) (if_statement "if (!bVar36) {\n      pcVar34 = "%s: ICF stopped after %u iteration(s)";\n    }" if (parenthesized_expression "(!bVar36)" ( (unary_expression "!bVar36" ! identifier) )) (compound_statement "{\n      pcVar34 = "%s: ICF stopped after %u iteration(s)";\n    }" { (expression_statement "pcVar34 = "%s: ICF stopped after %u iteration(s)";" (assignment_expression "pcVar34 = "%s: ICF stopped after %u iteration(s)"" identifier = (string_literal ""%s: ICF stopped after %u iteration(s)"" " string_content ")) ;) })) (expression_statement "uVar20 = gettext(pcVar34);" (assignment_expression "uVar20 = gettext(pcVar34)" identifier = (call_expression "gettext(pcVar34)" identifier (argument_list "(pcVar34)" ( identifier )))) ;) comment (expression_statement "FUN_00178480(uVar20,uVar7,uVar26);" (call_expression "FUN_00178480(uVar20,uVar7,uVar26)" identifier (argument_list "(uVar20,uVar7,uVar26)" ( identifier , identifier , identifier ))) ;) (expression_statement "lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);" (assignment_expression "lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }" if (parenthesized_expression "(lVar21 == 0)" ( (binary_expression "lVar21 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }" { comment (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) })) (expression_statement "puVar18 = *(undefined8 **)(lVar21 + 0x34a0);" (assignment_expression "puVar18 = *(undefined8 **)(lVar21 + 0x34a0)" identifier = (pointer_expression "*(undefined8 **)(lVar21 + 0x34a0)" * (cast_expression "(undefined8 **)(lVar21 + 0x34a0)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar21 + 0x34a0)" ( (binary_expression "lVar21 + 0x34a0" identifier + number_literal) ))))) ;) (expression_statement "plVar4 = local_140;" (assignment_expression "plVar4 = local_140" identifier = identifier) ;) (do_statement "do {\n    local_140 = plVar4;\n    if (puVar18 == (undefined8 *)0x0) {\n      *(undefined1 *)(param_1 + 0x14) = 1;\n      for (plVar30 = local_148; plVar4 != plVar30; plVar30 = plVar30 + 4) {\n        if ((long *)*plVar30 != plVar30 + 2) {\n          FUN_002dac70();\n        }\n      }\n      if (local_148 != (long *)0x0) {\n        FUN_002dac70(local_148);\n      }\n      if (local_a8 != 0) {\n        FUN_002dac70(local_a8);\n      }\n      if (local_168 != 0) {\n        FUN_002dac70();\n      }\n      if (local_1d8 != (undefined4 *)0x0) {\n        FUN_002dac70(local_1d8);\n      }\n      return;\n    }\n    uVar7 = puVar18[1];\n                    /* try { // try from 00181b61 to 00181b7f has its CatchHandler @ 00181f33 */\n    lVar21 = FUN_002732b0(param_3,uVar7,0);\n    if (lVar21 == 0) {\n      uVar20 = gettext("Could not find symbol %s to unfold\n");\n      FUN_001783d0(uVar20,uVar7);\n    }\n    else if ((((*(byte *)(lVar21 + 0x3a) & 7) == 0) &&\n             ((*(byte *)(*(long *)(lVar21 + 0x10) + 0x3c) & 1) == 0)) &&\n            ((*(byte *)(lVar21 + 0x3b) & 0x20) != 0)) {\n      FUN_0017f5f0(param_1,*(long *)(lVar21 + 0x10),*(undefined4 *)(lVar21 + 0x18));\n    }\n    puVar18 = (undefined8 *)*puVar18;\n    plVar4 = local_140;\n  } while (*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0);" do (compound_statement "{\n    local_140 = plVar4;\n    if (puVar18 == (undefined8 *)0x0) {\n      *(undefined1 *)(param_1 + 0x14) = 1;\n      for (plVar30 = local_148; plVar4 != plVar30; plVar30 = plVar30 + 4) {\n        if ((long *)*plVar30 != plVar30 + 2) {\n          FUN_002dac70();\n        }\n      }\n      if (local_148 != (long *)0x0) {\n        FUN_002dac70(local_148);\n      }\n      if (local_a8 != 0) {\n        FUN_002dac70(local_a8);\n      }\n      if (local_168 != 0) {\n        FUN_002dac70();\n      }\n      if (local_1d8 != (undefined4 *)0x0) {\n        FUN_002dac70(local_1d8);\n      }\n      return;\n    }\n    uVar7 = puVar18[1];\n                    /* try { // try from 00181b61 to 00181b7f has its CatchHandler @ 00181f33 */\n    lVar21 = FUN_002732b0(param_3,uVar7,0);\n    if (lVar21 == 0) {\n      uVar20 = gettext("Could not find symbol %s to unfold\n");\n      FUN_001783d0(uVar20,uVar7);\n    }\n    else if ((((*(byte *)(lVar21 + 0x3a) & 7) == 0) &&\n             ((*(byte *)(*(long *)(lVar21 + 0x10) + 0x3c) & 1) == 0)) &&\n            ((*(byte *)(lVar21 + 0x3b) & 0x20) != 0)) {\n      FUN_0017f5f0(param_1,*(long *)(lVar21 + 0x10),*(undefined4 *)(lVar21 + 0x18));\n    }\n    puVar18 = (undefined8 *)*puVar18;\n    plVar4 = local_140;\n  }" { (expression_statement "local_140 = plVar4;" (assignment_expression "local_140 = plVar4" identifier = identifier) ;) (if_statement "if (puVar18 == (undefined8 *)0x0) {\n      *(undefined1 *)(param_1 + 0x14) = 1;\n      for (plVar30 = local_148; plVar4 != plVar30; plVar30 = plVar30 + 4) {\n        if ((long *)*plVar30 != plVar30 + 2) {\n          FUN_002dac70();\n        }\n      }\n      if (local_148 != (long *)0x0) {\n        FUN_002dac70(local_148);\n      }\n      if (local_a8 != 0) {\n        FUN_002dac70(local_a8);\n      }\n      if (local_168 != 0) {\n        FUN_002dac70();\n      }\n      if (local_1d8 != (undefined4 *)0x0) {\n        FUN_002dac70(local_1d8);\n      }\n      return;\n    }" if (parenthesized_expression "(puVar18 == (undefined8 *)0x0)" ( (binary_expression "puVar18 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      *(undefined1 *)(param_1 + 0x14) = 1;\n      for (plVar30 = local_148; plVar4 != plVar30; plVar30 = plVar30 + 4) {\n        if ((long *)*plVar30 != plVar30 + 2) {\n          FUN_002dac70();\n        }\n      }\n      if (local_148 != (long *)0x0) {\n        FUN_002dac70(local_148);\n      }\n      if (local_a8 != 0) {\n        FUN_002dac70(local_a8);\n      }\n      if (local_168 != 0) {\n        FUN_002dac70();\n      }\n      if (local_1d8 != (undefined4 *)0x0) {\n        FUN_002dac70(local_1d8);\n      }\n      return;\n    }" { (expression_statement "*(undefined1 *)(param_1 + 0x14) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x14) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x14)" * (cast_expression "(undefined1 *)(param_1 + 0x14)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) = number_literal) ;) (for_statement "for (plVar30 = local_148; plVar4 != plVar30; plVar30 = plVar30 + 4) {\n        if ((long *)*plVar30 != plVar30 + 2) {\n          FUN_002dac70();\n        }\n      }" for ( (assignment_expression "plVar30 = local_148" identifier = identifier) ; (binary_expression "plVar4 != plVar30" identifier != identifier) ; (assignment_expression "plVar30 = plVar30 + 4" identifier = (binary_expression "plVar30 + 4" identifier + number_literal)) ) (compound_statement "{\n        if ((long *)*plVar30 != plVar30 + 2) {\n          FUN_002dac70();\n        }\n      }" { (if_statement "if ((long *)*plVar30 != plVar30 + 2) {\n          FUN_002dac70();\n        }" if (parenthesized_expression "((long *)*plVar30 != plVar30 + 2)" ( (binary_expression "(long *)*plVar30 != plVar30 + 2" (cast_expression "(long *)*plVar30" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar30" * identifier)) != (binary_expression "plVar30 + 2" identifier + number_literal)) )) (compound_statement "{\n          FUN_002dac70();\n        }" { (expression_statement "FUN_002dac70();" (call_expression "FUN_002dac70()" identifier (argument_list "()" ( ))) ;) })) })) (if_statement "if (local_148 != (long *)0x0) {\n        FUN_002dac70(local_148);\n      }" if (parenthesized_expression "(local_148 != (long *)0x0)" ( (binary_expression "local_148 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        FUN_002dac70(local_148);\n      }" { (expression_statement "FUN_002dac70(local_148);" (call_expression "FUN_002dac70(local_148)" identifier (argument_list "(local_148)" ( identifier ))) ;) })) (if_statement "if (local_a8 != 0) {\n        FUN_002dac70(local_a8);\n      }" if (parenthesized_expression "(local_a8 != 0)" ( (binary_expression "local_a8 != 0" identifier != number_literal) )) (compound_statement "{\n        FUN_002dac70(local_a8);\n      }" { (expression_statement "FUN_002dac70(local_a8);" (call_expression "FUN_002dac70(local_a8)" identifier (argument_list "(local_a8)" ( identifier ))) ;) })) (if_statement "if (local_168 != 0) {\n        FUN_002dac70();\n      }" if (parenthesized_expression "(local_168 != 0)" ( (binary_expression "local_168 != 0" identifier != number_literal) )) (compound_statement "{\n        FUN_002dac70();\n      }" { (expression_statement "FUN_002dac70();" (call_expression "FUN_002dac70()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_1d8 != (undefined4 *)0x0) {\n        FUN_002dac70(local_1d8);\n      }" if (parenthesized_expression "(local_1d8 != (undefined4 *)0x0)" ( (binary_expression "local_1d8 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        FUN_002dac70(local_1d8);\n      }" { (expression_statement "FUN_002dac70(local_1d8);" (call_expression "FUN_002dac70(local_1d8)" identifier (argument_list "(local_1d8)" ( identifier ))) ;) })) (return_statement "return;" return ;) })) (expression_statement "uVar7 = puVar18[1];" (assignment_expression "uVar7 = puVar18[1]" identifier = (subscript_expression "puVar18[1]" identifier [ number_literal ])) ;) comment (expression_statement "lVar21 = FUN_002732b0(param_3,uVar7,0);" (assignment_expression "lVar21 = FUN_002732b0(param_3,uVar7,0)" identifier = (call_expression "FUN_002732b0(param_3,uVar7,0)" identifier (argument_list "(param_3,uVar7,0)" ( identifier , identifier , number_literal )))) ;) (if_statement "if (lVar21 == 0) {\n      uVar20 = gettext("Could not find symbol %s to unfold\n");\n      FUN_001783d0(uVar20,uVar7);\n    }\n    else if ((((*(byte *)(lVar21 + 0x3a) & 7) == 0) &&\n             ((*(byte *)(*(long *)(lVar21 + 0x10) + 0x3c) & 1) == 0)) &&\n            ((*(byte *)(lVar21 + 0x3b) & 0x20) != 0)) {\n      FUN_0017f5f0(param_1,*(long *)(lVar21 + 0x10),*(undefined4 *)(lVar21 + 0x18));\n    }" if (parenthesized_expression "(lVar21 == 0)" ( (binary_expression "lVar21 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar20 = gettext("Could not find symbol %s to unfold\n");\n      FUN_001783d0(uVar20,uVar7);\n    }" { (expression_statement "uVar20 = gettext("Could not find symbol %s to unfold\n");" (assignment_expression "uVar20 = gettext("Could not find symbol %s to unfold\n")" identifier = (call_expression "gettext("Could not find symbol %s to unfold\n")" identifier (argument_list "("Could not find symbol %s to unfold\n")" ( (string_literal ""Could not find symbol %s to unfold\n"" " string_content escape_sequence ") )))) ;) (expression_statement "FUN_001783d0(uVar20,uVar7);" (call_expression "FUN_001783d0(uVar20,uVar7)" identifier (argument_list "(uVar20,uVar7)" ( identifier , identifier ))) ;) }) (else_clause "else if ((((*(byte *)(lVar21 + 0x3a) & 7) == 0) &&\n             ((*(byte *)(*(long *)(lVar21 + 0x10) + 0x3c) & 1) == 0)) &&\n            ((*(byte *)(lVar21 + 0x3b) & 0x20) != 0)) {\n      FUN_0017f5f0(param_1,*(long *)(lVar21 + 0x10),*(undefined4 *)(lVar21 + 0x18));\n    }" else (if_statement "if ((((*(byte *)(lVar21 + 0x3a) & 7) == 0) &&\n             ((*(byte *)(*(long *)(lVar21 + 0x10) + 0x3c) & 1) == 0)) &&\n            ((*(byte *)(lVar21 + 0x3b) & 0x20) != 0)) {\n      FUN_0017f5f0(param_1,*(long *)(lVar21 + 0x10),*(undefined4 *)(lVar21 + 0x18));\n    }" if (parenthesized_expression "((((*(byte *)(lVar21 + 0x3a) & 7) == 0) &&\n             ((*(byte *)(*(long *)(lVar21 + 0x10) + 0x3c) & 1) == 0)) &&\n            ((*(byte *)(lVar21 + 0x3b) & 0x20) != 0))" ( (binary_expression "(((*(byte *)(lVar21 + 0x3a) & 7) == 0) &&\n             ((*(byte *)(*(long *)(lVar21 + 0x10) + 0x3c) & 1) == 0)) &&\n            ((*(byte *)(lVar21 + 0x3b) & 0x20) != 0)" (parenthesized_expression "(((*(byte *)(lVar21 + 0x3a) & 7) == 0) &&\n             ((*(byte *)(*(long *)(lVar21 + 0x10) + 0x3c) & 1) == 0))" ( (binary_expression "((*(byte *)(lVar21 + 0x3a) & 7) == 0) &&\n             ((*(byte *)(*(long *)(lVar21 + 0x10) + 0x3c) & 1) == 0)" (parenthesized_expression "((*(byte *)(lVar21 + 0x3a) & 7) == 0)" ( (binary_expression "(*(byte *)(lVar21 + 0x3a) & 7) == 0" (parenthesized_expression "(*(byte *)(lVar21 + 0x3a) & 7)" ( (binary_expression "*(byte *)(lVar21 + 0x3a) & 7" (pointer_expression "*(byte *)(lVar21 + 0x3a)" * (cast_expression "(byte *)(lVar21 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar21 + 0x3a)" ( (binary_expression "lVar21 + 0x3a" identifier + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "((*(byte *)(*(long *)(lVar21 + 0x10) + 0x3c) & 1) == 0)" ( (binary_expression "(*(byte *)(*(long *)(lVar21 + 0x10) + 0x3c) & 1) == 0" (parenthesized_expression "(*(byte *)(*(long *)(lVar21 + 0x10) + 0x3c) & 1)" ( (binary_expression "*(byte *)(*(long *)(lVar21 + 0x10) + 0x3c) & 1" (pointer_expression "*(byte *)(*(long *)(lVar21 + 0x10) + 0x3c)" * (cast_expression "(byte *)(*(long *)(lVar21 + 0x10) + 0x3c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(lVar21 + 0x10) + 0x3c)" ( (binary_expression "*(long *)(lVar21 + 0x10) + 0x3c" (pointer_expression "*(long *)(lVar21 + 0x10)" * (cast_expression "(long *)(lVar21 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar21 + 0x10)" ( (binary_expression "lVar21 + 0x10" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "((*(byte *)(lVar21 + 0x3b) & 0x20) != 0)" ( (binary_expression "(*(byte *)(lVar21 + 0x3b) & 0x20) != 0" (parenthesized_expression "(*(byte *)(lVar21 + 0x3b) & 0x20)" ( (binary_expression "*(byte *)(lVar21 + 0x3b) & 0x20" (pointer_expression "*(byte *)(lVar21 + 0x3b)" * (cast_expression "(byte *)(lVar21 + 0x3b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar21 + 0x3b)" ( (binary_expression "lVar21 + 0x3b" identifier + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n      FUN_0017f5f0(param_1,*(long *)(lVar21 + 0x10),*(undefined4 *)(lVar21 + 0x18));\n    }" { (expression_statement "FUN_0017f5f0(param_1,*(long *)(lVar21 + 0x10),*(undefined4 *)(lVar21 + 0x18));" (call_expression "FUN_0017f5f0(param_1,*(long *)(lVar21 + 0x10),*(undefined4 *)(lVar21 + 0x18))" identifier (argument_list "(param_1,*(long *)(lVar21 + 0x10),*(undefined4 *)(lVar21 + 0x18))" ( identifier , (pointer_expression "*(long *)(lVar21 + 0x10)" * (cast_expression "(long *)(lVar21 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar21 + 0x10)" ( (binary_expression "lVar21 + 0x10" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(lVar21 + 0x18)" * (cast_expression "(undefined4 *)(lVar21 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar21 + 0x18)" ( (binary_expression "lVar21 + 0x18" identifier + number_literal) )))) ))) ;) })))) (expression_statement "puVar18 = (undefined8 *)*puVar18;" (assignment_expression "puVar18 = (undefined8 *)*puVar18" identifier = (cast_expression "(undefined8 *)*puVar18" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar18" * identifier))) ;) (expression_statement "plVar4 = local_140;" (assignment_expression "plVar4 = local_140" identifier = identifier) ;) }) while (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) )))) != number_literal) )) ;) comment comment (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })))
(translation_unit "/* WARNING: Enum "DT": Some values do not have unique names */\n/* DWARF original prototype: void find_identical_sections(Icf * this, Input_objects * input_objects,\n   Symbol_table * symtab) */\n\nvoid __thiscall\ngold::Icf::find_identical_sections(Icf *this,Input_objects *input_objects,Symbol_table *symtab)\n\n{\n  size_type *psVar1;\n  pointer ppVar2;\n  pointer puVar3;\n  uint uVar4;\n  Target *pTVar5;\n  Relobj *pRVar6;\n  Input_file *pIVar7;\n  pointer ppOVar8;\n  iterator __position;\n  _Hash_node_base *p_Var9;\n  __bucket_type *pp_Var10;\n  pointer __src;\n  pointer puVar11;\n  pointer pcVar12;\n  byte bVar13;\n  uint *puVar14;\n  pointer pbVar15;\n  uint32_t uVar16;\n  _Alloc_hider __s2;\n  undefined8 uVar17;\n  _Bit_type *p_Var18;\n  char cVar19;\n  gnu_v3_ctor_kinds gVar20;\n  gnu_v3_dtor_kinds gVar21;\n  uint uVar22;\n  uint uVar23;\n  int iVar24;\n  General_options *pGVar25;\n  _Hash_node_base *p_Var26;\n  __node_base *p_Var27;\n  undefined4 extraout_var;\n  _Hash_node_base *p_Var28;\n  __bucket_type *pp_Var29;\n  byte *pbVar30;\n  iterator iVar31;\n  pointer __dest;\n  size_t sVar32;\n  undefined4 *__dest_00;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *paVar33;\n  ulong uVar34;\n  __node_type *p_Var35;\n  Symbol *pSVar36;\n  char *pcVar37;\n  long lVar38;\n  _Hash_node_base *p_Var39;\n  pointer ppVar40;\n  _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n  *this_00;\n  ulong uVar41;\n  ulong uVar42;\n  size_type sVar43;\n  uint uVar44;\n  ulong uVar45;\n  long lVar46;\n  pointer pbVar47;\n  Relobj *pRVar48;\n  byte *pbVar49;\n  _Alloc_hider _Var50;\n  vector<bool,_std::allocator<bool>_> *pvVar51;\n  byte *pbVar52;\n  char *pcVar53;\n  _Node_iterator<std::pair<unsigned_int_const,_unsigned_int>,_false,_false> _Var54;\n  pointer ppRVar55;\n  undefined1 uVar56;\n  bool bVar57;\n  bool bVar58;\n  undefined1 uVar59;\n  bool bVar60;\n  byte bVar61;\n  pair<std::__detail::_Node_iterator<std::pair<unsigned_int_const,_unsigned_int>,_false,_false>,_std::__detail::_Node_iterator<std::pair<unsigned_int_const,_unsigned_int>,_false,_false>_>\n  pVar62;\n  iterator __position_00;\n  _Node_iterator<std::pair<unsigned_int_const,_unsigned_int>,_false,_false> local_1f0;\n  pointer local_1e8;\n  undefined4 *local_1d8;\n  ulong local_1d0;\n  undefined4 *local_1c8;\n  undefined4 *local_1b0;\n  basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *local_1a8;\n  ulong local_1a0;\n  uint32_t cksum;\n  _Bit_type *local_188;\n  uint local_180;\n  undefined4 uStack_17c;\n  Section_id secn;\n  vector<long_unsigned_int,_std::allocator<long_unsigned_int>_> section_addraligns;\n  vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n  section_contents;\n  vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n  full_section_contents;\n  string this_secn_contents;\n  uint num_relocs;\n  size_t local_e0;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  local_d8;\n  string section_name;\n  vector<bool,_std::allocator<bool>_> is_secn_or_group_unique;\n  unordered_multimap<unsigned_int,_unsigned_int,_std::hash<unsigned_int>,_std::equal_to<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>_>\n  section_cksum;\n  \n  bVar61 = 0;\n  pTVar5 = parameters->target_;\n  section_addraligns.super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n  _M_impl._M_start = (pointer)0x0;\n  section_addraligns.super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n  _M_impl._M_finish = (pointer)0x0;\n  section_addraligns.super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n  _M_impl._M_end_of_storage = (pointer)0x0;\n  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n  super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p = (_Bit_type *)0x0;\n  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n  super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset = 0;\n  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p = (_Bit_type *)0x0;\n  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset = 0;\n  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n  super__Bvector_impl_data._M_end_of_storage = (_Bit_pointer)0x0;\n  section_contents.\n  super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n  ._M_impl._M_start = (pointer)0x0;\n  section_contents.\n  super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n  ._M_impl._M_finish = (pointer)0x0;\n  section_contents.\n  super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n  ._M_impl._M_end_of_storage = (pointer)0x0;\n  if (pTVar5 == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181f0b to 00181f0f has its CatchHandler @ 00181f15 */\n    do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n  }\n  ppRVar55 = (input_objects->relobj_list_).\n             super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_start;\n  if (ppRVar55 ==\n      (input_objects->relobj_list_).\n      super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish) {\n    local_1d8 = (undefined4 *)0x0;\n  }\n  else {\n    local_1c8 = (undefined4 *)0x0;\n    local_1b0 = (undefined4 *)0x0;\n    local_1d8 = (undefined4 *)0x0;\n    uVar4 = 0;\n    do {\n      pRVar6 = *ppRVar55;\n      pIVar7 = (pRVar6->super_Object).input_file_;\n      if (pIVar7 == (Input_file *)0x0) {\n        pRVar48 = pRVar6;\n        if ((pRVar6->super_Object).shnum_ != 0) goto LAB_00180a17;\n      }\n      else {\n                    /* try { // try from 00180a02 to 00180a06 has its CatchHandler @ 00181f33 */\n        File_read::lock(&pIVar7->file_,(Task *)0xffffffffffffffff);\n        pRVar48 = *ppRVar55;\n        if (((*ppRVar55)->super_Object).shnum_ != 0) {\nLAB_00180a17:\n          uVar56 = false;\n          uVar45 = 0;\n          uVar59 = true;\n          do {\n            uVar44 = (uint)uVar45;\n                    /* try { // try from 00180c4d to 00180c52 has its CatchHandler @ 00181f1d */\n            (*(pRVar48->super_Object)._vptr_Object[0x10])(&section_name,pRVar48,uVar45);\n            lVar38 = 5;\n            pbVar30 = (byte *)".text";\n            _Var50 = section_name._M_dataplus;\n            do {\n              if (lVar38 == 0) break;\n              lVar38 = lVar38 + -1;\n              uVar56 = *pbVar30 < (byte)*_Var50._M_p;\n              uVar59 = *pbVar30 == *_Var50._M_p;\n              pbVar30 = pbVar30 + (ulong)bVar61 * -2 + 1;\n              _Var50._M_p = (pointer)((byte *)_Var50._M_p + (ulong)bVar61 * -2 + 1);\n            } while ((bool)uVar59);\n            bVar57 = false;\n            bVar60 = (!(bool)uVar56 && !(bool)uVar59) == (bool)uVar56;\n            if (bVar60) {\nLAB_00180a28:\n              pRVar48 = *ppRVar55;\n              ppOVar8 = (pRVar48->output_sections_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_start;\n              if ((ulong)((long)(pRVar48->output_sections_).\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_finish - (long)ppOVar8 >> 3) <= uVar45) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181e47 to 00181e63 has its CatchHandler @ 00181f61 */\n                do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (ppOVar8[uVar45] == (Output_section *)0x0) goto LAB_00180c96;\n              pGVar25 = parameters->options_;\n              if (pGVar25 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((pGVar25->gc_sections_).value != false) {\n                section_cksum._M_h._M_bucket_count =\n                     CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n                section_cksum._M_h._M_buckets = (__bucket_type *)pRVar48;\n                iVar31 = std::\n                         _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                         ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                 *)&symtab->gc_->referenced_list_,(key_type *)&section_cksum);\n                if (iVar31.super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>.\n                    _M_cur == (__node_type *)0x0) goto LAB_00180c96;\n                pGVar25 = parameters->options_;\n                if (pGVar25 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00180e61 to 001811fa has its CatchHandler @ 00181f61 */\n                  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (pGVar25->icf_status_ == ICF_SAFE) {\n                pbVar30 = (byte *)strrchr(section_name._M_dataplus._M_p,0x2e);\n                bVar57 = false;\n                bVar60 = pbVar30 == (byte *)0x0;\n                if (bVar60) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181ef3 to 00181ef7 has its CatchHandler @ 00181f61 */\n                  do_gold_unreachable("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar38 = 4;\n                pbVar49 = &DAT_00373305;\n                pbVar52 = pbVar30;\n                do {\n                  if (lVar38 == 0) break;\n                  lVar38 = lVar38 + -1;\n                  bVar57 = *pbVar49 < *pbVar52;\n                  bVar60 = *pbVar49 == *pbVar52;\n                  pbVar49 = pbVar49 + (ulong)bVar61 * -2 + 1;\n                  pbVar52 = pbVar52 + (ulong)bVar61 * -2 + 1;\n                } while (bVar60);\n                bVar58 = false;\n                bVar57 = (!bVar57 && !bVar60) == bVar57;\n                if (bVar57) {\nLAB_00180f58:\n                  gVar20 = is_gnu_v3_mangled_ctor((char *)(pbVar30 + 1));\n                  if ((gVar20 != 0) ||\n                     (gVar21 = is_gnu_v3_mangled_dtor((char *)(pbVar30 + 1)), gVar21 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar38 = 4;\n                  pbVar49 = &DAT_0037330a;\n                  pbVar52 = pbVar30;\n                  do {\n                    if (lVar38 == 0) break;\n                    lVar38 = lVar38 + -1;\n                    bVar58 = *pbVar49 < *pbVar52;\n                    bVar57 = *pbVar49 == *pbVar52;\n                    pbVar49 = pbVar49 + (ulong)bVar61 * -2 + 1;\n                    pbVar52 = pbVar52 + (ulong)bVar61 * -2 + 1;\n                  } while (bVar57);\n                  if ((!bVar58 && !bVar57) == bVar58) goto LAB_00180f58;\n                }\n                if ((*(code **)(*(long *)pTVar5 + 0x90) !=\n                     Target::do_can_check_for_function_pointers) &&\n                   (cVar19 = (**(code **)(*(long *)pTVar5 + 0x90))(pTVar5), cVar19 != '\0')) {\n                  section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;\n                  section_cksum._M_h._M_bucket_count =\n                       CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n                  iVar31 = std::\n                           _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                           ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                   *)&this->fptr_section_id_,(key_type *)&section_cksum);\n                  if (iVar31.super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>\n                      ._M_cur == (__node_type *)0x0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                          &section_cksum;\n              section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;\n              __position._M_current =\n                   (this->id_section_).\n                   super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                   ._M_impl._M_finish;\n              section_cksum._M_h._M_bucket_count =\n                   CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n              if (__position._M_current ==\n                  (this->id_section_).\n                  super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                  ._M_impl._M_end_of_storage) {\n                std::\n                vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ::_M_realloc_insert<std::pair<gold::Relobj*,_unsigned_int>_>\n                          (&this->id_section_,__position,\n                           (pair<gold::Relobj*,_unsigned_int> *)local_1a8);\n              }\n              else {\n                (__position._M_current)->first = (Relobj *)section_cksum._M_h._M_buckets;\n                (__position._M_current)->second = uVar44;\n                (this->id_section_).\n                super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ._M_impl._M_finish = __position._M_current + 1;\n              }\n              section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;\n              section_cksum._M_h._M_bucket_count =\n                   CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n              p_Var26 = (_Hash_node_base *)((ulong)section_cksum._M_h._M_buckets ^ uVar45);\n              local_1a0 = (ulong)p_Var26 % (this->section_id_)._M_h._M_bucket_count;\n              p_Var27 = std::\n                        _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                        ::_M_find_before_node\n                                  ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                                    *)&this->section_id_,local_1a0,(key_type *)local_1a8,\n                                   (__hash_code)p_Var26);\n              if ((p_Var27 == (__node_base *)0x0) ||\n                 (p_Var28 = p_Var27->_M_nxt, p_Var28 == (_Hash_node_base *)0x0)) {\n                    /* try { // try from 00180cad to 00180cec has its CatchHandler @ 00181f61 */\n                p_Var28 = (_Hash_node_base *)operator_new(0x28);\n                uVar41 = (this->section_id_)._M_h._M_element_count;\n                p_Var28->_M_nxt = (_Hash_node_base *)0x0;\n                uVar42 = (this->section_id_)._M_h._M_bucket_count;\n                *(undefined4 *)&p_Var28[3]._M_nxt = 0;\n                p_Var28[1]._M_nxt = (_Hash_node_base *)section_cksum._M_h._M_buckets;\n                p_Var28[2]._M_nxt = (_Hash_node_base *)section_cksum._M_h._M_bucket_count;\n                cVar19 = std::__detail::_Prime_rehash_policy::_M_need_rehash\n                                   (&(this->section_id_)._M_h._M_rehash_policy,uVar42,uVar41,1);\n                if (cVar19 == '\0') {\n                  pp_Var29 = (this->section_id_)._M_h._M_buckets;\n                }\n                else {\n                  if (this_00 ==\n                      (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n                       *)0x1) {\n                    pp_Var29 = &(this->section_id_)._M_h._M_single_bucket;\n                    (this->section_id_)._M_h._M_single_bucket = (__bucket_type)0x0;\n                  }\n                  else {\n                    /* try { // try from 00180d0d to 00180d11 has its CatchHandler @ 00181f10 */\n                    pp_Var29 = std::__detail::\n                               _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n                               ::_M_allocate_buckets(this_00,uVar42);\n                  }\n                  p_Var39 = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                  (this->section_id_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n                  if (p_Var39 != (_Hash_node_base *)0x0) {\n                    uVar41 = 0;\n                    do {\n                      while( true ) {\n                        p_Var9 = p_Var39->_M_nxt;\n                        uVar42 = (ulong)p_Var39[4]._M_nxt % (ulong)this_00;\n                        pp_Var10 = pp_Var29 + uVar42;\n                        if (*pp_Var10 == (__bucket_type)0x0) break;\n                        p_Var39->_M_nxt = (*pp_Var10)->_M_nxt;\n                        (*pp_Var10)->_M_nxt = p_Var39;\n                        uVar42 = uVar41;\nLAB_00180d64:\n                        p_Var39 = p_Var9;\n                        uVar41 = uVar42;\n                        if (p_Var9 == (_Hash_node_base *)0x0) goto LAB_00180dc0;\n                      }\n                      p_Var39->_M_nxt = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                      (this->section_id_)._M_h._M_before_begin._M_nxt = p_Var39;\n                      *pp_Var10 = &(this->section_id_)._M_h._M_before_begin;\n                      if (p_Var39->_M_nxt == (_Hash_node_base *)0x0) goto LAB_00180d64;\n                      pp_Var29[uVar41] = p_Var39;\n                      p_Var39 = p_Var9;\n                      uVar41 = uVar42;\n                    } while (p_Var9 != (_Hash_node_base *)0x0);\n                  }\nLAB_00180dc0:\n                  pp_Var10 = (this->section_id_)._M_h._M_buckets;\n                  if (pp_Var10 != &(this->section_id_)._M_h._M_single_bucket) {\n                    operator_delete(pp_Var10);\n                  }\n                  (this->section_id_)._M_h._M_buckets = pp_Var29;\n                  local_1a0 = (ulong)p_Var26 % (ulong)this_00;\n                  (this->section_id_)._M_h._M_bucket_count = (size_type)this_00;\n                }\n                p_Var28[4]._M_nxt = p_Var26;\n                pp_Var10 = pp_Var29 + local_1a0;\n                if (*pp_Var10 == (__bucket_type)0x0) {\n                  p_Var26 = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                  (this->section_id_)._M_h._M_before_begin._M_nxt = p_Var28;\n                  p_Var28->_M_nxt = p_Var26;\n                  if (p_Var26 != (_Hash_node_base *)0x0) {\n                    pp_Var29[(ulong)p_Var26[4]._M_nxt % (this->section_id_)._M_h._M_bucket_count] =\n                         p_Var28;\n                  }\n                  *pp_Var10 = &(this->section_id_)._M_h._M_before_begin;\n                }\n                else {\n                  p_Var28->_M_nxt = (*pp_Var10)->_M_nxt;\n                  (*pp_Var10)->_M_nxt = p_Var28;\n                }\n                psVar1 = &(this->section_id_)._M_h._M_element_count;\n                *psVar1 = *psVar1 + 1;\n              }\n              puVar11 = (this->kept_section_id_).\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_finish;\n              *(uint *)&p_Var28[3]._M_nxt = uVar4;\n              if (puVar11 ==\n                  (this->kept_section_id_).\n                  super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                  _M_end_of_storage) {\n                __src = (this->kept_section_id_).\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start;\n                sVar32 = (long)puVar11 - (long)__src;\n                uVar41 = (long)sVar32 >> 2;\n                if (uVar41 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (pointer)operator_new(local_1d0);\n                  local_1e8 = (pointer)(local_1d0 + (long)__dest);\n                }\n                else {\n                  uVar42 = uVar41 * 2;\n                  if (uVar42 < uVar41) {\n                    local_1d0 = 0xfffffffffffffffc;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = 0xfffffffffffffffc;\n                  if (0x3fffffffffffffff < uVar42) goto LAB_00181065;\n                  if (uVar42 != 0) {\n                    local_1d0 = uVar41 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = (pointer)0x0;\n                  __dest = (pointer)0x0;\n                }\n                *(uint *)((long)__dest + sVar32) = uVar4;\n                puVar3 = (pointer)((long)__dest + sVar32 + 4);\n                if (puVar11 == __src) {\n                  if (__src != (pointer)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = (pointer)memmove(__dest,__src,sVar32);\nLAB_001810bd:\n                  operator_delete(__src);\n                }\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start =\n                     __dest;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n                     puVar3;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                _M_end_of_storage = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *puVar11 = uVar4;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n                     puVar11 + 1;\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar32 = (long)local_1b0 - (long)local_1d8;\n                uVar41 = (long)sVar32 >> 2;\n                if (uVar41 == 0) {\n                  uVar42 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)operator_new(uVar42);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + uVar42);\n                }\n                else {\n                  uVar34 = uVar41 * 2;\n                  if (uVar34 < uVar41) {\n                    uVar42 = 0xfffffffffffffffc;\n                    goto LAB_0018114e;\n                  }\n                  uVar42 = 0xfffffffffffffffc;\n                  if (0x3fffffffffffffff < uVar34) goto LAB_0018114e;\n                  if (uVar34 != 0) {\n                    uVar42 = uVar41 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar32) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar32 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar32);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar32 + 4);\nLAB_001811a1:\n                  operator_delete(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    /* try { // try from 00180b6b to 00180bee has its CatchHandler @ 00181f61 */\n              iVar24 = (*((*ppRVar55)->super_Object)._vptr_Object[0x17])(*ppRVar55,uVar45);\n              section_cksum._M_h._M_buckets = (__bucket_type *)CONCAT44(extraout_var,iVar24);\n              if (section_addraligns.\n                  super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                  _M_finish ==\n                  section_addraligns.\n                  super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                  _M_end_of_storage) {\n                std::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>::\n                _M_realloc_insert<long_unsigned_int>\n                          (&section_addraligns,\n                           (iterator)\n                           section_addraligns.\n                           super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n                           ._M_impl._M_finish,(ulong *)local_1a8);\n              }\n              else {\n                *section_addraligns.\n                 super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                 _M_finish = (ulong)section_cksum._M_h._M_buckets;\n                section_addraligns.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_finish = section_addraligns.\n                            super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n                            ._M_impl._M_finish + 1;\n              }\n              uVar22 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset;\n              p_Var18 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                        super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p;\n              if (is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p ==\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_end_of_storage) {\n                local_180 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>.\n                            _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base.\n                            _M_offset;\n                __position_00.super__Bit_iterator_base._12_4_ = uStack_17c;\n                __position_00.super__Bit_iterator_base._M_offset =\n                     is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                     super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset;\n                local_188 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>.\n                            _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p\n                ;\n                __position_00.super__Bit_iterator_base._M_p =\n                     is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                     super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p;\n                std::vector<bool,_std::allocator<bool>_>::_M_insert_aux\n                          (&is_secn_or_group_unique,__position_00,false);\n              }\n              else {\n                if (is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                    super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset == 0x3f) {\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset = 0;\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p + 1;\n                }\n                else {\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset + 1;\n                }\n                bVar13 = (byte)uVar22 & 0x3f;\n                *p_Var18 = *p_Var18 & (-2L << bVar13 | 0xfffffffffffffffeU >> 0x40 - bVar13);\n              }\n              section_cksum._M_h._M_buckets = &section_cksum._M_h._M_before_begin._M_nxt;\n              std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n              _M_construct<char_const*>(local_1a8,"");\n                    /* try { // try from 00180c00 to 00180c04 has its CatchHandler @ 00181f59 */\n              std::\n              vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              ::\n              emplace_back<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>\n                        (&section_contents,local_1a8);\n              if ((__node_base *)section_cksum._M_h._M_buckets !=\n                  &section_cksum._M_h._M_before_begin) {\n                operator_delete(section_cksum._M_h._M_buckets);\n              }\n              uVar4 = uVar4 + 1;\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)section_name._M_dataplus._M_p != &section_name.field_2) goto LAB_00180c31;\n            }\n            else {\n              lVar38 = 0xf;\n              pbVar30 = (byte *)".gnu.linkonce.t";\n              _Var50 = section_name._M_dataplus;\n              do {\n                if (lVar38 == 0) break;\n                lVar38 = lVar38 + -1;\n                bVar57 = *pbVar30 < (byte)*_Var50._M_p;\n                bVar60 = *pbVar30 == *_Var50._M_p;\n                pbVar30 = pbVar30 + (ulong)bVar61 * -2 + 1;\n                _Var50._M_p = (pointer)((byte *)_Var50._M_p + (ulong)bVar61 * -2 + 1);\n              } while (bVar60);\n              if ((!bVar57 && !bVar60) == bVar57) goto LAB_00180a28;\nLAB_00180c96:\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)section_name._M_dataplus._M_p != &section_name.field_2) {\nLAB_00180c31:\n                operator_delete(section_name._M_dataplus._M_p);\n              }\n            }\n            pRVar48 = *ppRVar55;\n            uVar44 = uVar44 + 1;\n            uVar45 = (ulong)uVar44;\n            uVar22 = (pRVar48->super_Object).shnum_;\n            uVar56 = uVar44 < uVar22;\n            uVar59 = uVar44 == uVar22;\n          } while ((bool)uVar56);\n        }\n        pIVar7 = (pRVar6->super_Object).input_file_;\n        if (pIVar7 != (Input_file *)0x0) {\n          File_read::unlock(&pIVar7->file_,(Task *)0xffffffffffffffff);\n        }\n      }\n      ppRVar55 = ppRVar55 + 1;\n    } while ((input_objects->relobj_list_).\n             super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish !=\n             ppRVar55);\n  }\n  if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n  }\n  uVar4 = 0;\n  uVar44 = (parameters->options_->icf_iterations_).value;\n  uVar22 = 2;\n  if (0 < (int)uVar44) {\n    uVar22 = uVar44;\n  }\n  paVar33 = &this_secn_contents.field_2;\n  do {\n    uVar4 = uVar4 + 1;\n    section_cksum._M_h._M_bucket_count = 1;\n    section_cksum._M_h._M_buckets = &section_cksum._M_h._M_single_bucket;\n    section_cksum._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n    section_cksum._M_h._M_element_count = 0;\n    section_cksum._M_h._M_rehash_policy._M_max_load_factor = 1.0;\n    section_cksum._M_h._M_rehash_policy._M_next_resize = 0;\n    section_cksum._M_h._M_single_bucket = (__bucket_type)0x0;\n    if (uVar4 == 1) {\n      pvVar51 = &is_secn_or_group_unique;\n                    /* try { // try from 00181c11 to 00181c15 has its CatchHandler @ 00181f8d */\n      preprocess_for_unique_sections\n                (&this->id_section_,&is_secn_or_group_unique,\n                 (vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                  *)0x0);\n      iVar24 = (int)pvVar51;\n    }\n    else {\n      pvVar51 = &is_secn_or_group_unique;\n                    /* try { // try from 00181355 to 00181359 has its CatchHandler @ 00181f8d */\n      preprocess_for_unique_sections(&this->id_section_,&is_secn_or_group_unique,&section_contents);\n      iVar24 = (int)pvVar51;\n    }\n    full_section_contents.\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n    ._M_impl._M_start = (pointer)0x0;\n    full_section_contents.\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n    ._M_impl._M_finish = (pointer)0x0;\n    full_section_contents.\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0;\n    if ((this->id_section_).\n        super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n        ._M_impl._M_finish ==\n        (this->id_section_).\n        super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n        ._M_impl._M_start) {\n      std::\n      _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_false>_>\n      ::~_Hashtable(&section_cksum._M_h,iVar24);\n      bVar57 = true;\n      break;\n    }\n    uVar45 = 0;\n    bVar57 = true;\n    uVar44 = 0;\n    do {\n      section_name._M_dataplus._M_p = (pointer)&section_name.field_2;\n                    /* try { // try from 00181402 to 00181406 has its CatchHandler @ 00181f77 */\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>(&section_name,"");\n      _Var50._M_p = (pointer)&section_name;\n                    /* try { // try from 00181411 to 00181415 has its CatchHandler @ 00181f51 */\n      std::\n      vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ::\n      emplace_back<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>\n                (&full_section_contents,&section_name);\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)section_name._M_dataplus._M_p != &section_name.field_2) {\n        operator_delete(section_name._M_dataplus._M_p);\n      }\n      local_1a0._0_1_ = (byte)uVar44;\n      uVar41 = 1L << ((byte)local_1a0 & 0x3f);\n      ppVar40 = (this->id_section_).\n                super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ._M_impl._M_start;\n      if ((uVar41 & is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                    super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar45 >> 6]) ==\n          0) {\n        ppVar2 = ppVar40 + uVar45;\n        secn.first = ppVar2->first;\n        secn.second = ppVar2->second;\n        secn._12_4_ = *(undefined4 *)&ppVar2->field_0xc;\n        this_secn_contents._M_string_length = 0;\n        this_secn_contents.field_2._M_allocated_capacity =\n             this_secn_contents.field_2._M_allocated_capacity & 0xffffffffffffff00;\n        this_secn_contents._M_dataplus._M_p = (pointer)paVar33;\n        if (uVar4 == 1) {\n          _num_relocs = _num_relocs & 0xffffffff00000000;\n          get_section_contents\n                    (&section_name,true,&secn,uVar44,&num_relocs,symtab,&this->kept_section_id_,\n                     &section_contents);\n          uVar17 = this_secn_contents.field_2._M_allocated_capacity;\n          _Var50._M_p = this_secn_contents._M_dataplus._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)section_name._M_dataplus._M_p == &section_name.field_2) {\n            sVar43 = section_name._M_string_length;\n            if (section_name._M_string_length != 0) {\n              if (section_name._M_string_length == 1) {\n                *this_secn_contents._M_dataplus._M_p = section_name.field_2._M_local_buf[0];\n                sVar43 = section_name._M_string_length;\n              }\n              else {\n                memcpy(this_secn_contents._M_dataplus._M_p,section_name._M_dataplus._M_p,\n                       section_name._M_string_length);\n                sVar43 = section_name._M_string_length;\n              }\n            }\n            this_secn_contents._M_dataplus._M_p[sVar43] = '\0';\n            this_secn_contents._M_string_length = sVar43;\n          }\n          else {\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)this_secn_contents._M_dataplus._M_p != paVar33) {\n              this_secn_contents._M_dataplus = section_name._M_dataplus;\n              this_secn_contents._M_string_length = section_name._M_string_length;\n              this_secn_contents.field_2._M_allocated_capacity =\n                   section_name.field_2._M_allocated_capacity;\n              if (_Var50._M_p != (pointer)0x0) {\n                section_name._M_dataplus = _Var50;\n                section_name.field_2._M_allocated_capacity = uVar17;\n                goto LAB_00181993;\n              }\n            }\n            this_secn_contents.field_2._M_allocated_capacity =\n                 section_name.field_2._M_allocated_capacity;\n            this_secn_contents._M_string_length = section_name._M_string_length;\n            this_secn_contents._M_dataplus = section_name._M_dataplus;\n            section_name._M_dataplus._M_p = (pointer)&section_name.field_2;\n          }\nLAB_00181993:\n          section_name._M_string_length = 0;\n          *section_name._M_dataplus._M_p = '\0';\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)section_name._M_dataplus._M_p != &section_name.field_2) {\n            operator_delete(section_name._M_dataplus._M_p);\n          }\n          local_1d8[uVar45] = num_relocs;\n        }\n        else {\n          if (uVar44 != (this->kept_section_id_).\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start[uVar45]) goto LAB_001813c8;\n                    /* try { // try from 001814fb to 00181926 has its CatchHandler @ 00181f49 */\n          get_section_contents\n                    ((string *)&num_relocs,false,&secn,uVar44,(uint *)0x0,symtab,\n                     &this->kept_section_id_,&section_contents);\n          uVar17 = this_secn_contents.field_2._M_allocated_capacity;\n          _Var50._M_p = this_secn_contents._M_dataplus._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)_num_relocs == &local_d8) {\n            sVar32 = local_e0;\n            if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *this_secn_contents._M_dataplus._M_p = local_d8._M_local_buf[0];\n                sVar32 = local_e0;\n              }\n              else {\n                memcpy(this_secn_contents._M_dataplus._M_p,_num_relocs,local_e0);\n                sVar32 = local_e0;\n              }\n            }\n            this_secn_contents._M_dataplus._M_p[sVar32] = '\0';\n            this_secn_contents._M_string_length = sVar32;\n          }\n          else {\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)this_secn_contents._M_dataplus._M_p != paVar33) {\n              this_secn_contents._M_dataplus._M_p = _num_relocs;\n              this_secn_contents._M_string_length = local_e0;\n              this_secn_contents.field_2._M_allocated_capacity = local_d8._M_allocated_capacity;\n              if (_Var50._M_p != (pointer)0x0) {\n                _num_relocs = _Var50._M_p;\n                local_d8._M_allocated_capacity = uVar17;\n                goto LAB_0018156c;\n              }\n            }\n            this_secn_contents.field_2._M_allocated_capacity = local_d8._M_allocated_capacity;\n            this_secn_contents._M_string_length = local_e0;\n            this_secn_contents._M_dataplus._M_p = _num_relocs;\n            _num_relocs = (pointer)&local_d8;\n          }\nLAB_0018156c:\n          local_e0 = 0;\n          *_num_relocs = '\0';\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)_num_relocs != &local_d8) {\n            operator_delete(_num_relocs);\n          }\n        }\n        uVar23 = xcrc32((uchar *)this_secn_contents._M_dataplus._M_p,\n                        (int)this_secn_contents._M_string_length,0xffffffff);\n        uVar42 = (ulong)uVar23 % section_cksum._M_h._M_bucket_count;\n        cksum = uVar23;\n        if ((section_cksum._M_h._M_buckets[uVar42] == (__bucket_type)0x0) ||\n           (p_Var26 = section_cksum._M_h._M_buckets[uVar42]->_M_nxt,\n           p_Var26 == (_Hash_node_base *)0x0)) {\nLAB_00181638:\n          p_Var35 = (__node_type *)operator_new(0x10);\n          *(uint *)&(p_Var35->\n                    super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n                    _M_storage._M_storage = uVar23;\n          (p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n          super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;\n          *(uint *)((long)&(p_Var35->\n                           super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>\n                           )._M_storage._M_storage + 4) = uVar44;\n          std::\n          _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_false>_>\n          ::_M_insert_multi_node(&section_cksum._M_h,(__node_type *)0x0,(ulong)uVar23,p_Var35);\n        }\n        else {\n          uVar34 = (ulong)*(uint *)&p_Var26[1]._M_nxt;\n          lVar38 = 0;\n          do {\n            if (uVar23 == (uint)uVar34) {\n              p_Var26 = p_Var26->_M_nxt;\n              lVar38 = lVar38 + 1;\n              lVar46 = lVar38;\n            }\n            else {\n              if (lVar38 != 0) goto LAB_00181742;\n              p_Var26 = p_Var26->_M_nxt;\n              lVar46 = 0;\n            }\n          } while ((p_Var26 != (_Hash_node_base *)0x0) &&\n                  (uVar34 = (ulong)*(uint *)&p_Var26[1]._M_nxt, lVar46 = lVar38,\n                  uVar42 == uVar34 % section_cksum._M_h._M_bucket_count));\n          if (lVar46 == 0) goto LAB_00181638;\nLAB_00181742:\n          pVar62 = std::\n                   _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_false>_>\n                   ::equal_range(&section_cksum._M_h,&cksum);\n          sVar43 = this_secn_contents._M_string_length;\n          __s2 = this_secn_contents._M_dataplus;\n          pbVar15 = full_section_contents.\n                    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                    ._M_impl._M_start;\n          if ((__node_type *)pVar62.first !=\n              pVar62.second.\n              super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>) {\n            do {\n              local_1f0 = pVar62.second;\n              _Var54 = pVar62.first;\n              uVar23 = *(uint *)((long)_Var54.\n                                       super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                       ._M_cur + 0xc);\n              pbVar47 = pbVar15 + uVar23;\n              if ((pbVar47->_M_string_length == sVar43) &&\n                 (_Var50 = __s2, iVar24 = memcmp((pbVar47->_M_dataplus)._M_p,__s2._M_p,sVar43),\n                 iVar24 == 0)) {\n                puVar11 = (this->kept_section_id_).\n                          super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                          _M_start;\n                if (section_addraligns.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar23] <\n                    section_addraligns.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar45]) {\n                  puVar11[uVar23] = uVar44;\n                  _Var50._M_p = (pointer)(pbVar15 + uVar45);\n                  *(uint *)((long)_Var54.\n                                  super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                  ._M_cur + 0xc) = uVar44;\n                  std::string::swap((string *)pbVar47,(string *)_Var50._M_p);\n                  bVar57 = false;\n                }\n                else {\n                  puVar11[uVar45] = uVar23;\n                  bVar57 = false;\n                }\n                goto joined_r0x00181835;\n              }\n              pVar62.second.\n              super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>._M_cur =\n                   local_1f0.\n                   super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>.\n                   _M_cur;\n              pVar62.first.\n              super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>._M_cur =\n                   (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>)\n                   (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>)\n                   *(__node_type **)\n                    _Var54.\n                    super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>.\n                    _M_cur;\n            } while (local_1f0.\n                     super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>.\n                     _M_cur != (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                )*(__node_type **)\n                                  _Var54.\n                                  super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                  ._M_cur);\n          }\n          uVar16 = cksum;\n          p_Var35 = (__node_type *)operator_new(0x10);\n          (p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n          _M_storage._M_storage.__align = (anon_struct_4_0_00000001_for___align)uVar16;\n          (p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n          super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;\n          *(uint *)((long)&(p_Var35->\n                           super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>\n                           )._M_storage._M_storage + 4) = uVar44;\n          std::\n          _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_false>_>\n          ::_M_insert_multi_node(&section_cksum._M_h,(__node_type *)0x0,(ulong)uVar16,p_Var35);\n        }\n        _Var50._M_p = (pointer)&this_secn_contents;\n        std::string::_M_assign\n                  ((string *)\n                   (full_section_contents.\n                    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                    ._M_impl._M_start + uVar45),(string *)&this_secn_contents);\njoined_r0x00181835:\n        if ((uVar4 == 1) && (local_1d8[uVar45] == 0)) {\n          is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n          super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar45 >> 6] =\n               is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n               super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar45 >> 6] | uVar41\n          ;\n        }\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)this_secn_contents._M_dataplus._M_p != paVar33) {\n          operator_delete(this_secn_contents._M_dataplus._M_p);\n        }\n        ppVar40 = (this->id_section_).\n                  super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                  ._M_impl._M_start;\n      }\nLAB_001813c8:\n      pbVar15 = full_section_contents.\n                super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                ._M_impl._M_finish;\n      uVar44 = uVar44 + 1;\n      uVar45 = (ulong)uVar44;\n      uVar41 = (long)(this->id_section_).\n                     super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                     ._M_impl._M_finish - (long)ppVar40 >> 4;\n    } while (uVar45 < uVar41);\n    if (uVar41 != 0) {\n      _Var50._M_p = (pointer)(this->kept_section_id_).\n                             super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl\n                             ._M_start;\n      uVar42 = 0;\n      uVar45 = uVar42;\n      do {\n        do {\n          uVar23 = (uint)uVar42;\n          uVar44 = *(uint *)((long)&(((string *)_Var50._M_p)->_M_dataplus)._M_p + uVar42 * 4);\n          uVar42 = (ulong)uVar44;\n        } while (uVar23 != uVar44);\n        puVar14 = (uint *)((long)&(((string *)_Var50._M_p)->_M_dataplus)._M_p + uVar45 * 4);\n        uVar23 = *puVar14;\n        while (uVar23 != uVar44) {\n          *puVar14 = uVar44;\n          puVar14 = (uint *)((long)&(((string *)_Var50._M_p)->_M_dataplus)._M_p + (ulong)uVar23 * 4)\n          ;\n          uVar23 = *puVar14;\n        }\n        uVar42 = (ulong)((int)uVar45 + 1);\n        uVar45 = uVar42;\n      } while (uVar42 < uVar41);\n    }\n    iVar24 = (int)_Var50._M_p;\n    for (pbVar47 = full_section_contents.\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   ._M_impl._M_start; pbVar47 != pbVar15; pbVar47 = pbVar47 + 1) {\n      pcVar12 = (pbVar47->_M_dataplus)._M_p;\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)pcVar12 != &pbVar47->field_2) {\n        operator_delete(pcVar12);\n      }\n      iVar24 = (int)_Var50._M_p;\n    }\n    if (full_section_contents.\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_start != (pointer)0x0) {\n      operator_delete(full_section_contents.\n                      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                      ._M_impl._M_start);\n    }\n    std::\n    _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_false>_>\n    ::~_Hashtable(&section_cksum._M_h,iVar24);\n  } while (uVar4 < uVar22 && !bVar57);\n  pcVar37 = program_name;\n  pGVar25 = parameters->options_;\n  if (pGVar25 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n  }\n  if ((pGVar25->print_icf_sections_).value != false) {\n    pcVar53 = "%s: ICF Converged after %u iteration(s)";\n    if (!bVar57) {\n      pcVar53 = "%s: ICF stopped after %u iteration(s)";\n    }\n    pcVar53 = (char *)gettext(pcVar53);\n                    /* try { // try from 00181db6 to 00181de6 has its CatchHandler @ 00181f33 */\n    gold_info(pcVar53,pcVar37,uVar4);\n    pGVar25 = parameters->options_;\n    if (pGVar25 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n    }\n  }\n  p_Var26 = (pGVar25->keep_unique_).value._M_h._M_before_begin._M_nxt;\n  pbVar15 = section_contents.\n            super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n            ._M_impl._M_finish;\n  do {\n    section_contents.\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n    ._M_impl._M_finish = pbVar15;\n    if (p_Var26 == (_Hash_node_base *)0x0) {\n      this->icf_ready_ = true;\n      for (pbVar47 = section_contents.\n                     super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                     ._M_impl._M_start; pbVar15 != pbVar47; pbVar47 = pbVar47 + 1) {\n        pcVar12 = (pbVar47->_M_dataplus)._M_p;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)pcVar12 != &pbVar47->field_2) {\n          operator_delete(pcVar12);\n        }\n      }\n      if (section_contents.\n          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n          ._M_impl._M_start != (pointer)0x0) {\n        operator_delete(section_contents.\n                        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                        ._M_impl._M_start);\n      }\n      if (is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n          super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p != (_Bit_type *)0x0) {\n        operator_delete(is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                        super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p);\n      }\n      if (section_addraligns.\n          super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl._M_start\n          != (pointer)0x0) {\n        operator_delete(section_addraligns.\n                        super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                        _M_impl._M_start);\n      }\n      if (local_1d8 != (undefined4 *)0x0) {\n        operator_delete(local_1d8);\n      }\n      return;\n    }\n    p_Var28 = p_Var26[1]._M_nxt;\n                    /* try { // try from 00181b61 to 00181b7f has its CatchHandler @ 00181f33 */\n    pSVar36 = Symbol_table::lookup(symtab,(char *)p_Var28,(char *)0x0);\n    if (pSVar36 == (Symbol *)0x0) {\n      pcVar37 = (char *)gettext("Could not find symbol %s to unfold\n");\n      gold_warning(pcVar37,p_Var28);\n    }\n    else if ((((pSVar36->field_0x3a & 7) == 0) &&\n             ((((Object *)((pSVar36->u1_).output_segment)->output_lists_)->field_0x3c & 1) == 0)) &&\n            ((pSVar36->field_0x3b & 0x20) != 0)) {\n      unfold_section(this,(Relobj *)(pSVar36->u1_).output_segment,(pSVar36->u2_).shndx);\n    }\n    p_Var26 = p_Var26->_M_nxt;\n    pbVar15 = section_contents.\n              super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              ._M_impl._M_finish;\n  } while (parameters->options_ != (General_options *)0x0);\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181eab to 00181edf has its CatchHandler @ 00181f33 */\n  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n}\n\n" comment comment (function_definition "void __thiscall\ngold::Icf::find_identical_sections(Icf *this,Input_objects *input_objects,Symbol_table *symtab)\n\n{\n  size_type *psVar1;\n  pointer ppVar2;\n  pointer puVar3;\n  uint uVar4;\n  Target *pTVar5;\n  Relobj *pRVar6;\n  Input_file *pIVar7;\n  pointer ppOVar8;\n  iterator __position;\n  _Hash_node_base *p_Var9;\n  __bucket_type *pp_Var10;\n  pointer __src;\n  pointer puVar11;\n  pointer pcVar12;\n  byte bVar13;\n  uint *puVar14;\n  pointer pbVar15;\n  uint32_t uVar16;\n  _Alloc_hider __s2;\n  undefined8 uVar17;\n  _Bit_type *p_Var18;\n  char cVar19;\n  gnu_v3_ctor_kinds gVar20;\n  gnu_v3_dtor_kinds gVar21;\n  uint uVar22;\n  uint uVar23;\n  int iVar24;\n  General_options *pGVar25;\n  _Hash_node_base *p_Var26;\n  __node_base *p_Var27;\n  undefined4 extraout_var;\n  _Hash_node_base *p_Var28;\n  __bucket_type *pp_Var29;\n  byte *pbVar30;\n  iterator iVar31;\n  pointer __dest;\n  size_t sVar32;\n  undefined4 *__dest_00;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *paVar33;\n  ulong uVar34;\n  __node_type *p_Var35;\n  Symbol *pSVar36;\n  char *pcVar37;\n  long lVar38;\n  _Hash_node_base *p_Var39;\n  pointer ppVar40;\n  _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n  *this_00;\n  ulong uVar41;\n  ulong uVar42;\n  size_type sVar43;\n  uint uVar44;\n  ulong uVar45;\n  long lVar46;\n  pointer pbVar47;\n  Relobj *pRVar48;\n  byte *pbVar49;\n  _Alloc_hider _Var50;\n  vector<bool,_std::allocator<bool>_> *pvVar51;\n  byte *pbVar52;\n  char *pcVar53;\n  _Node_iterator<std::pair<unsigned_int_const,_unsigned_int>,_false,_false> _Var54;\n  pointer ppRVar55;\n  undefined1 uVar56;\n  bool bVar57;\n  bool bVar58;\n  undefined1 uVar59;\n  bool bVar60;\n  byte bVar61;\n  pair<std::__detail::_Node_iterator<std::pair<unsigned_int_const,_unsigned_int>,_false,_false>,_std::__detail::_Node_iterator<std::pair<unsigned_int_const,_unsigned_int>,_false,_false>_>\n  pVar62;\n  iterator __position_00;\n  _Node_iterator<std::pair<unsigned_int_const,_unsigned_int>,_false,_false> local_1f0;\n  pointer local_1e8;\n  undefined4 *local_1d8;\n  ulong local_1d0;\n  undefined4 *local_1c8;\n  undefined4 *local_1b0;\n  basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *local_1a8;\n  ulong local_1a0;\n  uint32_t cksum;\n  _Bit_type *local_188;\n  uint local_180;\n  undefined4 uStack_17c;\n  Section_id secn;\n  vector<long_unsigned_int,_std::allocator<long_unsigned_int>_> section_addraligns;\n  vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n  section_contents;\n  vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n  full_section_contents;\n  string this_secn_contents;\n  uint num_relocs;\n  size_t local_e0;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  local_d8;\n  string section_name;\n  vector<bool,_std::allocator<bool>_> is_secn_or_group_unique;\n  unordered_multimap<unsigned_int,_unsigned_int,_std::hash<unsigned_int>,_std::equal_to<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>_>\n  section_cksum;\n  \n  bVar61 = 0;\n  pTVar5 = parameters->target_;\n  section_addraligns.super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n  _M_impl._M_start = (pointer)0x0;\n  section_addraligns.super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n  _M_impl._M_finish = (pointer)0x0;\n  section_addraligns.super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n  _M_impl._M_end_of_storage = (pointer)0x0;\n  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n  super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p = (_Bit_type *)0x0;\n  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n  super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset = 0;\n  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p = (_Bit_type *)0x0;\n  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset = 0;\n  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n  super__Bvector_impl_data._M_end_of_storage = (_Bit_pointer)0x0;\n  section_contents.\n  super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n  ._M_impl._M_start = (pointer)0x0;\n  section_contents.\n  super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n  ._M_impl._M_finish = (pointer)0x0;\n  section_contents.\n  super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n  ._M_impl._M_end_of_storage = (pointer)0x0;\n  if (pTVar5 == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181f0b to 00181f0f has its CatchHandler @ 00181f15 */\n    do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n  }\n  ppRVar55 = (input_objects->relobj_list_).\n             super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_start;\n  if (ppRVar55 ==\n      (input_objects->relobj_list_).\n      super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish) {\n    local_1d8 = (undefined4 *)0x0;\n  }\n  else {\n    local_1c8 = (undefined4 *)0x0;\n    local_1b0 = (undefined4 *)0x0;\n    local_1d8 = (undefined4 *)0x0;\n    uVar4 = 0;\n    do {\n      pRVar6 = *ppRVar55;\n      pIVar7 = (pRVar6->super_Object).input_file_;\n      if (pIVar7 == (Input_file *)0x0) {\n        pRVar48 = pRVar6;\n        if ((pRVar6->super_Object).shnum_ != 0) goto LAB_00180a17;\n      }\n      else {\n                    /* try { // try from 00180a02 to 00180a06 has its CatchHandler @ 00181f33 */\n        File_read::lock(&pIVar7->file_,(Task *)0xffffffffffffffff);\n        pRVar48 = *ppRVar55;\n        if (((*ppRVar55)->super_Object).shnum_ != 0) {\nLAB_00180a17:\n          uVar56 = false;\n          uVar45 = 0;\n          uVar59 = true;\n          do {\n            uVar44 = (uint)uVar45;\n                    /* try { // try from 00180c4d to 00180c52 has its CatchHandler @ 00181f1d */\n            (*(pRVar48->super_Object)._vptr_Object[0x10])(&section_name,pRVar48,uVar45);\n            lVar38 = 5;\n            pbVar30 = (byte *)".text";\n            _Var50 = section_name._M_dataplus;\n            do {\n              if (lVar38 == 0) break;\n              lVar38 = lVar38 + -1;\n              uVar56 = *pbVar30 < (byte)*_Var50._M_p;\n              uVar59 = *pbVar30 == *_Var50._M_p;\n              pbVar30 = pbVar30 + (ulong)bVar61 * -2 + 1;\n              _Var50._M_p = (pointer)((byte *)_Var50._M_p + (ulong)bVar61 * -2 + 1);\n            } while ((bool)uVar59);\n            bVar57 = false;\n            bVar60 = (!(bool)uVar56 && !(bool)uVar59) == (bool)uVar56;\n            if (bVar60) {\nLAB_00180a28:\n              pRVar48 = *ppRVar55;\n              ppOVar8 = (pRVar48->output_sections_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_start;\n              if ((ulong)((long)(pRVar48->output_sections_).\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_finish - (long)ppOVar8 >> 3) <= uVar45) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181e47 to 00181e63 has its CatchHandler @ 00181f61 */\n                do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (ppOVar8[uVar45] == (Output_section *)0x0) goto LAB_00180c96;\n              pGVar25 = parameters->options_;\n              if (pGVar25 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((pGVar25->gc_sections_).value != false) {\n                section_cksum._M_h._M_bucket_count =\n                     CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n                section_cksum._M_h._M_buckets = (__bucket_type *)pRVar48;\n                iVar31 = std::\n                         _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                         ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                 *)&symtab->gc_->referenced_list_,(key_type *)&section_cksum);\n                if (iVar31.super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>.\n                    _M_cur == (__node_type *)0x0) goto LAB_00180c96;\n                pGVar25 = parameters->options_;\n                if (pGVar25 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00180e61 to 001811fa has its CatchHandler @ 00181f61 */\n                  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (pGVar25->icf_status_ == ICF_SAFE) {\n                pbVar30 = (byte *)strrchr(section_name._M_dataplus._M_p,0x2e);\n                bVar57 = false;\n                bVar60 = pbVar30 == (byte *)0x0;\n                if (bVar60) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181ef3 to 00181ef7 has its CatchHandler @ 00181f61 */\n                  do_gold_unreachable("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar38 = 4;\n                pbVar49 = &DAT_00373305;\n                pbVar52 = pbVar30;\n                do {\n                  if (lVar38 == 0) break;\n                  lVar38 = lVar38 + -1;\n                  bVar57 = *pbVar49 < *pbVar52;\n                  bVar60 = *pbVar49 == *pbVar52;\n                  pbVar49 = pbVar49 + (ulong)bVar61 * -2 + 1;\n                  pbVar52 = pbVar52 + (ulong)bVar61 * -2 + 1;\n                } while (bVar60);\n                bVar58 = false;\n                bVar57 = (!bVar57 && !bVar60) == bVar57;\n                if (bVar57) {\nLAB_00180f58:\n                  gVar20 = is_gnu_v3_mangled_ctor((char *)(pbVar30 + 1));\n                  if ((gVar20 != 0) ||\n                     (gVar21 = is_gnu_v3_mangled_dtor((char *)(pbVar30 + 1)), gVar21 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar38 = 4;\n                  pbVar49 = &DAT_0037330a;\n                  pbVar52 = pbVar30;\n                  do {\n                    if (lVar38 == 0) break;\n                    lVar38 = lVar38 + -1;\n                    bVar58 = *pbVar49 < *pbVar52;\n                    bVar57 = *pbVar49 == *pbVar52;\n                    pbVar49 = pbVar49 + (ulong)bVar61 * -2 + 1;\n                    pbVar52 = pbVar52 + (ulong)bVar61 * -2 + 1;\n                  } while (bVar57);\n                  if ((!bVar58 && !bVar57) == bVar58) goto LAB_00180f58;\n                }\n                if ((*(code **)(*(long *)pTVar5 + 0x90) !=\n                     Target::do_can_check_for_function_pointers) &&\n                   (cVar19 = (**(code **)(*(long *)pTVar5 + 0x90))(pTVar5), cVar19 != '\0')) {\n                  section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;\n                  section_cksum._M_h._M_bucket_count =\n                       CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n                  iVar31 = std::\n                           _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                           ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                   *)&this->fptr_section_id_,(key_type *)&section_cksum);\n                  if (iVar31.super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>\n                      ._M_cur == (__node_type *)0x0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                          &section_cksum;\n              section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;\n              __position._M_current =\n                   (this->id_section_).\n                   super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                   ._M_impl._M_finish;\n              section_cksum._M_h._M_bucket_count =\n                   CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n              if (__position._M_current ==\n                  (this->id_section_).\n                  super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                  ._M_impl._M_end_of_storage) {\n                std::\n                vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ::_M_realloc_insert<std::pair<gold::Relobj*,_unsigned_int>_>\n                          (&this->id_section_,__position,\n                           (pair<gold::Relobj*,_unsigned_int> *)local_1a8);\n              }\n              else {\n                (__position._M_current)->first = (Relobj *)section_cksum._M_h._M_buckets;\n                (__position._M_current)->second = uVar44;\n                (this->id_section_).\n                super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ._M_impl._M_finish = __position._M_current + 1;\n              }\n              section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;\n              section_cksum._M_h._M_bucket_count =\n                   CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n              p_Var26 = (_Hash_node_base *)((ulong)section_cksum._M_h._M_buckets ^ uVar45);\n              local_1a0 = (ulong)p_Var26 % (this->section_id_)._M_h._M_bucket_count;\n              p_Var27 = std::\n                        _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                        ::_M_find_before_node\n                                  ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                                    *)&this->section_id_,local_1a0,(key_type *)local_1a8,\n                                   (__hash_code)p_Var26);\n              if ((p_Var27 == (__node_base *)0x0) ||\n                 (p_Var28 = p_Var27->_M_nxt, p_Var28 == (_Hash_node_base *)0x0)) {\n                    /* try { // try from 00180cad to 00180cec has its CatchHandler @ 00181f61 */\n                p_Var28 = (_Hash_node_base *)operator_new(0x28);\n                uVar41 = (this->section_id_)._M_h._M_element_count;\n                p_Var28->_M_nxt = (_Hash_node_base *)0x0;\n                uVar42 = (this->section_id_)._M_h._M_bucket_count;\n                *(undefined4 *)&p_Var28[3]._M_nxt = 0;\n                p_Var28[1]._M_nxt = (_Hash_node_base *)section_cksum._M_h._M_buckets;\n                p_Var28[2]._M_nxt = (_Hash_node_base *)section_cksum._M_h._M_bucket_count;\n                cVar19 = std::__detail::_Prime_rehash_policy::_M_need_rehash\n                                   (&(this->section_id_)._M_h._M_rehash_policy,uVar42,uVar41,1);\n                if (cVar19 == '\0') {\n                  pp_Var29 = (this->section_id_)._M_h._M_buckets;\n                }\n                else {\n                  if (this_00 ==\n                      (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n                       *)0x1) {\n                    pp_Var29 = &(this->section_id_)._M_h._M_single_bucket;\n                    (this->section_id_)._M_h._M_single_bucket = (__bucket_type)0x0;\n                  }\n                  else {\n                    /* try { // try from 00180d0d to 00180d11 has its CatchHandler @ 00181f10 */\n                    pp_Var29 = std::__detail::\n                               _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n                               ::_M_allocate_buckets(this_00,uVar42);\n                  }\n                  p_Var39 = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                  (this->section_id_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n                  if (p_Var39 != (_Hash_node_base *)0x0) {\n                    uVar41 = 0;\n                    do {\n                      while( true ) {\n                        p_Var9 = p_Var39->_M_nxt;\n                        uVar42 = (ulong)p_Var39[4]._M_nxt % (ulong)this_00;\n                        pp_Var10 = pp_Var29 + uVar42;\n                        if (*pp_Var10 == (__bucket_type)0x0) break;\n                        p_Var39->_M_nxt = (*pp_Var10)->_M_nxt;\n                        (*pp_Var10)->_M_nxt = p_Var39;\n                        uVar42 = uVar41;\nLAB_00180d64:\n                        p_Var39 = p_Var9;\n                        uVar41 = uVar42;\n                        if (p_Var9 == (_Hash_node_base *)0x0) goto LAB_00180dc0;\n                      }\n                      p_Var39->_M_nxt = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                      (this->section_id_)._M_h._M_before_begin._M_nxt = p_Var39;\n                      *pp_Var10 = &(this->section_id_)._M_h._M_before_begin;\n                      if (p_Var39->_M_nxt == (_Hash_node_base *)0x0) goto LAB_00180d64;\n                      pp_Var29[uVar41] = p_Var39;\n                      p_Var39 = p_Var9;\n                      uVar41 = uVar42;\n                    } while (p_Var9 != (_Hash_node_base *)0x0);\n                  }\nLAB_00180dc0:\n                  pp_Var10 = (this->section_id_)._M_h._M_buckets;\n                  if (pp_Var10 != &(this->section_id_)._M_h._M_single_bucket) {\n                    operator_delete(pp_Var10);\n                  }\n                  (this->section_id_)._M_h._M_buckets = pp_Var29;\n                  local_1a0 = (ulong)p_Var26 % (ulong)this_00;\n                  (this->section_id_)._M_h._M_bucket_count = (size_type)this_00;\n                }\n                p_Var28[4]._M_nxt = p_Var26;\n                pp_Var10 = pp_Var29 + local_1a0;\n                if (*pp_Var10 == (__bucket_type)0x0) {\n                  p_Var26 = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                  (this->section_id_)._M_h._M_before_begin._M_nxt = p_Var28;\n                  p_Var28->_M_nxt = p_Var26;\n                  if (p_Var26 != (_Hash_node_base *)0x0) {\n                    pp_Var29[(ulong)p_Var26[4]._M_nxt % (this->section_id_)._M_h._M_bucket_count] =\n                         p_Var28;\n                  }\n                  *pp_Var10 = &(this->section_id_)._M_h._M_before_begin;\n                }\n                else {\n                  p_Var28->_M_nxt = (*pp_Var10)->_M_nxt;\n                  (*pp_Var10)->_M_nxt = p_Var28;\n                }\n                psVar1 = &(this->section_id_)._M_h._M_element_count;\n                *psVar1 = *psVar1 + 1;\n              }\n              puVar11 = (this->kept_section_id_).\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_finish;\n              *(uint *)&p_Var28[3]._M_nxt = uVar4;\n              if (puVar11 ==\n                  (this->kept_section_id_).\n                  super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                  _M_end_of_storage) {\n                __src = (this->kept_section_id_).\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start;\n                sVar32 = (long)puVar11 - (long)__src;\n                uVar41 = (long)sVar32 >> 2;\n                if (uVar41 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (pointer)operator_new(local_1d0);\n                  local_1e8 = (pointer)(local_1d0 + (long)__dest);\n                }\n                else {\n                  uVar42 = uVar41 * 2;\n                  if (uVar42 < uVar41) {\n                    local_1d0 = 0xfffffffffffffffc;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = 0xfffffffffffffffc;\n                  if (0x3fffffffffffffff < uVar42) goto LAB_00181065;\n                  if (uVar42 != 0) {\n                    local_1d0 = uVar41 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = (pointer)0x0;\n                  __dest = (pointer)0x0;\n                }\n                *(uint *)((long)__dest + sVar32) = uVar4;\n                puVar3 = (pointer)((long)__dest + sVar32 + 4);\n                if (puVar11 == __src) {\n                  if (__src != (pointer)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = (pointer)memmove(__dest,__src,sVar32);\nLAB_001810bd:\n                  operator_delete(__src);\n                }\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start =\n                     __dest;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n                     puVar3;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                _M_end_of_storage = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *puVar11 = uVar4;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n                     puVar11 + 1;\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar32 = (long)local_1b0 - (long)local_1d8;\n                uVar41 = (long)sVar32 >> 2;\n                if (uVar41 == 0) {\n                  uVar42 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)operator_new(uVar42);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + uVar42);\n                }\n                else {\n                  uVar34 = uVar41 * 2;\n                  if (uVar34 < uVar41) {\n                    uVar42 = 0xfffffffffffffffc;\n                    goto LAB_0018114e;\n                  }\n                  uVar42 = 0xfffffffffffffffc;\n                  if (0x3fffffffffffffff < uVar34) goto LAB_0018114e;\n                  if (uVar34 != 0) {\n                    uVar42 = uVar41 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar32) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar32 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar32);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar32 + 4);\nLAB_001811a1:\n                  operator_delete(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    /* try { // try from 00180b6b to 00180bee has its CatchHandler @ 00181f61 */\n              iVar24 = (*((*ppRVar55)->super_Object)._vptr_Object[0x17])(*ppRVar55,uVar45);\n              section_cksum._M_h._M_buckets = (__bucket_type *)CONCAT44(extraout_var,iVar24);\n              if (section_addraligns.\n                  super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                  _M_finish ==\n                  section_addraligns.\n                  super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                  _M_end_of_storage) {\n                std::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>::\n                _M_realloc_insert<long_unsigned_int>\n                          (&section_addraligns,\n                           (iterator)\n                           section_addraligns.\n                           super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n                           ._M_impl._M_finish,(ulong *)local_1a8);\n              }\n              else {\n                *section_addraligns.\n                 super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                 _M_finish = (ulong)section_cksum._M_h._M_buckets;\n                section_addraligns.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_finish = section_addraligns.\n                            super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n                            ._M_impl._M_finish + 1;\n              }\n              uVar22 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset;\n              p_Var18 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                        super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p;\n              if (is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p ==\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_end_of_storage) {\n                local_180 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>.\n                            _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base.\n                            _M_offset;\n                __position_00.super__Bit_iterator_base._12_4_ = uStack_17c;\n                __position_00.super__Bit_iterator_base._M_offset =\n                     is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                     super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset;\n                local_188 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>.\n                            _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p\n                ;\n                __position_00.super__Bit_iterator_base._M_p =\n                     is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                     super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p;\n                std::vector<bool,_std::allocator<bool>_>::_M_insert_aux\n                          (&is_secn_or_group_unique,__position_00,false);\n              }\n              else {\n                if (is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                    super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset == 0x3f) {\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset = 0;\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p + 1;\n                }\n                else {\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset + 1;\n                }\n                bVar13 = (byte)uVar22 & 0x3f;\n                *p_Var18 = *p_Var18 & (-2L << bVar13 | 0xfffffffffffffffeU >> 0x40 - bVar13);\n              }\n              section_cksum._M_h._M_buckets = &section_cksum._M_h._M_before_begin._M_nxt;\n              std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n              _M_construct<char_const*>(local_1a8,"");\n                    /* try { // try from 00180c00 to 00180c04 has its CatchHandler @ 00181f59 */\n              std::\n              vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              ::\n              emplace_back<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>\n                        (&section_contents,local_1a8);\n              if ((__node_base *)section_cksum._M_h._M_buckets !=\n                  &section_cksum._M_h._M_before_begin) {\n                operator_delete(section_cksum._M_h._M_buckets);\n              }\n              uVar4 = uVar4 + 1;\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)section_name._M_dataplus._M_p != &section_name.field_2) goto LAB_00180c31;\n            }\n            else {\n              lVar38 = 0xf;\n              pbVar30 = (byte *)".gnu.linkonce.t";\n              _Var50 = section_name._M_dataplus;\n              do {\n                if (lVar38 == 0) break;\n                lVar38 = lVar38 + -1;\n                bVar57 = *pbVar30 < (byte)*_Var50._M_p;\n                bVar60 = *pbVar30 == *_Var50._M_p;\n                pbVar30 = pbVar30 + (ulong)bVar61 * -2 + 1;\n                _Var50._M_p = (pointer)((byte *)_Var50._M_p + (ulong)bVar61 * -2 + 1);\n              } while (bVar60);\n              if ((!bVar57 && !bVar60) == bVar57) goto LAB_00180a28;\nLAB_00180c96:\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)section_name._M_dataplus._M_p != &section_name.field_2) {\nLAB_00180c31:\n                operator_delete(section_name._M_dataplus._M_p);\n              }\n            }\n            pRVar48 = *ppRVar55;\n            uVar44 = uVar44 + 1;\n            uVar45 = (ulong)uVar44;\n            uVar22 = (pRVar48->super_Object).shnum_;\n            uVar56 = uVar44 < uVar22;\n            uVar59 = uVar44 == uVar22;\n          } while ((bool)uVar56);\n        }\n        pIVar7 = (pRVar6->super_Object).input_file_;\n        if (pIVar7 != (Input_file *)0x0) {\n          File_read::unlock(&pIVar7->file_,(Task *)0xffffffffffffffff);\n        }\n      }\n      ppRVar55 = ppRVar55 + 1;\n    } while ((input_objects->relobj_list_).\n             super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish !=\n             ppRVar55);\n  }\n  if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n  }\n  uVar4 = 0;\n  uVar44 = (parameters->options_->icf_iterations_).value;\n  uVar22 = 2;\n  if (0 < (int)uVar44) {\n    uVar22 = uVar44;\n  }\n  paVar33 = &this_secn_contents.field_2;\n  do {\n    uVar4 = uVar4 + 1;\n    section_cksum._M_h._M_bucket_count = 1;\n    section_cksum._M_h._M_buckets = &section_cksum._M_h._M_single_bucket;\n    section_cksum._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n    section_cksum._M_h._M_element_count = 0;\n    section_cksum._M_h._M_rehash_policy._M_max_load_factor = 1.0;\n    section_cksum._M_h._M_rehash_policy._M_next_resize = 0;\n    section_cksum._M_h._M_single_bucket = (__bucket_type)0x0;\n    if (uVar4 == 1) {\n      pvVar51 = &is_secn_or_group_unique;\n                    /* try { // try from 00181c11 to 00181c15 has its CatchHandler @ 00181f8d */\n      preprocess_for_unique_sections\n                (&this->id_section_,&is_secn_or_group_unique,\n                 (vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                  *)0x0);\n      iVar24 = (int)pvVar51;\n    }\n    else {\n      pvVar51 = &is_secn_or_group_unique;\n                    /* try { // try from 00181355 to 00181359 has its CatchHandler @ 00181f8d */\n      preprocess_for_unique_sections(&this->id_section_,&is_secn_or_group_unique,&section_contents);\n      iVar24 = (int)pvVar51;\n    }\n    full_section_contents.\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n    ._M_impl._M_start = (pointer)0x0;\n    full_section_contents.\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n    ._M_impl._M_finish = (pointer)0x0;\n    full_section_contents.\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0;\n    if ((this->id_section_).\n        super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n        ._M_impl._M_finish ==\n        (this->id_section_).\n        super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n        ._M_impl._M_start) {\n      std::\n      _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_false>_>\n      ::~_Hashtable(&section_cksum._M_h,iVar24);\n      bVar57 = true;\n      break;\n    }\n    uVar45 = 0;\n    bVar57 = true;\n    uVar44 = 0;\n    do {\n      section_name._M_dataplus._M_p = (pointer)&section_name.field_2;\n                    /* try { // try from 00181402 to 00181406 has its CatchHandler @ 00181f77 */\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>(&section_name,"");\n      _Var50._M_p = (pointer)&section_name;\n                    /* try { // try from 00181411 to 00181415 has its CatchHandler @ 00181f51 */\n      std::\n      vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ::\n      emplace_back<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>\n                (&full_section_contents,&section_name);\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)section_name._M_dataplus._M_p != &section_name.field_2) {\n        operator_delete(section_name._M_dataplus._M_p);\n      }\n      local_1a0._0_1_ = (byte)uVar44;\n      uVar41 = 1L << ((byte)local_1a0 & 0x3f);\n      ppVar40 = (this->id_section_).\n                super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ._M_impl._M_start;\n      if ((uVar41 & is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                    super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar45 >> 6]) ==\n          0) {\n        ppVar2 = ppVar40 + uVar45;\n        secn.first = ppVar2->first;\n        secn.second = ppVar2->second;\n        secn._12_4_ = *(undefined4 *)&ppVar2->field_0xc;\n        this_secn_contents._M_string_length = 0;\n        this_secn_contents.field_2._M_allocated_capacity =\n             this_secn_contents.field_2._M_allocated_capacity & 0xffffffffffffff00;\n        this_secn_contents._M_dataplus._M_p = (pointer)paVar33;\n        if (uVar4 == 1) {\n          _num_relocs = _num_relocs & 0xffffffff00000000;\n          get_section_contents\n                    (&section_name,true,&secn,uVar44,&num_relocs,symtab,&this->kept_section_id_,\n                     &section_contents);\n          uVar17 = this_secn_contents.field_2._M_allocated_capacity;\n          _Var50._M_p = this_secn_contents._M_dataplus._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)section_name._M_dataplus._M_p == &section_name.field_2) {\n            sVar43 = section_name._M_string_length;\n            if (section_name._M_string_length != 0) {\n              if (section_name._M_string_length == 1) {\n                *this_secn_contents._M_dataplus._M_p = section_name.field_2._M_local_buf[0];\n                sVar43 = section_name._M_string_length;\n              }\n              else {\n                memcpy(this_secn_contents._M_dataplus._M_p,section_name._M_dataplus._M_p,\n                       section_name._M_string_length);\n                sVar43 = section_name._M_string_length;\n              }\n            }\n            this_secn_contents._M_dataplus._M_p[sVar43] = '\0';\n            this_secn_contents._M_string_length = sVar43;\n          }\n          else {\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)this_secn_contents._M_dataplus._M_p != paVar33) {\n              this_secn_contents._M_dataplus = section_name._M_dataplus;\n              this_secn_contents._M_string_length = section_name._M_string_length;\n              this_secn_contents.field_2._M_allocated_capacity =\n                   section_name.field_2._M_allocated_capacity;\n              if (_Var50._M_p != (pointer)0x0) {\n                section_name._M_dataplus = _Var50;\n                section_name.field_2._M_allocated_capacity = uVar17;\n                goto LAB_00181993;\n              }\n            }\n            this_secn_contents.field_2._M_allocated_capacity =\n                 section_name.field_2._M_allocated_capacity;\n            this_secn_contents._M_string_length = section_name._M_string_length;\n            this_secn_contents._M_dataplus = section_name._M_dataplus;\n            section_name._M_dataplus._M_p = (pointer)&section_name.field_2;\n          }\nLAB_00181993:\n          section_name._M_string_length = 0;\n          *section_name._M_dataplus._M_p = '\0';\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)section_name._M_dataplus._M_p != &section_name.field_2) {\n            operator_delete(section_name._M_dataplus._M_p);\n          }\n          local_1d8[uVar45] = num_relocs;\n        }\n        else {\n          if (uVar44 != (this->kept_section_id_).\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start[uVar45]) goto LAB_001813c8;\n                    /* try { // try from 001814fb to 00181926 has its CatchHandler @ 00181f49 */\n          get_section_contents\n                    ((string *)&num_relocs,false,&secn,uVar44,(uint *)0x0,symtab,\n                     &this->kept_section_id_,&section_contents);\n          uVar17 = this_secn_contents.field_2._M_allocated_capacity;\n          _Var50._M_p = this_secn_contents._M_dataplus._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)_num_relocs == &local_d8) {\n            sVar32 = local_e0;\n            if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *this_secn_contents._M_dataplus._M_p = local_d8._M_local_buf[0];\n                sVar32 = local_e0;\n              }\n              else {\n                memcpy(this_secn_contents._M_dataplus._M_p,_num_relocs,local_e0);\n                sVar32 = local_e0;\n              }\n            }\n            this_secn_contents._M_dataplus._M_p[sVar32] = '\0';\n            this_secn_contents._M_string_length = sVar32;\n          }\n          else {\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)this_secn_contents._M_dataplus._M_p != paVar33) {\n              this_secn_contents._M_dataplus._M_p = _num_relocs;\n              this_secn_contents._M_string_length = local_e0;\n              this_secn_contents.field_2._M_allocated_capacity = local_d8._M_allocated_capacity;\n              if (_Var50._M_p != (pointer)0x0) {\n                _num_relocs = _Var50._M_p;\n                local_d8._M_allocated_capacity = uVar17;\n                goto LAB_0018156c;\n              }\n            }\n            this_secn_contents.field_2._M_allocated_capacity = local_d8._M_allocated_capacity;\n            this_secn_contents._M_string_length = local_e0;\n            this_secn_contents._M_dataplus._M_p = _num_relocs;\n            _num_relocs = (pointer)&local_d8;\n          }\nLAB_0018156c:\n          local_e0 = 0;\n          *_num_relocs = '\0';\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)_num_relocs != &local_d8) {\n            operator_delete(_num_relocs);\n          }\n        }\n        uVar23 = xcrc32((uchar *)this_secn_contents._M_dataplus._M_p,\n                        (int)this_secn_contents._M_string_length,0xffffffff);\n        uVar42 = (ulong)uVar23 % section_cksum._M_h._M_bucket_count;\n        cksum = uVar23;\n        if ((section_cksum._M_h._M_buckets[uVar42] == (__bucket_type)0x0) ||\n           (p_Var26 = section_cksum._M_h._M_buckets[uVar42]->_M_nxt,\n           p_Var26 == (_Hash_node_base *)0x0)) {\nLAB_00181638:\n          p_Var35 = (__node_type *)operator_new(0x10);\n          *(uint *)&(p_Var35->\n                    super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n                    _M_storage._M_storage = uVar23;\n          (p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n          super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;\n          *(uint *)((long)&(p_Var35->\n                           super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>\n                           )._M_storage._M_storage + 4) = uVar44;\n          std::\n          _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_false>_>\n          ::_M_insert_multi_node(&section_cksum._M_h,(__node_type *)0x0,(ulong)uVar23,p_Var35);\n        }\n        else {\n          uVar34 = (ulong)*(uint *)&p_Var26[1]._M_nxt;\n          lVar38 = 0;\n          do {\n            if (uVar23 == (uint)uVar34) {\n              p_Var26 = p_Var26->_M_nxt;\n              lVar38 = lVar38 + 1;\n              lVar46 = lVar38;\n            }\n            else {\n              if (lVar38 != 0) goto LAB_00181742;\n              p_Var26 = p_Var26->_M_nxt;\n              lVar46 = 0;\n            }\n          } while ((p_Var26 != (_Hash_node_base *)0x0) &&\n                  (uVar34 = (ulong)*(uint *)&p_Var26[1]._M_nxt, lVar46 = lVar38,\n                  uVar42 == uVar34 % section_cksum._M_h._M_bucket_count));\n          if (lVar46 == 0) goto LAB_00181638;\nLAB_00181742:\n          pVar62 = std::\n                   _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_false>_>\n                   ::equal_range(&section_cksum._M_h,&cksum);\n          sVar43 = this_secn_contents._M_string_length;\n          __s2 = this_secn_contents._M_dataplus;\n          pbVar15 = full_section_contents.\n                    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                    ._M_impl._M_start;\n          if ((__node_type *)pVar62.first !=\n              pVar62.second.\n              super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>) {\n            do {\n              local_1f0 = pVar62.second;\n              _Var54 = pVar62.first;\n              uVar23 = *(uint *)((long)_Var54.\n                                       super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                       ._M_cur + 0xc);\n              pbVar47 = pbVar15 + uVar23;\n              if ((pbVar47->_M_string_length == sVar43) &&\n                 (_Var50 = __s2, iVar24 = memcmp((pbVar47->_M_dataplus)._M_p,__s2._M_p,sVar43),\n                 iVar24 == 0)) {\n                puVar11 = (this->kept_section_id_).\n                          super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                          _M_start;\n                if (section_addraligns.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar23] <\n                    section_addraligns.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar45]) {\n                  puVar11[uVar23] = uVar44;\n                  _Var50._M_p = (pointer)(pbVar15 + uVar45);\n                  *(uint *)((long)_Var54.\n                                  super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                  ._M_cur + 0xc) = uVar44;\n                  std::string::swap((string *)pbVar47,(string *)_Var50._M_p);\n                  bVar57 = false;\n                }\n                else {\n                  puVar11[uVar45] = uVar23;\n                  bVar57 = false;\n                }\n                goto joined_r0x00181835;\n              }\n              pVar62.second.\n              super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>._M_cur =\n                   local_1f0.\n                   super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>.\n                   _M_cur;\n              pVar62.first.\n              super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>._M_cur =\n                   (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>)\n                   (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>)\n                   *(__node_type **)\n                    _Var54.\n                    super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>.\n                    _M_cur;\n            } while (local_1f0.\n                     super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>.\n                     _M_cur != (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                )*(__node_type **)\n                                  _Var54.\n                                  super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                  ._M_cur);\n          }\n          uVar16 = cksum;\n          p_Var35 = (__node_type *)operator_new(0x10);\n          (p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n          _M_storage._M_storage.__align = (anon_struct_4_0_00000001_for___align)uVar16;\n          (p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n          super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;\n          *(uint *)((long)&(p_Var35->\n                           super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>\n                           )._M_storage._M_storage + 4) = uVar44;\n          std::\n          _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_false>_>\n          ::_M_insert_multi_node(&section_cksum._M_h,(__node_type *)0x0,(ulong)uVar16,p_Var35);\n        }\n        _Var50._M_p = (pointer)&this_secn_contents;\n        std::string::_M_assign\n                  ((string *)\n                   (full_section_contents.\n                    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                    ._M_impl._M_start + uVar45),(string *)&this_secn_contents);\njoined_r0x00181835:\n        if ((uVar4 == 1) && (local_1d8[uVar45] == 0)) {\n          is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n          super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar45 >> 6] =\n               is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n               super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar45 >> 6] | uVar41\n          ;\n        }\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)this_secn_contents._M_dataplus._M_p != paVar33) {\n          operator_delete(this_secn_contents._M_dataplus._M_p);\n        }\n        ppVar40 = (this->id_section_).\n                  super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                  ._M_impl._M_start;\n      }\nLAB_001813c8:\n      pbVar15 = full_section_contents.\n                super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                ._M_impl._M_finish;\n      uVar44 = uVar44 + 1;\n      uVar45 = (ulong)uVar44;\n      uVar41 = (long)(this->id_section_).\n                     super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                     ._M_impl._M_finish - (long)ppVar40 >> 4;\n    } while (uVar45 < uVar41);\n    if (uVar41 != 0) {\n      _Var50._M_p = (pointer)(this->kept_section_id_).\n                             super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl\n                             ._M_start;\n      uVar42 = 0;\n      uVar45 = uVar42;\n      do {\n        do {\n          uVar23 = (uint)uVar42;\n          uVar44 = *(uint *)((long)&(((string *)_Var50._M_p)->_M_dataplus)._M_p + uVar42 * 4);\n          uVar42 = (ulong)uVar44;\n        } while (uVar23 != uVar44);\n        puVar14 = (uint *)((long)&(((string *)_Var50._M_p)->_M_dataplus)._M_p + uVar45 * 4);\n        uVar23 = *puVar14;\n        while (uVar23 != uVar44) {\n          *puVar14 = uVar44;\n          puVar14 = (uint *)((long)&(((string *)_Var50._M_p)->_M_dataplus)._M_p + (ulong)uVar23 * 4)\n          ;\n          uVar23 = *puVar14;\n        }\n        uVar42 = (ulong)((int)uVar45 + 1);\n        uVar45 = uVar42;\n      } while (uVar42 < uVar41);\n    }\n    iVar24 = (int)_Var50._M_p;\n    for (pbVar47 = full_section_contents.\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   ._M_impl._M_start; pbVar47 != pbVar15; pbVar47 = pbVar47 + 1) {\n      pcVar12 = (pbVar47->_M_dataplus)._M_p;\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)pcVar12 != &pbVar47->field_2) {\n        operator_delete(pcVar12);\n      }\n      iVar24 = (int)_Var50._M_p;\n    }\n    if (full_section_contents.\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_start != (pointer)0x0) {\n      operator_delete(full_section_contents.\n                      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                      ._M_impl._M_start);\n    }\n    std::\n    _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_false>_>\n    ::~_Hashtable(&section_cksum._M_h,iVar24);\n  } while (uVar4 < uVar22 && !bVar57);\n  pcVar37 = program_name;\n  pGVar25 = parameters->options_;\n  if (pGVar25 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n  }\n  if ((pGVar25->print_icf_sections_).value != false) {\n    pcVar53 = "%s: ICF Converged after %u iteration(s)";\n    if (!bVar57) {\n      pcVar53 = "%s: ICF stopped after %u iteration(s)";\n    }\n    pcVar53 = (char *)gettext(pcVar53);\n                    /* try { // try from 00181db6 to 00181de6 has its CatchHandler @ 00181f33 */\n    gold_info(pcVar53,pcVar37,uVar4);\n    pGVar25 = parameters->options_;\n    if (pGVar25 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n    }\n  }\n  p_Var26 = (pGVar25->keep_unique_).value._M_h._M_before_begin._M_nxt;\n  pbVar15 = section_contents.\n            super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n            ._M_impl._M_finish;\n  do {\n    section_contents.\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n    ._M_impl._M_finish = pbVar15;\n    if (p_Var26 == (_Hash_node_base *)0x0) {\n      this->icf_ready_ = true;\n      for (pbVar47 = section_contents.\n                     super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                     ._M_impl._M_start; pbVar15 != pbVar47; pbVar47 = pbVar47 + 1) {\n        pcVar12 = (pbVar47->_M_dataplus)._M_p;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)pcVar12 != &pbVar47->field_2) {\n          operator_delete(pcVar12);\n        }\n      }\n      if (section_contents.\n          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n          ._M_impl._M_start != (pointer)0x0) {\n        operator_delete(section_contents.\n                        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                        ._M_impl._M_start);\n      }\n      if (is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n          super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p != (_Bit_type *)0x0) {\n        operator_delete(is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                        super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p);\n      }\n      if (section_addraligns.\n          super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl._M_start\n          != (pointer)0x0) {\n        operator_delete(section_addraligns.\n                        super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                        _M_impl._M_start);\n      }\n      if (local_1d8 != (undefined4 *)0x0) {\n        operator_delete(local_1d8);\n      }\n      return;\n    }\n    p_Var28 = p_Var26[1]._M_nxt;\n                    /* try { // try from 00181b61 to 00181b7f has its CatchHandler @ 00181f33 */\n    pSVar36 = Symbol_table::lookup(symtab,(char *)p_Var28,(char *)0x0);\n    if (pSVar36 == (Symbol *)0x0) {\n      pcVar37 = (char *)gettext("Could not find symbol %s to unfold\n");\n      gold_warning(pcVar37,p_Var28);\n    }\n    else if ((((pSVar36->field_0x3a & 7) == 0) &&\n             ((((Object *)((pSVar36->u1_).output_segment)->output_lists_)->field_0x3c & 1) == 0)) &&\n            ((pSVar36->field_0x3b & 0x20) != 0)) {\n      unfold_section(this,(Relobj *)(pSVar36->u1_).output_segment,(pSVar36->u2_).shndx);\n    }\n    p_Var26 = p_Var26->_M_nxt;\n    pbVar15 = section_contents.\n              super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              ._M_impl._M_finish;\n  } while (parameters->options_ != (General_options *)0x0);\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181eab to 00181edf has its CatchHandler @ 00181f33 */\n  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Icf::" identifier : : identifier : :) (function_declarator "find_identical_sections(Icf *this,Input_objects *input_objects,Symbol_table *symtab)" identifier (parameter_list "(Icf *this,Input_objects *input_objects,Symbol_table *symtab)" ( (parameter_declaration "Icf *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Input_objects *input_objects" type_identifier (pointer_declarator "*input_objects" * identifier)) , (parameter_declaration "Symbol_table *symtab" type_identifier (pointer_declarator "*symtab" * identifier)) ))) (compound_statement "{\n  size_type *psVar1;\n  pointer ppVar2;\n  pointer puVar3;\n  uint uVar4;\n  Target *pTVar5;\n  Relobj *pRVar6;\n  Input_file *pIVar7;\n  pointer ppOVar8;\n  iterator __position;\n  _Hash_node_base *p_Var9;\n  __bucket_type *pp_Var10;\n  pointer __src;\n  pointer puVar11;\n  pointer pcVar12;\n  byte bVar13;\n  uint *puVar14;\n  pointer pbVar15;\n  uint32_t uVar16;\n  _Alloc_hider __s2;\n  undefined8 uVar17;\n  _Bit_type *p_Var18;\n  char cVar19;\n  gnu_v3_ctor_kinds gVar20;\n  gnu_v3_dtor_kinds gVar21;\n  uint uVar22;\n  uint uVar23;\n  int iVar24;\n  General_options *pGVar25;\n  _Hash_node_base *p_Var26;\n  __node_base *p_Var27;\n  undefined4 extraout_var;\n  _Hash_node_base *p_Var28;\n  __bucket_type *pp_Var29;\n  byte *pbVar30;\n  iterator iVar31;\n  pointer __dest;\n  size_t sVar32;\n  undefined4 *__dest_00;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *paVar33;\n  ulong uVar34;\n  __node_type *p_Var35;\n  Symbol *pSVar36;\n  char *pcVar37;\n  long lVar38;\n  _Hash_node_base *p_Var39;\n  pointer ppVar40;\n  _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n  *this_00;\n  ulong uVar41;\n  ulong uVar42;\n  size_type sVar43;\n  uint uVar44;\n  ulong uVar45;\n  long lVar46;\n  pointer pbVar47;\n  Relobj *pRVar48;\n  byte *pbVar49;\n  _Alloc_hider _Var50;\n  vector<bool,_std::allocator<bool>_> *pvVar51;\n  byte *pbVar52;\n  char *pcVar53;\n  _Node_iterator<std::pair<unsigned_int_const,_unsigned_int>,_false,_false> _Var54;\n  pointer ppRVar55;\n  undefined1 uVar56;\n  bool bVar57;\n  bool bVar58;\n  undefined1 uVar59;\n  bool bVar60;\n  byte bVar61;\n  pair<std::__detail::_Node_iterator<std::pair<unsigned_int_const,_unsigned_int>,_false,_false>,_std::__detail::_Node_iterator<std::pair<unsigned_int_const,_unsigned_int>,_false,_false>_>\n  pVar62;\n  iterator __position_00;\n  _Node_iterator<std::pair<unsigned_int_const,_unsigned_int>,_false,_false> local_1f0;\n  pointer local_1e8;\n  undefined4 *local_1d8;\n  ulong local_1d0;\n  undefined4 *local_1c8;\n  undefined4 *local_1b0;\n  basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *local_1a8;\n  ulong local_1a0;\n  uint32_t cksum;\n  _Bit_type *local_188;\n  uint local_180;\n  undefined4 uStack_17c;\n  Section_id secn;\n  vector<long_unsigned_int,_std::allocator<long_unsigned_int>_> section_addraligns;\n  vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n  section_contents;\n  vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n  full_section_contents;\n  string this_secn_contents;\n  uint num_relocs;\n  size_t local_e0;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  local_d8;\n  string section_name;\n  vector<bool,_std::allocator<bool>_> is_secn_or_group_unique;\n  unordered_multimap<unsigned_int,_unsigned_int,_std::hash<unsigned_int>,_std::equal_to<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>_>\n  section_cksum;\n  \n  bVar61 = 0;\n  pTVar5 = parameters->target_;\n  section_addraligns.super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n  _M_impl._M_start = (pointer)0x0;\n  section_addraligns.super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n  _M_impl._M_finish = (pointer)0x0;\n  section_addraligns.super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n  _M_impl._M_end_of_storage = (pointer)0x0;\n  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n  super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p = (_Bit_type *)0x0;\n  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n  super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset = 0;\n  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p = (_Bit_type *)0x0;\n  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset = 0;\n  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n  super__Bvector_impl_data._M_end_of_storage = (_Bit_pointer)0x0;\n  section_contents.\n  super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n  ._M_impl._M_start = (pointer)0x0;\n  section_contents.\n  super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n  ._M_impl._M_finish = (pointer)0x0;\n  section_contents.\n  super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n  ._M_impl._M_end_of_storage = (pointer)0x0;\n  if (pTVar5 == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181f0b to 00181f0f has its CatchHandler @ 00181f15 */\n    do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n  }\n  ppRVar55 = (input_objects->relobj_list_).\n             super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_start;\n  if (ppRVar55 ==\n      (input_objects->relobj_list_).\n      super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish) {\n    local_1d8 = (undefined4 *)0x0;\n  }\n  else {\n    local_1c8 = (undefined4 *)0x0;\n    local_1b0 = (undefined4 *)0x0;\n    local_1d8 = (undefined4 *)0x0;\n    uVar4 = 0;\n    do {\n      pRVar6 = *ppRVar55;\n      pIVar7 = (pRVar6->super_Object).input_file_;\n      if (pIVar7 == (Input_file *)0x0) {\n        pRVar48 = pRVar6;\n        if ((pRVar6->super_Object).shnum_ != 0) goto LAB_00180a17;\n      }\n      else {\n                    /* try { // try from 00180a02 to 00180a06 has its CatchHandler @ 00181f33 */\n        File_read::lock(&pIVar7->file_,(Task *)0xffffffffffffffff);\n        pRVar48 = *ppRVar55;\n        if (((*ppRVar55)->super_Object).shnum_ != 0) {\nLAB_00180a17:\n          uVar56 = false;\n          uVar45 = 0;\n          uVar59 = true;\n          do {\n            uVar44 = (uint)uVar45;\n                    /* try { // try from 00180c4d to 00180c52 has its CatchHandler @ 00181f1d */\n            (*(pRVar48->super_Object)._vptr_Object[0x10])(&section_name,pRVar48,uVar45);\n            lVar38 = 5;\n            pbVar30 = (byte *)".text";\n            _Var50 = section_name._M_dataplus;\n            do {\n              if (lVar38 == 0) break;\n              lVar38 = lVar38 + -1;\n              uVar56 = *pbVar30 < (byte)*_Var50._M_p;\n              uVar59 = *pbVar30 == *_Var50._M_p;\n              pbVar30 = pbVar30 + (ulong)bVar61 * -2 + 1;\n              _Var50._M_p = (pointer)((byte *)_Var50._M_p + (ulong)bVar61 * -2 + 1);\n            } while ((bool)uVar59);\n            bVar57 = false;\n            bVar60 = (!(bool)uVar56 && !(bool)uVar59) == (bool)uVar56;\n            if (bVar60) {\nLAB_00180a28:\n              pRVar48 = *ppRVar55;\n              ppOVar8 = (pRVar48->output_sections_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_start;\n              if ((ulong)((long)(pRVar48->output_sections_).\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_finish - (long)ppOVar8 >> 3) <= uVar45) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181e47 to 00181e63 has its CatchHandler @ 00181f61 */\n                do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (ppOVar8[uVar45] == (Output_section *)0x0) goto LAB_00180c96;\n              pGVar25 = parameters->options_;\n              if (pGVar25 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((pGVar25->gc_sections_).value != false) {\n                section_cksum._M_h._M_bucket_count =\n                     CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n                section_cksum._M_h._M_buckets = (__bucket_type *)pRVar48;\n                iVar31 = std::\n                         _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                         ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                 *)&symtab->gc_->referenced_list_,(key_type *)&section_cksum);\n                if (iVar31.super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>.\n                    _M_cur == (__node_type *)0x0) goto LAB_00180c96;\n                pGVar25 = parameters->options_;\n                if (pGVar25 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00180e61 to 001811fa has its CatchHandler @ 00181f61 */\n                  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (pGVar25->icf_status_ == ICF_SAFE) {\n                pbVar30 = (byte *)strrchr(section_name._M_dataplus._M_p,0x2e);\n                bVar57 = false;\n                bVar60 = pbVar30 == (byte *)0x0;\n                if (bVar60) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181ef3 to 00181ef7 has its CatchHandler @ 00181f61 */\n                  do_gold_unreachable("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar38 = 4;\n                pbVar49 = &DAT_00373305;\n                pbVar52 = pbVar30;\n                do {\n                  if (lVar38 == 0) break;\n                  lVar38 = lVar38 + -1;\n                  bVar57 = *pbVar49 < *pbVar52;\n                  bVar60 = *pbVar49 == *pbVar52;\n                  pbVar49 = pbVar49 + (ulong)bVar61 * -2 + 1;\n                  pbVar52 = pbVar52 + (ulong)bVar61 * -2 + 1;\n                } while (bVar60);\n                bVar58 = false;\n                bVar57 = (!bVar57 && !bVar60) == bVar57;\n                if (bVar57) {\nLAB_00180f58:\n                  gVar20 = is_gnu_v3_mangled_ctor((char *)(pbVar30 + 1));\n                  if ((gVar20 != 0) ||\n                     (gVar21 = is_gnu_v3_mangled_dtor((char *)(pbVar30 + 1)), gVar21 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar38 = 4;\n                  pbVar49 = &DAT_0037330a;\n                  pbVar52 = pbVar30;\n                  do {\n                    if (lVar38 == 0) break;\n                    lVar38 = lVar38 + -1;\n                    bVar58 = *pbVar49 < *pbVar52;\n                    bVar57 = *pbVar49 == *pbVar52;\n                    pbVar49 = pbVar49 + (ulong)bVar61 * -2 + 1;\n                    pbVar52 = pbVar52 + (ulong)bVar61 * -2 + 1;\n                  } while (bVar57);\n                  if ((!bVar58 && !bVar57) == bVar58) goto LAB_00180f58;\n                }\n                if ((*(code **)(*(long *)pTVar5 + 0x90) !=\n                     Target::do_can_check_for_function_pointers) &&\n                   (cVar19 = (**(code **)(*(long *)pTVar5 + 0x90))(pTVar5), cVar19 != '\0')) {\n                  section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;\n                  section_cksum._M_h._M_bucket_count =\n                       CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n                  iVar31 = std::\n                           _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                           ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                   *)&this->fptr_section_id_,(key_type *)&section_cksum);\n                  if (iVar31.super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>\n                      ._M_cur == (__node_type *)0x0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                          &section_cksum;\n              section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;\n              __position._M_current =\n                   (this->id_section_).\n                   super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                   ._M_impl._M_finish;\n              section_cksum._M_h._M_bucket_count =\n                   CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n              if (__position._M_current ==\n                  (this->id_section_).\n                  super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                  ._M_impl._M_end_of_storage) {\n                std::\n                vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ::_M_realloc_insert<std::pair<gold::Relobj*,_unsigned_int>_>\n                          (&this->id_section_,__position,\n                           (pair<gold::Relobj*,_unsigned_int> *)local_1a8);\n              }\n              else {\n                (__position._M_current)->first = (Relobj *)section_cksum._M_h._M_buckets;\n                (__position._M_current)->second = uVar44;\n                (this->id_section_).\n                super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ._M_impl._M_finish = __position._M_current + 1;\n              }\n              section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;\n              section_cksum._M_h._M_bucket_count =\n                   CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n              p_Var26 = (_Hash_node_base *)((ulong)section_cksum._M_h._M_buckets ^ uVar45);\n              local_1a0 = (ulong)p_Var26 % (this->section_id_)._M_h._M_bucket_count;\n              p_Var27 = std::\n                        _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                        ::_M_find_before_node\n                                  ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                                    *)&this->section_id_,local_1a0,(key_type *)local_1a8,\n                                   (__hash_code)p_Var26);\n              if ((p_Var27 == (__node_base *)0x0) ||\n                 (p_Var28 = p_Var27->_M_nxt, p_Var28 == (_Hash_node_base *)0x0)) {\n                    /* try { // try from 00180cad to 00180cec has its CatchHandler @ 00181f61 */\n                p_Var28 = (_Hash_node_base *)operator_new(0x28);\n                uVar41 = (this->section_id_)._M_h._M_element_count;\n                p_Var28->_M_nxt = (_Hash_node_base *)0x0;\n                uVar42 = (this->section_id_)._M_h._M_bucket_count;\n                *(undefined4 *)&p_Var28[3]._M_nxt = 0;\n                p_Var28[1]._M_nxt = (_Hash_node_base *)section_cksum._M_h._M_buckets;\n                p_Var28[2]._M_nxt = (_Hash_node_base *)section_cksum._M_h._M_bucket_count;\n                cVar19 = std::__detail::_Prime_rehash_policy::_M_need_rehash\n                                   (&(this->section_id_)._M_h._M_rehash_policy,uVar42,uVar41,1);\n                if (cVar19 == '\0') {\n                  pp_Var29 = (this->section_id_)._M_h._M_buckets;\n                }\n                else {\n                  if (this_00 ==\n                      (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n                       *)0x1) {\n                    pp_Var29 = &(this->section_id_)._M_h._M_single_bucket;\n                    (this->section_id_)._M_h._M_single_bucket = (__bucket_type)0x0;\n                  }\n                  else {\n                    /* try { // try from 00180d0d to 00180d11 has its CatchHandler @ 00181f10 */\n                    pp_Var29 = std::__detail::\n                               _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n                               ::_M_allocate_buckets(this_00,uVar42);\n                  }\n                  p_Var39 = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                  (this->section_id_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n                  if (p_Var39 != (_Hash_node_base *)0x0) {\n                    uVar41 = 0;\n                    do {\n                      while( true ) {\n                        p_Var9 = p_Var39->_M_nxt;\n                        uVar42 = (ulong)p_Var39[4]._M_nxt % (ulong)this_00;\n                        pp_Var10 = pp_Var29 + uVar42;\n                        if (*pp_Var10 == (__bucket_type)0x0) break;\n                        p_Var39->_M_nxt = (*pp_Var10)->_M_nxt;\n                        (*pp_Var10)->_M_nxt = p_Var39;\n                        uVar42 = uVar41;\nLAB_00180d64:\n                        p_Var39 = p_Var9;\n                        uVar41 = uVar42;\n                        if (p_Var9 == (_Hash_node_base *)0x0) goto LAB_00180dc0;\n                      }\n                      p_Var39->_M_nxt = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                      (this->section_id_)._M_h._M_before_begin._M_nxt = p_Var39;\n                      *pp_Var10 = &(this->section_id_)._M_h._M_before_begin;\n                      if (p_Var39->_M_nxt == (_Hash_node_base *)0x0) goto LAB_00180d64;\n                      pp_Var29[uVar41] = p_Var39;\n                      p_Var39 = p_Var9;\n                      uVar41 = uVar42;\n                    } while (p_Var9 != (_Hash_node_base *)0x0);\n                  }\nLAB_00180dc0:\n                  pp_Var10 = (this->section_id_)._M_h._M_buckets;\n                  if (pp_Var10 != &(this->section_id_)._M_h._M_single_bucket) {\n                    operator_delete(pp_Var10);\n                  }\n                  (this->section_id_)._M_h._M_buckets = pp_Var29;\n                  local_1a0 = (ulong)p_Var26 % (ulong)this_00;\n                  (this->section_id_)._M_h._M_bucket_count = (size_type)this_00;\n                }\n                p_Var28[4]._M_nxt = p_Var26;\n                pp_Var10 = pp_Var29 + local_1a0;\n                if (*pp_Var10 == (__bucket_type)0x0) {\n                  p_Var26 = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                  (this->section_id_)._M_h._M_before_begin._M_nxt = p_Var28;\n                  p_Var28->_M_nxt = p_Var26;\n                  if (p_Var26 != (_Hash_node_base *)0x0) {\n                    pp_Var29[(ulong)p_Var26[4]._M_nxt % (this->section_id_)._M_h._M_bucket_count] =\n                         p_Var28;\n                  }\n                  *pp_Var10 = &(this->section_id_)._M_h._M_before_begin;\n                }\n                else {\n                  p_Var28->_M_nxt = (*pp_Var10)->_M_nxt;\n                  (*pp_Var10)->_M_nxt = p_Var28;\n                }\n                psVar1 = &(this->section_id_)._M_h._M_element_count;\n                *psVar1 = *psVar1 + 1;\n              }\n              puVar11 = (this->kept_section_id_).\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_finish;\n              *(uint *)&p_Var28[3]._M_nxt = uVar4;\n              if (puVar11 ==\n                  (this->kept_section_id_).\n                  super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                  _M_end_of_storage) {\n                __src = (this->kept_section_id_).\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start;\n                sVar32 = (long)puVar11 - (long)__src;\n                uVar41 = (long)sVar32 >> 2;\n                if (uVar41 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (pointer)operator_new(local_1d0);\n                  local_1e8 = (pointer)(local_1d0 + (long)__dest);\n                }\n                else {\n                  uVar42 = uVar41 * 2;\n                  if (uVar42 < uVar41) {\n                    local_1d0 = 0xfffffffffffffffc;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = 0xfffffffffffffffc;\n                  if (0x3fffffffffffffff < uVar42) goto LAB_00181065;\n                  if (uVar42 != 0) {\n                    local_1d0 = uVar41 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = (pointer)0x0;\n                  __dest = (pointer)0x0;\n                }\n                *(uint *)((long)__dest + sVar32) = uVar4;\n                puVar3 = (pointer)((long)__dest + sVar32 + 4);\n                if (puVar11 == __src) {\n                  if (__src != (pointer)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = (pointer)memmove(__dest,__src,sVar32);\nLAB_001810bd:\n                  operator_delete(__src);\n                }\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start =\n                     __dest;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n                     puVar3;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                _M_end_of_storage = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *puVar11 = uVar4;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n                     puVar11 + 1;\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar32 = (long)local_1b0 - (long)local_1d8;\n                uVar41 = (long)sVar32 >> 2;\n                if (uVar41 == 0) {\n                  uVar42 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)operator_new(uVar42);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + uVar42);\n                }\n                else {\n                  uVar34 = uVar41 * 2;\n                  if (uVar34 < uVar41) {\n                    uVar42 = 0xfffffffffffffffc;\n                    goto LAB_0018114e;\n                  }\n                  uVar42 = 0xfffffffffffffffc;\n                  if (0x3fffffffffffffff < uVar34) goto LAB_0018114e;\n                  if (uVar34 != 0) {\n                    uVar42 = uVar41 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar32) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar32 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar32);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar32 + 4);\nLAB_001811a1:\n                  operator_delete(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    /* try { // try from 00180b6b to 00180bee has its CatchHandler @ 00181f61 */\n              iVar24 = (*((*ppRVar55)->super_Object)._vptr_Object[0x17])(*ppRVar55,uVar45);\n              section_cksum._M_h._M_buckets = (__bucket_type *)CONCAT44(extraout_var,iVar24);\n              if (section_addraligns.\n                  super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                  _M_finish ==\n                  section_addraligns.\n                  super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                  _M_end_of_storage) {\n                std::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>::\n                _M_realloc_insert<long_unsigned_int>\n                          (&section_addraligns,\n                           (iterator)\n                           section_addraligns.\n                           super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n                           ._M_impl._M_finish,(ulong *)local_1a8);\n              }\n              else {\n                *section_addraligns.\n                 super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                 _M_finish = (ulong)section_cksum._M_h._M_buckets;\n                section_addraligns.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_finish = section_addraligns.\n                            super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n                            ._M_impl._M_finish + 1;\n              }\n              uVar22 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset;\n              p_Var18 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                        super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p;\n              if (is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p ==\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_end_of_storage) {\n                local_180 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>.\n                            _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base.\n                            _M_offset;\n                __position_00.super__Bit_iterator_base._12_4_ = uStack_17c;\n                __position_00.super__Bit_iterator_base._M_offset =\n                     is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                     super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset;\n                local_188 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>.\n                            _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p\n                ;\n                __position_00.super__Bit_iterator_base._M_p =\n                     is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                     super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p;\n                std::vector<bool,_std::allocator<bool>_>::_M_insert_aux\n                          (&is_secn_or_group_unique,__position_00,false);\n              }\n              else {\n                if (is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                    super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset == 0x3f) {\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset = 0;\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p + 1;\n                }\n                else {\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset + 1;\n                }\n                bVar13 = (byte)uVar22 & 0x3f;\n                *p_Var18 = *p_Var18 & (-2L << bVar13 | 0xfffffffffffffffeU >> 0x40 - bVar13);\n              }\n              section_cksum._M_h._M_buckets = &section_cksum._M_h._M_before_begin._M_nxt;\n              std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n              _M_construct<char_const*>(local_1a8,"");\n                    /* try { // try from 00180c00 to 00180c04 has its CatchHandler @ 00181f59 */\n              std::\n              vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              ::\n              emplace_back<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>\n                        (&section_contents,local_1a8);\n              if ((__node_base *)section_cksum._M_h._M_buckets !=\n                  &section_cksum._M_h._M_before_begin) {\n                operator_delete(section_cksum._M_h._M_buckets);\n              }\n              uVar4 = uVar4 + 1;\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)section_name._M_dataplus._M_p != &section_name.field_2) goto LAB_00180c31;\n            }\n            else {\n              lVar38 = 0xf;\n              pbVar30 = (byte *)".gnu.linkonce.t";\n              _Var50 = section_name._M_dataplus;\n              do {\n                if (lVar38 == 0) break;\n                lVar38 = lVar38 + -1;\n                bVar57 = *pbVar30 < (byte)*_Var50._M_p;\n                bVar60 = *pbVar30 == *_Var50._M_p;\n                pbVar30 = pbVar30 + (ulong)bVar61 * -2 + 1;\n                _Var50._M_p = (pointer)((byte *)_Var50._M_p + (ulong)bVar61 * -2 + 1);\n              } while (bVar60);\n              if ((!bVar57 && !bVar60) == bVar57) goto LAB_00180a28;\nLAB_00180c96:\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)section_name._M_dataplus._M_p != &section_name.field_2) {\nLAB_00180c31:\n                operator_delete(section_name._M_dataplus._M_p);\n              }\n            }\n            pRVar48 = *ppRVar55;\n            uVar44 = uVar44 + 1;\n            uVar45 = (ulong)uVar44;\n            uVar22 = (pRVar48->super_Object).shnum_;\n            uVar56 = uVar44 < uVar22;\n            uVar59 = uVar44 == uVar22;\n          } while ((bool)uVar56);\n        }\n        pIVar7 = (pRVar6->super_Object).input_file_;\n        if (pIVar7 != (Input_file *)0x0) {\n          File_read::unlock(&pIVar7->file_,(Task *)0xffffffffffffffff);\n        }\n      }\n      ppRVar55 = ppRVar55 + 1;\n    } while ((input_objects->relobj_list_).\n             super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish !=\n             ppRVar55);\n  }\n  if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n  }\n  uVar4 = 0;\n  uVar44 = (parameters->options_->icf_iterations_).value;\n  uVar22 = 2;\n  if (0 < (int)uVar44) {\n    uVar22 = uVar44;\n  }\n  paVar33 = &this_secn_contents.field_2;\n  do {\n    uVar4 = uVar4 + 1;\n    section_cksum._M_h._M_bucket_count = 1;\n    section_cksum._M_h._M_buckets = &section_cksum._M_h._M_single_bucket;\n    section_cksum._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n    section_cksum._M_h._M_element_count = 0;\n    section_cksum._M_h._M_rehash_policy._M_max_load_factor = 1.0;\n    section_cksum._M_h._M_rehash_policy._M_next_resize = 0;\n    section_cksum._M_h._M_single_bucket = (__bucket_type)0x0;\n    if (uVar4 == 1) {\n      pvVar51 = &is_secn_or_group_unique;\n                    /* try { // try from 00181c11 to 00181c15 has its CatchHandler @ 00181f8d */\n      preprocess_for_unique_sections\n                (&this->id_section_,&is_secn_or_group_unique,\n                 (vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                  *)0x0);\n      iVar24 = (int)pvVar51;\n    }\n    else {\n      pvVar51 = &is_secn_or_group_unique;\n                    /* try { // try from 00181355 to 00181359 has its CatchHandler @ 00181f8d */\n      preprocess_for_unique_sections(&this->id_section_,&is_secn_or_group_unique,&section_contents);\n      iVar24 = (int)pvVar51;\n    }\n    full_section_contents.\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n    ._M_impl._M_start = (pointer)0x0;\n    full_section_contents.\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n    ._M_impl._M_finish = (pointer)0x0;\n    full_section_contents.\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0;\n    if ((this->id_section_).\n        super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n        ._M_impl._M_finish ==\n        (this->id_section_).\n        super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n        ._M_impl._M_start) {\n      std::\n      _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_false>_>\n      ::~_Hashtable(&section_cksum._M_h,iVar24);\n      bVar57 = true;\n      break;\n    }\n    uVar45 = 0;\n    bVar57 = true;\n    uVar44 = 0;\n    do {\n      section_name._M_dataplus._M_p = (pointer)&section_name.field_2;\n                    /* try { // try from 00181402 to 00181406 has its CatchHandler @ 00181f77 */\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>(&section_name,"");\n      _Var50._M_p = (pointer)&section_name;\n                    /* try { // try from 00181411 to 00181415 has its CatchHandler @ 00181f51 */\n      std::\n      vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ::\n      emplace_back<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>\n                (&full_section_contents,&section_name);\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)section_name._M_dataplus._M_p != &section_name.field_2) {\n        operator_delete(section_name._M_dataplus._M_p);\n      }\n      local_1a0._0_1_ = (byte)uVar44;\n      uVar41 = 1L << ((byte)local_1a0 & 0x3f);\n      ppVar40 = (this->id_section_).\n                super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ._M_impl._M_start;\n      if ((uVar41 & is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                    super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar45 >> 6]) ==\n          0) {\n        ppVar2 = ppVar40 + uVar45;\n        secn.first = ppVar2->first;\n        secn.second = ppVar2->second;\n        secn._12_4_ = *(undefined4 *)&ppVar2->field_0xc;\n        this_secn_contents._M_string_length = 0;\n        this_secn_contents.field_2._M_allocated_capacity =\n             this_secn_contents.field_2._M_allocated_capacity & 0xffffffffffffff00;\n        this_secn_contents._M_dataplus._M_p = (pointer)paVar33;\n        if (uVar4 == 1) {\n          _num_relocs = _num_relocs & 0xffffffff00000000;\n          get_section_contents\n                    (&section_name,true,&secn,uVar44,&num_relocs,symtab,&this->kept_section_id_,\n                     &section_contents);\n          uVar17 = this_secn_contents.field_2._M_allocated_capacity;\n          _Var50._M_p = this_secn_contents._M_dataplus._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)section_name._M_dataplus._M_p == &section_name.field_2) {\n            sVar43 = section_name._M_string_length;\n            if (section_name._M_string_length != 0) {\n              if (section_name._M_string_length == 1) {\n                *this_secn_contents._M_dataplus._M_p = section_name.field_2._M_local_buf[0];\n                sVar43 = section_name._M_string_length;\n              }\n              else {\n                memcpy(this_secn_contents._M_dataplus._M_p,section_name._M_dataplus._M_p,\n                       section_name._M_string_length);\n                sVar43 = section_name._M_string_length;\n              }\n            }\n            this_secn_contents._M_dataplus._M_p[sVar43] = '\0';\n            this_secn_contents._M_string_length = sVar43;\n          }\n          else {\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)this_secn_contents._M_dataplus._M_p != paVar33) {\n              this_secn_contents._M_dataplus = section_name._M_dataplus;\n              this_secn_contents._M_string_length = section_name._M_string_length;\n              this_secn_contents.field_2._M_allocated_capacity =\n                   section_name.field_2._M_allocated_capacity;\n              if (_Var50._M_p != (pointer)0x0) {\n                section_name._M_dataplus = _Var50;\n                section_name.field_2._M_allocated_capacity = uVar17;\n                goto LAB_00181993;\n              }\n            }\n            this_secn_contents.field_2._M_allocated_capacity =\n                 section_name.field_2._M_allocated_capacity;\n            this_secn_contents._M_string_length = section_name._M_string_length;\n            this_secn_contents._M_dataplus = section_name._M_dataplus;\n            section_name._M_dataplus._M_p = (pointer)&section_name.field_2;\n          }\nLAB_00181993:\n          section_name._M_string_length = 0;\n          *section_name._M_dataplus._M_p = '\0';\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)section_name._M_dataplus._M_p != &section_name.field_2) {\n            operator_delete(section_name._M_dataplus._M_p);\n          }\n          local_1d8[uVar45] = num_relocs;\n        }\n        else {\n          if (uVar44 != (this->kept_section_id_).\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start[uVar45]) goto LAB_001813c8;\n                    /* try { // try from 001814fb to 00181926 has its CatchHandler @ 00181f49 */\n          get_section_contents\n                    ((string *)&num_relocs,false,&secn,uVar44,(uint *)0x0,symtab,\n                     &this->kept_section_id_,&section_contents);\n          uVar17 = this_secn_contents.field_2._M_allocated_capacity;\n          _Var50._M_p = this_secn_contents._M_dataplus._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)_num_relocs == &local_d8) {\n            sVar32 = local_e0;\n            if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *this_secn_contents._M_dataplus._M_p = local_d8._M_local_buf[0];\n                sVar32 = local_e0;\n              }\n              else {\n                memcpy(this_secn_contents._M_dataplus._M_p,_num_relocs,local_e0);\n                sVar32 = local_e0;\n              }\n            }\n            this_secn_contents._M_dataplus._M_p[sVar32] = '\0';\n            this_secn_contents._M_string_length = sVar32;\n          }\n          else {\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)this_secn_contents._M_dataplus._M_p != paVar33) {\n              this_secn_contents._M_dataplus._M_p = _num_relocs;\n              this_secn_contents._M_string_length = local_e0;\n              this_secn_contents.field_2._M_allocated_capacity = local_d8._M_allocated_capacity;\n              if (_Var50._M_p != (pointer)0x0) {\n                _num_relocs = _Var50._M_p;\n                local_d8._M_allocated_capacity = uVar17;\n                goto LAB_0018156c;\n              }\n            }\n            this_secn_contents.field_2._M_allocated_capacity = local_d8._M_allocated_capacity;\n            this_secn_contents._M_string_length = local_e0;\n            this_secn_contents._M_dataplus._M_p = _num_relocs;\n            _num_relocs = (pointer)&local_d8;\n          }\nLAB_0018156c:\n          local_e0 = 0;\n          *_num_relocs = '\0';\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)_num_relocs != &local_d8) {\n            operator_delete(_num_relocs);\n          }\n        }\n        uVar23 = xcrc32((uchar *)this_secn_contents._M_dataplus._M_p,\n                        (int)this_secn_contents._M_string_length,0xffffffff);\n        uVar42 = (ulong)uVar23 % section_cksum._M_h._M_bucket_count;\n        cksum = uVar23;\n        if ((section_cksum._M_h._M_buckets[uVar42] == (__bucket_type)0x0) ||\n           (p_Var26 = section_cksum._M_h._M_buckets[uVar42]->_M_nxt,\n           p_Var26 == (_Hash_node_base *)0x0)) {\nLAB_00181638:\n          p_Var35 = (__node_type *)operator_new(0x10);\n          *(uint *)&(p_Var35->\n                    super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n                    _M_storage._M_storage = uVar23;\n          (p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n          super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;\n          *(uint *)((long)&(p_Var35->\n                           super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>\n                           )._M_storage._M_storage + 4) = uVar44;\n          std::\n          _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_false>_>\n          ::_M_insert_multi_node(&section_cksum._M_h,(__node_type *)0x0,(ulong)uVar23,p_Var35);\n        }\n        else {\n          uVar34 = (ulong)*(uint *)&p_Var26[1]._M_nxt;\n          lVar38 = 0;\n          do {\n            if (uVar23 == (uint)uVar34) {\n              p_Var26 = p_Var26->_M_nxt;\n              lVar38 = lVar38 + 1;\n              lVar46 = lVar38;\n            }\n            else {\n              if (lVar38 != 0) goto LAB_00181742;\n              p_Var26 = p_Var26->_M_nxt;\n              lVar46 = 0;\n            }\n          } while ((p_Var26 != (_Hash_node_base *)0x0) &&\n                  (uVar34 = (ulong)*(uint *)&p_Var26[1]._M_nxt, lVar46 = lVar38,\n                  uVar42 == uVar34 % section_cksum._M_h._M_bucket_count));\n          if (lVar46 == 0) goto LAB_00181638;\nLAB_00181742:\n          pVar62 = std::\n                   _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_false>_>\n                   ::equal_range(&section_cksum._M_h,&cksum);\n          sVar43 = this_secn_contents._M_string_length;\n          __s2 = this_secn_contents._M_dataplus;\n          pbVar15 = full_section_contents.\n                    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                    ._M_impl._M_start;\n          if ((__node_type *)pVar62.first !=\n              pVar62.second.\n              super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>) {\n            do {\n              local_1f0 = pVar62.second;\n              _Var54 = pVar62.first;\n              uVar23 = *(uint *)((long)_Var54.\n                                       super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                       ._M_cur + 0xc);\n              pbVar47 = pbVar15 + uVar23;\n              if ((pbVar47->_M_string_length == sVar43) &&\n                 (_Var50 = __s2, iVar24 = memcmp((pbVar47->_M_dataplus)._M_p,__s2._M_p,sVar43),\n                 iVar24 == 0)) {\n                puVar11 = (this->kept_section_id_).\n                          super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                          _M_start;\n                if (section_addraligns.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar23] <\n                    section_addraligns.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar45]) {\n                  puVar11[uVar23] = uVar44;\n                  _Var50._M_p = (pointer)(pbVar15 + uVar45);\n                  *(uint *)((long)_Var54.\n                                  super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                  ._M_cur + 0xc) = uVar44;\n                  std::string::swap((string *)pbVar47,(string *)_Var50._M_p);\n                  bVar57 = false;\n                }\n                else {\n                  puVar11[uVar45] = uVar23;\n                  bVar57 = false;\n                }\n                goto joined_r0x00181835;\n              }\n              pVar62.second.\n              super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>._M_cur =\n                   local_1f0.\n                   super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>.\n                   _M_cur;\n              pVar62.first.\n              super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>._M_cur =\n                   (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>)\n                   (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>)\n                   *(__node_type **)\n                    _Var54.\n                    super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>.\n                    _M_cur;\n            } while (local_1f0.\n                     super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>.\n                     _M_cur != (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                )*(__node_type **)\n                                  _Var54.\n                                  super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                  ._M_cur);\n          }\n          uVar16 = cksum;\n          p_Var35 = (__node_type *)operator_new(0x10);\n          (p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n          _M_storage._M_storage.__align = (anon_struct_4_0_00000001_for___align)uVar16;\n          (p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n          super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;\n          *(uint *)((long)&(p_Var35->\n                           super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>\n                           )._M_storage._M_storage + 4) = uVar44;\n          std::\n          _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_false>_>\n          ::_M_insert_multi_node(&section_cksum._M_h,(__node_type *)0x0,(ulong)uVar16,p_Var35);\n        }\n        _Var50._M_p = (pointer)&this_secn_contents;\n        std::string::_M_assign\n                  ((string *)\n                   (full_section_contents.\n                    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                    ._M_impl._M_start + uVar45),(string *)&this_secn_contents);\njoined_r0x00181835:\n        if ((uVar4 == 1) && (local_1d8[uVar45] == 0)) {\n          is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n          super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar45 >> 6] =\n               is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n               super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar45 >> 6] | uVar41\n          ;\n        }\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)this_secn_contents._M_dataplus._M_p != paVar33) {\n          operator_delete(this_secn_contents._M_dataplus._M_p);\n        }\n        ppVar40 = (this->id_section_).\n                  super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                  ._M_impl._M_start;\n      }\nLAB_001813c8:\n      pbVar15 = full_section_contents.\n                super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                ._M_impl._M_finish;\n      uVar44 = uVar44 + 1;\n      uVar45 = (ulong)uVar44;\n      uVar41 = (long)(this->id_section_).\n                     super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                     ._M_impl._M_finish - (long)ppVar40 >> 4;\n    } while (uVar45 < uVar41);\n    if (uVar41 != 0) {\n      _Var50._M_p = (pointer)(this->kept_section_id_).\n                             super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl\n                             ._M_start;\n      uVar42 = 0;\n      uVar45 = uVar42;\n      do {\n        do {\n          uVar23 = (uint)uVar42;\n          uVar44 = *(uint *)((long)&(((string *)_Var50._M_p)->_M_dataplus)._M_p + uVar42 * 4);\n          uVar42 = (ulong)uVar44;\n        } while (uVar23 != uVar44);\n        puVar14 = (uint *)((long)&(((string *)_Var50._M_p)->_M_dataplus)._M_p + uVar45 * 4);\n        uVar23 = *puVar14;\n        while (uVar23 != uVar44) {\n          *puVar14 = uVar44;\n          puVar14 = (uint *)((long)&(((string *)_Var50._M_p)->_M_dataplus)._M_p + (ulong)uVar23 * 4)\n          ;\n          uVar23 = *puVar14;\n        }\n        uVar42 = (ulong)((int)uVar45 + 1);\n        uVar45 = uVar42;\n      } while (uVar42 < uVar41);\n    }\n    iVar24 = (int)_Var50._M_p;\n    for (pbVar47 = full_section_contents.\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   ._M_impl._M_start; pbVar47 != pbVar15; pbVar47 = pbVar47 + 1) {\n      pcVar12 = (pbVar47->_M_dataplus)._M_p;\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)pcVar12 != &pbVar47->field_2) {\n        operator_delete(pcVar12);\n      }\n      iVar24 = (int)_Var50._M_p;\n    }\n    if (full_section_contents.\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_start != (pointer)0x0) {\n      operator_delete(full_section_contents.\n                      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                      ._M_impl._M_start);\n    }\n    std::\n    _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_false>_>\n    ::~_Hashtable(&section_cksum._M_h,iVar24);\n  } while (uVar4 < uVar22 && !bVar57);\n  pcVar37 = program_name;\n  pGVar25 = parameters->options_;\n  if (pGVar25 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n  }\n  if ((pGVar25->print_icf_sections_).value != false) {\n    pcVar53 = "%s: ICF Converged after %u iteration(s)";\n    if (!bVar57) {\n      pcVar53 = "%s: ICF stopped after %u iteration(s)";\n    }\n    pcVar53 = (char *)gettext(pcVar53);\n                    /* try { // try from 00181db6 to 00181de6 has its CatchHandler @ 00181f33 */\n    gold_info(pcVar53,pcVar37,uVar4);\n    pGVar25 = parameters->options_;\n    if (pGVar25 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n    }\n  }\n  p_Var26 = (pGVar25->keep_unique_).value._M_h._M_before_begin._M_nxt;\n  pbVar15 = section_contents.\n            super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n            ._M_impl._M_finish;\n  do {\n    section_contents.\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n    ._M_impl._M_finish = pbVar15;\n    if (p_Var26 == (_Hash_node_base *)0x0) {\n      this->icf_ready_ = true;\n      for (pbVar47 = section_contents.\n                     super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                     ._M_impl._M_start; pbVar15 != pbVar47; pbVar47 = pbVar47 + 1) {\n        pcVar12 = (pbVar47->_M_dataplus)._M_p;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)pcVar12 != &pbVar47->field_2) {\n          operator_delete(pcVar12);\n        }\n      }\n      if (section_contents.\n          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n          ._M_impl._M_start != (pointer)0x0) {\n        operator_delete(section_contents.\n                        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                        ._M_impl._M_start);\n      }\n      if (is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n          super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p != (_Bit_type *)0x0) {\n        operator_delete(is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                        super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p);\n      }\n      if (section_addraligns.\n          super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl._M_start\n          != (pointer)0x0) {\n        operator_delete(section_addraligns.\n                        super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                        _M_impl._M_start);\n      }\n      if (local_1d8 != (undefined4 *)0x0) {\n        operator_delete(local_1d8);\n      }\n      return;\n    }\n    p_Var28 = p_Var26[1]._M_nxt;\n                    /* try { // try from 00181b61 to 00181b7f has its CatchHandler @ 00181f33 */\n    pSVar36 = Symbol_table::lookup(symtab,(char *)p_Var28,(char *)0x0);\n    if (pSVar36 == (Symbol *)0x0) {\n      pcVar37 = (char *)gettext("Could not find symbol %s to unfold\n");\n      gold_warning(pcVar37,p_Var28);\n    }\n    else if ((((pSVar36->field_0x3a & 7) == 0) &&\n             ((((Object *)((pSVar36->u1_).output_segment)->output_lists_)->field_0x3c & 1) == 0)) &&\n            ((pSVar36->field_0x3b & 0x20) != 0)) {\n      unfold_section(this,(Relobj *)(pSVar36->u1_).output_segment,(pSVar36->u2_).shndx);\n    }\n    p_Var26 = p_Var26->_M_nxt;\n    pbVar15 = section_contents.\n              super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              ._M_impl._M_finish;\n  } while (parameters->options_ != (General_options *)0x0);\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181eab to 00181edf has its CatchHandler @ 00181f33 */\n  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n}" { (declaration "size_type *psVar1;" type_identifier (pointer_declarator "*psVar1" * identifier) ;) (declaration "pointer ppVar2;" type_identifier identifier ;) (declaration "pointer puVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "Target *pTVar5;" type_identifier (pointer_declarator "*pTVar5" * identifier) ;) (declaration "Relobj *pRVar6;" type_identifier (pointer_declarator "*pRVar6" * identifier) ;) (declaration "Input_file *pIVar7;" type_identifier (pointer_declarator "*pIVar7" * identifier) ;) (declaration "pointer ppOVar8;" type_identifier identifier ;) (declaration "iterator __position;" type_identifier identifier ;) (declaration "_Hash_node_base *p_Var9;" type_identifier (pointer_declarator "*p_Var9" * identifier) ;) (declaration "__bucket_type *pp_Var10;" type_identifier (pointer_declarator "*pp_Var10" * identifier) ;) (declaration "pointer __src;" type_identifier identifier ;) (declaration "pointer puVar11;" type_identifier identifier ;) (declaration "pointer pcVar12;" type_identifier identifier ;) (declaration "byte bVar13;" type_identifier identifier ;) (declaration "uint *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "pointer pbVar15;" type_identifier identifier ;) (declaration "uint32_t uVar16;" primitive_type identifier ;) (declaration "_Alloc_hider __s2;" type_identifier identifier ;) (declaration "undefined8 uVar17;" type_identifier identifier ;) (declaration "_Bit_type *p_Var18;" type_identifier (pointer_declarator "*p_Var18" * identifier) ;) (declaration "char cVar19;" primitive_type identifier ;) (declaration "gnu_v3_ctor_kinds gVar20;" type_identifier identifier ;) (declaration "gnu_v3_dtor_kinds gVar21;" type_identifier identifier ;) (declaration "uint uVar22;" type_identifier identifier ;) (declaration "uint uVar23;" type_identifier identifier ;) (declaration "int iVar24;" primitive_type identifier ;) (declaration "General_options *pGVar25;" type_identifier (pointer_declarator "*pGVar25" * identifier) ;) (declaration "_Hash_node_base *p_Var26;" type_identifier (pointer_declarator "*p_Var26" * identifier) ;) (declaration "__node_base *p_Var27;" type_identifier (pointer_declarator "*p_Var27" * identifier) ;) (declaration "undefined4 extraout_var;" type_identifier identifier ;) (declaration "_Hash_node_base *p_Var28;" type_identifier (pointer_declarator "*p_Var28" * identifier) ;) (declaration "__bucket_type *pp_Var29;" type_identifier (pointer_declarator "*pp_Var29" * identifier) ;) (declaration "byte *pbVar30;" type_identifier (pointer_declarator "*pbVar30" * identifier) ;) (declaration "iterator iVar31;" type_identifier identifier ;) (declaration "pointer __dest;" type_identifier identifier ;) (declaration "size_t sVar32;" primitive_type identifier ;) (declaration "undefined4 *__dest_00;" type_identifier (pointer_declarator "*__dest_00" * 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  *paVar33;" (binary_expression "allocator<char>_>_9\n  *paVar33" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n  *paVar33" identifier * identifier)) ;) (declaration "ulong uVar34;" type_identifier identifier ;) (declaration "__node_type *p_Var35;" type_identifier (pointer_declarator "*p_Var35" * identifier) ;) (declaration "Symbol *pSVar36;" type_identifier (pointer_declarator "*pSVar36" * identifier) ;) (declaration "char *pcVar37;" primitive_type (pointer_declarator "*pcVar37" * identifier) ;) (declaration "long lVar38;" (sized_type_specifier "long" long) identifier ;) (declaration "_Hash_node_base *p_Var39;" type_identifier (pointer_declarator "*p_Var39" * identifier) ;) (declaration "pointer ppVar40;" type_identifier identifier ;) (ERROR "_Hashtable_alloc<std::allocator<std::" (binary_expression "_Hashtable_alloc<std::allocator<std" (binary_expression "_Hashtable_alloc<std" identifier < identifier) (ERROR "::allocator" : : identifier) < identifier) : :) (expression_statement "__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n  *this_00;" (comma_expression "__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n  *this_00" identifier (ERROR "::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>" : : (binary_expression "_Hash_node<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : identifier * , identifier > , identifier >) , (binary_expression "_true>_>_>\n  *this_00" (binary_expression "_true>_>_" (binary_expression "_true>_" identifier > identifier) > identifier) > (pointer_expression "*this_00" * identifier))) ;) (declaration "ulong uVar41;" type_identifier identifier ;) (declaration "ulong uVar42;" type_identifier identifier ;) (declaration "size_type sVar43;" type_identifier identifier ;) (declaration "uint uVar44;" type_identifier identifier ;) (declaration "ulong uVar45;" type_identifier identifier ;) (declaration "long lVar46;" (sized_type_specifier "long" long) identifier ;) (declaration "pointer pbVar47;" type_identifier identifier ;) (declaration "Relobj *pRVar48;" type_identifier (pointer_declarator "*pRVar48" * identifier) ;) (declaration "byte *pbVar49;" type_identifier (pointer_declarator "*pbVar49" * identifier) ;) (declaration "_Alloc_hider _Var50;" type_identifier identifier ;) (ERROR "vector<bool,_std::" (comma_expression "vector<bool,_std" (binary_expression "vector<bool" identifier < identifier) , identifier) : :) (expression_statement "allocator<bool>_> *pvVar51;" (binary_expression "allocator<bool>_> *pvVar51" (binary_expression "allocator<bool>_" (binary_expression "allocator<bool" identifier < identifier) > identifier) > (pointer_expression "*pvVar51" * identifier)) ;) (declaration "byte *pbVar52;" type_identifier (pointer_declarator "*pbVar52" * identifier) ;) (declaration "char *pcVar53;" primitive_type (pointer_declarator "*pcVar53" * identifier) ;) (expression_statement "_Node_iterator<std::pair<unsigned_int_const,_unsigned_int>,_false,_false> _Var54;" (comma_expression "_Node_iterator<std::pair<unsigned_int_const,_unsigned_int>,_false,_false> _Var54" (binary_expression "_Node_iterator<std::pair<unsigned_int_const" (binary_expression "_Node_iterator<std" identifier < identifier) (ERROR "::pair" : : identifier) < identifier) , (comma_expression "_unsigned_int>,_false,_false> _Var54" (binary_expression "_unsigned_int>,_false" identifier > (ERROR "," ,) identifier) , (binary_expression "_false> _Var54" identifier > identifier))) ;) (declaration "pointer ppRVar55;" type_identifier identifier ;) (declaration "undefined1 uVar56;" type_identifier identifier ;) (declaration "bool bVar57;" primitive_type identifier ;) (declaration "bool bVar58;" primitive_type identifier ;) (declaration "undefined1 uVar59;" type_identifier identifier ;) (declaration "bool bVar60;" primitive_type identifier ;) (declaration "byte bVar61;" type_identifier identifier ;) (ERROR "pair<std::" (binary_expression "pair<std" identifier < identifier) : :) (labeled_statement "__detail::_Node_iterator<std::pair<unsigned_int_const,_unsigned_int>,_false,_false>,_std::__detail::_Node_iterator<std::pair<unsigned_int_const,_unsigned_int>,_false,_false>_>\n  pVar62;" statement_identifier (ERROR "::_Node_iterator<std::pair<unsigned_int_const,_unsigned_int>,_false,_false>,_std:" : : (binary_expression "_Node_iterator<std" identifier < identifier) : : (comma_expression "pair<unsigned_int_const,_unsigned_int>,_false,_false>,_std" (binary_expression "pair<unsigned_int_const" identifier < identifier) , (comma_expression "_unsigned_int>,_false,_false>,_std" (binary_expression "_unsigned_int>,_false" identifier > (ERROR "," ,) identifier) , (binary_expression "_false>,_std" identifier > (ERROR "," ,) identifier))) :) : (labeled_statement "__detail::_Node_iterator<std::pair<unsigned_int_const,_unsigned_int>,_false,_false>_>\n  pVar62;" statement_identifier (ERROR "::_Node_iterator<std:" : : (binary_expression "_Node_iterator<std" identifier < identifier) :) : (expression_statement "pair<unsigned_int_const,_unsigned_int>,_false,_false>_>\n  pVar62;" (comma_expression "pair<unsigned_int_const,_unsigned_int>,_false,_false>_>\n  pVar62" (binary_expression "pair<unsigned_int_const" identifier < identifier) , (comma_expression "_unsigned_int>,_false,_false>_>\n  pVar62" (binary_expression "_unsigned_int>,_false" identifier > (ERROR "," ,) identifier) , (binary_expression "_false>_>\n  pVar62" (binary_expression "_false>_" identifier > identifier) > identifier))) ;))) (declaration "iterator __position_00;" type_identifier identifier ;) (expression_statement "_Node_iterator<std::pair<unsigned_int_const,_unsigned_int>,_false,_false> local_1f0;" (comma_expression "_Node_iterator<std::pair<unsigned_int_const,_unsigned_int>,_false,_false> local_1f0" (binary_expression "_Node_iterator<std::pair<unsigned_int_const" (binary_expression "_Node_iterator<std" identifier < identifier) (ERROR "::pair" : : identifier) < identifier) , (comma_expression "_unsigned_int>,_false,_false> local_1f0" (binary_expression "_unsigned_int>,_false" identifier > (ERROR "," ,) identifier) , (binary_expression "_false> local_1f0" identifier > identifier))) ;) (declaration "pointer local_1e8;" type_identifier identifier ;) (declaration "undefined4 *local_1d8;" type_identifier (pointer_declarator "*local_1d8" * identifier) ;) (declaration "ulong local_1d0;" type_identifier identifier ;) (declaration "undefined4 *local_1c8;" type_identifier (pointer_declarator "*local_1c8" * identifier) ;) (declaration "undefined4 *local_1b0;" type_identifier (pointer_declarator "*local_1b0" * identifier) ;) (ERROR "basic_string<char,_std::char_traits<char>,_std::" (comma_expression "basic_string<char,_std" (binary_expression "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>_> *local_1a8;" (binary_expression "allocator<char>_> *local_1a8" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (pointer_expression "*local_1a8" * identifier)) ;) (declaration "ulong local_1a0;" type_identifier identifier ;) (declaration "uint32_t cksum;" primitive_type identifier ;) (declaration "_Bit_type *local_188;" type_identifier (pointer_declarator "*local_188" * identifier) ;) (declaration "uint local_180;" type_identifier identifier ;) (declaration "undefined4 uStack_17c;" type_identifier identifier ;) (declaration "Section_id secn;" type_identifier identifier ;) (ERROR "vector<long_unsigned_int,_std::" (comma_expression "vector<long_unsigned_int,_std" (binary_expression "vector<long_unsigned_int" identifier < identifier) , identifier) : :) (expression_statement "allocator<long_unsigned_int>_> section_addraligns;" (binary_expression "allocator<long_unsigned_int>_> section_addraligns" (binary_expression "allocator<long_unsigned_int>_" (binary_expression "allocator<long_unsigned_int" identifier < identifier) > identifier) > identifier) ;) (ERROR "vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (binary_expression "vector<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>\n  section_contents;" (binary_expression "allocator<char>_>_>_>\n  section_contents" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) > identifier) ;) (ERROR "vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (binary_expression "vector<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>\n  full_section_contents;" (binary_expression "allocator<char>_>_>_>\n  full_section_contents" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) > identifier) ;) (declaration "string this_secn_contents;" type_identifier identifier ;) (declaration "uint num_relocs;" type_identifier identifier ;) (declaration "size_t local_e0;" primitive_type 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  local_d8;" (binary_expression "allocator<char>_>_9\n  local_d8" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "_9" identifier) identifier) ;) (declaration "string section_name;" type_identifier identifier ;) (ERROR "vector<bool,_std::" (comma_expression "vector<bool,_std" (binary_expression "vector<bool" identifier < identifier) , identifier) : :) (expression_statement "allocator<bool>_> is_secn_or_group_unique;" (binary_expression "allocator<bool>_> is_secn_or_group_unique" (binary_expression "allocator<bool>_" (binary_expression "allocator<bool" identifier < identifier) > identifier) > identifier) ;) (ERROR "unordered_multimap<unsigned_int,_unsigned_int,_std::hash<unsigned_int>,_std::equal_to<unsigned_int>,_std::allocator<std::" (comma_expression "unordered_multimap<unsigned_int,_unsigned_int,_std" (binary_expression "unordered_multimap<unsigned_int" identifier < identifier) , (comma_expression "_unsigned_int,_std" identifier , identifier)) : : (binary_expression "hash<unsigned_int>,_std" (binary_expression "hash<unsigned_int" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "equal_to<unsigned_int>,_std" (binary_expression "equal_to<unsigned_int" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : :) (expression_statement "pair<unsigned_int_const,_unsigned_int>_>_>\n  section_cksum;" (comma_expression "pair<unsigned_int_const,_unsigned_int>_>_>\n  section_cksum" (binary_expression "pair<unsigned_int_const" identifier < identifier) , (binary_expression "_unsigned_int>_>_>\n  section_cksum" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) > identifier)) ;) (expression_statement "bVar61 = 0;" (assignment_expression "bVar61 = 0" identifier = number_literal) ;) (expression_statement "pTVar5 = parameters->target_;" (assignment_expression "pTVar5 = parameters->target_" identifier = (field_expression "parameters->target_" identifier -> field_identifier)) ;) (ERROR "section_addraligns.super__Vector_base<long_unsigned_int,_std::" (comma_expression "section_addraligns.super__Vector_base<long_unsigned_int,_std" (binary_expression "section_addraligns.super__Vector_base<long_unsigned_int" (field_expression "section_addraligns.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : :) (expression_statement "allocator<long_unsigned_int>_>.\n  _M_impl._M_start = (pointer)0x0;" (assignment_expression "allocator<long_unsigned_int>_>.\n  _M_impl._M_start = (pointer)0x0" (field_expression "allocator<long_unsigned_int>_>.\n  _M_impl._M_start" (field_expression "allocator<long_unsigned_int>_>.\n  _M_impl" (binary_expression "allocator<long_unsigned_int>_" (binary_expression "allocator<long_unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (ERROR "section_addraligns.super__Vector_base<long_unsigned_int,_std::" (comma_expression "section_addraligns.super__Vector_base<long_unsigned_int,_std" (binary_expression "section_addraligns.super__Vector_base<long_unsigned_int" (field_expression "section_addraligns.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : :) (expression_statement "allocator<long_unsigned_int>_>.\n  _M_impl._M_finish = (pointer)0x0;" (assignment_expression "allocator<long_unsigned_int>_>.\n  _M_impl._M_finish = (pointer)0x0" (field_expression "allocator<long_unsigned_int>_>.\n  _M_impl._M_finish" (field_expression "allocator<long_unsigned_int>_>.\n  _M_impl" (binary_expression "allocator<long_unsigned_int>_" (binary_expression "allocator<long_unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (ERROR "section_addraligns.super__Vector_base<long_unsigned_int,_std::" (comma_expression "section_addraligns.super__Vector_base<long_unsigned_int,_std" (binary_expression "section_addraligns.super__Vector_base<long_unsigned_int" (field_expression "section_addraligns.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : :) (expression_statement "allocator<long_unsigned_int>_>.\n  _M_impl._M_end_of_storage = (pointer)0x0;" (assignment_expression "allocator<long_unsigned_int>_>.\n  _M_impl._M_end_of_storage = (pointer)0x0" (field_expression "allocator<long_unsigned_int>_>.\n  _M_impl._M_end_of_storage" (field_expression "allocator<long_unsigned_int>_>.\n  _M_impl" (binary_expression "allocator<long_unsigned_int>_" (binary_expression "allocator<long_unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n  super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p = (_Bit_type *)0x0;" (assignment_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n  super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p = (_Bit_type *)0x0" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n  super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n  super__Bvector_impl_data._M_start.super__Bit_iterator_base" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n  super__Bvector_impl_data._M_start" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n  super__Bvector_impl_data" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl" (binary_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_" (binary_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool" (binary_expression "is_secn_or_group_unique.super__Bvector_base<std" (field_expression "is_secn_or_group_unique.super__Bvector_base" identifier . field_identifier) < identifier) (ERROR "::allocator" : : identifier) < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(_Bit_type *)0x0" ( (type_descriptor "_Bit_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n  super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset = 0;" (assignment_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n  super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset = 0" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n  super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n  super__Bvector_impl_data._M_start.super__Bit_iterator_base" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n  super__Bvector_impl_data._M_start" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n  super__Bvector_impl_data" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl" (binary_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_" (binary_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool" (binary_expression "is_secn_or_group_unique.super__Bvector_base<std" (field_expression "is_secn_or_group_unique.super__Bvector_base" identifier . field_identifier) < identifier) (ERROR "::allocator" : : identifier) < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p = (_Bit_type *)0x0;" (assignment_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p = (_Bit_type *)0x0" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n  super__Bvector_impl_data._M_finish.super__Bit_iterator_base" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n  super__Bvector_impl_data._M_finish" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n  super__Bvector_impl_data" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl" (binary_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_" (binary_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool" (binary_expression "is_secn_or_group_unique.super__Bvector_base<std" (field_expression "is_secn_or_group_unique.super__Bvector_base" identifier . field_identifier) < identifier) (ERROR "::allocator" : : identifier) < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(_Bit_type *)0x0" ( (type_descriptor "_Bit_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset = 0;" (assignment_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset = 0" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n  super__Bvector_impl_data._M_finish.super__Bit_iterator_base" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n  super__Bvector_impl_data._M_finish" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n  super__Bvector_impl_data" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl" (binary_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_" (binary_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool" (binary_expression "is_secn_or_group_unique.super__Bvector_base<std" (field_expression "is_secn_or_group_unique.super__Bvector_base" identifier . field_identifier) < identifier) (ERROR "::allocator" : : identifier) < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n  super__Bvector_impl_data._M_end_of_storage = (_Bit_pointer)0x0;" (assignment_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n  super__Bvector_impl_data._M_end_of_storage = (_Bit_pointer)0x0" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n  super__Bvector_impl_data._M_end_of_storage" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n  super__Bvector_impl_data" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl" (binary_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_" (binary_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool" (binary_expression "is_secn_or_group_unique.super__Bvector_base<std" (field_expression "is_secn_or_group_unique.super__Bvector_base" identifier . field_identifier) < identifier) (ERROR "::allocator" : : identifier) < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(_Bit_pointer)0x0" ( (type_descriptor "_Bit_pointer" type_identifier) ) number_literal)) ;) (ERROR "section_contents.\n  super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (binary_expression "section_contents.\n  super__Vector_base<std" (field_expression "section_contents.\n  super__Vector_base" identifier . field_identifier) < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>\n  ._M_impl._M_start = (pointer)0x0;" (assignment_expression "allocator<char>_>_>_>\n  ._M_impl._M_start = (pointer)0x0" (field_expression "allocator<char>_>_>_>\n  ._M_impl._M_start" (field_expression "allocator<char>_>_>_>\n  ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (ERROR "section_contents.\n  super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (binary_expression "section_contents.\n  super__Vector_base<std" (field_expression "section_contents.\n  super__Vector_base" identifier . field_identifier) < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>\n  ._M_impl._M_finish = (pointer)0x0;" (assignment_expression "allocator<char>_>_>_>\n  ._M_impl._M_finish = (pointer)0x0" (field_expression "allocator<char>_>_>_>\n  ._M_impl._M_finish" (field_expression "allocator<char>_>_>_>\n  ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (ERROR "section_contents.\n  super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (binary_expression "section_contents.\n  super__Vector_base<std" (field_expression "section_contents.\n  super__Vector_base" identifier . field_identifier) < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>\n  ._M_impl._M_end_of_storage = (pointer)0x0;" (assignment_expression "allocator<char>_>_>_>\n  ._M_impl._M_end_of_storage = (pointer)0x0" (field_expression "allocator<char>_>_>_>\n  ._M_impl._M_end_of_storage" (field_expression "allocator<char>_>_>_>\n  ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (if_statement "if (pTVar5 == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181f0b to 00181f0f has its CatchHandler @ 00181f15 */\n    do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n  }" if (parenthesized_expression "(pTVar5 == (Target *)0x0)" ( (binary_expression "pTVar5 == (Target *)0x0" identifier == (cast_expression "(Target *)0x0" ( (type_descriptor "Target *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181f0b to 00181f0f has its CatchHandler @ 00181f15 */\n    do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n  }" { comment comment (expression_statement "do_gold_unreachable("../../gold/parameters.h",0x69,"target");" (call_expression "do_gold_unreachable("../../gold/parameters.h",0x69,"target")" identifier (argument_list "("../../gold/parameters.h",0x69,"target")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""target"" " string_content ") ))) ;) })) (expression_statement "ppRVar55 = (input_objects->relobj_list_).\n             super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_start;" (field_expression "ppRVar55 = (input_objects->relobj_list_).\n             super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_start" (field_expression "ppRVar55 = (input_objects->relobj_list_).\n             super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl" (binary_expression "ppRVar55 = (input_objects->relobj_list_).\n             super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_" (binary_expression "ppRVar55 = (input_objects->relobj_list_).\n             super__Vector_base<gold::Relobj*,_std::allocator<gold" (binary_expression "ppRVar55 = (input_objects->relobj_list_).\n             super__Vector_base<gold::Relobj*,_std" (assignment_expression "ppRVar55 = (input_objects->relobj_list_).\n             super__Vector_base<gold" identifier = (binary_expression "(input_objects->relobj_list_).\n             super__Vector_base<gold" (field_expression "(input_objects->relobj_list_).\n             super__Vector_base" (parenthesized_expression "(input_objects->relobj_list_)" ( (field_expression "input_objects->relobj_list_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if (ppRVar55 ==\n      (input_objects->relobj_list_).\n      super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish) {\n    local_1d8 = (undefined4 *)0x0;\n  }\n  else {\n    local_1c8 = (undefined4 *)0x0;\n    local_1b0 = (undefined4 *)0x0;\n    local_1d8 = (undefined4 *)0x0;\n    uVar4 = 0;\n    do {\n      pRVar6 = *ppRVar55;\n      pIVar7 = (pRVar6->super_Object).input_file_;\n      if (pIVar7 == (Input_file *)0x0) {\n        pRVar48 = pRVar6;\n        if ((pRVar6->super_Object).shnum_ != 0) goto LAB_00180a17;\n      }\n      else {\n                    /* try { // try from 00180a02 to 00180a06 has its CatchHandler @ 00181f33 */\n        File_read::lock(&pIVar7->file_,(Task *)0xffffffffffffffff);\n        pRVar48 = *ppRVar55;\n        if (((*ppRVar55)->super_Object).shnum_ != 0) {\nLAB_00180a17:\n          uVar56 = false;\n          uVar45 = 0;\n          uVar59 = true;\n          do {\n            uVar44 = (uint)uVar45;\n                    /* try { // try from 00180c4d to 00180c52 has its CatchHandler @ 00181f1d */\n            (*(pRVar48->super_Object)._vptr_Object[0x10])(&section_name,pRVar48,uVar45);\n            lVar38 = 5;\n            pbVar30 = (byte *)".text";\n            _Var50 = section_name._M_dataplus;\n            do {\n              if (lVar38 == 0) break;\n              lVar38 = lVar38 + -1;\n              uVar56 = *pbVar30 < (byte)*_Var50._M_p;\n              uVar59 = *pbVar30 == *_Var50._M_p;\n              pbVar30 = pbVar30 + (ulong)bVar61 * -2 + 1;\n              _Var50._M_p = (pointer)((byte *)_Var50._M_p + (ulong)bVar61 * -2 + 1);\n            } while ((bool)uVar59);\n            bVar57 = false;\n            bVar60 = (!(bool)uVar56 && !(bool)uVar59) == (bool)uVar56;\n            if (bVar60) {\nLAB_00180a28:\n              pRVar48 = *ppRVar55;\n              ppOVar8 = (pRVar48->output_sections_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_start;\n              if ((ulong)((long)(pRVar48->output_sections_).\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_finish - (long)ppOVar8 >> 3) <= uVar45) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181e47 to 00181e63 has its CatchHandler @ 00181f61 */\n                do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (ppOVar8[uVar45] == (Output_section *)0x0) goto LAB_00180c96;\n              pGVar25 = parameters->options_;\n              if (pGVar25 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((pGVar25->gc_sections_).value != false) {\n                section_cksum._M_h._M_bucket_count =\n                     CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n                section_cksum._M_h._M_buckets = (__bucket_type *)pRVar48;\n                iVar31 = std::\n                         _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                         ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                 *)&symtab->gc_->referenced_list_,(key_type *)&section_cksum);\n                if (iVar31.super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>.\n                    _M_cur == (__node_type *)0x0) goto LAB_00180c96;\n                pGVar25 = parameters->options_;\n                if (pGVar25 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00180e61 to 001811fa has its CatchHandler @ 00181f61 */\n                  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (pGVar25->icf_status_ == ICF_SAFE) {\n                pbVar30 = (byte *)strrchr(section_name._M_dataplus._M_p,0x2e);\n                bVar57 = false;\n                bVar60 = pbVar30 == (byte *)0x0;\n                if (bVar60) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181ef3 to 00181ef7 has its CatchHandler @ 00181f61 */\n                  do_gold_unreachable("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar38 = 4;\n                pbVar49 = &DAT_00373305;\n                pbVar52 = pbVar30;\n                do {\n                  if (lVar38 == 0) break;\n                  lVar38 = lVar38 + -1;\n                  bVar57 = *pbVar49 < *pbVar52;\n                  bVar60 = *pbVar49 == *pbVar52;\n                  pbVar49 = pbVar49 + (ulong)bVar61 * -2 + 1;\n                  pbVar52 = pbVar52 + (ulong)bVar61 * -2 + 1;\n                } while (bVar60);\n                bVar58 = false;\n                bVar57 = (!bVar57 && !bVar60) == bVar57;\n                if (bVar57) {\nLAB_00180f58:\n                  gVar20 = is_gnu_v3_mangled_ctor((char *)(pbVar30 + 1));\n                  if ((gVar20 != 0) ||\n                     (gVar21 = is_gnu_v3_mangled_dtor((char *)(pbVar30 + 1)), gVar21 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar38 = 4;\n                  pbVar49 = &DAT_0037330a;\n                  pbVar52 = pbVar30;\n                  do {\n                    if (lVar38 == 0) break;\n                    lVar38 = lVar38 + -1;\n                    bVar58 = *pbVar49 < *pbVar52;\n                    bVar57 = *pbVar49 == *pbVar52;\n                    pbVar49 = pbVar49 + (ulong)bVar61 * -2 + 1;\n                    pbVar52 = pbVar52 + (ulong)bVar61 * -2 + 1;\n                  } while (bVar57);\n                  if ((!bVar58 && !bVar57) == bVar58) goto LAB_00180f58;\n                }\n                if ((*(code **)(*(long *)pTVar5 + 0x90) !=\n                     Target::do_can_check_for_function_pointers) &&\n                   (cVar19 = (**(code **)(*(long *)pTVar5 + 0x90))(pTVar5), cVar19 != '\0')) {\n                  section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;\n                  section_cksum._M_h._M_bucket_count =\n                       CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n                  iVar31 = std::\n                           _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                           ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                   *)&this->fptr_section_id_,(key_type *)&section_cksum);\n                  if (iVar31.super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>\n                      ._M_cur == (__node_type *)0x0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                          &section_cksum;\n              section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;\n              __position._M_current =\n                   (this->id_section_).\n                   super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                   ._M_impl._M_finish;\n              section_cksum._M_h._M_bucket_count =\n                   CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n              if (__position._M_current ==\n                  (this->id_section_).\n                  super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                  ._M_impl._M_end_of_storage) {\n                std::\n                vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ::_M_realloc_insert<std::pair<gold::Relobj*,_unsigned_int>_>\n                          (&this->id_section_,__position,\n                           (pair<gold::Relobj*,_unsigned_int> *)local_1a8);\n              }\n              else {\n                (__position._M_current)->first = (Relobj *)section_cksum._M_h._M_buckets;\n                (__position._M_current)->second = uVar44;\n                (this->id_section_).\n                super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ._M_impl._M_finish = __position._M_current + 1;\n              }\n              section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;\n              section_cksum._M_h._M_bucket_count =\n                   CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n              p_Var26 = (_Hash_node_base *)((ulong)section_cksum._M_h._M_buckets ^ uVar45);\n              local_1a0 = (ulong)p_Var26 % (this->section_id_)._M_h._M_bucket_count;\n              p_Var27 = std::\n                        _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                        ::_M_find_before_node\n                                  ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                                    *)&this->section_id_,local_1a0,(key_type *)local_1a8,\n                                   (__hash_code)p_Var26);\n              if ((p_Var27 == (__node_base *)0x0) ||\n                 (p_Var28 = p_Var27->_M_nxt, p_Var28 == (_Hash_node_base *)0x0)) {\n                    /* try { // try from 00180cad to 00180cec has its CatchHandler @ 00181f61 */\n                p_Var28 = (_Hash_node_base *)operator_new(0x28);\n                uVar41 = (this->section_id_)._M_h._M_element_count;\n                p_Var28->_M_nxt = (_Hash_node_base *)0x0;\n                uVar42 = (this->section_id_)._M_h._M_bucket_count;\n                *(undefined4 *)&p_Var28[3]._M_nxt = 0;\n                p_Var28[1]._M_nxt = (_Hash_node_base *)section_cksum._M_h._M_buckets;\n                p_Var28[2]._M_nxt = (_Hash_node_base *)section_cksum._M_h._M_bucket_count;\n                cVar19 = std::__detail::_Prime_rehash_policy::_M_need_rehash\n                                   (&(this->section_id_)._M_h._M_rehash_policy,uVar42,uVar41,1);\n                if (cVar19 == '\0') {\n                  pp_Var29 = (this->section_id_)._M_h._M_buckets;\n                }\n                else {\n                  if (this_00 ==\n                      (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n                       *)0x1) {\n                    pp_Var29 = &(this->section_id_)._M_h._M_single_bucket;\n                    (this->section_id_)._M_h._M_single_bucket = (__bucket_type)0x0;\n                  }\n                  else {\n                    /* try { // try from 00180d0d to 00180d11 has its CatchHandler @ 00181f10 */\n                    pp_Var29 = std::__detail::\n                               _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n                               ::_M_allocate_buckets(this_00,uVar42);\n                  }\n                  p_Var39 = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                  (this->section_id_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n                  if (p_Var39 != (_Hash_node_base *)0x0) {\n                    uVar41 = 0;\n                    do {\n                      while( true ) {\n                        p_Var9 = p_Var39->_M_nxt;\n                        uVar42 = (ulong)p_Var39[4]._M_nxt % (ulong)this_00;\n                        pp_Var10 = pp_Var29 + uVar42;\n                        if (*pp_Var10 == (__bucket_type)0x0) break;\n                        p_Var39->_M_nxt = (*pp_Var10)->_M_nxt;\n                        (*pp_Var10)->_M_nxt = p_Var39;\n                        uVar42 = uVar41;\nLAB_00180d64:\n                        p_Var39 = p_Var9;\n                        uVar41 = uVar42;\n                        if (p_Var9 == (_Hash_node_base *)0x0) goto LAB_00180dc0;\n                      }\n                      p_Var39->_M_nxt = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                      (this->section_id_)._M_h._M_before_begin._M_nxt = p_Var39;\n                      *pp_Var10 = &(this->section_id_)._M_h._M_before_begin;\n                      if (p_Var39->_M_nxt == (_Hash_node_base *)0x0) goto LAB_00180d64;\n                      pp_Var29[uVar41] = p_Var39;\n                      p_Var39 = p_Var9;\n                      uVar41 = uVar42;\n                    } while (p_Var9 != (_Hash_node_base *)0x0);\n                  }\nLAB_00180dc0:\n                  pp_Var10 = (this->section_id_)._M_h._M_buckets;\n                  if (pp_Var10 != &(this->section_id_)._M_h._M_single_bucket) {\n                    operator_delete(pp_Var10);\n                  }\n                  (this->section_id_)._M_h._M_buckets = pp_Var29;\n                  local_1a0 = (ulong)p_Var26 % (ulong)this_00;\n                  (this->section_id_)._M_h._M_bucket_count = (size_type)this_00;\n                }\n                p_Var28[4]._M_nxt = p_Var26;\n                pp_Var10 = pp_Var29 + local_1a0;\n                if (*pp_Var10 == (__bucket_type)0x0) {\n                  p_Var26 = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                  (this->section_id_)._M_h._M_before_begin._M_nxt = p_Var28;\n                  p_Var28->_M_nxt = p_Var26;\n                  if (p_Var26 != (_Hash_node_base *)0x0) {\n                    pp_Var29[(ulong)p_Var26[4]._M_nxt % (this->section_id_)._M_h._M_bucket_count] =\n                         p_Var28;\n                  }\n                  *pp_Var10 = &(this->section_id_)._M_h._M_before_begin;\n                }\n                else {\n                  p_Var28->_M_nxt = (*pp_Var10)->_M_nxt;\n                  (*pp_Var10)->_M_nxt = p_Var28;\n                }\n                psVar1 = &(this->section_id_)._M_h._M_element_count;\n                *psVar1 = *psVar1 + 1;\n              }\n              puVar11 = (this->kept_section_id_).\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_finish;\n              *(uint *)&p_Var28[3]._M_nxt = uVar4;\n              if (puVar11 ==\n                  (this->kept_section_id_).\n                  super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                  _M_end_of_storage) {\n                __src = (this->kept_section_id_).\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start;\n                sVar32 = (long)puVar11 - (long)__src;\n                uVar41 = (long)sVar32 >> 2;\n                if (uVar41 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (pointer)operator_new(local_1d0);\n                  local_1e8 = (pointer)(local_1d0 + (long)__dest);\n                }\n                else {\n                  uVar42 = uVar41 * 2;\n                  if (uVar42 < uVar41) {\n                    local_1d0 = 0xfffffffffffffffc;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = 0xfffffffffffffffc;\n                  if (0x3fffffffffffffff < uVar42) goto LAB_00181065;\n                  if (uVar42 != 0) {\n                    local_1d0 = uVar41 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = (pointer)0x0;\n                  __dest = (pointer)0x0;\n                }\n                *(uint *)((long)__dest + sVar32) = uVar4;\n                puVar3 = (pointer)((long)__dest + sVar32 + 4);\n                if (puVar11 == __src) {\n                  if (__src != (pointer)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = (pointer)memmove(__dest,__src,sVar32);\nLAB_001810bd:\n                  operator_delete(__src);\n                }\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start =\n                     __dest;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n                     puVar3;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                _M_end_of_storage = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *puVar11 = uVar4;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n                     puVar11 + 1;\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar32 = (long)local_1b0 - (long)local_1d8;\n                uVar41 = (long)sVar32 >> 2;\n                if (uVar41 == 0) {\n                  uVar42 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)operator_new(uVar42);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + uVar42);\n                }\n                else {\n                  uVar34 = uVar41 * 2;\n                  if (uVar34 < uVar41) {\n                    uVar42 = 0xfffffffffffffffc;\n                    goto LAB_0018114e;\n                  }\n                  uVar42 = 0xfffffffffffffffc;\n                  if (0x3fffffffffffffff < uVar34) goto LAB_0018114e;\n                  if (uVar34 != 0) {\n                    uVar42 = uVar41 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar32) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar32 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar32);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar32 + 4);\nLAB_001811a1:\n                  operator_delete(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    /* try { // try from 00180b6b to 00180bee has its CatchHandler @ 00181f61 */\n              iVar24 = (*((*ppRVar55)->super_Object)._vptr_Object[0x17])(*ppRVar55,uVar45);\n              section_cksum._M_h._M_buckets = (__bucket_type *)CONCAT44(extraout_var,iVar24);\n              if (section_addraligns.\n                  super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                  _M_finish ==\n                  section_addraligns.\n                  super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                  _M_end_of_storage) {\n                std::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>::\n                _M_realloc_insert<long_unsigned_int>\n                          (&section_addraligns,\n                           (iterator)\n                           section_addraligns.\n                           super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n                           ._M_impl._M_finish,(ulong *)local_1a8);\n              }\n              else {\n                *section_addraligns.\n                 super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                 _M_finish = (ulong)section_cksum._M_h._M_buckets;\n                section_addraligns.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_finish = section_addraligns.\n                            super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n                            ._M_impl._M_finish + 1;\n              }\n              uVar22 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset;\n              p_Var18 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                        super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p;\n              if (is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p ==\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_end_of_storage) {\n                local_180 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>.\n                            _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base.\n                            _M_offset;\n                __position_00.super__Bit_iterator_base._12_4_ = uStack_17c;\n                __position_00.super__Bit_iterator_base._M_offset =\n                     is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                     super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset;\n                local_188 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>.\n                            _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p\n                ;\n                __position_00.super__Bit_iterator_base._M_p =\n                     is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                     super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p;\n                std::vector<bool,_std::allocator<bool>_>::_M_insert_aux\n                          (&is_secn_or_group_unique,__position_00,false);\n              }\n              else {\n                if (is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                    super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset == 0x3f) {\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset = 0;\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p + 1;\n                }\n                else {\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset + 1;\n                }\n                bVar13 = (byte)uVar22 & 0x3f;\n                *p_Var18 = *p_Var18 & (-2L << bVar13 | 0xfffffffffffffffeU >> 0x40 - bVar13);\n              }\n              section_cksum._M_h._M_buckets = &section_cksum._M_h._M_before_begin._M_nxt;\n              std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n              _M_construct<char_const*>(local_1a8,"");\n                    /* try { // try from 00180c00 to 00180c04 has its CatchHandler @ 00181f59 */\n              std::\n              vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              ::\n              emplace_back<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>\n                        (&section_contents,local_1a8);\n              if ((__node_base *)section_cksum._M_h._M_buckets !=\n                  &section_cksum._M_h._M_before_begin) {\n                operator_delete(section_cksum._M_h._M_buckets);\n              }\n              uVar4 = uVar4 + 1;\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)section_name._M_dataplus._M_p != &section_name.field_2) goto LAB_00180c31;\n            }\n            else {\n              lVar38 = 0xf;\n              pbVar30 = (byte *)".gnu.linkonce.t";\n              _Var50 = section_name._M_dataplus;\n              do {\n                if (lVar38 == 0) break;\n                lVar38 = lVar38 + -1;\n                bVar57 = *pbVar30 < (byte)*_Var50._M_p;\n                bVar60 = *pbVar30 == *_Var50._M_p;\n                pbVar30 = pbVar30 + (ulong)bVar61 * -2 + 1;\n                _Var50._M_p = (pointer)((byte *)_Var50._M_p + (ulong)bVar61 * -2 + 1);\n              } while (bVar60);\n              if ((!bVar57 && !bVar60) == bVar57) goto LAB_00180a28;\nLAB_00180c96:\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)section_name._M_dataplus._M_p != &section_name.field_2) {\nLAB_00180c31:\n                operator_delete(section_name._M_dataplus._M_p);\n              }\n            }\n            pRVar48 = *ppRVar55;\n            uVar44 = uVar44 + 1;\n            uVar45 = (ulong)uVar44;\n            uVar22 = (pRVar48->super_Object).shnum_;\n            uVar56 = uVar44 < uVar22;\n            uVar59 = uVar44 == uVar22;\n          } while ((bool)uVar56);\n        }\n        pIVar7 = (pRVar6->super_Object).input_file_;\n        if (pIVar7 != (Input_file *)0x0) {\n          File_read::unlock(&pIVar7->file_,(Task *)0xffffffffffffffff);\n        }\n      }\n      ppRVar55 = ppRVar55 + 1;\n    } while ((input_objects->relobj_list_).\n             super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish !=\n             ppRVar55);\n  }" if (parenthesized_expression "(ppRVar55 ==\n      (input_objects->relobj_list_).\n      super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish)" ( (field_expression "ppRVar55 ==\n      (input_objects->relobj_list_).\n      super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish" (field_expression "ppRVar55 ==\n      (input_objects->relobj_list_).\n      super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl" (binary_expression "ppRVar55 ==\n      (input_objects->relobj_list_).\n      super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_" (binary_expression "ppRVar55 ==\n      (input_objects->relobj_list_).\n      super__Vector_base<gold::Relobj*,_std::allocator<gold" (binary_expression "ppRVar55 ==\n      (input_objects->relobj_list_).\n      super__Vector_base<gold::Relobj*,_std" (binary_expression "ppRVar55 ==\n      (input_objects->relobj_list_).\n      super__Vector_base<gold" identifier == (binary_expression "(input_objects->relobj_list_).\n      super__Vector_base<gold" (field_expression "(input_objects->relobj_list_).\n      super__Vector_base" (parenthesized_expression "(input_objects->relobj_list_)" ( (field_expression "input_objects->relobj_list_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n    local_1d8 = (undefined4 *)0x0;\n  }" { (expression_statement "local_1d8 = (undefined4 *)0x0;" (assignment_expression "local_1d8 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    local_1c8 = (undefined4 *)0x0;\n    local_1b0 = (undefined4 *)0x0;\n    local_1d8 = (undefined4 *)0x0;\n    uVar4 = 0;\n    do {\n      pRVar6 = *ppRVar55;\n      pIVar7 = (pRVar6->super_Object).input_file_;\n      if (pIVar7 == (Input_file *)0x0) {\n        pRVar48 = pRVar6;\n        if ((pRVar6->super_Object).shnum_ != 0) goto LAB_00180a17;\n      }\n      else {\n                    /* try { // try from 00180a02 to 00180a06 has its CatchHandler @ 00181f33 */\n        File_read::lock(&pIVar7->file_,(Task *)0xffffffffffffffff);\n        pRVar48 = *ppRVar55;\n        if (((*ppRVar55)->super_Object).shnum_ != 0) {\nLAB_00180a17:\n          uVar56 = false;\n          uVar45 = 0;\n          uVar59 = true;\n          do {\n            uVar44 = (uint)uVar45;\n                    /* try { // try from 00180c4d to 00180c52 has its CatchHandler @ 00181f1d */\n            (*(pRVar48->super_Object)._vptr_Object[0x10])(&section_name,pRVar48,uVar45);\n            lVar38 = 5;\n            pbVar30 = (byte *)".text";\n            _Var50 = section_name._M_dataplus;\n            do {\n              if (lVar38 == 0) break;\n              lVar38 = lVar38 + -1;\n              uVar56 = *pbVar30 < (byte)*_Var50._M_p;\n              uVar59 = *pbVar30 == *_Var50._M_p;\n              pbVar30 = pbVar30 + (ulong)bVar61 * -2 + 1;\n              _Var50._M_p = (pointer)((byte *)_Var50._M_p + (ulong)bVar61 * -2 + 1);\n            } while ((bool)uVar59);\n            bVar57 = false;\n            bVar60 = (!(bool)uVar56 && !(bool)uVar59) == (bool)uVar56;\n            if (bVar60) {\nLAB_00180a28:\n              pRVar48 = *ppRVar55;\n              ppOVar8 = (pRVar48->output_sections_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_start;\n              if ((ulong)((long)(pRVar48->output_sections_).\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_finish - (long)ppOVar8 >> 3) <= uVar45) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181e47 to 00181e63 has its CatchHandler @ 00181f61 */\n                do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (ppOVar8[uVar45] == (Output_section *)0x0) goto LAB_00180c96;\n              pGVar25 = parameters->options_;\n              if (pGVar25 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((pGVar25->gc_sections_).value != false) {\n                section_cksum._M_h._M_bucket_count =\n                     CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n                section_cksum._M_h._M_buckets = (__bucket_type *)pRVar48;\n                iVar31 = std::\n                         _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                         ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                 *)&symtab->gc_->referenced_list_,(key_type *)&section_cksum);\n                if (iVar31.super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>.\n                    _M_cur == (__node_type *)0x0) goto LAB_00180c96;\n                pGVar25 = parameters->options_;\n                if (pGVar25 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00180e61 to 001811fa has its CatchHandler @ 00181f61 */\n                  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (pGVar25->icf_status_ == ICF_SAFE) {\n                pbVar30 = (byte *)strrchr(section_name._M_dataplus._M_p,0x2e);\n                bVar57 = false;\n                bVar60 = pbVar30 == (byte *)0x0;\n                if (bVar60) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181ef3 to 00181ef7 has its CatchHandler @ 00181f61 */\n                  do_gold_unreachable("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar38 = 4;\n                pbVar49 = &DAT_00373305;\n                pbVar52 = pbVar30;\n                do {\n                  if (lVar38 == 0) break;\n                  lVar38 = lVar38 + -1;\n                  bVar57 = *pbVar49 < *pbVar52;\n                  bVar60 = *pbVar49 == *pbVar52;\n                  pbVar49 = pbVar49 + (ulong)bVar61 * -2 + 1;\n                  pbVar52 = pbVar52 + (ulong)bVar61 * -2 + 1;\n                } while (bVar60);\n                bVar58 = false;\n                bVar57 = (!bVar57 && !bVar60) == bVar57;\n                if (bVar57) {\nLAB_00180f58:\n                  gVar20 = is_gnu_v3_mangled_ctor((char *)(pbVar30 + 1));\n                  if ((gVar20 != 0) ||\n                     (gVar21 = is_gnu_v3_mangled_dtor((char *)(pbVar30 + 1)), gVar21 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar38 = 4;\n                  pbVar49 = &DAT_0037330a;\n                  pbVar52 = pbVar30;\n                  do {\n                    if (lVar38 == 0) break;\n                    lVar38 = lVar38 + -1;\n                    bVar58 = *pbVar49 < *pbVar52;\n                    bVar57 = *pbVar49 == *pbVar52;\n                    pbVar49 = pbVar49 + (ulong)bVar61 * -2 + 1;\n                    pbVar52 = pbVar52 + (ulong)bVar61 * -2 + 1;\n                  } while (bVar57);\n                  if ((!bVar58 && !bVar57) == bVar58) goto LAB_00180f58;\n                }\n                if ((*(code **)(*(long *)pTVar5 + 0x90) !=\n                     Target::do_can_check_for_function_pointers) &&\n                   (cVar19 = (**(code **)(*(long *)pTVar5 + 0x90))(pTVar5), cVar19 != '\0')) {\n                  section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;\n                  section_cksum._M_h._M_bucket_count =\n                       CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n                  iVar31 = std::\n                           _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                           ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                   *)&this->fptr_section_id_,(key_type *)&section_cksum);\n                  if (iVar31.super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>\n                      ._M_cur == (__node_type *)0x0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                          &section_cksum;\n              section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;\n              __position._M_current =\n                   (this->id_section_).\n                   super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                   ._M_impl._M_finish;\n              section_cksum._M_h._M_bucket_count =\n                   CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n              if (__position._M_current ==\n                  (this->id_section_).\n                  super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                  ._M_impl._M_end_of_storage) {\n                std::\n                vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ::_M_realloc_insert<std::pair<gold::Relobj*,_unsigned_int>_>\n                          (&this->id_section_,__position,\n                           (pair<gold::Relobj*,_unsigned_int> *)local_1a8);\n              }\n              else {\n                (__position._M_current)->first = (Relobj *)section_cksum._M_h._M_buckets;\n                (__position._M_current)->second = uVar44;\n                (this->id_section_).\n                super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ._M_impl._M_finish = __position._M_current + 1;\n              }\n              section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;\n              section_cksum._M_h._M_bucket_count =\n                   CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n              p_Var26 = (_Hash_node_base *)((ulong)section_cksum._M_h._M_buckets ^ uVar45);\n              local_1a0 = (ulong)p_Var26 % (this->section_id_)._M_h._M_bucket_count;\n              p_Var27 = std::\n                        _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                        ::_M_find_before_node\n                                  ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                                    *)&this->section_id_,local_1a0,(key_type *)local_1a8,\n                                   (__hash_code)p_Var26);\n              if ((p_Var27 == (__node_base *)0x0) ||\n                 (p_Var28 = p_Var27->_M_nxt, p_Var28 == (_Hash_node_base *)0x0)) {\n                    /* try { // try from 00180cad to 00180cec has its CatchHandler @ 00181f61 */\n                p_Var28 = (_Hash_node_base *)operator_new(0x28);\n                uVar41 = (this->section_id_)._M_h._M_element_count;\n                p_Var28->_M_nxt = (_Hash_node_base *)0x0;\n                uVar42 = (this->section_id_)._M_h._M_bucket_count;\n                *(undefined4 *)&p_Var28[3]._M_nxt = 0;\n                p_Var28[1]._M_nxt = (_Hash_node_base *)section_cksum._M_h._M_buckets;\n                p_Var28[2]._M_nxt = (_Hash_node_base *)section_cksum._M_h._M_bucket_count;\n                cVar19 = std::__detail::_Prime_rehash_policy::_M_need_rehash\n                                   (&(this->section_id_)._M_h._M_rehash_policy,uVar42,uVar41,1);\n                if (cVar19 == '\0') {\n                  pp_Var29 = (this->section_id_)._M_h._M_buckets;\n                }\n                else {\n                  if (this_00 ==\n                      (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n                       *)0x1) {\n                    pp_Var29 = &(this->section_id_)._M_h._M_single_bucket;\n                    (this->section_id_)._M_h._M_single_bucket = (__bucket_type)0x0;\n                  }\n                  else {\n                    /* try { // try from 00180d0d to 00180d11 has its CatchHandler @ 00181f10 */\n                    pp_Var29 = std::__detail::\n                               _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n                               ::_M_allocate_buckets(this_00,uVar42);\n                  }\n                  p_Var39 = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                  (this->section_id_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n                  if (p_Var39 != (_Hash_node_base *)0x0) {\n                    uVar41 = 0;\n                    do {\n                      while( true ) {\n                        p_Var9 = p_Var39->_M_nxt;\n                        uVar42 = (ulong)p_Var39[4]._M_nxt % (ulong)this_00;\n                        pp_Var10 = pp_Var29 + uVar42;\n                        if (*pp_Var10 == (__bucket_type)0x0) break;\n                        p_Var39->_M_nxt = (*pp_Var10)->_M_nxt;\n                        (*pp_Var10)->_M_nxt = p_Var39;\n                        uVar42 = uVar41;\nLAB_00180d64:\n                        p_Var39 = p_Var9;\n                        uVar41 = uVar42;\n                        if (p_Var9 == (_Hash_node_base *)0x0) goto LAB_00180dc0;\n                      }\n                      p_Var39->_M_nxt = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                      (this->section_id_)._M_h._M_before_begin._M_nxt = p_Var39;\n                      *pp_Var10 = &(this->section_id_)._M_h._M_before_begin;\n                      if (p_Var39->_M_nxt == (_Hash_node_base *)0x0) goto LAB_00180d64;\n                      pp_Var29[uVar41] = p_Var39;\n                      p_Var39 = p_Var9;\n                      uVar41 = uVar42;\n                    } while (p_Var9 != (_Hash_node_base *)0x0);\n                  }\nLAB_00180dc0:\n                  pp_Var10 = (this->section_id_)._M_h._M_buckets;\n                  if (pp_Var10 != &(this->section_id_)._M_h._M_single_bucket) {\n                    operator_delete(pp_Var10);\n                  }\n                  (this->section_id_)._M_h._M_buckets = pp_Var29;\n                  local_1a0 = (ulong)p_Var26 % (ulong)this_00;\n                  (this->section_id_)._M_h._M_bucket_count = (size_type)this_00;\n                }\n                p_Var28[4]._M_nxt = p_Var26;\n                pp_Var10 = pp_Var29 + local_1a0;\n                if (*pp_Var10 == (__bucket_type)0x0) {\n                  p_Var26 = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                  (this->section_id_)._M_h._M_before_begin._M_nxt = p_Var28;\n                  p_Var28->_M_nxt = p_Var26;\n                  if (p_Var26 != (_Hash_node_base *)0x0) {\n                    pp_Var29[(ulong)p_Var26[4]._M_nxt % (this->section_id_)._M_h._M_bucket_count] =\n                         p_Var28;\n                  }\n                  *pp_Var10 = &(this->section_id_)._M_h._M_before_begin;\n                }\n                else {\n                  p_Var28->_M_nxt = (*pp_Var10)->_M_nxt;\n                  (*pp_Var10)->_M_nxt = p_Var28;\n                }\n                psVar1 = &(this->section_id_)._M_h._M_element_count;\n                *psVar1 = *psVar1 + 1;\n              }\n              puVar11 = (this->kept_section_id_).\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_finish;\n              *(uint *)&p_Var28[3]._M_nxt = uVar4;\n              if (puVar11 ==\n                  (this->kept_section_id_).\n                  super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                  _M_end_of_storage) {\n                __src = (this->kept_section_id_).\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start;\n                sVar32 = (long)puVar11 - (long)__src;\n                uVar41 = (long)sVar32 >> 2;\n                if (uVar41 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (pointer)operator_new(local_1d0);\n                  local_1e8 = (pointer)(local_1d0 + (long)__dest);\n                }\n                else {\n                  uVar42 = uVar41 * 2;\n                  if (uVar42 < uVar41) {\n                    local_1d0 = 0xfffffffffffffffc;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = 0xfffffffffffffffc;\n                  if (0x3fffffffffffffff < uVar42) goto LAB_00181065;\n                  if (uVar42 != 0) {\n                    local_1d0 = uVar41 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = (pointer)0x0;\n                  __dest = (pointer)0x0;\n                }\n                *(uint *)((long)__dest + sVar32) = uVar4;\n                puVar3 = (pointer)((long)__dest + sVar32 + 4);\n                if (puVar11 == __src) {\n                  if (__src != (pointer)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = (pointer)memmove(__dest,__src,sVar32);\nLAB_001810bd:\n                  operator_delete(__src);\n                }\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start =\n                     __dest;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n                     puVar3;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                _M_end_of_storage = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *puVar11 = uVar4;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n                     puVar11 + 1;\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar32 = (long)local_1b0 - (long)local_1d8;\n                uVar41 = (long)sVar32 >> 2;\n                if (uVar41 == 0) {\n                  uVar42 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)operator_new(uVar42);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + uVar42);\n                }\n                else {\n                  uVar34 = uVar41 * 2;\n                  if (uVar34 < uVar41) {\n                    uVar42 = 0xfffffffffffffffc;\n                    goto LAB_0018114e;\n                  }\n                  uVar42 = 0xfffffffffffffffc;\n                  if (0x3fffffffffffffff < uVar34) goto LAB_0018114e;\n                  if (uVar34 != 0) {\n                    uVar42 = uVar41 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar32) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar32 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar32);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar32 + 4);\nLAB_001811a1:\n                  operator_delete(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    /* try { // try from 00180b6b to 00180bee has its CatchHandler @ 00181f61 */\n              iVar24 = (*((*ppRVar55)->super_Object)._vptr_Object[0x17])(*ppRVar55,uVar45);\n              section_cksum._M_h._M_buckets = (__bucket_type *)CONCAT44(extraout_var,iVar24);\n              if (section_addraligns.\n                  super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                  _M_finish ==\n                  section_addraligns.\n                  super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                  _M_end_of_storage) {\n                std::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>::\n                _M_realloc_insert<long_unsigned_int>\n                          (&section_addraligns,\n                           (iterator)\n                           section_addraligns.\n                           super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n                           ._M_impl._M_finish,(ulong *)local_1a8);\n              }\n              else {\n                *section_addraligns.\n                 super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                 _M_finish = (ulong)section_cksum._M_h._M_buckets;\n                section_addraligns.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_finish = section_addraligns.\n                            super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n                            ._M_impl._M_finish + 1;\n              }\n              uVar22 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset;\n              p_Var18 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                        super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p;\n              if (is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p ==\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_end_of_storage) {\n                local_180 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>.\n                            _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base.\n                            _M_offset;\n                __position_00.super__Bit_iterator_base._12_4_ = uStack_17c;\n                __position_00.super__Bit_iterator_base._M_offset =\n                     is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                     super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset;\n                local_188 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>.\n                            _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p\n                ;\n                __position_00.super__Bit_iterator_base._M_p =\n                     is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                     super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p;\n                std::vector<bool,_std::allocator<bool>_>::_M_insert_aux\n                          (&is_secn_or_group_unique,__position_00,false);\n              }\n              else {\n                if (is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                    super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset == 0x3f) {\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset = 0;\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p + 1;\n                }\n                else {\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset + 1;\n                }\n                bVar13 = (byte)uVar22 & 0x3f;\n                *p_Var18 = *p_Var18 & (-2L << bVar13 | 0xfffffffffffffffeU >> 0x40 - bVar13);\n              }\n              section_cksum._M_h._M_buckets = &section_cksum._M_h._M_before_begin._M_nxt;\n              std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n              _M_construct<char_const*>(local_1a8,"");\n                    /* try { // try from 00180c00 to 00180c04 has its CatchHandler @ 00181f59 */\n              std::\n              vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              ::\n              emplace_back<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>\n                        (&section_contents,local_1a8);\n              if ((__node_base *)section_cksum._M_h._M_buckets !=\n                  &section_cksum._M_h._M_before_begin) {\n                operator_delete(section_cksum._M_h._M_buckets);\n              }\n              uVar4 = uVar4 + 1;\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)section_name._M_dataplus._M_p != &section_name.field_2) goto LAB_00180c31;\n            }\n            else {\n              lVar38 = 0xf;\n              pbVar30 = (byte *)".gnu.linkonce.t";\n              _Var50 = section_name._M_dataplus;\n              do {\n                if (lVar38 == 0) break;\n                lVar38 = lVar38 + -1;\n                bVar57 = *pbVar30 < (byte)*_Var50._M_p;\n                bVar60 = *pbVar30 == *_Var50._M_p;\n                pbVar30 = pbVar30 + (ulong)bVar61 * -2 + 1;\n                _Var50._M_p = (pointer)((byte *)_Var50._M_p + (ulong)bVar61 * -2 + 1);\n              } while (bVar60);\n              if ((!bVar57 && !bVar60) == bVar57) goto LAB_00180a28;\nLAB_00180c96:\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)section_name._M_dataplus._M_p != &section_name.field_2) {\nLAB_00180c31:\n                operator_delete(section_name._M_dataplus._M_p);\n              }\n            }\n            pRVar48 = *ppRVar55;\n            uVar44 = uVar44 + 1;\n            uVar45 = (ulong)uVar44;\n            uVar22 = (pRVar48->super_Object).shnum_;\n            uVar56 = uVar44 < uVar22;\n            uVar59 = uVar44 == uVar22;\n          } while ((bool)uVar56);\n        }\n        pIVar7 = (pRVar6->super_Object).input_file_;\n        if (pIVar7 != (Input_file *)0x0) {\n          File_read::unlock(&pIVar7->file_,(Task *)0xffffffffffffffff);\n        }\n      }\n      ppRVar55 = ppRVar55 + 1;\n    } while ((input_objects->relobj_list_).\n             super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish !=\n             ppRVar55);\n  }" else (compound_statement "{\n    local_1c8 = (undefined4 *)0x0;\n    local_1b0 = (undefined4 *)0x0;\n    local_1d8 = (undefined4 *)0x0;\n    uVar4 = 0;\n    do {\n      pRVar6 = *ppRVar55;\n      pIVar7 = (pRVar6->super_Object).input_file_;\n      if (pIVar7 == (Input_file *)0x0) {\n        pRVar48 = pRVar6;\n        if ((pRVar6->super_Object).shnum_ != 0) goto LAB_00180a17;\n      }\n      else {\n                    /* try { // try from 00180a02 to 00180a06 has its CatchHandler @ 00181f33 */\n        File_read::lock(&pIVar7->file_,(Task *)0xffffffffffffffff);\n        pRVar48 = *ppRVar55;\n        if (((*ppRVar55)->super_Object).shnum_ != 0) {\nLAB_00180a17:\n          uVar56 = false;\n          uVar45 = 0;\n          uVar59 = true;\n          do {\n            uVar44 = (uint)uVar45;\n                    /* try { // try from 00180c4d to 00180c52 has its CatchHandler @ 00181f1d */\n            (*(pRVar48->super_Object)._vptr_Object[0x10])(&section_name,pRVar48,uVar45);\n            lVar38 = 5;\n            pbVar30 = (byte *)".text";\n            _Var50 = section_name._M_dataplus;\n            do {\n              if (lVar38 == 0) break;\n              lVar38 = lVar38 + -1;\n              uVar56 = *pbVar30 < (byte)*_Var50._M_p;\n              uVar59 = *pbVar30 == *_Var50._M_p;\n              pbVar30 = pbVar30 + (ulong)bVar61 * -2 + 1;\n              _Var50._M_p = (pointer)((byte *)_Var50._M_p + (ulong)bVar61 * -2 + 1);\n            } while ((bool)uVar59);\n            bVar57 = false;\n            bVar60 = (!(bool)uVar56 && !(bool)uVar59) == (bool)uVar56;\n            if (bVar60) {\nLAB_00180a28:\n              pRVar48 = *ppRVar55;\n              ppOVar8 = (pRVar48->output_sections_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_start;\n              if ((ulong)((long)(pRVar48->output_sections_).\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_finish - (long)ppOVar8 >> 3) <= uVar45) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181e47 to 00181e63 has its CatchHandler @ 00181f61 */\n                do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (ppOVar8[uVar45] == (Output_section *)0x0) goto LAB_00180c96;\n              pGVar25 = parameters->options_;\n              if (pGVar25 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((pGVar25->gc_sections_).value != false) {\n                section_cksum._M_h._M_bucket_count =\n                     CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n                section_cksum._M_h._M_buckets = (__bucket_type *)pRVar48;\n                iVar31 = std::\n                         _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                         ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                 *)&symtab->gc_->referenced_list_,(key_type *)&section_cksum);\n                if (iVar31.super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>.\n                    _M_cur == (__node_type *)0x0) goto LAB_00180c96;\n                pGVar25 = parameters->options_;\n                if (pGVar25 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00180e61 to 001811fa has its CatchHandler @ 00181f61 */\n                  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (pGVar25->icf_status_ == ICF_SAFE) {\n                pbVar30 = (byte *)strrchr(section_name._M_dataplus._M_p,0x2e);\n                bVar57 = false;\n                bVar60 = pbVar30 == (byte *)0x0;\n                if (bVar60) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181ef3 to 00181ef7 has its CatchHandler @ 00181f61 */\n                  do_gold_unreachable("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar38 = 4;\n                pbVar49 = &DAT_00373305;\n                pbVar52 = pbVar30;\n                do {\n                  if (lVar38 == 0) break;\n                  lVar38 = lVar38 + -1;\n                  bVar57 = *pbVar49 < *pbVar52;\n                  bVar60 = *pbVar49 == *pbVar52;\n                  pbVar49 = pbVar49 + (ulong)bVar61 * -2 + 1;\n                  pbVar52 = pbVar52 + (ulong)bVar61 * -2 + 1;\n                } while (bVar60);\n                bVar58 = false;\n                bVar57 = (!bVar57 && !bVar60) == bVar57;\n                if (bVar57) {\nLAB_00180f58:\n                  gVar20 = is_gnu_v3_mangled_ctor((char *)(pbVar30 + 1));\n                  if ((gVar20 != 0) ||\n                     (gVar21 = is_gnu_v3_mangled_dtor((char *)(pbVar30 + 1)), gVar21 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar38 = 4;\n                  pbVar49 = &DAT_0037330a;\n                  pbVar52 = pbVar30;\n                  do {\n                    if (lVar38 == 0) break;\n                    lVar38 = lVar38 + -1;\n                    bVar58 = *pbVar49 < *pbVar52;\n                    bVar57 = *pbVar49 == *pbVar52;\n                    pbVar49 = pbVar49 + (ulong)bVar61 * -2 + 1;\n                    pbVar52 = pbVar52 + (ulong)bVar61 * -2 + 1;\n                  } while (bVar57);\n                  if ((!bVar58 && !bVar57) == bVar58) goto LAB_00180f58;\n                }\n                if ((*(code **)(*(long *)pTVar5 + 0x90) !=\n                     Target::do_can_check_for_function_pointers) &&\n                   (cVar19 = (**(code **)(*(long *)pTVar5 + 0x90))(pTVar5), cVar19 != '\0')) {\n                  section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;\n                  section_cksum._M_h._M_bucket_count =\n                       CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n                  iVar31 = std::\n                           _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                           ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                   *)&this->fptr_section_id_,(key_type *)&section_cksum);\n                  if (iVar31.super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>\n                      ._M_cur == (__node_type *)0x0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                          &section_cksum;\n              section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;\n              __position._M_current =\n                   (this->id_section_).\n                   super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                   ._M_impl._M_finish;\n              section_cksum._M_h._M_bucket_count =\n                   CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n              if (__position._M_current ==\n                  (this->id_section_).\n                  super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                  ._M_impl._M_end_of_storage) {\n                std::\n                vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ::_M_realloc_insert<std::pair<gold::Relobj*,_unsigned_int>_>\n                          (&this->id_section_,__position,\n                           (pair<gold::Relobj*,_unsigned_int> *)local_1a8);\n              }\n              else {\n                (__position._M_current)->first = (Relobj *)section_cksum._M_h._M_buckets;\n                (__position._M_current)->second = uVar44;\n                (this->id_section_).\n                super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ._M_impl._M_finish = __position._M_current + 1;\n              }\n              section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;\n              section_cksum._M_h._M_bucket_count =\n                   CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n              p_Var26 = (_Hash_node_base *)((ulong)section_cksum._M_h._M_buckets ^ uVar45);\n              local_1a0 = (ulong)p_Var26 % (this->section_id_)._M_h._M_bucket_count;\n              p_Var27 = std::\n                        _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                        ::_M_find_before_node\n                                  ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                                    *)&this->section_id_,local_1a0,(key_type *)local_1a8,\n                                   (__hash_code)p_Var26);\n              if ((p_Var27 == (__node_base *)0x0) ||\n                 (p_Var28 = p_Var27->_M_nxt, p_Var28 == (_Hash_node_base *)0x0)) {\n                    /* try { // try from 00180cad to 00180cec has its CatchHandler @ 00181f61 */\n                p_Var28 = (_Hash_node_base *)operator_new(0x28);\n                uVar41 = (this->section_id_)._M_h._M_element_count;\n                p_Var28->_M_nxt = (_Hash_node_base *)0x0;\n                uVar42 = (this->section_id_)._M_h._M_bucket_count;\n                *(undefined4 *)&p_Var28[3]._M_nxt = 0;\n                p_Var28[1]._M_nxt = (_Hash_node_base *)section_cksum._M_h._M_buckets;\n                p_Var28[2]._M_nxt = (_Hash_node_base *)section_cksum._M_h._M_bucket_count;\n                cVar19 = std::__detail::_Prime_rehash_policy::_M_need_rehash\n                                   (&(this->section_id_)._M_h._M_rehash_policy,uVar42,uVar41,1);\n                if (cVar19 == '\0') {\n                  pp_Var29 = (this->section_id_)._M_h._M_buckets;\n                }\n                else {\n                  if (this_00 ==\n                      (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n                       *)0x1) {\n                    pp_Var29 = &(this->section_id_)._M_h._M_single_bucket;\n                    (this->section_id_)._M_h._M_single_bucket = (__bucket_type)0x0;\n                  }\n                  else {\n                    /* try { // try from 00180d0d to 00180d11 has its CatchHandler @ 00181f10 */\n                    pp_Var29 = std::__detail::\n                               _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n                               ::_M_allocate_buckets(this_00,uVar42);\n                  }\n                  p_Var39 = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                  (this->section_id_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n                  if (p_Var39 != (_Hash_node_base *)0x0) {\n                    uVar41 = 0;\n                    do {\n                      while( true ) {\n                        p_Var9 = p_Var39->_M_nxt;\n                        uVar42 = (ulong)p_Var39[4]._M_nxt % (ulong)this_00;\n                        pp_Var10 = pp_Var29 + uVar42;\n                        if (*pp_Var10 == (__bucket_type)0x0) break;\n                        p_Var39->_M_nxt = (*pp_Var10)->_M_nxt;\n                        (*pp_Var10)->_M_nxt = p_Var39;\n                        uVar42 = uVar41;\nLAB_00180d64:\n                        p_Var39 = p_Var9;\n                        uVar41 = uVar42;\n                        if (p_Var9 == (_Hash_node_base *)0x0) goto LAB_00180dc0;\n                      }\n                      p_Var39->_M_nxt = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                      (this->section_id_)._M_h._M_before_begin._M_nxt = p_Var39;\n                      *pp_Var10 = &(this->section_id_)._M_h._M_before_begin;\n                      if (p_Var39->_M_nxt == (_Hash_node_base *)0x0) goto LAB_00180d64;\n                      pp_Var29[uVar41] = p_Var39;\n                      p_Var39 = p_Var9;\n                      uVar41 = uVar42;\n                    } while (p_Var9 != (_Hash_node_base *)0x0);\n                  }\nLAB_00180dc0:\n                  pp_Var10 = (this->section_id_)._M_h._M_buckets;\n                  if (pp_Var10 != &(this->section_id_)._M_h._M_single_bucket) {\n                    operator_delete(pp_Var10);\n                  }\n                  (this->section_id_)._M_h._M_buckets = pp_Var29;\n                  local_1a0 = (ulong)p_Var26 % (ulong)this_00;\n                  (this->section_id_)._M_h._M_bucket_count = (size_type)this_00;\n                }\n                p_Var28[4]._M_nxt = p_Var26;\n                pp_Var10 = pp_Var29 + local_1a0;\n                if (*pp_Var10 == (__bucket_type)0x0) {\n                  p_Var26 = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                  (this->section_id_)._M_h._M_before_begin._M_nxt = p_Var28;\n                  p_Var28->_M_nxt = p_Var26;\n                  if (p_Var26 != (_Hash_node_base *)0x0) {\n                    pp_Var29[(ulong)p_Var26[4]._M_nxt % (this->section_id_)._M_h._M_bucket_count] =\n                         p_Var28;\n                  }\n                  *pp_Var10 = &(this->section_id_)._M_h._M_before_begin;\n                }\n                else {\n                  p_Var28->_M_nxt = (*pp_Var10)->_M_nxt;\n                  (*pp_Var10)->_M_nxt = p_Var28;\n                }\n                psVar1 = &(this->section_id_)._M_h._M_element_count;\n                *psVar1 = *psVar1 + 1;\n              }\n              puVar11 = (this->kept_section_id_).\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_finish;\n              *(uint *)&p_Var28[3]._M_nxt = uVar4;\n              if (puVar11 ==\n                  (this->kept_section_id_).\n                  super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                  _M_end_of_storage) {\n                __src = (this->kept_section_id_).\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start;\n                sVar32 = (long)puVar11 - (long)__src;\n                uVar41 = (long)sVar32 >> 2;\n                if (uVar41 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (pointer)operator_new(local_1d0);\n                  local_1e8 = (pointer)(local_1d0 + (long)__dest);\n                }\n                else {\n                  uVar42 = uVar41 * 2;\n                  if (uVar42 < uVar41) {\n                    local_1d0 = 0xfffffffffffffffc;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = 0xfffffffffffffffc;\n                  if (0x3fffffffffffffff < uVar42) goto LAB_00181065;\n                  if (uVar42 != 0) {\n                    local_1d0 = uVar41 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = (pointer)0x0;\n                  __dest = (pointer)0x0;\n                }\n                *(uint *)((long)__dest + sVar32) = uVar4;\n                puVar3 = (pointer)((long)__dest + sVar32 + 4);\n                if (puVar11 == __src) {\n                  if (__src != (pointer)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = (pointer)memmove(__dest,__src,sVar32);\nLAB_001810bd:\n                  operator_delete(__src);\n                }\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start =\n                     __dest;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n                     puVar3;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                _M_end_of_storage = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *puVar11 = uVar4;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n                     puVar11 + 1;\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar32 = (long)local_1b0 - (long)local_1d8;\n                uVar41 = (long)sVar32 >> 2;\n                if (uVar41 == 0) {\n                  uVar42 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)operator_new(uVar42);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + uVar42);\n                }\n                else {\n                  uVar34 = uVar41 * 2;\n                  if (uVar34 < uVar41) {\n                    uVar42 = 0xfffffffffffffffc;\n                    goto LAB_0018114e;\n                  }\n                  uVar42 = 0xfffffffffffffffc;\n                  if (0x3fffffffffffffff < uVar34) goto LAB_0018114e;\n                  if (uVar34 != 0) {\n                    uVar42 = uVar41 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar32) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar32 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar32);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar32 + 4);\nLAB_001811a1:\n                  operator_delete(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    /* try { // try from 00180b6b to 00180bee has its CatchHandler @ 00181f61 */\n              iVar24 = (*((*ppRVar55)->super_Object)._vptr_Object[0x17])(*ppRVar55,uVar45);\n              section_cksum._M_h._M_buckets = (__bucket_type *)CONCAT44(extraout_var,iVar24);\n              if (section_addraligns.\n                  super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                  _M_finish ==\n                  section_addraligns.\n                  super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                  _M_end_of_storage) {\n                std::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>::\n                _M_realloc_insert<long_unsigned_int>\n                          (&section_addraligns,\n                           (iterator)\n                           section_addraligns.\n                           super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n                           ._M_impl._M_finish,(ulong *)local_1a8);\n              }\n              else {\n                *section_addraligns.\n                 super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                 _M_finish = (ulong)section_cksum._M_h._M_buckets;\n                section_addraligns.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_finish = section_addraligns.\n                            super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n                            ._M_impl._M_finish + 1;\n              }\n              uVar22 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset;\n              p_Var18 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                        super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p;\n              if (is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p ==\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_end_of_storage) {\n                local_180 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>.\n                            _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base.\n                            _M_offset;\n                __position_00.super__Bit_iterator_base._12_4_ = uStack_17c;\n                __position_00.super__Bit_iterator_base._M_offset =\n                     is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                     super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset;\n                local_188 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>.\n                            _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p\n                ;\n                __position_00.super__Bit_iterator_base._M_p =\n                     is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                     super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p;\n                std::vector<bool,_std::allocator<bool>_>::_M_insert_aux\n                          (&is_secn_or_group_unique,__position_00,false);\n              }\n              else {\n                if (is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                    super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset == 0x3f) {\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset = 0;\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p + 1;\n                }\n                else {\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset + 1;\n                }\n                bVar13 = (byte)uVar22 & 0x3f;\n                *p_Var18 = *p_Var18 & (-2L << bVar13 | 0xfffffffffffffffeU >> 0x40 - bVar13);\n              }\n              section_cksum._M_h._M_buckets = &section_cksum._M_h._M_before_begin._M_nxt;\n              std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n              _M_construct<char_const*>(local_1a8,"");\n                    /* try { // try from 00180c00 to 00180c04 has its CatchHandler @ 00181f59 */\n              std::\n              vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              ::\n              emplace_back<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>\n                        (&section_contents,local_1a8);\n              if ((__node_base *)section_cksum._M_h._M_buckets !=\n                  &section_cksum._M_h._M_before_begin) {\n                operator_delete(section_cksum._M_h._M_buckets);\n              }\n              uVar4 = uVar4 + 1;\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)section_name._M_dataplus._M_p != &section_name.field_2) goto LAB_00180c31;\n            }\n            else {\n              lVar38 = 0xf;\n              pbVar30 = (byte *)".gnu.linkonce.t";\n              _Var50 = section_name._M_dataplus;\n              do {\n                if (lVar38 == 0) break;\n                lVar38 = lVar38 + -1;\n                bVar57 = *pbVar30 < (byte)*_Var50._M_p;\n                bVar60 = *pbVar30 == *_Var50._M_p;\n                pbVar30 = pbVar30 + (ulong)bVar61 * -2 + 1;\n                _Var50._M_p = (pointer)((byte *)_Var50._M_p + (ulong)bVar61 * -2 + 1);\n              } while (bVar60);\n              if ((!bVar57 && !bVar60) == bVar57) goto LAB_00180a28;\nLAB_00180c96:\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)section_name._M_dataplus._M_p != &section_name.field_2) {\nLAB_00180c31:\n                operator_delete(section_name._M_dataplus._M_p);\n              }\n            }\n            pRVar48 = *ppRVar55;\n            uVar44 = uVar44 + 1;\n            uVar45 = (ulong)uVar44;\n            uVar22 = (pRVar48->super_Object).shnum_;\n            uVar56 = uVar44 < uVar22;\n            uVar59 = uVar44 == uVar22;\n          } while ((bool)uVar56);\n        }\n        pIVar7 = (pRVar6->super_Object).input_file_;\n        if (pIVar7 != (Input_file *)0x0) {\n          File_read::unlock(&pIVar7->file_,(Task *)0xffffffffffffffff);\n        }\n      }\n      ppRVar55 = ppRVar55 + 1;\n    } while ((input_objects->relobj_list_).\n             super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish !=\n             ppRVar55);\n  }" { (expression_statement "local_1c8 = (undefined4 *)0x0;" (assignment_expression "local_1c8 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_1b0 = (undefined4 *)0x0;" (assignment_expression "local_1b0 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_1d8 = (undefined4 *)0x0;" (assignment_expression "local_1d8 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar4 = 0;" (assignment_expression "uVar4 = 0" identifier = number_literal) ;) (do_statement "do {\n      pRVar6 = *ppRVar55;\n      pIVar7 = (pRVar6->super_Object).input_file_;\n      if (pIVar7 == (Input_file *)0x0) {\n        pRVar48 = pRVar6;\n        if ((pRVar6->super_Object).shnum_ != 0) goto LAB_00180a17;\n      }\n      else {\n                    /* try { // try from 00180a02 to 00180a06 has its CatchHandler @ 00181f33 */\n        File_read::lock(&pIVar7->file_,(Task *)0xffffffffffffffff);\n        pRVar48 = *ppRVar55;\n        if (((*ppRVar55)->super_Object).shnum_ != 0) {\nLAB_00180a17:\n          uVar56 = false;\n          uVar45 = 0;\n          uVar59 = true;\n          do {\n            uVar44 = (uint)uVar45;\n                    /* try { // try from 00180c4d to 00180c52 has its CatchHandler @ 00181f1d */\n            (*(pRVar48->super_Object)._vptr_Object[0x10])(&section_name,pRVar48,uVar45);\n            lVar38 = 5;\n            pbVar30 = (byte *)".text";\n            _Var50 = section_name._M_dataplus;\n            do {\n              if (lVar38 == 0) break;\n              lVar38 = lVar38 + -1;\n              uVar56 = *pbVar30 < (byte)*_Var50._M_p;\n              uVar59 = *pbVar30 == *_Var50._M_p;\n              pbVar30 = pbVar30 + (ulong)bVar61 * -2 + 1;\n              _Var50._M_p = (pointer)((byte *)_Var50._M_p + (ulong)bVar61 * -2 + 1);\n            } while ((bool)uVar59);\n            bVar57 = false;\n            bVar60 = (!(bool)uVar56 && !(bool)uVar59) == (bool)uVar56;\n            if (bVar60) {\nLAB_00180a28:\n              pRVar48 = *ppRVar55;\n              ppOVar8 = (pRVar48->output_sections_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_start;\n              if ((ulong)((long)(pRVar48->output_sections_).\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_finish - (long)ppOVar8 >> 3) <= uVar45) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181e47 to 00181e63 has its CatchHandler @ 00181f61 */\n                do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (ppOVar8[uVar45] == (Output_section *)0x0) goto LAB_00180c96;\n              pGVar25 = parameters->options_;\n              if (pGVar25 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((pGVar25->gc_sections_).value != false) {\n                section_cksum._M_h._M_bucket_count =\n                     CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n                section_cksum._M_h._M_buckets = (__bucket_type *)pRVar48;\n                iVar31 = std::\n                         _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                         ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                 *)&symtab->gc_->referenced_list_,(key_type *)&section_cksum);\n                if (iVar31.super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>.\n                    _M_cur == (__node_type *)0x0) goto LAB_00180c96;\n                pGVar25 = parameters->options_;\n                if (pGVar25 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00180e61 to 001811fa has its CatchHandler @ 00181f61 */\n                  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (pGVar25->icf_status_ == ICF_SAFE) {\n                pbVar30 = (byte *)strrchr(section_name._M_dataplus._M_p,0x2e);\n                bVar57 = false;\n                bVar60 = pbVar30 == (byte *)0x0;\n                if (bVar60) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181ef3 to 00181ef7 has its CatchHandler @ 00181f61 */\n                  do_gold_unreachable("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar38 = 4;\n                pbVar49 = &DAT_00373305;\n                pbVar52 = pbVar30;\n                do {\n                  if (lVar38 == 0) break;\n                  lVar38 = lVar38 + -1;\n                  bVar57 = *pbVar49 < *pbVar52;\n                  bVar60 = *pbVar49 == *pbVar52;\n                  pbVar49 = pbVar49 + (ulong)bVar61 * -2 + 1;\n                  pbVar52 = pbVar52 + (ulong)bVar61 * -2 + 1;\n                } while (bVar60);\n                bVar58 = false;\n                bVar57 = (!bVar57 && !bVar60) == bVar57;\n                if (bVar57) {\nLAB_00180f58:\n                  gVar20 = is_gnu_v3_mangled_ctor((char *)(pbVar30 + 1));\n                  if ((gVar20 != 0) ||\n                     (gVar21 = is_gnu_v3_mangled_dtor((char *)(pbVar30 + 1)), gVar21 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar38 = 4;\n                  pbVar49 = &DAT_0037330a;\n                  pbVar52 = pbVar30;\n                  do {\n                    if (lVar38 == 0) break;\n                    lVar38 = lVar38 + -1;\n                    bVar58 = *pbVar49 < *pbVar52;\n                    bVar57 = *pbVar49 == *pbVar52;\n                    pbVar49 = pbVar49 + (ulong)bVar61 * -2 + 1;\n                    pbVar52 = pbVar52 + (ulong)bVar61 * -2 + 1;\n                  } while (bVar57);\n                  if ((!bVar58 && !bVar57) == bVar58) goto LAB_00180f58;\n                }\n                if ((*(code **)(*(long *)pTVar5 + 0x90) !=\n                     Target::do_can_check_for_function_pointers) &&\n                   (cVar19 = (**(code **)(*(long *)pTVar5 + 0x90))(pTVar5), cVar19 != '\0')) {\n                  section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;\n                  section_cksum._M_h._M_bucket_count =\n                       CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n                  iVar31 = std::\n                           _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                           ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                   *)&this->fptr_section_id_,(key_type *)&section_cksum);\n                  if (iVar31.super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>\n                      ._M_cur == (__node_type *)0x0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                          &section_cksum;\n              section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;\n              __position._M_current =\n                   (this->id_section_).\n                   super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                   ._M_impl._M_finish;\n              section_cksum._M_h._M_bucket_count =\n                   CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n              if (__position._M_current ==\n                  (this->id_section_).\n                  super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                  ._M_impl._M_end_of_storage) {\n                std::\n                vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ::_M_realloc_insert<std::pair<gold::Relobj*,_unsigned_int>_>\n                          (&this->id_section_,__position,\n                           (pair<gold::Relobj*,_unsigned_int> *)local_1a8);\n              }\n              else {\n                (__position._M_current)->first = (Relobj *)section_cksum._M_h._M_buckets;\n                (__position._M_current)->second = uVar44;\n                (this->id_section_).\n                super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ._M_impl._M_finish = __position._M_current + 1;\n              }\n              section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;\n              section_cksum._M_h._M_bucket_count =\n                   CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n              p_Var26 = (_Hash_node_base *)((ulong)section_cksum._M_h._M_buckets ^ uVar45);\n              local_1a0 = (ulong)p_Var26 % (this->section_id_)._M_h._M_bucket_count;\n              p_Var27 = std::\n                        _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                        ::_M_find_before_node\n                                  ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                                    *)&this->section_id_,local_1a0,(key_type *)local_1a8,\n                                   (__hash_code)p_Var26);\n              if ((p_Var27 == (__node_base *)0x0) ||\n                 (p_Var28 = p_Var27->_M_nxt, p_Var28 == (_Hash_node_base *)0x0)) {\n                    /* try { // try from 00180cad to 00180cec has its CatchHandler @ 00181f61 */\n                p_Var28 = (_Hash_node_base *)operator_new(0x28);\n                uVar41 = (this->section_id_)._M_h._M_element_count;\n                p_Var28->_M_nxt = (_Hash_node_base *)0x0;\n                uVar42 = (this->section_id_)._M_h._M_bucket_count;\n                *(undefined4 *)&p_Var28[3]._M_nxt = 0;\n                p_Var28[1]._M_nxt = (_Hash_node_base *)section_cksum._M_h._M_buckets;\n                p_Var28[2]._M_nxt = (_Hash_node_base *)section_cksum._M_h._M_bucket_count;\n                cVar19 = std::__detail::_Prime_rehash_policy::_M_need_rehash\n                                   (&(this->section_id_)._M_h._M_rehash_policy,uVar42,uVar41,1);\n                if (cVar19 == '\0') {\n                  pp_Var29 = (this->section_id_)._M_h._M_buckets;\n                }\n                else {\n                  if (this_00 ==\n                      (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n                       *)0x1) {\n                    pp_Var29 = &(this->section_id_)._M_h._M_single_bucket;\n                    (this->section_id_)._M_h._M_single_bucket = (__bucket_type)0x0;\n                  }\n                  else {\n                    /* try { // try from 00180d0d to 00180d11 has its CatchHandler @ 00181f10 */\n                    pp_Var29 = std::__detail::\n                               _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n                               ::_M_allocate_buckets(this_00,uVar42);\n                  }\n                  p_Var39 = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                  (this->section_id_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n                  if (p_Var39 != (_Hash_node_base *)0x0) {\n                    uVar41 = 0;\n                    do {\n                      while( true ) {\n                        p_Var9 = p_Var39->_M_nxt;\n                        uVar42 = (ulong)p_Var39[4]._M_nxt % (ulong)this_00;\n                        pp_Var10 = pp_Var29 + uVar42;\n                        if (*pp_Var10 == (__bucket_type)0x0) break;\n                        p_Var39->_M_nxt = (*pp_Var10)->_M_nxt;\n                        (*pp_Var10)->_M_nxt = p_Var39;\n                        uVar42 = uVar41;\nLAB_00180d64:\n                        p_Var39 = p_Var9;\n                        uVar41 = uVar42;\n                        if (p_Var9 == (_Hash_node_base *)0x0) goto LAB_00180dc0;\n                      }\n                      p_Var39->_M_nxt = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                      (this->section_id_)._M_h._M_before_begin._M_nxt = p_Var39;\n                      *pp_Var10 = &(this->section_id_)._M_h._M_before_begin;\n                      if (p_Var39->_M_nxt == (_Hash_node_base *)0x0) goto LAB_00180d64;\n                      pp_Var29[uVar41] = p_Var39;\n                      p_Var39 = p_Var9;\n                      uVar41 = uVar42;\n                    } while (p_Var9 != (_Hash_node_base *)0x0);\n                  }\nLAB_00180dc0:\n                  pp_Var10 = (this->section_id_)._M_h._M_buckets;\n                  if (pp_Var10 != &(this->section_id_)._M_h._M_single_bucket) {\n                    operator_delete(pp_Var10);\n                  }\n                  (this->section_id_)._M_h._M_buckets = pp_Var29;\n                  local_1a0 = (ulong)p_Var26 % (ulong)this_00;\n                  (this->section_id_)._M_h._M_bucket_count = (size_type)this_00;\n                }\n                p_Var28[4]._M_nxt = p_Var26;\n                pp_Var10 = pp_Var29 + local_1a0;\n                if (*pp_Var10 == (__bucket_type)0x0) {\n                  p_Var26 = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                  (this->section_id_)._M_h._M_before_begin._M_nxt = p_Var28;\n                  p_Var28->_M_nxt = p_Var26;\n                  if (p_Var26 != (_Hash_node_base *)0x0) {\n                    pp_Var29[(ulong)p_Var26[4]._M_nxt % (this->section_id_)._M_h._M_bucket_count] =\n                         p_Var28;\n                  }\n                  *pp_Var10 = &(this->section_id_)._M_h._M_before_begin;\n                }\n                else {\n                  p_Var28->_M_nxt = (*pp_Var10)->_M_nxt;\n                  (*pp_Var10)->_M_nxt = p_Var28;\n                }\n                psVar1 = &(this->section_id_)._M_h._M_element_count;\n                *psVar1 = *psVar1 + 1;\n              }\n              puVar11 = (this->kept_section_id_).\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_finish;\n              *(uint *)&p_Var28[3]._M_nxt = uVar4;\n              if (puVar11 ==\n                  (this->kept_section_id_).\n                  super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                  _M_end_of_storage) {\n                __src = (this->kept_section_id_).\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start;\n                sVar32 = (long)puVar11 - (long)__src;\n                uVar41 = (long)sVar32 >> 2;\n                if (uVar41 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (pointer)operator_new(local_1d0);\n                  local_1e8 = (pointer)(local_1d0 + (long)__dest);\n                }\n                else {\n                  uVar42 = uVar41 * 2;\n                  if (uVar42 < uVar41) {\n                    local_1d0 = 0xfffffffffffffffc;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = 0xfffffffffffffffc;\n                  if (0x3fffffffffffffff < uVar42) goto LAB_00181065;\n                  if (uVar42 != 0) {\n                    local_1d0 = uVar41 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = (pointer)0x0;\n                  __dest = (pointer)0x0;\n                }\n                *(uint *)((long)__dest + sVar32) = uVar4;\n                puVar3 = (pointer)((long)__dest + sVar32 + 4);\n                if (puVar11 == __src) {\n                  if (__src != (pointer)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = (pointer)memmove(__dest,__src,sVar32);\nLAB_001810bd:\n                  operator_delete(__src);\n                }\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start =\n                     __dest;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n                     puVar3;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                _M_end_of_storage = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *puVar11 = uVar4;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n                     puVar11 + 1;\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar32 = (long)local_1b0 - (long)local_1d8;\n                uVar41 = (long)sVar32 >> 2;\n                if (uVar41 == 0) {\n                  uVar42 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)operator_new(uVar42);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + uVar42);\n                }\n                else {\n                  uVar34 = uVar41 * 2;\n                  if (uVar34 < uVar41) {\n                    uVar42 = 0xfffffffffffffffc;\n                    goto LAB_0018114e;\n                  }\n                  uVar42 = 0xfffffffffffffffc;\n                  if (0x3fffffffffffffff < uVar34) goto LAB_0018114e;\n                  if (uVar34 != 0) {\n                    uVar42 = uVar41 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar32) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar32 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar32);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar32 + 4);\nLAB_001811a1:\n                  operator_delete(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    /* try { // try from 00180b6b to 00180bee has its CatchHandler @ 00181f61 */\n              iVar24 = (*((*ppRVar55)->super_Object)._vptr_Object[0x17])(*ppRVar55,uVar45);\n              section_cksum._M_h._M_buckets = (__bucket_type *)CONCAT44(extraout_var,iVar24);\n              if (section_addraligns.\n                  super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                  _M_finish ==\n                  section_addraligns.\n                  super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                  _M_end_of_storage) {\n                std::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>::\n                _M_realloc_insert<long_unsigned_int>\n                          (&section_addraligns,\n                           (iterator)\n                           section_addraligns.\n                           super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n                           ._M_impl._M_finish,(ulong *)local_1a8);\n              }\n              else {\n                *section_addraligns.\n                 super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                 _M_finish = (ulong)section_cksum._M_h._M_buckets;\n                section_addraligns.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_finish = section_addraligns.\n                            super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n                            ._M_impl._M_finish + 1;\n              }\n              uVar22 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset;\n              p_Var18 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                        super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p;\n              if (is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p ==\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_end_of_storage) {\n                local_180 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>.\n                            _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base.\n                            _M_offset;\n                __position_00.super__Bit_iterator_base._12_4_ = uStack_17c;\n                __position_00.super__Bit_iterator_base._M_offset =\n                     is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                     super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset;\n                local_188 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>.\n                            _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p\n                ;\n                __position_00.super__Bit_iterator_base._M_p =\n                     is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                     super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p;\n                std::vector<bool,_std::allocator<bool>_>::_M_insert_aux\n                          (&is_secn_or_group_unique,__position_00,false);\n              }\n              else {\n                if (is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                    super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset == 0x3f) {\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset = 0;\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p + 1;\n                }\n                else {\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset + 1;\n                }\n                bVar13 = (byte)uVar22 & 0x3f;\n                *p_Var18 = *p_Var18 & (-2L << bVar13 | 0xfffffffffffffffeU >> 0x40 - bVar13);\n              }\n              section_cksum._M_h._M_buckets = &section_cksum._M_h._M_before_begin._M_nxt;\n              std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n              _M_construct<char_const*>(local_1a8,"");\n                    /* try { // try from 00180c00 to 00180c04 has its CatchHandler @ 00181f59 */\n              std::\n              vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              ::\n              emplace_back<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>\n                        (&section_contents,local_1a8);\n              if ((__node_base *)section_cksum._M_h._M_buckets !=\n                  &section_cksum._M_h._M_before_begin) {\n                operator_delete(section_cksum._M_h._M_buckets);\n              }\n              uVar4 = uVar4 + 1;\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)section_name._M_dataplus._M_p != &section_name.field_2) goto LAB_00180c31;\n            }\n            else {\n              lVar38 = 0xf;\n              pbVar30 = (byte *)".gnu.linkonce.t";\n              _Var50 = section_name._M_dataplus;\n              do {\n                if (lVar38 == 0) break;\n                lVar38 = lVar38 + -1;\n                bVar57 = *pbVar30 < (byte)*_Var50._M_p;\n                bVar60 = *pbVar30 == *_Var50._M_p;\n                pbVar30 = pbVar30 + (ulong)bVar61 * -2 + 1;\n                _Var50._M_p = (pointer)((byte *)_Var50._M_p + (ulong)bVar61 * -2 + 1);\n              } while (bVar60);\n              if ((!bVar57 && !bVar60) == bVar57) goto LAB_00180a28;\nLAB_00180c96:\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)section_name._M_dataplus._M_p != &section_name.field_2) {\nLAB_00180c31:\n                operator_delete(section_name._M_dataplus._M_p);\n              }\n            }\n            pRVar48 = *ppRVar55;\n            uVar44 = uVar44 + 1;\n            uVar45 = (ulong)uVar44;\n            uVar22 = (pRVar48->super_Object).shnum_;\n            uVar56 = uVar44 < uVar22;\n            uVar59 = uVar44 == uVar22;\n          } while ((bool)uVar56);\n        }\n        pIVar7 = (pRVar6->super_Object).input_file_;\n        if (pIVar7 != (Input_file *)0x0) {\n          File_read::unlock(&pIVar7->file_,(Task *)0xffffffffffffffff);\n        }\n      }\n      ppRVar55 = ppRVar55 + 1;\n    } while ((input_objects->relobj_list_).\n             super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish !=\n             ppRVar55);" do (compound_statement "{\n      pRVar6 = *ppRVar55;\n      pIVar7 = (pRVar6->super_Object).input_file_;\n      if (pIVar7 == (Input_file *)0x0) {\n        pRVar48 = pRVar6;\n        if ((pRVar6->super_Object).shnum_ != 0) goto LAB_00180a17;\n      }\n      else {\n                    /* try { // try from 00180a02 to 00180a06 has its CatchHandler @ 00181f33 */\n        File_read::lock(&pIVar7->file_,(Task *)0xffffffffffffffff);\n        pRVar48 = *ppRVar55;\n        if (((*ppRVar55)->super_Object).shnum_ != 0) {\nLAB_00180a17:\n          uVar56 = false;\n          uVar45 = 0;\n          uVar59 = true;\n          do {\n            uVar44 = (uint)uVar45;\n                    /* try { // try from 00180c4d to 00180c52 has its CatchHandler @ 00181f1d */\n            (*(pRVar48->super_Object)._vptr_Object[0x10])(&section_name,pRVar48,uVar45);\n            lVar38 = 5;\n            pbVar30 = (byte *)".text";\n            _Var50 = section_name._M_dataplus;\n            do {\n              if (lVar38 == 0) break;\n              lVar38 = lVar38 + -1;\n              uVar56 = *pbVar30 < (byte)*_Var50._M_p;\n              uVar59 = *pbVar30 == *_Var50._M_p;\n              pbVar30 = pbVar30 + (ulong)bVar61 * -2 + 1;\n              _Var50._M_p = (pointer)((byte *)_Var50._M_p + (ulong)bVar61 * -2 + 1);\n            } while ((bool)uVar59);\n            bVar57 = false;\n            bVar60 = (!(bool)uVar56 && !(bool)uVar59) == (bool)uVar56;\n            if (bVar60) {\nLAB_00180a28:\n              pRVar48 = *ppRVar55;\n              ppOVar8 = (pRVar48->output_sections_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_start;\n              if ((ulong)((long)(pRVar48->output_sections_).\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_finish - (long)ppOVar8 >> 3) <= uVar45) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181e47 to 00181e63 has its CatchHandler @ 00181f61 */\n                do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (ppOVar8[uVar45] == (Output_section *)0x0) goto LAB_00180c96;\n              pGVar25 = parameters->options_;\n              if (pGVar25 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((pGVar25->gc_sections_).value != false) {\n                section_cksum._M_h._M_bucket_count =\n                     CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n                section_cksum._M_h._M_buckets = (__bucket_type *)pRVar48;\n                iVar31 = std::\n                         _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                         ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                 *)&symtab->gc_->referenced_list_,(key_type *)&section_cksum);\n                if (iVar31.super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>.\n                    _M_cur == (__node_type *)0x0) goto LAB_00180c96;\n                pGVar25 = parameters->options_;\n                if (pGVar25 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00180e61 to 001811fa has its CatchHandler @ 00181f61 */\n                  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (pGVar25->icf_status_ == ICF_SAFE) {\n                pbVar30 = (byte *)strrchr(section_name._M_dataplus._M_p,0x2e);\n                bVar57 = false;\n                bVar60 = pbVar30 == (byte *)0x0;\n                if (bVar60) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181ef3 to 00181ef7 has its CatchHandler @ 00181f61 */\n                  do_gold_unreachable("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar38 = 4;\n                pbVar49 = &DAT_00373305;\n                pbVar52 = pbVar30;\n                do {\n                  if (lVar38 == 0) break;\n                  lVar38 = lVar38 + -1;\n                  bVar57 = *pbVar49 < *pbVar52;\n                  bVar60 = *pbVar49 == *pbVar52;\n                  pbVar49 = pbVar49 + (ulong)bVar61 * -2 + 1;\n                  pbVar52 = pbVar52 + (ulong)bVar61 * -2 + 1;\n                } while (bVar60);\n                bVar58 = false;\n                bVar57 = (!bVar57 && !bVar60) == bVar57;\n                if (bVar57) {\nLAB_00180f58:\n                  gVar20 = is_gnu_v3_mangled_ctor((char *)(pbVar30 + 1));\n                  if ((gVar20 != 0) ||\n                     (gVar21 = is_gnu_v3_mangled_dtor((char *)(pbVar30 + 1)), gVar21 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar38 = 4;\n                  pbVar49 = &DAT_0037330a;\n                  pbVar52 = pbVar30;\n                  do {\n                    if (lVar38 == 0) break;\n                    lVar38 = lVar38 + -1;\n                    bVar58 = *pbVar49 < *pbVar52;\n                    bVar57 = *pbVar49 == *pbVar52;\n                    pbVar49 = pbVar49 + (ulong)bVar61 * -2 + 1;\n                    pbVar52 = pbVar52 + (ulong)bVar61 * -2 + 1;\n                  } while (bVar57);\n                  if ((!bVar58 && !bVar57) == bVar58) goto LAB_00180f58;\n                }\n                if ((*(code **)(*(long *)pTVar5 + 0x90) !=\n                     Target::do_can_check_for_function_pointers) &&\n                   (cVar19 = (**(code **)(*(long *)pTVar5 + 0x90))(pTVar5), cVar19 != '\0')) {\n                  section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;\n                  section_cksum._M_h._M_bucket_count =\n                       CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n                  iVar31 = std::\n                           _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                           ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                   *)&this->fptr_section_id_,(key_type *)&section_cksum);\n                  if (iVar31.super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>\n                      ._M_cur == (__node_type *)0x0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                          &section_cksum;\n              section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;\n              __position._M_current =\n                   (this->id_section_).\n                   super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                   ._M_impl._M_finish;\n              section_cksum._M_h._M_bucket_count =\n                   CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n              if (__position._M_current ==\n                  (this->id_section_).\n                  super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                  ._M_impl._M_end_of_storage) {\n                std::\n                vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ::_M_realloc_insert<std::pair<gold::Relobj*,_unsigned_int>_>\n                          (&this->id_section_,__position,\n                           (pair<gold::Relobj*,_unsigned_int> *)local_1a8);\n              }\n              else {\n                (__position._M_current)->first = (Relobj *)section_cksum._M_h._M_buckets;\n                (__position._M_current)->second = uVar44;\n                (this->id_section_).\n                super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ._M_impl._M_finish = __position._M_current + 1;\n              }\n              section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;\n              section_cksum._M_h._M_bucket_count =\n                   CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n              p_Var26 = (_Hash_node_base *)((ulong)section_cksum._M_h._M_buckets ^ uVar45);\n              local_1a0 = (ulong)p_Var26 % (this->section_id_)._M_h._M_bucket_count;\n              p_Var27 = std::\n                        _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                        ::_M_find_before_node\n                                  ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                                    *)&this->section_id_,local_1a0,(key_type *)local_1a8,\n                                   (__hash_code)p_Var26);\n              if ((p_Var27 == (__node_base *)0x0) ||\n                 (p_Var28 = p_Var27->_M_nxt, p_Var28 == (_Hash_node_base *)0x0)) {\n                    /* try { // try from 00180cad to 00180cec has its CatchHandler @ 00181f61 */\n                p_Var28 = (_Hash_node_base *)operator_new(0x28);\n                uVar41 = (this->section_id_)._M_h._M_element_count;\n                p_Var28->_M_nxt = (_Hash_node_base *)0x0;\n                uVar42 = (this->section_id_)._M_h._M_bucket_count;\n                *(undefined4 *)&p_Var28[3]._M_nxt = 0;\n                p_Var28[1]._M_nxt = (_Hash_node_base *)section_cksum._M_h._M_buckets;\n                p_Var28[2]._M_nxt = (_Hash_node_base *)section_cksum._M_h._M_bucket_count;\n                cVar19 = std::__detail::_Prime_rehash_policy::_M_need_rehash\n                                   (&(this->section_id_)._M_h._M_rehash_policy,uVar42,uVar41,1);\n                if (cVar19 == '\0') {\n                  pp_Var29 = (this->section_id_)._M_h._M_buckets;\n                }\n                else {\n                  if (this_00 ==\n                      (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n                       *)0x1) {\n                    pp_Var29 = &(this->section_id_)._M_h._M_single_bucket;\n                    (this->section_id_)._M_h._M_single_bucket = (__bucket_type)0x0;\n                  }\n                  else {\n                    /* try { // try from 00180d0d to 00180d11 has its CatchHandler @ 00181f10 */\n                    pp_Var29 = std::__detail::\n                               _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n                               ::_M_allocate_buckets(this_00,uVar42);\n                  }\n                  p_Var39 = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                  (this->section_id_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n                  if (p_Var39 != (_Hash_node_base *)0x0) {\n                    uVar41 = 0;\n                    do {\n                      while( true ) {\n                        p_Var9 = p_Var39->_M_nxt;\n                        uVar42 = (ulong)p_Var39[4]._M_nxt % (ulong)this_00;\n                        pp_Var10 = pp_Var29 + uVar42;\n                        if (*pp_Var10 == (__bucket_type)0x0) break;\n                        p_Var39->_M_nxt = (*pp_Var10)->_M_nxt;\n                        (*pp_Var10)->_M_nxt = p_Var39;\n                        uVar42 = uVar41;\nLAB_00180d64:\n                        p_Var39 = p_Var9;\n                        uVar41 = uVar42;\n                        if (p_Var9 == (_Hash_node_base *)0x0) goto LAB_00180dc0;\n                      }\n                      p_Var39->_M_nxt = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                      (this->section_id_)._M_h._M_before_begin._M_nxt = p_Var39;\n                      *pp_Var10 = &(this->section_id_)._M_h._M_before_begin;\n                      if (p_Var39->_M_nxt == (_Hash_node_base *)0x0) goto LAB_00180d64;\n                      pp_Var29[uVar41] = p_Var39;\n                      p_Var39 = p_Var9;\n                      uVar41 = uVar42;\n                    } while (p_Var9 != (_Hash_node_base *)0x0);\n                  }\nLAB_00180dc0:\n                  pp_Var10 = (this->section_id_)._M_h._M_buckets;\n                  if (pp_Var10 != &(this->section_id_)._M_h._M_single_bucket) {\n                    operator_delete(pp_Var10);\n                  }\n                  (this->section_id_)._M_h._M_buckets = pp_Var29;\n                  local_1a0 = (ulong)p_Var26 % (ulong)this_00;\n                  (this->section_id_)._M_h._M_bucket_count = (size_type)this_00;\n                }\n                p_Var28[4]._M_nxt = p_Var26;\n                pp_Var10 = pp_Var29 + local_1a0;\n                if (*pp_Var10 == (__bucket_type)0x0) {\n                  p_Var26 = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                  (this->section_id_)._M_h._M_before_begin._M_nxt = p_Var28;\n                  p_Var28->_M_nxt = p_Var26;\n                  if (p_Var26 != (_Hash_node_base *)0x0) {\n                    pp_Var29[(ulong)p_Var26[4]._M_nxt % (this->section_id_)._M_h._M_bucket_count] =\n                         p_Var28;\n                  }\n                  *pp_Var10 = &(this->section_id_)._M_h._M_before_begin;\n                }\n                else {\n                  p_Var28->_M_nxt = (*pp_Var10)->_M_nxt;\n                  (*pp_Var10)->_M_nxt = p_Var28;\n                }\n                psVar1 = &(this->section_id_)._M_h._M_element_count;\n                *psVar1 = *psVar1 + 1;\n              }\n              puVar11 = (this->kept_section_id_).\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_finish;\n              *(uint *)&p_Var28[3]._M_nxt = uVar4;\n              if (puVar11 ==\n                  (this->kept_section_id_).\n                  super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                  _M_end_of_storage) {\n                __src = (this->kept_section_id_).\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start;\n                sVar32 = (long)puVar11 - (long)__src;\n                uVar41 = (long)sVar32 >> 2;\n                if (uVar41 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (pointer)operator_new(local_1d0);\n                  local_1e8 = (pointer)(local_1d0 + (long)__dest);\n                }\n                else {\n                  uVar42 = uVar41 * 2;\n                  if (uVar42 < uVar41) {\n                    local_1d0 = 0xfffffffffffffffc;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = 0xfffffffffffffffc;\n                  if (0x3fffffffffffffff < uVar42) goto LAB_00181065;\n                  if (uVar42 != 0) {\n                    local_1d0 = uVar41 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = (pointer)0x0;\n                  __dest = (pointer)0x0;\n                }\n                *(uint *)((long)__dest + sVar32) = uVar4;\n                puVar3 = (pointer)((long)__dest + sVar32 + 4);\n                if (puVar11 == __src) {\n                  if (__src != (pointer)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = (pointer)memmove(__dest,__src,sVar32);\nLAB_001810bd:\n                  operator_delete(__src);\n                }\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start =\n                     __dest;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n                     puVar3;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                _M_end_of_storage = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *puVar11 = uVar4;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n                     puVar11 + 1;\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar32 = (long)local_1b0 - (long)local_1d8;\n                uVar41 = (long)sVar32 >> 2;\n                if (uVar41 == 0) {\n                  uVar42 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)operator_new(uVar42);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + uVar42);\n                }\n                else {\n                  uVar34 = uVar41 * 2;\n                  if (uVar34 < uVar41) {\n                    uVar42 = 0xfffffffffffffffc;\n                    goto LAB_0018114e;\n                  }\n                  uVar42 = 0xfffffffffffffffc;\n                  if (0x3fffffffffffffff < uVar34) goto LAB_0018114e;\n                  if (uVar34 != 0) {\n                    uVar42 = uVar41 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar32) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar32 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar32);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar32 + 4);\nLAB_001811a1:\n                  operator_delete(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    /* try { // try from 00180b6b to 00180bee has its CatchHandler @ 00181f61 */\n              iVar24 = (*((*ppRVar55)->super_Object)._vptr_Object[0x17])(*ppRVar55,uVar45);\n              section_cksum._M_h._M_buckets = (__bucket_type *)CONCAT44(extraout_var,iVar24);\n              if (section_addraligns.\n                  super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                  _M_finish ==\n                  section_addraligns.\n                  super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                  _M_end_of_storage) {\n                std::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>::\n                _M_realloc_insert<long_unsigned_int>\n                          (&section_addraligns,\n                           (iterator)\n                           section_addraligns.\n                           super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n                           ._M_impl._M_finish,(ulong *)local_1a8);\n              }\n              else {\n                *section_addraligns.\n                 super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                 _M_finish = (ulong)section_cksum._M_h._M_buckets;\n                section_addraligns.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_finish = section_addraligns.\n                            super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n                            ._M_impl._M_finish + 1;\n              }\n              uVar22 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset;\n              p_Var18 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                        super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p;\n              if (is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p ==\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_end_of_storage) {\n                local_180 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>.\n                            _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base.\n                            _M_offset;\n                __position_00.super__Bit_iterator_base._12_4_ = uStack_17c;\n                __position_00.super__Bit_iterator_base._M_offset =\n                     is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                     super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset;\n                local_188 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>.\n                            _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p\n                ;\n                __position_00.super__Bit_iterator_base._M_p =\n                     is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                     super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p;\n                std::vector<bool,_std::allocator<bool>_>::_M_insert_aux\n                          (&is_secn_or_group_unique,__position_00,false);\n              }\n              else {\n                if (is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                    super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset == 0x3f) {\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset = 0;\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p + 1;\n                }\n                else {\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset + 1;\n                }\n                bVar13 = (byte)uVar22 & 0x3f;\n                *p_Var18 = *p_Var18 & (-2L << bVar13 | 0xfffffffffffffffeU >> 0x40 - bVar13);\n              }\n              section_cksum._M_h._M_buckets = &section_cksum._M_h._M_before_begin._M_nxt;\n              std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n              _M_construct<char_const*>(local_1a8,"");\n                    /* try { // try from 00180c00 to 00180c04 has its CatchHandler @ 00181f59 */\n              std::\n              vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              ::\n              emplace_back<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>\n                        (&section_contents,local_1a8);\n              if ((__node_base *)section_cksum._M_h._M_buckets !=\n                  &section_cksum._M_h._M_before_begin) {\n                operator_delete(section_cksum._M_h._M_buckets);\n              }\n              uVar4 = uVar4 + 1;\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)section_name._M_dataplus._M_p != &section_name.field_2) goto LAB_00180c31;\n            }\n            else {\n              lVar38 = 0xf;\n              pbVar30 = (byte *)".gnu.linkonce.t";\n              _Var50 = section_name._M_dataplus;\n              do {\n                if (lVar38 == 0) break;\n                lVar38 = lVar38 + -1;\n                bVar57 = *pbVar30 < (byte)*_Var50._M_p;\n                bVar60 = *pbVar30 == *_Var50._M_p;\n                pbVar30 = pbVar30 + (ulong)bVar61 * -2 + 1;\n                _Var50._M_p = (pointer)((byte *)_Var50._M_p + (ulong)bVar61 * -2 + 1);\n              } while (bVar60);\n              if ((!bVar57 && !bVar60) == bVar57) goto LAB_00180a28;\nLAB_00180c96:\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)section_name._M_dataplus._M_p != &section_name.field_2) {\nLAB_00180c31:\n                operator_delete(section_name._M_dataplus._M_p);\n              }\n            }\n            pRVar48 = *ppRVar55;\n            uVar44 = uVar44 + 1;\n            uVar45 = (ulong)uVar44;\n            uVar22 = (pRVar48->super_Object).shnum_;\n            uVar56 = uVar44 < uVar22;\n            uVar59 = uVar44 == uVar22;\n          } while ((bool)uVar56);\n        }\n        pIVar7 = (pRVar6->super_Object).input_file_;\n        if (pIVar7 != (Input_file *)0x0) {\n          File_read::unlock(&pIVar7->file_,(Task *)0xffffffffffffffff);\n        }\n      }\n      ppRVar55 = ppRVar55 + 1;\n    }" { (expression_statement "pRVar6 = *ppRVar55;" (assignment_expression "pRVar6 = *ppRVar55" identifier = (pointer_expression "*ppRVar55" * identifier)) ;) (expression_statement "pIVar7 = (pRVar6->super_Object).input_file_;" (assignment_expression "pIVar7 = (pRVar6->super_Object).input_file_" identifier = (field_expression "(pRVar6->super_Object).input_file_" (parenthesized_expression "(pRVar6->super_Object)" ( (field_expression "pRVar6->super_Object" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (pIVar7 == (Input_file *)0x0) {\n        pRVar48 = pRVar6;\n        if ((pRVar6->super_Object).shnum_ != 0) goto LAB_00180a17;\n      }\n      else {\n                    /* try { // try from 00180a02 to 00180a06 has its CatchHandler @ 00181f33 */\n        File_read::lock(&pIVar7->file_,(Task *)0xffffffffffffffff);\n        pRVar48 = *ppRVar55;\n        if (((*ppRVar55)->super_Object).shnum_ != 0) {\nLAB_00180a17:\n          uVar56 = false;\n          uVar45 = 0;\n          uVar59 = true;\n          do {\n            uVar44 = (uint)uVar45;\n                    /* try { // try from 00180c4d to 00180c52 has its CatchHandler @ 00181f1d */\n            (*(pRVar48->super_Object)._vptr_Object[0x10])(&section_name,pRVar48,uVar45);\n            lVar38 = 5;\n            pbVar30 = (byte *)".text";\n            _Var50 = section_name._M_dataplus;\n            do {\n              if (lVar38 == 0) break;\n              lVar38 = lVar38 + -1;\n              uVar56 = *pbVar30 < (byte)*_Var50._M_p;\n              uVar59 = *pbVar30 == *_Var50._M_p;\n              pbVar30 = pbVar30 + (ulong)bVar61 * -2 + 1;\n              _Var50._M_p = (pointer)((byte *)_Var50._M_p + (ulong)bVar61 * -2 + 1);\n            } while ((bool)uVar59);\n            bVar57 = false;\n            bVar60 = (!(bool)uVar56 && !(bool)uVar59) == (bool)uVar56;\n            if (bVar60) {\nLAB_00180a28:\n              pRVar48 = *ppRVar55;\n              ppOVar8 = (pRVar48->output_sections_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_start;\n              if ((ulong)((long)(pRVar48->output_sections_).\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_finish - (long)ppOVar8 >> 3) <= uVar45) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181e47 to 00181e63 has its CatchHandler @ 00181f61 */\n                do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (ppOVar8[uVar45] == (Output_section *)0x0) goto LAB_00180c96;\n              pGVar25 = parameters->options_;\n              if (pGVar25 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((pGVar25->gc_sections_).value != false) {\n                section_cksum._M_h._M_bucket_count =\n                     CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n                section_cksum._M_h._M_buckets = (__bucket_type *)pRVar48;\n                iVar31 = std::\n                         _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                         ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                 *)&symtab->gc_->referenced_list_,(key_type *)&section_cksum);\n                if (iVar31.super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>.\n                    _M_cur == (__node_type *)0x0) goto LAB_00180c96;\n                pGVar25 = parameters->options_;\n                if (pGVar25 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00180e61 to 001811fa has its CatchHandler @ 00181f61 */\n                  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (pGVar25->icf_status_ == ICF_SAFE) {\n                pbVar30 = (byte *)strrchr(section_name._M_dataplus._M_p,0x2e);\n                bVar57 = false;\n                bVar60 = pbVar30 == (byte *)0x0;\n                if (bVar60) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181ef3 to 00181ef7 has its CatchHandler @ 00181f61 */\n                  do_gold_unreachable("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar38 = 4;\n                pbVar49 = &DAT_00373305;\n                pbVar52 = pbVar30;\n                do {\n                  if (lVar38 == 0) break;\n                  lVar38 = lVar38 + -1;\n                  bVar57 = *pbVar49 < *pbVar52;\n                  bVar60 = *pbVar49 == *pbVar52;\n                  pbVar49 = pbVar49 + (ulong)bVar61 * -2 + 1;\n                  pbVar52 = pbVar52 + (ulong)bVar61 * -2 + 1;\n                } while (bVar60);\n                bVar58 = false;\n                bVar57 = (!bVar57 && !bVar60) == bVar57;\n                if (bVar57) {\nLAB_00180f58:\n                  gVar20 = is_gnu_v3_mangled_ctor((char *)(pbVar30 + 1));\n                  if ((gVar20 != 0) ||\n                     (gVar21 = is_gnu_v3_mangled_dtor((char *)(pbVar30 + 1)), gVar21 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar38 = 4;\n                  pbVar49 = &DAT_0037330a;\n                  pbVar52 = pbVar30;\n                  do {\n                    if (lVar38 == 0) break;\n                    lVar38 = lVar38 + -1;\n                    bVar58 = *pbVar49 < *pbVar52;\n                    bVar57 = *pbVar49 == *pbVar52;\n                    pbVar49 = pbVar49 + (ulong)bVar61 * -2 + 1;\n                    pbVar52 = pbVar52 + (ulong)bVar61 * -2 + 1;\n                  } while (bVar57);\n                  if ((!bVar58 && !bVar57) == bVar58) goto LAB_00180f58;\n                }\n                if ((*(code **)(*(long *)pTVar5 + 0x90) !=\n                     Target::do_can_check_for_function_pointers) &&\n                   (cVar19 = (**(code **)(*(long *)pTVar5 + 0x90))(pTVar5), cVar19 != '\0')) {\n                  section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;\n                  section_cksum._M_h._M_bucket_count =\n                       CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n                  iVar31 = std::\n                           _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                           ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                   *)&this->fptr_section_id_,(key_type *)&section_cksum);\n                  if (iVar31.super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>\n                      ._M_cur == (__node_type *)0x0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                          &section_cksum;\n              section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;\n              __position._M_current =\n                   (this->id_section_).\n                   super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                   ._M_impl._M_finish;\n              section_cksum._M_h._M_bucket_count =\n                   CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n              if (__position._M_current ==\n                  (this->id_section_).\n                  super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                  ._M_impl._M_end_of_storage) {\n                std::\n                vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ::_M_realloc_insert<std::pair<gold::Relobj*,_unsigned_int>_>\n                          (&this->id_section_,__position,\n                           (pair<gold::Relobj*,_unsigned_int> *)local_1a8);\n              }\n              else {\n                (__position._M_current)->first = (Relobj *)section_cksum._M_h._M_buckets;\n                (__position._M_current)->second = uVar44;\n                (this->id_section_).\n                super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ._M_impl._M_finish = __position._M_current + 1;\n              }\n              section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;\n              section_cksum._M_h._M_bucket_count =\n                   CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n              p_Var26 = (_Hash_node_base *)((ulong)section_cksum._M_h._M_buckets ^ uVar45);\n              local_1a0 = (ulong)p_Var26 % (this->section_id_)._M_h._M_bucket_count;\n              p_Var27 = std::\n                        _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                        ::_M_find_before_node\n                                  ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                                    *)&this->section_id_,local_1a0,(key_type *)local_1a8,\n                                   (__hash_code)p_Var26);\n              if ((p_Var27 == (__node_base *)0x0) ||\n                 (p_Var28 = p_Var27->_M_nxt, p_Var28 == (_Hash_node_base *)0x0)) {\n                    /* try { // try from 00180cad to 00180cec has its CatchHandler @ 00181f61 */\n                p_Var28 = (_Hash_node_base *)operator_new(0x28);\n                uVar41 = (this->section_id_)._M_h._M_element_count;\n                p_Var28->_M_nxt = (_Hash_node_base *)0x0;\n                uVar42 = (this->section_id_)._M_h._M_bucket_count;\n                *(undefined4 *)&p_Var28[3]._M_nxt = 0;\n                p_Var28[1]._M_nxt = (_Hash_node_base *)section_cksum._M_h._M_buckets;\n                p_Var28[2]._M_nxt = (_Hash_node_base *)section_cksum._M_h._M_bucket_count;\n                cVar19 = std::__detail::_Prime_rehash_policy::_M_need_rehash\n                                   (&(this->section_id_)._M_h._M_rehash_policy,uVar42,uVar41,1);\n                if (cVar19 == '\0') {\n                  pp_Var29 = (this->section_id_)._M_h._M_buckets;\n                }\n                else {\n                  if (this_00 ==\n                      (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n                       *)0x1) {\n                    pp_Var29 = &(this->section_id_)._M_h._M_single_bucket;\n                    (this->section_id_)._M_h._M_single_bucket = (__bucket_type)0x0;\n                  }\n                  else {\n                    /* try { // try from 00180d0d to 00180d11 has its CatchHandler @ 00181f10 */\n                    pp_Var29 = std::__detail::\n                               _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n                               ::_M_allocate_buckets(this_00,uVar42);\n                  }\n                  p_Var39 = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                  (this->section_id_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n                  if (p_Var39 != (_Hash_node_base *)0x0) {\n                    uVar41 = 0;\n                    do {\n                      while( true ) {\n                        p_Var9 = p_Var39->_M_nxt;\n                        uVar42 = (ulong)p_Var39[4]._M_nxt % (ulong)this_00;\n                        pp_Var10 = pp_Var29 + uVar42;\n                        if (*pp_Var10 == (__bucket_type)0x0) break;\n                        p_Var39->_M_nxt = (*pp_Var10)->_M_nxt;\n                        (*pp_Var10)->_M_nxt = p_Var39;\n                        uVar42 = uVar41;\nLAB_00180d64:\n                        p_Var39 = p_Var9;\n                        uVar41 = uVar42;\n                        if (p_Var9 == (_Hash_node_base *)0x0) goto LAB_00180dc0;\n                      }\n                      p_Var39->_M_nxt = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                      (this->section_id_)._M_h._M_before_begin._M_nxt = p_Var39;\n                      *pp_Var10 = &(this->section_id_)._M_h._M_before_begin;\n                      if (p_Var39->_M_nxt == (_Hash_node_base *)0x0) goto LAB_00180d64;\n                      pp_Var29[uVar41] = p_Var39;\n                      p_Var39 = p_Var9;\n                      uVar41 = uVar42;\n                    } while (p_Var9 != (_Hash_node_base *)0x0);\n                  }\nLAB_00180dc0:\n                  pp_Var10 = (this->section_id_)._M_h._M_buckets;\n                  if (pp_Var10 != &(this->section_id_)._M_h._M_single_bucket) {\n                    operator_delete(pp_Var10);\n                  }\n                  (this->section_id_)._M_h._M_buckets = pp_Var29;\n                  local_1a0 = (ulong)p_Var26 % (ulong)this_00;\n                  (this->section_id_)._M_h._M_bucket_count = (size_type)this_00;\n                }\n                p_Var28[4]._M_nxt = p_Var26;\n                pp_Var10 = pp_Var29 + local_1a0;\n                if (*pp_Var10 == (__bucket_type)0x0) {\n                  p_Var26 = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                  (this->section_id_)._M_h._M_before_begin._M_nxt = p_Var28;\n                  p_Var28->_M_nxt = p_Var26;\n                  if (p_Var26 != (_Hash_node_base *)0x0) {\n                    pp_Var29[(ulong)p_Var26[4]._M_nxt % (this->section_id_)._M_h._M_bucket_count] =\n                         p_Var28;\n                  }\n                  *pp_Var10 = &(this->section_id_)._M_h._M_before_begin;\n                }\n                else {\n                  p_Var28->_M_nxt = (*pp_Var10)->_M_nxt;\n                  (*pp_Var10)->_M_nxt = p_Var28;\n                }\n                psVar1 = &(this->section_id_)._M_h._M_element_count;\n                *psVar1 = *psVar1 + 1;\n              }\n              puVar11 = (this->kept_section_id_).\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_finish;\n              *(uint *)&p_Var28[3]._M_nxt = uVar4;\n              if (puVar11 ==\n                  (this->kept_section_id_).\n                  super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                  _M_end_of_storage) {\n                __src = (this->kept_section_id_).\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start;\n                sVar32 = (long)puVar11 - (long)__src;\n                uVar41 = (long)sVar32 >> 2;\n                if (uVar41 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (pointer)operator_new(local_1d0);\n                  local_1e8 = (pointer)(local_1d0 + (long)__dest);\n                }\n                else {\n                  uVar42 = uVar41 * 2;\n                  if (uVar42 < uVar41) {\n                    local_1d0 = 0xfffffffffffffffc;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = 0xfffffffffffffffc;\n                  if (0x3fffffffffffffff < uVar42) goto LAB_00181065;\n                  if (uVar42 != 0) {\n                    local_1d0 = uVar41 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = (pointer)0x0;\n                  __dest = (pointer)0x0;\n                }\n                *(uint *)((long)__dest + sVar32) = uVar4;\n                puVar3 = (pointer)((long)__dest + sVar32 + 4);\n                if (puVar11 == __src) {\n                  if (__src != (pointer)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = (pointer)memmove(__dest,__src,sVar32);\nLAB_001810bd:\n                  operator_delete(__src);\n                }\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start =\n                     __dest;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n                     puVar3;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                _M_end_of_storage = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *puVar11 = uVar4;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n                     puVar11 + 1;\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar32 = (long)local_1b0 - (long)local_1d8;\n                uVar41 = (long)sVar32 >> 2;\n                if (uVar41 == 0) {\n                  uVar42 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)operator_new(uVar42);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + uVar42);\n                }\n                else {\n                  uVar34 = uVar41 * 2;\n                  if (uVar34 < uVar41) {\n                    uVar42 = 0xfffffffffffffffc;\n                    goto LAB_0018114e;\n                  }\n                  uVar42 = 0xfffffffffffffffc;\n                  if (0x3fffffffffffffff < uVar34) goto LAB_0018114e;\n                  if (uVar34 != 0) {\n                    uVar42 = uVar41 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar32) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar32 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar32);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar32 + 4);\nLAB_001811a1:\n                  operator_delete(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    /* try { // try from 00180b6b to 00180bee has its CatchHandler @ 00181f61 */\n              iVar24 = (*((*ppRVar55)->super_Object)._vptr_Object[0x17])(*ppRVar55,uVar45);\n              section_cksum._M_h._M_buckets = (__bucket_type *)CONCAT44(extraout_var,iVar24);\n              if (section_addraligns.\n                  super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                  _M_finish ==\n                  section_addraligns.\n                  super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                  _M_end_of_storage) {\n                std::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>::\n                _M_realloc_insert<long_unsigned_int>\n                          (&section_addraligns,\n                           (iterator)\n                           section_addraligns.\n                           super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n                           ._M_impl._M_finish,(ulong *)local_1a8);\n              }\n              else {\n                *section_addraligns.\n                 super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                 _M_finish = (ulong)section_cksum._M_h._M_buckets;\n                section_addraligns.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_finish = section_addraligns.\n                            super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n                            ._M_impl._M_finish + 1;\n              }\n              uVar22 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset;\n              p_Var18 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                        super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p;\n              if (is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p ==\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_end_of_storage) {\n                local_180 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>.\n                            _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base.\n                            _M_offset;\n                __position_00.super__Bit_iterator_base._12_4_ = uStack_17c;\n                __position_00.super__Bit_iterator_base._M_offset =\n                     is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                     super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset;\n                local_188 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>.\n                            _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p\n                ;\n                __position_00.super__Bit_iterator_base._M_p =\n                     is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                     super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p;\n                std::vector<bool,_std::allocator<bool>_>::_M_insert_aux\n                          (&is_secn_or_group_unique,__position_00,false);\n              }\n              else {\n                if (is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                    super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset == 0x3f) {\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset = 0;\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p + 1;\n                }\n                else {\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset + 1;\n                }\n                bVar13 = (byte)uVar22 & 0x3f;\n                *p_Var18 = *p_Var18 & (-2L << bVar13 | 0xfffffffffffffffeU >> 0x40 - bVar13);\n              }\n              section_cksum._M_h._M_buckets = &section_cksum._M_h._M_before_begin._M_nxt;\n              std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n              _M_construct<char_const*>(local_1a8,"");\n                    /* try { // try from 00180c00 to 00180c04 has its CatchHandler @ 00181f59 */\n              std::\n              vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              ::\n              emplace_back<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>\n                        (&section_contents,local_1a8);\n              if ((__node_base *)section_cksum._M_h._M_buckets !=\n                  &section_cksum._M_h._M_before_begin) {\n                operator_delete(section_cksum._M_h._M_buckets);\n              }\n              uVar4 = uVar4 + 1;\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)section_name._M_dataplus._M_p != &section_name.field_2) goto LAB_00180c31;\n            }\n            else {\n              lVar38 = 0xf;\n              pbVar30 = (byte *)".gnu.linkonce.t";\n              _Var50 = section_name._M_dataplus;\n              do {\n                if (lVar38 == 0) break;\n                lVar38 = lVar38 + -1;\n                bVar57 = *pbVar30 < (byte)*_Var50._M_p;\n                bVar60 = *pbVar30 == *_Var50._M_p;\n                pbVar30 = pbVar30 + (ulong)bVar61 * -2 + 1;\n                _Var50._M_p = (pointer)((byte *)_Var50._M_p + (ulong)bVar61 * -2 + 1);\n              } while (bVar60);\n              if ((!bVar57 && !bVar60) == bVar57) goto LAB_00180a28;\nLAB_00180c96:\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)section_name._M_dataplus._M_p != &section_name.field_2) {\nLAB_00180c31:\n                operator_delete(section_name._M_dataplus._M_p);\n              }\n            }\n            pRVar48 = *ppRVar55;\n            uVar44 = uVar44 + 1;\n            uVar45 = (ulong)uVar44;\n            uVar22 = (pRVar48->super_Object).shnum_;\n            uVar56 = uVar44 < uVar22;\n            uVar59 = uVar44 == uVar22;\n          } while ((bool)uVar56);\n        }\n        pIVar7 = (pRVar6->super_Object).input_file_;\n        if (pIVar7 != (Input_file *)0x0) {\n          File_read::unlock(&pIVar7->file_,(Task *)0xffffffffffffffff);\n        }\n      }" if (parenthesized_expression "(pIVar7 == (Input_file *)0x0)" ( (binary_expression "pIVar7 == (Input_file *)0x0" identifier == (cast_expression "(Input_file *)0x0" ( (type_descriptor "Input_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pRVar48 = pRVar6;\n        if ((pRVar6->super_Object).shnum_ != 0) goto LAB_00180a17;\n      }" { (expression_statement "pRVar48 = pRVar6;" (assignment_expression "pRVar48 = pRVar6" identifier = identifier) ;) (if_statement "if ((pRVar6->super_Object).shnum_ != 0) goto LAB_00180a17;" if (parenthesized_expression "((pRVar6->super_Object).shnum_ != 0)" ( (binary_expression "(pRVar6->super_Object).shnum_ != 0" (field_expression "(pRVar6->super_Object).shnum_" (parenthesized_expression "(pRVar6->super_Object)" ( (field_expression "pRVar6->super_Object" identifier -> field_identifier) )) . field_identifier) != number_literal) )) (goto_statement "goto LAB_00180a17;" goto statement_identifier ;)) }) (else_clause "else {\n                    /* try { // try from 00180a02 to 00180a06 has its CatchHandler @ 00181f33 */\n        File_read::lock(&pIVar7->file_,(Task *)0xffffffffffffffff);\n        pRVar48 = *ppRVar55;\n        if (((*ppRVar55)->super_Object).shnum_ != 0) {\nLAB_00180a17:\n          uVar56 = false;\n          uVar45 = 0;\n          uVar59 = true;\n          do {\n            uVar44 = (uint)uVar45;\n                    /* try { // try from 00180c4d to 00180c52 has its CatchHandler @ 00181f1d */\n            (*(pRVar48->super_Object)._vptr_Object[0x10])(&section_name,pRVar48,uVar45);\n            lVar38 = 5;\n            pbVar30 = (byte *)".text";\n            _Var50 = section_name._M_dataplus;\n            do {\n              if (lVar38 == 0) break;\n              lVar38 = lVar38 + -1;\n              uVar56 = *pbVar30 < (byte)*_Var50._M_p;\n              uVar59 = *pbVar30 == *_Var50._M_p;\n              pbVar30 = pbVar30 + (ulong)bVar61 * -2 + 1;\n              _Var50._M_p = (pointer)((byte *)_Var50._M_p + (ulong)bVar61 * -2 + 1);\n            } while ((bool)uVar59);\n            bVar57 = false;\n            bVar60 = (!(bool)uVar56 && !(bool)uVar59) == (bool)uVar56;\n            if (bVar60) {\nLAB_00180a28:\n              pRVar48 = *ppRVar55;\n              ppOVar8 = (pRVar48->output_sections_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_start;\n              if ((ulong)((long)(pRVar48->output_sections_).\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_finish - (long)ppOVar8 >> 3) <= uVar45) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181e47 to 00181e63 has its CatchHandler @ 00181f61 */\n                do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (ppOVar8[uVar45] == (Output_section *)0x0) goto LAB_00180c96;\n              pGVar25 = parameters->options_;\n              if (pGVar25 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((pGVar25->gc_sections_).value != false) {\n                section_cksum._M_h._M_bucket_count =\n                     CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n                section_cksum._M_h._M_buckets = (__bucket_type *)pRVar48;\n                iVar31 = std::\n                         _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                         ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                 *)&symtab->gc_->referenced_list_,(key_type *)&section_cksum);\n                if (iVar31.super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>.\n                    _M_cur == (__node_type *)0x0) goto LAB_00180c96;\n                pGVar25 = parameters->options_;\n                if (pGVar25 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00180e61 to 001811fa has its CatchHandler @ 00181f61 */\n                  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (pGVar25->icf_status_ == ICF_SAFE) {\n                pbVar30 = (byte *)strrchr(section_name._M_dataplus._M_p,0x2e);\n                bVar57 = false;\n                bVar60 = pbVar30 == (byte *)0x0;\n                if (bVar60) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181ef3 to 00181ef7 has its CatchHandler @ 00181f61 */\n                  do_gold_unreachable("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar38 = 4;\n                pbVar49 = &DAT_00373305;\n                pbVar52 = pbVar30;\n                do {\n                  if (lVar38 == 0) break;\n                  lVar38 = lVar38 + -1;\n                  bVar57 = *pbVar49 < *pbVar52;\n                  bVar60 = *pbVar49 == *pbVar52;\n                  pbVar49 = pbVar49 + (ulong)bVar61 * -2 + 1;\n                  pbVar52 = pbVar52 + (ulong)bVar61 * -2 + 1;\n                } while (bVar60);\n                bVar58 = false;\n                bVar57 = (!bVar57 && !bVar60) == bVar57;\n                if (bVar57) {\nLAB_00180f58:\n                  gVar20 = is_gnu_v3_mangled_ctor((char *)(pbVar30 + 1));\n                  if ((gVar20 != 0) ||\n                     (gVar21 = is_gnu_v3_mangled_dtor((char *)(pbVar30 + 1)), gVar21 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar38 = 4;\n                  pbVar49 = &DAT_0037330a;\n                  pbVar52 = pbVar30;\n                  do {\n                    if (lVar38 == 0) break;\n                    lVar38 = lVar38 + -1;\n                    bVar58 = *pbVar49 < *pbVar52;\n                    bVar57 = *pbVar49 == *pbVar52;\n                    pbVar49 = pbVar49 + (ulong)bVar61 * -2 + 1;\n                    pbVar52 = pbVar52 + (ulong)bVar61 * -2 + 1;\n                  } while (bVar57);\n                  if ((!bVar58 && !bVar57) == bVar58) goto LAB_00180f58;\n                }\n                if ((*(code **)(*(long *)pTVar5 + 0x90) !=\n                     Target::do_can_check_for_function_pointers) &&\n                   (cVar19 = (**(code **)(*(long *)pTVar5 + 0x90))(pTVar5), cVar19 != '\0')) {\n                  section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;\n                  section_cksum._M_h._M_bucket_count =\n                       CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n                  iVar31 = std::\n                           _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                           ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                   *)&this->fptr_section_id_,(key_type *)&section_cksum);\n                  if (iVar31.super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>\n                      ._M_cur == (__node_type *)0x0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                          &section_cksum;\n              section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;\n              __position._M_current =\n                   (this->id_section_).\n                   super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                   ._M_impl._M_finish;\n              section_cksum._M_h._M_bucket_count =\n                   CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n              if (__position._M_current ==\n                  (this->id_section_).\n                  super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                  ._M_impl._M_end_of_storage) {\n                std::\n                vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ::_M_realloc_insert<std::pair<gold::Relobj*,_unsigned_int>_>\n                          (&this->id_section_,__position,\n                           (pair<gold::Relobj*,_unsigned_int> *)local_1a8);\n              }\n              else {\n                (__position._M_current)->first = (Relobj *)section_cksum._M_h._M_buckets;\n                (__position._M_current)->second = uVar44;\n                (this->id_section_).\n                super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ._M_impl._M_finish = __position._M_current + 1;\n              }\n              section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;\n              section_cksum._M_h._M_bucket_count =\n                   CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n              p_Var26 = (_Hash_node_base *)((ulong)section_cksum._M_h._M_buckets ^ uVar45);\n              local_1a0 = (ulong)p_Var26 % (this->section_id_)._M_h._M_bucket_count;\n              p_Var27 = std::\n                        _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                        ::_M_find_before_node\n                                  ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                                    *)&this->section_id_,local_1a0,(key_type *)local_1a8,\n                                   (__hash_code)p_Var26);\n              if ((p_Var27 == (__node_base *)0x0) ||\n                 (p_Var28 = p_Var27->_M_nxt, p_Var28 == (_Hash_node_base *)0x0)) {\n                    /* try { // try from 00180cad to 00180cec has its CatchHandler @ 00181f61 */\n                p_Var28 = (_Hash_node_base *)operator_new(0x28);\n                uVar41 = (this->section_id_)._M_h._M_element_count;\n                p_Var28->_M_nxt = (_Hash_node_base *)0x0;\n                uVar42 = (this->section_id_)._M_h._M_bucket_count;\n                *(undefined4 *)&p_Var28[3]._M_nxt = 0;\n                p_Var28[1]._M_nxt = (_Hash_node_base *)section_cksum._M_h._M_buckets;\n                p_Var28[2]._M_nxt = (_Hash_node_base *)section_cksum._M_h._M_bucket_count;\n                cVar19 = std::__detail::_Prime_rehash_policy::_M_need_rehash\n                                   (&(this->section_id_)._M_h._M_rehash_policy,uVar42,uVar41,1);\n                if (cVar19 == '\0') {\n                  pp_Var29 = (this->section_id_)._M_h._M_buckets;\n                }\n                else {\n                  if (this_00 ==\n                      (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n                       *)0x1) {\n                    pp_Var29 = &(this->section_id_)._M_h._M_single_bucket;\n                    (this->section_id_)._M_h._M_single_bucket = (__bucket_type)0x0;\n                  }\n                  else {\n                    /* try { // try from 00180d0d to 00180d11 has its CatchHandler @ 00181f10 */\n                    pp_Var29 = std::__detail::\n                               _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n                               ::_M_allocate_buckets(this_00,uVar42);\n                  }\n                  p_Var39 = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                  (this->section_id_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n                  if (p_Var39 != (_Hash_node_base *)0x0) {\n                    uVar41 = 0;\n                    do {\n                      while( true ) {\n                        p_Var9 = p_Var39->_M_nxt;\n                        uVar42 = (ulong)p_Var39[4]._M_nxt % (ulong)this_00;\n                        pp_Var10 = pp_Var29 + uVar42;\n                        if (*pp_Var10 == (__bucket_type)0x0) break;\n                        p_Var39->_M_nxt = (*pp_Var10)->_M_nxt;\n                        (*pp_Var10)->_M_nxt = p_Var39;\n                        uVar42 = uVar41;\nLAB_00180d64:\n                        p_Var39 = p_Var9;\n                        uVar41 = uVar42;\n                        if (p_Var9 == (_Hash_node_base *)0x0) goto LAB_00180dc0;\n                      }\n                      p_Var39->_M_nxt = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                      (this->section_id_)._M_h._M_before_begin._M_nxt = p_Var39;\n                      *pp_Var10 = &(this->section_id_)._M_h._M_before_begin;\n                      if (p_Var39->_M_nxt == (_Hash_node_base *)0x0) goto LAB_00180d64;\n                      pp_Var29[uVar41] = p_Var39;\n                      p_Var39 = p_Var9;\n                      uVar41 = uVar42;\n                    } while (p_Var9 != (_Hash_node_base *)0x0);\n                  }\nLAB_00180dc0:\n                  pp_Var10 = (this->section_id_)._M_h._M_buckets;\n                  if (pp_Var10 != &(this->section_id_)._M_h._M_single_bucket) {\n                    operator_delete(pp_Var10);\n                  }\n                  (this->section_id_)._M_h._M_buckets = pp_Var29;\n                  local_1a0 = (ulong)p_Var26 % (ulong)this_00;\n                  (this->section_id_)._M_h._M_bucket_count = (size_type)this_00;\n                }\n                p_Var28[4]._M_nxt = p_Var26;\n                pp_Var10 = pp_Var29 + local_1a0;\n                if (*pp_Var10 == (__bucket_type)0x0) {\n                  p_Var26 = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                  (this->section_id_)._M_h._M_before_begin._M_nxt = p_Var28;\n                  p_Var28->_M_nxt = p_Var26;\n                  if (p_Var26 != (_Hash_node_base *)0x0) {\n                    pp_Var29[(ulong)p_Var26[4]._M_nxt % (this->section_id_)._M_h._M_bucket_count] =\n                         p_Var28;\n                  }\n                  *pp_Var10 = &(this->section_id_)._M_h._M_before_begin;\n                }\n                else {\n                  p_Var28->_M_nxt = (*pp_Var10)->_M_nxt;\n                  (*pp_Var10)->_M_nxt = p_Var28;\n                }\n                psVar1 = &(this->section_id_)._M_h._M_element_count;\n                *psVar1 = *psVar1 + 1;\n              }\n              puVar11 = (this->kept_section_id_).\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_finish;\n              *(uint *)&p_Var28[3]._M_nxt = uVar4;\n              if (puVar11 ==\n                  (this->kept_section_id_).\n                  super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                  _M_end_of_storage) {\n                __src = (this->kept_section_id_).\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start;\n                sVar32 = (long)puVar11 - (long)__src;\n                uVar41 = (long)sVar32 >> 2;\n                if (uVar41 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (pointer)operator_new(local_1d0);\n                  local_1e8 = (pointer)(local_1d0 + (long)__dest);\n                }\n                else {\n                  uVar42 = uVar41 * 2;\n                  if (uVar42 < uVar41) {\n                    local_1d0 = 0xfffffffffffffffc;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = 0xfffffffffffffffc;\n                  if (0x3fffffffffffffff < uVar42) goto LAB_00181065;\n                  if (uVar42 != 0) {\n                    local_1d0 = uVar41 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = (pointer)0x0;\n                  __dest = (pointer)0x0;\n                }\n                *(uint *)((long)__dest + sVar32) = uVar4;\n                puVar3 = (pointer)((long)__dest + sVar32 + 4);\n                if (puVar11 == __src) {\n                  if (__src != (pointer)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = (pointer)memmove(__dest,__src,sVar32);\nLAB_001810bd:\n                  operator_delete(__src);\n                }\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start =\n                     __dest;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n                     puVar3;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                _M_end_of_storage = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *puVar11 = uVar4;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n                     puVar11 + 1;\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar32 = (long)local_1b0 - (long)local_1d8;\n                uVar41 = (long)sVar32 >> 2;\n                if (uVar41 == 0) {\n                  uVar42 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)operator_new(uVar42);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + uVar42);\n                }\n                else {\n                  uVar34 = uVar41 * 2;\n                  if (uVar34 < uVar41) {\n                    uVar42 = 0xfffffffffffffffc;\n                    goto LAB_0018114e;\n                  }\n                  uVar42 = 0xfffffffffffffffc;\n                  if (0x3fffffffffffffff < uVar34) goto LAB_0018114e;\n                  if (uVar34 != 0) {\n                    uVar42 = uVar41 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar32) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar32 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar32);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar32 + 4);\nLAB_001811a1:\n                  operator_delete(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    /* try { // try from 00180b6b to 00180bee has its CatchHandler @ 00181f61 */\n              iVar24 = (*((*ppRVar55)->super_Object)._vptr_Object[0x17])(*ppRVar55,uVar45);\n              section_cksum._M_h._M_buckets = (__bucket_type *)CONCAT44(extraout_var,iVar24);\n              if (section_addraligns.\n                  super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                  _M_finish ==\n                  section_addraligns.\n                  super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                  _M_end_of_storage) {\n                std::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>::\n                _M_realloc_insert<long_unsigned_int>\n                          (&section_addraligns,\n                           (iterator)\n                           section_addraligns.\n                           super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n                           ._M_impl._M_finish,(ulong *)local_1a8);\n              }\n              else {\n                *section_addraligns.\n                 super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                 _M_finish = (ulong)section_cksum._M_h._M_buckets;\n                section_addraligns.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_finish = section_addraligns.\n                            super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n                            ._M_impl._M_finish + 1;\n              }\n              uVar22 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset;\n              p_Var18 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                        super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p;\n              if (is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p ==\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_end_of_storage) {\n                local_180 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>.\n                            _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base.\n                            _M_offset;\n                __position_00.super__Bit_iterator_base._12_4_ = uStack_17c;\n                __position_00.super__Bit_iterator_base._M_offset =\n                     is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                     super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset;\n                local_188 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>.\n                            _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p\n                ;\n                __position_00.super__Bit_iterator_base._M_p =\n                     is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                     super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p;\n                std::vector<bool,_std::allocator<bool>_>::_M_insert_aux\n                          (&is_secn_or_group_unique,__position_00,false);\n              }\n              else {\n                if (is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                    super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset == 0x3f) {\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset = 0;\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p + 1;\n                }\n                else {\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset + 1;\n                }\n                bVar13 = (byte)uVar22 & 0x3f;\n                *p_Var18 = *p_Var18 & (-2L << bVar13 | 0xfffffffffffffffeU >> 0x40 - bVar13);\n              }\n              section_cksum._M_h._M_buckets = &section_cksum._M_h._M_before_begin._M_nxt;\n              std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n              _M_construct<char_const*>(local_1a8,"");\n                    /* try { // try from 00180c00 to 00180c04 has its CatchHandler @ 00181f59 */\n              std::\n              vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              ::\n              emplace_back<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>\n                        (&section_contents,local_1a8);\n              if ((__node_base *)section_cksum._M_h._M_buckets !=\n                  &section_cksum._M_h._M_before_begin) {\n                operator_delete(section_cksum._M_h._M_buckets);\n              }\n              uVar4 = uVar4 + 1;\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)section_name._M_dataplus._M_p != &section_name.field_2) goto LAB_00180c31;\n            }\n            else {\n              lVar38 = 0xf;\n              pbVar30 = (byte *)".gnu.linkonce.t";\n              _Var50 = section_name._M_dataplus;\n              do {\n                if (lVar38 == 0) break;\n                lVar38 = lVar38 + -1;\n                bVar57 = *pbVar30 < (byte)*_Var50._M_p;\n                bVar60 = *pbVar30 == *_Var50._M_p;\n                pbVar30 = pbVar30 + (ulong)bVar61 * -2 + 1;\n                _Var50._M_p = (pointer)((byte *)_Var50._M_p + (ulong)bVar61 * -2 + 1);\n              } while (bVar60);\n              if ((!bVar57 && !bVar60) == bVar57) goto LAB_00180a28;\nLAB_00180c96:\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)section_name._M_dataplus._M_p != &section_name.field_2) {\nLAB_00180c31:\n                operator_delete(section_name._M_dataplus._M_p);\n              }\n            }\n            pRVar48 = *ppRVar55;\n            uVar44 = uVar44 + 1;\n            uVar45 = (ulong)uVar44;\n            uVar22 = (pRVar48->super_Object).shnum_;\n            uVar56 = uVar44 < uVar22;\n            uVar59 = uVar44 == uVar22;\n          } while ((bool)uVar56);\n        }\n        pIVar7 = (pRVar6->super_Object).input_file_;\n        if (pIVar7 != (Input_file *)0x0) {\n          File_read::unlock(&pIVar7->file_,(Task *)0xffffffffffffffff);\n        }\n      }" else (compound_statement "{\n                    /* try { // try from 00180a02 to 00180a06 has its CatchHandler @ 00181f33 */\n        File_read::lock(&pIVar7->file_,(Task *)0xffffffffffffffff);\n        pRVar48 = *ppRVar55;\n        if (((*ppRVar55)->super_Object).shnum_ != 0) {\nLAB_00180a17:\n          uVar56 = false;\n          uVar45 = 0;\n          uVar59 = true;\n          do {\n            uVar44 = (uint)uVar45;\n                    /* try { // try from 00180c4d to 00180c52 has its CatchHandler @ 00181f1d */\n            (*(pRVar48->super_Object)._vptr_Object[0x10])(&section_name,pRVar48,uVar45);\n            lVar38 = 5;\n            pbVar30 = (byte *)".text";\n            _Var50 = section_name._M_dataplus;\n            do {\n              if (lVar38 == 0) break;\n              lVar38 = lVar38 + -1;\n              uVar56 = *pbVar30 < (byte)*_Var50._M_p;\n              uVar59 = *pbVar30 == *_Var50._M_p;\n              pbVar30 = pbVar30 + (ulong)bVar61 * -2 + 1;\n              _Var50._M_p = (pointer)((byte *)_Var50._M_p + (ulong)bVar61 * -2 + 1);\n            } while ((bool)uVar59);\n            bVar57 = false;\n            bVar60 = (!(bool)uVar56 && !(bool)uVar59) == (bool)uVar56;\n            if (bVar60) {\nLAB_00180a28:\n              pRVar48 = *ppRVar55;\n              ppOVar8 = (pRVar48->output_sections_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_start;\n              if ((ulong)((long)(pRVar48->output_sections_).\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_finish - (long)ppOVar8 >> 3) <= uVar45) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181e47 to 00181e63 has its CatchHandler @ 00181f61 */\n                do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (ppOVar8[uVar45] == (Output_section *)0x0) goto LAB_00180c96;\n              pGVar25 = parameters->options_;\n              if (pGVar25 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((pGVar25->gc_sections_).value != false) {\n                section_cksum._M_h._M_bucket_count =\n                     CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n                section_cksum._M_h._M_buckets = (__bucket_type *)pRVar48;\n                iVar31 = std::\n                         _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                         ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                 *)&symtab->gc_->referenced_list_,(key_type *)&section_cksum);\n                if (iVar31.super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>.\n                    _M_cur == (__node_type *)0x0) goto LAB_00180c96;\n                pGVar25 = parameters->options_;\n                if (pGVar25 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00180e61 to 001811fa has its CatchHandler @ 00181f61 */\n                  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (pGVar25->icf_status_ == ICF_SAFE) {\n                pbVar30 = (byte *)strrchr(section_name._M_dataplus._M_p,0x2e);\n                bVar57 = false;\n                bVar60 = pbVar30 == (byte *)0x0;\n                if (bVar60) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181ef3 to 00181ef7 has its CatchHandler @ 00181f61 */\n                  do_gold_unreachable("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar38 = 4;\n                pbVar49 = &DAT_00373305;\n                pbVar52 = pbVar30;\n                do {\n                  if (lVar38 == 0) break;\n                  lVar38 = lVar38 + -1;\n                  bVar57 = *pbVar49 < *pbVar52;\n                  bVar60 = *pbVar49 == *pbVar52;\n                  pbVar49 = pbVar49 + (ulong)bVar61 * -2 + 1;\n                  pbVar52 = pbVar52 + (ulong)bVar61 * -2 + 1;\n                } while (bVar60);\n                bVar58 = false;\n                bVar57 = (!bVar57 && !bVar60) == bVar57;\n                if (bVar57) {\nLAB_00180f58:\n                  gVar20 = is_gnu_v3_mangled_ctor((char *)(pbVar30 + 1));\n                  if ((gVar20 != 0) ||\n                     (gVar21 = is_gnu_v3_mangled_dtor((char *)(pbVar30 + 1)), gVar21 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar38 = 4;\n                  pbVar49 = &DAT_0037330a;\n                  pbVar52 = pbVar30;\n                  do {\n                    if (lVar38 == 0) break;\n                    lVar38 = lVar38 + -1;\n                    bVar58 = *pbVar49 < *pbVar52;\n                    bVar57 = *pbVar49 == *pbVar52;\n                    pbVar49 = pbVar49 + (ulong)bVar61 * -2 + 1;\n                    pbVar52 = pbVar52 + (ulong)bVar61 * -2 + 1;\n                  } while (bVar57);\n                  if ((!bVar58 && !bVar57) == bVar58) goto LAB_00180f58;\n                }\n                if ((*(code **)(*(long *)pTVar5 + 0x90) !=\n                     Target::do_can_check_for_function_pointers) &&\n                   (cVar19 = (**(code **)(*(long *)pTVar5 + 0x90))(pTVar5), cVar19 != '\0')) {\n                  section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;\n                  section_cksum._M_h._M_bucket_count =\n                       CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n                  iVar31 = std::\n                           _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                           ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                   *)&this->fptr_section_id_,(key_type *)&section_cksum);\n                  if (iVar31.super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>\n                      ._M_cur == (__node_type *)0x0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                          &section_cksum;\n              section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;\n              __position._M_current =\n                   (this->id_section_).\n                   super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                   ._M_impl._M_finish;\n              section_cksum._M_h._M_bucket_count =\n                   CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n              if (__position._M_current ==\n                  (this->id_section_).\n                  super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                  ._M_impl._M_end_of_storage) {\n                std::\n                vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ::_M_realloc_insert<std::pair<gold::Relobj*,_unsigned_int>_>\n                          (&this->id_section_,__position,\n                           (pair<gold::Relobj*,_unsigned_int> *)local_1a8);\n              }\n              else {\n                (__position._M_current)->first = (Relobj *)section_cksum._M_h._M_buckets;\n                (__position._M_current)->second = uVar44;\n                (this->id_section_).\n                super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ._M_impl._M_finish = __position._M_current + 1;\n              }\n              section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;\n              section_cksum._M_h._M_bucket_count =\n                   CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n              p_Var26 = (_Hash_node_base *)((ulong)section_cksum._M_h._M_buckets ^ uVar45);\n              local_1a0 = (ulong)p_Var26 % (this->section_id_)._M_h._M_bucket_count;\n              p_Var27 = std::\n                        _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                        ::_M_find_before_node\n                                  ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                                    *)&this->section_id_,local_1a0,(key_type *)local_1a8,\n                                   (__hash_code)p_Var26);\n              if ((p_Var27 == (__node_base *)0x0) ||\n                 (p_Var28 = p_Var27->_M_nxt, p_Var28 == (_Hash_node_base *)0x0)) {\n                    /* try { // try from 00180cad to 00180cec has its CatchHandler @ 00181f61 */\n                p_Var28 = (_Hash_node_base *)operator_new(0x28);\n                uVar41 = (this->section_id_)._M_h._M_element_count;\n                p_Var28->_M_nxt = (_Hash_node_base *)0x0;\n                uVar42 = (this->section_id_)._M_h._M_bucket_count;\n                *(undefined4 *)&p_Var28[3]._M_nxt = 0;\n                p_Var28[1]._M_nxt = (_Hash_node_base *)section_cksum._M_h._M_buckets;\n                p_Var28[2]._M_nxt = (_Hash_node_base *)section_cksum._M_h._M_bucket_count;\n                cVar19 = std::__detail::_Prime_rehash_policy::_M_need_rehash\n                                   (&(this->section_id_)._M_h._M_rehash_policy,uVar42,uVar41,1);\n                if (cVar19 == '\0') {\n                  pp_Var29 = (this->section_id_)._M_h._M_buckets;\n                }\n                else {\n                  if (this_00 ==\n                      (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n                       *)0x1) {\n                    pp_Var29 = &(this->section_id_)._M_h._M_single_bucket;\n                    (this->section_id_)._M_h._M_single_bucket = (__bucket_type)0x0;\n                  }\n                  else {\n                    /* try { // try from 00180d0d to 00180d11 has its CatchHandler @ 00181f10 */\n                    pp_Var29 = std::__detail::\n                               _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n                               ::_M_allocate_buckets(this_00,uVar42);\n                  }\n                  p_Var39 = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                  (this->section_id_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n                  if (p_Var39 != (_Hash_node_base *)0x0) {\n                    uVar41 = 0;\n                    do {\n                      while( true ) {\n                        p_Var9 = p_Var39->_M_nxt;\n                        uVar42 = (ulong)p_Var39[4]._M_nxt % (ulong)this_00;\n                        pp_Var10 = pp_Var29 + uVar42;\n                        if (*pp_Var10 == (__bucket_type)0x0) break;\n                        p_Var39->_M_nxt = (*pp_Var10)->_M_nxt;\n                        (*pp_Var10)->_M_nxt = p_Var39;\n                        uVar42 = uVar41;\nLAB_00180d64:\n                        p_Var39 = p_Var9;\n                        uVar41 = uVar42;\n                        if (p_Var9 == (_Hash_node_base *)0x0) goto LAB_00180dc0;\n                      }\n                      p_Var39->_M_nxt = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                      (this->section_id_)._M_h._M_before_begin._M_nxt = p_Var39;\n                      *pp_Var10 = &(this->section_id_)._M_h._M_before_begin;\n                      if (p_Var39->_M_nxt == (_Hash_node_base *)0x0) goto LAB_00180d64;\n                      pp_Var29[uVar41] = p_Var39;\n                      p_Var39 = p_Var9;\n                      uVar41 = uVar42;\n                    } while (p_Var9 != (_Hash_node_base *)0x0);\n                  }\nLAB_00180dc0:\n                  pp_Var10 = (this->section_id_)._M_h._M_buckets;\n                  if (pp_Var10 != &(this->section_id_)._M_h._M_single_bucket) {\n                    operator_delete(pp_Var10);\n                  }\n                  (this->section_id_)._M_h._M_buckets = pp_Var29;\n                  local_1a0 = (ulong)p_Var26 % (ulong)this_00;\n                  (this->section_id_)._M_h._M_bucket_count = (size_type)this_00;\n                }\n                p_Var28[4]._M_nxt = p_Var26;\n                pp_Var10 = pp_Var29 + local_1a0;\n                if (*pp_Var10 == (__bucket_type)0x0) {\n                  p_Var26 = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                  (this->section_id_)._M_h._M_before_begin._M_nxt = p_Var28;\n                  p_Var28->_M_nxt = p_Var26;\n                  if (p_Var26 != (_Hash_node_base *)0x0) {\n                    pp_Var29[(ulong)p_Var26[4]._M_nxt % (this->section_id_)._M_h._M_bucket_count] =\n                         p_Var28;\n                  }\n                  *pp_Var10 = &(this->section_id_)._M_h._M_before_begin;\n                }\n                else {\n                  p_Var28->_M_nxt = (*pp_Var10)->_M_nxt;\n                  (*pp_Var10)->_M_nxt = p_Var28;\n                }\n                psVar1 = &(this->section_id_)._M_h._M_element_count;\n                *psVar1 = *psVar1 + 1;\n              }\n              puVar11 = (this->kept_section_id_).\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_finish;\n              *(uint *)&p_Var28[3]._M_nxt = uVar4;\n              if (puVar11 ==\n                  (this->kept_section_id_).\n                  super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                  _M_end_of_storage) {\n                __src = (this->kept_section_id_).\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start;\n                sVar32 = (long)puVar11 - (long)__src;\n                uVar41 = (long)sVar32 >> 2;\n                if (uVar41 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (pointer)operator_new(local_1d0);\n                  local_1e8 = (pointer)(local_1d0 + (long)__dest);\n                }\n                else {\n                  uVar42 = uVar41 * 2;\n                  if (uVar42 < uVar41) {\n                    local_1d0 = 0xfffffffffffffffc;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = 0xfffffffffffffffc;\n                  if (0x3fffffffffffffff < uVar42) goto LAB_00181065;\n                  if (uVar42 != 0) {\n                    local_1d0 = uVar41 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = (pointer)0x0;\n                  __dest = (pointer)0x0;\n                }\n                *(uint *)((long)__dest + sVar32) = uVar4;\n                puVar3 = (pointer)((long)__dest + sVar32 + 4);\n                if (puVar11 == __src) {\n                  if (__src != (pointer)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = (pointer)memmove(__dest,__src,sVar32);\nLAB_001810bd:\n                  operator_delete(__src);\n                }\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start =\n                     __dest;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n                     puVar3;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                _M_end_of_storage = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *puVar11 = uVar4;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n                     puVar11 + 1;\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar32 = (long)local_1b0 - (long)local_1d8;\n                uVar41 = (long)sVar32 >> 2;\n                if (uVar41 == 0) {\n                  uVar42 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)operator_new(uVar42);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + uVar42);\n                }\n                else {\n                  uVar34 = uVar41 * 2;\n                  if (uVar34 < uVar41) {\n                    uVar42 = 0xfffffffffffffffc;\n                    goto LAB_0018114e;\n                  }\n                  uVar42 = 0xfffffffffffffffc;\n                  if (0x3fffffffffffffff < uVar34) goto LAB_0018114e;\n                  if (uVar34 != 0) {\n                    uVar42 = uVar41 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar32) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar32 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar32);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar32 + 4);\nLAB_001811a1:\n                  operator_delete(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    /* try { // try from 00180b6b to 00180bee has its CatchHandler @ 00181f61 */\n              iVar24 = (*((*ppRVar55)->super_Object)._vptr_Object[0x17])(*ppRVar55,uVar45);\n              section_cksum._M_h._M_buckets = (__bucket_type *)CONCAT44(extraout_var,iVar24);\n              if (section_addraligns.\n                  super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                  _M_finish ==\n                  section_addraligns.\n                  super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                  _M_end_of_storage) {\n                std::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>::\n                _M_realloc_insert<long_unsigned_int>\n                          (&section_addraligns,\n                           (iterator)\n                           section_addraligns.\n                           super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n                           ._M_impl._M_finish,(ulong *)local_1a8);\n              }\n              else {\n                *section_addraligns.\n                 super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                 _M_finish = (ulong)section_cksum._M_h._M_buckets;\n                section_addraligns.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_finish = section_addraligns.\n                            super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n                            ._M_impl._M_finish + 1;\n              }\n              uVar22 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset;\n              p_Var18 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                        super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p;\n              if (is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p ==\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_end_of_storage) {\n                local_180 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>.\n                            _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base.\n                            _M_offset;\n                __position_00.super__Bit_iterator_base._12_4_ = uStack_17c;\n                __position_00.super__Bit_iterator_base._M_offset =\n                     is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                     super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset;\n                local_188 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>.\n                            _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p\n                ;\n                __position_00.super__Bit_iterator_base._M_p =\n                     is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                     super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p;\n                std::vector<bool,_std::allocator<bool>_>::_M_insert_aux\n                          (&is_secn_or_group_unique,__position_00,false);\n              }\n              else {\n                if (is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                    super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset == 0x3f) {\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset = 0;\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p + 1;\n                }\n                else {\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset + 1;\n                }\n                bVar13 = (byte)uVar22 & 0x3f;\n                *p_Var18 = *p_Var18 & (-2L << bVar13 | 0xfffffffffffffffeU >> 0x40 - bVar13);\n              }\n              section_cksum._M_h._M_buckets = &section_cksum._M_h._M_before_begin._M_nxt;\n              std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n              _M_construct<char_const*>(local_1a8,"");\n                    /* try { // try from 00180c00 to 00180c04 has its CatchHandler @ 00181f59 */\n              std::\n              vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              ::\n              emplace_back<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>\n                        (&section_contents,local_1a8);\n              if ((__node_base *)section_cksum._M_h._M_buckets !=\n                  &section_cksum._M_h._M_before_begin) {\n                operator_delete(section_cksum._M_h._M_buckets);\n              }\n              uVar4 = uVar4 + 1;\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)section_name._M_dataplus._M_p != &section_name.field_2) goto LAB_00180c31;\n            }\n            else {\n              lVar38 = 0xf;\n              pbVar30 = (byte *)".gnu.linkonce.t";\n              _Var50 = section_name._M_dataplus;\n              do {\n                if (lVar38 == 0) break;\n                lVar38 = lVar38 + -1;\n                bVar57 = *pbVar30 < (byte)*_Var50._M_p;\n                bVar60 = *pbVar30 == *_Var50._M_p;\n                pbVar30 = pbVar30 + (ulong)bVar61 * -2 + 1;\n                _Var50._M_p = (pointer)((byte *)_Var50._M_p + (ulong)bVar61 * -2 + 1);\n              } while (bVar60);\n              if ((!bVar57 && !bVar60) == bVar57) goto LAB_00180a28;\nLAB_00180c96:\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)section_name._M_dataplus._M_p != &section_name.field_2) {\nLAB_00180c31:\n                operator_delete(section_name._M_dataplus._M_p);\n              }\n            }\n            pRVar48 = *ppRVar55;\n            uVar44 = uVar44 + 1;\n            uVar45 = (ulong)uVar44;\n            uVar22 = (pRVar48->super_Object).shnum_;\n            uVar56 = uVar44 < uVar22;\n            uVar59 = uVar44 == uVar22;\n          } while ((bool)uVar56);\n        }\n        pIVar7 = (pRVar6->super_Object).input_file_;\n        if (pIVar7 != (Input_file *)0x0) {\n          File_read::unlock(&pIVar7->file_,(Task *)0xffffffffffffffff);\n        }\n      }" { comment (labeled_statement "File_read::lock(&pIVar7->file_,(Task *)0xffffffffffffffff);" statement_identifier : (ERROR ":" :) (expression_statement "lock(&pIVar7->file_,(Task *)0xffffffffffffffff);" (call_expression "lock(&pIVar7->file_,(Task *)0xffffffffffffffff)" identifier (argument_list "(&pIVar7->file_,(Task *)0xffffffffffffffff)" ( (pointer_expression "&pIVar7->file_" & (field_expression "pIVar7->file_" identifier -> field_identifier)) , (cast_expression "(Task *)0xffffffffffffffff" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ))) ;)) (expression_statement "pRVar48 = *ppRVar55;" (assignment_expression "pRVar48 = *ppRVar55" identifier = (pointer_expression "*ppRVar55" * identifier)) ;) (if_statement "if (((*ppRVar55)->super_Object).shnum_ != 0) {\nLAB_00180a17:\n          uVar56 = false;\n          uVar45 = 0;\n          uVar59 = true;\n          do {\n            uVar44 = (uint)uVar45;\n                    /* try { // try from 00180c4d to 00180c52 has its CatchHandler @ 00181f1d */\n            (*(pRVar48->super_Object)._vptr_Object[0x10])(&section_name,pRVar48,uVar45);\n            lVar38 = 5;\n            pbVar30 = (byte *)".text";\n            _Var50 = section_name._M_dataplus;\n            do {\n              if (lVar38 == 0) break;\n              lVar38 = lVar38 + -1;\n              uVar56 = *pbVar30 < (byte)*_Var50._M_p;\n              uVar59 = *pbVar30 == *_Var50._M_p;\n              pbVar30 = pbVar30 + (ulong)bVar61 * -2 + 1;\n              _Var50._M_p = (pointer)((byte *)_Var50._M_p + (ulong)bVar61 * -2 + 1);\n            } while ((bool)uVar59);\n            bVar57 = false;\n            bVar60 = (!(bool)uVar56 && !(bool)uVar59) == (bool)uVar56;\n            if (bVar60) {\nLAB_00180a28:\n              pRVar48 = *ppRVar55;\n              ppOVar8 = (pRVar48->output_sections_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_start;\n              if ((ulong)((long)(pRVar48->output_sections_).\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_finish - (long)ppOVar8 >> 3) <= uVar45) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181e47 to 00181e63 has its CatchHandler @ 00181f61 */\n                do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (ppOVar8[uVar45] == (Output_section *)0x0) goto LAB_00180c96;\n              pGVar25 = parameters->options_;\n              if (pGVar25 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((pGVar25->gc_sections_).value != false) {\n                section_cksum._M_h._M_bucket_count =\n                     CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n                section_cksum._M_h._M_buckets = (__bucket_type *)pRVar48;\n                iVar31 = std::\n                         _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                         ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                 *)&symtab->gc_->referenced_list_,(key_type *)&section_cksum);\n                if (iVar31.super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>.\n                    _M_cur == (__node_type *)0x0) goto LAB_00180c96;\n                pGVar25 = parameters->options_;\n                if (pGVar25 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00180e61 to 001811fa has its CatchHandler @ 00181f61 */\n                  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (pGVar25->icf_status_ == ICF_SAFE) {\n                pbVar30 = (byte *)strrchr(section_name._M_dataplus._M_p,0x2e);\n                bVar57 = false;\n                bVar60 = pbVar30 == (byte *)0x0;\n                if (bVar60) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181ef3 to 00181ef7 has its CatchHandler @ 00181f61 */\n                  do_gold_unreachable("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar38 = 4;\n                pbVar49 = &DAT_00373305;\n                pbVar52 = pbVar30;\n                do {\n                  if (lVar38 == 0) break;\n                  lVar38 = lVar38 + -1;\n                  bVar57 = *pbVar49 < *pbVar52;\n                  bVar60 = *pbVar49 == *pbVar52;\n                  pbVar49 = pbVar49 + (ulong)bVar61 * -2 + 1;\n                  pbVar52 = pbVar52 + (ulong)bVar61 * -2 + 1;\n                } while (bVar60);\n                bVar58 = false;\n                bVar57 = (!bVar57 && !bVar60) == bVar57;\n                if (bVar57) {\nLAB_00180f58:\n                  gVar20 = is_gnu_v3_mangled_ctor((char *)(pbVar30 + 1));\n                  if ((gVar20 != 0) ||\n                     (gVar21 = is_gnu_v3_mangled_dtor((char *)(pbVar30 + 1)), gVar21 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar38 = 4;\n                  pbVar49 = &DAT_0037330a;\n                  pbVar52 = pbVar30;\n                  do {\n                    if (lVar38 == 0) break;\n                    lVar38 = lVar38 + -1;\n                    bVar58 = *pbVar49 < *pbVar52;\n                    bVar57 = *pbVar49 == *pbVar52;\n                    pbVar49 = pbVar49 + (ulong)bVar61 * -2 + 1;\n                    pbVar52 = pbVar52 + (ulong)bVar61 * -2 + 1;\n                  } while (bVar57);\n                  if ((!bVar58 && !bVar57) == bVar58) goto LAB_00180f58;\n                }\n                if ((*(code **)(*(long *)pTVar5 + 0x90) !=\n                     Target::do_can_check_for_function_pointers) &&\n                   (cVar19 = (**(code **)(*(long *)pTVar5 + 0x90))(pTVar5), cVar19 != '\0')) {\n                  section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;\n                  section_cksum._M_h._M_bucket_count =\n                       CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n                  iVar31 = std::\n                           _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                           ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                   *)&this->fptr_section_id_,(key_type *)&section_cksum);\n                  if (iVar31.super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>\n                      ._M_cur == (__node_type *)0x0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                          &section_cksum;\n              section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;\n              __position._M_current =\n                   (this->id_section_).\n                   super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                   ._M_impl._M_finish;\n              section_cksum._M_h._M_bucket_count =\n                   CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n              if (__position._M_current ==\n                  (this->id_section_).\n                  super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                  ._M_impl._M_end_of_storage) {\n                std::\n                vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ::_M_realloc_insert<std::pair<gold::Relobj*,_unsigned_int>_>\n                          (&this->id_section_,__position,\n                           (pair<gold::Relobj*,_unsigned_int> *)local_1a8);\n              }\n              else {\n                (__position._M_current)->first = (Relobj *)section_cksum._M_h._M_buckets;\n                (__position._M_current)->second = uVar44;\n                (this->id_section_).\n                super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ._M_impl._M_finish = __position._M_current + 1;\n              }\n              section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;\n              section_cksum._M_h._M_bucket_count =\n                   CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n              p_Var26 = (_Hash_node_base *)((ulong)section_cksum._M_h._M_buckets ^ uVar45);\n              local_1a0 = (ulong)p_Var26 % (this->section_id_)._M_h._M_bucket_count;\n              p_Var27 = std::\n                        _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                        ::_M_find_before_node\n                                  ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                                    *)&this->section_id_,local_1a0,(key_type *)local_1a8,\n                                   (__hash_code)p_Var26);\n              if ((p_Var27 == (__node_base *)0x0) ||\n                 (p_Var28 = p_Var27->_M_nxt, p_Var28 == (_Hash_node_base *)0x0)) {\n                    /* try { // try from 00180cad to 00180cec has its CatchHandler @ 00181f61 */\n                p_Var28 = (_Hash_node_base *)operator_new(0x28);\n                uVar41 = (this->section_id_)._M_h._M_element_count;\n                p_Var28->_M_nxt = (_Hash_node_base *)0x0;\n                uVar42 = (this->section_id_)._M_h._M_bucket_count;\n                *(undefined4 *)&p_Var28[3]._M_nxt = 0;\n                p_Var28[1]._M_nxt = (_Hash_node_base *)section_cksum._M_h._M_buckets;\n                p_Var28[2]._M_nxt = (_Hash_node_base *)section_cksum._M_h._M_bucket_count;\n                cVar19 = std::__detail::_Prime_rehash_policy::_M_need_rehash\n                                   (&(this->section_id_)._M_h._M_rehash_policy,uVar42,uVar41,1);\n                if (cVar19 == '\0') {\n                  pp_Var29 = (this->section_id_)._M_h._M_buckets;\n                }\n                else {\n                  if (this_00 ==\n                      (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n                       *)0x1) {\n                    pp_Var29 = &(this->section_id_)._M_h._M_single_bucket;\n                    (this->section_id_)._M_h._M_single_bucket = (__bucket_type)0x0;\n                  }\n                  else {\n                    /* try { // try from 00180d0d to 00180d11 has its CatchHandler @ 00181f10 */\n                    pp_Var29 = std::__detail::\n                               _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n                               ::_M_allocate_buckets(this_00,uVar42);\n                  }\n                  p_Var39 = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                  (this->section_id_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n                  if (p_Var39 != (_Hash_node_base *)0x0) {\n                    uVar41 = 0;\n                    do {\n                      while( true ) {\n                        p_Var9 = p_Var39->_M_nxt;\n                        uVar42 = (ulong)p_Var39[4]._M_nxt % (ulong)this_00;\n                        pp_Var10 = pp_Var29 + uVar42;\n                        if (*pp_Var10 == (__bucket_type)0x0) break;\n                        p_Var39->_M_nxt = (*pp_Var10)->_M_nxt;\n                        (*pp_Var10)->_M_nxt = p_Var39;\n                        uVar42 = uVar41;\nLAB_00180d64:\n                        p_Var39 = p_Var9;\n                        uVar41 = uVar42;\n                        if (p_Var9 == (_Hash_node_base *)0x0) goto LAB_00180dc0;\n                      }\n                      p_Var39->_M_nxt = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                      (this->section_id_)._M_h._M_before_begin._M_nxt = p_Var39;\n                      *pp_Var10 = &(this->section_id_)._M_h._M_before_begin;\n                      if (p_Var39->_M_nxt == (_Hash_node_base *)0x0) goto LAB_00180d64;\n                      pp_Var29[uVar41] = p_Var39;\n                      p_Var39 = p_Var9;\n                      uVar41 = uVar42;\n                    } while (p_Var9 != (_Hash_node_base *)0x0);\n                  }\nLAB_00180dc0:\n                  pp_Var10 = (this->section_id_)._M_h._M_buckets;\n                  if (pp_Var10 != &(this->section_id_)._M_h._M_single_bucket) {\n                    operator_delete(pp_Var10);\n                  }\n                  (this->section_id_)._M_h._M_buckets = pp_Var29;\n                  local_1a0 = (ulong)p_Var26 % (ulong)this_00;\n                  (this->section_id_)._M_h._M_bucket_count = (size_type)this_00;\n                }\n                p_Var28[4]._M_nxt = p_Var26;\n                pp_Var10 = pp_Var29 + local_1a0;\n                if (*pp_Var10 == (__bucket_type)0x0) {\n                  p_Var26 = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                  (this->section_id_)._M_h._M_before_begin._M_nxt = p_Var28;\n                  p_Var28->_M_nxt = p_Var26;\n                  if (p_Var26 != (_Hash_node_base *)0x0) {\n                    pp_Var29[(ulong)p_Var26[4]._M_nxt % (this->section_id_)._M_h._M_bucket_count] =\n                         p_Var28;\n                  }\n                  *pp_Var10 = &(this->section_id_)._M_h._M_before_begin;\n                }\n                else {\n                  p_Var28->_M_nxt = (*pp_Var10)->_M_nxt;\n                  (*pp_Var10)->_M_nxt = p_Var28;\n                }\n                psVar1 = &(this->section_id_)._M_h._M_element_count;\n                *psVar1 = *psVar1 + 1;\n              }\n              puVar11 = (this->kept_section_id_).\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_finish;\n              *(uint *)&p_Var28[3]._M_nxt = uVar4;\n              if (puVar11 ==\n                  (this->kept_section_id_).\n                  super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                  _M_end_of_storage) {\n                __src = (this->kept_section_id_).\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start;\n                sVar32 = (long)puVar11 - (long)__src;\n                uVar41 = (long)sVar32 >> 2;\n                if (uVar41 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (pointer)operator_new(local_1d0);\n                  local_1e8 = (pointer)(local_1d0 + (long)__dest);\n                }\n                else {\n                  uVar42 = uVar41 * 2;\n                  if (uVar42 < uVar41) {\n                    local_1d0 = 0xfffffffffffffffc;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = 0xfffffffffffffffc;\n                  if (0x3fffffffffffffff < uVar42) goto LAB_00181065;\n                  if (uVar42 != 0) {\n                    local_1d0 = uVar41 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = (pointer)0x0;\n                  __dest = (pointer)0x0;\n                }\n                *(uint *)((long)__dest + sVar32) = uVar4;\n                puVar3 = (pointer)((long)__dest + sVar32 + 4);\n                if (puVar11 == __src) {\n                  if (__src != (pointer)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = (pointer)memmove(__dest,__src,sVar32);\nLAB_001810bd:\n                  operator_delete(__src);\n                }\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start =\n                     __dest;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n                     puVar3;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                _M_end_of_storage = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *puVar11 = uVar4;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n                     puVar11 + 1;\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar32 = (long)local_1b0 - (long)local_1d8;\n                uVar41 = (long)sVar32 >> 2;\n                if (uVar41 == 0) {\n                  uVar42 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)operator_new(uVar42);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + uVar42);\n                }\n                else {\n                  uVar34 = uVar41 * 2;\n                  if (uVar34 < uVar41) {\n                    uVar42 = 0xfffffffffffffffc;\n                    goto LAB_0018114e;\n                  }\n                  uVar42 = 0xfffffffffffffffc;\n                  if (0x3fffffffffffffff < uVar34) goto LAB_0018114e;\n                  if (uVar34 != 0) {\n                    uVar42 = uVar41 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar32) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar32 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar32);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar32 + 4);\nLAB_001811a1:\n                  operator_delete(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    /* try { // try from 00180b6b to 00180bee has its CatchHandler @ 00181f61 */\n              iVar24 = (*((*ppRVar55)->super_Object)._vptr_Object[0x17])(*ppRVar55,uVar45);\n              section_cksum._M_h._M_buckets = (__bucket_type *)CONCAT44(extraout_var,iVar24);\n              if (section_addraligns.\n                  super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                  _M_finish ==\n                  section_addraligns.\n                  super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                  _M_end_of_storage) {\n                std::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>::\n                _M_realloc_insert<long_unsigned_int>\n                          (&section_addraligns,\n                           (iterator)\n                           section_addraligns.\n                           super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n                           ._M_impl._M_finish,(ulong *)local_1a8);\n              }\n              else {\n                *section_addraligns.\n                 super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                 _M_finish = (ulong)section_cksum._M_h._M_buckets;\n                section_addraligns.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_finish = section_addraligns.\n                            super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n                            ._M_impl._M_finish + 1;\n              }\n              uVar22 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset;\n              p_Var18 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                        super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p;\n              if (is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p ==\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_end_of_storage) {\n                local_180 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>.\n                            _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base.\n                            _M_offset;\n                __position_00.super__Bit_iterator_base._12_4_ = uStack_17c;\n                __position_00.super__Bit_iterator_base._M_offset =\n                     is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                     super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset;\n                local_188 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>.\n                            _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p\n                ;\n                __position_00.super__Bit_iterator_base._M_p =\n                     is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                     super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p;\n                std::vector<bool,_std::allocator<bool>_>::_M_insert_aux\n                          (&is_secn_or_group_unique,__position_00,false);\n              }\n              else {\n                if (is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                    super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset == 0x3f) {\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset = 0;\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p + 1;\n                }\n                else {\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset + 1;\n                }\n                bVar13 = (byte)uVar22 & 0x3f;\n                *p_Var18 = *p_Var18 & (-2L << bVar13 | 0xfffffffffffffffeU >> 0x40 - bVar13);\n              }\n              section_cksum._M_h._M_buckets = &section_cksum._M_h._M_before_begin._M_nxt;\n              std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n              _M_construct<char_const*>(local_1a8,"");\n                    /* try { // try from 00180c00 to 00180c04 has its CatchHandler @ 00181f59 */\n              std::\n              vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              ::\n              emplace_back<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>\n                        (&section_contents,local_1a8);\n              if ((__node_base *)section_cksum._M_h._M_buckets !=\n                  &section_cksum._M_h._M_before_begin) {\n                operator_delete(section_cksum._M_h._M_buckets);\n              }\n              uVar4 = uVar4 + 1;\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)section_name._M_dataplus._M_p != &section_name.field_2) goto LAB_00180c31;\n            }\n            else {\n              lVar38 = 0xf;\n              pbVar30 = (byte *)".gnu.linkonce.t";\n              _Var50 = section_name._M_dataplus;\n              do {\n                if (lVar38 == 0) break;\n                lVar38 = lVar38 + -1;\n                bVar57 = *pbVar30 < (byte)*_Var50._M_p;\n                bVar60 = *pbVar30 == *_Var50._M_p;\n                pbVar30 = pbVar30 + (ulong)bVar61 * -2 + 1;\n                _Var50._M_p = (pointer)((byte *)_Var50._M_p + (ulong)bVar61 * -2 + 1);\n              } while (bVar60);\n              if ((!bVar57 && !bVar60) == bVar57) goto LAB_00180a28;\nLAB_00180c96:\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)section_name._M_dataplus._M_p != &section_name.field_2) {\nLAB_00180c31:\n                operator_delete(section_name._M_dataplus._M_p);\n              }\n            }\n            pRVar48 = *ppRVar55;\n            uVar44 = uVar44 + 1;\n            uVar45 = (ulong)uVar44;\n            uVar22 = (pRVar48->super_Object).shnum_;\n            uVar56 = uVar44 < uVar22;\n            uVar59 = uVar44 == uVar22;\n          } while ((bool)uVar56);\n        }" if (parenthesized_expression "(((*ppRVar55)->super_Object).shnum_ != 0)" ( (binary_expression "((*ppRVar55)->super_Object).shnum_ != 0" (field_expression "((*ppRVar55)->super_Object).shnum_" (parenthesized_expression "((*ppRVar55)->super_Object)" ( (field_expression "(*ppRVar55)->super_Object" (parenthesized_expression "(*ppRVar55)" ( (pointer_expression "*ppRVar55" * identifier) )) -> field_identifier) )) . field_identifier) != number_literal) )) (compound_statement "{\nLAB_00180a17:\n          uVar56 = false;\n          uVar45 = 0;\n          uVar59 = true;\n          do {\n            uVar44 = (uint)uVar45;\n                    /* try { // try from 00180c4d to 00180c52 has its CatchHandler @ 00181f1d */\n            (*(pRVar48->super_Object)._vptr_Object[0x10])(&section_name,pRVar48,uVar45);\n            lVar38 = 5;\n            pbVar30 = (byte *)".text";\n            _Var50 = section_name._M_dataplus;\n            do {\n              if (lVar38 == 0) break;\n              lVar38 = lVar38 + -1;\n              uVar56 = *pbVar30 < (byte)*_Var50._M_p;\n              uVar59 = *pbVar30 == *_Var50._M_p;\n              pbVar30 = pbVar30 + (ulong)bVar61 * -2 + 1;\n              _Var50._M_p = (pointer)((byte *)_Var50._M_p + (ulong)bVar61 * -2 + 1);\n            } while ((bool)uVar59);\n            bVar57 = false;\n            bVar60 = (!(bool)uVar56 && !(bool)uVar59) == (bool)uVar56;\n            if (bVar60) {\nLAB_00180a28:\n              pRVar48 = *ppRVar55;\n              ppOVar8 = (pRVar48->output_sections_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_start;\n              if ((ulong)((long)(pRVar48->output_sections_).\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_finish - (long)ppOVar8 >> 3) <= uVar45) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181e47 to 00181e63 has its CatchHandler @ 00181f61 */\n                do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (ppOVar8[uVar45] == (Output_section *)0x0) goto LAB_00180c96;\n              pGVar25 = parameters->options_;\n              if (pGVar25 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((pGVar25->gc_sections_).value != false) {\n                section_cksum._M_h._M_bucket_count =\n                     CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n                section_cksum._M_h._M_buckets = (__bucket_type *)pRVar48;\n                iVar31 = std::\n                         _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                         ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                 *)&symtab->gc_->referenced_list_,(key_type *)&section_cksum);\n                if (iVar31.super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>.\n                    _M_cur == (__node_type *)0x0) goto LAB_00180c96;\n                pGVar25 = parameters->options_;\n                if (pGVar25 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00180e61 to 001811fa has its CatchHandler @ 00181f61 */\n                  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (pGVar25->icf_status_ == ICF_SAFE) {\n                pbVar30 = (byte *)strrchr(section_name._M_dataplus._M_p,0x2e);\n                bVar57 = false;\n                bVar60 = pbVar30 == (byte *)0x0;\n                if (bVar60) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181ef3 to 00181ef7 has its CatchHandler @ 00181f61 */\n                  do_gold_unreachable("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar38 = 4;\n                pbVar49 = &DAT_00373305;\n                pbVar52 = pbVar30;\n                do {\n                  if (lVar38 == 0) break;\n                  lVar38 = lVar38 + -1;\n                  bVar57 = *pbVar49 < *pbVar52;\n                  bVar60 = *pbVar49 == *pbVar52;\n                  pbVar49 = pbVar49 + (ulong)bVar61 * -2 + 1;\n                  pbVar52 = pbVar52 + (ulong)bVar61 * -2 + 1;\n                } while (bVar60);\n                bVar58 = false;\n                bVar57 = (!bVar57 && !bVar60) == bVar57;\n                if (bVar57) {\nLAB_00180f58:\n                  gVar20 = is_gnu_v3_mangled_ctor((char *)(pbVar30 + 1));\n                  if ((gVar20 != 0) ||\n                     (gVar21 = is_gnu_v3_mangled_dtor((char *)(pbVar30 + 1)), gVar21 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar38 = 4;\n                  pbVar49 = &DAT_0037330a;\n                  pbVar52 = pbVar30;\n                  do {\n                    if (lVar38 == 0) break;\n                    lVar38 = lVar38 + -1;\n                    bVar58 = *pbVar49 < *pbVar52;\n                    bVar57 = *pbVar49 == *pbVar52;\n                    pbVar49 = pbVar49 + (ulong)bVar61 * -2 + 1;\n                    pbVar52 = pbVar52 + (ulong)bVar61 * -2 + 1;\n                  } while (bVar57);\n                  if ((!bVar58 && !bVar57) == bVar58) goto LAB_00180f58;\n                }\n                if ((*(code **)(*(long *)pTVar5 + 0x90) !=\n                     Target::do_can_check_for_function_pointers) &&\n                   (cVar19 = (**(code **)(*(long *)pTVar5 + 0x90))(pTVar5), cVar19 != '\0')) {\n                  section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;\n                  section_cksum._M_h._M_bucket_count =\n                       CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n                  iVar31 = std::\n                           _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                           ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                   *)&this->fptr_section_id_,(key_type *)&section_cksum);\n                  if (iVar31.super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>\n                      ._M_cur == (__node_type *)0x0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                          &section_cksum;\n              section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;\n              __position._M_current =\n                   (this->id_section_).\n                   super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                   ._M_impl._M_finish;\n              section_cksum._M_h._M_bucket_count =\n                   CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n              if (__position._M_current ==\n                  (this->id_section_).\n                  super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                  ._M_impl._M_end_of_storage) {\n                std::\n                vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ::_M_realloc_insert<std::pair<gold::Relobj*,_unsigned_int>_>\n                          (&this->id_section_,__position,\n                           (pair<gold::Relobj*,_unsigned_int> *)local_1a8);\n              }\n              else {\n                (__position._M_current)->first = (Relobj *)section_cksum._M_h._M_buckets;\n                (__position._M_current)->second = uVar44;\n                (this->id_section_).\n                super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ._M_impl._M_finish = __position._M_current + 1;\n              }\n              section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;\n              section_cksum._M_h._M_bucket_count =\n                   CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n              p_Var26 = (_Hash_node_base *)((ulong)section_cksum._M_h._M_buckets ^ uVar45);\n              local_1a0 = (ulong)p_Var26 % (this->section_id_)._M_h._M_bucket_count;\n              p_Var27 = std::\n                        _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                        ::_M_find_before_node\n                                  ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                                    *)&this->section_id_,local_1a0,(key_type *)local_1a8,\n                                   (__hash_code)p_Var26);\n              if ((p_Var27 == (__node_base *)0x0) ||\n                 (p_Var28 = p_Var27->_M_nxt, p_Var28 == (_Hash_node_base *)0x0)) {\n                    /* try { // try from 00180cad to 00180cec has its CatchHandler @ 00181f61 */\n                p_Var28 = (_Hash_node_base *)operator_new(0x28);\n                uVar41 = (this->section_id_)._M_h._M_element_count;\n                p_Var28->_M_nxt = (_Hash_node_base *)0x0;\n                uVar42 = (this->section_id_)._M_h._M_bucket_count;\n                *(undefined4 *)&p_Var28[3]._M_nxt = 0;\n                p_Var28[1]._M_nxt = (_Hash_node_base *)section_cksum._M_h._M_buckets;\n                p_Var28[2]._M_nxt = (_Hash_node_base *)section_cksum._M_h._M_bucket_count;\n                cVar19 = std::__detail::_Prime_rehash_policy::_M_need_rehash\n                                   (&(this->section_id_)._M_h._M_rehash_policy,uVar42,uVar41,1);\n                if (cVar19 == '\0') {\n                  pp_Var29 = (this->section_id_)._M_h._M_buckets;\n                }\n                else {\n                  if (this_00 ==\n                      (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n                       *)0x1) {\n                    pp_Var29 = &(this->section_id_)._M_h._M_single_bucket;\n                    (this->section_id_)._M_h._M_single_bucket = (__bucket_type)0x0;\n                  }\n                  else {\n                    /* try { // try from 00180d0d to 00180d11 has its CatchHandler @ 00181f10 */\n                    pp_Var29 = std::__detail::\n                               _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n                               ::_M_allocate_buckets(this_00,uVar42);\n                  }\n                  p_Var39 = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                  (this->section_id_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n                  if (p_Var39 != (_Hash_node_base *)0x0) {\n                    uVar41 = 0;\n                    do {\n                      while( true ) {\n                        p_Var9 = p_Var39->_M_nxt;\n                        uVar42 = (ulong)p_Var39[4]._M_nxt % (ulong)this_00;\n                        pp_Var10 = pp_Var29 + uVar42;\n                        if (*pp_Var10 == (__bucket_type)0x0) break;\n                        p_Var39->_M_nxt = (*pp_Var10)->_M_nxt;\n                        (*pp_Var10)->_M_nxt = p_Var39;\n                        uVar42 = uVar41;\nLAB_00180d64:\n                        p_Var39 = p_Var9;\n                        uVar41 = uVar42;\n                        if (p_Var9 == (_Hash_node_base *)0x0) goto LAB_00180dc0;\n                      }\n                      p_Var39->_M_nxt = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                      (this->section_id_)._M_h._M_before_begin._M_nxt = p_Var39;\n                      *pp_Var10 = &(this->section_id_)._M_h._M_before_begin;\n                      if (p_Var39->_M_nxt == (_Hash_node_base *)0x0) goto LAB_00180d64;\n                      pp_Var29[uVar41] = p_Var39;\n                      p_Var39 = p_Var9;\n                      uVar41 = uVar42;\n                    } while (p_Var9 != (_Hash_node_base *)0x0);\n                  }\nLAB_00180dc0:\n                  pp_Var10 = (this->section_id_)._M_h._M_buckets;\n                  if (pp_Var10 != &(this->section_id_)._M_h._M_single_bucket) {\n                    operator_delete(pp_Var10);\n                  }\n                  (this->section_id_)._M_h._M_buckets = pp_Var29;\n                  local_1a0 = (ulong)p_Var26 % (ulong)this_00;\n                  (this->section_id_)._M_h._M_bucket_count = (size_type)this_00;\n                }\n                p_Var28[4]._M_nxt = p_Var26;\n                pp_Var10 = pp_Var29 + local_1a0;\n                if (*pp_Var10 == (__bucket_type)0x0) {\n                  p_Var26 = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                  (this->section_id_)._M_h._M_before_begin._M_nxt = p_Var28;\n                  p_Var28->_M_nxt = p_Var26;\n                  if (p_Var26 != (_Hash_node_base *)0x0) {\n                    pp_Var29[(ulong)p_Var26[4]._M_nxt % (this->section_id_)._M_h._M_bucket_count] =\n                         p_Var28;\n                  }\n                  *pp_Var10 = &(this->section_id_)._M_h._M_before_begin;\n                }\n                else {\n                  p_Var28->_M_nxt = (*pp_Var10)->_M_nxt;\n                  (*pp_Var10)->_M_nxt = p_Var28;\n                }\n                psVar1 = &(this->section_id_)._M_h._M_element_count;\n                *psVar1 = *psVar1 + 1;\n              }\n              puVar11 = (this->kept_section_id_).\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_finish;\n              *(uint *)&p_Var28[3]._M_nxt = uVar4;\n              if (puVar11 ==\n                  (this->kept_section_id_).\n                  super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                  _M_end_of_storage) {\n                __src = (this->kept_section_id_).\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start;\n                sVar32 = (long)puVar11 - (long)__src;\n                uVar41 = (long)sVar32 >> 2;\n                if (uVar41 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (pointer)operator_new(local_1d0);\n                  local_1e8 = (pointer)(local_1d0 + (long)__dest);\n                }\n                else {\n                  uVar42 = uVar41 * 2;\n                  if (uVar42 < uVar41) {\n                    local_1d0 = 0xfffffffffffffffc;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = 0xfffffffffffffffc;\n                  if (0x3fffffffffffffff < uVar42) goto LAB_00181065;\n                  if (uVar42 != 0) {\n                    local_1d0 = uVar41 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = (pointer)0x0;\n                  __dest = (pointer)0x0;\n                }\n                *(uint *)((long)__dest + sVar32) = uVar4;\n                puVar3 = (pointer)((long)__dest + sVar32 + 4);\n                if (puVar11 == __src) {\n                  if (__src != (pointer)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = (pointer)memmove(__dest,__src,sVar32);\nLAB_001810bd:\n                  operator_delete(__src);\n                }\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start =\n                     __dest;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n                     puVar3;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                _M_end_of_storage = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *puVar11 = uVar4;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n                     puVar11 + 1;\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar32 = (long)local_1b0 - (long)local_1d8;\n                uVar41 = (long)sVar32 >> 2;\n                if (uVar41 == 0) {\n                  uVar42 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)operator_new(uVar42);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + uVar42);\n                }\n                else {\n                  uVar34 = uVar41 * 2;\n                  if (uVar34 < uVar41) {\n                    uVar42 = 0xfffffffffffffffc;\n                    goto LAB_0018114e;\n                  }\n                  uVar42 = 0xfffffffffffffffc;\n                  if (0x3fffffffffffffff < uVar34) goto LAB_0018114e;\n                  if (uVar34 != 0) {\n                    uVar42 = uVar41 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar32) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar32 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar32);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar32 + 4);\nLAB_001811a1:\n                  operator_delete(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    /* try { // try from 00180b6b to 00180bee has its CatchHandler @ 00181f61 */\n              iVar24 = (*((*ppRVar55)->super_Object)._vptr_Object[0x17])(*ppRVar55,uVar45);\n              section_cksum._M_h._M_buckets = (__bucket_type *)CONCAT44(extraout_var,iVar24);\n              if (section_addraligns.\n                  super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                  _M_finish ==\n                  section_addraligns.\n                  super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                  _M_end_of_storage) {\n                std::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>::\n                _M_realloc_insert<long_unsigned_int>\n                          (&section_addraligns,\n                           (iterator)\n                           section_addraligns.\n                           super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n                           ._M_impl._M_finish,(ulong *)local_1a8);\n              }\n              else {\n                *section_addraligns.\n                 super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                 _M_finish = (ulong)section_cksum._M_h._M_buckets;\n                section_addraligns.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_finish = section_addraligns.\n                            super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n                            ._M_impl._M_finish + 1;\n              }\n              uVar22 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset;\n              p_Var18 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                        super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p;\n              if (is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p ==\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_end_of_storage) {\n                local_180 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>.\n                            _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base.\n                            _M_offset;\n                __position_00.super__Bit_iterator_base._12_4_ = uStack_17c;\n                __position_00.super__Bit_iterator_base._M_offset =\n                     is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                     super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset;\n                local_188 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>.\n                            _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p\n                ;\n                __position_00.super__Bit_iterator_base._M_p =\n                     is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                     super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p;\n                std::vector<bool,_std::allocator<bool>_>::_M_insert_aux\n                          (&is_secn_or_group_unique,__position_00,false);\n              }\n              else {\n                if (is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                    super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset == 0x3f) {\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset = 0;\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p + 1;\n                }\n                else {\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset + 1;\n                }\n                bVar13 = (byte)uVar22 & 0x3f;\n                *p_Var18 = *p_Var18 & (-2L << bVar13 | 0xfffffffffffffffeU >> 0x40 - bVar13);\n              }\n              section_cksum._M_h._M_buckets = &section_cksum._M_h._M_before_begin._M_nxt;\n              std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n              _M_construct<char_const*>(local_1a8,"");\n                    /* try { // try from 00180c00 to 00180c04 has its CatchHandler @ 00181f59 */\n              std::\n              vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              ::\n              emplace_back<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>\n                        (&section_contents,local_1a8);\n              if ((__node_base *)section_cksum._M_h._M_buckets !=\n                  &section_cksum._M_h._M_before_begin) {\n                operator_delete(section_cksum._M_h._M_buckets);\n              }\n              uVar4 = uVar4 + 1;\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)section_name._M_dataplus._M_p != &section_name.field_2) goto LAB_00180c31;\n            }\n            else {\n              lVar38 = 0xf;\n              pbVar30 = (byte *)".gnu.linkonce.t";\n              _Var50 = section_name._M_dataplus;\n              do {\n                if (lVar38 == 0) break;\n                lVar38 = lVar38 + -1;\n                bVar57 = *pbVar30 < (byte)*_Var50._M_p;\n                bVar60 = *pbVar30 == *_Var50._M_p;\n                pbVar30 = pbVar30 + (ulong)bVar61 * -2 + 1;\n                _Var50._M_p = (pointer)((byte *)_Var50._M_p + (ulong)bVar61 * -2 + 1);\n              } while (bVar60);\n              if ((!bVar57 && !bVar60) == bVar57) goto LAB_00180a28;\nLAB_00180c96:\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)section_name._M_dataplus._M_p != &section_name.field_2) {\nLAB_00180c31:\n                operator_delete(section_name._M_dataplus._M_p);\n              }\n            }\n            pRVar48 = *ppRVar55;\n            uVar44 = uVar44 + 1;\n            uVar45 = (ulong)uVar44;\n            uVar22 = (pRVar48->super_Object).shnum_;\n            uVar56 = uVar44 < uVar22;\n            uVar59 = uVar44 == uVar22;\n          } while ((bool)uVar56);\n        }" { (labeled_statement "LAB_00180a17:\n          uVar56 = false;" statement_identifier : (expression_statement "uVar56 = false;" (assignment_expression "uVar56 = false" identifier = false) ;)) (expression_statement "uVar45 = 0;" (assignment_expression "uVar45 = 0" identifier = number_literal) ;) (expression_statement "uVar59 = true;" (assignment_expression "uVar59 = true" identifier = true) ;) (do_statement "do {\n            uVar44 = (uint)uVar45;\n                    /* try { // try from 00180c4d to 00180c52 has its CatchHandler @ 00181f1d */\n            (*(pRVar48->super_Object)._vptr_Object[0x10])(&section_name,pRVar48,uVar45);\n            lVar38 = 5;\n            pbVar30 = (byte *)".text";\n            _Var50 = section_name._M_dataplus;\n            do {\n              if (lVar38 == 0) break;\n              lVar38 = lVar38 + -1;\n              uVar56 = *pbVar30 < (byte)*_Var50._M_p;\n              uVar59 = *pbVar30 == *_Var50._M_p;\n              pbVar30 = pbVar30 + (ulong)bVar61 * -2 + 1;\n              _Var50._M_p = (pointer)((byte *)_Var50._M_p + (ulong)bVar61 * -2 + 1);\n            } while ((bool)uVar59);\n            bVar57 = false;\n            bVar60 = (!(bool)uVar56 && !(bool)uVar59) == (bool)uVar56;\n            if (bVar60) {\nLAB_00180a28:\n              pRVar48 = *ppRVar55;\n              ppOVar8 = (pRVar48->output_sections_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_start;\n              if ((ulong)((long)(pRVar48->output_sections_).\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_finish - (long)ppOVar8 >> 3) <= uVar45) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181e47 to 00181e63 has its CatchHandler @ 00181f61 */\n                do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (ppOVar8[uVar45] == (Output_section *)0x0) goto LAB_00180c96;\n              pGVar25 = parameters->options_;\n              if (pGVar25 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((pGVar25->gc_sections_).value != false) {\n                section_cksum._M_h._M_bucket_count =\n                     CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n                section_cksum._M_h._M_buckets = (__bucket_type *)pRVar48;\n                iVar31 = std::\n                         _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                         ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                 *)&symtab->gc_->referenced_list_,(key_type *)&section_cksum);\n                if (iVar31.super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>.\n                    _M_cur == (__node_type *)0x0) goto LAB_00180c96;\n                pGVar25 = parameters->options_;\n                if (pGVar25 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00180e61 to 001811fa has its CatchHandler @ 00181f61 */\n                  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (pGVar25->icf_status_ == ICF_SAFE) {\n                pbVar30 = (byte *)strrchr(section_name._M_dataplus._M_p,0x2e);\n                bVar57 = false;\n                bVar60 = pbVar30 == (byte *)0x0;\n                if (bVar60) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181ef3 to 00181ef7 has its CatchHandler @ 00181f61 */\n                  do_gold_unreachable("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar38 = 4;\n                pbVar49 = &DAT_00373305;\n                pbVar52 = pbVar30;\n                do {\n                  if (lVar38 == 0) break;\n                  lVar38 = lVar38 + -1;\n                  bVar57 = *pbVar49 < *pbVar52;\n                  bVar60 = *pbVar49 == *pbVar52;\n                  pbVar49 = pbVar49 + (ulong)bVar61 * -2 + 1;\n                  pbVar52 = pbVar52 + (ulong)bVar61 * -2 + 1;\n                } while (bVar60);\n                bVar58 = false;\n                bVar57 = (!bVar57 && !bVar60) == bVar57;\n                if (bVar57) {\nLAB_00180f58:\n                  gVar20 = is_gnu_v3_mangled_ctor((char *)(pbVar30 + 1));\n                  if ((gVar20 != 0) ||\n                     (gVar21 = is_gnu_v3_mangled_dtor((char *)(pbVar30 + 1)), gVar21 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar38 = 4;\n                  pbVar49 = &DAT_0037330a;\n                  pbVar52 = pbVar30;\n                  do {\n                    if (lVar38 == 0) break;\n                    lVar38 = lVar38 + -1;\n                    bVar58 = *pbVar49 < *pbVar52;\n                    bVar57 = *pbVar49 == *pbVar52;\n                    pbVar49 = pbVar49 + (ulong)bVar61 * -2 + 1;\n                    pbVar52 = pbVar52 + (ulong)bVar61 * -2 + 1;\n                  } while (bVar57);\n                  if ((!bVar58 && !bVar57) == bVar58) goto LAB_00180f58;\n                }\n                if ((*(code **)(*(long *)pTVar5 + 0x90) !=\n                     Target::do_can_check_for_function_pointers) &&\n                   (cVar19 = (**(code **)(*(long *)pTVar5 + 0x90))(pTVar5), cVar19 != '\0')) {\n                  section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;\n                  section_cksum._M_h._M_bucket_count =\n                       CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n                  iVar31 = std::\n                           _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                           ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                   *)&this->fptr_section_id_,(key_type *)&section_cksum);\n                  if (iVar31.super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>\n                      ._M_cur == (__node_type *)0x0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                          &section_cksum;\n              section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;\n              __position._M_current =\n                   (this->id_section_).\n                   super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                   ._M_impl._M_finish;\n              section_cksum._M_h._M_bucket_count =\n                   CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n              if (__position._M_current ==\n                  (this->id_section_).\n                  super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                  ._M_impl._M_end_of_storage) {\n                std::\n                vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ::_M_realloc_insert<std::pair<gold::Relobj*,_unsigned_int>_>\n                          (&this->id_section_,__position,\n                           (pair<gold::Relobj*,_unsigned_int> *)local_1a8);\n              }\n              else {\n                (__position._M_current)->first = (Relobj *)section_cksum._M_h._M_buckets;\n                (__position._M_current)->second = uVar44;\n                (this->id_section_).\n                super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ._M_impl._M_finish = __position._M_current + 1;\n              }\n              section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;\n              section_cksum._M_h._M_bucket_count =\n                   CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n              p_Var26 = (_Hash_node_base *)((ulong)section_cksum._M_h._M_buckets ^ uVar45);\n              local_1a0 = (ulong)p_Var26 % (this->section_id_)._M_h._M_bucket_count;\n              p_Var27 = std::\n                        _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                        ::_M_find_before_node\n                                  ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                                    *)&this->section_id_,local_1a0,(key_type *)local_1a8,\n                                   (__hash_code)p_Var26);\n              if ((p_Var27 == (__node_base *)0x0) ||\n                 (p_Var28 = p_Var27->_M_nxt, p_Var28 == (_Hash_node_base *)0x0)) {\n                    /* try { // try from 00180cad to 00180cec has its CatchHandler @ 00181f61 */\n                p_Var28 = (_Hash_node_base *)operator_new(0x28);\n                uVar41 = (this->section_id_)._M_h._M_element_count;\n                p_Var28->_M_nxt = (_Hash_node_base *)0x0;\n                uVar42 = (this->section_id_)._M_h._M_bucket_count;\n                *(undefined4 *)&p_Var28[3]._M_nxt = 0;\n                p_Var28[1]._M_nxt = (_Hash_node_base *)section_cksum._M_h._M_buckets;\n                p_Var28[2]._M_nxt = (_Hash_node_base *)section_cksum._M_h._M_bucket_count;\n                cVar19 = std::__detail::_Prime_rehash_policy::_M_need_rehash\n                                   (&(this->section_id_)._M_h._M_rehash_policy,uVar42,uVar41,1);\n                if (cVar19 == '\0') {\n                  pp_Var29 = (this->section_id_)._M_h._M_buckets;\n                }\n                else {\n                  if (this_00 ==\n                      (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n                       *)0x1) {\n                    pp_Var29 = &(this->section_id_)._M_h._M_single_bucket;\n                    (this->section_id_)._M_h._M_single_bucket = (__bucket_type)0x0;\n                  }\n                  else {\n                    /* try { // try from 00180d0d to 00180d11 has its CatchHandler @ 00181f10 */\n                    pp_Var29 = std::__detail::\n                               _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n                               ::_M_allocate_buckets(this_00,uVar42);\n                  }\n                  p_Var39 = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                  (this->section_id_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n                  if (p_Var39 != (_Hash_node_base *)0x0) {\n                    uVar41 = 0;\n                    do {\n                      while( true ) {\n                        p_Var9 = p_Var39->_M_nxt;\n                        uVar42 = (ulong)p_Var39[4]._M_nxt % (ulong)this_00;\n                        pp_Var10 = pp_Var29 + uVar42;\n                        if (*pp_Var10 == (__bucket_type)0x0) break;\n                        p_Var39->_M_nxt = (*pp_Var10)->_M_nxt;\n                        (*pp_Var10)->_M_nxt = p_Var39;\n                        uVar42 = uVar41;\nLAB_00180d64:\n                        p_Var39 = p_Var9;\n                        uVar41 = uVar42;\n                        if (p_Var9 == (_Hash_node_base *)0x0) goto LAB_00180dc0;\n                      }\n                      p_Var39->_M_nxt = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                      (this->section_id_)._M_h._M_before_begin._M_nxt = p_Var39;\n                      *pp_Var10 = &(this->section_id_)._M_h._M_before_begin;\n                      if (p_Var39->_M_nxt == (_Hash_node_base *)0x0) goto LAB_00180d64;\n                      pp_Var29[uVar41] = p_Var39;\n                      p_Var39 = p_Var9;\n                      uVar41 = uVar42;\n                    } while (p_Var9 != (_Hash_node_base *)0x0);\n                  }\nLAB_00180dc0:\n                  pp_Var10 = (this->section_id_)._M_h._M_buckets;\n                  if (pp_Var10 != &(this->section_id_)._M_h._M_single_bucket) {\n                    operator_delete(pp_Var10);\n                  }\n                  (this->section_id_)._M_h._M_buckets = pp_Var29;\n                  local_1a0 = (ulong)p_Var26 % (ulong)this_00;\n                  (this->section_id_)._M_h._M_bucket_count = (size_type)this_00;\n                }\n                p_Var28[4]._M_nxt = p_Var26;\n                pp_Var10 = pp_Var29 + local_1a0;\n                if (*pp_Var10 == (__bucket_type)0x0) {\n                  p_Var26 = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                  (this->section_id_)._M_h._M_before_begin._M_nxt = p_Var28;\n                  p_Var28->_M_nxt = p_Var26;\n                  if (p_Var26 != (_Hash_node_base *)0x0) {\n                    pp_Var29[(ulong)p_Var26[4]._M_nxt % (this->section_id_)._M_h._M_bucket_count] =\n                         p_Var28;\n                  }\n                  *pp_Var10 = &(this->section_id_)._M_h._M_before_begin;\n                }\n                else {\n                  p_Var28->_M_nxt = (*pp_Var10)->_M_nxt;\n                  (*pp_Var10)->_M_nxt = p_Var28;\n                }\n                psVar1 = &(this->section_id_)._M_h._M_element_count;\n                *psVar1 = *psVar1 + 1;\n              }\n              puVar11 = (this->kept_section_id_).\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_finish;\n              *(uint *)&p_Var28[3]._M_nxt = uVar4;\n              if (puVar11 ==\n                  (this->kept_section_id_).\n                  super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                  _M_end_of_storage) {\n                __src = (this->kept_section_id_).\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start;\n                sVar32 = (long)puVar11 - (long)__src;\n                uVar41 = (long)sVar32 >> 2;\n                if (uVar41 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (pointer)operator_new(local_1d0);\n                  local_1e8 = (pointer)(local_1d0 + (long)__dest);\n                }\n                else {\n                  uVar42 = uVar41 * 2;\n                  if (uVar42 < uVar41) {\n                    local_1d0 = 0xfffffffffffffffc;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = 0xfffffffffffffffc;\n                  if (0x3fffffffffffffff < uVar42) goto LAB_00181065;\n                  if (uVar42 != 0) {\n                    local_1d0 = uVar41 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = (pointer)0x0;\n                  __dest = (pointer)0x0;\n                }\n                *(uint *)((long)__dest + sVar32) = uVar4;\n                puVar3 = (pointer)((long)__dest + sVar32 + 4);\n                if (puVar11 == __src) {\n                  if (__src != (pointer)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = (pointer)memmove(__dest,__src,sVar32);\nLAB_001810bd:\n                  operator_delete(__src);\n                }\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start =\n                     __dest;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n                     puVar3;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                _M_end_of_storage = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *puVar11 = uVar4;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n                     puVar11 + 1;\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar32 = (long)local_1b0 - (long)local_1d8;\n                uVar41 = (long)sVar32 >> 2;\n                if (uVar41 == 0) {\n                  uVar42 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)operator_new(uVar42);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + uVar42);\n                }\n                else {\n                  uVar34 = uVar41 * 2;\n                  if (uVar34 < uVar41) {\n                    uVar42 = 0xfffffffffffffffc;\n                    goto LAB_0018114e;\n                  }\n                  uVar42 = 0xfffffffffffffffc;\n                  if (0x3fffffffffffffff < uVar34) goto LAB_0018114e;\n                  if (uVar34 != 0) {\n                    uVar42 = uVar41 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar32) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar32 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar32);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar32 + 4);\nLAB_001811a1:\n                  operator_delete(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    /* try { // try from 00180b6b to 00180bee has its CatchHandler @ 00181f61 */\n              iVar24 = (*((*ppRVar55)->super_Object)._vptr_Object[0x17])(*ppRVar55,uVar45);\n              section_cksum._M_h._M_buckets = (__bucket_type *)CONCAT44(extraout_var,iVar24);\n              if (section_addraligns.\n                  super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                  _M_finish ==\n                  section_addraligns.\n                  super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                  _M_end_of_storage) {\n                std::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>::\n                _M_realloc_insert<long_unsigned_int>\n                          (&section_addraligns,\n                           (iterator)\n                           section_addraligns.\n                           super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n                           ._M_impl._M_finish,(ulong *)local_1a8);\n              }\n              else {\n                *section_addraligns.\n                 super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                 _M_finish = (ulong)section_cksum._M_h._M_buckets;\n                section_addraligns.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_finish = section_addraligns.\n                            super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n                            ._M_impl._M_finish + 1;\n              }\n              uVar22 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset;\n              p_Var18 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                        super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p;\n              if (is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p ==\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_end_of_storage) {\n                local_180 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>.\n                            _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base.\n                            _M_offset;\n                __position_00.super__Bit_iterator_base._12_4_ = uStack_17c;\n                __position_00.super__Bit_iterator_base._M_offset =\n                     is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                     super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset;\n                local_188 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>.\n                            _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p\n                ;\n                __position_00.super__Bit_iterator_base._M_p =\n                     is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                     super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p;\n                std::vector<bool,_std::allocator<bool>_>::_M_insert_aux\n                          (&is_secn_or_group_unique,__position_00,false);\n              }\n              else {\n                if (is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                    super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset == 0x3f) {\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset = 0;\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p + 1;\n                }\n                else {\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset + 1;\n                }\n                bVar13 = (byte)uVar22 & 0x3f;\n                *p_Var18 = *p_Var18 & (-2L << bVar13 | 0xfffffffffffffffeU >> 0x40 - bVar13);\n              }\n              section_cksum._M_h._M_buckets = &section_cksum._M_h._M_before_begin._M_nxt;\n              std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n              _M_construct<char_const*>(local_1a8,"");\n                    /* try { // try from 00180c00 to 00180c04 has its CatchHandler @ 00181f59 */\n              std::\n              vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              ::\n              emplace_back<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>\n                        (&section_contents,local_1a8);\n              if ((__node_base *)section_cksum._M_h._M_buckets !=\n                  &section_cksum._M_h._M_before_begin) {\n                operator_delete(section_cksum._M_h._M_buckets);\n              }\n              uVar4 = uVar4 + 1;\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)section_name._M_dataplus._M_p != &section_name.field_2) goto LAB_00180c31;\n            }\n            else {\n              lVar38 = 0xf;\n              pbVar30 = (byte *)".gnu.linkonce.t";\n              _Var50 = section_name._M_dataplus;\n              do {\n                if (lVar38 == 0) break;\n                lVar38 = lVar38 + -1;\n                bVar57 = *pbVar30 < (byte)*_Var50._M_p;\n                bVar60 = *pbVar30 == *_Var50._M_p;\n                pbVar30 = pbVar30 + (ulong)bVar61 * -2 + 1;\n                _Var50._M_p = (pointer)((byte *)_Var50._M_p + (ulong)bVar61 * -2 + 1);\n              } while (bVar60);\n              if ((!bVar57 && !bVar60) == bVar57) goto LAB_00180a28;\nLAB_00180c96:\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)section_name._M_dataplus._M_p != &section_name.field_2) {\nLAB_00180c31:\n                operator_delete(section_name._M_dataplus._M_p);\n              }\n            }\n            pRVar48 = *ppRVar55;\n            uVar44 = uVar44 + 1;\n            uVar45 = (ulong)uVar44;\n            uVar22 = (pRVar48->super_Object).shnum_;\n            uVar56 = uVar44 < uVar22;\n            uVar59 = uVar44 == uVar22;\n          } while ((bool)uVar56);" do (compound_statement "{\n            uVar44 = (uint)uVar45;\n                    /* try { // try from 00180c4d to 00180c52 has its CatchHandler @ 00181f1d */\n            (*(pRVar48->super_Object)._vptr_Object[0x10])(&section_name,pRVar48,uVar45);\n            lVar38 = 5;\n            pbVar30 = (byte *)".text";\n            _Var50 = section_name._M_dataplus;\n            do {\n              if (lVar38 == 0) break;\n              lVar38 = lVar38 + -1;\n              uVar56 = *pbVar30 < (byte)*_Var50._M_p;\n              uVar59 = *pbVar30 == *_Var50._M_p;\n              pbVar30 = pbVar30 + (ulong)bVar61 * -2 + 1;\n              _Var50._M_p = (pointer)((byte *)_Var50._M_p + (ulong)bVar61 * -2 + 1);\n            } while ((bool)uVar59);\n            bVar57 = false;\n            bVar60 = (!(bool)uVar56 && !(bool)uVar59) == (bool)uVar56;\n            if (bVar60) {\nLAB_00180a28:\n              pRVar48 = *ppRVar55;\n              ppOVar8 = (pRVar48->output_sections_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_start;\n              if ((ulong)((long)(pRVar48->output_sections_).\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_finish - (long)ppOVar8 >> 3) <= uVar45) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181e47 to 00181e63 has its CatchHandler @ 00181f61 */\n                do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (ppOVar8[uVar45] == (Output_section *)0x0) goto LAB_00180c96;\n              pGVar25 = parameters->options_;\n              if (pGVar25 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((pGVar25->gc_sections_).value != false) {\n                section_cksum._M_h._M_bucket_count =\n                     CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n                section_cksum._M_h._M_buckets = (__bucket_type *)pRVar48;\n                iVar31 = std::\n                         _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                         ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                 *)&symtab->gc_->referenced_list_,(key_type *)&section_cksum);\n                if (iVar31.super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>.\n                    _M_cur == (__node_type *)0x0) goto LAB_00180c96;\n                pGVar25 = parameters->options_;\n                if (pGVar25 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00180e61 to 001811fa has its CatchHandler @ 00181f61 */\n                  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (pGVar25->icf_status_ == ICF_SAFE) {\n                pbVar30 = (byte *)strrchr(section_name._M_dataplus._M_p,0x2e);\n                bVar57 = false;\n                bVar60 = pbVar30 == (byte *)0x0;\n                if (bVar60) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181ef3 to 00181ef7 has its CatchHandler @ 00181f61 */\n                  do_gold_unreachable("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar38 = 4;\n                pbVar49 = &DAT_00373305;\n                pbVar52 = pbVar30;\n                do {\n                  if (lVar38 == 0) break;\n                  lVar38 = lVar38 + -1;\n                  bVar57 = *pbVar49 < *pbVar52;\n                  bVar60 = *pbVar49 == *pbVar52;\n                  pbVar49 = pbVar49 + (ulong)bVar61 * -2 + 1;\n                  pbVar52 = pbVar52 + (ulong)bVar61 * -2 + 1;\n                } while (bVar60);\n                bVar58 = false;\n                bVar57 = (!bVar57 && !bVar60) == bVar57;\n                if (bVar57) {\nLAB_00180f58:\n                  gVar20 = is_gnu_v3_mangled_ctor((char *)(pbVar30 + 1));\n                  if ((gVar20 != 0) ||\n                     (gVar21 = is_gnu_v3_mangled_dtor((char *)(pbVar30 + 1)), gVar21 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar38 = 4;\n                  pbVar49 = &DAT_0037330a;\n                  pbVar52 = pbVar30;\n                  do {\n                    if (lVar38 == 0) break;\n                    lVar38 = lVar38 + -1;\n                    bVar58 = *pbVar49 < *pbVar52;\n                    bVar57 = *pbVar49 == *pbVar52;\n                    pbVar49 = pbVar49 + (ulong)bVar61 * -2 + 1;\n                    pbVar52 = pbVar52 + (ulong)bVar61 * -2 + 1;\n                  } while (bVar57);\n                  if ((!bVar58 && !bVar57) == bVar58) goto LAB_00180f58;\n                }\n                if ((*(code **)(*(long *)pTVar5 + 0x90) !=\n                     Target::do_can_check_for_function_pointers) &&\n                   (cVar19 = (**(code **)(*(long *)pTVar5 + 0x90))(pTVar5), cVar19 != '\0')) {\n                  section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;\n                  section_cksum._M_h._M_bucket_count =\n                       CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n                  iVar31 = std::\n                           _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                           ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                   *)&this->fptr_section_id_,(key_type *)&section_cksum);\n                  if (iVar31.super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>\n                      ._M_cur == (__node_type *)0x0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                          &section_cksum;\n              section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;\n              __position._M_current =\n                   (this->id_section_).\n                   super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                   ._M_impl._M_finish;\n              section_cksum._M_h._M_bucket_count =\n                   CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n              if (__position._M_current ==\n                  (this->id_section_).\n                  super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                  ._M_impl._M_end_of_storage) {\n                std::\n                vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ::_M_realloc_insert<std::pair<gold::Relobj*,_unsigned_int>_>\n                          (&this->id_section_,__position,\n                           (pair<gold::Relobj*,_unsigned_int> *)local_1a8);\n              }\n              else {\n                (__position._M_current)->first = (Relobj *)section_cksum._M_h._M_buckets;\n                (__position._M_current)->second = uVar44;\n                (this->id_section_).\n                super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ._M_impl._M_finish = __position._M_current + 1;\n              }\n              section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;\n              section_cksum._M_h._M_bucket_count =\n                   CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n              p_Var26 = (_Hash_node_base *)((ulong)section_cksum._M_h._M_buckets ^ uVar45);\n              local_1a0 = (ulong)p_Var26 % (this->section_id_)._M_h._M_bucket_count;\n              p_Var27 = std::\n                        _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                        ::_M_find_before_node\n                                  ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                                    *)&this->section_id_,local_1a0,(key_type *)local_1a8,\n                                   (__hash_code)p_Var26);\n              if ((p_Var27 == (__node_base *)0x0) ||\n                 (p_Var28 = p_Var27->_M_nxt, p_Var28 == (_Hash_node_base *)0x0)) {\n                    /* try { // try from 00180cad to 00180cec has its CatchHandler @ 00181f61 */\n                p_Var28 = (_Hash_node_base *)operator_new(0x28);\n                uVar41 = (this->section_id_)._M_h._M_element_count;\n                p_Var28->_M_nxt = (_Hash_node_base *)0x0;\n                uVar42 = (this->section_id_)._M_h._M_bucket_count;\n                *(undefined4 *)&p_Var28[3]._M_nxt = 0;\n                p_Var28[1]._M_nxt = (_Hash_node_base *)section_cksum._M_h._M_buckets;\n                p_Var28[2]._M_nxt = (_Hash_node_base *)section_cksum._M_h._M_bucket_count;\n                cVar19 = std::__detail::_Prime_rehash_policy::_M_need_rehash\n                                   (&(this->section_id_)._M_h._M_rehash_policy,uVar42,uVar41,1);\n                if (cVar19 == '\0') {\n                  pp_Var29 = (this->section_id_)._M_h._M_buckets;\n                }\n                else {\n                  if (this_00 ==\n                      (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n                       *)0x1) {\n                    pp_Var29 = &(this->section_id_)._M_h._M_single_bucket;\n                    (this->section_id_)._M_h._M_single_bucket = (__bucket_type)0x0;\n                  }\n                  else {\n                    /* try { // try from 00180d0d to 00180d11 has its CatchHandler @ 00181f10 */\n                    pp_Var29 = std::__detail::\n                               _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n                               ::_M_allocate_buckets(this_00,uVar42);\n                  }\n                  p_Var39 = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                  (this->section_id_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n                  if (p_Var39 != (_Hash_node_base *)0x0) {\n                    uVar41 = 0;\n                    do {\n                      while( true ) {\n                        p_Var9 = p_Var39->_M_nxt;\n                        uVar42 = (ulong)p_Var39[4]._M_nxt % (ulong)this_00;\n                        pp_Var10 = pp_Var29 + uVar42;\n                        if (*pp_Var10 == (__bucket_type)0x0) break;\n                        p_Var39->_M_nxt = (*pp_Var10)->_M_nxt;\n                        (*pp_Var10)->_M_nxt = p_Var39;\n                        uVar42 = uVar41;\nLAB_00180d64:\n                        p_Var39 = p_Var9;\n                        uVar41 = uVar42;\n                        if (p_Var9 == (_Hash_node_base *)0x0) goto LAB_00180dc0;\n                      }\n                      p_Var39->_M_nxt = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                      (this->section_id_)._M_h._M_before_begin._M_nxt = p_Var39;\n                      *pp_Var10 = &(this->section_id_)._M_h._M_before_begin;\n                      if (p_Var39->_M_nxt == (_Hash_node_base *)0x0) goto LAB_00180d64;\n                      pp_Var29[uVar41] = p_Var39;\n                      p_Var39 = p_Var9;\n                      uVar41 = uVar42;\n                    } while (p_Var9 != (_Hash_node_base *)0x0);\n                  }\nLAB_00180dc0:\n                  pp_Var10 = (this->section_id_)._M_h._M_buckets;\n                  if (pp_Var10 != &(this->section_id_)._M_h._M_single_bucket) {\n                    operator_delete(pp_Var10);\n                  }\n                  (this->section_id_)._M_h._M_buckets = pp_Var29;\n                  local_1a0 = (ulong)p_Var26 % (ulong)this_00;\n                  (this->section_id_)._M_h._M_bucket_count = (size_type)this_00;\n                }\n                p_Var28[4]._M_nxt = p_Var26;\n                pp_Var10 = pp_Var29 + local_1a0;\n                if (*pp_Var10 == (__bucket_type)0x0) {\n                  p_Var26 = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                  (this->section_id_)._M_h._M_before_begin._M_nxt = p_Var28;\n                  p_Var28->_M_nxt = p_Var26;\n                  if (p_Var26 != (_Hash_node_base *)0x0) {\n                    pp_Var29[(ulong)p_Var26[4]._M_nxt % (this->section_id_)._M_h._M_bucket_count] =\n                         p_Var28;\n                  }\n                  *pp_Var10 = &(this->section_id_)._M_h._M_before_begin;\n                }\n                else {\n                  p_Var28->_M_nxt = (*pp_Var10)->_M_nxt;\n                  (*pp_Var10)->_M_nxt = p_Var28;\n                }\n                psVar1 = &(this->section_id_)._M_h._M_element_count;\n                *psVar1 = *psVar1 + 1;\n              }\n              puVar11 = (this->kept_section_id_).\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_finish;\n              *(uint *)&p_Var28[3]._M_nxt = uVar4;\n              if (puVar11 ==\n                  (this->kept_section_id_).\n                  super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                  _M_end_of_storage) {\n                __src = (this->kept_section_id_).\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start;\n                sVar32 = (long)puVar11 - (long)__src;\n                uVar41 = (long)sVar32 >> 2;\n                if (uVar41 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (pointer)operator_new(local_1d0);\n                  local_1e8 = (pointer)(local_1d0 + (long)__dest);\n                }\n                else {\n                  uVar42 = uVar41 * 2;\n                  if (uVar42 < uVar41) {\n                    local_1d0 = 0xfffffffffffffffc;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = 0xfffffffffffffffc;\n                  if (0x3fffffffffffffff < uVar42) goto LAB_00181065;\n                  if (uVar42 != 0) {\n                    local_1d0 = uVar41 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = (pointer)0x0;\n                  __dest = (pointer)0x0;\n                }\n                *(uint *)((long)__dest + sVar32) = uVar4;\n                puVar3 = (pointer)((long)__dest + sVar32 + 4);\n                if (puVar11 == __src) {\n                  if (__src != (pointer)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = (pointer)memmove(__dest,__src,sVar32);\nLAB_001810bd:\n                  operator_delete(__src);\n                }\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start =\n                     __dest;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n                     puVar3;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                _M_end_of_storage = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *puVar11 = uVar4;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n                     puVar11 + 1;\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar32 = (long)local_1b0 - (long)local_1d8;\n                uVar41 = (long)sVar32 >> 2;\n                if (uVar41 == 0) {\n                  uVar42 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)operator_new(uVar42);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + uVar42);\n                }\n                else {\n                  uVar34 = uVar41 * 2;\n                  if (uVar34 < uVar41) {\n                    uVar42 = 0xfffffffffffffffc;\n                    goto LAB_0018114e;\n                  }\n                  uVar42 = 0xfffffffffffffffc;\n                  if (0x3fffffffffffffff < uVar34) goto LAB_0018114e;\n                  if (uVar34 != 0) {\n                    uVar42 = uVar41 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar32) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar32 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar32);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar32 + 4);\nLAB_001811a1:\n                  operator_delete(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    /* try { // try from 00180b6b to 00180bee has its CatchHandler @ 00181f61 */\n              iVar24 = (*((*ppRVar55)->super_Object)._vptr_Object[0x17])(*ppRVar55,uVar45);\n              section_cksum._M_h._M_buckets = (__bucket_type *)CONCAT44(extraout_var,iVar24);\n              if (section_addraligns.\n                  super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                  _M_finish ==\n                  section_addraligns.\n                  super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                  _M_end_of_storage) {\n                std::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>::\n                _M_realloc_insert<long_unsigned_int>\n                          (&section_addraligns,\n                           (iterator)\n                           section_addraligns.\n                           super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n                           ._M_impl._M_finish,(ulong *)local_1a8);\n              }\n              else {\n                *section_addraligns.\n                 super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                 _M_finish = (ulong)section_cksum._M_h._M_buckets;\n                section_addraligns.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_finish = section_addraligns.\n                            super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n                            ._M_impl._M_finish + 1;\n              }\n              uVar22 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset;\n              p_Var18 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                        super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p;\n              if (is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p ==\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_end_of_storage) {\n                local_180 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>.\n                            _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base.\n                            _M_offset;\n                __position_00.super__Bit_iterator_base._12_4_ = uStack_17c;\n                __position_00.super__Bit_iterator_base._M_offset =\n                     is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                     super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset;\n                local_188 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>.\n                            _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p\n                ;\n                __position_00.super__Bit_iterator_base._M_p =\n                     is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                     super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p;\n                std::vector<bool,_std::allocator<bool>_>::_M_insert_aux\n                          (&is_secn_or_group_unique,__position_00,false);\n              }\n              else {\n                if (is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                    super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset == 0x3f) {\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset = 0;\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p + 1;\n                }\n                else {\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset + 1;\n                }\n                bVar13 = (byte)uVar22 & 0x3f;\n                *p_Var18 = *p_Var18 & (-2L << bVar13 | 0xfffffffffffffffeU >> 0x40 - bVar13);\n              }\n              section_cksum._M_h._M_buckets = &section_cksum._M_h._M_before_begin._M_nxt;\n              std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n              _M_construct<char_const*>(local_1a8,"");\n                    /* try { // try from 00180c00 to 00180c04 has its CatchHandler @ 00181f59 */\n              std::\n              vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              ::\n              emplace_back<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>\n                        (&section_contents,local_1a8);\n              if ((__node_base *)section_cksum._M_h._M_buckets !=\n                  &section_cksum._M_h._M_before_begin) {\n                operator_delete(section_cksum._M_h._M_buckets);\n              }\n              uVar4 = uVar4 + 1;\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)section_name._M_dataplus._M_p != &section_name.field_2) goto LAB_00180c31;\n            }\n            else {\n              lVar38 = 0xf;\n              pbVar30 = (byte *)".gnu.linkonce.t";\n              _Var50 = section_name._M_dataplus;\n              do {\n                if (lVar38 == 0) break;\n                lVar38 = lVar38 + -1;\n                bVar57 = *pbVar30 < (byte)*_Var50._M_p;\n                bVar60 = *pbVar30 == *_Var50._M_p;\n                pbVar30 = pbVar30 + (ulong)bVar61 * -2 + 1;\n                _Var50._M_p = (pointer)((byte *)_Var50._M_p + (ulong)bVar61 * -2 + 1);\n              } while (bVar60);\n              if ((!bVar57 && !bVar60) == bVar57) goto LAB_00180a28;\nLAB_00180c96:\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)section_name._M_dataplus._M_p != &section_name.field_2) {\nLAB_00180c31:\n                operator_delete(section_name._M_dataplus._M_p);\n              }\n            }\n            pRVar48 = *ppRVar55;\n            uVar44 = uVar44 + 1;\n            uVar45 = (ulong)uVar44;\n            uVar22 = (pRVar48->super_Object).shnum_;\n            uVar56 = uVar44 < uVar22;\n            uVar59 = uVar44 == uVar22;\n          }" { (expression_statement "uVar44 = (uint)uVar45;" (assignment_expression "uVar44 = (uint)uVar45" identifier = (cast_expression "(uint)uVar45" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) comment (expression_statement "(*(pRVar48->super_Object)._vptr_Object[0x10])(&section_name,pRVar48,uVar45);" (call_expression "(*(pRVar48->super_Object)._vptr_Object[0x10])(&section_name,pRVar48,uVar45)" (parenthesized_expression "(*(pRVar48->super_Object)._vptr_Object[0x10])" ( (pointer_expression "*(pRVar48->super_Object)._vptr_Object[0x10]" * (subscript_expression "(pRVar48->super_Object)._vptr_Object[0x10]" (field_expression "(pRVar48->super_Object)._vptr_Object" (parenthesized_expression "(pRVar48->super_Object)" ( (field_expression "pRVar48->super_Object" identifier -> field_identifier) )) . field_identifier) [ number_literal ])) )) (argument_list "(&section_name,pRVar48,uVar45)" ( (pointer_expression "&section_name" & identifier) , identifier , identifier ))) ;) (expression_statement "lVar38 = 5;" (assignment_expression "lVar38 = 5" identifier = number_literal) ;) (expression_statement "pbVar30 = (byte *)".text";" (assignment_expression "pbVar30 = (byte *)".text"" identifier = (cast_expression "(byte *)".text"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".text"" " string_content "))) ;) (expression_statement "_Var50 = section_name._M_dataplus;" (assignment_expression "_Var50 = section_name._M_dataplus" identifier = (field_expression "section_name._M_dataplus" identifier . field_identifier)) ;) (do_statement "do {\n              if (lVar38 == 0) break;\n              lVar38 = lVar38 + -1;\n              uVar56 = *pbVar30 < (byte)*_Var50._M_p;\n              uVar59 = *pbVar30 == *_Var50._M_p;\n              pbVar30 = pbVar30 + (ulong)bVar61 * -2 + 1;\n              _Var50._M_p = (pointer)((byte *)_Var50._M_p + (ulong)bVar61 * -2 + 1);\n            } while ((bool)uVar59);" do (compound_statement "{\n              if (lVar38 == 0) break;\n              lVar38 = lVar38 + -1;\n              uVar56 = *pbVar30 < (byte)*_Var50._M_p;\n              uVar59 = *pbVar30 == *_Var50._M_p;\n              pbVar30 = pbVar30 + (ulong)bVar61 * -2 + 1;\n              _Var50._M_p = (pointer)((byte *)_Var50._M_p + (ulong)bVar61 * -2 + 1);\n            }" { (if_statement "if (lVar38 == 0) break;" if (parenthesized_expression "(lVar38 == 0)" ( (binary_expression "lVar38 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar38 = lVar38 + -1;" (assignment_expression "lVar38 = lVar38 + -1" identifier = (binary_expression "lVar38 + -1" identifier + number_literal)) ;) (expression_statement "uVar56 = *pbVar30 < (byte)*_Var50._M_p;" (assignment_expression "uVar56 = *pbVar30 < (byte)*_Var50._M_p" identifier = (binary_expression "*pbVar30 < (byte)*_Var50._M_p" (pointer_expression "*pbVar30" * identifier) < (binary_expression "(byte)*_Var50._M_p" (parenthesized_expression "(byte)" ( identifier )) * (field_expression "_Var50._M_p" identifier . field_identifier)))) ;) (expression_statement "uVar59 = *pbVar30 == *_Var50._M_p;" (assignment_expression "uVar59 = *pbVar30 == *_Var50._M_p" identifier = (binary_expression "*pbVar30 == *_Var50._M_p" (pointer_expression "*pbVar30" * identifier) == (pointer_expression "*_Var50._M_p" * (field_expression "_Var50._M_p" identifier . field_identifier)))) ;) (expression_statement "pbVar30 = pbVar30 + (ulong)bVar61 * -2 + 1;" (assignment_expression "pbVar30 = pbVar30 + (ulong)bVar61 * -2 + 1" identifier = (binary_expression "pbVar30 + (ulong)bVar61 * -2 + 1" (binary_expression "pbVar30 + (ulong)bVar61 * -2" identifier + (binary_expression "(ulong)bVar61 * -2" (cast_expression "(ulong)bVar61" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "_Var50._M_p = (pointer)((byte *)_Var50._M_p + (ulong)bVar61 * -2 + 1);" (assignment_expression "_Var50._M_p = (pointer)((byte *)_Var50._M_p + (ulong)bVar61 * -2 + 1)" (field_expression "_Var50._M_p" identifier . field_identifier) = (call_expression "(pointer)((byte *)_Var50._M_p + (ulong)bVar61 * -2 + 1)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((byte *)_Var50._M_p + (ulong)bVar61 * -2 + 1)" ( (binary_expression "(byte *)_Var50._M_p + (ulong)bVar61 * -2 + 1" (binary_expression "(byte *)_Var50._M_p + (ulong)bVar61 * -2" (cast_expression "(byte *)_Var50._M_p" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "_Var50._M_p" identifier . field_identifier)) + (binary_expression "(ulong)bVar61 * -2" (cast_expression "(ulong)bVar61" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) }) while (parenthesized_expression "((bool)uVar59)" ( (cast_expression "(bool)uVar59" ( (type_descriptor "bool" primitive_type) ) identifier) )) ;) (expression_statement "bVar57 = false;" (assignment_expression "bVar57 = false" identifier = false) ;) (expression_statement "bVar60 = (!(bool)uVar56 && !(bool)uVar59) == (bool)uVar56;" (assignment_expression "bVar60 = (!(bool)uVar56 && !(bool)uVar59) == (bool)uVar56" identifier = (binary_expression "(!(bool)uVar56 && !(bool)uVar59) == (bool)uVar56" (parenthesized_expression "(!(bool)uVar56 && !(bool)uVar59)" ( (binary_expression "!(bool)uVar56 && !(bool)uVar59" (unary_expression "!(bool)uVar56" ! (cast_expression "(bool)uVar56" ( (type_descriptor "bool" primitive_type) ) identifier)) && (unary_expression "!(bool)uVar59" ! (cast_expression "(bool)uVar59" ( (type_descriptor "bool" primitive_type) ) identifier))) )) == (cast_expression "(bool)uVar56" ( (type_descriptor "bool" primitive_type) ) identifier))) ;) (if_statement "if (bVar60) {\nLAB_00180a28:\n              pRVar48 = *ppRVar55;\n              ppOVar8 = (pRVar48->output_sections_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_start;\n              if ((ulong)((long)(pRVar48->output_sections_).\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_finish - (long)ppOVar8 >> 3) <= uVar45) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181e47 to 00181e63 has its CatchHandler @ 00181f61 */\n                do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (ppOVar8[uVar45] == (Output_section *)0x0) goto LAB_00180c96;\n              pGVar25 = parameters->options_;\n              if (pGVar25 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((pGVar25->gc_sections_).value != false) {\n                section_cksum._M_h._M_bucket_count =\n                     CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n                section_cksum._M_h._M_buckets = (__bucket_type *)pRVar48;\n                iVar31 = std::\n                         _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                         ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                 *)&symtab->gc_->referenced_list_,(key_type *)&section_cksum);\n                if (iVar31.super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>.\n                    _M_cur == (__node_type *)0x0) goto LAB_00180c96;\n                pGVar25 = parameters->options_;\n                if (pGVar25 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00180e61 to 001811fa has its CatchHandler @ 00181f61 */\n                  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (pGVar25->icf_status_ == ICF_SAFE) {\n                pbVar30 = (byte *)strrchr(section_name._M_dataplus._M_p,0x2e);\n                bVar57 = false;\n                bVar60 = pbVar30 == (byte *)0x0;\n                if (bVar60) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181ef3 to 00181ef7 has its CatchHandler @ 00181f61 */\n                  do_gold_unreachable("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar38 = 4;\n                pbVar49 = &DAT_00373305;\n                pbVar52 = pbVar30;\n                do {\n                  if (lVar38 == 0) break;\n                  lVar38 = lVar38 + -1;\n                  bVar57 = *pbVar49 < *pbVar52;\n                  bVar60 = *pbVar49 == *pbVar52;\n                  pbVar49 = pbVar49 + (ulong)bVar61 * -2 + 1;\n                  pbVar52 = pbVar52 + (ulong)bVar61 * -2 + 1;\n                } while (bVar60);\n                bVar58 = false;\n                bVar57 = (!bVar57 && !bVar60) == bVar57;\n                if (bVar57) {\nLAB_00180f58:\n                  gVar20 = is_gnu_v3_mangled_ctor((char *)(pbVar30 + 1));\n                  if ((gVar20 != 0) ||\n                     (gVar21 = is_gnu_v3_mangled_dtor((char *)(pbVar30 + 1)), gVar21 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar38 = 4;\n                  pbVar49 = &DAT_0037330a;\n                  pbVar52 = pbVar30;\n                  do {\n                    if (lVar38 == 0) break;\n                    lVar38 = lVar38 + -1;\n                    bVar58 = *pbVar49 < *pbVar52;\n                    bVar57 = *pbVar49 == *pbVar52;\n                    pbVar49 = pbVar49 + (ulong)bVar61 * -2 + 1;\n                    pbVar52 = pbVar52 + (ulong)bVar61 * -2 + 1;\n                  } while (bVar57);\n                  if ((!bVar58 && !bVar57) == bVar58) goto LAB_00180f58;\n                }\n                if ((*(code **)(*(long *)pTVar5 + 0x90) !=\n                     Target::do_can_check_for_function_pointers) &&\n                   (cVar19 = (**(code **)(*(long *)pTVar5 + 0x90))(pTVar5), cVar19 != '\0')) {\n                  section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;\n                  section_cksum._M_h._M_bucket_count =\n                       CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n                  iVar31 = std::\n                           _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                           ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                   *)&this->fptr_section_id_,(key_type *)&section_cksum);\n                  if (iVar31.super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>\n                      ._M_cur == (__node_type *)0x0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                          &section_cksum;\n              section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;\n              __position._M_current =\n                   (this->id_section_).\n                   super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                   ._M_impl._M_finish;\n              section_cksum._M_h._M_bucket_count =\n                   CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n              if (__position._M_current ==\n                  (this->id_section_).\n                  super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                  ._M_impl._M_end_of_storage) {\n                std::\n                vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ::_M_realloc_insert<std::pair<gold::Relobj*,_unsigned_int>_>\n                          (&this->id_section_,__position,\n                           (pair<gold::Relobj*,_unsigned_int> *)local_1a8);\n              }\n              else {\n                (__position._M_current)->first = (Relobj *)section_cksum._M_h._M_buckets;\n                (__position._M_current)->second = uVar44;\n                (this->id_section_).\n                super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ._M_impl._M_finish = __position._M_current + 1;\n              }\n              section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;\n              section_cksum._M_h._M_bucket_count =\n                   CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n              p_Var26 = (_Hash_node_base *)((ulong)section_cksum._M_h._M_buckets ^ uVar45);\n              local_1a0 = (ulong)p_Var26 % (this->section_id_)._M_h._M_bucket_count;\n              p_Var27 = std::\n                        _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                        ::_M_find_before_node\n                                  ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                                    *)&this->section_id_,local_1a0,(key_type *)local_1a8,\n                                   (__hash_code)p_Var26);\n              if ((p_Var27 == (__node_base *)0x0) ||\n                 (p_Var28 = p_Var27->_M_nxt, p_Var28 == (_Hash_node_base *)0x0)) {\n                    /* try { // try from 00180cad to 00180cec has its CatchHandler @ 00181f61 */\n                p_Var28 = (_Hash_node_base *)operator_new(0x28);\n                uVar41 = (this->section_id_)._M_h._M_element_count;\n                p_Var28->_M_nxt = (_Hash_node_base *)0x0;\n                uVar42 = (this->section_id_)._M_h._M_bucket_count;\n                *(undefined4 *)&p_Var28[3]._M_nxt = 0;\n                p_Var28[1]._M_nxt = (_Hash_node_base *)section_cksum._M_h._M_buckets;\n                p_Var28[2]._M_nxt = (_Hash_node_base *)section_cksum._M_h._M_bucket_count;\n                cVar19 = std::__detail::_Prime_rehash_policy::_M_need_rehash\n                                   (&(this->section_id_)._M_h._M_rehash_policy,uVar42,uVar41,1);\n                if (cVar19 == '\0') {\n                  pp_Var29 = (this->section_id_)._M_h._M_buckets;\n                }\n                else {\n                  if (this_00 ==\n                      (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n                       *)0x1) {\n                    pp_Var29 = &(this->section_id_)._M_h._M_single_bucket;\n                    (this->section_id_)._M_h._M_single_bucket = (__bucket_type)0x0;\n                  }\n                  else {\n                    /* try { // try from 00180d0d to 00180d11 has its CatchHandler @ 00181f10 */\n                    pp_Var29 = std::__detail::\n                               _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n                               ::_M_allocate_buckets(this_00,uVar42);\n                  }\n                  p_Var39 = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                  (this->section_id_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n                  if (p_Var39 != (_Hash_node_base *)0x0) {\n                    uVar41 = 0;\n                    do {\n                      while( true ) {\n                        p_Var9 = p_Var39->_M_nxt;\n                        uVar42 = (ulong)p_Var39[4]._M_nxt % (ulong)this_00;\n                        pp_Var10 = pp_Var29 + uVar42;\n                        if (*pp_Var10 == (__bucket_type)0x0) break;\n                        p_Var39->_M_nxt = (*pp_Var10)->_M_nxt;\n                        (*pp_Var10)->_M_nxt = p_Var39;\n                        uVar42 = uVar41;\nLAB_00180d64:\n                        p_Var39 = p_Var9;\n                        uVar41 = uVar42;\n                        if (p_Var9 == (_Hash_node_base *)0x0) goto LAB_00180dc0;\n                      }\n                      p_Var39->_M_nxt = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                      (this->section_id_)._M_h._M_before_begin._M_nxt = p_Var39;\n                      *pp_Var10 = &(this->section_id_)._M_h._M_before_begin;\n                      if (p_Var39->_M_nxt == (_Hash_node_base *)0x0) goto LAB_00180d64;\n                      pp_Var29[uVar41] = p_Var39;\n                      p_Var39 = p_Var9;\n                      uVar41 = uVar42;\n                    } while (p_Var9 != (_Hash_node_base *)0x0);\n                  }\nLAB_00180dc0:\n                  pp_Var10 = (this->section_id_)._M_h._M_buckets;\n                  if (pp_Var10 != &(this->section_id_)._M_h._M_single_bucket) {\n                    operator_delete(pp_Var10);\n                  }\n                  (this->section_id_)._M_h._M_buckets = pp_Var29;\n                  local_1a0 = (ulong)p_Var26 % (ulong)this_00;\n                  (this->section_id_)._M_h._M_bucket_count = (size_type)this_00;\n                }\n                p_Var28[4]._M_nxt = p_Var26;\n                pp_Var10 = pp_Var29 + local_1a0;\n                if (*pp_Var10 == (__bucket_type)0x0) {\n                  p_Var26 = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                  (this->section_id_)._M_h._M_before_begin._M_nxt = p_Var28;\n                  p_Var28->_M_nxt = p_Var26;\n                  if (p_Var26 != (_Hash_node_base *)0x0) {\n                    pp_Var29[(ulong)p_Var26[4]._M_nxt % (this->section_id_)._M_h._M_bucket_count] =\n                         p_Var28;\n                  }\n                  *pp_Var10 = &(this->section_id_)._M_h._M_before_begin;\n                }\n                else {\n                  p_Var28->_M_nxt = (*pp_Var10)->_M_nxt;\n                  (*pp_Var10)->_M_nxt = p_Var28;\n                }\n                psVar1 = &(this->section_id_)._M_h._M_element_count;\n                *psVar1 = *psVar1 + 1;\n              }\n              puVar11 = (this->kept_section_id_).\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_finish;\n              *(uint *)&p_Var28[3]._M_nxt = uVar4;\n              if (puVar11 ==\n                  (this->kept_section_id_).\n                  super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                  _M_end_of_storage) {\n                __src = (this->kept_section_id_).\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start;\n                sVar32 = (long)puVar11 - (long)__src;\n                uVar41 = (long)sVar32 >> 2;\n                if (uVar41 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (pointer)operator_new(local_1d0);\n                  local_1e8 = (pointer)(local_1d0 + (long)__dest);\n                }\n                else {\n                  uVar42 = uVar41 * 2;\n                  if (uVar42 < uVar41) {\n                    local_1d0 = 0xfffffffffffffffc;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = 0xfffffffffffffffc;\n                  if (0x3fffffffffffffff < uVar42) goto LAB_00181065;\n                  if (uVar42 != 0) {\n                    local_1d0 = uVar41 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = (pointer)0x0;\n                  __dest = (pointer)0x0;\n                }\n                *(uint *)((long)__dest + sVar32) = uVar4;\n                puVar3 = (pointer)((long)__dest + sVar32 + 4);\n                if (puVar11 == __src) {\n                  if (__src != (pointer)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = (pointer)memmove(__dest,__src,sVar32);\nLAB_001810bd:\n                  operator_delete(__src);\n                }\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start =\n                     __dest;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n                     puVar3;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                _M_end_of_storage = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *puVar11 = uVar4;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n                     puVar11 + 1;\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar32 = (long)local_1b0 - (long)local_1d8;\n                uVar41 = (long)sVar32 >> 2;\n                if (uVar41 == 0) {\n                  uVar42 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)operator_new(uVar42);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + uVar42);\n                }\n                else {\n                  uVar34 = uVar41 * 2;\n                  if (uVar34 < uVar41) {\n                    uVar42 = 0xfffffffffffffffc;\n                    goto LAB_0018114e;\n                  }\n                  uVar42 = 0xfffffffffffffffc;\n                  if (0x3fffffffffffffff < uVar34) goto LAB_0018114e;\n                  if (uVar34 != 0) {\n                    uVar42 = uVar41 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar32) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar32 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar32);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar32 + 4);\nLAB_001811a1:\n                  operator_delete(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    /* try { // try from 00180b6b to 00180bee has its CatchHandler @ 00181f61 */\n              iVar24 = (*((*ppRVar55)->super_Object)._vptr_Object[0x17])(*ppRVar55,uVar45);\n              section_cksum._M_h._M_buckets = (__bucket_type *)CONCAT44(extraout_var,iVar24);\n              if (section_addraligns.\n                  super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                  _M_finish ==\n                  section_addraligns.\n                  super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                  _M_end_of_storage) {\n                std::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>::\n                _M_realloc_insert<long_unsigned_int>\n                          (&section_addraligns,\n                           (iterator)\n                           section_addraligns.\n                           super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n                           ._M_impl._M_finish,(ulong *)local_1a8);\n              }\n              else {\n                *section_addraligns.\n                 super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                 _M_finish = (ulong)section_cksum._M_h._M_buckets;\n                section_addraligns.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_finish = section_addraligns.\n                            super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n                            ._M_impl._M_finish + 1;\n              }\n              uVar22 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset;\n              p_Var18 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                        super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p;\n              if (is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p ==\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_end_of_storage) {\n                local_180 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>.\n                            _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base.\n                            _M_offset;\n                __position_00.super__Bit_iterator_base._12_4_ = uStack_17c;\n                __position_00.super__Bit_iterator_base._M_offset =\n                     is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                     super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset;\n                local_188 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>.\n                            _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p\n                ;\n                __position_00.super__Bit_iterator_base._M_p =\n                     is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                     super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p;\n                std::vector<bool,_std::allocator<bool>_>::_M_insert_aux\n                          (&is_secn_or_group_unique,__position_00,false);\n              }\n              else {\n                if (is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                    super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset == 0x3f) {\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset = 0;\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p + 1;\n                }\n                else {\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset + 1;\n                }\n                bVar13 = (byte)uVar22 & 0x3f;\n                *p_Var18 = *p_Var18 & (-2L << bVar13 | 0xfffffffffffffffeU >> 0x40 - bVar13);\n              }\n              section_cksum._M_h._M_buckets = &section_cksum._M_h._M_before_begin._M_nxt;\n              std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n              _M_construct<char_const*>(local_1a8,"");\n                    /* try { // try from 00180c00 to 00180c04 has its CatchHandler @ 00181f59 */\n              std::\n              vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              ::\n              emplace_back<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>\n                        (&section_contents,local_1a8);\n              if ((__node_base *)section_cksum._M_h._M_buckets !=\n                  &section_cksum._M_h._M_before_begin) {\n                operator_delete(section_cksum._M_h._M_buckets);\n              }\n              uVar4 = uVar4 + 1;\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)section_name._M_dataplus._M_p != &section_name.field_2) goto LAB_00180c31;\n            }\n            else {\n              lVar38 = 0xf;\n              pbVar30 = (byte *)".gnu.linkonce.t";\n              _Var50 = section_name._M_dataplus;\n              do {\n                if (lVar38 == 0) break;\n                lVar38 = lVar38 + -1;\n                bVar57 = *pbVar30 < (byte)*_Var50._M_p;\n                bVar60 = *pbVar30 == *_Var50._M_p;\n                pbVar30 = pbVar30 + (ulong)bVar61 * -2 + 1;\n                _Var50._M_p = (pointer)((byte *)_Var50._M_p + (ulong)bVar61 * -2 + 1);\n              } while (bVar60);\n              if ((!bVar57 && !bVar60) == bVar57) goto LAB_00180a28;\nLAB_00180c96:\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)section_name._M_dataplus._M_p != &section_name.field_2) {\nLAB_00180c31:\n                operator_delete(section_name._M_dataplus._M_p);\n              }\n            }" if (parenthesized_expression "(bVar60)" ( identifier )) (compound_statement "{\nLAB_00180a28:\n              pRVar48 = *ppRVar55;\n              ppOVar8 = (pRVar48->output_sections_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_start;\n              if ((ulong)((long)(pRVar48->output_sections_).\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_finish - (long)ppOVar8 >> 3) <= uVar45) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181e47 to 00181e63 has its CatchHandler @ 00181f61 */\n                do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (ppOVar8[uVar45] == (Output_section *)0x0) goto LAB_00180c96;\n              pGVar25 = parameters->options_;\n              if (pGVar25 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((pGVar25->gc_sections_).value != false) {\n                section_cksum._M_h._M_bucket_count =\n                     CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n                section_cksum._M_h._M_buckets = (__bucket_type *)pRVar48;\n                iVar31 = std::\n                         _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                         ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                 *)&symtab->gc_->referenced_list_,(key_type *)&section_cksum);\n                if (iVar31.super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>.\n                    _M_cur == (__node_type *)0x0) goto LAB_00180c96;\n                pGVar25 = parameters->options_;\n                if (pGVar25 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00180e61 to 001811fa has its CatchHandler @ 00181f61 */\n                  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (pGVar25->icf_status_ == ICF_SAFE) {\n                pbVar30 = (byte *)strrchr(section_name._M_dataplus._M_p,0x2e);\n                bVar57 = false;\n                bVar60 = pbVar30 == (byte *)0x0;\n                if (bVar60) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181ef3 to 00181ef7 has its CatchHandler @ 00181f61 */\n                  do_gold_unreachable("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar38 = 4;\n                pbVar49 = &DAT_00373305;\n                pbVar52 = pbVar30;\n                do {\n                  if (lVar38 == 0) break;\n                  lVar38 = lVar38 + -1;\n                  bVar57 = *pbVar49 < *pbVar52;\n                  bVar60 = *pbVar49 == *pbVar52;\n                  pbVar49 = pbVar49 + (ulong)bVar61 * -2 + 1;\n                  pbVar52 = pbVar52 + (ulong)bVar61 * -2 + 1;\n                } while (bVar60);\n                bVar58 = false;\n                bVar57 = (!bVar57 && !bVar60) == bVar57;\n                if (bVar57) {\nLAB_00180f58:\n                  gVar20 = is_gnu_v3_mangled_ctor((char *)(pbVar30 + 1));\n                  if ((gVar20 != 0) ||\n                     (gVar21 = is_gnu_v3_mangled_dtor((char *)(pbVar30 + 1)), gVar21 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar38 = 4;\n                  pbVar49 = &DAT_0037330a;\n                  pbVar52 = pbVar30;\n                  do {\n                    if (lVar38 == 0) break;\n                    lVar38 = lVar38 + -1;\n                    bVar58 = *pbVar49 < *pbVar52;\n                    bVar57 = *pbVar49 == *pbVar52;\n                    pbVar49 = pbVar49 + (ulong)bVar61 * -2 + 1;\n                    pbVar52 = pbVar52 + (ulong)bVar61 * -2 + 1;\n                  } while (bVar57);\n                  if ((!bVar58 && !bVar57) == bVar58) goto LAB_00180f58;\n                }\n                if ((*(code **)(*(long *)pTVar5 + 0x90) !=\n                     Target::do_can_check_for_function_pointers) &&\n                   (cVar19 = (**(code **)(*(long *)pTVar5 + 0x90))(pTVar5), cVar19 != '\0')) {\n                  section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;\n                  section_cksum._M_h._M_bucket_count =\n                       CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n                  iVar31 = std::\n                           _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                           ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                   *)&this->fptr_section_id_,(key_type *)&section_cksum);\n                  if (iVar31.super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>\n                      ._M_cur == (__node_type *)0x0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                          &section_cksum;\n              section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;\n              __position._M_current =\n                   (this->id_section_).\n                   super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                   ._M_impl._M_finish;\n              section_cksum._M_h._M_bucket_count =\n                   CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n              if (__position._M_current ==\n                  (this->id_section_).\n                  super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                  ._M_impl._M_end_of_storage) {\n                std::\n                vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ::_M_realloc_insert<std::pair<gold::Relobj*,_unsigned_int>_>\n                          (&this->id_section_,__position,\n                           (pair<gold::Relobj*,_unsigned_int> *)local_1a8);\n              }\n              else {\n                (__position._M_current)->first = (Relobj *)section_cksum._M_h._M_buckets;\n                (__position._M_current)->second = uVar44;\n                (this->id_section_).\n                super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ._M_impl._M_finish = __position._M_current + 1;\n              }\n              section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;\n              section_cksum._M_h._M_bucket_count =\n                   CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n              p_Var26 = (_Hash_node_base *)((ulong)section_cksum._M_h._M_buckets ^ uVar45);\n              local_1a0 = (ulong)p_Var26 % (this->section_id_)._M_h._M_bucket_count;\n              p_Var27 = std::\n                        _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                        ::_M_find_before_node\n                                  ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                                    *)&this->section_id_,local_1a0,(key_type *)local_1a8,\n                                   (__hash_code)p_Var26);\n              if ((p_Var27 == (__node_base *)0x0) ||\n                 (p_Var28 = p_Var27->_M_nxt, p_Var28 == (_Hash_node_base *)0x0)) {\n                    /* try { // try from 00180cad to 00180cec has its CatchHandler @ 00181f61 */\n                p_Var28 = (_Hash_node_base *)operator_new(0x28);\n                uVar41 = (this->section_id_)._M_h._M_element_count;\n                p_Var28->_M_nxt = (_Hash_node_base *)0x0;\n                uVar42 = (this->section_id_)._M_h._M_bucket_count;\n                *(undefined4 *)&p_Var28[3]._M_nxt = 0;\n                p_Var28[1]._M_nxt = (_Hash_node_base *)section_cksum._M_h._M_buckets;\n                p_Var28[2]._M_nxt = (_Hash_node_base *)section_cksum._M_h._M_bucket_count;\n                cVar19 = std::__detail::_Prime_rehash_policy::_M_need_rehash\n                                   (&(this->section_id_)._M_h._M_rehash_policy,uVar42,uVar41,1);\n                if (cVar19 == '\0') {\n                  pp_Var29 = (this->section_id_)._M_h._M_buckets;\n                }\n                else {\n                  if (this_00 ==\n                      (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n                       *)0x1) {\n                    pp_Var29 = &(this->section_id_)._M_h._M_single_bucket;\n                    (this->section_id_)._M_h._M_single_bucket = (__bucket_type)0x0;\n                  }\n                  else {\n                    /* try { // try from 00180d0d to 00180d11 has its CatchHandler @ 00181f10 */\n                    pp_Var29 = std::__detail::\n                               _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n                               ::_M_allocate_buckets(this_00,uVar42);\n                  }\n                  p_Var39 = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                  (this->section_id_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n                  if (p_Var39 != (_Hash_node_base *)0x0) {\n                    uVar41 = 0;\n                    do {\n                      while( true ) {\n                        p_Var9 = p_Var39->_M_nxt;\n                        uVar42 = (ulong)p_Var39[4]._M_nxt % (ulong)this_00;\n                        pp_Var10 = pp_Var29 + uVar42;\n                        if (*pp_Var10 == (__bucket_type)0x0) break;\n                        p_Var39->_M_nxt = (*pp_Var10)->_M_nxt;\n                        (*pp_Var10)->_M_nxt = p_Var39;\n                        uVar42 = uVar41;\nLAB_00180d64:\n                        p_Var39 = p_Var9;\n                        uVar41 = uVar42;\n                        if (p_Var9 == (_Hash_node_base *)0x0) goto LAB_00180dc0;\n                      }\n                      p_Var39->_M_nxt = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                      (this->section_id_)._M_h._M_before_begin._M_nxt = p_Var39;\n                      *pp_Var10 = &(this->section_id_)._M_h._M_before_begin;\n                      if (p_Var39->_M_nxt == (_Hash_node_base *)0x0) goto LAB_00180d64;\n                      pp_Var29[uVar41] = p_Var39;\n                      p_Var39 = p_Var9;\n                      uVar41 = uVar42;\n                    } while (p_Var9 != (_Hash_node_base *)0x0);\n                  }\nLAB_00180dc0:\n                  pp_Var10 = (this->section_id_)._M_h._M_buckets;\n                  if (pp_Var10 != &(this->section_id_)._M_h._M_single_bucket) {\n                    operator_delete(pp_Var10);\n                  }\n                  (this->section_id_)._M_h._M_buckets = pp_Var29;\n                  local_1a0 = (ulong)p_Var26 % (ulong)this_00;\n                  (this->section_id_)._M_h._M_bucket_count = (size_type)this_00;\n                }\n                p_Var28[4]._M_nxt = p_Var26;\n                pp_Var10 = pp_Var29 + local_1a0;\n                if (*pp_Var10 == (__bucket_type)0x0) {\n                  p_Var26 = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                  (this->section_id_)._M_h._M_before_begin._M_nxt = p_Var28;\n                  p_Var28->_M_nxt = p_Var26;\n                  if (p_Var26 != (_Hash_node_base *)0x0) {\n                    pp_Var29[(ulong)p_Var26[4]._M_nxt % (this->section_id_)._M_h._M_bucket_count] =\n                         p_Var28;\n                  }\n                  *pp_Var10 = &(this->section_id_)._M_h._M_before_begin;\n                }\n                else {\n                  p_Var28->_M_nxt = (*pp_Var10)->_M_nxt;\n                  (*pp_Var10)->_M_nxt = p_Var28;\n                }\n                psVar1 = &(this->section_id_)._M_h._M_element_count;\n                *psVar1 = *psVar1 + 1;\n              }\n              puVar11 = (this->kept_section_id_).\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_finish;\n              *(uint *)&p_Var28[3]._M_nxt = uVar4;\n              if (puVar11 ==\n                  (this->kept_section_id_).\n                  super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                  _M_end_of_storage) {\n                __src = (this->kept_section_id_).\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start;\n                sVar32 = (long)puVar11 - (long)__src;\n                uVar41 = (long)sVar32 >> 2;\n                if (uVar41 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (pointer)operator_new(local_1d0);\n                  local_1e8 = (pointer)(local_1d0 + (long)__dest);\n                }\n                else {\n                  uVar42 = uVar41 * 2;\n                  if (uVar42 < uVar41) {\n                    local_1d0 = 0xfffffffffffffffc;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = 0xfffffffffffffffc;\n                  if (0x3fffffffffffffff < uVar42) goto LAB_00181065;\n                  if (uVar42 != 0) {\n                    local_1d0 = uVar41 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = (pointer)0x0;\n                  __dest = (pointer)0x0;\n                }\n                *(uint *)((long)__dest + sVar32) = uVar4;\n                puVar3 = (pointer)((long)__dest + sVar32 + 4);\n                if (puVar11 == __src) {\n                  if (__src != (pointer)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = (pointer)memmove(__dest,__src,sVar32);\nLAB_001810bd:\n                  operator_delete(__src);\n                }\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start =\n                     __dest;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n                     puVar3;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                _M_end_of_storage = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *puVar11 = uVar4;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n                     puVar11 + 1;\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar32 = (long)local_1b0 - (long)local_1d8;\n                uVar41 = (long)sVar32 >> 2;\n                if (uVar41 == 0) {\n                  uVar42 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)operator_new(uVar42);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + uVar42);\n                }\n                else {\n                  uVar34 = uVar41 * 2;\n                  if (uVar34 < uVar41) {\n                    uVar42 = 0xfffffffffffffffc;\n                    goto LAB_0018114e;\n                  }\n                  uVar42 = 0xfffffffffffffffc;\n                  if (0x3fffffffffffffff < uVar34) goto LAB_0018114e;\n                  if (uVar34 != 0) {\n                    uVar42 = uVar41 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar32) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar32 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar32);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar32 + 4);\nLAB_001811a1:\n                  operator_delete(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    /* try { // try from 00180b6b to 00180bee has its CatchHandler @ 00181f61 */\n              iVar24 = (*((*ppRVar55)->super_Object)._vptr_Object[0x17])(*ppRVar55,uVar45);\n              section_cksum._M_h._M_buckets = (__bucket_type *)CONCAT44(extraout_var,iVar24);\n              if (section_addraligns.\n                  super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                  _M_finish ==\n                  section_addraligns.\n                  super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                  _M_end_of_storage) {\n                std::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>::\n                _M_realloc_insert<long_unsigned_int>\n                          (&section_addraligns,\n                           (iterator)\n                           section_addraligns.\n                           super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n                           ._M_impl._M_finish,(ulong *)local_1a8);\n              }\n              else {\n                *section_addraligns.\n                 super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                 _M_finish = (ulong)section_cksum._M_h._M_buckets;\n                section_addraligns.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_finish = section_addraligns.\n                            super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n                            ._M_impl._M_finish + 1;\n              }\n              uVar22 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset;\n              p_Var18 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                        super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p;\n              if (is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p ==\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_end_of_storage) {\n                local_180 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>.\n                            _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base.\n                            _M_offset;\n                __position_00.super__Bit_iterator_base._12_4_ = uStack_17c;\n                __position_00.super__Bit_iterator_base._M_offset =\n                     is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                     super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset;\n                local_188 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>.\n                            _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p\n                ;\n                __position_00.super__Bit_iterator_base._M_p =\n                     is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                     super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p;\n                std::vector<bool,_std::allocator<bool>_>::_M_insert_aux\n                          (&is_secn_or_group_unique,__position_00,false);\n              }\n              else {\n                if (is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                    super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset == 0x3f) {\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset = 0;\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p + 1;\n                }\n                else {\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset + 1;\n                }\n                bVar13 = (byte)uVar22 & 0x3f;\n                *p_Var18 = *p_Var18 & (-2L << bVar13 | 0xfffffffffffffffeU >> 0x40 - bVar13);\n              }\n              section_cksum._M_h._M_buckets = &section_cksum._M_h._M_before_begin._M_nxt;\n              std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n              _M_construct<char_const*>(local_1a8,"");\n                    /* try { // try from 00180c00 to 00180c04 has its CatchHandler @ 00181f59 */\n              std::\n              vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              ::\n              emplace_back<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>\n                        (&section_contents,local_1a8);\n              if ((__node_base *)section_cksum._M_h._M_buckets !=\n                  &section_cksum._M_h._M_before_begin) {\n                operator_delete(section_cksum._M_h._M_buckets);\n              }\n              uVar4 = uVar4 + 1;\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)section_name._M_dataplus._M_p != &section_name.field_2) goto LAB_00180c31;\n            }" { (labeled_statement "LAB_00180a28:\n              pRVar48 = *ppRVar55;" statement_identifier : (expression_statement "pRVar48 = *ppRVar55;" (assignment_expression "pRVar48 = *ppRVar55" identifier = (pointer_expression "*ppRVar55" * identifier)) ;)) (expression_statement "ppOVar8 = (pRVar48->output_sections_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_start;" (field_expression "ppOVar8 = (pRVar48->output_sections_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_start" (field_expression "ppOVar8 = (pRVar48->output_sections_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl" (binary_expression "ppOVar8 = (pRVar48->output_sections_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "ppOVar8 = (pRVar48->output_sections_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "ppOVar8 = (pRVar48->output_sections_).\n                        super__Vector_base<gold::Output_section*,_std" (assignment_expression "ppOVar8 = (pRVar48->output_sections_).\n                        super__Vector_base<gold" identifier = (binary_expression "(pRVar48->output_sections_).\n                        super__Vector_base<gold" (field_expression "(pRVar48->output_sections_).\n                        super__Vector_base" (parenthesized_expression "(pRVar48->output_sections_)" ( (field_expression "pRVar48->output_sections_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if ((ulong)((long)(pRVar48->output_sections_).\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_finish - (long)ppOVar8 >> 3) <= uVar45) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181e47 to 00181e63 has its CatchHandler @ 00181f61 */\n                do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n              }" if (parenthesized_expression "((ulong)((long)(pRVar48->output_sections_).\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_finish - (long)ppOVar8 >> 3) <= uVar45)" ( (binary_expression "(ulong)((long)(pRVar48->output_sections_).\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_finish - (long)ppOVar8 >> 3) <= uVar45" (call_expression "(ulong)((long)(pRVar48->output_sections_).\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_finish - (long)ppOVar8 >> 3)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((long)(pRVar48->output_sections_).\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_finish - (long)ppOVar8 >> 3)" ( (binary_expression "(long)(pRVar48->output_sections_).\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_finish - (long)ppOVar8 >> 3" (binary_expression "(long)(pRVar48->output_sections_).\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_finish - (long)ppOVar8" (field_expression "(long)(pRVar48->output_sections_).\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_finish" (field_expression "(long)(pRVar48->output_sections_).\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl" (binary_expression "(long)(pRVar48->output_sections_).\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "(long)(pRVar48->output_sections_).\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "(long)(pRVar48->output_sections_).\n                                super__Vector_base<gold::Output_section*,_std" (binary_expression "(long)(pRVar48->output_sections_).\n                                super__Vector_base<gold" (cast_expression "(long)(pRVar48->output_sections_).\n                                super__Vector_base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "(pRVar48->output_sections_).\n                                super__Vector_base" (parenthesized_expression "(pRVar48->output_sections_)" ( (field_expression "pRVar48->output_sections_" identifier -> field_identifier) )) . field_identifier)) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) - (cast_expression "(long)ppOVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) >> number_literal) ))) <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181e47 to 00181e63 has its CatchHandler @ 00181f61 */\n                do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n              }" { comment comment (expression_statement "do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");" (call_expression "do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included")" identifier (argument_list "("../../gold/object.h",0x50b,"is_section_included")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""is_section_included"" " string_content ") ))) ;) })) (if_statement "if (ppOVar8[uVar45] == (Output_section *)0x0) goto LAB_00180c96;" if (parenthesized_expression "(ppOVar8[uVar45] == (Output_section *)0x0)" ( (binary_expression "ppOVar8[uVar45] == (Output_section *)0x0" (subscript_expression "ppOVar8[uVar45]" identifier [ identifier ]) == (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00180c96;" goto statement_identifier ;)) (expression_statement "pGVar25 = parameters->options_;" (assignment_expression "pGVar25 = parameters->options_" identifier = (field_expression "parameters->options_" identifier -> field_identifier)) ;) (if_statement "if (pGVar25 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }" if (parenthesized_expression "(pGVar25 == (General_options *)0x0)" ( (binary_expression "pGVar25 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }" { comment (expression_statement "do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" (call_expression "do_gold_unreachable("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (if_statement "if ((pGVar25->gc_sections_).value != false) {\n                section_cksum._M_h._M_bucket_count =\n                     CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n                section_cksum._M_h._M_buckets = (__bucket_type *)pRVar48;\n                iVar31 = std::\n                         _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                         ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                 *)&symtab->gc_->referenced_list_,(key_type *)&section_cksum);\n                if (iVar31.super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>.\n                    _M_cur == (__node_type *)0x0) goto LAB_00180c96;\n                pGVar25 = parameters->options_;\n                if (pGVar25 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00180e61 to 001811fa has its CatchHandler @ 00181f61 */\n                  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                }\n              }" if (parenthesized_expression "((pGVar25->gc_sections_).value != false)" ( (binary_expression "(pGVar25->gc_sections_).value != false" (field_expression "(pGVar25->gc_sections_).value" (parenthesized_expression "(pGVar25->gc_sections_)" ( (field_expression "pGVar25->gc_sections_" identifier -> field_identifier) )) . field_identifier) != false) )) (compound_statement "{\n                section_cksum._M_h._M_bucket_count =\n                     CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n                section_cksum._M_h._M_buckets = (__bucket_type *)pRVar48;\n                iVar31 = std::\n                         _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                         ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                 *)&symtab->gc_->referenced_list_,(key_type *)&section_cksum);\n                if (iVar31.super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>.\n                    _M_cur == (__node_type *)0x0) goto LAB_00180c96;\n                pGVar25 = parameters->options_;\n                if (pGVar25 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00180e61 to 001811fa has its CatchHandler @ 00181f61 */\n                  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                }\n              }" { (expression_statement "section_cksum._M_h._M_bucket_count =\n                     CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);" (assignment_expression "section_cksum._M_h._M_bucket_count =\n                     CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44)" (field_expression "section_cksum._M_h._M_bucket_count" (field_expression "section_cksum._M_h" identifier . field_identifier) . field_identifier) = (call_expression "CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44)" identifier (argument_list "(section_cksum._M_h._M_bucket_count._4_4_,uVar44)" ( (field_expression "section_cksum._M_h._M_bucket_count._4_4_" (field_expression "section_cksum._M_h._M_bucket_count" (field_expression "section_cksum._M_h" identifier . field_identifier) . field_identifier) . field_identifier) , identifier )))) ;) (expression_statement "section_cksum._M_h._M_buckets = (__bucket_type *)pRVar48;" (assignment_expression "section_cksum._M_h._M_buckets = (__bucket_type *)pRVar48" (field_expression "section_cksum._M_h._M_buckets" (field_expression "section_cksum._M_h" identifier . field_identifier) . field_identifier) = (cast_expression "(__bucket_type *)pRVar48" ( (type_descriptor "__bucket_type *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (ERROR "iVar31 = std::\n                         _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::" (assignment_expression "iVar31 = std" identifier = identifier) : : (binary_expression "_Hashtable<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>,_std" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>,_std" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>_>,_std" (binary_expression "Relobj*,_unsigned_int>_" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > identifier) > (ERROR "," ,) identifier) : : (comma_expression "__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold" identifier (ERROR "::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>" : : (comma_expression "_Identity,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : identifier * , (binary_expression "_unsigned_int>_" identifier > identifier) >) , identifier) : : (comma_expression "Section_id_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,_true,_true>_>\n                         ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                 *)&symtab->gc_->referenced_list_,(key_type *)&section_cksum);" 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,_true,_true>_>\n                         ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                 *)&symtab->gc_->referenced_list_,(key_type *)&section_cksum);" 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,_true,_true>_>\n                         ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                 *)&symtab->gc_->referenced_list_,(key_type *)&section_cksum);" statement_identifier (ERROR "::_Prime_rehash_policy,_std:" : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) :) : (labeled_statement "__detail::_Hashtable_traits<true,_true,_true>_>\n                         ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                 *)&symtab->gc_->referenced_list_,(key_type *)&section_cksum);" statement_identifier : (ERROR ":" :) (expression_statement "_Hashtable_traits<true,_true,_true>_>\n                         ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                 *)&symtab->gc_->referenced_list_,(key_type *)&section_cksum);" (comma_expression "_Hashtable_traits<true,_true,_true>_>\n                         ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                 *)&symtab->gc_->referenced_list_,(key_type *)&section_cksum)" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_true,_true>_>\n                         ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                 *)&symtab->gc_->referenced_list_,(key_type *)&section_cksum)" identifier , (binary_expression "_true>_>\n                         ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                 *)&symtab->gc_->referenced_list_,(key_type *)&section_cksum)" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) (call_expression "find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                 *)&symtab->gc_->referenced_list_,(key_type *)&section_cksum)" identifier (argument_list "((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                 *)&symtab->gc_->referenced_list_,(key_type *)&section_cksum)" ( (binary_expression "(_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                 *)&symtab->gc_->referenced_list_" (parenthesized_expression "(_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                 *)" ( (ERROR "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (comma_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "_Hashtable<std::pair<gold" (binary_expression "_Hashtable<std" identifier < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > identifier) > (ERROR "," ,) identifier) (ERROR "::__detail::_Identity" : : identifier : : identifier) , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (type_descriptor "Relobj*" type_identifier (abstract_pointer_declarator "*" *)) , (binary_expression "_unsigned_int>_>,_gold" (binary_expression "_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier) : : (comma_expression "Section_id_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,_true,_true>_>\n                                 *" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_true,_true>_>\n                                 *" identifier , (binary_expression "_true>_>\n                                 *" (binary_expression "_true>_" identifier > identifier) > (pointer_expression "*" * identifier)))) )) & (field_expression "symtab->gc_->referenced_list_" (field_expression "symtab->gc_" identifier -> field_identifier) -> field_identifier)) , (cast_expression "(key_type *)&section_cksum" ( (type_descriptor "key_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&section_cksum" & identifier)) )))))) ;))))) (if_statement "if (iVar31.super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>.\n                    _M_cur == (__node_type *)0x0) goto LAB_00180c96;" if (parenthesized_expression "(iVar31.super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>.\n                    _M_cur == (__node_type *)0x0)" ( (binary_expression "iVar31.super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>.\n                    _M_cur == (__node_type *)0x0" (field_expression "iVar31.super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>.\n                    _M_cur" (binary_expression "iVar31.super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true" (binary_expression "iVar31.super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "iVar31.super__Node_iterator_base<std::pair<gold" (binary_expression "iVar31.super__Node_iterator_base<std" (field_expression "iVar31.super__Node_iterator_base" identifier . field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) (ERROR ">" >) . field_identifier) == (cast_expression "(__node_type *)0x0" ( (type_descriptor "__node_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00180c96;" goto statement_identifier ;)) (expression_statement "pGVar25 = parameters->options_;" (assignment_expression "pGVar25 = parameters->options_" identifier = (field_expression "parameters->options_" identifier -> field_identifier)) ;) (if_statement "if (pGVar25 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00180e61 to 001811fa has its CatchHandler @ 00181f61 */\n                  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                }" if (parenthesized_expression "(pGVar25 == (General_options *)0x0)" ( (binary_expression "pGVar25 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00180e61 to 001811fa has its CatchHandler @ 00181f61 */\n                  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                }" { comment comment (expression_statement "do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" (call_expression "do_gold_unreachable("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) })) (if_statement "if (pGVar25->icf_status_ == ICF_SAFE) {\n                pbVar30 = (byte *)strrchr(section_name._M_dataplus._M_p,0x2e);\n                bVar57 = false;\n                bVar60 = pbVar30 == (byte *)0x0;\n                if (bVar60) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181ef3 to 00181ef7 has its CatchHandler @ 00181f61 */\n                  do_gold_unreachable("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar38 = 4;\n                pbVar49 = &DAT_00373305;\n                pbVar52 = pbVar30;\n                do {\n                  if (lVar38 == 0) break;\n                  lVar38 = lVar38 + -1;\n                  bVar57 = *pbVar49 < *pbVar52;\n                  bVar60 = *pbVar49 == *pbVar52;\n                  pbVar49 = pbVar49 + (ulong)bVar61 * -2 + 1;\n                  pbVar52 = pbVar52 + (ulong)bVar61 * -2 + 1;\n                } while (bVar60);\n                bVar58 = false;\n                bVar57 = (!bVar57 && !bVar60) == bVar57;\n                if (bVar57) {\nLAB_00180f58:\n                  gVar20 = is_gnu_v3_mangled_ctor((char *)(pbVar30 + 1));\n                  if ((gVar20 != 0) ||\n                     (gVar21 = is_gnu_v3_mangled_dtor((char *)(pbVar30 + 1)), gVar21 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar38 = 4;\n                  pbVar49 = &DAT_0037330a;\n                  pbVar52 = pbVar30;\n                  do {\n                    if (lVar38 == 0) break;\n                    lVar38 = lVar38 + -1;\n                    bVar58 = *pbVar49 < *pbVar52;\n                    bVar57 = *pbVar49 == *pbVar52;\n                    pbVar49 = pbVar49 + (ulong)bVar61 * -2 + 1;\n                    pbVar52 = pbVar52 + (ulong)bVar61 * -2 + 1;\n                  } while (bVar57);\n                  if ((!bVar58 && !bVar57) == bVar58) goto LAB_00180f58;\n                }\n                if ((*(code **)(*(long *)pTVar5 + 0x90) !=\n                     Target::do_can_check_for_function_pointers) &&\n                   (cVar19 = (**(code **)(*(long *)pTVar5 + 0x90))(pTVar5), cVar19 != '\0')) {\n                  section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;\n                  section_cksum._M_h._M_bucket_count =\n                       CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n                  iVar31 = std::\n                           _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                           ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                   *)&this->fptr_section_id_,(key_type *)&section_cksum);\n                  if (iVar31.super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>\n                      ._M_cur == (__node_type *)0x0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }" if (parenthesized_expression "(pGVar25->icf_status_ == ICF_SAFE)" ( (binary_expression "pGVar25->icf_status_ == ICF_SAFE" (field_expression "pGVar25->icf_status_" identifier -> field_identifier) == identifier) )) (compound_statement "{\n                pbVar30 = (byte *)strrchr(section_name._M_dataplus._M_p,0x2e);\n                bVar57 = false;\n                bVar60 = pbVar30 == (byte *)0x0;\n                if (bVar60) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181ef3 to 00181ef7 has its CatchHandler @ 00181f61 */\n                  do_gold_unreachable("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar38 = 4;\n                pbVar49 = &DAT_00373305;\n                pbVar52 = pbVar30;\n                do {\n                  if (lVar38 == 0) break;\n                  lVar38 = lVar38 + -1;\n                  bVar57 = *pbVar49 < *pbVar52;\n                  bVar60 = *pbVar49 == *pbVar52;\n                  pbVar49 = pbVar49 + (ulong)bVar61 * -2 + 1;\n                  pbVar52 = pbVar52 + (ulong)bVar61 * -2 + 1;\n                } while (bVar60);\n                bVar58 = false;\n                bVar57 = (!bVar57 && !bVar60) == bVar57;\n                if (bVar57) {\nLAB_00180f58:\n                  gVar20 = is_gnu_v3_mangled_ctor((char *)(pbVar30 + 1));\n                  if ((gVar20 != 0) ||\n                     (gVar21 = is_gnu_v3_mangled_dtor((char *)(pbVar30 + 1)), gVar21 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar38 = 4;\n                  pbVar49 = &DAT_0037330a;\n                  pbVar52 = pbVar30;\n                  do {\n                    if (lVar38 == 0) break;\n                    lVar38 = lVar38 + -1;\n                    bVar58 = *pbVar49 < *pbVar52;\n                    bVar57 = *pbVar49 == *pbVar52;\n                    pbVar49 = pbVar49 + (ulong)bVar61 * -2 + 1;\n                    pbVar52 = pbVar52 + (ulong)bVar61 * -2 + 1;\n                  } while (bVar57);\n                  if ((!bVar58 && !bVar57) == bVar58) goto LAB_00180f58;\n                }\n                if ((*(code **)(*(long *)pTVar5 + 0x90) !=\n                     Target::do_can_check_for_function_pointers) &&\n                   (cVar19 = (**(code **)(*(long *)pTVar5 + 0x90))(pTVar5), cVar19 != '\0')) {\n                  section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;\n                  section_cksum._M_h._M_bucket_count =\n                       CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n                  iVar31 = std::\n                           _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                           ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                   *)&this->fptr_section_id_,(key_type *)&section_cksum);\n                  if (iVar31.super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>\n                      ._M_cur == (__node_type *)0x0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }" { (expression_statement "pbVar30 = (byte *)strrchr(section_name._M_dataplus._M_p,0x2e);" (assignment_expression "pbVar30 = (byte *)strrchr(section_name._M_dataplus._M_p,0x2e)" identifier = (cast_expression "(byte *)strrchr(section_name._M_dataplus._M_p,0x2e)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "strrchr(section_name._M_dataplus._M_p,0x2e)" identifier (argument_list "(section_name._M_dataplus._M_p,0x2e)" ( (field_expression "section_name._M_dataplus._M_p" (field_expression "section_name._M_dataplus" identifier . field_identifier) . field_identifier) , number_literal ))))) ;) (expression_statement "bVar57 = false;" (assignment_expression "bVar57 = false" identifier = false) ;) (expression_statement "bVar60 = pbVar30 == (byte *)0x0;" (assignment_expression "bVar60 = pbVar30 == (byte *)0x0" identifier = (binary_expression "pbVar30 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (if_statement "if (bVar60) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181ef3 to 00181ef7 has its CatchHandler @ 00181f61 */\n                  do_gold_unreachable("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }" if (parenthesized_expression "(bVar60)" ( identifier )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00181ef3 to 00181ef7 has its CatchHandler @ 00181f61 */\n                  do_gold_unreachable("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }" { comment comment (expression_statement "do_gold_unreachable("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");" (call_expression "do_gold_unreachable("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor")" identifier (argument_list "("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor")" ( (string_literal ""../../gold/icf.cc"" " string_content ") , number_literal , (string_literal ""is_function_ctor_or_dtor"" " string_content ") ))) ;) })) (expression_statement "lVar38 = 4;" (assignment_expression "lVar38 = 4" identifier = number_literal) ;) (expression_statement "pbVar49 = &DAT_00373305;" (assignment_expression "pbVar49 = &DAT_00373305" identifier = (pointer_expression "&DAT_00373305" & identifier)) ;) (expression_statement "pbVar52 = pbVar30;" (assignment_expression "pbVar52 = pbVar30" identifier = identifier) ;) (do_statement "do {\n                  if (lVar38 == 0) break;\n                  lVar38 = lVar38 + -1;\n                  bVar57 = *pbVar49 < *pbVar52;\n                  bVar60 = *pbVar49 == *pbVar52;\n                  pbVar49 = pbVar49 + (ulong)bVar61 * -2 + 1;\n                  pbVar52 = pbVar52 + (ulong)bVar61 * -2 + 1;\n                } while (bVar60);" do (compound_statement "{\n                  if (lVar38 == 0) break;\n                  lVar38 = lVar38 + -1;\n                  bVar57 = *pbVar49 < *pbVar52;\n                  bVar60 = *pbVar49 == *pbVar52;\n                  pbVar49 = pbVar49 + (ulong)bVar61 * -2 + 1;\n                  pbVar52 = pbVar52 + (ulong)bVar61 * -2 + 1;\n                }" { (if_statement "if (lVar38 == 0) break;" if (parenthesized_expression "(lVar38 == 0)" ( (binary_expression "lVar38 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar38 = lVar38 + -1;" (assignment_expression "lVar38 = lVar38 + -1" identifier = (binary_expression "lVar38 + -1" identifier + number_literal)) ;) (expression_statement "bVar57 = *pbVar49 < *pbVar52;" (assignment_expression "bVar57 = *pbVar49 < *pbVar52" identifier = (binary_expression "*pbVar49 < *pbVar52" (pointer_expression "*pbVar49" * identifier) < (pointer_expression "*pbVar52" * identifier))) ;) (expression_statement "bVar60 = *pbVar49 == *pbVar52;" (assignment_expression "bVar60 = *pbVar49 == *pbVar52" identifier = (binary_expression "*pbVar49 == *pbVar52" (pointer_expression "*pbVar49" * identifier) == (pointer_expression "*pbVar52" * identifier))) ;) (expression_statement "pbVar49 = pbVar49 + (ulong)bVar61 * -2 + 1;" (assignment_expression "pbVar49 = pbVar49 + (ulong)bVar61 * -2 + 1" identifier = (binary_expression "pbVar49 + (ulong)bVar61 * -2 + 1" (binary_expression "pbVar49 + (ulong)bVar61 * -2" identifier + (binary_expression "(ulong)bVar61 * -2" (cast_expression "(ulong)bVar61" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar52 = pbVar52 + (ulong)bVar61 * -2 + 1;" (assignment_expression "pbVar52 = pbVar52 + (ulong)bVar61 * -2 + 1" identifier = (binary_expression "pbVar52 + (ulong)bVar61 * -2 + 1" (binary_expression "pbVar52 + (ulong)bVar61 * -2" identifier + (binary_expression "(ulong)bVar61 * -2" (cast_expression "(ulong)bVar61" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar60)" ( identifier )) ;) (expression_statement "bVar58 = false;" (assignment_expression "bVar58 = false" identifier = false) ;) (expression_statement "bVar57 = (!bVar57 && !bVar60) == bVar57;" (assignment_expression "bVar57 = (!bVar57 && !bVar60) == bVar57" identifier = (binary_expression "(!bVar57 && !bVar60) == bVar57" (parenthesized_expression "(!bVar57 && !bVar60)" ( (binary_expression "!bVar57 && !bVar60" (unary_expression "!bVar57" ! identifier) && (unary_expression "!bVar60" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar57) {\nLAB_00180f58:\n                  gVar20 = is_gnu_v3_mangled_ctor((char *)(pbVar30 + 1));\n                  if ((gVar20 != 0) ||\n                     (gVar21 = is_gnu_v3_mangled_dtor((char *)(pbVar30 + 1)), gVar21 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar38 = 4;\n                  pbVar49 = &DAT_0037330a;\n                  pbVar52 = pbVar30;\n                  do {\n                    if (lVar38 == 0) break;\n                    lVar38 = lVar38 + -1;\n                    bVar58 = *pbVar49 < *pbVar52;\n                    bVar57 = *pbVar49 == *pbVar52;\n                    pbVar49 = pbVar49 + (ulong)bVar61 * -2 + 1;\n                    pbVar52 = pbVar52 + (ulong)bVar61 * -2 + 1;\n                  } while (bVar57);\n                  if ((!bVar58 && !bVar57) == bVar58) goto LAB_00180f58;\n                }" if (parenthesized_expression "(bVar57)" ( identifier )) (compound_statement "{\nLAB_00180f58:\n                  gVar20 = is_gnu_v3_mangled_ctor((char *)(pbVar30 + 1));\n                  if ((gVar20 != 0) ||\n                     (gVar21 = is_gnu_v3_mangled_dtor((char *)(pbVar30 + 1)), gVar21 != 0))\n                  goto LAB_00180a97;\n                }" { (labeled_statement "LAB_00180f58:\n                  gVar20 = is_gnu_v3_mangled_ctor((char *)(pbVar30 + 1));" statement_identifier : (expression_statement "gVar20 = is_gnu_v3_mangled_ctor((char *)(pbVar30 + 1));" (assignment_expression "gVar20 = is_gnu_v3_mangled_ctor((char *)(pbVar30 + 1))" identifier = (call_expression "is_gnu_v3_mangled_ctor((char *)(pbVar30 + 1))" identifier (argument_list "((char *)(pbVar30 + 1))" ( (cast_expression "(char *)(pbVar30 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar30 + 1)" ( (binary_expression "pbVar30 + 1" identifier + number_literal) ))) )))) ;)) (if_statement "if ((gVar20 != 0) ||\n                     (gVar21 = is_gnu_v3_mangled_dtor((char *)(pbVar30 + 1)), gVar21 != 0))\n                  goto LAB_00180a97;" if (parenthesized_expression "((gVar20 != 0) ||\n                     (gVar21 = is_gnu_v3_mangled_dtor((char *)(pbVar30 + 1)), gVar21 != 0))" ( (binary_expression "(gVar20 != 0) ||\n                     (gVar21 = is_gnu_v3_mangled_dtor((char *)(pbVar30 + 1)), gVar21 != 0)" (parenthesized_expression "(gVar20 != 0)" ( (binary_expression "gVar20 != 0" identifier != number_literal) )) || (parenthesized_expression "(gVar21 = is_gnu_v3_mangled_dtor((char *)(pbVar30 + 1)), gVar21 != 0)" ( (comma_expression "gVar21 = is_gnu_v3_mangled_dtor((char *)(pbVar30 + 1)), gVar21 != 0" (assignment_expression "gVar21 = is_gnu_v3_mangled_dtor((char *)(pbVar30 + 1))" identifier = (call_expression "is_gnu_v3_mangled_dtor((char *)(pbVar30 + 1))" identifier (argument_list "((char *)(pbVar30 + 1))" ( (cast_expression "(char *)(pbVar30 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar30 + 1)" ( (binary_expression "pbVar30 + 1" identifier + number_literal) ))) )))) , (binary_expression "gVar21 != 0" identifier != number_literal)) ))) )) (goto_statement "goto LAB_00180a97;" goto statement_identifier ;)) }) (else_clause "else {\n                  lVar38 = 4;\n                  pbVar49 = &DAT_0037330a;\n                  pbVar52 = pbVar30;\n                  do {\n                    if (lVar38 == 0) break;\n                    lVar38 = lVar38 + -1;\n                    bVar58 = *pbVar49 < *pbVar52;\n                    bVar57 = *pbVar49 == *pbVar52;\n                    pbVar49 = pbVar49 + (ulong)bVar61 * -2 + 1;\n                    pbVar52 = pbVar52 + (ulong)bVar61 * -2 + 1;\n                  } while (bVar57);\n                  if ((!bVar58 && !bVar57) == bVar58) goto LAB_00180f58;\n                }" else (compound_statement "{\n                  lVar38 = 4;\n                  pbVar49 = &DAT_0037330a;\n                  pbVar52 = pbVar30;\n                  do {\n                    if (lVar38 == 0) break;\n                    lVar38 = lVar38 + -1;\n                    bVar58 = *pbVar49 < *pbVar52;\n                    bVar57 = *pbVar49 == *pbVar52;\n                    pbVar49 = pbVar49 + (ulong)bVar61 * -2 + 1;\n                    pbVar52 = pbVar52 + (ulong)bVar61 * -2 + 1;\n                  } while (bVar57);\n                  if ((!bVar58 && !bVar57) == bVar58) goto LAB_00180f58;\n                }" { (expression_statement "lVar38 = 4;" (assignment_expression "lVar38 = 4" identifier = number_literal) ;) (expression_statement "pbVar49 = &DAT_0037330a;" (assignment_expression "pbVar49 = &DAT_0037330a" identifier = (pointer_expression "&DAT_0037330a" & identifier)) ;) (expression_statement "pbVar52 = pbVar30;" (assignment_expression "pbVar52 = pbVar30" identifier = identifier) ;) (do_statement "do {\n                    if (lVar38 == 0) break;\n                    lVar38 = lVar38 + -1;\n                    bVar58 = *pbVar49 < *pbVar52;\n                    bVar57 = *pbVar49 == *pbVar52;\n                    pbVar49 = pbVar49 + (ulong)bVar61 * -2 + 1;\n                    pbVar52 = pbVar52 + (ulong)bVar61 * -2 + 1;\n                  } while (bVar57);" do (compound_statement "{\n                    if (lVar38 == 0) break;\n                    lVar38 = lVar38 + -1;\n                    bVar58 = *pbVar49 < *pbVar52;\n                    bVar57 = *pbVar49 == *pbVar52;\n                    pbVar49 = pbVar49 + (ulong)bVar61 * -2 + 1;\n                    pbVar52 = pbVar52 + (ulong)bVar61 * -2 + 1;\n                  }" { (if_statement "if (lVar38 == 0) break;" if (parenthesized_expression "(lVar38 == 0)" ( (binary_expression "lVar38 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar38 = lVar38 + -1;" (assignment_expression "lVar38 = lVar38 + -1" identifier = (binary_expression "lVar38 + -1" identifier + number_literal)) ;) (expression_statement "bVar58 = *pbVar49 < *pbVar52;" (assignment_expression "bVar58 = *pbVar49 < *pbVar52" identifier = (binary_expression "*pbVar49 < *pbVar52" (pointer_expression "*pbVar49" * identifier) < (pointer_expression "*pbVar52" * identifier))) ;) (expression_statement "bVar57 = *pbVar49 == *pbVar52;" (assignment_expression "bVar57 = *pbVar49 == *pbVar52" identifier = (binary_expression "*pbVar49 == *pbVar52" (pointer_expression "*pbVar49" * identifier) == (pointer_expression "*pbVar52" * identifier))) ;) (expression_statement "pbVar49 = pbVar49 + (ulong)bVar61 * -2 + 1;" (assignment_expression "pbVar49 = pbVar49 + (ulong)bVar61 * -2 + 1" identifier = (binary_expression "pbVar49 + (ulong)bVar61 * -2 + 1" (binary_expression "pbVar49 + (ulong)bVar61 * -2" identifier + (binary_expression "(ulong)bVar61 * -2" (cast_expression "(ulong)bVar61" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar52 = pbVar52 + (ulong)bVar61 * -2 + 1;" (assignment_expression "pbVar52 = pbVar52 + (ulong)bVar61 * -2 + 1" identifier = (binary_expression "pbVar52 + (ulong)bVar61 * -2 + 1" (binary_expression "pbVar52 + (ulong)bVar61 * -2" identifier + (binary_expression "(ulong)bVar61 * -2" (cast_expression "(ulong)bVar61" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar57)" ( identifier )) ;) (if_statement "if ((!bVar58 && !bVar57) == bVar58) goto LAB_00180f58;" if (parenthesized_expression "((!bVar58 && !bVar57) == bVar58)" ( (binary_expression "(!bVar58 && !bVar57) == bVar58" (parenthesized_expression "(!bVar58 && !bVar57)" ( (binary_expression "!bVar58 && !bVar57" (unary_expression "!bVar58" ! identifier) && (unary_expression "!bVar57" ! identifier)) )) == identifier) )) (goto_statement "goto LAB_00180f58;" goto statement_identifier ;)) }))) (if_statement "if ((*(code **)(*(long *)pTVar5 + 0x90) !=\n                     Target::do_can_check_for_function_pointers) &&\n                   (cVar19 = (**(code **)(*(long *)pTVar5 + 0x90))(pTVar5), cVar19 != '\0')) {\n                  section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;\n                  section_cksum._M_h._M_bucket_count =\n                       CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n                  iVar31 = std::\n                           _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                           ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                   *)&this->fptr_section_id_,(key_type *)&section_cksum);\n                  if (iVar31.super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>\n                      ._M_cur == (__node_type *)0x0) goto LAB_00180a97;\n                }" if (parenthesized_expression "((*(code **)(*(long *)pTVar5 + 0x90) !=\n                     Target::do_can_check_for_function_pointers) &&\n                   (cVar19 = (**(code **)(*(long *)pTVar5 + 0x90))(pTVar5), cVar19 != '\0'))" ( (binary_expression "(*(code **)(*(long *)pTVar5 + 0x90) !=\n                     Target::do_can_check_for_function_pointers) &&\n                   (cVar19 = (**(code **)(*(long *)pTVar5 + 0x90))(pTVar5), cVar19 != '\0')" (parenthesized_expression "(*(code **)(*(long *)pTVar5 + 0x90) !=\n                     Target::do_can_check_for_function_pointers)" ( (binary_expression "*(code **)(*(long *)pTVar5 + 0x90) !=\n                     Target" (pointer_expression "*(code **)(*(long *)pTVar5 + 0x90)" * (cast_expression "(code **)(*(long *)pTVar5 + 0x90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)pTVar5 + 0x90)" ( (binary_expression "*(long *)pTVar5 + 0x90" (pointer_expression "*(long *)pTVar5" * (cast_expression "(long *)pTVar5" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) != identifier) (ERROR "::do_can_check_for_function_pointers" : : identifier) )) && (parenthesized_expression "(cVar19 = (**(code **)(*(long *)pTVar5 + 0x90))(pTVar5), cVar19 != '\0')" ( (comma_expression "cVar19 = (**(code **)(*(long *)pTVar5 + 0x90))(pTVar5), cVar19 != '\0'" (assignment_expression "cVar19 = (**(code **)(*(long *)pTVar5 + 0x90))(pTVar5)" identifier = (call_expression "(**(code **)(*(long *)pTVar5 + 0x90))(pTVar5)" (parenthesized_expression "(**(code **)(*(long *)pTVar5 + 0x90))" ( (pointer_expression "**(code **)(*(long *)pTVar5 + 0x90)" * (pointer_expression "*(code **)(*(long *)pTVar5 + 0x90)" * (cast_expression "(code **)(*(long *)pTVar5 + 0x90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)pTVar5 + 0x90)" ( (binary_expression "*(long *)pTVar5 + 0x90" (pointer_expression "*(long *)pTVar5" * (cast_expression "(long *)pTVar5" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) )) (argument_list "(pTVar5)" ( identifier )))) , (binary_expression "cVar19 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n                  section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;\n                  section_cksum._M_h._M_bucket_count =\n                       CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);\n                  iVar31 = std::\n                           _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                           ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                   *)&this->fptr_section_id_,(key_type *)&section_cksum);\n                  if (iVar31.super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>\n                      ._M_cur == (__node_type *)0x0) goto LAB_00180a97;\n                }" { (expression_statement "section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;" (assignment_expression "section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55" (field_expression "section_cksum._M_h._M_buckets" (field_expression "section_cksum._M_h" identifier . field_identifier) . field_identifier) = (cast_expression "(__bucket_type *)*ppRVar55" ( (type_descriptor "__bucket_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*ppRVar55" * identifier))) ;) (expression_statement "section_cksum._M_h._M_bucket_count =\n                       CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);" (assignment_expression "section_cksum._M_h._M_bucket_count =\n                       CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44)" (field_expression "section_cksum._M_h._M_bucket_count" (field_expression "section_cksum._M_h" identifier . field_identifier) . field_identifier) = (call_expression "CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44)" identifier (argument_list "(section_cksum._M_h._M_bucket_count._4_4_,uVar44)" ( (field_expression "section_cksum._M_h._M_bucket_count._4_4_" (field_expression "section_cksum._M_h._M_bucket_count" (field_expression "section_cksum._M_h" identifier . field_identifier) . field_identifier) . field_identifier) , identifier )))) ;) (ERROR "iVar31 = std::\n                           _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::" (assignment_expression "iVar31 = std" identifier = identifier) : : (binary_expression "_Hashtable<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>,_std" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>,_std" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>_>,_std" (binary_expression "Relobj*,_unsigned_int>_" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > identifier) > (ERROR "," ,) identifier) : : (comma_expression "__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold" identifier (ERROR "::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>" : : (comma_expression "_Identity,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : identifier * , (binary_expression "_unsigned_int>_" identifier > identifier) >) , identifier) : : (comma_expression "Section_id_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,_true,_true>_>\n                           ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                   *)&this->fptr_section_id_,(key_type *)&section_cksum);" 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,_true,_true>_>\n                           ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                   *)&this->fptr_section_id_,(key_type *)&section_cksum);" 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,_true,_true>_>\n                           ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                   *)&this->fptr_section_id_,(key_type *)&section_cksum);" statement_identifier (ERROR "::_Prime_rehash_policy,_std:" : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) :) : (labeled_statement "__detail::_Hashtable_traits<true,_true,_true>_>\n                           ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                   *)&this->fptr_section_id_,(key_type *)&section_cksum);" statement_identifier : (ERROR ":" :) (expression_statement "_Hashtable_traits<true,_true,_true>_>\n                           ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                   *)&this->fptr_section_id_,(key_type *)&section_cksum);" (comma_expression "_Hashtable_traits<true,_true,_true>_>\n                           ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                   *)&this->fptr_section_id_,(key_type *)&section_cksum)" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_true,_true>_>\n                           ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                   *)&this->fptr_section_id_,(key_type *)&section_cksum)" identifier , (binary_expression "_true>_>\n                           ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                   *)&this->fptr_section_id_,(key_type *)&section_cksum)" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) (call_expression "find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                   *)&this->fptr_section_id_,(key_type *)&section_cksum)" identifier (argument_list "((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                   *)&this->fptr_section_id_,(key_type *)&section_cksum)" ( (binary_expression "(_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                   *)&this->fptr_section_id_" (parenthesized_expression "(_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                   *)" ( (ERROR "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (comma_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "_Hashtable<std::pair<gold" (binary_expression "_Hashtable<std" identifier < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > identifier) > (ERROR "," ,) identifier) (ERROR "::__detail::_Identity" : : identifier : : identifier) , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (type_descriptor "Relobj*" type_identifier (abstract_pointer_declarator "*" *)) , (binary_expression "_unsigned_int>_>,_gold" (binary_expression "_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier) : : (comma_expression "Section_id_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,_true,_true>_>\n                                   *" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_true,_true>_>\n                                   *" identifier , (binary_expression "_true>_>\n                                   *" (binary_expression "_true>_" identifier > identifier) > (pointer_expression "*" * identifier)))) )) & (field_expression "this->fptr_section_id_" identifier -> field_identifier)) , (cast_expression "(key_type *)&section_cksum" ( (type_descriptor "key_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&section_cksum" & identifier)) )))))) ;))))) (if_statement "if (iVar31.super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>\n                      ._M_cur == (__node_type *)0x0) goto LAB_00180a97;" if (parenthesized_expression "(iVar31.super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>\n                      ._M_cur == (__node_type *)0x0)" ( (binary_expression "iVar31.super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>\n                      ._M_cur == (__node_type *)0x0" (field_expression "iVar31.super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>\n                      ._M_cur" (binary_expression "iVar31.super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true" (binary_expression "iVar31.super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "iVar31.super__Node_iterator_base<std::pair<gold" (binary_expression "iVar31.super__Node_iterator_base<std" (field_expression "iVar31.super__Node_iterator_base" identifier . field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) (ERROR ">" >) . field_identifier) == (cast_expression "(__node_type *)0x0" ( (type_descriptor "__node_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00180a97;" goto statement_identifier ;)) })) (goto_statement "goto LAB_00180c96;" goto statement_identifier ;) })) (labeled_statement "LAB_00180a97:\n              local_1a8 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                          &section_cksum;" statement_identifier : (expression_statement "local_1a8 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                          &section_cksum;" (assignment_expression "local_1a8 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                          &section_cksum" identifier = (binary_expression "(basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                          &section_cksum" (parenthesized_expression "(basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)" ( (ERROR "basic_string<char,_std::char_traits<char>,_std::" (comma_expression "basic_string<char,_std" (binary_expression "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>_> *" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (pointer_expression "*" * identifier)) )) & identifier)) ;)) (expression_statement "section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;" (assignment_expression "section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55" (field_expression "section_cksum._M_h._M_buckets" (field_expression "section_cksum._M_h" identifier . field_identifier) . field_identifier) = (cast_expression "(__bucket_type *)*ppRVar55" ( (type_descriptor "__bucket_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*ppRVar55" * identifier))) ;) (expression_statement "__position._M_current =\n                   (this->id_section_).\n                   super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                   ._M_impl._M_finish;" (field_expression "__position._M_current =\n                   (this->id_section_).\n                   super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                   ._M_impl._M_finish" (field_expression "__position._M_current =\n                   (this->id_section_).\n                   super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                   ._M_impl" (binary_expression "__position._M_current =\n                   (this->id_section_).\n                   super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_" (binary_expression "__position._M_current =\n                   (this->id_section_).\n                   super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_" (binary_expression "__position._M_current =\n                   (this->id_section_).\n                   super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "__position._M_current =\n                   (this->id_section_).\n                   super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold" (binary_expression "__position._M_current =\n                   (this->id_section_).\n                   super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std" (binary_expression "__position._M_current =\n                   (this->id_section_).\n                   super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std" (binary_expression "__position._M_current =\n                   (this->id_section_).\n                   super__Vector_base<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "__position._M_current =\n                   (this->id_section_).\n                   super__Vector_base<std::pair<gold" (assignment_expression "__position._M_current =\n                   (this->id_section_).\n                   super__Vector_base<std" (field_expression "__position._M_current" identifier . field_identifier) = (binary_expression "(this->id_section_).\n                   super__Vector_base<std" (field_expression "(this->id_section_).\n                   super__Vector_base" (parenthesized_expression "(this->id_section_)" ( (field_expression "this->id_section_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (expression_statement "section_cksum._M_h._M_bucket_count =\n                   CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);" (assignment_expression "section_cksum._M_h._M_bucket_count =\n                   CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44)" (field_expression "section_cksum._M_h._M_bucket_count" (field_expression "section_cksum._M_h" identifier . field_identifier) . field_identifier) = (call_expression "CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44)" identifier (argument_list "(section_cksum._M_h._M_bucket_count._4_4_,uVar44)" ( (field_expression "section_cksum._M_h._M_bucket_count._4_4_" (field_expression "section_cksum._M_h._M_bucket_count" (field_expression "section_cksum._M_h" identifier . field_identifier) . field_identifier) . field_identifier) , identifier )))) ;) (if_statement "if (__position._M_current ==\n                  (this->id_section_).\n                  super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                  ._M_impl._M_end_of_storage) {\n                std::\n                vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ::_M_realloc_insert<std::pair<gold::Relobj*,_unsigned_int>_>\n                          (&this->id_section_,__position,\n                           (pair<gold::Relobj*,_unsigned_int> *)local_1a8);\n              }\n              else {\n                (__position._M_current)->first = (Relobj *)section_cksum._M_h._M_buckets;\n                (__position._M_current)->second = uVar44;\n                (this->id_section_).\n                super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ._M_impl._M_finish = __position._M_current + 1;\n              }" if (parenthesized_expression "(__position._M_current ==\n                  (this->id_section_).\n                  super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                  ._M_impl._M_end_of_storage)" ( (field_expression "__position._M_current ==\n                  (this->id_section_).\n                  super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                  ._M_impl._M_end_of_storage" (field_expression "__position._M_current ==\n                  (this->id_section_).\n                  super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                  ._M_impl" (binary_expression "__position._M_current ==\n                  (this->id_section_).\n                  super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_" (binary_expression "__position._M_current ==\n                  (this->id_section_).\n                  super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_" (binary_expression "__position._M_current ==\n                  (this->id_section_).\n                  super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "__position._M_current ==\n                  (this->id_section_).\n                  super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold" (binary_expression "__position._M_current ==\n                  (this->id_section_).\n                  super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std" (binary_expression "__position._M_current ==\n                  (this->id_section_).\n                  super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std" (binary_expression "__position._M_current ==\n                  (this->id_section_).\n                  super__Vector_base<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "__position._M_current ==\n                  (this->id_section_).\n                  super__Vector_base<std::pair<gold" (binary_expression "__position._M_current ==\n                  (this->id_section_).\n                  super__Vector_base<std" (field_expression "__position._M_current" identifier . field_identifier) == (binary_expression "(this->id_section_).\n                  super__Vector_base<std" (field_expression "(this->id_section_).\n                  super__Vector_base" (parenthesized_expression "(this->id_section_)" ( (field_expression "this->id_section_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n                std::\n                vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ::_M_realloc_insert<std::pair<gold::Relobj*,_unsigned_int>_>\n                          (&this->id_section_,__position,\n                           (pair<gold::Relobj*,_unsigned_int> *)local_1a8);\n              }" { (ERROR "std::\n                vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ::_M_realloc_insert<std::pair<gold::" (comma_expression "std::\n                vector<std::pair<gold::Relobj*,_unsigned_int>,_std" identifier (ERROR "::\n                vector<std::pair<gold::Relobj*,_unsigned_int>" : : (binary_expression "vector<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : identifier * , identifier >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>_>_>\n                ::_M_realloc_insert<std" (binary_expression "Relobj*,_unsigned_int>_>_>\n                ::_M_realloc_insert" (binary_expression "Relobj*,_unsigned_int>_>_" (binary_expression "Relobj*,_unsigned_int>_" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > identifier) > identifier) > (ERROR "::" : :) identifier) < identifier) : : (binary_expression "pair<gold" identifier < identifier) : :) (expression_statement "Relobj*,_unsigned_int>_>\n                          (&this->id_section_,__position,\n                           (pair<gold::Relobj*,_unsigned_int> *)local_1a8);" (binary_expression "Relobj*,_unsigned_int>_>\n                          (&this->id_section_,__position,\n                           (pair<gold::Relobj*,_unsigned_int> *)local_1a8)" (binary_expression "Relobj*,_unsigned_int>_" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > identifier) > (parenthesized_expression "(&this->id_section_,__position,\n                           (pair<gold::Relobj*,_unsigned_int> *)local_1a8)" ( (comma_expression "&this->id_section_,__position,\n                           (pair<gold::Relobj*,_unsigned_int> *)local_1a8)" (pointer_expression "&this->id_section_" & (field_expression "this->id_section_" identifier -> field_identifier)) , (comma_expression "__position,\n                           (pair<gold::Relobj*,_unsigned_int> *)local_1a8)" identifier , (parenthesized_expression "(pair<gold::Relobj*,_unsigned_int> *)local_1a8)" ( (binary_expression "pair<gold::Relobj*,_unsigned_int> *)local_1a8" (binary_expression "pair<gold::Relobj*,_unsigned_int" (binary_expression "pair<gold" identifier < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (pointer_expression "*)local_1a8" * (ERROR ")" )) identifier)) )))) ))) ;) }) (else_clause "else {\n                (__position._M_current)->first = (Relobj *)section_cksum._M_h._M_buckets;\n                (__position._M_current)->second = uVar44;\n                (this->id_section_).\n                super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ._M_impl._M_finish = __position._M_current + 1;\n              }" else (compound_statement "{\n                (__position._M_current)->first = (Relobj *)section_cksum._M_h._M_buckets;\n                (__position._M_current)->second = uVar44;\n                (this->id_section_).\n                super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ._M_impl._M_finish = __position._M_current + 1;\n              }" { (expression_statement "(__position._M_current)->first = (Relobj *)section_cksum._M_h._M_buckets;" (assignment_expression "(__position._M_current)->first = (Relobj *)section_cksum._M_h._M_buckets" (field_expression "(__position._M_current)->first" (parenthesized_expression "(__position._M_current)" ( (field_expression "__position._M_current" identifier . field_identifier) )) -> field_identifier) = (cast_expression "(Relobj *)section_cksum._M_h._M_buckets" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "section_cksum._M_h._M_buckets" (field_expression "section_cksum._M_h" identifier . field_identifier) . field_identifier))) ;) (expression_statement "(__position._M_current)->second = uVar44;" (assignment_expression "(__position._M_current)->second = uVar44" (field_expression "(__position._M_current)->second" (parenthesized_expression "(__position._M_current)" ( (field_expression "__position._M_current" identifier . field_identifier) )) -> field_identifier) = identifier) ;) (expression_statement "(this->id_section_).\n                super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ._M_impl._M_finish = __position._M_current + 1;" (assignment_expression "(this->id_section_).\n                super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ._M_impl._M_finish = __position._M_current + 1" (field_expression "(this->id_section_).\n                super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ._M_impl._M_finish" (field_expression "(this->id_section_).\n                super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ._M_impl" (binary_expression "(this->id_section_).\n                super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_" (binary_expression "(this->id_section_).\n                super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_" (binary_expression "(this->id_section_).\n                super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "(this->id_section_).\n                super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold" (binary_expression "(this->id_section_).\n                super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std" (binary_expression "(this->id_section_).\n                super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std" (binary_expression "(this->id_section_).\n                super__Vector_base<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "(this->id_section_).\n                super__Vector_base<std::pair<gold" (binary_expression "(this->id_section_).\n                super__Vector_base<std" (field_expression "(this->id_section_).\n                super__Vector_base" (parenthesized_expression "(this->id_section_)" ( (field_expression "this->id_section_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (binary_expression "__position._M_current + 1" (field_expression "__position._M_current" identifier . field_identifier) + number_literal)) ;) }))) (expression_statement "section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55;" (assignment_expression "section_cksum._M_h._M_buckets = (__bucket_type *)*ppRVar55" (field_expression "section_cksum._M_h._M_buckets" (field_expression "section_cksum._M_h" identifier . field_identifier) . field_identifier) = (cast_expression "(__bucket_type *)*ppRVar55" ( (type_descriptor "__bucket_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*ppRVar55" * identifier))) ;) (expression_statement "section_cksum._M_h._M_bucket_count =\n                   CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44);" (assignment_expression "section_cksum._M_h._M_bucket_count =\n                   CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44)" (field_expression "section_cksum._M_h._M_bucket_count" (field_expression "section_cksum._M_h" identifier . field_identifier) . field_identifier) = (call_expression "CONCAT44(section_cksum._M_h._M_bucket_count._4_4_,uVar44)" identifier (argument_list "(section_cksum._M_h._M_bucket_count._4_4_,uVar44)" ( (field_expression "section_cksum._M_h._M_bucket_count._4_4_" (field_expression "section_cksum._M_h._M_bucket_count" (field_expression "section_cksum._M_h" identifier . field_identifier) . field_identifier) . field_identifier) , identifier )))) ;) (expression_statement "p_Var26 = (_Hash_node_base *)((ulong)section_cksum._M_h._M_buckets ^ uVar45);" (assignment_expression "p_Var26 = (_Hash_node_base *)((ulong)section_cksum._M_h._M_buckets ^ uVar45)" identifier = (cast_expression "(_Hash_node_base *)((ulong)section_cksum._M_h._M_buckets ^ uVar45)" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)section_cksum._M_h._M_buckets ^ uVar45)" ( (binary_expression "(ulong)section_cksum._M_h._M_buckets ^ uVar45" (cast_expression "(ulong)section_cksum._M_h._M_buckets" ( (type_descriptor "ulong" type_identifier) ) (field_expression "section_cksum._M_h._M_buckets" (field_expression "section_cksum._M_h" identifier . field_identifier) . field_identifier)) ^ identifier) )))) ;) (expression_statement "local_1a0 = (ulong)p_Var26 % (this->section_id_)._M_h._M_bucket_count;" (assignment_expression "local_1a0 = (ulong)p_Var26 % (this->section_id_)._M_h._M_bucket_count" identifier = (binary_expression "(ulong)p_Var26 % (this->section_id_)._M_h._M_bucket_count" (cast_expression "(ulong)p_Var26" ( (type_descriptor "ulong" type_identifier) ) identifier) % (field_expression "(this->section_id_)._M_h._M_bucket_count" (field_expression "(this->section_id_)._M_h" (parenthesized_expression "(this->section_id_)" ( (field_expression "this->section_id_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) ;) (ERROR "p_Var27 = std::\n                        _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::" (assignment_expression "p_Var27 = std" identifier = identifier) : : (binary_expression "_Hashtable<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>,_std" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>,_unsigned_int>,_std" (binary_expression "Relobj*,_unsigned_int>,_unsigned_int" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>,_unsigned_int>_>,_std" (binary_expression "Relobj*,_unsigned_int>,_unsigned_int>_" (binary_expression "Relobj*,_unsigned_int>,_unsigned_int" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) > identifier) > (ERROR "," ,) identifier) : : (comma_expression "__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold" identifier (ERROR "::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>" : : (comma_expression "_Select1st,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : identifier * , (binary_expression "_unsigned_int>_" identifier > identifier) >) , identifier) : : (comma_expression "Section_id_hash,_std" identifier , identifier) : :) (labeled_statement "__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                        ::_M_find_before_node\n                                  ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                                    *)&this->section_id_,local_1a0,(key_type *)local_1a8,\n                                   (__hash_code)p_Var26);" statement_identifier (ERROR "::_Mod_range_hashing,_std:" : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) :) : (labeled_statement "__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                        ::_M_find_before_node\n                                  ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                                    *)&this->section_id_,local_1a0,(key_type *)local_1a8,\n                                   (__hash_code)p_Var26);" statement_identifier (ERROR "::_Default_ranged_hash,_std:" : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) :) : (labeled_statement "__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                        ::_M_find_before_node\n                                  ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                                    *)&this->section_id_,local_1a0,(key_type *)local_1a8,\n                                   (__hash_code)p_Var26);" statement_identifier (ERROR "::_Prime_rehash_policy,_std:" : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) :) : (labeled_statement "__detail::_Hashtable_traits<true,_false,_true>_>\n                        ::_M_find_before_node\n                                  ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                                    *)&this->section_id_,local_1a0,(key_type *)local_1a8,\n                                   (__hash_code)p_Var26);" statement_identifier : (ERROR ":" :) (expression_statement "_Hashtable_traits<true,_false,_true>_>\n                        ::_M_find_before_node\n                                  ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                                    *)&this->section_id_,local_1a0,(key_type *)local_1a8,\n                                   (__hash_code)p_Var26);" (comma_expression "_Hashtable_traits<true,_false,_true>_>\n                        ::_M_find_before_node\n                                  ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                                    *)&this->section_id_,local_1a0,(key_type *)local_1a8,\n                                   (__hash_code)p_Var26)" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_false,_true>_>\n                        ::_M_find_before_node\n                                  ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                                    *)&this->section_id_,local_1a0,(key_type *)local_1a8,\n                                   (__hash_code)p_Var26)" identifier , (binary_expression "_true>_>\n                        ::_M_find_before_node\n                                  ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                                    *)&this->section_id_,local_1a0,(key_type *)local_1a8,\n                                   (__hash_code)p_Var26)" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) (call_expression "_M_find_before_node\n                                  ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                                    *)&this->section_id_,local_1a0,(key_type *)local_1a8,\n                                   (__hash_code)p_Var26)" identifier (argument_list "((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                                    *)&this->section_id_,local_1a0,(key_type *)local_1a8,\n                                   (__hash_code)p_Var26)" ( (binary_expression "(_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                                    *)&this->section_id_" (parenthesized_expression "(_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_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<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (comma_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std::__detail::_Select1st,_std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_>,_std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>_" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std::pair<gold" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std::pair<const_std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std::allocator<std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "_Hashtable<std::pair<gold" (binary_expression "_Hashtable<std" identifier < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) > (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) > identifier) > (ERROR "," ,) identifier) (ERROR "::__detail::_Select1st" : : identifier : : identifier) , identifier) : : identifier < identifier : : identifier < identifier : : identifier * , (binary_expression "_unsigned_int>_>,_gold" (binary_expression "_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier) : : (comma_expression "Section_id_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)))) )) & (field_expression "this->section_id_" identifier -> field_identifier)) , identifier , (cast_expression "(key_type *)local_1a8" ( (type_descriptor "key_type *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(__hash_code)p_Var26" ( (type_descriptor "__hash_code" type_identifier) ) identifier) )))))) ;))))) (if_statement "if ((p_Var27 == (__node_base *)0x0) ||\n                 (p_Var28 = p_Var27->_M_nxt, p_Var28 == (_Hash_node_base *)0x0)) {\n                    /* try { // try from 00180cad to 00180cec has its CatchHandler @ 00181f61 */\n                p_Var28 = (_Hash_node_base *)operator_new(0x28);\n                uVar41 = (this->section_id_)._M_h._M_element_count;\n                p_Var28->_M_nxt = (_Hash_node_base *)0x0;\n                uVar42 = (this->section_id_)._M_h._M_bucket_count;\n                *(undefined4 *)&p_Var28[3]._M_nxt = 0;\n                p_Var28[1]._M_nxt = (_Hash_node_base *)section_cksum._M_h._M_buckets;\n                p_Var28[2]._M_nxt = (_Hash_node_base *)section_cksum._M_h._M_bucket_count;\n                cVar19 = std::__detail::_Prime_rehash_policy::_M_need_rehash\n                                   (&(this->section_id_)._M_h._M_rehash_policy,uVar42,uVar41,1);\n                if (cVar19 == '\0') {\n                  pp_Var29 = (this->section_id_)._M_h._M_buckets;\n                }\n                else {\n                  if (this_00 ==\n                      (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n                       *)0x1) {\n                    pp_Var29 = &(this->section_id_)._M_h._M_single_bucket;\n                    (this->section_id_)._M_h._M_single_bucket = (__bucket_type)0x0;\n                  }\n                  else {\n                    /* try { // try from 00180d0d to 00180d11 has its CatchHandler @ 00181f10 */\n                    pp_Var29 = std::__detail::\n                               _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n                               ::_M_allocate_buckets(this_00,uVar42);\n                  }\n                  p_Var39 = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                  (this->section_id_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n                  if (p_Var39 != (_Hash_node_base *)0x0) {\n                    uVar41 = 0;\n                    do {\n                      while( true ) {\n                        p_Var9 = p_Var39->_M_nxt;\n                        uVar42 = (ulong)p_Var39[4]._M_nxt % (ulong)this_00;\n                        pp_Var10 = pp_Var29 + uVar42;\n                        if (*pp_Var10 == (__bucket_type)0x0) break;\n                        p_Var39->_M_nxt = (*pp_Var10)->_M_nxt;\n                        (*pp_Var10)->_M_nxt = p_Var39;\n                        uVar42 = uVar41;\nLAB_00180d64:\n                        p_Var39 = p_Var9;\n                        uVar41 = uVar42;\n                        if (p_Var9 == (_Hash_node_base *)0x0) goto LAB_00180dc0;\n                      }\n                      p_Var39->_M_nxt = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                      (this->section_id_)._M_h._M_before_begin._M_nxt = p_Var39;\n                      *pp_Var10 = &(this->section_id_)._M_h._M_before_begin;\n                      if (p_Var39->_M_nxt == (_Hash_node_base *)0x0) goto LAB_00180d64;\n                      pp_Var29[uVar41] = p_Var39;\n                      p_Var39 = p_Var9;\n                      uVar41 = uVar42;\n                    } while (p_Var9 != (_Hash_node_base *)0x0);\n                  }\nLAB_00180dc0:\n                  pp_Var10 = (this->section_id_)._M_h._M_buckets;\n                  if (pp_Var10 != &(this->section_id_)._M_h._M_single_bucket) {\n                    operator_delete(pp_Var10);\n                  }\n                  (this->section_id_)._M_h._M_buckets = pp_Var29;\n                  local_1a0 = (ulong)p_Var26 % (ulong)this_00;\n                  (this->section_id_)._M_h._M_bucket_count = (size_type)this_00;\n                }\n                p_Var28[4]._M_nxt = p_Var26;\n                pp_Var10 = pp_Var29 + local_1a0;\n                if (*pp_Var10 == (__bucket_type)0x0) {\n                  p_Var26 = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                  (this->section_id_)._M_h._M_before_begin._M_nxt = p_Var28;\n                  p_Var28->_M_nxt = p_Var26;\n                  if (p_Var26 != (_Hash_node_base *)0x0) {\n                    pp_Var29[(ulong)p_Var26[4]._M_nxt % (this->section_id_)._M_h._M_bucket_count] =\n                         p_Var28;\n                  }\n                  *pp_Var10 = &(this->section_id_)._M_h._M_before_begin;\n                }\n                else {\n                  p_Var28->_M_nxt = (*pp_Var10)->_M_nxt;\n                  (*pp_Var10)->_M_nxt = p_Var28;\n                }\n                psVar1 = &(this->section_id_)._M_h._M_element_count;\n                *psVar1 = *psVar1 + 1;\n              }" if (parenthesized_expression "((p_Var27 == (__node_base *)0x0) ||\n                 (p_Var28 = p_Var27->_M_nxt, p_Var28 == (_Hash_node_base *)0x0))" ( (binary_expression "(p_Var27 == (__node_base *)0x0) ||\n                 (p_Var28 = p_Var27->_M_nxt, p_Var28 == (_Hash_node_base *)0x0)" (parenthesized_expression "(p_Var27 == (__node_base *)0x0)" ( (binary_expression "p_Var27 == (__node_base *)0x0" identifier == (cast_expression "(__node_base *)0x0" ( (type_descriptor "__node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(p_Var28 = p_Var27->_M_nxt, p_Var28 == (_Hash_node_base *)0x0)" ( (comma_expression "p_Var28 = p_Var27->_M_nxt, p_Var28 == (_Hash_node_base *)0x0" (assignment_expression "p_Var28 = p_Var27->_M_nxt" identifier = (field_expression "p_Var27->_M_nxt" identifier -> field_identifier)) , (binary_expression "p_Var28 == (_Hash_node_base *)0x0" identifier == (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n                    /* try { // try from 00180cad to 00180cec has its CatchHandler @ 00181f61 */\n                p_Var28 = (_Hash_node_base *)operator_new(0x28);\n                uVar41 = (this->section_id_)._M_h._M_element_count;\n                p_Var28->_M_nxt = (_Hash_node_base *)0x0;\n                uVar42 = (this->section_id_)._M_h._M_bucket_count;\n                *(undefined4 *)&p_Var28[3]._M_nxt = 0;\n                p_Var28[1]._M_nxt = (_Hash_node_base *)section_cksum._M_h._M_buckets;\n                p_Var28[2]._M_nxt = (_Hash_node_base *)section_cksum._M_h._M_bucket_count;\n                cVar19 = std::__detail::_Prime_rehash_policy::_M_need_rehash\n                                   (&(this->section_id_)._M_h._M_rehash_policy,uVar42,uVar41,1);\n                if (cVar19 == '\0') {\n                  pp_Var29 = (this->section_id_)._M_h._M_buckets;\n                }\n                else {\n                  if (this_00 ==\n                      (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n                       *)0x1) {\n                    pp_Var29 = &(this->section_id_)._M_h._M_single_bucket;\n                    (this->section_id_)._M_h._M_single_bucket = (__bucket_type)0x0;\n                  }\n                  else {\n                    /* try { // try from 00180d0d to 00180d11 has its CatchHandler @ 00181f10 */\n                    pp_Var29 = std::__detail::\n                               _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n                               ::_M_allocate_buckets(this_00,uVar42);\n                  }\n                  p_Var39 = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                  (this->section_id_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n                  if (p_Var39 != (_Hash_node_base *)0x0) {\n                    uVar41 = 0;\n                    do {\n                      while( true ) {\n                        p_Var9 = p_Var39->_M_nxt;\n                        uVar42 = (ulong)p_Var39[4]._M_nxt % (ulong)this_00;\n                        pp_Var10 = pp_Var29 + uVar42;\n                        if (*pp_Var10 == (__bucket_type)0x0) break;\n                        p_Var39->_M_nxt = (*pp_Var10)->_M_nxt;\n                        (*pp_Var10)->_M_nxt = p_Var39;\n                        uVar42 = uVar41;\nLAB_00180d64:\n                        p_Var39 = p_Var9;\n                        uVar41 = uVar42;\n                        if (p_Var9 == (_Hash_node_base *)0x0) goto LAB_00180dc0;\n                      }\n                      p_Var39->_M_nxt = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                      (this->section_id_)._M_h._M_before_begin._M_nxt = p_Var39;\n                      *pp_Var10 = &(this->section_id_)._M_h._M_before_begin;\n                      if (p_Var39->_M_nxt == (_Hash_node_base *)0x0) goto LAB_00180d64;\n                      pp_Var29[uVar41] = p_Var39;\n                      p_Var39 = p_Var9;\n                      uVar41 = uVar42;\n                    } while (p_Var9 != (_Hash_node_base *)0x0);\n                  }\nLAB_00180dc0:\n                  pp_Var10 = (this->section_id_)._M_h._M_buckets;\n                  if (pp_Var10 != &(this->section_id_)._M_h._M_single_bucket) {\n                    operator_delete(pp_Var10);\n                  }\n                  (this->section_id_)._M_h._M_buckets = pp_Var29;\n                  local_1a0 = (ulong)p_Var26 % (ulong)this_00;\n                  (this->section_id_)._M_h._M_bucket_count = (size_type)this_00;\n                }\n                p_Var28[4]._M_nxt = p_Var26;\n                pp_Var10 = pp_Var29 + local_1a0;\n                if (*pp_Var10 == (__bucket_type)0x0) {\n                  p_Var26 = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                  (this->section_id_)._M_h._M_before_begin._M_nxt = p_Var28;\n                  p_Var28->_M_nxt = p_Var26;\n                  if (p_Var26 != (_Hash_node_base *)0x0) {\n                    pp_Var29[(ulong)p_Var26[4]._M_nxt % (this->section_id_)._M_h._M_bucket_count] =\n                         p_Var28;\n                  }\n                  *pp_Var10 = &(this->section_id_)._M_h._M_before_begin;\n                }\n                else {\n                  p_Var28->_M_nxt = (*pp_Var10)->_M_nxt;\n                  (*pp_Var10)->_M_nxt = p_Var28;\n                }\n                psVar1 = &(this->section_id_)._M_h._M_element_count;\n                *psVar1 = *psVar1 + 1;\n              }" { comment (expression_statement "p_Var28 = (_Hash_node_base *)operator_new(0x28);" (assignment_expression "p_Var28 = (_Hash_node_base *)operator_new(0x28)" identifier = (cast_expression "(_Hash_node_base *)operator_new(0x28)" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0x28)" identifier (argument_list "(0x28)" ( number_literal ))))) ;) (expression_statement "uVar41 = (this->section_id_)._M_h._M_element_count;" (assignment_expression "uVar41 = (this->section_id_)._M_h._M_element_count" identifier = (field_expression "(this->section_id_)._M_h._M_element_count" (field_expression "(this->section_id_)._M_h" (parenthesized_expression "(this->section_id_)" ( (field_expression "this->section_id_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "p_Var28->_M_nxt = (_Hash_node_base *)0x0;" (assignment_expression "p_Var28->_M_nxt = (_Hash_node_base *)0x0" (field_expression "p_Var28->_M_nxt" identifier -> field_identifier) = (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar42 = (this->section_id_)._M_h._M_bucket_count;" (assignment_expression "uVar42 = (this->section_id_)._M_h._M_bucket_count" identifier = (field_expression "(this->section_id_)._M_h._M_bucket_count" (field_expression "(this->section_id_)._M_h" (parenthesized_expression "(this->section_id_)" ( (field_expression "this->section_id_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "*(undefined4 *)&p_Var28[3]._M_nxt = 0;" (assignment_expression "*(undefined4 *)&p_Var28[3]._M_nxt = 0" (pointer_expression "*(undefined4 *)&p_Var28[3]._M_nxt" * (cast_expression "(undefined4 *)&p_Var28[3]._M_nxt" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&p_Var28[3]._M_nxt" & (field_expression "p_Var28[3]._M_nxt" (subscript_expression "p_Var28[3]" identifier [ number_literal ]) . field_identifier)))) = number_literal) ;) (expression_statement "p_Var28[1]._M_nxt = (_Hash_node_base *)section_cksum._M_h._M_buckets;" (assignment_expression "p_Var28[1]._M_nxt = (_Hash_node_base *)section_cksum._M_h._M_buckets" (field_expression "p_Var28[1]._M_nxt" (subscript_expression "p_Var28[1]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(_Hash_node_base *)section_cksum._M_h._M_buckets" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "section_cksum._M_h._M_buckets" (field_expression "section_cksum._M_h" identifier . field_identifier) . field_identifier))) ;) (expression_statement "p_Var28[2]._M_nxt = (_Hash_node_base *)section_cksum._M_h._M_bucket_count;" (assignment_expression "p_Var28[2]._M_nxt = (_Hash_node_base *)section_cksum._M_h._M_bucket_count" (field_expression "p_Var28[2]._M_nxt" (subscript_expression "p_Var28[2]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(_Hash_node_base *)section_cksum._M_h._M_bucket_count" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "section_cksum._M_h._M_bucket_count" (field_expression "section_cksum._M_h" identifier . field_identifier) . field_identifier))) ;) (ERROR "cVar19 = std::" (assignment_expression "cVar19 = std" identifier = identifier) : :) (labeled_statement "__detail::_Prime_rehash_policy::_M_need_rehash\n                                   (&(this->section_id_)._M_h._M_rehash_policy,uVar42,uVar41,1);" statement_identifier : (ERROR ":" :) (labeled_statement "_Prime_rehash_policy::_M_need_rehash\n                                   (&(this->section_id_)._M_h._M_rehash_policy,uVar42,uVar41,1);" statement_identifier : (ERROR ":" :) (expression_statement "_M_need_rehash\n                                   (&(this->section_id_)._M_h._M_rehash_policy,uVar42,uVar41,1);" (call_expression "_M_need_rehash\n                                   (&(this->section_id_)._M_h._M_rehash_policy,uVar42,uVar41,1)" identifier (argument_list "(&(this->section_id_)._M_h._M_rehash_policy,uVar42,uVar41,1)" ( (pointer_expression "&(this->section_id_)._M_h._M_rehash_policy" & (field_expression "(this->section_id_)._M_h._M_rehash_policy" (field_expression "(this->section_id_)._M_h" (parenthesized_expression "(this->section_id_)" ( (field_expression "this->section_id_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) , identifier , identifier , number_literal ))) ;))) (if_statement "if (cVar19 == '\0') {\n                  pp_Var29 = (this->section_id_)._M_h._M_buckets;\n                }\n                else {\n                  if (this_00 ==\n                      (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n                       *)0x1) {\n                    pp_Var29 = &(this->section_id_)._M_h._M_single_bucket;\n                    (this->section_id_)._M_h._M_single_bucket = (__bucket_type)0x0;\n                  }\n                  else {\n                    /* try { // try from 00180d0d to 00180d11 has its CatchHandler @ 00181f10 */\n                    pp_Var29 = std::__detail::\n                               _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n                               ::_M_allocate_buckets(this_00,uVar42);\n                  }\n                  p_Var39 = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                  (this->section_id_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n                  if (p_Var39 != (_Hash_node_base *)0x0) {\n                    uVar41 = 0;\n                    do {\n                      while( true ) {\n                        p_Var9 = p_Var39->_M_nxt;\n                        uVar42 = (ulong)p_Var39[4]._M_nxt % (ulong)this_00;\n                        pp_Var10 = pp_Var29 + uVar42;\n                        if (*pp_Var10 == (__bucket_type)0x0) break;\n                        p_Var39->_M_nxt = (*pp_Var10)->_M_nxt;\n                        (*pp_Var10)->_M_nxt = p_Var39;\n                        uVar42 = uVar41;\nLAB_00180d64:\n                        p_Var39 = p_Var9;\n                        uVar41 = uVar42;\n                        if (p_Var9 == (_Hash_node_base *)0x0) goto LAB_00180dc0;\n                      }\n                      p_Var39->_M_nxt = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                      (this->section_id_)._M_h._M_before_begin._M_nxt = p_Var39;\n                      *pp_Var10 = &(this->section_id_)._M_h._M_before_begin;\n                      if (p_Var39->_M_nxt == (_Hash_node_base *)0x0) goto LAB_00180d64;\n                      pp_Var29[uVar41] = p_Var39;\n                      p_Var39 = p_Var9;\n                      uVar41 = uVar42;\n                    } while (p_Var9 != (_Hash_node_base *)0x0);\n                  }\nLAB_00180dc0:\n                  pp_Var10 = (this->section_id_)._M_h._M_buckets;\n                  if (pp_Var10 != &(this->section_id_)._M_h._M_single_bucket) {\n                    operator_delete(pp_Var10);\n                  }\n                  (this->section_id_)._M_h._M_buckets = pp_Var29;\n                  local_1a0 = (ulong)p_Var26 % (ulong)this_00;\n                  (this->section_id_)._M_h._M_bucket_count = (size_type)this_00;\n                }" if (parenthesized_expression "(cVar19 == '\0')" ( (binary_expression "cVar19 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  pp_Var29 = (this->section_id_)._M_h._M_buckets;\n                }" { (expression_statement "pp_Var29 = (this->section_id_)._M_h._M_buckets;" (assignment_expression "pp_Var29 = (this->section_id_)._M_h._M_buckets" identifier = (field_expression "(this->section_id_)._M_h._M_buckets" (field_expression "(this->section_id_)._M_h" (parenthesized_expression "(this->section_id_)" ( (field_expression "this->section_id_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) }) (else_clause "else {\n                  if (this_00 ==\n                      (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n                       *)0x1) {\n                    pp_Var29 = &(this->section_id_)._M_h._M_single_bucket;\n                    (this->section_id_)._M_h._M_single_bucket = (__bucket_type)0x0;\n                  }\n                  else {\n                    /* try { // try from 00180d0d to 00180d11 has its CatchHandler @ 00181f10 */\n                    pp_Var29 = std::__detail::\n                               _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n                               ::_M_allocate_buckets(this_00,uVar42);\n                  }\n                  p_Var39 = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                  (this->section_id_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n                  if (p_Var39 != (_Hash_node_base *)0x0) {\n                    uVar41 = 0;\n                    do {\n                      while( true ) {\n                        p_Var9 = p_Var39->_M_nxt;\n                        uVar42 = (ulong)p_Var39[4]._M_nxt % (ulong)this_00;\n                        pp_Var10 = pp_Var29 + uVar42;\n                        if (*pp_Var10 == (__bucket_type)0x0) break;\n                        p_Var39->_M_nxt = (*pp_Var10)->_M_nxt;\n                        (*pp_Var10)->_M_nxt = p_Var39;\n                        uVar42 = uVar41;\nLAB_00180d64:\n                        p_Var39 = p_Var9;\n                        uVar41 = uVar42;\n                        if (p_Var9 == (_Hash_node_base *)0x0) goto LAB_00180dc0;\n                      }\n                      p_Var39->_M_nxt = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                      (this->section_id_)._M_h._M_before_begin._M_nxt = p_Var39;\n                      *pp_Var10 = &(this->section_id_)._M_h._M_before_begin;\n                      if (p_Var39->_M_nxt == (_Hash_node_base *)0x0) goto LAB_00180d64;\n                      pp_Var29[uVar41] = p_Var39;\n                      p_Var39 = p_Var9;\n                      uVar41 = uVar42;\n                    } while (p_Var9 != (_Hash_node_base *)0x0);\n                  }\nLAB_00180dc0:\n                  pp_Var10 = (this->section_id_)._M_h._M_buckets;\n                  if (pp_Var10 != &(this->section_id_)._M_h._M_single_bucket) {\n                    operator_delete(pp_Var10);\n                  }\n                  (this->section_id_)._M_h._M_buckets = pp_Var29;\n                  local_1a0 = (ulong)p_Var26 % (ulong)this_00;\n                  (this->section_id_)._M_h._M_bucket_count = (size_type)this_00;\n                }" else (compound_statement "{\n                  if (this_00 ==\n                      (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n                       *)0x1) {\n                    pp_Var29 = &(this->section_id_)._M_h._M_single_bucket;\n                    (this->section_id_)._M_h._M_single_bucket = (__bucket_type)0x0;\n                  }\n                  else {\n                    /* try { // try from 00180d0d to 00180d11 has its CatchHandler @ 00181f10 */\n                    pp_Var29 = std::__detail::\n                               _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n                               ::_M_allocate_buckets(this_00,uVar42);\n                  }\n                  p_Var39 = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                  (this->section_id_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n                  if (p_Var39 != (_Hash_node_base *)0x0) {\n                    uVar41 = 0;\n                    do {\n                      while( true ) {\n                        p_Var9 = p_Var39->_M_nxt;\n                        uVar42 = (ulong)p_Var39[4]._M_nxt % (ulong)this_00;\n                        pp_Var10 = pp_Var29 + uVar42;\n                        if (*pp_Var10 == (__bucket_type)0x0) break;\n                        p_Var39->_M_nxt = (*pp_Var10)->_M_nxt;\n                        (*pp_Var10)->_M_nxt = p_Var39;\n                        uVar42 = uVar41;\nLAB_00180d64:\n                        p_Var39 = p_Var9;\n                        uVar41 = uVar42;\n                        if (p_Var9 == (_Hash_node_base *)0x0) goto LAB_00180dc0;\n                      }\n                      p_Var39->_M_nxt = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                      (this->section_id_)._M_h._M_before_begin._M_nxt = p_Var39;\n                      *pp_Var10 = &(this->section_id_)._M_h._M_before_begin;\n                      if (p_Var39->_M_nxt == (_Hash_node_base *)0x0) goto LAB_00180d64;\n                      pp_Var29[uVar41] = p_Var39;\n                      p_Var39 = p_Var9;\n                      uVar41 = uVar42;\n                    } while (p_Var9 != (_Hash_node_base *)0x0);\n                  }\nLAB_00180dc0:\n                  pp_Var10 = (this->section_id_)._M_h._M_buckets;\n                  if (pp_Var10 != &(this->section_id_)._M_h._M_single_bucket) {\n                    operator_delete(pp_Var10);\n                  }\n                  (this->section_id_)._M_h._M_buckets = pp_Var29;\n                  local_1a0 = (ulong)p_Var26 % (ulong)this_00;\n                  (this->section_id_)._M_h._M_bucket_count = (size_type)this_00;\n                }" { (if_statement "if (this_00 ==\n                      (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n                       *)0x1) {\n                    pp_Var29 = &(this->section_id_)._M_h._M_single_bucket;\n                    (this->section_id_)._M_h._M_single_bucket = (__bucket_type)0x0;\n                  }\n                  else {\n                    /* try { // try from 00180d0d to 00180d11 has its CatchHandler @ 00181f10 */\n                    pp_Var29 = std::__detail::\n                               _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n                               ::_M_allocate_buckets(this_00,uVar42);\n                  }" if (parenthesized_expression "(this_00 ==\n                      (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n                       *)0x1)" ( (binary_expression "this_00 ==\n                      (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n                       *)0x1)" identifier == (parenthesized_expression "(_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n                       *)0x1)" ( (binary_expression "_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n                       *)0x1" (binary_expression "_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_" (binary_expression "_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_" (binary_expression "_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true" (binary_expression "_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int" (binary_expression "_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int" (binary_expression "_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold" (binary_expression "_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std" (binary_expression "_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std" (binary_expression "_Hashtable_alloc<std::allocator<std" (binary_expression "_Hashtable_alloc<std" identifier < identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::__detail::_Hash_node" : : identifier : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) > (ERROR "," ,) identifier) > identifier) > identifier) > (pointer_expression "*)0x1" * (ERROR ")" )) number_literal)) ))) )) (compound_statement "{\n                    pp_Var29 = &(this->section_id_)._M_h._M_single_bucket;\n                    (this->section_id_)._M_h._M_single_bucket = (__bucket_type)0x0;\n                  }" { (expression_statement "pp_Var29 = &(this->section_id_)._M_h._M_single_bucket;" (assignment_expression "pp_Var29 = &(this->section_id_)._M_h._M_single_bucket" identifier = (pointer_expression "&(this->section_id_)._M_h._M_single_bucket" & (field_expression "(this->section_id_)._M_h._M_single_bucket" (field_expression "(this->section_id_)._M_h" (parenthesized_expression "(this->section_id_)" ( (field_expression "this->section_id_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) ;) (expression_statement "(this->section_id_)._M_h._M_single_bucket = (__bucket_type)0x0;" (assignment_expression "(this->section_id_)._M_h._M_single_bucket = (__bucket_type)0x0" (field_expression "(this->section_id_)._M_h._M_single_bucket" (field_expression "(this->section_id_)._M_h" (parenthesized_expression "(this->section_id_)" ( (field_expression "this->section_id_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (cast_expression "(__bucket_type)0x0" ( (type_descriptor "__bucket_type" type_identifier) ) number_literal)) ;) }) (else_clause "else {\n                    /* try { // try from 00180d0d to 00180d11 has its CatchHandler @ 00181f10 */\n                    pp_Var29 = std::__detail::\n                               _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n                               ::_M_allocate_buckets(this_00,uVar42);\n                  }" else (compound_statement "{\n                    /* try { // try from 00180d0d to 00180d11 has its CatchHandler @ 00181f10 */\n                    pp_Var29 = std::__detail::\n                               _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n                               ::_M_allocate_buckets(this_00,uVar42);\n                  }" { comment (ERROR "pp_Var29 = std::" (assignment_expression "pp_Var29 = std" identifier = identifier) : :) (labeled_statement "__detail::\n                               _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n                               ::_M_allocate_buckets(this_00,uVar42);" statement_identifier (ERROR "::\n                               _Hashtable_alloc<std::allocator<std:" : : (binary_expression "_Hashtable_alloc<std" identifier < identifier) : : (binary_expression "allocator<std" identifier < identifier) :) : (expression_statement "__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n                               ::_M_allocate_buckets(this_00,uVar42);" (comma_expression "__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>,_true>_>_>\n                               ::_M_allocate_buckets(this_00,uVar42)" identifier (ERROR "::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_unsigned_int>" : : (binary_expression "_Hash_node<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : identifier * , identifier > , identifier >) , (binary_expression "_true>_>_>\n                               ::_M_allocate_buckets(this_00,uVar42)" (binary_expression "_true>_>_" (binary_expression "_true>_" identifier > identifier) > identifier) > (ERROR "::" : :) (call_expression "_M_allocate_buckets(this_00,uVar42)" identifier (argument_list "(this_00,uVar42)" ( identifier , identifier ))))) ;)) }))) (expression_statement "p_Var39 = (this->section_id_)._M_h._M_before_begin._M_nxt;" (assignment_expression "p_Var39 = (this->section_id_)._M_h._M_before_begin._M_nxt" identifier = (field_expression "(this->section_id_)._M_h._M_before_begin._M_nxt" (field_expression "(this->section_id_)._M_h._M_before_begin" (field_expression "(this->section_id_)._M_h" (parenthesized_expression "(this->section_id_)" ( (field_expression "this->section_id_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "(this->section_id_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;" (assignment_expression "(this->section_id_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0" (field_expression "(this->section_id_)._M_h._M_before_begin._M_nxt" (field_expression "(this->section_id_)._M_h._M_before_begin" (field_expression "(this->section_id_)._M_h" (parenthesized_expression "(this->section_id_)" ( (field_expression "this->section_id_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (p_Var39 != (_Hash_node_base *)0x0) {\n                    uVar41 = 0;\n                    do {\n                      while( true ) {\n                        p_Var9 = p_Var39->_M_nxt;\n                        uVar42 = (ulong)p_Var39[4]._M_nxt % (ulong)this_00;\n                        pp_Var10 = pp_Var29 + uVar42;\n                        if (*pp_Var10 == (__bucket_type)0x0) break;\n                        p_Var39->_M_nxt = (*pp_Var10)->_M_nxt;\n                        (*pp_Var10)->_M_nxt = p_Var39;\n                        uVar42 = uVar41;\nLAB_00180d64:\n                        p_Var39 = p_Var9;\n                        uVar41 = uVar42;\n                        if (p_Var9 == (_Hash_node_base *)0x0) goto LAB_00180dc0;\n                      }\n                      p_Var39->_M_nxt = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                      (this->section_id_)._M_h._M_before_begin._M_nxt = p_Var39;\n                      *pp_Var10 = &(this->section_id_)._M_h._M_before_begin;\n                      if (p_Var39->_M_nxt == (_Hash_node_base *)0x0) goto LAB_00180d64;\n                      pp_Var29[uVar41] = p_Var39;\n                      p_Var39 = p_Var9;\n                      uVar41 = uVar42;\n                    } while (p_Var9 != (_Hash_node_base *)0x0);\n                  }" if (parenthesized_expression "(p_Var39 != (_Hash_node_base *)0x0)" ( (binary_expression "p_Var39 != (_Hash_node_base *)0x0" identifier != (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    uVar41 = 0;\n                    do {\n                      while( true ) {\n                        p_Var9 = p_Var39->_M_nxt;\n                        uVar42 = (ulong)p_Var39[4]._M_nxt % (ulong)this_00;\n                        pp_Var10 = pp_Var29 + uVar42;\n                        if (*pp_Var10 == (__bucket_type)0x0) break;\n                        p_Var39->_M_nxt = (*pp_Var10)->_M_nxt;\n                        (*pp_Var10)->_M_nxt = p_Var39;\n                        uVar42 = uVar41;\nLAB_00180d64:\n                        p_Var39 = p_Var9;\n                        uVar41 = uVar42;\n                        if (p_Var9 == (_Hash_node_base *)0x0) goto LAB_00180dc0;\n                      }\n                      p_Var39->_M_nxt = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                      (this->section_id_)._M_h._M_before_begin._M_nxt = p_Var39;\n                      *pp_Var10 = &(this->section_id_)._M_h._M_before_begin;\n                      if (p_Var39->_M_nxt == (_Hash_node_base *)0x0) goto LAB_00180d64;\n                      pp_Var29[uVar41] = p_Var39;\n                      p_Var39 = p_Var9;\n                      uVar41 = uVar42;\n                    } while (p_Var9 != (_Hash_node_base *)0x0);\n                  }" { (expression_statement "uVar41 = 0;" (assignment_expression "uVar41 = 0" identifier = number_literal) ;) (do_statement "do {\n                      while( true ) {\n                        p_Var9 = p_Var39->_M_nxt;\n                        uVar42 = (ulong)p_Var39[4]._M_nxt % (ulong)this_00;\n                        pp_Var10 = pp_Var29 + uVar42;\n                        if (*pp_Var10 == (__bucket_type)0x0) break;\n                        p_Var39->_M_nxt = (*pp_Var10)->_M_nxt;\n                        (*pp_Var10)->_M_nxt = p_Var39;\n                        uVar42 = uVar41;\nLAB_00180d64:\n                        p_Var39 = p_Var9;\n                        uVar41 = uVar42;\n                        if (p_Var9 == (_Hash_node_base *)0x0) goto LAB_00180dc0;\n                      }\n                      p_Var39->_M_nxt = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                      (this->section_id_)._M_h._M_before_begin._M_nxt = p_Var39;\n                      *pp_Var10 = &(this->section_id_)._M_h._M_before_begin;\n                      if (p_Var39->_M_nxt == (_Hash_node_base *)0x0) goto LAB_00180d64;\n                      pp_Var29[uVar41] = p_Var39;\n                      p_Var39 = p_Var9;\n                      uVar41 = uVar42;\n                    } while (p_Var9 != (_Hash_node_base *)0x0);" do (compound_statement "{\n                      while( true ) {\n                        p_Var9 = p_Var39->_M_nxt;\n                        uVar42 = (ulong)p_Var39[4]._M_nxt % (ulong)this_00;\n                        pp_Var10 = pp_Var29 + uVar42;\n                        if (*pp_Var10 == (__bucket_type)0x0) break;\n                        p_Var39->_M_nxt = (*pp_Var10)->_M_nxt;\n                        (*pp_Var10)->_M_nxt = p_Var39;\n                        uVar42 = uVar41;\nLAB_00180d64:\n                        p_Var39 = p_Var9;\n                        uVar41 = uVar42;\n                        if (p_Var9 == (_Hash_node_base *)0x0) goto LAB_00180dc0;\n                      }\n                      p_Var39->_M_nxt = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                      (this->section_id_)._M_h._M_before_begin._M_nxt = p_Var39;\n                      *pp_Var10 = &(this->section_id_)._M_h._M_before_begin;\n                      if (p_Var39->_M_nxt == (_Hash_node_base *)0x0) goto LAB_00180d64;\n                      pp_Var29[uVar41] = p_Var39;\n                      p_Var39 = p_Var9;\n                      uVar41 = uVar42;\n                    }" { (while_statement "while( true ) {\n                        p_Var9 = p_Var39->_M_nxt;\n                        uVar42 = (ulong)p_Var39[4]._M_nxt % (ulong)this_00;\n                        pp_Var10 = pp_Var29 + uVar42;\n                        if (*pp_Var10 == (__bucket_type)0x0) break;\n                        p_Var39->_M_nxt = (*pp_Var10)->_M_nxt;\n                        (*pp_Var10)->_M_nxt = p_Var39;\n                        uVar42 = uVar41;\nLAB_00180d64:\n                        p_Var39 = p_Var9;\n                        uVar41 = uVar42;\n                        if (p_Var9 == (_Hash_node_base *)0x0) goto LAB_00180dc0;\n                      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                        p_Var9 = p_Var39->_M_nxt;\n                        uVar42 = (ulong)p_Var39[4]._M_nxt % (ulong)this_00;\n                        pp_Var10 = pp_Var29 + uVar42;\n                        if (*pp_Var10 == (__bucket_type)0x0) break;\n                        p_Var39->_M_nxt = (*pp_Var10)->_M_nxt;\n                        (*pp_Var10)->_M_nxt = p_Var39;\n                        uVar42 = uVar41;\nLAB_00180d64:\n                        p_Var39 = p_Var9;\n                        uVar41 = uVar42;\n                        if (p_Var9 == (_Hash_node_base *)0x0) goto LAB_00180dc0;\n                      }" { (expression_statement "p_Var9 = p_Var39->_M_nxt;" (assignment_expression "p_Var9 = p_Var39->_M_nxt" identifier = (field_expression "p_Var39->_M_nxt" identifier -> field_identifier)) ;) (expression_statement "uVar42 = (ulong)p_Var39[4]._M_nxt % (ulong)this_00;" (assignment_expression "uVar42 = (ulong)p_Var39[4]._M_nxt % (ulong)this_00" identifier = (binary_expression "(ulong)p_Var39[4]._M_nxt % (ulong)this_00" (cast_expression "(ulong)p_Var39[4]._M_nxt" ( (type_descriptor "ulong" type_identifier) ) (field_expression "p_Var39[4]._M_nxt" (subscript_expression "p_Var39[4]" identifier [ number_literal ]) . field_identifier)) % (cast_expression "(ulong)this_00" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) (expression_statement "pp_Var10 = pp_Var29 + uVar42;" (assignment_expression "pp_Var10 = pp_Var29 + uVar42" identifier = (binary_expression "pp_Var29 + uVar42" identifier + identifier)) ;) (if_statement "if (*pp_Var10 == (__bucket_type)0x0) break;" if (parenthesized_expression "(*pp_Var10 == (__bucket_type)0x0)" ( (binary_expression "*pp_Var10 == (__bucket_type)0x0" (pointer_expression "*pp_Var10" * identifier) == (cast_expression "(__bucket_type)0x0" ( (type_descriptor "__bucket_type" type_identifier) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "p_Var39->_M_nxt = (*pp_Var10)->_M_nxt;" (assignment_expression "p_Var39->_M_nxt = (*pp_Var10)->_M_nxt" (field_expression "p_Var39->_M_nxt" identifier -> field_identifier) = (field_expression "(*pp_Var10)->_M_nxt" (parenthesized_expression "(*pp_Var10)" ( (pointer_expression "*pp_Var10" * identifier) )) -> field_identifier)) ;) (expression_statement "(*pp_Var10)->_M_nxt = p_Var39;" (assignment_expression "(*pp_Var10)->_M_nxt = p_Var39" (field_expression "(*pp_Var10)->_M_nxt" (parenthesized_expression "(*pp_Var10)" ( (pointer_expression "*pp_Var10" * identifier) )) -> field_identifier) = identifier) ;) (expression_statement "uVar42 = uVar41;" (assignment_expression "uVar42 = uVar41" identifier = identifier) ;) (labeled_statement "LAB_00180d64:\n                        p_Var39 = p_Var9;" statement_identifier : (expression_statement "p_Var39 = p_Var9;" (assignment_expression "p_Var39 = p_Var9" identifier = identifier) ;)) (expression_statement "uVar41 = uVar42;" (assignment_expression "uVar41 = uVar42" identifier = identifier) ;) (if_statement "if (p_Var9 == (_Hash_node_base *)0x0) goto LAB_00180dc0;" if (parenthesized_expression "(p_Var9 == (_Hash_node_base *)0x0)" ( (binary_expression "p_Var9 == (_Hash_node_base *)0x0" identifier == (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00180dc0;" goto statement_identifier ;)) })) (expression_statement "p_Var39->_M_nxt = (this->section_id_)._M_h._M_before_begin._M_nxt;" (assignment_expression "p_Var39->_M_nxt = (this->section_id_)._M_h._M_before_begin._M_nxt" (field_expression "p_Var39->_M_nxt" identifier -> field_identifier) = (field_expression "(this->section_id_)._M_h._M_before_begin._M_nxt" (field_expression "(this->section_id_)._M_h._M_before_begin" (field_expression "(this->section_id_)._M_h" (parenthesized_expression "(this->section_id_)" ( (field_expression "this->section_id_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "(this->section_id_)._M_h._M_before_begin._M_nxt = p_Var39;" (assignment_expression "(this->section_id_)._M_h._M_before_begin._M_nxt = p_Var39" (field_expression "(this->section_id_)._M_h._M_before_begin._M_nxt" (field_expression "(this->section_id_)._M_h._M_before_begin" (field_expression "(this->section_id_)._M_h" (parenthesized_expression "(this->section_id_)" ( (field_expression "this->section_id_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "*pp_Var10 = &(this->section_id_)._M_h._M_before_begin;" (assignment_expression "*pp_Var10 = &(this->section_id_)._M_h._M_before_begin" (pointer_expression "*pp_Var10" * identifier) = (pointer_expression "&(this->section_id_)._M_h._M_before_begin" & (field_expression "(this->section_id_)._M_h._M_before_begin" (field_expression "(this->section_id_)._M_h" (parenthesized_expression "(this->section_id_)" ( (field_expression "this->section_id_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) ;) (if_statement "if (p_Var39->_M_nxt == (_Hash_node_base *)0x0) goto LAB_00180d64;" if (parenthesized_expression "(p_Var39->_M_nxt == (_Hash_node_base *)0x0)" ( (binary_expression "p_Var39->_M_nxt == (_Hash_node_base *)0x0" (field_expression "p_Var39->_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_00180d64;" goto statement_identifier ;)) (expression_statement "pp_Var29[uVar41] = p_Var39;" (assignment_expression "pp_Var29[uVar41] = p_Var39" (subscript_expression "pp_Var29[uVar41]" identifier [ identifier ]) = identifier) ;) (expression_statement "p_Var39 = p_Var9;" (assignment_expression "p_Var39 = p_Var9" identifier = identifier) ;) (expression_statement "uVar41 = uVar42;" (assignment_expression "uVar41 = uVar42" identifier = identifier) ;) }) while (parenthesized_expression "(p_Var9 != (_Hash_node_base *)0x0)" ( (binary_expression "p_Var9 != (_Hash_node_base *)0x0" identifier != (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (labeled_statement "LAB_00180dc0:\n                  pp_Var10 = (this->section_id_)._M_h._M_buckets;" statement_identifier : (expression_statement "pp_Var10 = (this->section_id_)._M_h._M_buckets;" (assignment_expression "pp_Var10 = (this->section_id_)._M_h._M_buckets" identifier = (field_expression "(this->section_id_)._M_h._M_buckets" (field_expression "(this->section_id_)._M_h" (parenthesized_expression "(this->section_id_)" ( (field_expression "this->section_id_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;)) (if_statement "if (pp_Var10 != &(this->section_id_)._M_h._M_single_bucket) {\n                    operator_delete(pp_Var10);\n                  }" if (parenthesized_expression "(pp_Var10 != &(this->section_id_)._M_h._M_single_bucket)" ( (binary_expression "pp_Var10 != &(this->section_id_)._M_h._M_single_bucket" identifier != (pointer_expression "&(this->section_id_)._M_h._M_single_bucket" & (field_expression "(this->section_id_)._M_h._M_single_bucket" (field_expression "(this->section_id_)._M_h" (parenthesized_expression "(this->section_id_)" ( (field_expression "this->section_id_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) )) (compound_statement "{\n                    operator_delete(pp_Var10);\n                  }" { (expression_statement "operator_delete(pp_Var10);" (call_expression "operator_delete(pp_Var10)" identifier (argument_list "(pp_Var10)" ( identifier ))) ;) })) (expression_statement "(this->section_id_)._M_h._M_buckets = pp_Var29;" (assignment_expression "(this->section_id_)._M_h._M_buckets = pp_Var29" (field_expression "(this->section_id_)._M_h._M_buckets" (field_expression "(this->section_id_)._M_h" (parenthesized_expression "(this->section_id_)" ( (field_expression "this->section_id_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "local_1a0 = (ulong)p_Var26 % (ulong)this_00;" (assignment_expression "local_1a0 = (ulong)p_Var26 % (ulong)this_00" identifier = (binary_expression "(ulong)p_Var26 % (ulong)this_00" (cast_expression "(ulong)p_Var26" ( (type_descriptor "ulong" type_identifier) ) identifier) % (cast_expression "(ulong)this_00" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) (expression_statement "(this->section_id_)._M_h._M_bucket_count = (size_type)this_00;" (assignment_expression "(this->section_id_)._M_h._M_bucket_count = (size_type)this_00" (field_expression "(this->section_id_)._M_h._M_bucket_count" (field_expression "(this->section_id_)._M_h" (parenthesized_expression "(this->section_id_)" ( (field_expression "this->section_id_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (cast_expression "(size_type)this_00" ( (type_descriptor "size_type" type_identifier) ) identifier)) ;) }))) (expression_statement "p_Var28[4]._M_nxt = p_Var26;" (assignment_expression "p_Var28[4]._M_nxt = p_Var26" (field_expression "p_Var28[4]._M_nxt" (subscript_expression "p_Var28[4]" identifier [ number_literal ]) . field_identifier) = identifier) ;) (expression_statement "pp_Var10 = pp_Var29 + local_1a0;" (assignment_expression "pp_Var10 = pp_Var29 + local_1a0" identifier = (binary_expression "pp_Var29 + local_1a0" identifier + identifier)) ;) (if_statement "if (*pp_Var10 == (__bucket_type)0x0) {\n                  p_Var26 = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                  (this->section_id_)._M_h._M_before_begin._M_nxt = p_Var28;\n                  p_Var28->_M_nxt = p_Var26;\n                  if (p_Var26 != (_Hash_node_base *)0x0) {\n                    pp_Var29[(ulong)p_Var26[4]._M_nxt % (this->section_id_)._M_h._M_bucket_count] =\n                         p_Var28;\n                  }\n                  *pp_Var10 = &(this->section_id_)._M_h._M_before_begin;\n                }\n                else {\n                  p_Var28->_M_nxt = (*pp_Var10)->_M_nxt;\n                  (*pp_Var10)->_M_nxt = p_Var28;\n                }" if (parenthesized_expression "(*pp_Var10 == (__bucket_type)0x0)" ( (binary_expression "*pp_Var10 == (__bucket_type)0x0" (pointer_expression "*pp_Var10" * identifier) == (cast_expression "(__bucket_type)0x0" ( (type_descriptor "__bucket_type" type_identifier) ) number_literal)) )) (compound_statement "{\n                  p_Var26 = (this->section_id_)._M_h._M_before_begin._M_nxt;\n                  (this->section_id_)._M_h._M_before_begin._M_nxt = p_Var28;\n                  p_Var28->_M_nxt = p_Var26;\n                  if (p_Var26 != (_Hash_node_base *)0x0) {\n                    pp_Var29[(ulong)p_Var26[4]._M_nxt % (this->section_id_)._M_h._M_bucket_count] =\n                         p_Var28;\n                  }\n                  *pp_Var10 = &(this->section_id_)._M_h._M_before_begin;\n                }" { (expression_statement "p_Var26 = (this->section_id_)._M_h._M_before_begin._M_nxt;" (assignment_expression "p_Var26 = (this->section_id_)._M_h._M_before_begin._M_nxt" identifier = (field_expression "(this->section_id_)._M_h._M_before_begin._M_nxt" (field_expression "(this->section_id_)._M_h._M_before_begin" (field_expression "(this->section_id_)._M_h" (parenthesized_expression "(this->section_id_)" ( (field_expression "this->section_id_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "(this->section_id_)._M_h._M_before_begin._M_nxt = p_Var28;" (assignment_expression "(this->section_id_)._M_h._M_before_begin._M_nxt = p_Var28" (field_expression "(this->section_id_)._M_h._M_before_begin._M_nxt" (field_expression "(this->section_id_)._M_h._M_before_begin" (field_expression "(this->section_id_)._M_h" (parenthesized_expression "(this->section_id_)" ( (field_expression "this->section_id_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "p_Var28->_M_nxt = p_Var26;" (assignment_expression "p_Var28->_M_nxt = p_Var26" (field_expression "p_Var28->_M_nxt" identifier -> field_identifier) = identifier) ;) (if_statement "if (p_Var26 != (_Hash_node_base *)0x0) {\n                    pp_Var29[(ulong)p_Var26[4]._M_nxt % (this->section_id_)._M_h._M_bucket_count] =\n                         p_Var28;\n                  }" if (parenthesized_expression "(p_Var26 != (_Hash_node_base *)0x0)" ( (binary_expression "p_Var26 != (_Hash_node_base *)0x0" identifier != (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    pp_Var29[(ulong)p_Var26[4]._M_nxt % (this->section_id_)._M_h._M_bucket_count] =\n                         p_Var28;\n                  }" { (expression_statement "pp_Var29[(ulong)p_Var26[4]._M_nxt % (this->section_id_)._M_h._M_bucket_count] =\n                         p_Var28;" (assignment_expression "pp_Var29[(ulong)p_Var26[4]._M_nxt % (this->section_id_)._M_h._M_bucket_count] =\n                         p_Var28" (subscript_expression "pp_Var29[(ulong)p_Var26[4]._M_nxt % (this->section_id_)._M_h._M_bucket_count]" identifier [ (binary_expression "(ulong)p_Var26[4]._M_nxt % (this->section_id_)._M_h._M_bucket_count" (cast_expression "(ulong)p_Var26[4]._M_nxt" ( (type_descriptor "ulong" type_identifier) ) (field_expression "p_Var26[4]._M_nxt" (subscript_expression "p_Var26[4]" identifier [ number_literal ]) . field_identifier)) % (field_expression "(this->section_id_)._M_h._M_bucket_count" (field_expression "(this->section_id_)._M_h" (parenthesized_expression "(this->section_id_)" ( (field_expression "this->section_id_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ]) = identifier) ;) })) (expression_statement "*pp_Var10 = &(this->section_id_)._M_h._M_before_begin;" (assignment_expression "*pp_Var10 = &(this->section_id_)._M_h._M_before_begin" (pointer_expression "*pp_Var10" * identifier) = (pointer_expression "&(this->section_id_)._M_h._M_before_begin" & (field_expression "(this->section_id_)._M_h._M_before_begin" (field_expression "(this->section_id_)._M_h" (parenthesized_expression "(this->section_id_)" ( (field_expression "this->section_id_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) ;) }) (else_clause "else {\n                  p_Var28->_M_nxt = (*pp_Var10)->_M_nxt;\n                  (*pp_Var10)->_M_nxt = p_Var28;\n                }" else (compound_statement "{\n                  p_Var28->_M_nxt = (*pp_Var10)->_M_nxt;\n                  (*pp_Var10)->_M_nxt = p_Var28;\n                }" { (expression_statement "p_Var28->_M_nxt = (*pp_Var10)->_M_nxt;" (assignment_expression "p_Var28->_M_nxt = (*pp_Var10)->_M_nxt" (field_expression "p_Var28->_M_nxt" identifier -> field_identifier) = (field_expression "(*pp_Var10)->_M_nxt" (parenthesized_expression "(*pp_Var10)" ( (pointer_expression "*pp_Var10" * identifier) )) -> field_identifier)) ;) (expression_statement "(*pp_Var10)->_M_nxt = p_Var28;" (assignment_expression "(*pp_Var10)->_M_nxt = p_Var28" (field_expression "(*pp_Var10)->_M_nxt" (parenthesized_expression "(*pp_Var10)" ( (pointer_expression "*pp_Var10" * identifier) )) -> field_identifier) = identifier) ;) }))) (expression_statement "psVar1 = &(this->section_id_)._M_h._M_element_count;" (assignment_expression "psVar1 = &(this->section_id_)._M_h._M_element_count" identifier = (pointer_expression "&(this->section_id_)._M_h._M_element_count" & (field_expression "(this->section_id_)._M_h._M_element_count" (field_expression "(this->section_id_)._M_h" (parenthesized_expression "(this->section_id_)" ( (field_expression "this->section_id_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) ;) (expression_statement "*psVar1 = *psVar1 + 1;" (assignment_expression "*psVar1 = *psVar1 + 1" (pointer_expression "*psVar1" * identifier) = (binary_expression "*psVar1 + 1" (pointer_expression "*psVar1" * identifier) + number_literal)) ;) })) (ERROR "puVar11 = (this->kept_section_id_).\n                        super__Vector_base<unsigned_int,_std::" (comma_expression "puVar11 = (this->kept_section_id_).\n                        super__Vector_base<unsigned_int,_std" (assignment_expression "puVar11 = (this->kept_section_id_).\n                        super__Vector_base<unsigned_int" identifier = (binary_expression "(this->kept_section_id_).\n                        super__Vector_base<unsigned_int" (field_expression "(this->kept_section_id_).\n                        super__Vector_base" (parenthesized_expression "(this->kept_section_id_)" ( (field_expression "this->kept_section_id_" identifier -> field_identifier) )) . field_identifier) < identifier)) , identifier) : :) (expression_statement "allocator<unsigned_int>_>._M_impl.\n                        _M_finish;" (field_expression "allocator<unsigned_int>_>._M_impl.\n                        _M_finish" (field_expression "allocator<unsigned_int>_>._M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (expression_statement "*(uint *)&p_Var28[3]._M_nxt = uVar4;" (assignment_expression "*(uint *)&p_Var28[3]._M_nxt = uVar4" (pointer_expression "*(uint *)&p_Var28[3]._M_nxt" * (cast_expression "(uint *)&p_Var28[3]._M_nxt" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&p_Var28[3]._M_nxt" & (field_expression "p_Var28[3]._M_nxt" (subscript_expression "p_Var28[3]" identifier [ number_literal ]) . field_identifier)))) = identifier) ;) (if_statement "if (puVar11 ==\n                  (this->kept_section_id_).\n                  super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                  _M_end_of_storage) {\n                __src = (this->kept_section_id_).\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start;\n                sVar32 = (long)puVar11 - (long)__src;\n                uVar41 = (long)sVar32 >> 2;\n                if (uVar41 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (pointer)operator_new(local_1d0);\n                  local_1e8 = (pointer)(local_1d0 + (long)__dest);\n                }\n                else {\n                  uVar42 = uVar41 * 2;\n                  if (uVar42 < uVar41) {\n                    local_1d0 = 0xfffffffffffffffc;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = 0xfffffffffffffffc;\n                  if (0x3fffffffffffffff < uVar42) goto LAB_00181065;\n                  if (uVar42 != 0) {\n                    local_1d0 = uVar41 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = (pointer)0x0;\n                  __dest = (pointer)0x0;\n                }\n                *(uint *)((long)__dest + sVar32) = uVar4;\n                puVar3 = (pointer)((long)__dest + sVar32 + 4);\n                if (puVar11 == __src) {\n                  if (__src != (pointer)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = (pointer)memmove(__dest,__src,sVar32);\nLAB_001810bd:\n                  operator_delete(__src);\n                }\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start =\n                     __dest;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n                     puVar3;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                _M_end_of_storage = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *puVar11 = uVar4;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n                     puVar11 + 1;\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar32 = (long)local_1b0 - (long)local_1d8;\n                uVar41 = (long)sVar32 >> 2;\n                if (uVar41 == 0) {\n                  uVar42 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)operator_new(uVar42);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + uVar42);\n                }\n                else {\n                  uVar34 = uVar41 * 2;\n                  if (uVar34 < uVar41) {\n                    uVar42 = 0xfffffffffffffffc;\n                    goto LAB_0018114e;\n                  }\n                  uVar42 = 0xfffffffffffffffc;\n                  if (0x3fffffffffffffff < uVar34) goto LAB_0018114e;\n                  if (uVar34 != 0) {\n                    uVar42 = uVar41 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar32) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar32 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar32);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar32 + 4);\nLAB_001811a1:\n                  operator_delete(local_1d8);\n                }\n              }" if (parenthesized_expression "(puVar11 ==\n                  (this->kept_section_id_).\n                  super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                  _M_end_of_storage)" ( (ERROR "puVar11 ==\n                  (this->kept_section_id_).\n                  super__Vector_base<unsigned_int,_std::" (comma_expression "puVar11 ==\n                  (this->kept_section_id_).\n                  super__Vector_base<unsigned_int,_std" (binary_expression "puVar11 ==\n                  (this->kept_section_id_).\n                  super__Vector_base<unsigned_int" identifier == (binary_expression "(this->kept_section_id_).\n                  super__Vector_base<unsigned_int" (field_expression "(this->kept_section_id_).\n                  super__Vector_base" (parenthesized_expression "(this->kept_section_id_)" ( (field_expression "this->kept_section_id_" identifier -> field_identifier) )) . field_identifier) < identifier)) , identifier) : :) (field_expression "allocator<unsigned_int>_>._M_impl.\n                  _M_end_of_storage" (field_expression "allocator<unsigned_int>_>._M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n                __src = (this->kept_section_id_).\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start;\n                sVar32 = (long)puVar11 - (long)__src;\n                uVar41 = (long)sVar32 >> 2;\n                if (uVar41 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (pointer)operator_new(local_1d0);\n                  local_1e8 = (pointer)(local_1d0 + (long)__dest);\n                }\n                else {\n                  uVar42 = uVar41 * 2;\n                  if (uVar42 < uVar41) {\n                    local_1d0 = 0xfffffffffffffffc;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = 0xfffffffffffffffc;\n                  if (0x3fffffffffffffff < uVar42) goto LAB_00181065;\n                  if (uVar42 != 0) {\n                    local_1d0 = uVar41 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = (pointer)0x0;\n                  __dest = (pointer)0x0;\n                }\n                *(uint *)((long)__dest + sVar32) = uVar4;\n                puVar3 = (pointer)((long)__dest + sVar32 + 4);\n                if (puVar11 == __src) {\n                  if (__src != (pointer)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = (pointer)memmove(__dest,__src,sVar32);\nLAB_001810bd:\n                  operator_delete(__src);\n                }\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start =\n                     __dest;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n                     puVar3;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                _M_end_of_storage = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }" { (ERROR "__src = (this->kept_section_id_).\n                        super__Vector_base<unsigned_int,_std::" (comma_expression "__src = (this->kept_section_id_).\n                        super__Vector_base<unsigned_int,_std" (assignment_expression "__src = (this->kept_section_id_).\n                        super__Vector_base<unsigned_int" identifier = (binary_expression "(this->kept_section_id_).\n                        super__Vector_base<unsigned_int" (field_expression "(this->kept_section_id_).\n                        super__Vector_base" (parenthesized_expression "(this->kept_section_id_)" ( (field_expression "this->kept_section_id_" identifier -> field_identifier) )) . field_identifier) < identifier)) , identifier) : :) (expression_statement "allocator<unsigned_int>_>._M_impl.\n                        _M_start;" (field_expression "allocator<unsigned_int>_>._M_impl.\n                        _M_start" (field_expression "allocator<unsigned_int>_>._M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (expression_statement "sVar32 = (long)puVar11 - (long)__src;" (assignment_expression "sVar32 = (long)puVar11 - (long)__src" identifier = (binary_expression "(long)puVar11 - (long)__src" (cast_expression "(long)puVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)__src" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) ;) (expression_statement "uVar41 = (long)sVar32 >> 2;" (assignment_expression "uVar41 = (long)sVar32 >> 2" identifier = (binary_expression "(long)sVar32 >> 2" (cast_expression "(long)sVar32" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) >> number_literal)) ;) (if_statement "if (uVar41 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (pointer)operator_new(local_1d0);\n                  local_1e8 = (pointer)(local_1d0 + (long)__dest);\n                }\n                else {\n                  uVar42 = uVar41 * 2;\n                  if (uVar42 < uVar41) {\n                    local_1d0 = 0xfffffffffffffffc;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = 0xfffffffffffffffc;\n                  if (0x3fffffffffffffff < uVar42) goto LAB_00181065;\n                  if (uVar42 != 0) {\n                    local_1d0 = uVar41 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = (pointer)0x0;\n                  __dest = (pointer)0x0;\n                }" if (parenthesized_expression "(uVar41 == 0)" ( (binary_expression "uVar41 == 0" identifier == number_literal) )) (compound_statement "{\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (pointer)operator_new(local_1d0);\n                  local_1e8 = (pointer)(local_1d0 + (long)__dest);\n                }" { (expression_statement "local_1d0 = 4;" (assignment_expression "local_1d0 = 4" identifier = number_literal) ;) (labeled_statement "LAB_00181065:\n                  __dest = (pointer)operator_new(local_1d0);" statement_identifier : (expression_statement "__dest = (pointer)operator_new(local_1d0);" (assignment_expression "__dest = (pointer)operator_new(local_1d0)" identifier = (cast_expression "(pointer)operator_new(local_1d0)" ( (type_descriptor "pointer" type_identifier) ) (call_expression "operator_new(local_1d0)" identifier (argument_list "(local_1d0)" ( identifier ))))) ;)) (expression_statement "local_1e8 = (pointer)(local_1d0 + (long)__dest);" (assignment_expression "local_1e8 = (pointer)(local_1d0 + (long)__dest)" identifier = (call_expression "(pointer)(local_1d0 + (long)__dest)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "(local_1d0 + (long)__dest)" ( (binary_expression "local_1d0 + (long)__dest" identifier + (cast_expression "(long)__dest" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )))) ;) }) (else_clause "else {\n                  uVar42 = uVar41 * 2;\n                  if (uVar42 < uVar41) {\n                    local_1d0 = 0xfffffffffffffffc;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = 0xfffffffffffffffc;\n                  if (0x3fffffffffffffff < uVar42) goto LAB_00181065;\n                  if (uVar42 != 0) {\n                    local_1d0 = uVar41 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = (pointer)0x0;\n                  __dest = (pointer)0x0;\n                }" else (compound_statement "{\n                  uVar42 = uVar41 * 2;\n                  if (uVar42 < uVar41) {\n                    local_1d0 = 0xfffffffffffffffc;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = 0xfffffffffffffffc;\n                  if (0x3fffffffffffffff < uVar42) goto LAB_00181065;\n                  if (uVar42 != 0) {\n                    local_1d0 = uVar41 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = (pointer)0x0;\n                  __dest = (pointer)0x0;\n                }" { (expression_statement "uVar42 = uVar41 * 2;" (assignment_expression "uVar42 = uVar41 * 2" identifier = (binary_expression "uVar41 * 2" identifier * number_literal)) ;) (if_statement "if (uVar42 < uVar41) {\n                    local_1d0 = 0xfffffffffffffffc;\n                    goto LAB_00181065;\n                  }" if (parenthesized_expression "(uVar42 < uVar41)" ( (binary_expression "uVar42 < uVar41" identifier < identifier) )) (compound_statement "{\n                    local_1d0 = 0xfffffffffffffffc;\n                    goto LAB_00181065;\n                  }" { (expression_statement "local_1d0 = 0xfffffffffffffffc;" (assignment_expression "local_1d0 = 0xfffffffffffffffc" identifier = number_literal) ;) (goto_statement "goto LAB_00181065;" goto statement_identifier ;) })) (expression_statement "local_1d0 = 0xfffffffffffffffc;" (assignment_expression "local_1d0 = 0xfffffffffffffffc" identifier = number_literal) ;) (if_statement "if (0x3fffffffffffffff < uVar42) goto LAB_00181065;" if (parenthesized_expression "(0x3fffffffffffffff < uVar42)" ( (binary_expression "0x3fffffffffffffff < uVar42" number_literal < identifier) )) (goto_statement "goto LAB_00181065;" goto statement_identifier ;)) (if_statement "if (uVar42 != 0) {\n                    local_1d0 = uVar41 << 3;\n                    goto LAB_00181065;\n                  }" if (parenthesized_expression "(uVar42 != 0)" ( (binary_expression "uVar42 != 0" identifier != number_literal) )) (compound_statement "{\n                    local_1d0 = uVar41 << 3;\n                    goto LAB_00181065;\n                  }" { (expression_statement "local_1d0 = uVar41 << 3;" (assignment_expression "local_1d0 = uVar41 << 3" identifier = (binary_expression "uVar41 << 3" identifier << number_literal)) ;) (goto_statement "goto LAB_00181065;" goto statement_identifier ;) })) (expression_statement "local_1e8 = (pointer)0x0;" (assignment_expression "local_1e8 = (pointer)0x0" identifier = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "__dest = (pointer)0x0;" (assignment_expression "__dest = (pointer)0x0" identifier = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) }))) (expression_statement "*(uint *)((long)__dest + sVar32) = uVar4;" (assignment_expression "*(uint *)((long)__dest + sVar32) = uVar4" (pointer_expression "*(uint *)((long)__dest + sVar32)" * (cast_expression "(uint *)((long)__dest + sVar32)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__dest + sVar32)" ( (binary_expression "(long)__dest + sVar32" (cast_expression "(long)__dest" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) )))) = identifier) ;) (expression_statement "puVar3 = (pointer)((long)__dest + sVar32 + 4);" (assignment_expression "puVar3 = (pointer)((long)__dest + sVar32 + 4)" identifier = (call_expression "(pointer)((long)__dest + sVar32 + 4)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((long)__dest + sVar32 + 4)" ( (binary_expression "(long)__dest + sVar32 + 4" (binary_expression "(long)__dest + sVar32" (cast_expression "(long)__dest" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (if_statement "if (puVar11 == __src) {\n                  if (__src != (pointer)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = (pointer)memmove(__dest,__src,sVar32);\nLAB_001810bd:\n                  operator_delete(__src);\n                }" if (parenthesized_expression "(puVar11 == __src)" ( (binary_expression "puVar11 == __src" identifier == identifier) )) (compound_statement "{\n                  if (__src != (pointer)0x0) goto LAB_001810bd;\n                }" { (if_statement "if (__src != (pointer)0x0) goto LAB_001810bd;" if (parenthesized_expression "(__src != (pointer)0x0)" ( (binary_expression "__src != (pointer)0x0" identifier != (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_001810bd;" goto statement_identifier ;)) }) (else_clause "else {\n                  __dest = (pointer)memmove(__dest,__src,sVar32);\nLAB_001810bd:\n                  operator_delete(__src);\n                }" else (compound_statement "{\n                  __dest = (pointer)memmove(__dest,__src,sVar32);\nLAB_001810bd:\n                  operator_delete(__src);\n                }" { (expression_statement "__dest = (pointer)memmove(__dest,__src,sVar32);" (assignment_expression "__dest = (pointer)memmove(__dest,__src,sVar32)" identifier = (cast_expression "(pointer)memmove(__dest,__src,sVar32)" ( (type_descriptor "pointer" type_identifier) ) (call_expression "memmove(__dest,__src,sVar32)" identifier (argument_list "(__dest,__src,sVar32)" ( identifier , identifier , identifier ))))) ;) (labeled_statement "LAB_001810bd:\n                  operator_delete(__src);" statement_identifier : (expression_statement "operator_delete(__src);" (call_expression "operator_delete(__src)" identifier (argument_list "(__src)" ( identifier ))) ;)) }))) (ERROR "(this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::" (comma_expression "(this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std" (binary_expression "(this->kept_section_id_).\n                super__Vector_base<unsigned_int" (field_expression "(this->kept_section_id_).\n                super__Vector_base" (parenthesized_expression "(this->kept_section_id_)" ( (field_expression "this->kept_section_id_" identifier -> field_identifier) )) . field_identifier) < identifier) , identifier) : :) (expression_statement "allocator<unsigned_int>_>._M_impl._M_start =\n                     __dest;" (assignment_expression "allocator<unsigned_int>_>._M_impl._M_start =\n                     __dest" (field_expression "allocator<unsigned_int>_>._M_impl._M_start" (field_expression "allocator<unsigned_int>_>._M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = identifier) ;) (ERROR "(this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::" (comma_expression "(this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std" (binary_expression "(this->kept_section_id_).\n                super__Vector_base<unsigned_int" (field_expression "(this->kept_section_id_).\n                super__Vector_base" (parenthesized_expression "(this->kept_section_id_)" ( (field_expression "this->kept_section_id_" identifier -> field_identifier) )) . field_identifier) < identifier) , identifier) : :) (expression_statement "allocator<unsigned_int>_>._M_impl._M_finish =\n                     puVar3;" (assignment_expression "allocator<unsigned_int>_>._M_impl._M_finish =\n                     puVar3" (field_expression "allocator<unsigned_int>_>._M_impl._M_finish" (field_expression "allocator<unsigned_int>_>._M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = identifier) ;) (ERROR "(this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::" (comma_expression "(this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std" (binary_expression "(this->kept_section_id_).\n                super__Vector_base<unsigned_int" (field_expression "(this->kept_section_id_).\n                super__Vector_base" (parenthesized_expression "(this->kept_section_id_)" ( (field_expression "this->kept_section_id_" identifier -> field_identifier) )) . field_identifier) < identifier) , identifier) : :) (expression_statement "allocator<unsigned_int>_>._M_impl.\n                _M_end_of_storage = local_1e8;" (assignment_expression "allocator<unsigned_int>_>._M_impl.\n                _M_end_of_storage = local_1e8" (field_expression "allocator<unsigned_int>_>._M_impl.\n                _M_end_of_storage" (field_expression "allocator<unsigned_int>_>._M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = identifier) ;) (if_statement "if (local_1c8 == local_1b0) goto LAB_00181108;" if (parenthesized_expression "(local_1c8 == local_1b0)" ( (binary_expression "local_1c8 == local_1b0" identifier == identifier) )) (goto_statement "goto LAB_00181108;" goto statement_identifier ;)) (labeled_statement "LAB_00180b52:\n                *local_1b0 = 0;" statement_identifier : (expression_statement "*local_1b0 = 0;" (assignment_expression "*local_1b0 = 0" (pointer_expression "*local_1b0" * identifier) = number_literal) ;)) (expression_statement "local_1b0 = local_1b0 + 1;" (assignment_expression "local_1b0 = local_1b0 + 1" identifier = (binary_expression "local_1b0 + 1" identifier + number_literal)) ;) (expression_statement "__dest_00 = local_1d8;" (assignment_expression "__dest_00 = local_1d8" identifier = identifier) ;) }) (else_clause "else {\n                *puVar11 = uVar4;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n                     puVar11 + 1;\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar32 = (long)local_1b0 - (long)local_1d8;\n                uVar41 = (long)sVar32 >> 2;\n                if (uVar41 == 0) {\n                  uVar42 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)operator_new(uVar42);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + uVar42);\n                }\n                else {\n                  uVar34 = uVar41 * 2;\n                  if (uVar34 < uVar41) {\n                    uVar42 = 0xfffffffffffffffc;\n                    goto LAB_0018114e;\n                  }\n                  uVar42 = 0xfffffffffffffffc;\n                  if (0x3fffffffffffffff < uVar34) goto LAB_0018114e;\n                  if (uVar34 != 0) {\n                    uVar42 = uVar41 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar32) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar32 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar32);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar32 + 4);\nLAB_001811a1:\n                  operator_delete(local_1d8);\n                }\n              }" else (compound_statement "{\n                *puVar11 = uVar4;\n                (this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n                     puVar11 + 1;\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar32 = (long)local_1b0 - (long)local_1d8;\n                uVar41 = (long)sVar32 >> 2;\n                if (uVar41 == 0) {\n                  uVar42 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)operator_new(uVar42);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + uVar42);\n                }\n                else {\n                  uVar34 = uVar41 * 2;\n                  if (uVar34 < uVar41) {\n                    uVar42 = 0xfffffffffffffffc;\n                    goto LAB_0018114e;\n                  }\n                  uVar42 = 0xfffffffffffffffc;\n                  if (0x3fffffffffffffff < uVar34) goto LAB_0018114e;\n                  if (uVar34 != 0) {\n                    uVar42 = uVar41 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar32) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar32 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar32);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar32 + 4);\nLAB_001811a1:\n                  operator_delete(local_1d8);\n                }\n              }" { (expression_statement "*puVar11 = uVar4;" (assignment_expression "*puVar11 = uVar4" (pointer_expression "*puVar11" * identifier) = identifier) ;) (ERROR "(this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std::" (comma_expression "(this->kept_section_id_).\n                super__Vector_base<unsigned_int,_std" (binary_expression "(this->kept_section_id_).\n                super__Vector_base<unsigned_int" (field_expression "(this->kept_section_id_).\n                super__Vector_base" (parenthesized_expression "(this->kept_section_id_)" ( (field_expression "this->kept_section_id_" identifier -> field_identifier) )) . field_identifier) < identifier) , identifier) : :) (expression_statement "allocator<unsigned_int>_>._M_impl._M_finish =\n                     puVar11 + 1;" (assignment_expression "allocator<unsigned_int>_>._M_impl._M_finish =\n                     puVar11 + 1" (field_expression "allocator<unsigned_int>_>._M_impl._M_finish" (field_expression "allocator<unsigned_int>_>._M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (binary_expression "puVar11 + 1" identifier + number_literal)) ;) (if_statement "if (local_1c8 != local_1b0) goto LAB_00180b52;" if (parenthesized_expression "(local_1c8 != local_1b0)" ( (binary_expression "local_1c8 != local_1b0" identifier != identifier) )) (goto_statement "goto LAB_00180b52;" goto statement_identifier ;)) (labeled_statement "LAB_00181108:\n                sVar32 = (long)local_1b0 - (long)local_1d8;" statement_identifier : (expression_statement "sVar32 = (long)local_1b0 - (long)local_1d8;" (assignment_expression "sVar32 = (long)local_1b0 - (long)local_1d8" identifier = (binary_expression "(long)local_1b0 - (long)local_1d8" (cast_expression "(long)local_1b0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)local_1d8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) ;)) (expression_statement "uVar41 = (long)sVar32 >> 2;" (assignment_expression "uVar41 = (long)sVar32 >> 2" identifier = (binary_expression "(long)sVar32 >> 2" (cast_expression "(long)sVar32" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) >> number_literal)) ;) (if_statement "if (uVar41 == 0) {\n                  uVar42 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)operator_new(uVar42);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + uVar42);\n                }\n                else {\n                  uVar34 = uVar41 * 2;\n                  if (uVar34 < uVar41) {\n                    uVar42 = 0xfffffffffffffffc;\n                    goto LAB_0018114e;\n                  }\n                  uVar42 = 0xfffffffffffffffc;\n                  if (0x3fffffffffffffff < uVar34) goto LAB_0018114e;\n                  if (uVar34 != 0) {\n                    uVar42 = uVar41 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }" if (parenthesized_expression "(uVar41 == 0)" ( (binary_expression "uVar41 == 0" identifier == number_literal) )) (compound_statement "{\n                  uVar42 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)operator_new(uVar42);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + uVar42);\n                }" { (expression_statement "uVar42 = 4;" (assignment_expression "uVar42 = 4" identifier = number_literal) ;) (labeled_statement "LAB_0018114e:\n                  __dest_00 = (undefined4 *)operator_new(uVar42);" statement_identifier : (expression_statement "__dest_00 = (undefined4 *)operator_new(uVar42);" (assignment_expression "__dest_00 = (undefined4 *)operator_new(uVar42)" identifier = (cast_expression "(undefined4 *)operator_new(uVar42)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(uVar42)" identifier (argument_list "(uVar42)" ( identifier ))))) ;)) (expression_statement "local_1c8 = (undefined4 *)((long)__dest_00 + uVar42);" (assignment_expression "local_1c8 = (undefined4 *)((long)__dest_00 + uVar42)" identifier = (cast_expression "(undefined4 *)((long)__dest_00 + uVar42)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__dest_00 + uVar42)" ( (binary_expression "(long)__dest_00 + uVar42" (cast_expression "(long)__dest_00" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) )))) ;) }) (else_clause "else {\n                  uVar34 = uVar41 * 2;\n                  if (uVar34 < uVar41) {\n                    uVar42 = 0xfffffffffffffffc;\n                    goto LAB_0018114e;\n                  }\n                  uVar42 = 0xfffffffffffffffc;\n                  if (0x3fffffffffffffff < uVar34) goto LAB_0018114e;\n                  if (uVar34 != 0) {\n                    uVar42 = uVar41 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }" else (compound_statement "{\n                  uVar34 = uVar41 * 2;\n                  if (uVar34 < uVar41) {\n                    uVar42 = 0xfffffffffffffffc;\n                    goto LAB_0018114e;\n                  }\n                  uVar42 = 0xfffffffffffffffc;\n                  if (0x3fffffffffffffff < uVar34) goto LAB_0018114e;\n                  if (uVar34 != 0) {\n                    uVar42 = uVar41 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }" { (expression_statement "uVar34 = uVar41 * 2;" (assignment_expression "uVar34 = uVar41 * 2" identifier = (binary_expression "uVar41 * 2" identifier * number_literal)) ;) (if_statement "if (uVar34 < uVar41) {\n                    uVar42 = 0xfffffffffffffffc;\n                    goto LAB_0018114e;\n                  }" if (parenthesized_expression "(uVar34 < uVar41)" ( (binary_expression "uVar34 < uVar41" identifier < identifier) )) (compound_statement "{\n                    uVar42 = 0xfffffffffffffffc;\n                    goto LAB_0018114e;\n                  }" { (expression_statement "uVar42 = 0xfffffffffffffffc;" (assignment_expression "uVar42 = 0xfffffffffffffffc" identifier = number_literal) ;) (goto_statement "goto LAB_0018114e;" goto statement_identifier ;) })) (expression_statement "uVar42 = 0xfffffffffffffffc;" (assignment_expression "uVar42 = 0xfffffffffffffffc" identifier = number_literal) ;) (if_statement "if (0x3fffffffffffffff < uVar34) goto LAB_0018114e;" if (parenthesized_expression "(0x3fffffffffffffff < uVar34)" ( (binary_expression "0x3fffffffffffffff < uVar34" number_literal < identifier) )) (goto_statement "goto LAB_0018114e;" goto statement_identifier ;)) (if_statement "if (uVar34 != 0) {\n                    uVar42 = uVar41 * 8;\n                    goto LAB_0018114e;\n                  }" if (parenthesized_expression "(uVar34 != 0)" ( (binary_expression "uVar34 != 0" identifier != number_literal) )) (compound_statement "{\n                    uVar42 = uVar41 * 8;\n                    goto LAB_0018114e;\n                  }" { (expression_statement "uVar42 = uVar41 * 8;" (assignment_expression "uVar42 = uVar41 * 8" identifier = (binary_expression "uVar41 * 8" identifier * number_literal)) ;) (goto_statement "goto LAB_0018114e;" goto statement_identifier ;) })) (expression_statement "local_1c8 = (undefined4 *)0x0;" (assignment_expression "local_1c8 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "__dest_00 = (undefined4 *)0x0;" (assignment_expression "__dest_00 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (expression_statement "*(undefined4 *)((long)__dest_00 + sVar32) = 0;" (assignment_expression "*(undefined4 *)((long)__dest_00 + sVar32) = 0" (pointer_expression "*(undefined4 *)((long)__dest_00 + sVar32)" * (cast_expression "(undefined4 *)((long)__dest_00 + sVar32)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__dest_00 + sVar32)" ( (binary_expression "(long)__dest_00 + sVar32" (cast_expression "(long)__dest_00" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) )))) = number_literal) ;) (if_statement "if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar32 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar32);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar32 + 4);\nLAB_001811a1:\n                  operator_delete(local_1d8);\n                }" if (parenthesized_expression "(local_1b0 == local_1d8)" ( (binary_expression "local_1b0 == local_1d8" identifier == identifier) )) (compound_statement "{\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar32 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }" { (expression_statement "local_1b0 = (undefined4 *)((long)__dest_00 + sVar32 + 4);" (assignment_expression "local_1b0 = (undefined4 *)((long)__dest_00 + sVar32 + 4)" identifier = (cast_expression "(undefined4 *)((long)__dest_00 + sVar32 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__dest_00 + sVar32 + 4)" ( (binary_expression "(long)__dest_00 + sVar32 + 4" (binary_expression "(long)__dest_00 + sVar32" (cast_expression "(long)__dest_00" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (if_statement "if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;" if (parenthesized_expression "(local_1d8 != (undefined4 *)0x0)" ( (binary_expression "local_1d8 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001811a1;" goto statement_identifier ;)) }) (else_clause "else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar32);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar32 + 4);\nLAB_001811a1:\n                  operator_delete(local_1d8);\n                }" else (compound_statement "{\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar32);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar32 + 4);\nLAB_001811a1:\n                  operator_delete(local_1d8);\n                }" { (expression_statement "__dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar32);" (assignment_expression "__dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar32)" identifier = (cast_expression "(undefined4 *)memmove(__dest_00,local_1d8,sVar32)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "memmove(__dest_00,local_1d8,sVar32)" identifier (argument_list "(__dest_00,local_1d8,sVar32)" ( identifier , identifier , identifier ))))) ;) (expression_statement "local_1b0 = (undefined4 *)((long)__dest_00 + sVar32 + 4);" (assignment_expression "local_1b0 = (undefined4 *)((long)__dest_00 + sVar32 + 4)" identifier = (cast_expression "(undefined4 *)((long)__dest_00 + sVar32 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__dest_00 + sVar32 + 4)" ( (binary_expression "(long)__dest_00 + sVar32 + 4" (binary_expression "(long)__dest_00 + sVar32" (cast_expression "(long)__dest_00" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (labeled_statement "LAB_001811a1:\n                  operator_delete(local_1d8);" statement_identifier : (expression_statement "operator_delete(local_1d8);" (call_expression "operator_delete(local_1d8)" identifier (argument_list "(local_1d8)" ( identifier ))) ;)) }))) }))) (expression_statement "local_1d8 = __dest_00;" (assignment_expression "local_1d8 = __dest_00" identifier = identifier) ;) comment (expression_statement "iVar24 = (*((*ppRVar55)->super_Object)._vptr_Object[0x17])(*ppRVar55,uVar45);" (assignment_expression "iVar24 = (*((*ppRVar55)->super_Object)._vptr_Object[0x17])(*ppRVar55,uVar45)" identifier = (call_expression "(*((*ppRVar55)->super_Object)._vptr_Object[0x17])(*ppRVar55,uVar45)" (parenthesized_expression "(*((*ppRVar55)->super_Object)._vptr_Object[0x17])" ( (pointer_expression "*((*ppRVar55)->super_Object)._vptr_Object[0x17]" * (subscript_expression "((*ppRVar55)->super_Object)._vptr_Object[0x17]" (field_expression "((*ppRVar55)->super_Object)._vptr_Object" (parenthesized_expression "((*ppRVar55)->super_Object)" ( (field_expression "(*ppRVar55)->super_Object" (parenthesized_expression "(*ppRVar55)" ( (pointer_expression "*ppRVar55" * identifier) )) -> field_identifier) )) . field_identifier) [ number_literal ])) )) (argument_list "(*ppRVar55,uVar45)" ( (pointer_expression "*ppRVar55" * identifier) , identifier )))) ;) (expression_statement "section_cksum._M_h._M_buckets = (__bucket_type *)CONCAT44(extraout_var,iVar24);" (assignment_expression "section_cksum._M_h._M_buckets = (__bucket_type *)CONCAT44(extraout_var,iVar24)" (field_expression "section_cksum._M_h._M_buckets" (field_expression "section_cksum._M_h" identifier . field_identifier) . field_identifier) = (cast_expression "(__bucket_type *)CONCAT44(extraout_var,iVar24)" ( (type_descriptor "__bucket_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT44(extraout_var,iVar24)" identifier (argument_list "(extraout_var,iVar24)" ( identifier , identifier ))))) ;) (if_statement "if (section_addraligns.\n                  super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                  _M_finish ==\n                  section_addraligns.\n                  super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                  _M_end_of_storage) {\n                std::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>::\n                _M_realloc_insert<long_unsigned_int>\n                          (&section_addraligns,\n                           (iterator)\n                           section_addraligns.\n                           super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n                           ._M_impl._M_finish,(ulong *)local_1a8);\n              }\n              else {\n                *section_addraligns.\n                 super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                 _M_finish = (ulong)section_cksum._M_h._M_buckets;\n                section_addraligns.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_finish = section_addraligns.\n                            super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n                            ._M_impl._M_finish + 1;\n              }" if (parenthesized_expression "(section_addraligns.\n                  super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                  _M_finish ==\n                  section_addraligns.\n                  super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                  _M_end_of_storage)" ( (ERROR "section_addraligns.\n                  super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                  _M_finish ==\n                  section_addraligns.\n                  super__Vector_base<long_unsigned_int,_std::" (comma_expression "section_addraligns.\n                  super__Vector_base<long_unsigned_int,_std" (binary_expression "section_addraligns.\n                  super__Vector_base<long_unsigned_int" (field_expression "section_addraligns.\n                  super__Vector_base" identifier . field_identifier) < identifier) , identifier) : : (comma_expression "allocator<long_unsigned_int>_>._M_impl.\n                  _M_finish ==\n                  section_addraligns.\n                  super__Vector_base<long_unsigned_int,_std" (binary_expression "allocator<long_unsigned_int>_>._M_impl.\n                  _M_finish ==\n                  section_addraligns.\n                  super__Vector_base<long_unsigned_int" (field_expression "allocator<long_unsigned_int>_>._M_impl.\n                  _M_finish" (field_expression "allocator<long_unsigned_int>_>._M_impl" (binary_expression "allocator<long_unsigned_int>_" (binary_expression "allocator<long_unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) == (binary_expression "section_addraligns.\n                  super__Vector_base<long_unsigned_int" (field_expression "section_addraligns.\n                  super__Vector_base" identifier . field_identifier) < identifier)) , identifier) : :) (field_expression "allocator<long_unsigned_int>_>._M_impl.\n                  _M_end_of_storage" (field_expression "allocator<long_unsigned_int>_>._M_impl" (binary_expression "allocator<long_unsigned_int>_" (binary_expression "allocator<long_unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n                std::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>::\n                _M_realloc_insert<long_unsigned_int>\n                          (&section_addraligns,\n                           (iterator)\n                           section_addraligns.\n                           super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n                           ._M_impl._M_finish,(ulong *)local_1a8);\n              }" { (labeled_statement "std::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>::\n                _M_realloc_insert<long_unsigned_int>\n                          (&section_addraligns,\n                           (iterator)\n                           section_addraligns.\n                           super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n                           ._M_impl._M_finish,(ulong *)local_1a8);" statement_identifier (ERROR "::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>::\n                _M_realloc_insert<long_unsigned_int>\n                          (&section_addraligns,\n                           (iterator)\n                           section_addraligns.\n                           super__Vector_base<long_unsigned_int,_std:" : : (comma_expression "vector<long_unsigned_int,_std" (binary_expression "vector<long_unsigned_int" identifier < identifier) , identifier) : : (binary_expression "allocator<long_unsigned_int>_" (binary_expression "allocator<long_unsigned_int" identifier < identifier) > identifier) > : : (binary_expression "_M_realloc_insert<long_unsigned_int" identifier < identifier) > ( (comma_expression "&section_addraligns,\n                           (iterator)\n                           section_addraligns.\n                           super__Vector_base<long_unsigned_int,_std" (pointer_expression "&section_addraligns" & identifier) , (comma_expression "(iterator)\n                           section_addraligns.\n                           super__Vector_base<long_unsigned_int,_std" (binary_expression "(iterator)\n                           section_addraligns.\n                           super__Vector_base<long_unsigned_int" (cast_expression "(iterator)\n                           section_addraligns.\n                           super__Vector_base" ( (type_descriptor "iterator" type_identifier) ) (field_expression "section_addraligns.\n                           super__Vector_base" identifier . field_identifier)) < identifier) , identifier)) :) : (expression_statement "allocator<long_unsigned_int>_>\n                           ._M_impl._M_finish,(ulong *)local_1a8);" (comma_expression "allocator<long_unsigned_int>_>\n                           ._M_impl._M_finish,(ulong *)local_1a8" (field_expression "allocator<long_unsigned_int>_>\n                           ._M_impl._M_finish" (field_expression "allocator<long_unsigned_int>_>\n                           ._M_impl" (binary_expression "allocator<long_unsigned_int>_" (binary_expression "allocator<long_unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) , (cast_expression "(ulong *)local_1a8" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) (ERROR ")" )) ;)) }) (else_clause "else {\n                *section_addraligns.\n                 super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                 _M_finish = (ulong)section_cksum._M_h._M_buckets;\n                section_addraligns.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_finish = section_addraligns.\n                            super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n                            ._M_impl._M_finish + 1;\n              }" else (compound_statement "{\n                *section_addraligns.\n                 super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                 _M_finish = (ulong)section_cksum._M_h._M_buckets;\n                section_addraligns.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_finish = section_addraligns.\n                            super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n                            ._M_impl._M_finish + 1;\n              }" { (ERROR "*section_addraligns.\n                 super__Vector_base<long_unsigned_int,_std::" (comma_expression "*section_addraligns.\n                 super__Vector_base<long_unsigned_int,_std" (binary_expression "*section_addraligns.\n                 super__Vector_base<long_unsigned_int" (pointer_expression "*section_addraligns.\n                 super__Vector_base" * (field_expression "section_addraligns.\n                 super__Vector_base" identifier . field_identifier)) < identifier) , identifier) : :) (expression_statement "allocator<long_unsigned_int>_>._M_impl.\n                 _M_finish = (ulong)section_cksum._M_h._M_buckets;" (assignment_expression "allocator<long_unsigned_int>_>._M_impl.\n                 _M_finish = (ulong)section_cksum._M_h._M_buckets" (field_expression "allocator<long_unsigned_int>_>._M_impl.\n                 _M_finish" (field_expression "allocator<long_unsigned_int>_>._M_impl" (binary_expression "allocator<long_unsigned_int>_" (binary_expression "allocator<long_unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(ulong)section_cksum._M_h._M_buckets" ( (type_descriptor "ulong" type_identifier) ) (field_expression "section_cksum._M_h._M_buckets" (field_expression "section_cksum._M_h" identifier . field_identifier) . field_identifier))) ;) (ERROR "section_addraligns.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_finish = section_addraligns.\n                            super__Vector_base<long_unsigned_int,_std::" (comma_expression "section_addraligns.\n                super__Vector_base<long_unsigned_int,_std" (binary_expression "section_addraligns.\n                super__Vector_base<long_unsigned_int" (field_expression "section_addraligns.\n                super__Vector_base" identifier . field_identifier) < identifier) , identifier) : : (comma_expression "allocator<long_unsigned_int>_>._M_impl.\n                _M_finish = section_addraligns.\n                            super__Vector_base<long_unsigned_int,_std" (assignment_expression "allocator<long_unsigned_int>_>._M_impl.\n                _M_finish = section_addraligns.\n                            super__Vector_base<long_unsigned_int" (field_expression "allocator<long_unsigned_int>_>._M_impl.\n                _M_finish" (field_expression "allocator<long_unsigned_int>_>._M_impl" (binary_expression "allocator<long_unsigned_int>_" (binary_expression "allocator<long_unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (binary_expression "section_addraligns.\n                            super__Vector_base<long_unsigned_int" (field_expression "section_addraligns.\n                            super__Vector_base" identifier . field_identifier) < identifier)) , identifier) : :) (expression_statement "allocator<long_unsigned_int>_>\n                            ._M_impl._M_finish + 1;" (binary_expression "allocator<long_unsigned_int>_>\n                            ._M_impl._M_finish + 1" (field_expression "allocator<long_unsigned_int>_>\n                            ._M_impl._M_finish" (field_expression "allocator<long_unsigned_int>_>\n                            ._M_impl" (binary_expression "allocator<long_unsigned_int>_" (binary_expression "allocator<long_unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) + number_literal) ;) }))) (expression_statement "uVar22 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset;" (field_expression "uVar22 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset" (field_expression "uVar22 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base" (field_expression "uVar22 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish" (field_expression "uVar22 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data" (field_expression "uVar22 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl" (binary_expression "uVar22 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_" (binary_expression "uVar22 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool" (assignment_expression "uVar22 = is_secn_or_group_unique.super__Bvector_base<std" identifier = (binary_expression "is_secn_or_group_unique.super__Bvector_base<std" (field_expression "is_secn_or_group_unique.super__Bvector_base" identifier . field_identifier) < identifier)) (ERROR "::allocator" : : identifier) < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) ;) (expression_statement "p_Var18 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                        super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p;" (field_expression "p_Var18 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                        super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p" (field_expression "p_Var18 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                        super__Bvector_impl_data._M_finish.super__Bit_iterator_base" (field_expression "p_Var18 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                        super__Bvector_impl_data._M_finish" (field_expression "p_Var18 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                        super__Bvector_impl_data" (field_expression "p_Var18 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl" (binary_expression "p_Var18 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_" (binary_expression "p_Var18 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool" (assignment_expression "p_Var18 = is_secn_or_group_unique.super__Bvector_base<std" identifier = (binary_expression "is_secn_or_group_unique.super__Bvector_base<std" (field_expression "is_secn_or_group_unique.super__Bvector_base" identifier . field_identifier) < identifier)) (ERROR "::allocator" : : identifier) < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) ;) (if_statement "if (is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p ==\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_end_of_storage) {\n                local_180 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>.\n                            _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base.\n                            _M_offset;\n                __position_00.super__Bit_iterator_base._12_4_ = uStack_17c;\n                __position_00.super__Bit_iterator_base._M_offset =\n                     is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                     super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset;\n                local_188 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>.\n                            _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p\n                ;\n                __position_00.super__Bit_iterator_base._M_p =\n                     is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                     super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p;\n                std::vector<bool,_std::allocator<bool>_>::_M_insert_aux\n                          (&is_secn_or_group_unique,__position_00,false);\n              }\n              else {\n                if (is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                    super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset == 0x3f) {\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset = 0;\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p + 1;\n                }\n                else {\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset + 1;\n                }\n                bVar13 = (byte)uVar22 & 0x3f;\n                *p_Var18 = *p_Var18 & (-2L << bVar13 | 0xfffffffffffffffeU >> 0x40 - bVar13);\n              }" if (parenthesized_expression "(is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p ==\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_end_of_storage)" ( (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p ==\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_end_of_storage" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p ==\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p ==\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl" (binary_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p ==\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_" (binary_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p ==\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool" (binary_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p ==\n                  is_secn_or_group_unique.super__Bvector_base<std" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl" (binary_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_" (binary_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool" (binary_expression "is_secn_or_group_unique.super__Bvector_base<std" (field_expression "is_secn_or_group_unique.super__Bvector_base" identifier . field_identifier) < identifier) (ERROR "::allocator" : : identifier) < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) == (binary_expression "is_secn_or_group_unique.super__Bvector_base<std" (field_expression "is_secn_or_group_unique.super__Bvector_base" identifier . field_identifier) < identifier)) (ERROR "::allocator" : : identifier) < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) )) (compound_statement "{\n                local_180 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>.\n                            _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base.\n                            _M_offset;\n                __position_00.super__Bit_iterator_base._12_4_ = uStack_17c;\n                __position_00.super__Bit_iterator_base._M_offset =\n                     is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                     super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset;\n                local_188 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>.\n                            _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p\n                ;\n                __position_00.super__Bit_iterator_base._M_p =\n                     is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                     super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p;\n                std::vector<bool,_std::allocator<bool>_>::_M_insert_aux\n                          (&is_secn_or_group_unique,__position_00,false);\n              }" { (expression_statement "local_180 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>.\n                            _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base.\n                            _M_offset;" (field_expression "local_180 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>.\n                            _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base.\n                            _M_offset" (field_expression "local_180 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>.\n                            _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base" (field_expression "local_180 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>.\n                            _M_impl.super__Bvector_impl_data._M_finish" (field_expression "local_180 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>.\n                            _M_impl.super__Bvector_impl_data" (field_expression "local_180 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>.\n                            _M_impl" (binary_expression "local_180 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_" (binary_expression "local_180 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool" (assignment_expression "local_180 = is_secn_or_group_unique.super__Bvector_base<std" identifier = (binary_expression "is_secn_or_group_unique.super__Bvector_base<std" (field_expression "is_secn_or_group_unique.super__Bvector_base" identifier . field_identifier) < identifier)) (ERROR "::allocator" : : identifier) < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) ;) (expression_statement "__position_00.super__Bit_iterator_base._12_4_ = uStack_17c;" (assignment_expression "__position_00.super__Bit_iterator_base._12_4_ = uStack_17c" (field_expression "__position_00.super__Bit_iterator_base._12_4_" (field_expression "__position_00.super__Bit_iterator_base" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "__position_00.super__Bit_iterator_base._M_offset =\n                     is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                     super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset;" (field_expression "__position_00.super__Bit_iterator_base._M_offset =\n                     is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                     super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset" (field_expression "__position_00.super__Bit_iterator_base._M_offset =\n                     is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                     super__Bvector_impl_data._M_finish.super__Bit_iterator_base" (field_expression "__position_00.super__Bit_iterator_base._M_offset =\n                     is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                     super__Bvector_impl_data._M_finish" (field_expression "__position_00.super__Bit_iterator_base._M_offset =\n                     is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                     super__Bvector_impl_data" (field_expression "__position_00.super__Bit_iterator_base._M_offset =\n                     is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl" (binary_expression "__position_00.super__Bit_iterator_base._M_offset =\n                     is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_" (binary_expression "__position_00.super__Bit_iterator_base._M_offset =\n                     is_secn_or_group_unique.super__Bvector_base<std::allocator<bool" (assignment_expression "__position_00.super__Bit_iterator_base._M_offset =\n                     is_secn_or_group_unique.super__Bvector_base<std" (field_expression "__position_00.super__Bit_iterator_base._M_offset" (field_expression "__position_00.super__Bit_iterator_base" identifier . field_identifier) . field_identifier) = (binary_expression "is_secn_or_group_unique.super__Bvector_base<std" (field_expression "is_secn_or_group_unique.super__Bvector_base" identifier . field_identifier) < identifier)) (ERROR "::allocator" : : identifier) < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) ;) (expression_statement "local_188 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>.\n                            _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p\n                ;" (field_expression "local_188 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>.\n                            _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p" (field_expression "local_188 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>.\n                            _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base" (field_expression "local_188 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>.\n                            _M_impl.super__Bvector_impl_data._M_finish" (field_expression "local_188 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>.\n                            _M_impl.super__Bvector_impl_data" (field_expression "local_188 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>.\n                            _M_impl" (binary_expression "local_188 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_" (binary_expression "local_188 = is_secn_or_group_unique.super__Bvector_base<std::allocator<bool" (assignment_expression "local_188 = is_secn_or_group_unique.super__Bvector_base<std" identifier = (binary_expression "is_secn_or_group_unique.super__Bvector_base<std" (field_expression "is_secn_or_group_unique.super__Bvector_base" identifier . field_identifier) < identifier)) (ERROR "::allocator" : : identifier) < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) ;) (expression_statement "__position_00.super__Bit_iterator_base._M_p =\n                     is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                     super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p;" (field_expression "__position_00.super__Bit_iterator_base._M_p =\n                     is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                     super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p" (field_expression "__position_00.super__Bit_iterator_base._M_p =\n                     is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                     super__Bvector_impl_data._M_finish.super__Bit_iterator_base" (field_expression "__position_00.super__Bit_iterator_base._M_p =\n                     is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                     super__Bvector_impl_data._M_finish" (field_expression "__position_00.super__Bit_iterator_base._M_p =\n                     is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                     super__Bvector_impl_data" (field_expression "__position_00.super__Bit_iterator_base._M_p =\n                     is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl" (binary_expression "__position_00.super__Bit_iterator_base._M_p =\n                     is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_" (binary_expression "__position_00.super__Bit_iterator_base._M_p =\n                     is_secn_or_group_unique.super__Bvector_base<std::allocator<bool" (assignment_expression "__position_00.super__Bit_iterator_base._M_p =\n                     is_secn_or_group_unique.super__Bvector_base<std" (field_expression "__position_00.super__Bit_iterator_base._M_p" (field_expression "__position_00.super__Bit_iterator_base" identifier . field_identifier) . field_identifier) = (binary_expression "is_secn_or_group_unique.super__Bvector_base<std" (field_expression "is_secn_or_group_unique.super__Bvector_base" identifier . field_identifier) < identifier)) (ERROR "::allocator" : : identifier) < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) ;) (labeled_statement "std::vector<bool,_std::allocator<bool>_>::_M_insert_aux\n                          (&is_secn_or_group_unique,__position_00,false);" statement_identifier (ERROR "::vector<bool,_std::allocator<bool>_>:" : : (comma_expression "vector<bool,_std" (binary_expression "vector<bool" identifier < identifier) , identifier) : : (binary_expression "allocator<bool>_" (binary_expression "allocator<bool" identifier < identifier) > identifier) > :) : (expression_statement "_M_insert_aux\n                          (&is_secn_or_group_unique,__position_00,false);" (call_expression "_M_insert_aux\n                          (&is_secn_or_group_unique,__position_00,false)" identifier (argument_list "(&is_secn_or_group_unique,__position_00,false)" ( (pointer_expression "&is_secn_or_group_unique" & identifier) , identifier , false ))) ;)) }) (else_clause "else {\n                if (is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                    super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset == 0x3f) {\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset = 0;\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p + 1;\n                }\n                else {\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset + 1;\n                }\n                bVar13 = (byte)uVar22 & 0x3f;\n                *p_Var18 = *p_Var18 & (-2L << bVar13 | 0xfffffffffffffffeU >> 0x40 - bVar13);\n              }" else (compound_statement "{\n                if (is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                    super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset == 0x3f) {\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset = 0;\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p + 1;\n                }\n                else {\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset + 1;\n                }\n                bVar13 = (byte)uVar22 & 0x3f;\n                *p_Var18 = *p_Var18 & (-2L << bVar13 | 0xfffffffffffffffeU >> 0x40 - bVar13);\n              }" { (if_statement "if (is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                    super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset == 0x3f) {\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset = 0;\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p + 1;\n                }\n                else {\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset + 1;\n                }" if (parenthesized_expression "(is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                    super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset == 0x3f)" ( (binary_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                    super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset == 0x3f" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                    super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                    super__Bvector_impl_data._M_finish.super__Bit_iterator_base" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                    super__Bvector_impl_data._M_finish" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                    super__Bvector_impl_data" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl" (binary_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_" (binary_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool" (binary_expression "is_secn_or_group_unique.super__Bvector_base<std" (field_expression "is_secn_or_group_unique.super__Bvector_base" identifier . field_identifier) < identifier) (ERROR "::allocator" : : identifier) < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) == number_literal) )) (compound_statement "{\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset = 0;\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p + 1;\n                }" { (expression_statement "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset = 0;" (assignment_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset = 0" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl" (binary_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_" (binary_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool" (binary_expression "is_secn_or_group_unique.super__Bvector_base<std" (field_expression "is_secn_or_group_unique.super__Bvector_base" identifier . field_identifier) < identifier) (ERROR "::allocator" : : identifier) < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p + 1;" (binary_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p + 1" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl" (binary_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_" (binary_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool" (assignment_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p =\n                       is_secn_or_group_unique.super__Bvector_base<std" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl" (binary_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_" (binary_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool" (binary_expression "is_secn_or_group_unique.super__Bvector_base<std" (field_expression "is_secn_or_group_unique.super__Bvector_base" identifier . field_identifier) < identifier) (ERROR "::allocator" : : identifier) < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (binary_expression "is_secn_or_group_unique.super__Bvector_base<std" (field_expression "is_secn_or_group_unique.super__Bvector_base" identifier . field_identifier) < identifier)) (ERROR "::allocator" : : identifier) < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) + number_literal) ;) }) (else_clause "else {\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset + 1;\n                }" else (compound_statement "{\n                  is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset + 1;\n                }" { (expression_statement "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset + 1;" (binary_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset + 1" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_finish" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl" (binary_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_" (binary_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset =\n                       is_secn_or_group_unique.super__Bvector_base<std::allocator<bool" (assignment_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset =\n                       is_secn_or_group_unique.super__Bvector_base<std" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data._M_finish" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                  super__Bvector_impl_data" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl" (binary_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_" (binary_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool" (binary_expression "is_secn_or_group_unique.super__Bvector_base<std" (field_expression "is_secn_or_group_unique.super__Bvector_base" identifier . field_identifier) < identifier) (ERROR "::allocator" : : identifier) < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (binary_expression "is_secn_or_group_unique.super__Bvector_base<std" (field_expression "is_secn_or_group_unique.super__Bvector_base" identifier . field_identifier) < identifier)) (ERROR "::allocator" : : identifier) < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) + number_literal) ;) }))) (expression_statement "bVar13 = (byte)uVar22 & 0x3f;" (assignment_expression "bVar13 = (byte)uVar22 & 0x3f" identifier = (binary_expression "(byte)uVar22 & 0x3f" (cast_expression "(byte)uVar22" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "*p_Var18 = *p_Var18 & (-2L << bVar13 | 0xfffffffffffffffeU >> 0x40 - bVar13);" (assignment_expression "*p_Var18 = *p_Var18 & (-2L << bVar13 | 0xfffffffffffffffeU >> 0x40 - bVar13)" (pointer_expression "*p_Var18" * identifier) = (binary_expression "*p_Var18 & (-2L << bVar13 | 0xfffffffffffffffeU >> 0x40 - bVar13)" (pointer_expression "*p_Var18" * identifier) & (parenthesized_expression "(-2L << bVar13 | 0xfffffffffffffffeU >> 0x40 - bVar13)" ( (binary_expression "-2L << bVar13 | 0xfffffffffffffffeU >> 0x40 - bVar13" (binary_expression "-2L << bVar13" number_literal << identifier) | (binary_expression "0xfffffffffffffffeU >> 0x40 - bVar13" number_literal >> (binary_expression "0x40 - bVar13" number_literal - identifier))) )))) ;) }))) (expression_statement "section_cksum._M_h._M_buckets = &section_cksum._M_h._M_before_begin._M_nxt;" (assignment_expression "section_cksum._M_h._M_buckets = &section_cksum._M_h._M_before_begin._M_nxt" (field_expression "section_cksum._M_h._M_buckets" (field_expression "section_cksum._M_h" identifier . field_identifier) . field_identifier) = (pointer_expression "&section_cksum._M_h._M_before_begin._M_nxt" & (field_expression "section_cksum._M_h._M_before_begin._M_nxt" (field_expression "section_cksum._M_h._M_before_begin" (field_expression "section_cksum._M_h" identifier . field_identifier) . field_identifier) . field_identifier))) ;) (labeled_statement "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n              _M_construct<char_const*>(local_1a8,"");" statement_identifier (ERROR "::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>:" : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > :) : (expression_statement "_M_construct<char_const*>(local_1a8,"");" (binary_expression "_M_construct<char_const*>(local_1a8,"")" (binary_expression "_M_construct<char_const" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "(local_1a8,"")" ( (comma_expression "local_1a8,""" identifier , (string_literal """" " ")) ))) ;)) comment (ERROR "std::\n              vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              ::\n              emplace_back<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (comma_expression "std::\n              vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std" identifier (ERROR "::\n              vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>" : : (binary_expression "vector<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>_>_>\n              ::\n              emplace_back<std" (binary_expression "allocator<char>_>_>_>\n              ::\n              emplace_back" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) > (ERROR "::" : :) identifier) < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>\n                        (&section_contents,local_1a8);" (binary_expression "allocator<char>_>_>\n                        (&section_contents,local_1a8)" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (parenthesized_expression "(&section_contents,local_1a8)" ( (comma_expression "&section_contents,local_1a8" (pointer_expression "&section_contents" & identifier) , identifier) ))) ;) (if_statement "if ((__node_base *)section_cksum._M_h._M_buckets !=\n                  &section_cksum._M_h._M_before_begin) {\n                operator_delete(section_cksum._M_h._M_buckets);\n              }" if (parenthesized_expression "((__node_base *)section_cksum._M_h._M_buckets !=\n                  &section_cksum._M_h._M_before_begin)" ( (binary_expression "(__node_base *)section_cksum._M_h._M_buckets !=\n                  &section_cksum._M_h._M_before_begin" (cast_expression "(__node_base *)section_cksum._M_h._M_buckets" ( (type_descriptor "__node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "section_cksum._M_h._M_buckets" (field_expression "section_cksum._M_h" identifier . field_identifier) . field_identifier)) != (pointer_expression "&section_cksum._M_h._M_before_begin" & (field_expression "section_cksum._M_h._M_before_begin" (field_expression "section_cksum._M_h" identifier . field_identifier) . field_identifier))) )) (compound_statement "{\n                operator_delete(section_cksum._M_h._M_buckets);\n              }" { (expression_statement "operator_delete(section_cksum._M_h._M_buckets);" (call_expression "operator_delete(section_cksum._M_h._M_buckets)" identifier (argument_list "(section_cksum._M_h._M_buckets)" ( (field_expression "section_cksum._M_h._M_buckets" (field_expression "section_cksum._M_h" identifier . field_identifier) . field_identifier) ))) ;) })) (expression_statement "uVar4 = uVar4 + 1;" (assignment_expression "uVar4 = uVar4 + 1" identifier = (binary_expression "uVar4 + 1" identifier + number_literal)) ;) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)section_name._M_dataplus._M_p != &section_name.field_2) goto LAB_00180c31;" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)section_name._M_dataplus._M_p != &section_name.field_2)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)section_name._M_dataplus._M_p != &section_name.field_2)" ( (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                   *)section_name._M_dataplus._M_p != &section_name.field_2" (binary_expression "allocator<char>_>_9\n                   *)section_name._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n                   *)section_name._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "section_name._M_dataplus._M_p" (field_expression "section_name._M_dataplus" identifier . field_identifier) . field_identifier))) != (pointer_expression "&section_name.field_2" & (field_expression "section_name.field_2" identifier . field_identifier))) )) )) (goto_statement "goto LAB_00180c31;" goto statement_identifier ;)) }) (else_clause "else {\n              lVar38 = 0xf;\n              pbVar30 = (byte *)".gnu.linkonce.t";\n              _Var50 = section_name._M_dataplus;\n              do {\n                if (lVar38 == 0) break;\n                lVar38 = lVar38 + -1;\n                bVar57 = *pbVar30 < (byte)*_Var50._M_p;\n                bVar60 = *pbVar30 == *_Var50._M_p;\n                pbVar30 = pbVar30 + (ulong)bVar61 * -2 + 1;\n                _Var50._M_p = (pointer)((byte *)_Var50._M_p + (ulong)bVar61 * -2 + 1);\n              } while (bVar60);\n              if ((!bVar57 && !bVar60) == bVar57) goto LAB_00180a28;\nLAB_00180c96:\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)section_name._M_dataplus._M_p != &section_name.field_2) {\nLAB_00180c31:\n                operator_delete(section_name._M_dataplus._M_p);\n              }\n            }" else (compound_statement "{\n              lVar38 = 0xf;\n              pbVar30 = (byte *)".gnu.linkonce.t";\n              _Var50 = section_name._M_dataplus;\n              do {\n                if (lVar38 == 0) break;\n                lVar38 = lVar38 + -1;\n                bVar57 = *pbVar30 < (byte)*_Var50._M_p;\n                bVar60 = *pbVar30 == *_Var50._M_p;\n                pbVar30 = pbVar30 + (ulong)bVar61 * -2 + 1;\n                _Var50._M_p = (pointer)((byte *)_Var50._M_p + (ulong)bVar61 * -2 + 1);\n              } while (bVar60);\n              if ((!bVar57 && !bVar60) == bVar57) goto LAB_00180a28;\nLAB_00180c96:\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)section_name._M_dataplus._M_p != &section_name.field_2) {\nLAB_00180c31:\n                operator_delete(section_name._M_dataplus._M_p);\n              }\n            }" { (expression_statement "lVar38 = 0xf;" (assignment_expression "lVar38 = 0xf" identifier = number_literal) ;) (expression_statement "pbVar30 = (byte *)".gnu.linkonce.t";" (assignment_expression "pbVar30 = (byte *)".gnu.linkonce.t"" identifier = (cast_expression "(byte *)".gnu.linkonce.t"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".gnu.linkonce.t"" " string_content "))) ;) (expression_statement "_Var50 = section_name._M_dataplus;" (assignment_expression "_Var50 = section_name._M_dataplus" identifier = (field_expression "section_name._M_dataplus" identifier . field_identifier)) ;) (do_statement "do {\n                if (lVar38 == 0) break;\n                lVar38 = lVar38 + -1;\n                bVar57 = *pbVar30 < (byte)*_Var50._M_p;\n                bVar60 = *pbVar30 == *_Var50._M_p;\n                pbVar30 = pbVar30 + (ulong)bVar61 * -2 + 1;\n                _Var50._M_p = (pointer)((byte *)_Var50._M_p + (ulong)bVar61 * -2 + 1);\n              } while (bVar60);" do (compound_statement "{\n                if (lVar38 == 0) break;\n                lVar38 = lVar38 + -1;\n                bVar57 = *pbVar30 < (byte)*_Var50._M_p;\n                bVar60 = *pbVar30 == *_Var50._M_p;\n                pbVar30 = pbVar30 + (ulong)bVar61 * -2 + 1;\n                _Var50._M_p = (pointer)((byte *)_Var50._M_p + (ulong)bVar61 * -2 + 1);\n              }" { (if_statement "if (lVar38 == 0) break;" if (parenthesized_expression "(lVar38 == 0)" ( (binary_expression "lVar38 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar38 = lVar38 + -1;" (assignment_expression "lVar38 = lVar38 + -1" identifier = (binary_expression "lVar38 + -1" identifier + number_literal)) ;) (expression_statement "bVar57 = *pbVar30 < (byte)*_Var50._M_p;" (assignment_expression "bVar57 = *pbVar30 < (byte)*_Var50._M_p" identifier = (binary_expression "*pbVar30 < (byte)*_Var50._M_p" (pointer_expression "*pbVar30" * identifier) < (binary_expression "(byte)*_Var50._M_p" (parenthesized_expression "(byte)" ( identifier )) * (field_expression "_Var50._M_p" identifier . field_identifier)))) ;) (expression_statement "bVar60 = *pbVar30 == *_Var50._M_p;" (assignment_expression "bVar60 = *pbVar30 == *_Var50._M_p" identifier = (binary_expression "*pbVar30 == *_Var50._M_p" (pointer_expression "*pbVar30" * identifier) == (pointer_expression "*_Var50._M_p" * (field_expression "_Var50._M_p" identifier . field_identifier)))) ;) (expression_statement "pbVar30 = pbVar30 + (ulong)bVar61 * -2 + 1;" (assignment_expression "pbVar30 = pbVar30 + (ulong)bVar61 * -2 + 1" identifier = (binary_expression "pbVar30 + (ulong)bVar61 * -2 + 1" (binary_expression "pbVar30 + (ulong)bVar61 * -2" identifier + (binary_expression "(ulong)bVar61 * -2" (cast_expression "(ulong)bVar61" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "_Var50._M_p = (pointer)((byte *)_Var50._M_p + (ulong)bVar61 * -2 + 1);" (assignment_expression "_Var50._M_p = (pointer)((byte *)_Var50._M_p + (ulong)bVar61 * -2 + 1)" (field_expression "_Var50._M_p" identifier . field_identifier) = (call_expression "(pointer)((byte *)_Var50._M_p + (ulong)bVar61 * -2 + 1)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((byte *)_Var50._M_p + (ulong)bVar61 * -2 + 1)" ( (binary_expression "(byte *)_Var50._M_p + (ulong)bVar61 * -2 + 1" (binary_expression "(byte *)_Var50._M_p + (ulong)bVar61 * -2" (cast_expression "(byte *)_Var50._M_p" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "_Var50._M_p" identifier . field_identifier)) + (binary_expression "(ulong)bVar61 * -2" (cast_expression "(ulong)bVar61" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) }) while (parenthesized_expression "(bVar60)" ( identifier )) ;) (if_statement "if ((!bVar57 && !bVar60) == bVar57) goto LAB_00180a28;" if (parenthesized_expression "((!bVar57 && !bVar60) == bVar57)" ( (binary_expression "(!bVar57 && !bVar60) == bVar57" (parenthesized_expression "(!bVar57 && !bVar60)" ( (binary_expression "!bVar57 && !bVar60" (unary_expression "!bVar57" ! identifier) && (unary_expression "!bVar60" ! identifier)) )) == identifier) )) (goto_statement "goto LAB_00180a28;" goto statement_identifier ;)) (labeled_statement "LAB_00180c96:\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)section_name._M_dataplus._M_p != &section_name.field_2) {\nLAB_00180c31:\n                operator_delete(section_name._M_dataplus._M_p);\n              }" statement_identifier : (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)section_name._M_dataplus._M_p != &section_name.field_2) {\nLAB_00180c31:\n                operator_delete(section_name._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                   *)section_name._M_dataplus._M_p != &section_name.field_2)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)section_name._M_dataplus._M_p != &section_name.field_2)" ( (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                   *)section_name._M_dataplus._M_p != &section_name.field_2" (binary_expression "allocator<char>_>_9\n                   *)section_name._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n                   *)section_name._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "section_name._M_dataplus._M_p" (field_expression "section_name._M_dataplus" identifier . field_identifier) . field_identifier))) != (pointer_expression "&section_name.field_2" & (field_expression "section_name.field_2" identifier . field_identifier))) )) )) (compound_statement "{\nLAB_00180c31:\n                operator_delete(section_name._M_dataplus._M_p);\n              }" { (labeled_statement "LAB_00180c31:\n                operator_delete(section_name._M_dataplus._M_p);" statement_identifier : (expression_statement "operator_delete(section_name._M_dataplus._M_p);" (call_expression "operator_delete(section_name._M_dataplus._M_p)" identifier (argument_list "(section_name._M_dataplus._M_p)" ( (field_expression "section_name._M_dataplus._M_p" (field_expression "section_name._M_dataplus" identifier . field_identifier) . field_identifier) ))) ;)) }))) }))) (expression_statement "pRVar48 = *ppRVar55;" (assignment_expression "pRVar48 = *ppRVar55" identifier = (pointer_expression "*ppRVar55" * identifier)) ;) (expression_statement "uVar44 = uVar44 + 1;" (assignment_expression "uVar44 = uVar44 + 1" identifier = (binary_expression "uVar44 + 1" identifier + number_literal)) ;) (expression_statement "uVar45 = (ulong)uVar44;" (assignment_expression "uVar45 = (ulong)uVar44" identifier = (cast_expression "(ulong)uVar44" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "uVar22 = (pRVar48->super_Object).shnum_;" (assignment_expression "uVar22 = (pRVar48->super_Object).shnum_" identifier = (field_expression "(pRVar48->super_Object).shnum_" (parenthesized_expression "(pRVar48->super_Object)" ( (field_expression "pRVar48->super_Object" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "uVar56 = uVar44 < uVar22;" (assignment_expression "uVar56 = uVar44 < uVar22" identifier = (binary_expression "uVar44 < uVar22" identifier < identifier)) ;) (expression_statement "uVar59 = uVar44 == uVar22;" (assignment_expression "uVar59 = uVar44 == uVar22" identifier = (binary_expression "uVar44 == uVar22" identifier == identifier)) ;) }) while (parenthesized_expression "((bool)uVar56)" ( (cast_expression "(bool)uVar56" ( (type_descriptor "bool" primitive_type) ) identifier) )) ;) })) (expression_statement "pIVar7 = (pRVar6->super_Object).input_file_;" (assignment_expression "pIVar7 = (pRVar6->super_Object).input_file_" identifier = (field_expression "(pRVar6->super_Object).input_file_" (parenthesized_expression "(pRVar6->super_Object)" ( (field_expression "pRVar6->super_Object" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (pIVar7 != (Input_file *)0x0) {\n          File_read::unlock(&pIVar7->file_,(Task *)0xffffffffffffffff);\n        }" if (parenthesized_expression "(pIVar7 != (Input_file *)0x0)" ( (binary_expression "pIVar7 != (Input_file *)0x0" identifier != (cast_expression "(Input_file *)0x0" ( (type_descriptor "Input_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          File_read::unlock(&pIVar7->file_,(Task *)0xffffffffffffffff);\n        }" { (labeled_statement "File_read::unlock(&pIVar7->file_,(Task *)0xffffffffffffffff);" statement_identifier : (ERROR ":" :) (expression_statement "unlock(&pIVar7->file_,(Task *)0xffffffffffffffff);" (call_expression "unlock(&pIVar7->file_,(Task *)0xffffffffffffffff)" identifier (argument_list "(&pIVar7->file_,(Task *)0xffffffffffffffff)" ( (pointer_expression "&pIVar7->file_" & (field_expression "pIVar7->file_" identifier -> field_identifier)) , (cast_expression "(Task *)0xffffffffffffffff" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ))) ;)) })) }))) (expression_statement "ppRVar55 = ppRVar55 + 1;" (assignment_expression "ppRVar55 = ppRVar55 + 1" identifier = (binary_expression "ppRVar55 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((input_objects->relobj_list_).\n             super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish !=\n             ppRVar55)" ( (binary_expression "(input_objects->relobj_list_).\n             super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish !=\n             ppRVar55" (field_expression "(input_objects->relobj_list_).\n             super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish" (field_expression "(input_objects->relobj_list_).\n             super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl" (binary_expression "(input_objects->relobj_list_).\n             super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_" (binary_expression "(input_objects->relobj_list_).\n             super__Vector_base<gold::Relobj*,_std::allocator<gold" (binary_expression "(input_objects->relobj_list_).\n             super__Vector_base<gold::Relobj*,_std" (binary_expression "(input_objects->relobj_list_).\n             super__Vector_base<gold" (field_expression "(input_objects->relobj_list_).\n             super__Vector_base" (parenthesized_expression "(input_objects->relobj_list_)" ( (field_expression "input_objects->relobj_list_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) != identifier) )) ;) }))) (if_statement "if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n  }" if (parenthesized_expression "(parameters->options_ == (General_options *)0x0)" ( (binary_expression "parameters->options_ == (General_options *)0x0" (field_expression "parameters->options_" identifier -> field_identifier) == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n  }" { comment (expression_statement "do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" (call_expression "do_gold_unreachable("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (expression_statement "uVar4 = 0;" (assignment_expression "uVar4 = 0" identifier = number_literal) ;) (expression_statement "uVar44 = (parameters->options_->icf_iterations_).value;" (assignment_expression "uVar44 = (parameters->options_->icf_iterations_).value" identifier = (field_expression "(parameters->options_->icf_iterations_).value" (parenthesized_expression "(parameters->options_->icf_iterations_)" ( (field_expression "parameters->options_->icf_iterations_" (field_expression "parameters->options_" identifier -> field_identifier) -> field_identifier) )) . field_identifier)) ;) (expression_statement "uVar22 = 2;" (assignment_expression "uVar22 = 2" identifier = number_literal) ;) (if_statement "if (0 < (int)uVar44) {\n    uVar22 = uVar44;\n  }" if (parenthesized_expression "(0 < (int)uVar44)" ( (binary_expression "0 < (int)uVar44" number_literal < (cast_expression "(int)uVar44" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    uVar22 = uVar44;\n  }" { (expression_statement "uVar22 = uVar44;" (assignment_expression "uVar22 = uVar44" identifier = identifier) ;) })) (expression_statement "paVar33 = &this_secn_contents.field_2;" (assignment_expression "paVar33 = &this_secn_contents.field_2" identifier = (pointer_expression "&this_secn_contents.field_2" & (field_expression "this_secn_contents.field_2" identifier . field_identifier))) ;) (do_statement "do {\n    uVar4 = uVar4 + 1;\n    section_cksum._M_h._M_bucket_count = 1;\n    section_cksum._M_h._M_buckets = &section_cksum._M_h._M_single_bucket;\n    section_cksum._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n    section_cksum._M_h._M_element_count = 0;\n    section_cksum._M_h._M_rehash_policy._M_max_load_factor = 1.0;\n    section_cksum._M_h._M_rehash_policy._M_next_resize = 0;\n    section_cksum._M_h._M_single_bucket = (__bucket_type)0x0;\n    if (uVar4 == 1) {\n      pvVar51 = &is_secn_or_group_unique;\n                    /* try { // try from 00181c11 to 00181c15 has its CatchHandler @ 00181f8d */\n      preprocess_for_unique_sections\n                (&this->id_section_,&is_secn_or_group_unique,\n                 (vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                  *)0x0);\n      iVar24 = (int)pvVar51;\n    }\n    else {\n      pvVar51 = &is_secn_or_group_unique;\n                    /* try { // try from 00181355 to 00181359 has its CatchHandler @ 00181f8d */\n      preprocess_for_unique_sections(&this->id_section_,&is_secn_or_group_unique,&section_contents);\n      iVar24 = (int)pvVar51;\n    }\n    full_section_contents.\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n    ._M_impl._M_start = (pointer)0x0;\n    full_section_contents.\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n    ._M_impl._M_finish = (pointer)0x0;\n    full_section_contents.\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0;\n    if ((this->id_section_).\n        super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n        ._M_impl._M_finish ==\n        (this->id_section_).\n        super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n        ._M_impl._M_start) {\n      std::\n      _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_false>_>\n      ::~_Hashtable(&section_cksum._M_h,iVar24);\n      bVar57 = true;\n      break;\n    }\n    uVar45 = 0;\n    bVar57 = true;\n    uVar44 = 0;\n    do {\n      section_name._M_dataplus._M_p = (pointer)&section_name.field_2;\n                    /* try { // try from 00181402 to 00181406 has its CatchHandler @ 00181f77 */\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>(&section_name,"");\n      _Var50._M_p = (pointer)&section_name;\n                    /* try { // try from 00181411 to 00181415 has its CatchHandler @ 00181f51 */\n      std::\n      vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ::\n      emplace_back<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>\n                (&full_section_contents,&section_name);\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)section_name._M_dataplus._M_p != &section_name.field_2) {\n        operator_delete(section_name._M_dataplus._M_p);\n      }\n      local_1a0._0_1_ = (byte)uVar44;\n      uVar41 = 1L << ((byte)local_1a0 & 0x3f);\n      ppVar40 = (this->id_section_).\n                super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ._M_impl._M_start;\n      if ((uVar41 & is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                    super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar45 >> 6]) ==\n          0) {\n        ppVar2 = ppVar40 + uVar45;\n        secn.first = ppVar2->first;\n        secn.second = ppVar2->second;\n        secn._12_4_ = *(undefined4 *)&ppVar2->field_0xc;\n        this_secn_contents._M_string_length = 0;\n        this_secn_contents.field_2._M_allocated_capacity =\n             this_secn_contents.field_2._M_allocated_capacity & 0xffffffffffffff00;\n        this_secn_contents._M_dataplus._M_p = (pointer)paVar33;\n        if (uVar4 == 1) {\n          _num_relocs = _num_relocs & 0xffffffff00000000;\n          get_section_contents\n                    (&section_name,true,&secn,uVar44,&num_relocs,symtab,&this->kept_section_id_,\n                     &section_contents);\n          uVar17 = this_secn_contents.field_2._M_allocated_capacity;\n          _Var50._M_p = this_secn_contents._M_dataplus._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)section_name._M_dataplus._M_p == &section_name.field_2) {\n            sVar43 = section_name._M_string_length;\n            if (section_name._M_string_length != 0) {\n              if (section_name._M_string_length == 1) {\n                *this_secn_contents._M_dataplus._M_p = section_name.field_2._M_local_buf[0];\n                sVar43 = section_name._M_string_length;\n              }\n              else {\n                memcpy(this_secn_contents._M_dataplus._M_p,section_name._M_dataplus._M_p,\n                       section_name._M_string_length);\n                sVar43 = section_name._M_string_length;\n              }\n            }\n            this_secn_contents._M_dataplus._M_p[sVar43] = '\0';\n            this_secn_contents._M_string_length = sVar43;\n          }\n          else {\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)this_secn_contents._M_dataplus._M_p != paVar33) {\n              this_secn_contents._M_dataplus = section_name._M_dataplus;\n              this_secn_contents._M_string_length = section_name._M_string_length;\n              this_secn_contents.field_2._M_allocated_capacity =\n                   section_name.field_2._M_allocated_capacity;\n              if (_Var50._M_p != (pointer)0x0) {\n                section_name._M_dataplus = _Var50;\n                section_name.field_2._M_allocated_capacity = uVar17;\n                goto LAB_00181993;\n              }\n            }\n            this_secn_contents.field_2._M_allocated_capacity =\n                 section_name.field_2._M_allocated_capacity;\n            this_secn_contents._M_string_length = section_name._M_string_length;\n            this_secn_contents._M_dataplus = section_name._M_dataplus;\n            section_name._M_dataplus._M_p = (pointer)&section_name.field_2;\n          }\nLAB_00181993:\n          section_name._M_string_length = 0;\n          *section_name._M_dataplus._M_p = '\0';\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)section_name._M_dataplus._M_p != &section_name.field_2) {\n            operator_delete(section_name._M_dataplus._M_p);\n          }\n          local_1d8[uVar45] = num_relocs;\n        }\n        else {\n          if (uVar44 != (this->kept_section_id_).\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start[uVar45]) goto LAB_001813c8;\n                    /* try { // try from 001814fb to 00181926 has its CatchHandler @ 00181f49 */\n          get_section_contents\n                    ((string *)&num_relocs,false,&secn,uVar44,(uint *)0x0,symtab,\n                     &this->kept_section_id_,&section_contents);\n          uVar17 = this_secn_contents.field_2._M_allocated_capacity;\n          _Var50._M_p = this_secn_contents._M_dataplus._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)_num_relocs == &local_d8) {\n            sVar32 = local_e0;\n            if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *this_secn_contents._M_dataplus._M_p = local_d8._M_local_buf[0];\n                sVar32 = local_e0;\n              }\n              else {\n                memcpy(this_secn_contents._M_dataplus._M_p,_num_relocs,local_e0);\n                sVar32 = local_e0;\n              }\n            }\n            this_secn_contents._M_dataplus._M_p[sVar32] = '\0';\n            this_secn_contents._M_string_length = sVar32;\n          }\n          else {\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)this_secn_contents._M_dataplus._M_p != paVar33) {\n              this_secn_contents._M_dataplus._M_p = _num_relocs;\n              this_secn_contents._M_string_length = local_e0;\n              this_secn_contents.field_2._M_allocated_capacity = local_d8._M_allocated_capacity;\n              if (_Var50._M_p != (pointer)0x0) {\n                _num_relocs = _Var50._M_p;\n                local_d8._M_allocated_capacity = uVar17;\n                goto LAB_0018156c;\n              }\n            }\n            this_secn_contents.field_2._M_allocated_capacity = local_d8._M_allocated_capacity;\n            this_secn_contents._M_string_length = local_e0;\n            this_secn_contents._M_dataplus._M_p = _num_relocs;\n            _num_relocs = (pointer)&local_d8;\n          }\nLAB_0018156c:\n          local_e0 = 0;\n          *_num_relocs = '\0';\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)_num_relocs != &local_d8) {\n            operator_delete(_num_relocs);\n          }\n        }\n        uVar23 = xcrc32((uchar *)this_secn_contents._M_dataplus._M_p,\n                        (int)this_secn_contents._M_string_length,0xffffffff);\n        uVar42 = (ulong)uVar23 % section_cksum._M_h._M_bucket_count;\n        cksum = uVar23;\n        if ((section_cksum._M_h._M_buckets[uVar42] == (__bucket_type)0x0) ||\n           (p_Var26 = section_cksum._M_h._M_buckets[uVar42]->_M_nxt,\n           p_Var26 == (_Hash_node_base *)0x0)) {\nLAB_00181638:\n          p_Var35 = (__node_type *)operator_new(0x10);\n          *(uint *)&(p_Var35->\n                    super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n                    _M_storage._M_storage = uVar23;\n          (p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n          super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;\n          *(uint *)((long)&(p_Var35->\n                           super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>\n                           )._M_storage._M_storage + 4) = uVar44;\n          std::\n          _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_false>_>\n          ::_M_insert_multi_node(&section_cksum._M_h,(__node_type *)0x0,(ulong)uVar23,p_Var35);\n        }\n        else {\n          uVar34 = (ulong)*(uint *)&p_Var26[1]._M_nxt;\n          lVar38 = 0;\n          do {\n            if (uVar23 == (uint)uVar34) {\n              p_Var26 = p_Var26->_M_nxt;\n              lVar38 = lVar38 + 1;\n              lVar46 = lVar38;\n            }\n            else {\n              if (lVar38 != 0) goto LAB_00181742;\n              p_Var26 = p_Var26->_M_nxt;\n              lVar46 = 0;\n            }\n          } while ((p_Var26 != (_Hash_node_base *)0x0) &&\n                  (uVar34 = (ulong)*(uint *)&p_Var26[1]._M_nxt, lVar46 = lVar38,\n                  uVar42 == uVar34 % section_cksum._M_h._M_bucket_count));\n          if (lVar46 == 0) goto LAB_00181638;\nLAB_00181742:\n          pVar62 = std::\n                   _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_false>_>\n                   ::equal_range(&section_cksum._M_h,&cksum);\n          sVar43 = this_secn_contents._M_string_length;\n          __s2 = this_secn_contents._M_dataplus;\n          pbVar15 = full_section_contents.\n                    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                    ._M_impl._M_start;\n          if ((__node_type *)pVar62.first !=\n              pVar62.second.\n              super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>) {\n            do {\n              local_1f0 = pVar62.second;\n              _Var54 = pVar62.first;\n              uVar23 = *(uint *)((long)_Var54.\n                                       super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                       ._M_cur + 0xc);\n              pbVar47 = pbVar15 + uVar23;\n              if ((pbVar47->_M_string_length == sVar43) &&\n                 (_Var50 = __s2, iVar24 = memcmp((pbVar47->_M_dataplus)._M_p,__s2._M_p,sVar43),\n                 iVar24 == 0)) {\n                puVar11 = (this->kept_section_id_).\n                          super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                          _M_start;\n                if (section_addraligns.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar23] <\n                    section_addraligns.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar45]) {\n                  puVar11[uVar23] = uVar44;\n                  _Var50._M_p = (pointer)(pbVar15 + uVar45);\n                  *(uint *)((long)_Var54.\n                                  super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                  ._M_cur + 0xc) = uVar44;\n                  std::string::swap((string *)pbVar47,(string *)_Var50._M_p);\n                  bVar57 = false;\n                }\n                else {\n                  puVar11[uVar45] = uVar23;\n                  bVar57 = false;\n                }\n                goto joined_r0x00181835;\n              }\n              pVar62.second.\n              super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>._M_cur =\n                   local_1f0.\n                   super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>.\n                   _M_cur;\n              pVar62.first.\n              super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>._M_cur =\n                   (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>)\n                   (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>)\n                   *(__node_type **)\n                    _Var54.\n                    super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>.\n                    _M_cur;\n            } while (local_1f0.\n                     super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>.\n                     _M_cur != (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                )*(__node_type **)\n                                  _Var54.\n                                  super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                  ._M_cur);\n          }\n          uVar16 = cksum;\n          p_Var35 = (__node_type *)operator_new(0x10);\n          (p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n          _M_storage._M_storage.__align = (anon_struct_4_0_00000001_for___align)uVar16;\n          (p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n          super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;\n          *(uint *)((long)&(p_Var35->\n                           super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>\n                           )._M_storage._M_storage + 4) = uVar44;\n          std::\n          _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_false>_>\n          ::_M_insert_multi_node(&section_cksum._M_h,(__node_type *)0x0,(ulong)uVar16,p_Var35);\n        }\n        _Var50._M_p = (pointer)&this_secn_contents;\n        std::string::_M_assign\n                  ((string *)\n                   (full_section_contents.\n                    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                    ._M_impl._M_start + uVar45),(string *)&this_secn_contents);\njoined_r0x00181835:\n        if ((uVar4 == 1) && (local_1d8[uVar45] == 0)) {\n          is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n          super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar45 >> 6] =\n               is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n               super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar45 >> 6] | uVar41\n          ;\n        }\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)this_secn_contents._M_dataplus._M_p != paVar33) {\n          operator_delete(this_secn_contents._M_dataplus._M_p);\n        }\n        ppVar40 = (this->id_section_).\n                  super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                  ._M_impl._M_start;\n      }\nLAB_001813c8:\n      pbVar15 = full_section_contents.\n                super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                ._M_impl._M_finish;\n      uVar44 = uVar44 + 1;\n      uVar45 = (ulong)uVar44;\n      uVar41 = (long)(this->id_section_).\n                     super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                     ._M_impl._M_finish - (long)ppVar40 >> 4;\n    } while (uVar45 < uVar41);\n    if (uVar41 != 0) {\n      _Var50._M_p = (pointer)(this->kept_section_id_).\n                             super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl\n                             ._M_start;\n      uVar42 = 0;\n      uVar45 = uVar42;\n      do {\n        do {\n          uVar23 = (uint)uVar42;\n          uVar44 = *(uint *)((long)&(((string *)_Var50._M_p)->_M_dataplus)._M_p + uVar42 * 4);\n          uVar42 = (ulong)uVar44;\n        } while (uVar23 != uVar44);\n        puVar14 = (uint *)((long)&(((string *)_Var50._M_p)->_M_dataplus)._M_p + uVar45 * 4);\n        uVar23 = *puVar14;\n        while (uVar23 != uVar44) {\n          *puVar14 = uVar44;\n          puVar14 = (uint *)((long)&(((string *)_Var50._M_p)->_M_dataplus)._M_p + (ulong)uVar23 * 4)\n          ;\n          uVar23 = *puVar14;\n        }\n        uVar42 = (ulong)((int)uVar45 + 1);\n        uVar45 = uVar42;\n      } while (uVar42 < uVar41);\n    }\n    iVar24 = (int)_Var50._M_p;\n    for (pbVar47 = full_section_contents.\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   ._M_impl._M_start; pbVar47 != pbVar15; pbVar47 = pbVar47 + 1) {\n      pcVar12 = (pbVar47->_M_dataplus)._M_p;\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)pcVar12 != &pbVar47->field_2) {\n        operator_delete(pcVar12);\n      }\n      iVar24 = (int)_Var50._M_p;\n    }\n    if (full_section_contents.\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_start != (pointer)0x0) {\n      operator_delete(full_section_contents.\n                      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                      ._M_impl._M_start);\n    }\n    std::\n    _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_false>_>\n    ::~_Hashtable(&section_cksum._M_h,iVar24);\n  } while (uVar4 < uVar22 && !bVar57);" do (compound_statement "{\n    uVar4 = uVar4 + 1;\n    section_cksum._M_h._M_bucket_count = 1;\n    section_cksum._M_h._M_buckets = &section_cksum._M_h._M_single_bucket;\n    section_cksum._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n    section_cksum._M_h._M_element_count = 0;\n    section_cksum._M_h._M_rehash_policy._M_max_load_factor = 1.0;\n    section_cksum._M_h._M_rehash_policy._M_next_resize = 0;\n    section_cksum._M_h._M_single_bucket = (__bucket_type)0x0;\n    if (uVar4 == 1) {\n      pvVar51 = &is_secn_or_group_unique;\n                    /* try { // try from 00181c11 to 00181c15 has its CatchHandler @ 00181f8d */\n      preprocess_for_unique_sections\n                (&this->id_section_,&is_secn_or_group_unique,\n                 (vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                  *)0x0);\n      iVar24 = (int)pvVar51;\n    }\n    else {\n      pvVar51 = &is_secn_or_group_unique;\n                    /* try { // try from 00181355 to 00181359 has its CatchHandler @ 00181f8d */\n      preprocess_for_unique_sections(&this->id_section_,&is_secn_or_group_unique,&section_contents);\n      iVar24 = (int)pvVar51;\n    }\n    full_section_contents.\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n    ._M_impl._M_start = (pointer)0x0;\n    full_section_contents.\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n    ._M_impl._M_finish = (pointer)0x0;\n    full_section_contents.\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0;\n    if ((this->id_section_).\n        super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n        ._M_impl._M_finish ==\n        (this->id_section_).\n        super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n        ._M_impl._M_start) {\n      std::\n      _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_false>_>\n      ::~_Hashtable(&section_cksum._M_h,iVar24);\n      bVar57 = true;\n      break;\n    }\n    uVar45 = 0;\n    bVar57 = true;\n    uVar44 = 0;\n    do {\n      section_name._M_dataplus._M_p = (pointer)&section_name.field_2;\n                    /* try { // try from 00181402 to 00181406 has its CatchHandler @ 00181f77 */\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>(&section_name,"");\n      _Var50._M_p = (pointer)&section_name;\n                    /* try { // try from 00181411 to 00181415 has its CatchHandler @ 00181f51 */\n      std::\n      vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ::\n      emplace_back<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>\n                (&full_section_contents,&section_name);\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)section_name._M_dataplus._M_p != &section_name.field_2) {\n        operator_delete(section_name._M_dataplus._M_p);\n      }\n      local_1a0._0_1_ = (byte)uVar44;\n      uVar41 = 1L << ((byte)local_1a0 & 0x3f);\n      ppVar40 = (this->id_section_).\n                super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ._M_impl._M_start;\n      if ((uVar41 & is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                    super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar45 >> 6]) ==\n          0) {\n        ppVar2 = ppVar40 + uVar45;\n        secn.first = ppVar2->first;\n        secn.second = ppVar2->second;\n        secn._12_4_ = *(undefined4 *)&ppVar2->field_0xc;\n        this_secn_contents._M_string_length = 0;\n        this_secn_contents.field_2._M_allocated_capacity =\n             this_secn_contents.field_2._M_allocated_capacity & 0xffffffffffffff00;\n        this_secn_contents._M_dataplus._M_p = (pointer)paVar33;\n        if (uVar4 == 1) {\n          _num_relocs = _num_relocs & 0xffffffff00000000;\n          get_section_contents\n                    (&section_name,true,&secn,uVar44,&num_relocs,symtab,&this->kept_section_id_,\n                     &section_contents);\n          uVar17 = this_secn_contents.field_2._M_allocated_capacity;\n          _Var50._M_p = this_secn_contents._M_dataplus._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)section_name._M_dataplus._M_p == &section_name.field_2) {\n            sVar43 = section_name._M_string_length;\n            if (section_name._M_string_length != 0) {\n              if (section_name._M_string_length == 1) {\n                *this_secn_contents._M_dataplus._M_p = section_name.field_2._M_local_buf[0];\n                sVar43 = section_name._M_string_length;\n              }\n              else {\n                memcpy(this_secn_contents._M_dataplus._M_p,section_name._M_dataplus._M_p,\n                       section_name._M_string_length);\n                sVar43 = section_name._M_string_length;\n              }\n            }\n            this_secn_contents._M_dataplus._M_p[sVar43] = '\0';\n            this_secn_contents._M_string_length = sVar43;\n          }\n          else {\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)this_secn_contents._M_dataplus._M_p != paVar33) {\n              this_secn_contents._M_dataplus = section_name._M_dataplus;\n              this_secn_contents._M_string_length = section_name._M_string_length;\n              this_secn_contents.field_2._M_allocated_capacity =\n                   section_name.field_2._M_allocated_capacity;\n              if (_Var50._M_p != (pointer)0x0) {\n                section_name._M_dataplus = _Var50;\n                section_name.field_2._M_allocated_capacity = uVar17;\n                goto LAB_00181993;\n              }\n            }\n            this_secn_contents.field_2._M_allocated_capacity =\n                 section_name.field_2._M_allocated_capacity;\n            this_secn_contents._M_string_length = section_name._M_string_length;\n            this_secn_contents._M_dataplus = section_name._M_dataplus;\n            section_name._M_dataplus._M_p = (pointer)&section_name.field_2;\n          }\nLAB_00181993:\n          section_name._M_string_length = 0;\n          *section_name._M_dataplus._M_p = '\0';\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)section_name._M_dataplus._M_p != &section_name.field_2) {\n            operator_delete(section_name._M_dataplus._M_p);\n          }\n          local_1d8[uVar45] = num_relocs;\n        }\n        else {\n          if (uVar44 != (this->kept_section_id_).\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start[uVar45]) goto LAB_001813c8;\n                    /* try { // try from 001814fb to 00181926 has its CatchHandler @ 00181f49 */\n          get_section_contents\n                    ((string *)&num_relocs,false,&secn,uVar44,(uint *)0x0,symtab,\n                     &this->kept_section_id_,&section_contents);\n          uVar17 = this_secn_contents.field_2._M_allocated_capacity;\n          _Var50._M_p = this_secn_contents._M_dataplus._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)_num_relocs == &local_d8) {\n            sVar32 = local_e0;\n            if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *this_secn_contents._M_dataplus._M_p = local_d8._M_local_buf[0];\n                sVar32 = local_e0;\n              }\n              else {\n                memcpy(this_secn_contents._M_dataplus._M_p,_num_relocs,local_e0);\n                sVar32 = local_e0;\n              }\n            }\n            this_secn_contents._M_dataplus._M_p[sVar32] = '\0';\n            this_secn_contents._M_string_length = sVar32;\n          }\n          else {\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)this_secn_contents._M_dataplus._M_p != paVar33) {\n              this_secn_contents._M_dataplus._M_p = _num_relocs;\n              this_secn_contents._M_string_length = local_e0;\n              this_secn_contents.field_2._M_allocated_capacity = local_d8._M_allocated_capacity;\n              if (_Var50._M_p != (pointer)0x0) {\n                _num_relocs = _Var50._M_p;\n                local_d8._M_allocated_capacity = uVar17;\n                goto LAB_0018156c;\n              }\n            }\n            this_secn_contents.field_2._M_allocated_capacity = local_d8._M_allocated_capacity;\n            this_secn_contents._M_string_length = local_e0;\n            this_secn_contents._M_dataplus._M_p = _num_relocs;\n            _num_relocs = (pointer)&local_d8;\n          }\nLAB_0018156c:\n          local_e0 = 0;\n          *_num_relocs = '\0';\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)_num_relocs != &local_d8) {\n            operator_delete(_num_relocs);\n          }\n        }\n        uVar23 = xcrc32((uchar *)this_secn_contents._M_dataplus._M_p,\n                        (int)this_secn_contents._M_string_length,0xffffffff);\n        uVar42 = (ulong)uVar23 % section_cksum._M_h._M_bucket_count;\n        cksum = uVar23;\n        if ((section_cksum._M_h._M_buckets[uVar42] == (__bucket_type)0x0) ||\n           (p_Var26 = section_cksum._M_h._M_buckets[uVar42]->_M_nxt,\n           p_Var26 == (_Hash_node_base *)0x0)) {\nLAB_00181638:\n          p_Var35 = (__node_type *)operator_new(0x10);\n          *(uint *)&(p_Var35->\n                    super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n                    _M_storage._M_storage = uVar23;\n          (p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n          super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;\n          *(uint *)((long)&(p_Var35->\n                           super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>\n                           )._M_storage._M_storage + 4) = uVar44;\n          std::\n          _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_false>_>\n          ::_M_insert_multi_node(&section_cksum._M_h,(__node_type *)0x0,(ulong)uVar23,p_Var35);\n        }\n        else {\n          uVar34 = (ulong)*(uint *)&p_Var26[1]._M_nxt;\n          lVar38 = 0;\n          do {\n            if (uVar23 == (uint)uVar34) {\n              p_Var26 = p_Var26->_M_nxt;\n              lVar38 = lVar38 + 1;\n              lVar46 = lVar38;\n            }\n            else {\n              if (lVar38 != 0) goto LAB_00181742;\n              p_Var26 = p_Var26->_M_nxt;\n              lVar46 = 0;\n            }\n          } while ((p_Var26 != (_Hash_node_base *)0x0) &&\n                  (uVar34 = (ulong)*(uint *)&p_Var26[1]._M_nxt, lVar46 = lVar38,\n                  uVar42 == uVar34 % section_cksum._M_h._M_bucket_count));\n          if (lVar46 == 0) goto LAB_00181638;\nLAB_00181742:\n          pVar62 = std::\n                   _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_false>_>\n                   ::equal_range(&section_cksum._M_h,&cksum);\n          sVar43 = this_secn_contents._M_string_length;\n          __s2 = this_secn_contents._M_dataplus;\n          pbVar15 = full_section_contents.\n                    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                    ._M_impl._M_start;\n          if ((__node_type *)pVar62.first !=\n              pVar62.second.\n              super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>) {\n            do {\n              local_1f0 = pVar62.second;\n              _Var54 = pVar62.first;\n              uVar23 = *(uint *)((long)_Var54.\n                                       super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                       ._M_cur + 0xc);\n              pbVar47 = pbVar15 + uVar23;\n              if ((pbVar47->_M_string_length == sVar43) &&\n                 (_Var50 = __s2, iVar24 = memcmp((pbVar47->_M_dataplus)._M_p,__s2._M_p,sVar43),\n                 iVar24 == 0)) {\n                puVar11 = (this->kept_section_id_).\n                          super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                          _M_start;\n                if (section_addraligns.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar23] <\n                    section_addraligns.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar45]) {\n                  puVar11[uVar23] = uVar44;\n                  _Var50._M_p = (pointer)(pbVar15 + uVar45);\n                  *(uint *)((long)_Var54.\n                                  super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                  ._M_cur + 0xc) = uVar44;\n                  std::string::swap((string *)pbVar47,(string *)_Var50._M_p);\n                  bVar57 = false;\n                }\n                else {\n                  puVar11[uVar45] = uVar23;\n                  bVar57 = false;\n                }\n                goto joined_r0x00181835;\n              }\n              pVar62.second.\n              super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>._M_cur =\n                   local_1f0.\n                   super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>.\n                   _M_cur;\n              pVar62.first.\n              super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>._M_cur =\n                   (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>)\n                   (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>)\n                   *(__node_type **)\n                    _Var54.\n                    super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>.\n                    _M_cur;\n            } while (local_1f0.\n                     super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>.\n                     _M_cur != (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                )*(__node_type **)\n                                  _Var54.\n                                  super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                  ._M_cur);\n          }\n          uVar16 = cksum;\n          p_Var35 = (__node_type *)operator_new(0x10);\n          (p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n          _M_storage._M_storage.__align = (anon_struct_4_0_00000001_for___align)uVar16;\n          (p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n          super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;\n          *(uint *)((long)&(p_Var35->\n                           super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>\n                           )._M_storage._M_storage + 4) = uVar44;\n          std::\n          _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_false>_>\n          ::_M_insert_multi_node(&section_cksum._M_h,(__node_type *)0x0,(ulong)uVar16,p_Var35);\n        }\n        _Var50._M_p = (pointer)&this_secn_contents;\n        std::string::_M_assign\n                  ((string *)\n                   (full_section_contents.\n                    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                    ._M_impl._M_start + uVar45),(string *)&this_secn_contents);\njoined_r0x00181835:\n        if ((uVar4 == 1) && (local_1d8[uVar45] == 0)) {\n          is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n          super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar45 >> 6] =\n               is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n               super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar45 >> 6] | uVar41\n          ;\n        }\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)this_secn_contents._M_dataplus._M_p != paVar33) {\n          operator_delete(this_secn_contents._M_dataplus._M_p);\n        }\n        ppVar40 = (this->id_section_).\n                  super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                  ._M_impl._M_start;\n      }\nLAB_001813c8:\n      pbVar15 = full_section_contents.\n                super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                ._M_impl._M_finish;\n      uVar44 = uVar44 + 1;\n      uVar45 = (ulong)uVar44;\n      uVar41 = (long)(this->id_section_).\n                     super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                     ._M_impl._M_finish - (long)ppVar40 >> 4;\n    } while (uVar45 < uVar41);\n    if (uVar41 != 0) {\n      _Var50._M_p = (pointer)(this->kept_section_id_).\n                             super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl\n                             ._M_start;\n      uVar42 = 0;\n      uVar45 = uVar42;\n      do {\n        do {\n          uVar23 = (uint)uVar42;\n          uVar44 = *(uint *)((long)&(((string *)_Var50._M_p)->_M_dataplus)._M_p + uVar42 * 4);\n          uVar42 = (ulong)uVar44;\n        } while (uVar23 != uVar44);\n        puVar14 = (uint *)((long)&(((string *)_Var50._M_p)->_M_dataplus)._M_p + uVar45 * 4);\n        uVar23 = *puVar14;\n        while (uVar23 != uVar44) {\n          *puVar14 = uVar44;\n          puVar14 = (uint *)((long)&(((string *)_Var50._M_p)->_M_dataplus)._M_p + (ulong)uVar23 * 4)\n          ;\n          uVar23 = *puVar14;\n        }\n        uVar42 = (ulong)((int)uVar45 + 1);\n        uVar45 = uVar42;\n      } while (uVar42 < uVar41);\n    }\n    iVar24 = (int)_Var50._M_p;\n    for (pbVar47 = full_section_contents.\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   ._M_impl._M_start; pbVar47 != pbVar15; pbVar47 = pbVar47 + 1) {\n      pcVar12 = (pbVar47->_M_dataplus)._M_p;\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)pcVar12 != &pbVar47->field_2) {\n        operator_delete(pcVar12);\n      }\n      iVar24 = (int)_Var50._M_p;\n    }\n    if (full_section_contents.\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_start != (pointer)0x0) {\n      operator_delete(full_section_contents.\n                      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                      ._M_impl._M_start);\n    }\n    std::\n    _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_false>_>\n    ::~_Hashtable(&section_cksum._M_h,iVar24);\n  }" { (expression_statement "uVar4 = uVar4 + 1;" (assignment_expression "uVar4 = uVar4 + 1" identifier = (binary_expression "uVar4 + 1" identifier + number_literal)) ;) (expression_statement "section_cksum._M_h._M_bucket_count = 1;" (assignment_expression "section_cksum._M_h._M_bucket_count = 1" (field_expression "section_cksum._M_h._M_bucket_count" (field_expression "section_cksum._M_h" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "section_cksum._M_h._M_buckets = &section_cksum._M_h._M_single_bucket;" (assignment_expression "section_cksum._M_h._M_buckets = &section_cksum._M_h._M_single_bucket" (field_expression "section_cksum._M_h._M_buckets" (field_expression "section_cksum._M_h" identifier . field_identifier) . field_identifier) = (pointer_expression "&section_cksum._M_h._M_single_bucket" & (field_expression "section_cksum._M_h._M_single_bucket" (field_expression "section_cksum._M_h" identifier . field_identifier) . field_identifier))) ;) (expression_statement "section_cksum._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;" (assignment_expression "section_cksum._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0" (field_expression "section_cksum._M_h._M_before_begin._M_nxt" (field_expression "section_cksum._M_h._M_before_begin" (field_expression "section_cksum._M_h" identifier . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "section_cksum._M_h._M_element_count = 0;" (assignment_expression "section_cksum._M_h._M_element_count = 0" (field_expression "section_cksum._M_h._M_element_count" (field_expression "section_cksum._M_h" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "section_cksum._M_h._M_rehash_policy._M_max_load_factor = 1.0;" (assignment_expression "section_cksum._M_h._M_rehash_policy._M_max_load_factor = 1.0" (field_expression "section_cksum._M_h._M_rehash_policy._M_max_load_factor" (field_expression "section_cksum._M_h._M_rehash_policy" (field_expression "section_cksum._M_h" identifier . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "section_cksum._M_h._M_rehash_policy._M_next_resize = 0;" (assignment_expression "section_cksum._M_h._M_rehash_policy._M_next_resize = 0" (field_expression "section_cksum._M_h._M_rehash_policy._M_next_resize" (field_expression "section_cksum._M_h._M_rehash_policy" (field_expression "section_cksum._M_h" identifier . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "section_cksum._M_h._M_single_bucket = (__bucket_type)0x0;" (assignment_expression "section_cksum._M_h._M_single_bucket = (__bucket_type)0x0" (field_expression "section_cksum._M_h._M_single_bucket" (field_expression "section_cksum._M_h" identifier . field_identifier) . field_identifier) = (cast_expression "(__bucket_type)0x0" ( (type_descriptor "__bucket_type" type_identifier) ) number_literal)) ;) (if_statement "if (uVar4 == 1) {\n      pvVar51 = &is_secn_or_group_unique;\n                    /* try { // try from 00181c11 to 00181c15 has its CatchHandler @ 00181f8d */\n      preprocess_for_unique_sections\n                (&this->id_section_,&is_secn_or_group_unique,\n                 (vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                  *)0x0);\n      iVar24 = (int)pvVar51;\n    }\n    else {\n      pvVar51 = &is_secn_or_group_unique;\n                    /* try { // try from 00181355 to 00181359 has its CatchHandler @ 00181f8d */\n      preprocess_for_unique_sections(&this->id_section_,&is_secn_or_group_unique,&section_contents);\n      iVar24 = (int)pvVar51;\n    }" if (parenthesized_expression "(uVar4 == 1)" ( (binary_expression "uVar4 == 1" identifier == number_literal) )) (compound_statement "{\n      pvVar51 = &is_secn_or_group_unique;\n                    /* try { // try from 00181c11 to 00181c15 has its CatchHandler @ 00181f8d */\n      preprocess_for_unique_sections\n                (&this->id_section_,&is_secn_or_group_unique,\n                 (vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                  *)0x0);\n      iVar24 = (int)pvVar51;\n    }" { (expression_statement "pvVar51 = &is_secn_or_group_unique;" (assignment_expression "pvVar51 = &is_secn_or_group_unique" identifier = (pointer_expression "&is_secn_or_group_unique" & identifier)) ;) comment (expression_statement "preprocess_for_unique_sections\n                (&this->id_section_,&is_secn_or_group_unique,\n                 (vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                  *)0x0);" (call_expression "preprocess_for_unique_sections\n                (&this->id_section_,&is_secn_or_group_unique,\n                 (vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                  *)0x0)" identifier (argument_list "(&this->id_section_,&is_secn_or_group_unique,\n                 (vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                  *)0x0)" ( (pointer_expression "&this->id_section_" & (field_expression "this->id_section_" identifier -> field_identifier)) , (pointer_expression "&is_secn_or_group_unique" & identifier) , (parenthesized_expression "(vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                  *)0x0)" ( (ERROR "vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (binary_expression "vector<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "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>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "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>_>_>_>\n                  *)0x0" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) )) ))) ;) (expression_statement "iVar24 = (int)pvVar51;" (assignment_expression "iVar24 = (int)pvVar51" identifier = (cast_expression "(int)pvVar51" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }) (else_clause "else {\n      pvVar51 = &is_secn_or_group_unique;\n                    /* try { // try from 00181355 to 00181359 has its CatchHandler @ 00181f8d */\n      preprocess_for_unique_sections(&this->id_section_,&is_secn_or_group_unique,&section_contents);\n      iVar24 = (int)pvVar51;\n    }" else (compound_statement "{\n      pvVar51 = &is_secn_or_group_unique;\n                    /* try { // try from 00181355 to 00181359 has its CatchHandler @ 00181f8d */\n      preprocess_for_unique_sections(&this->id_section_,&is_secn_or_group_unique,&section_contents);\n      iVar24 = (int)pvVar51;\n    }" { (expression_statement "pvVar51 = &is_secn_or_group_unique;" (assignment_expression "pvVar51 = &is_secn_or_group_unique" identifier = (pointer_expression "&is_secn_or_group_unique" & identifier)) ;) comment (expression_statement "preprocess_for_unique_sections(&this->id_section_,&is_secn_or_group_unique,&section_contents);" (call_expression "preprocess_for_unique_sections(&this->id_section_,&is_secn_or_group_unique,&section_contents)" identifier (argument_list "(&this->id_section_,&is_secn_or_group_unique,&section_contents)" ( (pointer_expression "&this->id_section_" & (field_expression "this->id_section_" identifier -> field_identifier)) , (pointer_expression "&is_secn_or_group_unique" & identifier) , (pointer_expression "&section_contents" & identifier) ))) ;) (expression_statement "iVar24 = (int)pvVar51;" (assignment_expression "iVar24 = (int)pvVar51" identifier = (cast_expression "(int)pvVar51" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }))) (ERROR "full_section_contents.\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (binary_expression "full_section_contents.\n    super__Vector_base<std" (field_expression "full_section_contents.\n    super__Vector_base" identifier . field_identifier) < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>\n    ._M_impl._M_start = (pointer)0x0;" (assignment_expression "allocator<char>_>_>_>\n    ._M_impl._M_start = (pointer)0x0" (field_expression "allocator<char>_>_>_>\n    ._M_impl._M_start" (field_expression "allocator<char>_>_>_>\n    ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (ERROR "full_section_contents.\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (binary_expression "full_section_contents.\n    super__Vector_base<std" (field_expression "full_section_contents.\n    super__Vector_base" identifier . field_identifier) < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>\n    ._M_impl._M_finish = (pointer)0x0;" (assignment_expression "allocator<char>_>_>_>\n    ._M_impl._M_finish = (pointer)0x0" (field_expression "allocator<char>_>_>_>\n    ._M_impl._M_finish" (field_expression "allocator<char>_>_>_>\n    ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (ERROR "full_section_contents.\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (binary_expression "full_section_contents.\n    super__Vector_base<std" (field_expression "full_section_contents.\n    super__Vector_base" identifier . field_identifier) < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0;" (assignment_expression "allocator<char>_>_>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0" (field_expression "allocator<char>_>_>_>\n    ._M_impl._M_end_of_storage" (field_expression "allocator<char>_>_>_>\n    ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (if_statement "if ((this->id_section_).\n        super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n        ._M_impl._M_finish ==\n        (this->id_section_).\n        super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n        ._M_impl._M_start) {\n      std::\n      _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_false>_>\n      ::~_Hashtable(&section_cksum._M_h,iVar24);\n      bVar57 = true;\n      break;\n    }" if (parenthesized_expression "((this->id_section_).\n        super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n        ._M_impl._M_finish ==\n        (this->id_section_).\n        super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n        ._M_impl._M_start)" ( (field_expression "(this->id_section_).\n        super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n        ._M_impl._M_finish ==\n        (this->id_section_).\n        super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n        ._M_impl._M_start" (field_expression "(this->id_section_).\n        super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n        ._M_impl._M_finish ==\n        (this->id_section_).\n        super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n        ._M_impl" (binary_expression "(this->id_section_).\n        super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n        ._M_impl._M_finish ==\n        (this->id_section_).\n        super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_" (binary_expression "(this->id_section_).\n        super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n        ._M_impl._M_finish ==\n        (this->id_section_).\n        super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_" (binary_expression "(this->id_section_).\n        super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n        ._M_impl._M_finish ==\n        (this->id_section_).\n        super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "(this->id_section_).\n        super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n        ._M_impl._M_finish ==\n        (this->id_section_).\n        super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold" (binary_expression "(this->id_section_).\n        super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n        ._M_impl._M_finish ==\n        (this->id_section_).\n        super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std" (binary_expression "(this->id_section_).\n        super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n        ._M_impl._M_finish ==\n        (this->id_section_).\n        super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std" (binary_expression "(this->id_section_).\n        super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n        ._M_impl._M_finish ==\n        (this->id_section_).\n        super__Vector_base<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "(this->id_section_).\n        super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n        ._M_impl._M_finish ==\n        (this->id_section_).\n        super__Vector_base<std::pair<gold" (binary_expression "(this->id_section_).\n        super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n        ._M_impl._M_finish ==\n        (this->id_section_).\n        super__Vector_base<std" (field_expression "(this->id_section_).\n        super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n        ._M_impl._M_finish" (field_expression "(this->id_section_).\n        super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n        ._M_impl" (binary_expression "(this->id_section_).\n        super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_" (binary_expression "(this->id_section_).\n        super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_" (binary_expression "(this->id_section_).\n        super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "(this->id_section_).\n        super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold" (binary_expression "(this->id_section_).\n        super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std" (binary_expression "(this->id_section_).\n        super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std" (binary_expression "(this->id_section_).\n        super__Vector_base<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "(this->id_section_).\n        super__Vector_base<std::pair<gold" (binary_expression "(this->id_section_).\n        super__Vector_base<std" (field_expression "(this->id_section_).\n        super__Vector_base" (parenthesized_expression "(this->id_section_)" ( (field_expression "this->id_section_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) == (binary_expression "(this->id_section_).\n        super__Vector_base<std" (field_expression "(this->id_section_).\n        super__Vector_base" (parenthesized_expression "(this->id_section_)" ( (field_expression "this->id_section_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n      std::\n      _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_false>_>\n      ::~_Hashtable(&section_cksum._M_h,iVar24);\n      bVar57 = true;\n      break;\n    }" { (ERROR "std::\n      _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (comma_expression "std::\n      _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std" identifier (ERROR "::\n      _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>" : : (comma_expression "_Hashtable<unsigned_int,_std" (binary_expression "_Hashtable<unsigned_int" identifier < identifier) , identifier) : : (comma_expression "pair<unsigned_int_const,_unsigned_int>,_std" (binary_expression "pair<unsigned_int_const" identifier < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<unsigned_int_const,_unsigned_int>_>,_std" (binary_expression "pair<unsigned_int_const" identifier < identifier) , (binary_expression "_unsigned_int>_>,_std" (binary_expression "_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier)) : : (comma_expression "__detail::_Select1st,_std::equal_to<unsigned_int>,_std" identifier (ERROR "::_Select1st,_std::equal_to<unsigned_int>" : : (comma_expression "_Select1st,_std" identifier , identifier) : : (binary_expression "equal_to<unsigned_int" identifier < identifier) >) , identifier) : : (binary_expression "hash<unsigned_int" identifier < identifier) >) , identifier) : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : :) (expression_statement "_Hashtable_traits<false,_false,_false>_>\n      ::~_Hashtable(&section_cksum._M_h,iVar24);" (comma_expression "_Hashtable_traits<false,_false,_false>_>\n      ::~_Hashtable(&section_cksum._M_h,iVar24)" (binary_expression "_Hashtable_traits<false" identifier < false) , (comma_expression "_false,_false>_>\n      ::~_Hashtable(&section_cksum._M_h,iVar24)" identifier , (binary_expression "_false>_>\n      ::~_Hashtable(&section_cksum._M_h,iVar24)" (binary_expression "_false>_" identifier > identifier) > (ERROR "::" : :) (unary_expression "~_Hashtable(&section_cksum._M_h,iVar24)" ~ (call_expression "_Hashtable(&section_cksum._M_h,iVar24)" identifier (argument_list "(&section_cksum._M_h,iVar24)" ( (pointer_expression "&section_cksum._M_h" & (field_expression "section_cksum._M_h" identifier . field_identifier)) , identifier ))))))) ;) (expression_statement "bVar57 = true;" (assignment_expression "bVar57 = true" identifier = true) ;) (break_statement "break;" break ;) })) (expression_statement "uVar45 = 0;" (assignment_expression "uVar45 = 0" identifier = number_literal) ;) (expression_statement "bVar57 = true;" (assignment_expression "bVar57 = true" identifier = true) ;) (expression_statement "uVar44 = 0;" (assignment_expression "uVar44 = 0" identifier = number_literal) ;) (do_statement "do {\n      section_name._M_dataplus._M_p = (pointer)&section_name.field_2;\n                    /* try { // try from 00181402 to 00181406 has its CatchHandler @ 00181f77 */\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>(&section_name,"");\n      _Var50._M_p = (pointer)&section_name;\n                    /* try { // try from 00181411 to 00181415 has its CatchHandler @ 00181f51 */\n      std::\n      vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ::\n      emplace_back<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>\n                (&full_section_contents,&section_name);\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)section_name._M_dataplus._M_p != &section_name.field_2) {\n        operator_delete(section_name._M_dataplus._M_p);\n      }\n      local_1a0._0_1_ = (byte)uVar44;\n      uVar41 = 1L << ((byte)local_1a0 & 0x3f);\n      ppVar40 = (this->id_section_).\n                super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ._M_impl._M_start;\n      if ((uVar41 & is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                    super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar45 >> 6]) ==\n          0) {\n        ppVar2 = ppVar40 + uVar45;\n        secn.first = ppVar2->first;\n        secn.second = ppVar2->second;\n        secn._12_4_ = *(undefined4 *)&ppVar2->field_0xc;\n        this_secn_contents._M_string_length = 0;\n        this_secn_contents.field_2._M_allocated_capacity =\n             this_secn_contents.field_2._M_allocated_capacity & 0xffffffffffffff00;\n        this_secn_contents._M_dataplus._M_p = (pointer)paVar33;\n        if (uVar4 == 1) {\n          _num_relocs = _num_relocs & 0xffffffff00000000;\n          get_section_contents\n                    (&section_name,true,&secn,uVar44,&num_relocs,symtab,&this->kept_section_id_,\n                     &section_contents);\n          uVar17 = this_secn_contents.field_2._M_allocated_capacity;\n          _Var50._M_p = this_secn_contents._M_dataplus._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)section_name._M_dataplus._M_p == &section_name.field_2) {\n            sVar43 = section_name._M_string_length;\n            if (section_name._M_string_length != 0) {\n              if (section_name._M_string_length == 1) {\n                *this_secn_contents._M_dataplus._M_p = section_name.field_2._M_local_buf[0];\n                sVar43 = section_name._M_string_length;\n              }\n              else {\n                memcpy(this_secn_contents._M_dataplus._M_p,section_name._M_dataplus._M_p,\n                       section_name._M_string_length);\n                sVar43 = section_name._M_string_length;\n              }\n            }\n            this_secn_contents._M_dataplus._M_p[sVar43] = '\0';\n            this_secn_contents._M_string_length = sVar43;\n          }\n          else {\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)this_secn_contents._M_dataplus._M_p != paVar33) {\n              this_secn_contents._M_dataplus = section_name._M_dataplus;\n              this_secn_contents._M_string_length = section_name._M_string_length;\n              this_secn_contents.field_2._M_allocated_capacity =\n                   section_name.field_2._M_allocated_capacity;\n              if (_Var50._M_p != (pointer)0x0) {\n                section_name._M_dataplus = _Var50;\n                section_name.field_2._M_allocated_capacity = uVar17;\n                goto LAB_00181993;\n              }\n            }\n            this_secn_contents.field_2._M_allocated_capacity =\n                 section_name.field_2._M_allocated_capacity;\n            this_secn_contents._M_string_length = section_name._M_string_length;\n            this_secn_contents._M_dataplus = section_name._M_dataplus;\n            section_name._M_dataplus._M_p = (pointer)&section_name.field_2;\n          }\nLAB_00181993:\n          section_name._M_string_length = 0;\n          *section_name._M_dataplus._M_p = '\0';\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)section_name._M_dataplus._M_p != &section_name.field_2) {\n            operator_delete(section_name._M_dataplus._M_p);\n          }\n          local_1d8[uVar45] = num_relocs;\n        }\n        else {\n          if (uVar44 != (this->kept_section_id_).\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start[uVar45]) goto LAB_001813c8;\n                    /* try { // try from 001814fb to 00181926 has its CatchHandler @ 00181f49 */\n          get_section_contents\n                    ((string *)&num_relocs,false,&secn,uVar44,(uint *)0x0,symtab,\n                     &this->kept_section_id_,&section_contents);\n          uVar17 = this_secn_contents.field_2._M_allocated_capacity;\n          _Var50._M_p = this_secn_contents._M_dataplus._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)_num_relocs == &local_d8) {\n            sVar32 = local_e0;\n            if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *this_secn_contents._M_dataplus._M_p = local_d8._M_local_buf[0];\n                sVar32 = local_e0;\n              }\n              else {\n                memcpy(this_secn_contents._M_dataplus._M_p,_num_relocs,local_e0);\n                sVar32 = local_e0;\n              }\n            }\n            this_secn_contents._M_dataplus._M_p[sVar32] = '\0';\n            this_secn_contents._M_string_length = sVar32;\n          }\n          else {\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)this_secn_contents._M_dataplus._M_p != paVar33) {\n              this_secn_contents._M_dataplus._M_p = _num_relocs;\n              this_secn_contents._M_string_length = local_e0;\n              this_secn_contents.field_2._M_allocated_capacity = local_d8._M_allocated_capacity;\n              if (_Var50._M_p != (pointer)0x0) {\n                _num_relocs = _Var50._M_p;\n                local_d8._M_allocated_capacity = uVar17;\n                goto LAB_0018156c;\n              }\n            }\n            this_secn_contents.field_2._M_allocated_capacity = local_d8._M_allocated_capacity;\n            this_secn_contents._M_string_length = local_e0;\n            this_secn_contents._M_dataplus._M_p = _num_relocs;\n            _num_relocs = (pointer)&local_d8;\n          }\nLAB_0018156c:\n          local_e0 = 0;\n          *_num_relocs = '\0';\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)_num_relocs != &local_d8) {\n            operator_delete(_num_relocs);\n          }\n        }\n        uVar23 = xcrc32((uchar *)this_secn_contents._M_dataplus._M_p,\n                        (int)this_secn_contents._M_string_length,0xffffffff);\n        uVar42 = (ulong)uVar23 % section_cksum._M_h._M_bucket_count;\n        cksum = uVar23;\n        if ((section_cksum._M_h._M_buckets[uVar42] == (__bucket_type)0x0) ||\n           (p_Var26 = section_cksum._M_h._M_buckets[uVar42]->_M_nxt,\n           p_Var26 == (_Hash_node_base *)0x0)) {\nLAB_00181638:\n          p_Var35 = (__node_type *)operator_new(0x10);\n          *(uint *)&(p_Var35->\n                    super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n                    _M_storage._M_storage = uVar23;\n          (p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n          super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;\n          *(uint *)((long)&(p_Var35->\n                           super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>\n                           )._M_storage._M_storage + 4) = uVar44;\n          std::\n          _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_false>_>\n          ::_M_insert_multi_node(&section_cksum._M_h,(__node_type *)0x0,(ulong)uVar23,p_Var35);\n        }\n        else {\n          uVar34 = (ulong)*(uint *)&p_Var26[1]._M_nxt;\n          lVar38 = 0;\n          do {\n            if (uVar23 == (uint)uVar34) {\n              p_Var26 = p_Var26->_M_nxt;\n              lVar38 = lVar38 + 1;\n              lVar46 = lVar38;\n            }\n            else {\n              if (lVar38 != 0) goto LAB_00181742;\n              p_Var26 = p_Var26->_M_nxt;\n              lVar46 = 0;\n            }\n          } while ((p_Var26 != (_Hash_node_base *)0x0) &&\n                  (uVar34 = (ulong)*(uint *)&p_Var26[1]._M_nxt, lVar46 = lVar38,\n                  uVar42 == uVar34 % section_cksum._M_h._M_bucket_count));\n          if (lVar46 == 0) goto LAB_00181638;\nLAB_00181742:\n          pVar62 = std::\n                   _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_false>_>\n                   ::equal_range(&section_cksum._M_h,&cksum);\n          sVar43 = this_secn_contents._M_string_length;\n          __s2 = this_secn_contents._M_dataplus;\n          pbVar15 = full_section_contents.\n                    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                    ._M_impl._M_start;\n          if ((__node_type *)pVar62.first !=\n              pVar62.second.\n              super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>) {\n            do {\n              local_1f0 = pVar62.second;\n              _Var54 = pVar62.first;\n              uVar23 = *(uint *)((long)_Var54.\n                                       super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                       ._M_cur + 0xc);\n              pbVar47 = pbVar15 + uVar23;\n              if ((pbVar47->_M_string_length == sVar43) &&\n                 (_Var50 = __s2, iVar24 = memcmp((pbVar47->_M_dataplus)._M_p,__s2._M_p,sVar43),\n                 iVar24 == 0)) {\n                puVar11 = (this->kept_section_id_).\n                          super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                          _M_start;\n                if (section_addraligns.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar23] <\n                    section_addraligns.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar45]) {\n                  puVar11[uVar23] = uVar44;\n                  _Var50._M_p = (pointer)(pbVar15 + uVar45);\n                  *(uint *)((long)_Var54.\n                                  super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                  ._M_cur + 0xc) = uVar44;\n                  std::string::swap((string *)pbVar47,(string *)_Var50._M_p);\n                  bVar57 = false;\n                }\n                else {\n                  puVar11[uVar45] = uVar23;\n                  bVar57 = false;\n                }\n                goto joined_r0x00181835;\n              }\n              pVar62.second.\n              super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>._M_cur =\n                   local_1f0.\n                   super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>.\n                   _M_cur;\n              pVar62.first.\n              super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>._M_cur =\n                   (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>)\n                   (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>)\n                   *(__node_type **)\n                    _Var54.\n                    super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>.\n                    _M_cur;\n            } while (local_1f0.\n                     super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>.\n                     _M_cur != (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                )*(__node_type **)\n                                  _Var54.\n                                  super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                  ._M_cur);\n          }\n          uVar16 = cksum;\n          p_Var35 = (__node_type *)operator_new(0x10);\n          (p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n          _M_storage._M_storage.__align = (anon_struct_4_0_00000001_for___align)uVar16;\n          (p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n          super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;\n          *(uint *)((long)&(p_Var35->\n                           super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>\n                           )._M_storage._M_storage + 4) = uVar44;\n          std::\n          _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_false>_>\n          ::_M_insert_multi_node(&section_cksum._M_h,(__node_type *)0x0,(ulong)uVar16,p_Var35);\n        }\n        _Var50._M_p = (pointer)&this_secn_contents;\n        std::string::_M_assign\n                  ((string *)\n                   (full_section_contents.\n                    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                    ._M_impl._M_start + uVar45),(string *)&this_secn_contents);\njoined_r0x00181835:\n        if ((uVar4 == 1) && (local_1d8[uVar45] == 0)) {\n          is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n          super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar45 >> 6] =\n               is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n               super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar45 >> 6] | uVar41\n          ;\n        }\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)this_secn_contents._M_dataplus._M_p != paVar33) {\n          operator_delete(this_secn_contents._M_dataplus._M_p);\n        }\n        ppVar40 = (this->id_section_).\n                  super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                  ._M_impl._M_start;\n      }\nLAB_001813c8:\n      pbVar15 = full_section_contents.\n                super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                ._M_impl._M_finish;\n      uVar44 = uVar44 + 1;\n      uVar45 = (ulong)uVar44;\n      uVar41 = (long)(this->id_section_).\n                     super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                     ._M_impl._M_finish - (long)ppVar40 >> 4;\n    } while (uVar45 < uVar41);" do (compound_statement "{\n      section_name._M_dataplus._M_p = (pointer)&section_name.field_2;\n                    /* try { // try from 00181402 to 00181406 has its CatchHandler @ 00181f77 */\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>(&section_name,"");\n      _Var50._M_p = (pointer)&section_name;\n                    /* try { // try from 00181411 to 00181415 has its CatchHandler @ 00181f51 */\n      std::\n      vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ::\n      emplace_back<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>\n                (&full_section_contents,&section_name);\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)section_name._M_dataplus._M_p != &section_name.field_2) {\n        operator_delete(section_name._M_dataplus._M_p);\n      }\n      local_1a0._0_1_ = (byte)uVar44;\n      uVar41 = 1L << ((byte)local_1a0 & 0x3f);\n      ppVar40 = (this->id_section_).\n                super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ._M_impl._M_start;\n      if ((uVar41 & is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                    super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar45 >> 6]) ==\n          0) {\n        ppVar2 = ppVar40 + uVar45;\n        secn.first = ppVar2->first;\n        secn.second = ppVar2->second;\n        secn._12_4_ = *(undefined4 *)&ppVar2->field_0xc;\n        this_secn_contents._M_string_length = 0;\n        this_secn_contents.field_2._M_allocated_capacity =\n             this_secn_contents.field_2._M_allocated_capacity & 0xffffffffffffff00;\n        this_secn_contents._M_dataplus._M_p = (pointer)paVar33;\n        if (uVar4 == 1) {\n          _num_relocs = _num_relocs & 0xffffffff00000000;\n          get_section_contents\n                    (&section_name,true,&secn,uVar44,&num_relocs,symtab,&this->kept_section_id_,\n                     &section_contents);\n          uVar17 = this_secn_contents.field_2._M_allocated_capacity;\n          _Var50._M_p = this_secn_contents._M_dataplus._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)section_name._M_dataplus._M_p == &section_name.field_2) {\n            sVar43 = section_name._M_string_length;\n            if (section_name._M_string_length != 0) {\n              if (section_name._M_string_length == 1) {\n                *this_secn_contents._M_dataplus._M_p = section_name.field_2._M_local_buf[0];\n                sVar43 = section_name._M_string_length;\n              }\n              else {\n                memcpy(this_secn_contents._M_dataplus._M_p,section_name._M_dataplus._M_p,\n                       section_name._M_string_length);\n                sVar43 = section_name._M_string_length;\n              }\n            }\n            this_secn_contents._M_dataplus._M_p[sVar43] = '\0';\n            this_secn_contents._M_string_length = sVar43;\n          }\n          else {\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)this_secn_contents._M_dataplus._M_p != paVar33) {\n              this_secn_contents._M_dataplus = section_name._M_dataplus;\n              this_secn_contents._M_string_length = section_name._M_string_length;\n              this_secn_contents.field_2._M_allocated_capacity =\n                   section_name.field_2._M_allocated_capacity;\n              if (_Var50._M_p != (pointer)0x0) {\n                section_name._M_dataplus = _Var50;\n                section_name.field_2._M_allocated_capacity = uVar17;\n                goto LAB_00181993;\n              }\n            }\n            this_secn_contents.field_2._M_allocated_capacity =\n                 section_name.field_2._M_allocated_capacity;\n            this_secn_contents._M_string_length = section_name._M_string_length;\n            this_secn_contents._M_dataplus = section_name._M_dataplus;\n            section_name._M_dataplus._M_p = (pointer)&section_name.field_2;\n          }\nLAB_00181993:\n          section_name._M_string_length = 0;\n          *section_name._M_dataplus._M_p = '\0';\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)section_name._M_dataplus._M_p != &section_name.field_2) {\n            operator_delete(section_name._M_dataplus._M_p);\n          }\n          local_1d8[uVar45] = num_relocs;\n        }\n        else {\n          if (uVar44 != (this->kept_section_id_).\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start[uVar45]) goto LAB_001813c8;\n                    /* try { // try from 001814fb to 00181926 has its CatchHandler @ 00181f49 */\n          get_section_contents\n                    ((string *)&num_relocs,false,&secn,uVar44,(uint *)0x0,symtab,\n                     &this->kept_section_id_,&section_contents);\n          uVar17 = this_secn_contents.field_2._M_allocated_capacity;\n          _Var50._M_p = this_secn_contents._M_dataplus._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)_num_relocs == &local_d8) {\n            sVar32 = local_e0;\n            if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *this_secn_contents._M_dataplus._M_p = local_d8._M_local_buf[0];\n                sVar32 = local_e0;\n              }\n              else {\n                memcpy(this_secn_contents._M_dataplus._M_p,_num_relocs,local_e0);\n                sVar32 = local_e0;\n              }\n            }\n            this_secn_contents._M_dataplus._M_p[sVar32] = '\0';\n            this_secn_contents._M_string_length = sVar32;\n          }\n          else {\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)this_secn_contents._M_dataplus._M_p != paVar33) {\n              this_secn_contents._M_dataplus._M_p = _num_relocs;\n              this_secn_contents._M_string_length = local_e0;\n              this_secn_contents.field_2._M_allocated_capacity = local_d8._M_allocated_capacity;\n              if (_Var50._M_p != (pointer)0x0) {\n                _num_relocs = _Var50._M_p;\n                local_d8._M_allocated_capacity = uVar17;\n                goto LAB_0018156c;\n              }\n            }\n            this_secn_contents.field_2._M_allocated_capacity = local_d8._M_allocated_capacity;\n            this_secn_contents._M_string_length = local_e0;\n            this_secn_contents._M_dataplus._M_p = _num_relocs;\n            _num_relocs = (pointer)&local_d8;\n          }\nLAB_0018156c:\n          local_e0 = 0;\n          *_num_relocs = '\0';\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)_num_relocs != &local_d8) {\n            operator_delete(_num_relocs);\n          }\n        }\n        uVar23 = xcrc32((uchar *)this_secn_contents._M_dataplus._M_p,\n                        (int)this_secn_contents._M_string_length,0xffffffff);\n        uVar42 = (ulong)uVar23 % section_cksum._M_h._M_bucket_count;\n        cksum = uVar23;\n        if ((section_cksum._M_h._M_buckets[uVar42] == (__bucket_type)0x0) ||\n           (p_Var26 = section_cksum._M_h._M_buckets[uVar42]->_M_nxt,\n           p_Var26 == (_Hash_node_base *)0x0)) {\nLAB_00181638:\n          p_Var35 = (__node_type *)operator_new(0x10);\n          *(uint *)&(p_Var35->\n                    super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n                    _M_storage._M_storage = uVar23;\n          (p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n          super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;\n          *(uint *)((long)&(p_Var35->\n                           super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>\n                           )._M_storage._M_storage + 4) = uVar44;\n          std::\n          _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_false>_>\n          ::_M_insert_multi_node(&section_cksum._M_h,(__node_type *)0x0,(ulong)uVar23,p_Var35);\n        }\n        else {\n          uVar34 = (ulong)*(uint *)&p_Var26[1]._M_nxt;\n          lVar38 = 0;\n          do {\n            if (uVar23 == (uint)uVar34) {\n              p_Var26 = p_Var26->_M_nxt;\n              lVar38 = lVar38 + 1;\n              lVar46 = lVar38;\n            }\n            else {\n              if (lVar38 != 0) goto LAB_00181742;\n              p_Var26 = p_Var26->_M_nxt;\n              lVar46 = 0;\n            }\n          } while ((p_Var26 != (_Hash_node_base *)0x0) &&\n                  (uVar34 = (ulong)*(uint *)&p_Var26[1]._M_nxt, lVar46 = lVar38,\n                  uVar42 == uVar34 % section_cksum._M_h._M_bucket_count));\n          if (lVar46 == 0) goto LAB_00181638;\nLAB_00181742:\n          pVar62 = std::\n                   _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_false>_>\n                   ::equal_range(&section_cksum._M_h,&cksum);\n          sVar43 = this_secn_contents._M_string_length;\n          __s2 = this_secn_contents._M_dataplus;\n          pbVar15 = full_section_contents.\n                    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                    ._M_impl._M_start;\n          if ((__node_type *)pVar62.first !=\n              pVar62.second.\n              super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>) {\n            do {\n              local_1f0 = pVar62.second;\n              _Var54 = pVar62.first;\n              uVar23 = *(uint *)((long)_Var54.\n                                       super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                       ._M_cur + 0xc);\n              pbVar47 = pbVar15 + uVar23;\n              if ((pbVar47->_M_string_length == sVar43) &&\n                 (_Var50 = __s2, iVar24 = memcmp((pbVar47->_M_dataplus)._M_p,__s2._M_p,sVar43),\n                 iVar24 == 0)) {\n                puVar11 = (this->kept_section_id_).\n                          super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                          _M_start;\n                if (section_addraligns.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar23] <\n                    section_addraligns.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar45]) {\n                  puVar11[uVar23] = uVar44;\n                  _Var50._M_p = (pointer)(pbVar15 + uVar45);\n                  *(uint *)((long)_Var54.\n                                  super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                  ._M_cur + 0xc) = uVar44;\n                  std::string::swap((string *)pbVar47,(string *)_Var50._M_p);\n                  bVar57 = false;\n                }\n                else {\n                  puVar11[uVar45] = uVar23;\n                  bVar57 = false;\n                }\n                goto joined_r0x00181835;\n              }\n              pVar62.second.\n              super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>._M_cur =\n                   local_1f0.\n                   super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>.\n                   _M_cur;\n              pVar62.first.\n              super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>._M_cur =\n                   (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>)\n                   (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>)\n                   *(__node_type **)\n                    _Var54.\n                    super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>.\n                    _M_cur;\n            } while (local_1f0.\n                     super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>.\n                     _M_cur != (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                )*(__node_type **)\n                                  _Var54.\n                                  super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                  ._M_cur);\n          }\n          uVar16 = cksum;\n          p_Var35 = (__node_type *)operator_new(0x10);\n          (p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n          _M_storage._M_storage.__align = (anon_struct_4_0_00000001_for___align)uVar16;\n          (p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n          super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;\n          *(uint *)((long)&(p_Var35->\n                           super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>\n                           )._M_storage._M_storage + 4) = uVar44;\n          std::\n          _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_false>_>\n          ::_M_insert_multi_node(&section_cksum._M_h,(__node_type *)0x0,(ulong)uVar16,p_Var35);\n        }\n        _Var50._M_p = (pointer)&this_secn_contents;\n        std::string::_M_assign\n                  ((string *)\n                   (full_section_contents.\n                    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                    ._M_impl._M_start + uVar45),(string *)&this_secn_contents);\njoined_r0x00181835:\n        if ((uVar4 == 1) && (local_1d8[uVar45] == 0)) {\n          is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n          super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar45 >> 6] =\n               is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n               super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar45 >> 6] | uVar41\n          ;\n        }\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)this_secn_contents._M_dataplus._M_p != paVar33) {\n          operator_delete(this_secn_contents._M_dataplus._M_p);\n        }\n        ppVar40 = (this->id_section_).\n                  super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                  ._M_impl._M_start;\n      }\nLAB_001813c8:\n      pbVar15 = full_section_contents.\n                super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                ._M_impl._M_finish;\n      uVar44 = uVar44 + 1;\n      uVar45 = (ulong)uVar44;\n      uVar41 = (long)(this->id_section_).\n                     super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                     ._M_impl._M_finish - (long)ppVar40 >> 4;\n    }" { (expression_statement "section_name._M_dataplus._M_p = (pointer)&section_name.field_2;" (assignment_expression "section_name._M_dataplus._M_p = (pointer)&section_name.field_2" (field_expression "section_name._M_dataplus._M_p" (field_expression "section_name._M_dataplus" identifier . field_identifier) . field_identifier) = (binary_expression "(pointer)&section_name.field_2" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "section_name.field_2" identifier . field_identifier))) ;) comment (labeled_statement "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>(&section_name,"");" statement_identifier (ERROR "::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>:" : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > :) : (expression_statement "_M_construct<char_const*>(&section_name,"");" (binary_expression "_M_construct<char_const*>(&section_name,"")" (binary_expression "_M_construct<char_const" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "(&section_name,"")" ( (comma_expression "&section_name,""" (pointer_expression "&section_name" & identifier) , (string_literal """" " ")) ))) ;)) (expression_statement "_Var50._M_p = (pointer)&section_name;" (assignment_expression "_Var50._M_p = (pointer)&section_name" (field_expression "_Var50._M_p" identifier . field_identifier) = (binary_expression "(pointer)&section_name" (parenthesized_expression "(pointer)" ( identifier )) & identifier)) ;) comment (ERROR "std::\n      vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ::\n      emplace_back<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (comma_expression "std::\n      vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std" identifier (ERROR "::\n      vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>" : : (binary_expression "vector<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>_>_>\n      ::\n      emplace_back<std" (binary_expression "allocator<char>_>_>_>\n      ::\n      emplace_back" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) > (ERROR "::" : :) identifier) < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>\n                (&full_section_contents,&section_name);" (binary_expression "allocator<char>_>_>\n                (&full_section_contents,&section_name)" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (parenthesized_expression "(&full_section_contents,&section_name)" ( (comma_expression "&full_section_contents,&section_name" (pointer_expression "&full_section_contents" & identifier) , (pointer_expression "&section_name" & identifier)) ))) ;) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)section_name._M_dataplus._M_p != &section_name.field_2) {\n        operator_delete(section_name._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           *)section_name._M_dataplus._M_p != &section_name.field_2)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)section_name._M_dataplus._M_p != &section_name.field_2)" ( (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           *)section_name._M_dataplus._M_p != &section_name.field_2" (binary_expression "allocator<char>_>_9\n           *)section_name._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n           *)section_name._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "section_name._M_dataplus._M_p" (field_expression "section_name._M_dataplus" identifier . field_identifier) . field_identifier))) != (pointer_expression "&section_name.field_2" & (field_expression "section_name.field_2" identifier . field_identifier))) )) )) (compound_statement "{\n        operator_delete(section_name._M_dataplus._M_p);\n      }" { (expression_statement "operator_delete(section_name._M_dataplus._M_p);" (call_expression "operator_delete(section_name._M_dataplus._M_p)" identifier (argument_list "(section_name._M_dataplus._M_p)" ( (field_expression "section_name._M_dataplus._M_p" (field_expression "section_name._M_dataplus" identifier . field_identifier) . field_identifier) ))) ;) })) (expression_statement "local_1a0._0_1_ = (byte)uVar44;" (assignment_expression "local_1a0._0_1_ = (byte)uVar44" (field_expression "local_1a0._0_1_" identifier . field_identifier) = (cast_expression "(byte)uVar44" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "uVar41 = 1L << ((byte)local_1a0 & 0x3f);" (assignment_expression "uVar41 = 1L << ((byte)local_1a0 & 0x3f)" identifier = (binary_expression "1L << ((byte)local_1a0 & 0x3f)" number_literal << (parenthesized_expression "((byte)local_1a0 & 0x3f)" ( (binary_expression "(byte)local_1a0 & 0x3f" (cast_expression "(byte)local_1a0" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "ppVar40 = (this->id_section_).\n                super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ._M_impl._M_start;" (field_expression "ppVar40 = (this->id_section_).\n                super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ._M_impl._M_start" (field_expression "ppVar40 = (this->id_section_).\n                super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ._M_impl" (binary_expression "ppVar40 = (this->id_section_).\n                super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_" (binary_expression "ppVar40 = (this->id_section_).\n                super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_" (binary_expression "ppVar40 = (this->id_section_).\n                super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "ppVar40 = (this->id_section_).\n                super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold" (binary_expression "ppVar40 = (this->id_section_).\n                super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std" (binary_expression "ppVar40 = (this->id_section_).\n                super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std" (binary_expression "ppVar40 = (this->id_section_).\n                super__Vector_base<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "ppVar40 = (this->id_section_).\n                super__Vector_base<std::pair<gold" (assignment_expression "ppVar40 = (this->id_section_).\n                super__Vector_base<std" identifier = (binary_expression "(this->id_section_).\n                super__Vector_base<std" (field_expression "(this->id_section_).\n                super__Vector_base" (parenthesized_expression "(this->id_section_)" ( (field_expression "this->id_section_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if ((uVar41 & is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                    super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar45 >> 6]) ==\n          0) {\n        ppVar2 = ppVar40 + uVar45;\n        secn.first = ppVar2->first;\n        secn.second = ppVar2->second;\n        secn._12_4_ = *(undefined4 *)&ppVar2->field_0xc;\n        this_secn_contents._M_string_length = 0;\n        this_secn_contents.field_2._M_allocated_capacity =\n             this_secn_contents.field_2._M_allocated_capacity & 0xffffffffffffff00;\n        this_secn_contents._M_dataplus._M_p = (pointer)paVar33;\n        if (uVar4 == 1) {\n          _num_relocs = _num_relocs & 0xffffffff00000000;\n          get_section_contents\n                    (&section_name,true,&secn,uVar44,&num_relocs,symtab,&this->kept_section_id_,\n                     &section_contents);\n          uVar17 = this_secn_contents.field_2._M_allocated_capacity;\n          _Var50._M_p = this_secn_contents._M_dataplus._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)section_name._M_dataplus._M_p == &section_name.field_2) {\n            sVar43 = section_name._M_string_length;\n            if (section_name._M_string_length != 0) {\n              if (section_name._M_string_length == 1) {\n                *this_secn_contents._M_dataplus._M_p = section_name.field_2._M_local_buf[0];\n                sVar43 = section_name._M_string_length;\n              }\n              else {\n                memcpy(this_secn_contents._M_dataplus._M_p,section_name._M_dataplus._M_p,\n                       section_name._M_string_length);\n                sVar43 = section_name._M_string_length;\n              }\n            }\n            this_secn_contents._M_dataplus._M_p[sVar43] = '\0';\n            this_secn_contents._M_string_length = sVar43;\n          }\n          else {\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)this_secn_contents._M_dataplus._M_p != paVar33) {\n              this_secn_contents._M_dataplus = section_name._M_dataplus;\n              this_secn_contents._M_string_length = section_name._M_string_length;\n              this_secn_contents.field_2._M_allocated_capacity =\n                   section_name.field_2._M_allocated_capacity;\n              if (_Var50._M_p != (pointer)0x0) {\n                section_name._M_dataplus = _Var50;\n                section_name.field_2._M_allocated_capacity = uVar17;\n                goto LAB_00181993;\n              }\n            }\n            this_secn_contents.field_2._M_allocated_capacity =\n                 section_name.field_2._M_allocated_capacity;\n            this_secn_contents._M_string_length = section_name._M_string_length;\n            this_secn_contents._M_dataplus = section_name._M_dataplus;\n            section_name._M_dataplus._M_p = (pointer)&section_name.field_2;\n          }\nLAB_00181993:\n          section_name._M_string_length = 0;\n          *section_name._M_dataplus._M_p = '\0';\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)section_name._M_dataplus._M_p != &section_name.field_2) {\n            operator_delete(section_name._M_dataplus._M_p);\n          }\n          local_1d8[uVar45] = num_relocs;\n        }\n        else {\n          if (uVar44 != (this->kept_section_id_).\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start[uVar45]) goto LAB_001813c8;\n                    /* try { // try from 001814fb to 00181926 has its CatchHandler @ 00181f49 */\n          get_section_contents\n                    ((string *)&num_relocs,false,&secn,uVar44,(uint *)0x0,symtab,\n                     &this->kept_section_id_,&section_contents);\n          uVar17 = this_secn_contents.field_2._M_allocated_capacity;\n          _Var50._M_p = this_secn_contents._M_dataplus._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)_num_relocs == &local_d8) {\n            sVar32 = local_e0;\n            if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *this_secn_contents._M_dataplus._M_p = local_d8._M_local_buf[0];\n                sVar32 = local_e0;\n              }\n              else {\n                memcpy(this_secn_contents._M_dataplus._M_p,_num_relocs,local_e0);\n                sVar32 = local_e0;\n              }\n            }\n            this_secn_contents._M_dataplus._M_p[sVar32] = '\0';\n            this_secn_contents._M_string_length = sVar32;\n          }\n          else {\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)this_secn_contents._M_dataplus._M_p != paVar33) {\n              this_secn_contents._M_dataplus._M_p = _num_relocs;\n              this_secn_contents._M_string_length = local_e0;\n              this_secn_contents.field_2._M_allocated_capacity = local_d8._M_allocated_capacity;\n              if (_Var50._M_p != (pointer)0x0) {\n                _num_relocs = _Var50._M_p;\n                local_d8._M_allocated_capacity = uVar17;\n                goto LAB_0018156c;\n              }\n            }\n            this_secn_contents.field_2._M_allocated_capacity = local_d8._M_allocated_capacity;\n            this_secn_contents._M_string_length = local_e0;\n            this_secn_contents._M_dataplus._M_p = _num_relocs;\n            _num_relocs = (pointer)&local_d8;\n          }\nLAB_0018156c:\n          local_e0 = 0;\n          *_num_relocs = '\0';\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)_num_relocs != &local_d8) {\n            operator_delete(_num_relocs);\n          }\n        }\n        uVar23 = xcrc32((uchar *)this_secn_contents._M_dataplus._M_p,\n                        (int)this_secn_contents._M_string_length,0xffffffff);\n        uVar42 = (ulong)uVar23 % section_cksum._M_h._M_bucket_count;\n        cksum = uVar23;\n        if ((section_cksum._M_h._M_buckets[uVar42] == (__bucket_type)0x0) ||\n           (p_Var26 = section_cksum._M_h._M_buckets[uVar42]->_M_nxt,\n           p_Var26 == (_Hash_node_base *)0x0)) {\nLAB_00181638:\n          p_Var35 = (__node_type *)operator_new(0x10);\n          *(uint *)&(p_Var35->\n                    super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n                    _M_storage._M_storage = uVar23;\n          (p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n          super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;\n          *(uint *)((long)&(p_Var35->\n                           super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>\n                           )._M_storage._M_storage + 4) = uVar44;\n          std::\n          _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_false>_>\n          ::_M_insert_multi_node(&section_cksum._M_h,(__node_type *)0x0,(ulong)uVar23,p_Var35);\n        }\n        else {\n          uVar34 = (ulong)*(uint *)&p_Var26[1]._M_nxt;\n          lVar38 = 0;\n          do {\n            if (uVar23 == (uint)uVar34) {\n              p_Var26 = p_Var26->_M_nxt;\n              lVar38 = lVar38 + 1;\n              lVar46 = lVar38;\n            }\n            else {\n              if (lVar38 != 0) goto LAB_00181742;\n              p_Var26 = p_Var26->_M_nxt;\n              lVar46 = 0;\n            }\n          } while ((p_Var26 != (_Hash_node_base *)0x0) &&\n                  (uVar34 = (ulong)*(uint *)&p_Var26[1]._M_nxt, lVar46 = lVar38,\n                  uVar42 == uVar34 % section_cksum._M_h._M_bucket_count));\n          if (lVar46 == 0) goto LAB_00181638;\nLAB_00181742:\n          pVar62 = std::\n                   _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_false>_>\n                   ::equal_range(&section_cksum._M_h,&cksum);\n          sVar43 = this_secn_contents._M_string_length;\n          __s2 = this_secn_contents._M_dataplus;\n          pbVar15 = full_section_contents.\n                    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                    ._M_impl._M_start;\n          if ((__node_type *)pVar62.first !=\n              pVar62.second.\n              super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>) {\n            do {\n              local_1f0 = pVar62.second;\n              _Var54 = pVar62.first;\n              uVar23 = *(uint *)((long)_Var54.\n                                       super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                       ._M_cur + 0xc);\n              pbVar47 = pbVar15 + uVar23;\n              if ((pbVar47->_M_string_length == sVar43) &&\n                 (_Var50 = __s2, iVar24 = memcmp((pbVar47->_M_dataplus)._M_p,__s2._M_p,sVar43),\n                 iVar24 == 0)) {\n                puVar11 = (this->kept_section_id_).\n                          super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                          _M_start;\n                if (section_addraligns.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar23] <\n                    section_addraligns.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar45]) {\n                  puVar11[uVar23] = uVar44;\n                  _Var50._M_p = (pointer)(pbVar15 + uVar45);\n                  *(uint *)((long)_Var54.\n                                  super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                  ._M_cur + 0xc) = uVar44;\n                  std::string::swap((string *)pbVar47,(string *)_Var50._M_p);\n                  bVar57 = false;\n                }\n                else {\n                  puVar11[uVar45] = uVar23;\n                  bVar57 = false;\n                }\n                goto joined_r0x00181835;\n              }\n              pVar62.second.\n              super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>._M_cur =\n                   local_1f0.\n                   super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>.\n                   _M_cur;\n              pVar62.first.\n              super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>._M_cur =\n                   (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>)\n                   (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>)\n                   *(__node_type **)\n                    _Var54.\n                    super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>.\n                    _M_cur;\n            } while (local_1f0.\n                     super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>.\n                     _M_cur != (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                )*(__node_type **)\n                                  _Var54.\n                                  super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                  ._M_cur);\n          }\n          uVar16 = cksum;\n          p_Var35 = (__node_type *)operator_new(0x10);\n          (p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n          _M_storage._M_storage.__align = (anon_struct_4_0_00000001_for___align)uVar16;\n          (p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n          super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;\n          *(uint *)((long)&(p_Var35->\n                           super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>\n                           )._M_storage._M_storage + 4) = uVar44;\n          std::\n          _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_false>_>\n          ::_M_insert_multi_node(&section_cksum._M_h,(__node_type *)0x0,(ulong)uVar16,p_Var35);\n        }\n        _Var50._M_p = (pointer)&this_secn_contents;\n        std::string::_M_assign\n                  ((string *)\n                   (full_section_contents.\n                    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                    ._M_impl._M_start + uVar45),(string *)&this_secn_contents);\njoined_r0x00181835:\n        if ((uVar4 == 1) && (local_1d8[uVar45] == 0)) {\n          is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n          super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar45 >> 6] =\n               is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n               super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar45 >> 6] | uVar41\n          ;\n        }\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)this_secn_contents._M_dataplus._M_p != paVar33) {\n          operator_delete(this_secn_contents._M_dataplus._M_p);\n        }\n        ppVar40 = (this->id_section_).\n                  super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                  ._M_impl._M_start;\n      }" if (parenthesized_expression "((uVar41 & is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                    super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar45 >> 6]) ==\n          0)" ( (binary_expression "(uVar41 & is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                    super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar45 >> 6]) ==\n          0" (parenthesized_expression "(uVar41 & is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                    super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar45 >> 6])" ( (subscript_expression "uVar41 & is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                    super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar45 >> 6]" (field_expression "uVar41 & is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                    super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p" (field_expression "uVar41 & is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                    super__Bvector_impl_data._M_start.super__Bit_iterator_base" (field_expression "uVar41 & is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                    super__Bvector_impl_data._M_start" (field_expression "uVar41 & is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                    super__Bvector_impl_data" (field_expression "uVar41 & is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl" (binary_expression "uVar41 & is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_" (binary_expression "uVar41 & is_secn_or_group_unique.super__Bvector_base<std::allocator<bool" (binary_expression "uVar41 & is_secn_or_group_unique.super__Bvector_base<std" identifier & (binary_expression "is_secn_or_group_unique.super__Bvector_base<std" (field_expression "is_secn_or_group_unique.super__Bvector_base" identifier . field_identifier) < identifier)) (ERROR "::allocator" : : identifier) < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) [ (binary_expression "uVar45 >> 6" identifier >> number_literal) ]) )) == number_literal) )) (compound_statement "{\n        ppVar2 = ppVar40 + uVar45;\n        secn.first = ppVar2->first;\n        secn.second = ppVar2->second;\n        secn._12_4_ = *(undefined4 *)&ppVar2->field_0xc;\n        this_secn_contents._M_string_length = 0;\n        this_secn_contents.field_2._M_allocated_capacity =\n             this_secn_contents.field_2._M_allocated_capacity & 0xffffffffffffff00;\n        this_secn_contents._M_dataplus._M_p = (pointer)paVar33;\n        if (uVar4 == 1) {\n          _num_relocs = _num_relocs & 0xffffffff00000000;\n          get_section_contents\n                    (&section_name,true,&secn,uVar44,&num_relocs,symtab,&this->kept_section_id_,\n                     &section_contents);\n          uVar17 = this_secn_contents.field_2._M_allocated_capacity;\n          _Var50._M_p = this_secn_contents._M_dataplus._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)section_name._M_dataplus._M_p == &section_name.field_2) {\n            sVar43 = section_name._M_string_length;\n            if (section_name._M_string_length != 0) {\n              if (section_name._M_string_length == 1) {\n                *this_secn_contents._M_dataplus._M_p = section_name.field_2._M_local_buf[0];\n                sVar43 = section_name._M_string_length;\n              }\n              else {\n                memcpy(this_secn_contents._M_dataplus._M_p,section_name._M_dataplus._M_p,\n                       section_name._M_string_length);\n                sVar43 = section_name._M_string_length;\n              }\n            }\n            this_secn_contents._M_dataplus._M_p[sVar43] = '\0';\n            this_secn_contents._M_string_length = sVar43;\n          }\n          else {\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)this_secn_contents._M_dataplus._M_p != paVar33) {\n              this_secn_contents._M_dataplus = section_name._M_dataplus;\n              this_secn_contents._M_string_length = section_name._M_string_length;\n              this_secn_contents.field_2._M_allocated_capacity =\n                   section_name.field_2._M_allocated_capacity;\n              if (_Var50._M_p != (pointer)0x0) {\n                section_name._M_dataplus = _Var50;\n                section_name.field_2._M_allocated_capacity = uVar17;\n                goto LAB_00181993;\n              }\n            }\n            this_secn_contents.field_2._M_allocated_capacity =\n                 section_name.field_2._M_allocated_capacity;\n            this_secn_contents._M_string_length = section_name._M_string_length;\n            this_secn_contents._M_dataplus = section_name._M_dataplus;\n            section_name._M_dataplus._M_p = (pointer)&section_name.field_2;\n          }\nLAB_00181993:\n          section_name._M_string_length = 0;\n          *section_name._M_dataplus._M_p = '\0';\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)section_name._M_dataplus._M_p != &section_name.field_2) {\n            operator_delete(section_name._M_dataplus._M_p);\n          }\n          local_1d8[uVar45] = num_relocs;\n        }\n        else {\n          if (uVar44 != (this->kept_section_id_).\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start[uVar45]) goto LAB_001813c8;\n                    /* try { // try from 001814fb to 00181926 has its CatchHandler @ 00181f49 */\n          get_section_contents\n                    ((string *)&num_relocs,false,&secn,uVar44,(uint *)0x0,symtab,\n                     &this->kept_section_id_,&section_contents);\n          uVar17 = this_secn_contents.field_2._M_allocated_capacity;\n          _Var50._M_p = this_secn_contents._M_dataplus._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)_num_relocs == &local_d8) {\n            sVar32 = local_e0;\n            if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *this_secn_contents._M_dataplus._M_p = local_d8._M_local_buf[0];\n                sVar32 = local_e0;\n              }\n              else {\n                memcpy(this_secn_contents._M_dataplus._M_p,_num_relocs,local_e0);\n                sVar32 = local_e0;\n              }\n            }\n            this_secn_contents._M_dataplus._M_p[sVar32] = '\0';\n            this_secn_contents._M_string_length = sVar32;\n          }\n          else {\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)this_secn_contents._M_dataplus._M_p != paVar33) {\n              this_secn_contents._M_dataplus._M_p = _num_relocs;\n              this_secn_contents._M_string_length = local_e0;\n              this_secn_contents.field_2._M_allocated_capacity = local_d8._M_allocated_capacity;\n              if (_Var50._M_p != (pointer)0x0) {\n                _num_relocs = _Var50._M_p;\n                local_d8._M_allocated_capacity = uVar17;\n                goto LAB_0018156c;\n              }\n            }\n            this_secn_contents.field_2._M_allocated_capacity = local_d8._M_allocated_capacity;\n            this_secn_contents._M_string_length = local_e0;\n            this_secn_contents._M_dataplus._M_p = _num_relocs;\n            _num_relocs = (pointer)&local_d8;\n          }\nLAB_0018156c:\n          local_e0 = 0;\n          *_num_relocs = '\0';\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)_num_relocs != &local_d8) {\n            operator_delete(_num_relocs);\n          }\n        }\n        uVar23 = xcrc32((uchar *)this_secn_contents._M_dataplus._M_p,\n                        (int)this_secn_contents._M_string_length,0xffffffff);\n        uVar42 = (ulong)uVar23 % section_cksum._M_h._M_bucket_count;\n        cksum = uVar23;\n        if ((section_cksum._M_h._M_buckets[uVar42] == (__bucket_type)0x0) ||\n           (p_Var26 = section_cksum._M_h._M_buckets[uVar42]->_M_nxt,\n           p_Var26 == (_Hash_node_base *)0x0)) {\nLAB_00181638:\n          p_Var35 = (__node_type *)operator_new(0x10);\n          *(uint *)&(p_Var35->\n                    super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n                    _M_storage._M_storage = uVar23;\n          (p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n          super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;\n          *(uint *)((long)&(p_Var35->\n                           super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>\n                           )._M_storage._M_storage + 4) = uVar44;\n          std::\n          _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_false>_>\n          ::_M_insert_multi_node(&section_cksum._M_h,(__node_type *)0x0,(ulong)uVar23,p_Var35);\n        }\n        else {\n          uVar34 = (ulong)*(uint *)&p_Var26[1]._M_nxt;\n          lVar38 = 0;\n          do {\n            if (uVar23 == (uint)uVar34) {\n              p_Var26 = p_Var26->_M_nxt;\n              lVar38 = lVar38 + 1;\n              lVar46 = lVar38;\n            }\n            else {\n              if (lVar38 != 0) goto LAB_00181742;\n              p_Var26 = p_Var26->_M_nxt;\n              lVar46 = 0;\n            }\n          } while ((p_Var26 != (_Hash_node_base *)0x0) &&\n                  (uVar34 = (ulong)*(uint *)&p_Var26[1]._M_nxt, lVar46 = lVar38,\n                  uVar42 == uVar34 % section_cksum._M_h._M_bucket_count));\n          if (lVar46 == 0) goto LAB_00181638;\nLAB_00181742:\n          pVar62 = std::\n                   _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_false>_>\n                   ::equal_range(&section_cksum._M_h,&cksum);\n          sVar43 = this_secn_contents._M_string_length;\n          __s2 = this_secn_contents._M_dataplus;\n          pbVar15 = full_section_contents.\n                    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                    ._M_impl._M_start;\n          if ((__node_type *)pVar62.first !=\n              pVar62.second.\n              super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>) {\n            do {\n              local_1f0 = pVar62.second;\n              _Var54 = pVar62.first;\n              uVar23 = *(uint *)((long)_Var54.\n                                       super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                       ._M_cur + 0xc);\n              pbVar47 = pbVar15 + uVar23;\n              if ((pbVar47->_M_string_length == sVar43) &&\n                 (_Var50 = __s2, iVar24 = memcmp((pbVar47->_M_dataplus)._M_p,__s2._M_p,sVar43),\n                 iVar24 == 0)) {\n                puVar11 = (this->kept_section_id_).\n                          super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                          _M_start;\n                if (section_addraligns.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar23] <\n                    section_addraligns.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar45]) {\n                  puVar11[uVar23] = uVar44;\n                  _Var50._M_p = (pointer)(pbVar15 + uVar45);\n                  *(uint *)((long)_Var54.\n                                  super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                  ._M_cur + 0xc) = uVar44;\n                  std::string::swap((string *)pbVar47,(string *)_Var50._M_p);\n                  bVar57 = false;\n                }\n                else {\n                  puVar11[uVar45] = uVar23;\n                  bVar57 = false;\n                }\n                goto joined_r0x00181835;\n              }\n              pVar62.second.\n              super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>._M_cur =\n                   local_1f0.\n                   super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>.\n                   _M_cur;\n              pVar62.first.\n              super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>._M_cur =\n                   (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>)\n                   (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>)\n                   *(__node_type **)\n                    _Var54.\n                    super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>.\n                    _M_cur;\n            } while (local_1f0.\n                     super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>.\n                     _M_cur != (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                )*(__node_type **)\n                                  _Var54.\n                                  super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                  ._M_cur);\n          }\n          uVar16 = cksum;\n          p_Var35 = (__node_type *)operator_new(0x10);\n          (p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n          _M_storage._M_storage.__align = (anon_struct_4_0_00000001_for___align)uVar16;\n          (p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n          super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;\n          *(uint *)((long)&(p_Var35->\n                           super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>\n                           )._M_storage._M_storage + 4) = uVar44;\n          std::\n          _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_false>_>\n          ::_M_insert_multi_node(&section_cksum._M_h,(__node_type *)0x0,(ulong)uVar16,p_Var35);\n        }\n        _Var50._M_p = (pointer)&this_secn_contents;\n        std::string::_M_assign\n                  ((string *)\n                   (full_section_contents.\n                    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                    ._M_impl._M_start + uVar45),(string *)&this_secn_contents);\njoined_r0x00181835:\n        if ((uVar4 == 1) && (local_1d8[uVar45] == 0)) {\n          is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n          super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar45 >> 6] =\n               is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n               super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar45 >> 6] | uVar41\n          ;\n        }\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)this_secn_contents._M_dataplus._M_p != paVar33) {\n          operator_delete(this_secn_contents._M_dataplus._M_p);\n        }\n        ppVar40 = (this->id_section_).\n                  super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                  ._M_impl._M_start;\n      }" { (expression_statement "ppVar2 = ppVar40 + uVar45;" (assignment_expression "ppVar2 = ppVar40 + uVar45" identifier = (binary_expression "ppVar40 + uVar45" identifier + identifier)) ;) (expression_statement "secn.first = ppVar2->first;" (assignment_expression "secn.first = ppVar2->first" (field_expression "secn.first" identifier . field_identifier) = (field_expression "ppVar2->first" identifier -> field_identifier)) ;) (expression_statement "secn.second = ppVar2->second;" (assignment_expression "secn.second = ppVar2->second" (field_expression "secn.second" identifier . field_identifier) = (field_expression "ppVar2->second" identifier -> field_identifier)) ;) (expression_statement "secn._12_4_ = *(undefined4 *)&ppVar2->field_0xc;" (assignment_expression "secn._12_4_ = *(undefined4 *)&ppVar2->field_0xc" (field_expression "secn._12_4_" identifier . field_identifier) = (pointer_expression "*(undefined4 *)&ppVar2->field_0xc" * (cast_expression "(undefined4 *)&ppVar2->field_0xc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&ppVar2->field_0xc" & (field_expression "ppVar2->field_0xc" identifier -> field_identifier))))) ;) (expression_statement "this_secn_contents._M_string_length = 0;" (assignment_expression "this_secn_contents._M_string_length = 0" (field_expression "this_secn_contents._M_string_length" identifier . field_identifier) = number_literal) ;) (expression_statement "this_secn_contents.field_2._M_allocated_capacity =\n             this_secn_contents.field_2._M_allocated_capacity & 0xffffffffffffff00;" (assignment_expression "this_secn_contents.field_2._M_allocated_capacity =\n             this_secn_contents.field_2._M_allocated_capacity & 0xffffffffffffff00" (field_expression "this_secn_contents.field_2._M_allocated_capacity" (field_expression "this_secn_contents.field_2" identifier . field_identifier) . field_identifier) = (binary_expression "this_secn_contents.field_2._M_allocated_capacity & 0xffffffffffffff00" (field_expression "this_secn_contents.field_2._M_allocated_capacity" (field_expression "this_secn_contents.field_2" identifier . field_identifier) . field_identifier) & number_literal)) ;) (expression_statement "this_secn_contents._M_dataplus._M_p = (pointer)paVar33;" (assignment_expression "this_secn_contents._M_dataplus._M_p = (pointer)paVar33" (field_expression "this_secn_contents._M_dataplus._M_p" (field_expression "this_secn_contents._M_dataplus" identifier . field_identifier) . field_identifier) = (cast_expression "(pointer)paVar33" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) (if_statement "if (uVar4 == 1) {\n          _num_relocs = _num_relocs & 0xffffffff00000000;\n          get_section_contents\n                    (&section_name,true,&secn,uVar44,&num_relocs,symtab,&this->kept_section_id_,\n                     &section_contents);\n          uVar17 = this_secn_contents.field_2._M_allocated_capacity;\n          _Var50._M_p = this_secn_contents._M_dataplus._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)section_name._M_dataplus._M_p == &section_name.field_2) {\n            sVar43 = section_name._M_string_length;\n            if (section_name._M_string_length != 0) {\n              if (section_name._M_string_length == 1) {\n                *this_secn_contents._M_dataplus._M_p = section_name.field_2._M_local_buf[0];\n                sVar43 = section_name._M_string_length;\n              }\n              else {\n                memcpy(this_secn_contents._M_dataplus._M_p,section_name._M_dataplus._M_p,\n                       section_name._M_string_length);\n                sVar43 = section_name._M_string_length;\n              }\n            }\n            this_secn_contents._M_dataplus._M_p[sVar43] = '\0';\n            this_secn_contents._M_string_length = sVar43;\n          }\n          else {\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)this_secn_contents._M_dataplus._M_p != paVar33) {\n              this_secn_contents._M_dataplus = section_name._M_dataplus;\n              this_secn_contents._M_string_length = section_name._M_string_length;\n              this_secn_contents.field_2._M_allocated_capacity =\n                   section_name.field_2._M_allocated_capacity;\n              if (_Var50._M_p != (pointer)0x0) {\n                section_name._M_dataplus = _Var50;\n                section_name.field_2._M_allocated_capacity = uVar17;\n                goto LAB_00181993;\n              }\n            }\n            this_secn_contents.field_2._M_allocated_capacity =\n                 section_name.field_2._M_allocated_capacity;\n            this_secn_contents._M_string_length = section_name._M_string_length;\n            this_secn_contents._M_dataplus = section_name._M_dataplus;\n            section_name._M_dataplus._M_p = (pointer)&section_name.field_2;\n          }\nLAB_00181993:\n          section_name._M_string_length = 0;\n          *section_name._M_dataplus._M_p = '\0';\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)section_name._M_dataplus._M_p != &section_name.field_2) {\n            operator_delete(section_name._M_dataplus._M_p);\n          }\n          local_1d8[uVar45] = num_relocs;\n        }\n        else {\n          if (uVar44 != (this->kept_section_id_).\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start[uVar45]) goto LAB_001813c8;\n                    /* try { // try from 001814fb to 00181926 has its CatchHandler @ 00181f49 */\n          get_section_contents\n                    ((string *)&num_relocs,false,&secn,uVar44,(uint *)0x0,symtab,\n                     &this->kept_section_id_,&section_contents);\n          uVar17 = this_secn_contents.field_2._M_allocated_capacity;\n          _Var50._M_p = this_secn_contents._M_dataplus._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)_num_relocs == &local_d8) {\n            sVar32 = local_e0;\n            if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *this_secn_contents._M_dataplus._M_p = local_d8._M_local_buf[0];\n                sVar32 = local_e0;\n              }\n              else {\n                memcpy(this_secn_contents._M_dataplus._M_p,_num_relocs,local_e0);\n                sVar32 = local_e0;\n              }\n            }\n            this_secn_contents._M_dataplus._M_p[sVar32] = '\0';\n            this_secn_contents._M_string_length = sVar32;\n          }\n          else {\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)this_secn_contents._M_dataplus._M_p != paVar33) {\n              this_secn_contents._M_dataplus._M_p = _num_relocs;\n              this_secn_contents._M_string_length = local_e0;\n              this_secn_contents.field_2._M_allocated_capacity = local_d8._M_allocated_capacity;\n              if (_Var50._M_p != (pointer)0x0) {\n                _num_relocs = _Var50._M_p;\n                local_d8._M_allocated_capacity = uVar17;\n                goto LAB_0018156c;\n              }\n            }\n            this_secn_contents.field_2._M_allocated_capacity = local_d8._M_allocated_capacity;\n            this_secn_contents._M_string_length = local_e0;\n            this_secn_contents._M_dataplus._M_p = _num_relocs;\n            _num_relocs = (pointer)&local_d8;\n          }\nLAB_0018156c:\n          local_e0 = 0;\n          *_num_relocs = '\0';\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)_num_relocs != &local_d8) {\n            operator_delete(_num_relocs);\n          }\n        }" if (parenthesized_expression "(uVar4 == 1)" ( (binary_expression "uVar4 == 1" identifier == number_literal) )) (compound_statement "{\n          _num_relocs = _num_relocs & 0xffffffff00000000;\n          get_section_contents\n                    (&section_name,true,&secn,uVar44,&num_relocs,symtab,&this->kept_section_id_,\n                     &section_contents);\n          uVar17 = this_secn_contents.field_2._M_allocated_capacity;\n          _Var50._M_p = this_secn_contents._M_dataplus._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)section_name._M_dataplus._M_p == &section_name.field_2) {\n            sVar43 = section_name._M_string_length;\n            if (section_name._M_string_length != 0) {\n              if (section_name._M_string_length == 1) {\n                *this_secn_contents._M_dataplus._M_p = section_name.field_2._M_local_buf[0];\n                sVar43 = section_name._M_string_length;\n              }\n              else {\n                memcpy(this_secn_contents._M_dataplus._M_p,section_name._M_dataplus._M_p,\n                       section_name._M_string_length);\n                sVar43 = section_name._M_string_length;\n              }\n            }\n            this_secn_contents._M_dataplus._M_p[sVar43] = '\0';\n            this_secn_contents._M_string_length = sVar43;\n          }\n          else {\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)this_secn_contents._M_dataplus._M_p != paVar33) {\n              this_secn_contents._M_dataplus = section_name._M_dataplus;\n              this_secn_contents._M_string_length = section_name._M_string_length;\n              this_secn_contents.field_2._M_allocated_capacity =\n                   section_name.field_2._M_allocated_capacity;\n              if (_Var50._M_p != (pointer)0x0) {\n                section_name._M_dataplus = _Var50;\n                section_name.field_2._M_allocated_capacity = uVar17;\n                goto LAB_00181993;\n              }\n            }\n            this_secn_contents.field_2._M_allocated_capacity =\n                 section_name.field_2._M_allocated_capacity;\n            this_secn_contents._M_string_length = section_name._M_string_length;\n            this_secn_contents._M_dataplus = section_name._M_dataplus;\n            section_name._M_dataplus._M_p = (pointer)&section_name.field_2;\n          }\nLAB_00181993:\n          section_name._M_string_length = 0;\n          *section_name._M_dataplus._M_p = '\0';\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)section_name._M_dataplus._M_p != &section_name.field_2) {\n            operator_delete(section_name._M_dataplus._M_p);\n          }\n          local_1d8[uVar45] = num_relocs;\n        }" { (expression_statement "_num_relocs = _num_relocs & 0xffffffff00000000;" (assignment_expression "_num_relocs = _num_relocs & 0xffffffff00000000" identifier = (binary_expression "_num_relocs & 0xffffffff00000000" identifier & number_literal)) ;) (expression_statement "get_section_contents\n                    (&section_name,true,&secn,uVar44,&num_relocs,symtab,&this->kept_section_id_,\n                     &section_contents);" (call_expression "get_section_contents\n                    (&section_name,true,&secn,uVar44,&num_relocs,symtab,&this->kept_section_id_,\n                     &section_contents)" identifier (argument_list "(&section_name,true,&secn,uVar44,&num_relocs,symtab,&this->kept_section_id_,\n                     &section_contents)" ( (pointer_expression "&section_name" & identifier) , true , (pointer_expression "&secn" & identifier) , identifier , (pointer_expression "&num_relocs" & identifier) , identifier , (pointer_expression "&this->kept_section_id_" & (field_expression "this->kept_section_id_" identifier -> field_identifier)) , (pointer_expression "&section_contents" & identifier) ))) ;) (expression_statement "uVar17 = this_secn_contents.field_2._M_allocated_capacity;" (assignment_expression "uVar17 = this_secn_contents.field_2._M_allocated_capacity" identifier = (field_expression "this_secn_contents.field_2._M_allocated_capacity" (field_expression "this_secn_contents.field_2" identifier . field_identifier) . field_identifier)) ;) (expression_statement "_Var50._M_p = this_secn_contents._M_dataplus._M_p;" (assignment_expression "_Var50._M_p = this_secn_contents._M_dataplus._M_p" (field_expression "_Var50._M_p" identifier . field_identifier) = (field_expression "this_secn_contents._M_dataplus._M_p" (field_expression "this_secn_contents._M_dataplus" identifier . field_identifier) . field_identifier)) ;) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)section_name._M_dataplus._M_p == &section_name.field_2) {\n            sVar43 = section_name._M_string_length;\n            if (section_name._M_string_length != 0) {\n              if (section_name._M_string_length == 1) {\n                *this_secn_contents._M_dataplus._M_p = section_name.field_2._M_local_buf[0];\n                sVar43 = section_name._M_string_length;\n              }\n              else {\n                memcpy(this_secn_contents._M_dataplus._M_p,section_name._M_dataplus._M_p,\n                       section_name._M_string_length);\n                sVar43 = section_name._M_string_length;\n              }\n            }\n            this_secn_contents._M_dataplus._M_p[sVar43] = '\0';\n            this_secn_contents._M_string_length = sVar43;\n          }\n          else {\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)this_secn_contents._M_dataplus._M_p != paVar33) {\n              this_secn_contents._M_dataplus = section_name._M_dataplus;\n              this_secn_contents._M_string_length = section_name._M_string_length;\n              this_secn_contents.field_2._M_allocated_capacity =\n                   section_name.field_2._M_allocated_capacity;\n              if (_Var50._M_p != (pointer)0x0) {\n                section_name._M_dataplus = _Var50;\n                section_name.field_2._M_allocated_capacity = uVar17;\n                goto LAB_00181993;\n              }\n            }\n            this_secn_contents.field_2._M_allocated_capacity =\n                 section_name.field_2._M_allocated_capacity;\n            this_secn_contents._M_string_length = section_name._M_string_length;\n            this_secn_contents._M_dataplus = section_name._M_dataplus;\n            section_name._M_dataplus._M_p = (pointer)&section_name.field_2;\n          }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)section_name._M_dataplus._M_p == &section_name.field_2)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)section_name._M_dataplus._M_p == &section_name.field_2)" ( (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               *)section_name._M_dataplus._M_p == &section_name.field_2" (binary_expression "allocator<char>_>_9\n               *)section_name._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n               *)section_name._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "section_name._M_dataplus._M_p" (field_expression "section_name._M_dataplus" identifier . field_identifier) . field_identifier))) == (pointer_expression "&section_name.field_2" & (field_expression "section_name.field_2" identifier . field_identifier))) )) )) (compound_statement "{\n            sVar43 = section_name._M_string_length;\n            if (section_name._M_string_length != 0) {\n              if (section_name._M_string_length == 1) {\n                *this_secn_contents._M_dataplus._M_p = section_name.field_2._M_local_buf[0];\n                sVar43 = section_name._M_string_length;\n              }\n              else {\n                memcpy(this_secn_contents._M_dataplus._M_p,section_name._M_dataplus._M_p,\n                       section_name._M_string_length);\n                sVar43 = section_name._M_string_length;\n              }\n            }\n            this_secn_contents._M_dataplus._M_p[sVar43] = '\0';\n            this_secn_contents._M_string_length = sVar43;\n          }" { (expression_statement "sVar43 = section_name._M_string_length;" (assignment_expression "sVar43 = section_name._M_string_length" identifier = (field_expression "section_name._M_string_length" identifier . field_identifier)) ;) (if_statement "if (section_name._M_string_length != 0) {\n              if (section_name._M_string_length == 1) {\n                *this_secn_contents._M_dataplus._M_p = section_name.field_2._M_local_buf[0];\n                sVar43 = section_name._M_string_length;\n              }\n              else {\n                memcpy(this_secn_contents._M_dataplus._M_p,section_name._M_dataplus._M_p,\n                       section_name._M_string_length);\n                sVar43 = section_name._M_string_length;\n              }\n            }" if (parenthesized_expression "(section_name._M_string_length != 0)" ( (binary_expression "section_name._M_string_length != 0" (field_expression "section_name._M_string_length" identifier . field_identifier) != number_literal) )) (compound_statement "{\n              if (section_name._M_string_length == 1) {\n                *this_secn_contents._M_dataplus._M_p = section_name.field_2._M_local_buf[0];\n                sVar43 = section_name._M_string_length;\n              }\n              else {\n                memcpy(this_secn_contents._M_dataplus._M_p,section_name._M_dataplus._M_p,\n                       section_name._M_string_length);\n                sVar43 = section_name._M_string_length;\n              }\n            }" { (if_statement "if (section_name._M_string_length == 1) {\n                *this_secn_contents._M_dataplus._M_p = section_name.field_2._M_local_buf[0];\n                sVar43 = section_name._M_string_length;\n              }\n              else {\n                memcpy(this_secn_contents._M_dataplus._M_p,section_name._M_dataplus._M_p,\n                       section_name._M_string_length);\n                sVar43 = section_name._M_string_length;\n              }" if (parenthesized_expression "(section_name._M_string_length == 1)" ( (binary_expression "section_name._M_string_length == 1" (field_expression "section_name._M_string_length" identifier . field_identifier) == number_literal) )) (compound_statement "{\n                *this_secn_contents._M_dataplus._M_p = section_name.field_2._M_local_buf[0];\n                sVar43 = section_name._M_string_length;\n              }" { (expression_statement "*this_secn_contents._M_dataplus._M_p = section_name.field_2._M_local_buf[0];" (assignment_expression "*this_secn_contents._M_dataplus._M_p = section_name.field_2._M_local_buf[0]" (pointer_expression "*this_secn_contents._M_dataplus._M_p" * (field_expression "this_secn_contents._M_dataplus._M_p" (field_expression "this_secn_contents._M_dataplus" identifier . field_identifier) . field_identifier)) = (subscript_expression "section_name.field_2._M_local_buf[0]" (field_expression "section_name.field_2._M_local_buf" (field_expression "section_name.field_2" identifier . field_identifier) . field_identifier) [ number_literal ])) ;) (expression_statement "sVar43 = section_name._M_string_length;" (assignment_expression "sVar43 = section_name._M_string_length" identifier = (field_expression "section_name._M_string_length" identifier . field_identifier)) ;) }) (else_clause "else {\n                memcpy(this_secn_contents._M_dataplus._M_p,section_name._M_dataplus._M_p,\n                       section_name._M_string_length);\n                sVar43 = section_name._M_string_length;\n              }" else (compound_statement "{\n                memcpy(this_secn_contents._M_dataplus._M_p,section_name._M_dataplus._M_p,\n                       section_name._M_string_length);\n                sVar43 = section_name._M_string_length;\n              }" { (expression_statement "memcpy(this_secn_contents._M_dataplus._M_p,section_name._M_dataplus._M_p,\n                       section_name._M_string_length);" (call_expression "memcpy(this_secn_contents._M_dataplus._M_p,section_name._M_dataplus._M_p,\n                       section_name._M_string_length)" identifier (argument_list "(this_secn_contents._M_dataplus._M_p,section_name._M_dataplus._M_p,\n                       section_name._M_string_length)" ( (field_expression "this_secn_contents._M_dataplus._M_p" (field_expression "this_secn_contents._M_dataplus" identifier . field_identifier) . field_identifier) , (field_expression "section_name._M_dataplus._M_p" (field_expression "section_name._M_dataplus" identifier . field_identifier) . field_identifier) , (field_expression "section_name._M_string_length" identifier . field_identifier) ))) ;) (expression_statement "sVar43 = section_name._M_string_length;" (assignment_expression "sVar43 = section_name._M_string_length" identifier = (field_expression "section_name._M_string_length" identifier . field_identifier)) ;) }))) })) (expression_statement "this_secn_contents._M_dataplus._M_p[sVar43] = '\0';" (assignment_expression "this_secn_contents._M_dataplus._M_p[sVar43] = '\0'" (subscript_expression "this_secn_contents._M_dataplus._M_p[sVar43]" (field_expression "this_secn_contents._M_dataplus._M_p" (field_expression "this_secn_contents._M_dataplus" identifier . field_identifier) . field_identifier) [ identifier ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "this_secn_contents._M_string_length = sVar43;" (assignment_expression "this_secn_contents._M_string_length = sVar43" (field_expression "this_secn_contents._M_string_length" identifier . field_identifier) = identifier) ;) }) (else_clause "else {\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)this_secn_contents._M_dataplus._M_p != paVar33) {\n              this_secn_contents._M_dataplus = section_name._M_dataplus;\n              this_secn_contents._M_string_length = section_name._M_string_length;\n              this_secn_contents.field_2._M_allocated_capacity =\n                   section_name.field_2._M_allocated_capacity;\n              if (_Var50._M_p != (pointer)0x0) {\n                section_name._M_dataplus = _Var50;\n                section_name.field_2._M_allocated_capacity = uVar17;\n                goto LAB_00181993;\n              }\n            }\n            this_secn_contents.field_2._M_allocated_capacity =\n                 section_name.field_2._M_allocated_capacity;\n            this_secn_contents._M_string_length = section_name._M_string_length;\n            this_secn_contents._M_dataplus = section_name._M_dataplus;\n            section_name._M_dataplus._M_p = (pointer)&section_name.field_2;\n          }" else (compound_statement "{\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)this_secn_contents._M_dataplus._M_p != paVar33) {\n              this_secn_contents._M_dataplus = section_name._M_dataplus;\n              this_secn_contents._M_string_length = section_name._M_string_length;\n              this_secn_contents.field_2._M_allocated_capacity =\n                   section_name.field_2._M_allocated_capacity;\n              if (_Var50._M_p != (pointer)0x0) {\n                section_name._M_dataplus = _Var50;\n                section_name.field_2._M_allocated_capacity = uVar17;\n                goto LAB_00181993;\n              }\n            }\n            this_secn_contents.field_2._M_allocated_capacity =\n                 section_name.field_2._M_allocated_capacity;\n            this_secn_contents._M_string_length = section_name._M_string_length;\n            this_secn_contents._M_dataplus = section_name._M_dataplus;\n            section_name._M_dataplus._M_p = (pointer)&section_name.field_2;\n          }" { (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)this_secn_contents._M_dataplus._M_p != paVar33) {\n              this_secn_contents._M_dataplus = section_name._M_dataplus;\n              this_secn_contents._M_string_length = section_name._M_string_length;\n              this_secn_contents.field_2._M_allocated_capacity =\n                   section_name.field_2._M_allocated_capacity;\n              if (_Var50._M_p != (pointer)0x0) {\n                section_name._M_dataplus = _Var50;\n                section_name.field_2._M_allocated_capacity = uVar17;\n                goto LAB_00181993;\n              }\n            }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)this_secn_contents._M_dataplus._M_p != paVar33)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)this_secn_contents._M_dataplus._M_p != paVar33)" ( (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                 *)this_secn_contents._M_dataplus._M_p != paVar33" (binary_expression "allocator<char>_>_9\n                 *)this_secn_contents._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n                 *)this_secn_contents._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "this_secn_contents._M_dataplus._M_p" (field_expression "this_secn_contents._M_dataplus" identifier . field_identifier) . field_identifier))) != identifier) )) )) (compound_statement "{\n              this_secn_contents._M_dataplus = section_name._M_dataplus;\n              this_secn_contents._M_string_length = section_name._M_string_length;\n              this_secn_contents.field_2._M_allocated_capacity =\n                   section_name.field_2._M_allocated_capacity;\n              if (_Var50._M_p != (pointer)0x0) {\n                section_name._M_dataplus = _Var50;\n                section_name.field_2._M_allocated_capacity = uVar17;\n                goto LAB_00181993;\n              }\n            }" { (expression_statement "this_secn_contents._M_dataplus = section_name._M_dataplus;" (assignment_expression "this_secn_contents._M_dataplus = section_name._M_dataplus" (field_expression "this_secn_contents._M_dataplus" identifier . field_identifier) = (field_expression "section_name._M_dataplus" identifier . field_identifier)) ;) (expression_statement "this_secn_contents._M_string_length = section_name._M_string_length;" (assignment_expression "this_secn_contents._M_string_length = section_name._M_string_length" (field_expression "this_secn_contents._M_string_length" identifier . field_identifier) = (field_expression "section_name._M_string_length" identifier . field_identifier)) ;) (expression_statement "this_secn_contents.field_2._M_allocated_capacity =\n                   section_name.field_2._M_allocated_capacity;" (assignment_expression "this_secn_contents.field_2._M_allocated_capacity =\n                   section_name.field_2._M_allocated_capacity" (field_expression "this_secn_contents.field_2._M_allocated_capacity" (field_expression "this_secn_contents.field_2" identifier . field_identifier) . field_identifier) = (field_expression "section_name.field_2._M_allocated_capacity" (field_expression "section_name.field_2" identifier . field_identifier) . field_identifier)) ;) (if_statement "if (_Var50._M_p != (pointer)0x0) {\n                section_name._M_dataplus = _Var50;\n                section_name.field_2._M_allocated_capacity = uVar17;\n                goto LAB_00181993;\n              }" if (parenthesized_expression "(_Var50._M_p != (pointer)0x0)" ( (binary_expression "_Var50._M_p != (pointer)0x0" (field_expression "_Var50._M_p" identifier . field_identifier) != (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) )) (compound_statement "{\n                section_name._M_dataplus = _Var50;\n                section_name.field_2._M_allocated_capacity = uVar17;\n                goto LAB_00181993;\n              }" { (expression_statement "section_name._M_dataplus = _Var50;" (assignment_expression "section_name._M_dataplus = _Var50" (field_expression "section_name._M_dataplus" identifier . field_identifier) = identifier) ;) (expression_statement "section_name.field_2._M_allocated_capacity = uVar17;" (assignment_expression "section_name.field_2._M_allocated_capacity = uVar17" (field_expression "section_name.field_2._M_allocated_capacity" (field_expression "section_name.field_2" identifier . field_identifier) . field_identifier) = identifier) ;) (goto_statement "goto LAB_00181993;" goto statement_identifier ;) })) })) (expression_statement "this_secn_contents.field_2._M_allocated_capacity =\n                 section_name.field_2._M_allocated_capacity;" (assignment_expression "this_secn_contents.field_2._M_allocated_capacity =\n                 section_name.field_2._M_allocated_capacity" (field_expression "this_secn_contents.field_2._M_allocated_capacity" (field_expression "this_secn_contents.field_2" identifier . field_identifier) . field_identifier) = (field_expression "section_name.field_2._M_allocated_capacity" (field_expression "section_name.field_2" identifier . field_identifier) . field_identifier)) ;) (expression_statement "this_secn_contents._M_string_length = section_name._M_string_length;" (assignment_expression "this_secn_contents._M_string_length = section_name._M_string_length" (field_expression "this_secn_contents._M_string_length" identifier . field_identifier) = (field_expression "section_name._M_string_length" identifier . field_identifier)) ;) (expression_statement "this_secn_contents._M_dataplus = section_name._M_dataplus;" (assignment_expression "this_secn_contents._M_dataplus = section_name._M_dataplus" (field_expression "this_secn_contents._M_dataplus" identifier . field_identifier) = (field_expression "section_name._M_dataplus" identifier . field_identifier)) ;) (expression_statement "section_name._M_dataplus._M_p = (pointer)&section_name.field_2;" (assignment_expression "section_name._M_dataplus._M_p = (pointer)&section_name.field_2" (field_expression "section_name._M_dataplus._M_p" (field_expression "section_name._M_dataplus" identifier . field_identifier) . field_identifier) = (binary_expression "(pointer)&section_name.field_2" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "section_name.field_2" identifier . field_identifier))) ;) }))) (labeled_statement "LAB_00181993:\n          section_name._M_string_length = 0;" statement_identifier : (expression_statement "section_name._M_string_length = 0;" (assignment_expression "section_name._M_string_length = 0" (field_expression "section_name._M_string_length" identifier . field_identifier) = number_literal) ;)) (expression_statement "*section_name._M_dataplus._M_p = '\0';" (assignment_expression "*section_name._M_dataplus._M_p = '\0'" (pointer_expression "*section_name._M_dataplus._M_p" * (field_expression "section_name._M_dataplus._M_p" (field_expression "section_name._M_dataplus" identifier . field_identifier) . field_identifier)) = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)section_name._M_dataplus._M_p != &section_name.field_2) {\n            operator_delete(section_name._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               *)section_name._M_dataplus._M_p != &section_name.field_2)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)section_name._M_dataplus._M_p != &section_name.field_2)" ( (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               *)section_name._M_dataplus._M_p != &section_name.field_2" (binary_expression "allocator<char>_>_9\n               *)section_name._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n               *)section_name._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "section_name._M_dataplus._M_p" (field_expression "section_name._M_dataplus" identifier . field_identifier) . field_identifier))) != (pointer_expression "&section_name.field_2" & (field_expression "section_name.field_2" identifier . field_identifier))) )) )) (compound_statement "{\n            operator_delete(section_name._M_dataplus._M_p);\n          }" { (expression_statement "operator_delete(section_name._M_dataplus._M_p);" (call_expression "operator_delete(section_name._M_dataplus._M_p)" identifier (argument_list "(section_name._M_dataplus._M_p)" ( (field_expression "section_name._M_dataplus._M_p" (field_expression "section_name._M_dataplus" identifier . field_identifier) . field_identifier) ))) ;) })) (expression_statement "local_1d8[uVar45] = num_relocs;" (assignment_expression "local_1d8[uVar45] = num_relocs" (subscript_expression "local_1d8[uVar45]" identifier [ identifier ]) = identifier) ;) }) (else_clause "else {\n          if (uVar44 != (this->kept_section_id_).\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start[uVar45]) goto LAB_001813c8;\n                    /* try { // try from 001814fb to 00181926 has its CatchHandler @ 00181f49 */\n          get_section_contents\n                    ((string *)&num_relocs,false,&secn,uVar44,(uint *)0x0,symtab,\n                     &this->kept_section_id_,&section_contents);\n          uVar17 = this_secn_contents.field_2._M_allocated_capacity;\n          _Var50._M_p = this_secn_contents._M_dataplus._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)_num_relocs == &local_d8) {\n            sVar32 = local_e0;\n            if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *this_secn_contents._M_dataplus._M_p = local_d8._M_local_buf[0];\n                sVar32 = local_e0;\n              }\n              else {\n                memcpy(this_secn_contents._M_dataplus._M_p,_num_relocs,local_e0);\n                sVar32 = local_e0;\n              }\n            }\n            this_secn_contents._M_dataplus._M_p[sVar32] = '\0';\n            this_secn_contents._M_string_length = sVar32;\n          }\n          else {\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)this_secn_contents._M_dataplus._M_p != paVar33) {\n              this_secn_contents._M_dataplus._M_p = _num_relocs;\n              this_secn_contents._M_string_length = local_e0;\n              this_secn_contents.field_2._M_allocated_capacity = local_d8._M_allocated_capacity;\n              if (_Var50._M_p != (pointer)0x0) {\n                _num_relocs = _Var50._M_p;\n                local_d8._M_allocated_capacity = uVar17;\n                goto LAB_0018156c;\n              }\n            }\n            this_secn_contents.field_2._M_allocated_capacity = local_d8._M_allocated_capacity;\n            this_secn_contents._M_string_length = local_e0;\n            this_secn_contents._M_dataplus._M_p = _num_relocs;\n            _num_relocs = (pointer)&local_d8;\n          }\nLAB_0018156c:\n          local_e0 = 0;\n          *_num_relocs = '\0';\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)_num_relocs != &local_d8) {\n            operator_delete(_num_relocs);\n          }\n        }" else (compound_statement "{\n          if (uVar44 != (this->kept_section_id_).\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start[uVar45]) goto LAB_001813c8;\n                    /* try { // try from 001814fb to 00181926 has its CatchHandler @ 00181f49 */\n          get_section_contents\n                    ((string *)&num_relocs,false,&secn,uVar44,(uint *)0x0,symtab,\n                     &this->kept_section_id_,&section_contents);\n          uVar17 = this_secn_contents.field_2._M_allocated_capacity;\n          _Var50._M_p = this_secn_contents._M_dataplus._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)_num_relocs == &local_d8) {\n            sVar32 = local_e0;\n            if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *this_secn_contents._M_dataplus._M_p = local_d8._M_local_buf[0];\n                sVar32 = local_e0;\n              }\n              else {\n                memcpy(this_secn_contents._M_dataplus._M_p,_num_relocs,local_e0);\n                sVar32 = local_e0;\n              }\n            }\n            this_secn_contents._M_dataplus._M_p[sVar32] = '\0';\n            this_secn_contents._M_string_length = sVar32;\n          }\n          else {\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)this_secn_contents._M_dataplus._M_p != paVar33) {\n              this_secn_contents._M_dataplus._M_p = _num_relocs;\n              this_secn_contents._M_string_length = local_e0;\n              this_secn_contents.field_2._M_allocated_capacity = local_d8._M_allocated_capacity;\n              if (_Var50._M_p != (pointer)0x0) {\n                _num_relocs = _Var50._M_p;\n                local_d8._M_allocated_capacity = uVar17;\n                goto LAB_0018156c;\n              }\n            }\n            this_secn_contents.field_2._M_allocated_capacity = local_d8._M_allocated_capacity;\n            this_secn_contents._M_string_length = local_e0;\n            this_secn_contents._M_dataplus._M_p = _num_relocs;\n            _num_relocs = (pointer)&local_d8;\n          }\nLAB_0018156c:\n          local_e0 = 0;\n          *_num_relocs = '\0';\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)_num_relocs != &local_d8) {\n            operator_delete(_num_relocs);\n          }\n        }" { (if_statement "if (uVar44 != (this->kept_section_id_).\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start[uVar45]) goto LAB_001813c8;" if (parenthesized_expression "(uVar44 != (this->kept_section_id_).\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start[uVar45])" ( (ERROR "uVar44 != (this->kept_section_id_).\n                        super__Vector_base<unsigned_int,_std::" (comma_expression "uVar44 != (this->kept_section_id_).\n                        super__Vector_base<unsigned_int,_std" (binary_expression "uVar44 != (this->kept_section_id_).\n                        super__Vector_base<unsigned_int" identifier != (binary_expression "(this->kept_section_id_).\n                        super__Vector_base<unsigned_int" (field_expression "(this->kept_section_id_).\n                        super__Vector_base" (parenthesized_expression "(this->kept_section_id_)" ( (field_expression "this->kept_section_id_" identifier -> field_identifier) )) . field_identifier) < identifier)) , identifier) : :) (subscript_expression "allocator<unsigned_int>_>._M_impl.\n                        _M_start[uVar45]" (field_expression "allocator<unsigned_int>_>._M_impl.\n                        _M_start" (field_expression "allocator<unsigned_int>_>._M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) [ identifier ]) )) (goto_statement "goto LAB_001813c8;" goto statement_identifier ;)) comment (expression_statement "get_section_contents\n                    ((string *)&num_relocs,false,&secn,uVar44,(uint *)0x0,symtab,\n                     &this->kept_section_id_,&section_contents);" (call_expression "get_section_contents\n                    ((string *)&num_relocs,false,&secn,uVar44,(uint *)0x0,symtab,\n                     &this->kept_section_id_,&section_contents)" identifier (argument_list "((string *)&num_relocs,false,&secn,uVar44,(uint *)0x0,symtab,\n                     &this->kept_section_id_,&section_contents)" ( (cast_expression "(string *)&num_relocs" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&num_relocs" & identifier)) , false , (pointer_expression "&secn" & identifier) , identifier , (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , (pointer_expression "&this->kept_section_id_" & (field_expression "this->kept_section_id_" identifier -> field_identifier)) , (pointer_expression "&section_contents" & identifier) ))) ;) (expression_statement "uVar17 = this_secn_contents.field_2._M_allocated_capacity;" (assignment_expression "uVar17 = this_secn_contents.field_2._M_allocated_capacity" identifier = (field_expression "this_secn_contents.field_2._M_allocated_capacity" (field_expression "this_secn_contents.field_2" identifier . field_identifier) . field_identifier)) ;) (expression_statement "_Var50._M_p = this_secn_contents._M_dataplus._M_p;" (assignment_expression "_Var50._M_p = this_secn_contents._M_dataplus._M_p" (field_expression "_Var50._M_p" identifier . field_identifier) = (field_expression "this_secn_contents._M_dataplus._M_p" (field_expression "this_secn_contents._M_dataplus" identifier . field_identifier) . field_identifier)) ;) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)_num_relocs == &local_d8) {\n            sVar32 = local_e0;\n            if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *this_secn_contents._M_dataplus._M_p = local_d8._M_local_buf[0];\n                sVar32 = local_e0;\n              }\n              else {\n                memcpy(this_secn_contents._M_dataplus._M_p,_num_relocs,local_e0);\n                sVar32 = local_e0;\n              }\n            }\n            this_secn_contents._M_dataplus._M_p[sVar32] = '\0';\n            this_secn_contents._M_string_length = sVar32;\n          }\n          else {\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)this_secn_contents._M_dataplus._M_p != paVar33) {\n              this_secn_contents._M_dataplus._M_p = _num_relocs;\n              this_secn_contents._M_string_length = local_e0;\n              this_secn_contents.field_2._M_allocated_capacity = local_d8._M_allocated_capacity;\n              if (_Var50._M_p != (pointer)0x0) {\n                _num_relocs = _Var50._M_p;\n                local_d8._M_allocated_capacity = uVar17;\n                goto LAB_0018156c;\n              }\n            }\n            this_secn_contents.field_2._M_allocated_capacity = local_d8._M_allocated_capacity;\n            this_secn_contents._M_string_length = local_e0;\n            this_secn_contents._M_dataplus._M_p = _num_relocs;\n            _num_relocs = (pointer)&local_d8;\n          }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)_num_relocs == &local_d8)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)_num_relocs == &local_d8)" ( (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               *)_num_relocs == &local_d8" (binary_expression "allocator<char>_>_9\n               *)_num_relocs" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n               *)_num_relocs" identifier * (ERROR ")" )) identifier)) == (pointer_expression "&local_d8" & identifier)) )) )) (compound_statement "{\n            sVar32 = local_e0;\n            if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *this_secn_contents._M_dataplus._M_p = local_d8._M_local_buf[0];\n                sVar32 = local_e0;\n              }\n              else {\n                memcpy(this_secn_contents._M_dataplus._M_p,_num_relocs,local_e0);\n                sVar32 = local_e0;\n              }\n            }\n            this_secn_contents._M_dataplus._M_p[sVar32] = '\0';\n            this_secn_contents._M_string_length = sVar32;\n          }" { (expression_statement "sVar32 = local_e0;" (assignment_expression "sVar32 = local_e0" identifier = identifier) ;) (if_statement "if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *this_secn_contents._M_dataplus._M_p = local_d8._M_local_buf[0];\n                sVar32 = local_e0;\n              }\n              else {\n                memcpy(this_secn_contents._M_dataplus._M_p,_num_relocs,local_e0);\n                sVar32 = local_e0;\n              }\n            }" if (parenthesized_expression "(local_e0 != 0)" ( (binary_expression "local_e0 != 0" identifier != number_literal) )) (compound_statement "{\n              if (local_e0 == 1) {\n                *this_secn_contents._M_dataplus._M_p = local_d8._M_local_buf[0];\n                sVar32 = local_e0;\n              }\n              else {\n                memcpy(this_secn_contents._M_dataplus._M_p,_num_relocs,local_e0);\n                sVar32 = local_e0;\n              }\n            }" { (if_statement "if (local_e0 == 1) {\n                *this_secn_contents._M_dataplus._M_p = local_d8._M_local_buf[0];\n                sVar32 = local_e0;\n              }\n              else {\n                memcpy(this_secn_contents._M_dataplus._M_p,_num_relocs,local_e0);\n                sVar32 = local_e0;\n              }" if (parenthesized_expression "(local_e0 == 1)" ( (binary_expression "local_e0 == 1" identifier == number_literal) )) (compound_statement "{\n                *this_secn_contents._M_dataplus._M_p = local_d8._M_local_buf[0];\n                sVar32 = local_e0;\n              }" { (expression_statement "*this_secn_contents._M_dataplus._M_p = local_d8._M_local_buf[0];" (assignment_expression "*this_secn_contents._M_dataplus._M_p = local_d8._M_local_buf[0]" (pointer_expression "*this_secn_contents._M_dataplus._M_p" * (field_expression "this_secn_contents._M_dataplus._M_p" (field_expression "this_secn_contents._M_dataplus" identifier . field_identifier) . field_identifier)) = (subscript_expression "local_d8._M_local_buf[0]" (field_expression "local_d8._M_local_buf" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "sVar32 = local_e0;" (assignment_expression "sVar32 = local_e0" identifier = identifier) ;) }) (else_clause "else {\n                memcpy(this_secn_contents._M_dataplus._M_p,_num_relocs,local_e0);\n                sVar32 = local_e0;\n              }" else (compound_statement "{\n                memcpy(this_secn_contents._M_dataplus._M_p,_num_relocs,local_e0);\n                sVar32 = local_e0;\n              }" { (expression_statement "memcpy(this_secn_contents._M_dataplus._M_p,_num_relocs,local_e0);" (call_expression "memcpy(this_secn_contents._M_dataplus._M_p,_num_relocs,local_e0)" identifier (argument_list "(this_secn_contents._M_dataplus._M_p,_num_relocs,local_e0)" ( (field_expression "this_secn_contents._M_dataplus._M_p" (field_expression "this_secn_contents._M_dataplus" identifier . field_identifier) . field_identifier) , identifier , identifier ))) ;) (expression_statement "sVar32 = local_e0;" (assignment_expression "sVar32 = local_e0" identifier = identifier) ;) }))) })) (expression_statement "this_secn_contents._M_dataplus._M_p[sVar32] = '\0';" (assignment_expression "this_secn_contents._M_dataplus._M_p[sVar32] = '\0'" (subscript_expression "this_secn_contents._M_dataplus._M_p[sVar32]" (field_expression "this_secn_contents._M_dataplus._M_p" (field_expression "this_secn_contents._M_dataplus" identifier . field_identifier) . field_identifier) [ identifier ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "this_secn_contents._M_string_length = sVar32;" (assignment_expression "this_secn_contents._M_string_length = sVar32" (field_expression "this_secn_contents._M_string_length" identifier . field_identifier) = identifier) ;) }) (else_clause "else {\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)this_secn_contents._M_dataplus._M_p != paVar33) {\n              this_secn_contents._M_dataplus._M_p = _num_relocs;\n              this_secn_contents._M_string_length = local_e0;\n              this_secn_contents.field_2._M_allocated_capacity = local_d8._M_allocated_capacity;\n              if (_Var50._M_p != (pointer)0x0) {\n                _num_relocs = _Var50._M_p;\n                local_d8._M_allocated_capacity = uVar17;\n                goto LAB_0018156c;\n              }\n            }\n            this_secn_contents.field_2._M_allocated_capacity = local_d8._M_allocated_capacity;\n            this_secn_contents._M_string_length = local_e0;\n            this_secn_contents._M_dataplus._M_p = _num_relocs;\n            _num_relocs = (pointer)&local_d8;\n          }" else (compound_statement "{\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)this_secn_contents._M_dataplus._M_p != paVar33) {\n              this_secn_contents._M_dataplus._M_p = _num_relocs;\n              this_secn_contents._M_string_length = local_e0;\n              this_secn_contents.field_2._M_allocated_capacity = local_d8._M_allocated_capacity;\n              if (_Var50._M_p != (pointer)0x0) {\n                _num_relocs = _Var50._M_p;\n                local_d8._M_allocated_capacity = uVar17;\n                goto LAB_0018156c;\n              }\n            }\n            this_secn_contents.field_2._M_allocated_capacity = local_d8._M_allocated_capacity;\n            this_secn_contents._M_string_length = local_e0;\n            this_secn_contents._M_dataplus._M_p = _num_relocs;\n            _num_relocs = (pointer)&local_d8;\n          }" { (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)this_secn_contents._M_dataplus._M_p != paVar33) {\n              this_secn_contents._M_dataplus._M_p = _num_relocs;\n              this_secn_contents._M_string_length = local_e0;\n              this_secn_contents.field_2._M_allocated_capacity = local_d8._M_allocated_capacity;\n              if (_Var50._M_p != (pointer)0x0) {\n                _num_relocs = _Var50._M_p;\n                local_d8._M_allocated_capacity = uVar17;\n                goto LAB_0018156c;\n              }\n            }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)this_secn_contents._M_dataplus._M_p != paVar33)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)this_secn_contents._M_dataplus._M_p != paVar33)" ( (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                 *)this_secn_contents._M_dataplus._M_p != paVar33" (binary_expression "allocator<char>_>_9\n                 *)this_secn_contents._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n                 *)this_secn_contents._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "this_secn_contents._M_dataplus._M_p" (field_expression "this_secn_contents._M_dataplus" identifier . field_identifier) . field_identifier))) != identifier) )) )) (compound_statement "{\n              this_secn_contents._M_dataplus._M_p = _num_relocs;\n              this_secn_contents._M_string_length = local_e0;\n              this_secn_contents.field_2._M_allocated_capacity = local_d8._M_allocated_capacity;\n              if (_Var50._M_p != (pointer)0x0) {\n                _num_relocs = _Var50._M_p;\n                local_d8._M_allocated_capacity = uVar17;\n                goto LAB_0018156c;\n              }\n            }" { (expression_statement "this_secn_contents._M_dataplus._M_p = _num_relocs;" (assignment_expression "this_secn_contents._M_dataplus._M_p = _num_relocs" (field_expression "this_secn_contents._M_dataplus._M_p" (field_expression "this_secn_contents._M_dataplus" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "this_secn_contents._M_string_length = local_e0;" (assignment_expression "this_secn_contents._M_string_length = local_e0" (field_expression "this_secn_contents._M_string_length" identifier . field_identifier) = identifier) ;) (expression_statement "this_secn_contents.field_2._M_allocated_capacity = local_d8._M_allocated_capacity;" (assignment_expression "this_secn_contents.field_2._M_allocated_capacity = local_d8._M_allocated_capacity" (field_expression "this_secn_contents.field_2._M_allocated_capacity" (field_expression "this_secn_contents.field_2" identifier . field_identifier) . field_identifier) = (field_expression "local_d8._M_allocated_capacity" identifier . field_identifier)) ;) (if_statement "if (_Var50._M_p != (pointer)0x0) {\n                _num_relocs = _Var50._M_p;\n                local_d8._M_allocated_capacity = uVar17;\n                goto LAB_0018156c;\n              }" if (parenthesized_expression "(_Var50._M_p != (pointer)0x0)" ( (binary_expression "_Var50._M_p != (pointer)0x0" (field_expression "_Var50._M_p" identifier . field_identifier) != (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) )) (compound_statement "{\n                _num_relocs = _Var50._M_p;\n                local_d8._M_allocated_capacity = uVar17;\n                goto LAB_0018156c;\n              }" { (expression_statement "_num_relocs = _Var50._M_p;" (assignment_expression "_num_relocs = _Var50._M_p" identifier = (field_expression "_Var50._M_p" identifier . field_identifier)) ;) (expression_statement "local_d8._M_allocated_capacity = uVar17;" (assignment_expression "local_d8._M_allocated_capacity = uVar17" (field_expression "local_d8._M_allocated_capacity" identifier . field_identifier) = identifier) ;) (goto_statement "goto LAB_0018156c;" goto statement_identifier ;) })) })) (expression_statement "this_secn_contents.field_2._M_allocated_capacity = local_d8._M_allocated_capacity;" (assignment_expression "this_secn_contents.field_2._M_allocated_capacity = local_d8._M_allocated_capacity" (field_expression "this_secn_contents.field_2._M_allocated_capacity" (field_expression "this_secn_contents.field_2" identifier . field_identifier) . field_identifier) = (field_expression "local_d8._M_allocated_capacity" identifier . field_identifier)) ;) (expression_statement "this_secn_contents._M_string_length = local_e0;" (assignment_expression "this_secn_contents._M_string_length = local_e0" (field_expression "this_secn_contents._M_string_length" identifier . field_identifier) = identifier) ;) (expression_statement "this_secn_contents._M_dataplus._M_p = _num_relocs;" (assignment_expression "this_secn_contents._M_dataplus._M_p = _num_relocs" (field_expression "this_secn_contents._M_dataplus._M_p" (field_expression "this_secn_contents._M_dataplus" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "_num_relocs = (pointer)&local_d8;" (assignment_expression "_num_relocs = (pointer)&local_d8" identifier = (binary_expression "(pointer)&local_d8" (parenthesized_expression "(pointer)" ( identifier )) & identifier)) ;) }))) (labeled_statement "LAB_0018156c:\n          local_e0 = 0;" statement_identifier : (expression_statement "local_e0 = 0;" (assignment_expression "local_e0 = 0" identifier = number_literal) ;)) (expression_statement "*_num_relocs = '\0';" (assignment_expression "*_num_relocs = '\0'" (pointer_expression "*_num_relocs" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)_num_relocs != &local_d8) {\n            operator_delete(_num_relocs);\n          }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)_num_relocs != &local_d8)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)_num_relocs != &local_d8)" ( (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               *)_num_relocs != &local_d8" (binary_expression "allocator<char>_>_9\n               *)_num_relocs" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n               *)_num_relocs" identifier * (ERROR ")" )) identifier)) != (pointer_expression "&local_d8" & identifier)) )) )) (compound_statement "{\n            operator_delete(_num_relocs);\n          }" { (expression_statement "operator_delete(_num_relocs);" (call_expression "operator_delete(_num_relocs)" identifier (argument_list "(_num_relocs)" ( identifier ))) ;) })) }))) (expression_statement "uVar23 = xcrc32((uchar *)this_secn_contents._M_dataplus._M_p,\n                        (int)this_secn_contents._M_string_length,0xffffffff);" (assignment_expression "uVar23 = xcrc32((uchar *)this_secn_contents._M_dataplus._M_p,\n                        (int)this_secn_contents._M_string_length,0xffffffff)" identifier = (call_expression "xcrc32((uchar *)this_secn_contents._M_dataplus._M_p,\n                        (int)this_secn_contents._M_string_length,0xffffffff)" identifier (argument_list "((uchar *)this_secn_contents._M_dataplus._M_p,\n                        (int)this_secn_contents._M_string_length,0xffffffff)" ( (cast_expression "(uchar *)this_secn_contents._M_dataplus._M_p" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "this_secn_contents._M_dataplus._M_p" (field_expression "this_secn_contents._M_dataplus" identifier . field_identifier) . field_identifier)) , (cast_expression "(int)this_secn_contents._M_string_length" ( (type_descriptor "int" primitive_type) ) (field_expression "this_secn_contents._M_string_length" identifier . field_identifier)) , number_literal )))) ;) (expression_statement "uVar42 = (ulong)uVar23 % section_cksum._M_h._M_bucket_count;" (assignment_expression "uVar42 = (ulong)uVar23 % section_cksum._M_h._M_bucket_count" identifier = (binary_expression "(ulong)uVar23 % section_cksum._M_h._M_bucket_count" (cast_expression "(ulong)uVar23" ( (type_descriptor "ulong" type_identifier) ) identifier) % (field_expression "section_cksum._M_h._M_bucket_count" (field_expression "section_cksum._M_h" identifier . field_identifier) . field_identifier))) ;) (expression_statement "cksum = uVar23;" (assignment_expression "cksum = uVar23" identifier = identifier) ;) (if_statement "if ((section_cksum._M_h._M_buckets[uVar42] == (__bucket_type)0x0) ||\n           (p_Var26 = section_cksum._M_h._M_buckets[uVar42]->_M_nxt,\n           p_Var26 == (_Hash_node_base *)0x0)) {\nLAB_00181638:\n          p_Var35 = (__node_type *)operator_new(0x10);\n          *(uint *)&(p_Var35->\n                    super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n                    _M_storage._M_storage = uVar23;\n          (p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n          super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;\n          *(uint *)((long)&(p_Var35->\n                           super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>\n                           )._M_storage._M_storage + 4) = uVar44;\n          std::\n          _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_false>_>\n          ::_M_insert_multi_node(&section_cksum._M_h,(__node_type *)0x0,(ulong)uVar23,p_Var35);\n        }\n        else {\n          uVar34 = (ulong)*(uint *)&p_Var26[1]._M_nxt;\n          lVar38 = 0;\n          do {\n            if (uVar23 == (uint)uVar34) {\n              p_Var26 = p_Var26->_M_nxt;\n              lVar38 = lVar38 + 1;\n              lVar46 = lVar38;\n            }\n            else {\n              if (lVar38 != 0) goto LAB_00181742;\n              p_Var26 = p_Var26->_M_nxt;\n              lVar46 = 0;\n            }\n          } while ((p_Var26 != (_Hash_node_base *)0x0) &&\n                  (uVar34 = (ulong)*(uint *)&p_Var26[1]._M_nxt, lVar46 = lVar38,\n                  uVar42 == uVar34 % section_cksum._M_h._M_bucket_count));\n          if (lVar46 == 0) goto LAB_00181638;\nLAB_00181742:\n          pVar62 = std::\n                   _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_false>_>\n                   ::equal_range(&section_cksum._M_h,&cksum);\n          sVar43 = this_secn_contents._M_string_length;\n          __s2 = this_secn_contents._M_dataplus;\n          pbVar15 = full_section_contents.\n                    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                    ._M_impl._M_start;\n          if ((__node_type *)pVar62.first !=\n              pVar62.second.\n              super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>) {\n            do {\n              local_1f0 = pVar62.second;\n              _Var54 = pVar62.first;\n              uVar23 = *(uint *)((long)_Var54.\n                                       super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                       ._M_cur + 0xc);\n              pbVar47 = pbVar15 + uVar23;\n              if ((pbVar47->_M_string_length == sVar43) &&\n                 (_Var50 = __s2, iVar24 = memcmp((pbVar47->_M_dataplus)._M_p,__s2._M_p,sVar43),\n                 iVar24 == 0)) {\n                puVar11 = (this->kept_section_id_).\n                          super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                          _M_start;\n                if (section_addraligns.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar23] <\n                    section_addraligns.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar45]) {\n                  puVar11[uVar23] = uVar44;\n                  _Var50._M_p = (pointer)(pbVar15 + uVar45);\n                  *(uint *)((long)_Var54.\n                                  super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                  ._M_cur + 0xc) = uVar44;\n                  std::string::swap((string *)pbVar47,(string *)_Var50._M_p);\n                  bVar57 = false;\n                }\n                else {\n                  puVar11[uVar45] = uVar23;\n                  bVar57 = false;\n                }\n                goto joined_r0x00181835;\n              }\n              pVar62.second.\n              super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>._M_cur =\n                   local_1f0.\n                   super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>.\n                   _M_cur;\n              pVar62.first.\n              super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>._M_cur =\n                   (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>)\n                   (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>)\n                   *(__node_type **)\n                    _Var54.\n                    super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>.\n                    _M_cur;\n            } while (local_1f0.\n                     super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>.\n                     _M_cur != (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                )*(__node_type **)\n                                  _Var54.\n                                  super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                  ._M_cur);\n          }\n          uVar16 = cksum;\n          p_Var35 = (__node_type *)operator_new(0x10);\n          (p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n          _M_storage._M_storage.__align = (anon_struct_4_0_00000001_for___align)uVar16;\n          (p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n          super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;\n          *(uint *)((long)&(p_Var35->\n                           super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>\n                           )._M_storage._M_storage + 4) = uVar44;\n          std::\n          _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_false>_>\n          ::_M_insert_multi_node(&section_cksum._M_h,(__node_type *)0x0,(ulong)uVar16,p_Var35);\n        }" if (parenthesized_expression "((section_cksum._M_h._M_buckets[uVar42] == (__bucket_type)0x0) ||\n           (p_Var26 = section_cksum._M_h._M_buckets[uVar42]->_M_nxt,\n           p_Var26 == (_Hash_node_base *)0x0))" ( (binary_expression "(section_cksum._M_h._M_buckets[uVar42] == (__bucket_type)0x0) ||\n           (p_Var26 = section_cksum._M_h._M_buckets[uVar42]->_M_nxt,\n           p_Var26 == (_Hash_node_base *)0x0)" (parenthesized_expression "(section_cksum._M_h._M_buckets[uVar42] == (__bucket_type)0x0)" ( (binary_expression "section_cksum._M_h._M_buckets[uVar42] == (__bucket_type)0x0" (subscript_expression "section_cksum._M_h._M_buckets[uVar42]" (field_expression "section_cksum._M_h._M_buckets" (field_expression "section_cksum._M_h" identifier . field_identifier) . field_identifier) [ identifier ]) == (cast_expression "(__bucket_type)0x0" ( (type_descriptor "__bucket_type" type_identifier) ) number_literal)) )) || (parenthesized_expression "(p_Var26 = section_cksum._M_h._M_buckets[uVar42]->_M_nxt,\n           p_Var26 == (_Hash_node_base *)0x0)" ( (comma_expression "p_Var26 = section_cksum._M_h._M_buckets[uVar42]->_M_nxt,\n           p_Var26 == (_Hash_node_base *)0x0" (assignment_expression "p_Var26 = section_cksum._M_h._M_buckets[uVar42]->_M_nxt" identifier = (field_expression "section_cksum._M_h._M_buckets[uVar42]->_M_nxt" (subscript_expression "section_cksum._M_h._M_buckets[uVar42]" (field_expression "section_cksum._M_h._M_buckets" (field_expression "section_cksum._M_h" identifier . field_identifier) . field_identifier) [ identifier ]) -> field_identifier)) , (binary_expression "p_Var26 == (_Hash_node_base *)0x0" identifier == (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\nLAB_00181638:\n          p_Var35 = (__node_type *)operator_new(0x10);\n          *(uint *)&(p_Var35->\n                    super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n                    _M_storage._M_storage = uVar23;\n          (p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n          super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;\n          *(uint *)((long)&(p_Var35->\n                           super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>\n                           )._M_storage._M_storage + 4) = uVar44;\n          std::\n          _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_false>_>\n          ::_M_insert_multi_node(&section_cksum._M_h,(__node_type *)0x0,(ulong)uVar23,p_Var35);\n        }" { (labeled_statement "LAB_00181638:\n          p_Var35 = (__node_type *)operator_new(0x10);" statement_identifier : (expression_statement "p_Var35 = (__node_type *)operator_new(0x10);" (assignment_expression "p_Var35 = (__node_type *)operator_new(0x10)" identifier = (cast_expression "(__node_type *)operator_new(0x10)" ( (type_descriptor "__node_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0x10)" identifier (argument_list "(0x10)" ( number_literal ))))) ;)) (expression_statement "*(uint *)&(p_Var35->\n                    super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n                    _M_storage._M_storage = uVar23;" (assignment_expression "*(uint *)&(p_Var35->\n                    super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n                    _M_storage._M_storage = uVar23" (pointer_expression "*(uint *)&(p_Var35->\n                    super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n                    _M_storage._M_storage" * (cast_expression "(uint *)&(p_Var35->\n                    super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n                    _M_storage._M_storage" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(p_Var35->\n                    super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n                    _M_storage._M_storage" & (field_expression "(p_Var35->\n                    super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n                    _M_storage._M_storage" (field_expression "(p_Var35->\n                    super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n                    _M_storage" (parenthesized_expression "(p_Var35->\n                    super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>)" ( (comma_expression "p_Var35->\n                    super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_" (binary_expression "p_Var35->\n                    super__Hash_node_value_base<std::pair<unsigned_int_const" (binary_expression "p_Var35->\n                    super__Hash_node_value_base<std" (field_expression "p_Var35->\n                    super__Hash_node_value_base" identifier -> field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_unsigned_int>_" identifier > identifier)) (ERROR ">" >) )) . field_identifier) . field_identifier)))) = identifier) ;) (expression_statement "(p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n          super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;" (assignment_expression "(p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n          super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0" (field_expression "(p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n          super__Hash_node_base._M_nxt" (field_expression "(p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n          super__Hash_node_base" (parenthesized_expression "(p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>)" ( (comma_expression "p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_" (binary_expression "p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const" (binary_expression "p_Var35->super__Hash_node_value_base<std" (field_expression "p_Var35->super__Hash_node_value_base" identifier -> field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_unsigned_int>_" identifier > identifier)) (ERROR ">" >) )) . field_identifier) . field_identifier) = (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(uint *)((long)&(p_Var35->\n                           super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>\n                           )._M_storage._M_storage + 4) = uVar44;" (assignment_expression "*(uint *)((long)&(p_Var35->\n                           super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>\n                           )._M_storage._M_storage + 4) = uVar44" (pointer_expression "*(uint *)((long)&(p_Var35->\n                           super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>\n                           )._M_storage._M_storage + 4)" * (cast_expression "(uint *)((long)&(p_Var35->\n                           super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>\n                           )._M_storage._M_storage + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&(p_Var35->\n                           super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>\n                           )._M_storage._M_storage + 4)" ( (binary_expression "(long)&(p_Var35->\n                           super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>\n                           )._M_storage._M_storage + 4" (cast_expression "(long)&(p_Var35->\n                           super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>\n                           )._M_storage._M_storage" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&(p_Var35->\n                           super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>\n                           )._M_storage._M_storage" & (field_expression "(p_Var35->\n                           super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>\n                           )._M_storage._M_storage" (field_expression "(p_Var35->\n                           super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>\n                           )._M_storage" (parenthesized_expression "(p_Var35->\n                           super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>\n                           )" ( (comma_expression "p_Var35->\n                           super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_" (binary_expression "p_Var35->\n                           super__Hash_node_value_base<std::pair<unsigned_int_const" (binary_expression "p_Var35->\n                           super__Hash_node_value_base<std" (field_expression "p_Var35->\n                           super__Hash_node_value_base" identifier -> field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_unsigned_int>_" identifier > identifier)) (ERROR ">" >) )) . field_identifier) . field_identifier))) + number_literal) )))) = identifier) ;) (ERROR "std::\n          _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (comma_expression "std::\n          _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std" identifier (ERROR "::\n          _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>" : : (comma_expression "_Hashtable<unsigned_int,_std" (binary_expression "_Hashtable<unsigned_int" identifier < identifier) , identifier) : : (comma_expression "pair<unsigned_int_const,_unsigned_int>,_std" (binary_expression "pair<unsigned_int_const" identifier < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<unsigned_int_const,_unsigned_int>_>,_std" (binary_expression "pair<unsigned_int_const" identifier < identifier) , (binary_expression "_unsigned_int>_>,_std" (binary_expression "_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier)) : : (comma_expression "__detail::_Select1st,_std::equal_to<unsigned_int>,_std" identifier (ERROR "::_Select1st,_std::equal_to<unsigned_int>" : : (comma_expression "_Select1st,_std" identifier , identifier) : : (binary_expression "equal_to<unsigned_int" identifier < identifier) >) , identifier) : : (binary_expression "hash<unsigned_int" identifier < identifier) >) , identifier) : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : :) (expression_statement "_Hashtable_traits<false,_false,_false>_>\n          ::_M_insert_multi_node(&section_cksum._M_h,(__node_type *)0x0,(ulong)uVar23,p_Var35);" (comma_expression "_Hashtable_traits<false,_false,_false>_>\n          ::_M_insert_multi_node(&section_cksum._M_h,(__node_type *)0x0,(ulong)uVar23,p_Var35)" (binary_expression "_Hashtable_traits<false" identifier < false) , (comma_expression "_false,_false>_>\n          ::_M_insert_multi_node(&section_cksum._M_h,(__node_type *)0x0,(ulong)uVar23,p_Var35)" identifier , (binary_expression "_false>_>\n          ::_M_insert_multi_node(&section_cksum._M_h,(__node_type *)0x0,(ulong)uVar23,p_Var35)" (binary_expression "_false>_" identifier > identifier) > (ERROR "::" : :) (call_expression "_M_insert_multi_node(&section_cksum._M_h,(__node_type *)0x0,(ulong)uVar23,p_Var35)" identifier (argument_list "(&section_cksum._M_h,(__node_type *)0x0,(ulong)uVar23,p_Var35)" ( (pointer_expression "&section_cksum._M_h" & (field_expression "section_cksum._M_h" identifier . field_identifier)) , (cast_expression "(__node_type *)0x0" ( (type_descriptor "__node_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , (cast_expression "(ulong)uVar23" ( (type_descriptor "ulong" type_identifier) ) identifier) , identifier )))))) ;) }) (else_clause "else {\n          uVar34 = (ulong)*(uint *)&p_Var26[1]._M_nxt;\n          lVar38 = 0;\n          do {\n            if (uVar23 == (uint)uVar34) {\n              p_Var26 = p_Var26->_M_nxt;\n              lVar38 = lVar38 + 1;\n              lVar46 = lVar38;\n            }\n            else {\n              if (lVar38 != 0) goto LAB_00181742;\n              p_Var26 = p_Var26->_M_nxt;\n              lVar46 = 0;\n            }\n          } while ((p_Var26 != (_Hash_node_base *)0x0) &&\n                  (uVar34 = (ulong)*(uint *)&p_Var26[1]._M_nxt, lVar46 = lVar38,\n                  uVar42 == uVar34 % section_cksum._M_h._M_bucket_count));\n          if (lVar46 == 0) goto LAB_00181638;\nLAB_00181742:\n          pVar62 = std::\n                   _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_false>_>\n                   ::equal_range(&section_cksum._M_h,&cksum);\n          sVar43 = this_secn_contents._M_string_length;\n          __s2 = this_secn_contents._M_dataplus;\n          pbVar15 = full_section_contents.\n                    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                    ._M_impl._M_start;\n          if ((__node_type *)pVar62.first !=\n              pVar62.second.\n              super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>) {\n            do {\n              local_1f0 = pVar62.second;\n              _Var54 = pVar62.first;\n              uVar23 = *(uint *)((long)_Var54.\n                                       super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                       ._M_cur + 0xc);\n              pbVar47 = pbVar15 + uVar23;\n              if ((pbVar47->_M_string_length == sVar43) &&\n                 (_Var50 = __s2, iVar24 = memcmp((pbVar47->_M_dataplus)._M_p,__s2._M_p,sVar43),\n                 iVar24 == 0)) {\n                puVar11 = (this->kept_section_id_).\n                          super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                          _M_start;\n                if (section_addraligns.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar23] <\n                    section_addraligns.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar45]) {\n                  puVar11[uVar23] = uVar44;\n                  _Var50._M_p = (pointer)(pbVar15 + uVar45);\n                  *(uint *)((long)_Var54.\n                                  super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                  ._M_cur + 0xc) = uVar44;\n                  std::string::swap((string *)pbVar47,(string *)_Var50._M_p);\n                  bVar57 = false;\n                }\n                else {\n                  puVar11[uVar45] = uVar23;\n                  bVar57 = false;\n                }\n                goto joined_r0x00181835;\n              }\n              pVar62.second.\n              super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>._M_cur =\n                   local_1f0.\n                   super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>.\n                   _M_cur;\n              pVar62.first.\n              super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>._M_cur =\n                   (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>)\n                   (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>)\n                   *(__node_type **)\n                    _Var54.\n                    super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>.\n                    _M_cur;\n            } while (local_1f0.\n                     super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>.\n                     _M_cur != (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                )*(__node_type **)\n                                  _Var54.\n                                  super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                  ._M_cur);\n          }\n          uVar16 = cksum;\n          p_Var35 = (__node_type *)operator_new(0x10);\n          (p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n          _M_storage._M_storage.__align = (anon_struct_4_0_00000001_for___align)uVar16;\n          (p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n          super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;\n          *(uint *)((long)&(p_Var35->\n                           super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>\n                           )._M_storage._M_storage + 4) = uVar44;\n          std::\n          _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_false>_>\n          ::_M_insert_multi_node(&section_cksum._M_h,(__node_type *)0x0,(ulong)uVar16,p_Var35);\n        }" else (compound_statement "{\n          uVar34 = (ulong)*(uint *)&p_Var26[1]._M_nxt;\n          lVar38 = 0;\n          do {\n            if (uVar23 == (uint)uVar34) {\n              p_Var26 = p_Var26->_M_nxt;\n              lVar38 = lVar38 + 1;\n              lVar46 = lVar38;\n            }\n            else {\n              if (lVar38 != 0) goto LAB_00181742;\n              p_Var26 = p_Var26->_M_nxt;\n              lVar46 = 0;\n            }\n          } while ((p_Var26 != (_Hash_node_base *)0x0) &&\n                  (uVar34 = (ulong)*(uint *)&p_Var26[1]._M_nxt, lVar46 = lVar38,\n                  uVar42 == uVar34 % section_cksum._M_h._M_bucket_count));\n          if (lVar46 == 0) goto LAB_00181638;\nLAB_00181742:\n          pVar62 = std::\n                   _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_false>_>\n                   ::equal_range(&section_cksum._M_h,&cksum);\n          sVar43 = this_secn_contents._M_string_length;\n          __s2 = this_secn_contents._M_dataplus;\n          pbVar15 = full_section_contents.\n                    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                    ._M_impl._M_start;\n          if ((__node_type *)pVar62.first !=\n              pVar62.second.\n              super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>) {\n            do {\n              local_1f0 = pVar62.second;\n              _Var54 = pVar62.first;\n              uVar23 = *(uint *)((long)_Var54.\n                                       super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                       ._M_cur + 0xc);\n              pbVar47 = pbVar15 + uVar23;\n              if ((pbVar47->_M_string_length == sVar43) &&\n                 (_Var50 = __s2, iVar24 = memcmp((pbVar47->_M_dataplus)._M_p,__s2._M_p,sVar43),\n                 iVar24 == 0)) {\n                puVar11 = (this->kept_section_id_).\n                          super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                          _M_start;\n                if (section_addraligns.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar23] <\n                    section_addraligns.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar45]) {\n                  puVar11[uVar23] = uVar44;\n                  _Var50._M_p = (pointer)(pbVar15 + uVar45);\n                  *(uint *)((long)_Var54.\n                                  super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                  ._M_cur + 0xc) = uVar44;\n                  std::string::swap((string *)pbVar47,(string *)_Var50._M_p);\n                  bVar57 = false;\n                }\n                else {\n                  puVar11[uVar45] = uVar23;\n                  bVar57 = false;\n                }\n                goto joined_r0x00181835;\n              }\n              pVar62.second.\n              super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>._M_cur =\n                   local_1f0.\n                   super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>.\n                   _M_cur;\n              pVar62.first.\n              super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>._M_cur =\n                   (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>)\n                   (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>)\n                   *(__node_type **)\n                    _Var54.\n                    super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>.\n                    _M_cur;\n            } while (local_1f0.\n                     super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>.\n                     _M_cur != (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                )*(__node_type **)\n                                  _Var54.\n                                  super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                  ._M_cur);\n          }\n          uVar16 = cksum;\n          p_Var35 = (__node_type *)operator_new(0x10);\n          (p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n          _M_storage._M_storage.__align = (anon_struct_4_0_00000001_for___align)uVar16;\n          (p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n          super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;\n          *(uint *)((long)&(p_Var35->\n                           super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>\n                           )._M_storage._M_storage + 4) = uVar44;\n          std::\n          _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_false>_>\n          ::_M_insert_multi_node(&section_cksum._M_h,(__node_type *)0x0,(ulong)uVar16,p_Var35);\n        }" { (expression_statement "uVar34 = (ulong)*(uint *)&p_Var26[1]._M_nxt;" (assignment_expression "uVar34 = (ulong)*(uint *)&p_Var26[1]._M_nxt" identifier = (binary_expression "(ulong)*(uint *)&p_Var26[1]._M_nxt" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)&p_Var26[1]._M_nxt" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&p_Var26[1]._M_nxt" & (field_expression "p_Var26[1]._M_nxt" (subscript_expression "p_Var26[1]" identifier [ number_literal ]) . field_identifier))))) ;) (expression_statement "lVar38 = 0;" (assignment_expression "lVar38 = 0" identifier = number_literal) ;) (do_statement "do {\n            if (uVar23 == (uint)uVar34) {\n              p_Var26 = p_Var26->_M_nxt;\n              lVar38 = lVar38 + 1;\n              lVar46 = lVar38;\n            }\n            else {\n              if (lVar38 != 0) goto LAB_00181742;\n              p_Var26 = p_Var26->_M_nxt;\n              lVar46 = 0;\n            }\n          } while ((p_Var26 != (_Hash_node_base *)0x0) &&\n                  (uVar34 = (ulong)*(uint *)&p_Var26[1]._M_nxt, lVar46 = lVar38,\n                  uVar42 == uVar34 % section_cksum._M_h._M_bucket_count));" do (compound_statement "{\n            if (uVar23 == (uint)uVar34) {\n              p_Var26 = p_Var26->_M_nxt;\n              lVar38 = lVar38 + 1;\n              lVar46 = lVar38;\n            }\n            else {\n              if (lVar38 != 0) goto LAB_00181742;\n              p_Var26 = p_Var26->_M_nxt;\n              lVar46 = 0;\n            }\n          }" { (if_statement "if (uVar23 == (uint)uVar34) {\n              p_Var26 = p_Var26->_M_nxt;\n              lVar38 = lVar38 + 1;\n              lVar46 = lVar38;\n            }\n            else {\n              if (lVar38 != 0) goto LAB_00181742;\n              p_Var26 = p_Var26->_M_nxt;\n              lVar46 = 0;\n            }" if (parenthesized_expression "(uVar23 == (uint)uVar34)" ( (binary_expression "uVar23 == (uint)uVar34" identifier == (cast_expression "(uint)uVar34" ( (type_descriptor "uint" type_identifier) ) identifier)) )) (compound_statement "{\n              p_Var26 = p_Var26->_M_nxt;\n              lVar38 = lVar38 + 1;\n              lVar46 = lVar38;\n            }" { (expression_statement "p_Var26 = p_Var26->_M_nxt;" (assignment_expression "p_Var26 = p_Var26->_M_nxt" identifier = (field_expression "p_Var26->_M_nxt" identifier -> field_identifier)) ;) (expression_statement "lVar38 = lVar38 + 1;" (assignment_expression "lVar38 = lVar38 + 1" identifier = (binary_expression "lVar38 + 1" identifier + number_literal)) ;) (expression_statement "lVar46 = lVar38;" (assignment_expression "lVar46 = lVar38" identifier = identifier) ;) }) (else_clause "else {\n              if (lVar38 != 0) goto LAB_00181742;\n              p_Var26 = p_Var26->_M_nxt;\n              lVar46 = 0;\n            }" else (compound_statement "{\n              if (lVar38 != 0) goto LAB_00181742;\n              p_Var26 = p_Var26->_M_nxt;\n              lVar46 = 0;\n            }" { (if_statement "if (lVar38 != 0) goto LAB_00181742;" if (parenthesized_expression "(lVar38 != 0)" ( (binary_expression "lVar38 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00181742;" goto statement_identifier ;)) (expression_statement "p_Var26 = p_Var26->_M_nxt;" (assignment_expression "p_Var26 = p_Var26->_M_nxt" identifier = (field_expression "p_Var26->_M_nxt" identifier -> field_identifier)) ;) (expression_statement "lVar46 = 0;" (assignment_expression "lVar46 = 0" identifier = number_literal) ;) }))) }) while (parenthesized_expression "((p_Var26 != (_Hash_node_base *)0x0) &&\n                  (uVar34 = (ulong)*(uint *)&p_Var26[1]._M_nxt, lVar46 = lVar38,\n                  uVar42 == uVar34 % section_cksum._M_h._M_bucket_count))" ( (binary_expression "(p_Var26 != (_Hash_node_base *)0x0) &&\n                  (uVar34 = (ulong)*(uint *)&p_Var26[1]._M_nxt, lVar46 = lVar38,\n                  uVar42 == uVar34 % section_cksum._M_h._M_bucket_count)" (parenthesized_expression "(p_Var26 != (_Hash_node_base *)0x0)" ( (binary_expression "p_Var26 != (_Hash_node_base *)0x0" identifier != (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(uVar34 = (ulong)*(uint *)&p_Var26[1]._M_nxt, lVar46 = lVar38,\n                  uVar42 == uVar34 % section_cksum._M_h._M_bucket_count)" ( (comma_expression "uVar34 = (ulong)*(uint *)&p_Var26[1]._M_nxt, lVar46 = lVar38,\n                  uVar42 == uVar34 % section_cksum._M_h._M_bucket_count" (assignment_expression "uVar34 = (ulong)*(uint *)&p_Var26[1]._M_nxt" identifier = (binary_expression "(ulong)*(uint *)&p_Var26[1]._M_nxt" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)&p_Var26[1]._M_nxt" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&p_Var26[1]._M_nxt" & (field_expression "p_Var26[1]._M_nxt" (subscript_expression "p_Var26[1]" identifier [ number_literal ]) . field_identifier))))) , (comma_expression "lVar46 = lVar38,\n                  uVar42 == uVar34 % section_cksum._M_h._M_bucket_count" (assignment_expression "lVar46 = lVar38" identifier = identifier) , (binary_expression "uVar42 == uVar34 % section_cksum._M_h._M_bucket_count" identifier == (binary_expression "uVar34 % section_cksum._M_h._M_bucket_count" identifier % (field_expression "section_cksum._M_h._M_bucket_count" (field_expression "section_cksum._M_h" identifier . field_identifier) . field_identifier))))) ))) )) ;) (if_statement "if (lVar46 == 0) goto LAB_00181638;" if (parenthesized_expression "(lVar46 == 0)" ( (binary_expression "lVar46 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00181638;" goto statement_identifier ;)) (labeled_statement "LAB_00181742:\n          pVar62 = std::\n                   _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_false>_>\n                   ::equal_range(&section_cksum._M_h,&cksum);" statement_identifier : (ERROR "pVar62 = std::\n                   _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::" (assignment_expression "pVar62 = std" identifier = identifier) : : (comma_expression "_Hashtable<unsigned_int,_std" (binary_expression "_Hashtable<unsigned_int" identifier < identifier) , identifier) : : (comma_expression "pair<unsigned_int_const,_unsigned_int>,_std" (binary_expression "pair<unsigned_int_const" identifier < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<unsigned_int_const,_unsigned_int>_>,_std" (binary_expression "pair<unsigned_int_const" identifier < identifier) , (binary_expression "_unsigned_int>_>,_std" (binary_expression "_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier)) : : (comma_expression "__detail::_Select1st,_std::equal_to<unsigned_int>,_std" identifier (ERROR "::_Select1st,_std::equal_to<unsigned_int>" : : (comma_expression "_Select1st,_std" identifier , identifier) : : (binary_expression "equal_to<unsigned_int" identifier < identifier) >) , identifier) : : (binary_expression "hash<unsigned_int>,_std" (binary_expression "hash<unsigned_int" identifier < identifier) > (ERROR "," ,) identifier) : :) (labeled_statement "__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_false>_>\n                   ::equal_range(&section_cksum._M_h,&cksum);" 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<false,_false,_false>_>\n                   ::equal_range(&section_cksum._M_h,&cksum);" 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<false,_false,_false>_>\n                   ::equal_range(&section_cksum._M_h,&cksum);" statement_identifier (ERROR "::_Prime_rehash_policy,_std:" : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) :) : (labeled_statement "__detail::_Hashtable_traits<false,_false,_false>_>\n                   ::equal_range(&section_cksum._M_h,&cksum);" statement_identifier : (ERROR ":" :) (expression_statement "_Hashtable_traits<false,_false,_false>_>\n                   ::equal_range(&section_cksum._M_h,&cksum);" (comma_expression "_Hashtable_traits<false,_false,_false>_>\n                   ::equal_range(&section_cksum._M_h,&cksum)" (binary_expression "_Hashtable_traits<false" identifier < false) , (comma_expression "_false,_false>_>\n                   ::equal_range(&section_cksum._M_h,&cksum)" identifier , (binary_expression "_false>_>\n                   ::equal_range(&section_cksum._M_h,&cksum)" (binary_expression "_false>_" identifier > identifier) > (ERROR "::" : :) (call_expression "equal_range(&section_cksum._M_h,&cksum)" identifier (argument_list "(&section_cksum._M_h,&cksum)" ( (pointer_expression "&section_cksum._M_h" & (field_expression "section_cksum._M_h" identifier . field_identifier)) , (pointer_expression "&cksum" & identifier) )))))) ;)))))) (expression_statement "sVar43 = this_secn_contents._M_string_length;" (assignment_expression "sVar43 = this_secn_contents._M_string_length" identifier = (field_expression "this_secn_contents._M_string_length" identifier . field_identifier)) ;) (expression_statement "__s2 = this_secn_contents._M_dataplus;" (assignment_expression "__s2 = this_secn_contents._M_dataplus" identifier = (field_expression "this_secn_contents._M_dataplus" identifier . field_identifier)) ;) (ERROR "pbVar15 = full_section_contents.\n                    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (assignment_expression "pbVar15 = full_section_contents.\n                    super__Vector_base<std" identifier = (binary_expression "full_section_contents.\n                    super__Vector_base<std" (field_expression "full_section_contents.\n                    super__Vector_base" identifier . field_identifier) < identifier)) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>\n                    ._M_impl._M_start;" (field_expression "allocator<char>_>_>_>\n                    ._M_impl._M_start" (field_expression "allocator<char>_>_>_>\n                    ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if ((__node_type *)pVar62.first !=\n              pVar62.second.\n              super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>) {\n            do {\n              local_1f0 = pVar62.second;\n              _Var54 = pVar62.first;\n              uVar23 = *(uint *)((long)_Var54.\n                                       super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                       ._M_cur + 0xc);\n              pbVar47 = pbVar15 + uVar23;\n              if ((pbVar47->_M_string_length == sVar43) &&\n                 (_Var50 = __s2, iVar24 = memcmp((pbVar47->_M_dataplus)._M_p,__s2._M_p,sVar43),\n                 iVar24 == 0)) {\n                puVar11 = (this->kept_section_id_).\n                          super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                          _M_start;\n                if (section_addraligns.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar23] <\n                    section_addraligns.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar45]) {\n                  puVar11[uVar23] = uVar44;\n                  _Var50._M_p = (pointer)(pbVar15 + uVar45);\n                  *(uint *)((long)_Var54.\n                                  super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                  ._M_cur + 0xc) = uVar44;\n                  std::string::swap((string *)pbVar47,(string *)_Var50._M_p);\n                  bVar57 = false;\n                }\n                else {\n                  puVar11[uVar45] = uVar23;\n                  bVar57 = false;\n                }\n                goto joined_r0x00181835;\n              }\n              pVar62.second.\n              super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>._M_cur =\n                   local_1f0.\n                   super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>.\n                   _M_cur;\n              pVar62.first.\n              super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>._M_cur =\n                   (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>)\n                   (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>)\n                   *(__node_type **)\n                    _Var54.\n                    super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>.\n                    _M_cur;\n            } while (local_1f0.\n                     super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>.\n                     _M_cur != (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                )*(__node_type **)\n                                  _Var54.\n                                  super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                  ._M_cur);\n          }" if (parenthesized_expression "((__node_type *)pVar62.first !=\n              pVar62.second.\n              super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>)" ( (comma_expression "(__node_type *)pVar62.first !=\n              pVar62.second.\n              super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false" (binary_expression "(__node_type *)pVar62.first !=\n              pVar62.second.\n              super__Node_iterator_base<std::pair<unsigned_int_const" (binary_expression "(__node_type *)pVar62.first !=\n              pVar62.second.\n              super__Node_iterator_base<std" (cast_expression "(__node_type *)pVar62.first" ( (type_descriptor "__node_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pVar62.first" identifier . field_identifier)) != (binary_expression "pVar62.second.\n              super__Node_iterator_base<std" (field_expression "pVar62.second.\n              super__Node_iterator_base" (field_expression "pVar62.second" identifier . field_identifier) . field_identifier) < identifier)) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_unsigned_int>,_false" identifier > (ERROR "," ,) identifier)) (ERROR ">" >) )) (compound_statement "{\n            do {\n              local_1f0 = pVar62.second;\n              _Var54 = pVar62.first;\n              uVar23 = *(uint *)((long)_Var54.\n                                       super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                       ._M_cur + 0xc);\n              pbVar47 = pbVar15 + uVar23;\n              if ((pbVar47->_M_string_length == sVar43) &&\n                 (_Var50 = __s2, iVar24 = memcmp((pbVar47->_M_dataplus)._M_p,__s2._M_p,sVar43),\n                 iVar24 == 0)) {\n                puVar11 = (this->kept_section_id_).\n                          super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                          _M_start;\n                if (section_addraligns.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar23] <\n                    section_addraligns.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar45]) {\n                  puVar11[uVar23] = uVar44;\n                  _Var50._M_p = (pointer)(pbVar15 + uVar45);\n                  *(uint *)((long)_Var54.\n                                  super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                  ._M_cur + 0xc) = uVar44;\n                  std::string::swap((string *)pbVar47,(string *)_Var50._M_p);\n                  bVar57 = false;\n                }\n                else {\n                  puVar11[uVar45] = uVar23;\n                  bVar57 = false;\n                }\n                goto joined_r0x00181835;\n              }\n              pVar62.second.\n              super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>._M_cur =\n                   local_1f0.\n                   super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>.\n                   _M_cur;\n              pVar62.first.\n              super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>._M_cur =\n                   (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>)\n                   (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>)\n                   *(__node_type **)\n                    _Var54.\n                    super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>.\n                    _M_cur;\n            } while (local_1f0.\n                     super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>.\n                     _M_cur != (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                )*(__node_type **)\n                                  _Var54.\n                                  super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                  ._M_cur);\n          }" { (do_statement "do {\n              local_1f0 = pVar62.second;\n              _Var54 = pVar62.first;\n              uVar23 = *(uint *)((long)_Var54.\n                                       super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                       ._M_cur + 0xc);\n              pbVar47 = pbVar15 + uVar23;\n              if ((pbVar47->_M_string_length == sVar43) &&\n                 (_Var50 = __s2, iVar24 = memcmp((pbVar47->_M_dataplus)._M_p,__s2._M_p,sVar43),\n                 iVar24 == 0)) {\n                puVar11 = (this->kept_section_id_).\n                          super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                          _M_start;\n                if (section_addraligns.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar23] <\n                    section_addraligns.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar45]) {\n                  puVar11[uVar23] = uVar44;\n                  _Var50._M_p = (pointer)(pbVar15 + uVar45);\n                  *(uint *)((long)_Var54.\n                                  super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                  ._M_cur + 0xc) = uVar44;\n                  std::string::swap((string *)pbVar47,(string *)_Var50._M_p);\n                  bVar57 = false;\n                }\n                else {\n                  puVar11[uVar45] = uVar23;\n                  bVar57 = false;\n                }\n                goto joined_r0x00181835;\n              }\n              pVar62.second.\n              super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>._M_cur =\n                   local_1f0.\n                   super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>.\n                   _M_cur;\n              pVar62.first.\n              super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>._M_cur =\n                   (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>)\n                   (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>)\n                   *(__node_type **)\n                    _Var54.\n                    super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>.\n                    _M_cur;\n            } while (local_1f0.\n                     super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>.\n                     _M_cur != (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                )*(__node_type **)\n                                  _Var54.\n                                  super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                  ._M_cur);" do (compound_statement "{\n              local_1f0 = pVar62.second;\n              _Var54 = pVar62.first;\n              uVar23 = *(uint *)((long)_Var54.\n                                       super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                       ._M_cur + 0xc);\n              pbVar47 = pbVar15 + uVar23;\n              if ((pbVar47->_M_string_length == sVar43) &&\n                 (_Var50 = __s2, iVar24 = memcmp((pbVar47->_M_dataplus)._M_p,__s2._M_p,sVar43),\n                 iVar24 == 0)) {\n                puVar11 = (this->kept_section_id_).\n                          super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                          _M_start;\n                if (section_addraligns.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar23] <\n                    section_addraligns.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar45]) {\n                  puVar11[uVar23] = uVar44;\n                  _Var50._M_p = (pointer)(pbVar15 + uVar45);\n                  *(uint *)((long)_Var54.\n                                  super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                  ._M_cur + 0xc) = uVar44;\n                  std::string::swap((string *)pbVar47,(string *)_Var50._M_p);\n                  bVar57 = false;\n                }\n                else {\n                  puVar11[uVar45] = uVar23;\n                  bVar57 = false;\n                }\n                goto joined_r0x00181835;\n              }\n              pVar62.second.\n              super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>._M_cur =\n                   local_1f0.\n                   super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>.\n                   _M_cur;\n              pVar62.first.\n              super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>._M_cur =\n                   (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>)\n                   (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>)\n                   *(__node_type **)\n                    _Var54.\n                    super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>.\n                    _M_cur;\n            }" { (expression_statement "local_1f0 = pVar62.second;" (assignment_expression "local_1f0 = pVar62.second" identifier = (field_expression "pVar62.second" identifier . field_identifier)) ;) (expression_statement "_Var54 = pVar62.first;" (assignment_expression "_Var54 = pVar62.first" identifier = (field_expression "pVar62.first" identifier . field_identifier)) ;) (expression_statement "uVar23 = *(uint *)((long)_Var54.\n                                       super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                       ._M_cur + 0xc);" (assignment_expression "uVar23 = *(uint *)((long)_Var54.\n                                       super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                       ._M_cur + 0xc)" identifier = (pointer_expression "*(uint *)((long)_Var54.\n                                       super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                       ._M_cur + 0xc)" * (cast_expression "(uint *)((long)_Var54.\n                                       super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                       ._M_cur + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)_Var54.\n                                       super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                       ._M_cur + 0xc)" ( (comma_expression "(long)_Var54.\n                                       super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                       ._M_cur + 0xc" (binary_expression "(long)_Var54.\n                                       super__Node_iterator_base<std::pair<unsigned_int_const" (binary_expression "(long)_Var54.\n                                       super__Node_iterator_base<std" (cast_expression "(long)_Var54.\n                                       super__Node_iterator_base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "_Var54.\n                                       super__Node_iterator_base" identifier . field_identifier)) < identifier) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_unsigned_int>,_false>\n                                       ._M_cur + 0xc" (field_expression "_unsigned_int>,_false>\n                                       ._M_cur" (binary_expression "_unsigned_int>,_false" identifier > (ERROR "," ,) identifier) (ERROR ">" >) . field_identifier) + number_literal)) ))))) ;) (expression_statement "pbVar47 = pbVar15 + uVar23;" (assignment_expression "pbVar47 = pbVar15 + uVar23" identifier = (binary_expression "pbVar15 + uVar23" identifier + identifier)) ;) (if_statement "if ((pbVar47->_M_string_length == sVar43) &&\n                 (_Var50 = __s2, iVar24 = memcmp((pbVar47->_M_dataplus)._M_p,__s2._M_p,sVar43),\n                 iVar24 == 0)) {\n                puVar11 = (this->kept_section_id_).\n                          super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                          _M_start;\n                if (section_addraligns.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar23] <\n                    section_addraligns.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar45]) {\n                  puVar11[uVar23] = uVar44;\n                  _Var50._M_p = (pointer)(pbVar15 + uVar45);\n                  *(uint *)((long)_Var54.\n                                  super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                  ._M_cur + 0xc) = uVar44;\n                  std::string::swap((string *)pbVar47,(string *)_Var50._M_p);\n                  bVar57 = false;\n                }\n                else {\n                  puVar11[uVar45] = uVar23;\n                  bVar57 = false;\n                }\n                goto joined_r0x00181835;\n              }" if (parenthesized_expression "((pbVar47->_M_string_length == sVar43) &&\n                 (_Var50 = __s2, iVar24 = memcmp((pbVar47->_M_dataplus)._M_p,__s2._M_p,sVar43),\n                 iVar24 == 0))" ( (binary_expression "(pbVar47->_M_string_length == sVar43) &&\n                 (_Var50 = __s2, iVar24 = memcmp((pbVar47->_M_dataplus)._M_p,__s2._M_p,sVar43),\n                 iVar24 == 0)" (parenthesized_expression "(pbVar47->_M_string_length == sVar43)" ( (binary_expression "pbVar47->_M_string_length == sVar43" (field_expression "pbVar47->_M_string_length" identifier -> field_identifier) == identifier) )) && (parenthesized_expression "(_Var50 = __s2, iVar24 = memcmp((pbVar47->_M_dataplus)._M_p,__s2._M_p,sVar43),\n                 iVar24 == 0)" ( (comma_expression "_Var50 = __s2, iVar24 = memcmp((pbVar47->_M_dataplus)._M_p,__s2._M_p,sVar43),\n                 iVar24 == 0" (assignment_expression "_Var50 = __s2" identifier = identifier) , (comma_expression "iVar24 = memcmp((pbVar47->_M_dataplus)._M_p,__s2._M_p,sVar43),\n                 iVar24 == 0" (assignment_expression "iVar24 = memcmp((pbVar47->_M_dataplus)._M_p,__s2._M_p,sVar43)" identifier = (call_expression "memcmp((pbVar47->_M_dataplus)._M_p,__s2._M_p,sVar43)" identifier (argument_list "((pbVar47->_M_dataplus)._M_p,__s2._M_p,sVar43)" ( (field_expression "(pbVar47->_M_dataplus)._M_p" (parenthesized_expression "(pbVar47->_M_dataplus)" ( (field_expression "pbVar47->_M_dataplus" identifier -> field_identifier) )) . field_identifier) , (field_expression "__s2._M_p" identifier . field_identifier) , identifier )))) , (binary_expression "iVar24 == 0" identifier == number_literal))) ))) )) (compound_statement "{\n                puVar11 = (this->kept_section_id_).\n                          super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                          _M_start;\n                if (section_addraligns.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar23] <\n                    section_addraligns.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar45]) {\n                  puVar11[uVar23] = uVar44;\n                  _Var50._M_p = (pointer)(pbVar15 + uVar45);\n                  *(uint *)((long)_Var54.\n                                  super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                  ._M_cur + 0xc) = uVar44;\n                  std::string::swap((string *)pbVar47,(string *)_Var50._M_p);\n                  bVar57 = false;\n                }\n                else {\n                  puVar11[uVar45] = uVar23;\n                  bVar57 = false;\n                }\n                goto joined_r0x00181835;\n              }" { (ERROR "puVar11 = (this->kept_section_id_).\n                          super__Vector_base<unsigned_int,_std::" (comma_expression "puVar11 = (this->kept_section_id_).\n                          super__Vector_base<unsigned_int,_std" (assignment_expression "puVar11 = (this->kept_section_id_).\n                          super__Vector_base<unsigned_int" identifier = (binary_expression "(this->kept_section_id_).\n                          super__Vector_base<unsigned_int" (field_expression "(this->kept_section_id_).\n                          super__Vector_base" (parenthesized_expression "(this->kept_section_id_)" ( (field_expression "this->kept_section_id_" identifier -> field_identifier) )) . field_identifier) < identifier)) , identifier) : :) (expression_statement "allocator<unsigned_int>_>._M_impl.\n                          _M_start;" (field_expression "allocator<unsigned_int>_>._M_impl.\n                          _M_start" (field_expression "allocator<unsigned_int>_>._M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if (section_addraligns.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar23] <\n                    section_addraligns.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar45]) {\n                  puVar11[uVar23] = uVar44;\n                  _Var50._M_p = (pointer)(pbVar15 + uVar45);\n                  *(uint *)((long)_Var54.\n                                  super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                  ._M_cur + 0xc) = uVar44;\n                  std::string::swap((string *)pbVar47,(string *)_Var50._M_p);\n                  bVar57 = false;\n                }\n                else {\n                  puVar11[uVar45] = uVar23;\n                  bVar57 = false;\n                }" if (parenthesized_expression "(section_addraligns.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar23] <\n                    section_addraligns.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar45])" ( (ERROR "section_addraligns.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar23] <\n                    section_addraligns.\n                    super__Vector_base<long_unsigned_int,_std::" (comma_expression "section_addraligns.\n                    super__Vector_base<long_unsigned_int,_std" (binary_expression "section_addraligns.\n                    super__Vector_base<long_unsigned_int" (field_expression "section_addraligns.\n                    super__Vector_base" identifier . field_identifier) < identifier) , identifier) : : (comma_expression "allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar23] <\n                    section_addraligns.\n                    super__Vector_base<long_unsigned_int,_std" (binary_expression "allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar23] <\n                    section_addraligns.\n                    super__Vector_base<long_unsigned_int" (binary_expression "allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar23] <\n                    section_addraligns.\n                    super__Vector_base" (subscript_expression "allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar23]" (field_expression "allocator<long_unsigned_int>_>.\n                    _M_impl._M_start" (field_expression "allocator<long_unsigned_int>_>.\n                    _M_impl" (binary_expression "allocator<long_unsigned_int>_" (binary_expression "allocator<long_unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) [ identifier ]) < (field_expression "section_addraligns.\n                    super__Vector_base" identifier . field_identifier)) < identifier) , identifier) : :) (subscript_expression "allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar45]" (field_expression "allocator<long_unsigned_int>_>.\n                    _M_impl._M_start" (field_expression "allocator<long_unsigned_int>_>.\n                    _M_impl" (binary_expression "allocator<long_unsigned_int>_" (binary_expression "allocator<long_unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) [ identifier ]) )) (compound_statement "{\n                  puVar11[uVar23] = uVar44;\n                  _Var50._M_p = (pointer)(pbVar15 + uVar45);\n                  *(uint *)((long)_Var54.\n                                  super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                  ._M_cur + 0xc) = uVar44;\n                  std::string::swap((string *)pbVar47,(string *)_Var50._M_p);\n                  bVar57 = false;\n                }" { (expression_statement "puVar11[uVar23] = uVar44;" (assignment_expression "puVar11[uVar23] = uVar44" (subscript_expression "puVar11[uVar23]" identifier [ identifier ]) = identifier) ;) (expression_statement "_Var50._M_p = (pointer)(pbVar15 + uVar45);" (assignment_expression "_Var50._M_p = (pointer)(pbVar15 + uVar45)" (field_expression "_Var50._M_p" identifier . field_identifier) = (call_expression "(pointer)(pbVar15 + uVar45)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "(pbVar15 + uVar45)" ( (binary_expression "pbVar15 + uVar45" identifier + identifier) )))) ;) (expression_statement "*(uint *)((long)_Var54.\n                                  super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                  ._M_cur + 0xc) = uVar44;" (assignment_expression "*(uint *)((long)_Var54.\n                                  super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                  ._M_cur + 0xc) = uVar44" (pointer_expression "*(uint *)((long)_Var54.\n                                  super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                  ._M_cur + 0xc)" * (cast_expression "(uint *)((long)_Var54.\n                                  super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                  ._M_cur + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)_Var54.\n                                  super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                  ._M_cur + 0xc)" ( (comma_expression "(long)_Var54.\n                                  super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                  ._M_cur + 0xc" (binary_expression "(long)_Var54.\n                                  super__Node_iterator_base<std::pair<unsigned_int_const" (binary_expression "(long)_Var54.\n                                  super__Node_iterator_base<std" (cast_expression "(long)_Var54.\n                                  super__Node_iterator_base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "_Var54.\n                                  super__Node_iterator_base" identifier . field_identifier)) < identifier) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_unsigned_int>,_false>\n                                  ._M_cur + 0xc" (field_expression "_unsigned_int>,_false>\n                                  ._M_cur" (binary_expression "_unsigned_int>,_false" identifier > (ERROR "," ,) identifier) (ERROR ">" >) . field_identifier) + number_literal)) )))) = identifier) ;) (labeled_statement "std::string::swap((string *)pbVar47,(string *)_Var50._M_p);" statement_identifier : (ERROR ":" :) (labeled_statement "string::swap((string *)pbVar47,(string *)_Var50._M_p);" statement_identifier : (ERROR ":" :) (expression_statement "swap((string *)pbVar47,(string *)_Var50._M_p);" (call_expression "swap((string *)pbVar47,(string *)_Var50._M_p)" identifier (argument_list "((string *)pbVar47,(string *)_Var50._M_p)" ( (cast_expression "(string *)pbVar47" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(string *)_Var50._M_p" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "_Var50._M_p" identifier . field_identifier)) ))) ;))) (expression_statement "bVar57 = false;" (assignment_expression "bVar57 = false" identifier = false) ;) }) (else_clause "else {\n                  puVar11[uVar45] = uVar23;\n                  bVar57 = false;\n                }" else (compound_statement "{\n                  puVar11[uVar45] = uVar23;\n                  bVar57 = false;\n                }" { (expression_statement "puVar11[uVar45] = uVar23;" (assignment_expression "puVar11[uVar45] = uVar23" (subscript_expression "puVar11[uVar45]" identifier [ identifier ]) = identifier) ;) (expression_statement "bVar57 = false;" (assignment_expression "bVar57 = false" identifier = false) ;) }))) (goto_statement "goto joined_r0x00181835;" goto statement_identifier ;) })) (ERROR "pVar62.second.\n              super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>._M_cur =\n                   local_1f0.\n                   super__Node_iterator_base<std::" (comma_expression "pVar62.second.\n              super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>._M_cur =\n                   local_1f0.\n                   super__Node_iterator_base<std" (binary_expression "pVar62.second.\n              super__Node_iterator_base<std::pair<unsigned_int_const" (binary_expression "pVar62.second.\n              super__Node_iterator_base<std" (field_expression "pVar62.second.\n              super__Node_iterator_base" (field_expression "pVar62.second" identifier . field_identifier) . field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) , (assignment_expression "_unsigned_int>,_false>._M_cur =\n                   local_1f0.\n                   super__Node_iterator_base<std" (field_expression "_unsigned_int>,_false>._M_cur" (binary_expression "_unsigned_int>,_false" identifier > (ERROR "," ,) identifier) (ERROR ">" >) . field_identifier) = (binary_expression "local_1f0.\n                   super__Node_iterator_base<std" (field_expression "local_1f0.\n                   super__Node_iterator_base" identifier . field_identifier) < identifier))) : :) (expression_statement "pair<unsigned_int_const,_unsigned_int>,_false>.\n                   _M_cur;" (comma_expression "pair<unsigned_int_const,_unsigned_int>,_false>.\n                   _M_cur" (binary_expression "pair<unsigned_int_const" identifier < identifier) , (field_expression "_unsigned_int>,_false>.\n                   _M_cur" (binary_expression "_unsigned_int>,_false" identifier > (ERROR "," ,) identifier) (ERROR ">" >) . field_identifier)) ;) (expression_statement "pVar62.first.\n              super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>._M_cur =\n                   (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>)\n                   (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>)\n                   *(__node_type **)\n                    _Var54.\n                    super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>.\n                    _M_cur;" (comma_expression "pVar62.first.\n              super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>._M_cur =\n                   (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>)\n                   (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>)\n                   *(__node_type **)\n                    _Var54.\n                    super__Node_iterator_base<std" (binary_expression "pVar62.first.\n              super__Node_iterator_base<std::pair<unsigned_int_const" (binary_expression "pVar62.first.\n              super__Node_iterator_base<std" (field_expression "pVar62.first.\n              super__Node_iterator_base" (field_expression "pVar62.first" identifier . field_identifier) . field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) , (assignment_expression "_unsigned_int>,_false>._M_cur =\n                   (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>)\n                   (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>)\n                   *(__node_type **)\n                    _Var54.\n                    super__Node_iterator_base<std" (field_expression "_unsigned_int>,_false>._M_cur" (binary_expression "_unsigned_int>,_false" identifier > (ERROR "," ,) identifier) (ERROR ">" >) . field_identifier) = (binary_expression "(_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>)\n                   (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>)\n                   *(__node_type **)\n                    _Var54.\n                    super__Node_iterator_base<std" (binary_expression "(_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>)\n                   (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>)\n                   *(__node_type **)\n                    _Var54.\n                    super__Node_iterator_base" (call_expression "(_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>)\n                   (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>)" (parenthesized_expression "(_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>)" ( (comma_expression "_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false" (binary_expression "_Node_iterator_base<std::pair<unsigned_int_const" (binary_expression "_Node_iterator_base<std" identifier < identifier) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_unsigned_int>,_false" identifier > (ERROR "," ,) identifier)) (ERROR ">" >) )) (argument_list "(_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>)" ( (binary_expression "_Node_iterator_base<std::pair<unsigned_int_const" (binary_expression "_Node_iterator_base<std" identifier < identifier) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_unsigned_int>,_false" identifier > (ERROR "," ,) identifier) (ERROR ">" >) ))) * (cast_expression "(__node_type **)\n                    _Var54.\n                    super__Node_iterator_base" ( (type_descriptor "__node_type **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (field_expression "_Var54.\n                    super__Node_iterator_base" identifier . field_identifier))) < identifier))) (ERROR "::pair<unsigned_int_const,_unsigned_int>,_false>.\n                    _M_cur" : : identifier < identifier , identifier > , identifier > . identifier) ;) }) while (parenthesized_expression "(local_1f0.\n                     super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>.\n                     _M_cur != (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                )*(__node_type **)\n                                  _Var54.\n                                  super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                  ._M_cur)" ( (comma_expression "local_1f0.\n                     super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>.\n                     _M_cur != (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                )*(__node_type **)\n                                  _Var54.\n                                  super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                  ._M_cur" (binary_expression "local_1f0.\n                     super__Node_iterator_base<std::pair<unsigned_int_const" (binary_expression "local_1f0.\n                     super__Node_iterator_base<std" (field_expression "local_1f0.\n                     super__Node_iterator_base" identifier . field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) , (comma_expression "_unsigned_int>,_false>.\n                     _M_cur != (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                )*(__node_type **)\n                                  _Var54.\n                                  super__Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                  ._M_cur" (binary_expression "_unsigned_int>,_false>.\n                     _M_cur != (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                )*(__node_type **)\n                                  _Var54.\n                                  super__Node_iterator_base<std::pair<unsigned_int_const" (binary_expression "_unsigned_int>,_false>.\n                     _M_cur != (_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                )*(__node_type **)\n                                  _Var54.\n                                  super__Node_iterator_base<std" (field_expression "_unsigned_int>,_false>.\n                     _M_cur" (binary_expression "_unsigned_int>,_false" identifier > (ERROR "," ,) identifier) (ERROR ">" >) . field_identifier) != (binary_expression "(_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                )*(__node_type **)\n                                  _Var54.\n                                  super__Node_iterator_base<std" (binary_expression "(_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                )*(__node_type **)\n                                  _Var54.\n                                  super__Node_iterator_base" (parenthesized_expression "(_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false>\n                                )" ( (comma_expression "_Node_iterator_base<std::pair<unsigned_int_const,_unsigned_int>,_false" (binary_expression "_Node_iterator_base<std::pair<unsigned_int_const" (binary_expression "_Node_iterator_base<std" identifier < identifier) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_unsigned_int>,_false" identifier > (ERROR "," ,) identifier)) (ERROR ">" >) )) * (cast_expression "(__node_type **)\n                                  _Var54.\n                                  super__Node_iterator_base" ( (type_descriptor "__node_type **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (field_expression "_Var54.\n                                  super__Node_iterator_base" identifier . field_identifier))) < identifier)) (ERROR "::pair" : : identifier) < identifier) , (field_expression "_unsigned_int>,_false>\n                                  ._M_cur" (binary_expression "_unsigned_int>,_false" identifier > (ERROR "," ,) identifier) (ERROR ">" >) . field_identifier))) )) ;) })) (expression_statement "uVar16 = cksum;" (assignment_expression "uVar16 = cksum" identifier = identifier) ;) (expression_statement "p_Var35 = (__node_type *)operator_new(0x10);" (assignment_expression "p_Var35 = (__node_type *)operator_new(0x10)" identifier = (cast_expression "(__node_type *)operator_new(0x10)" ( (type_descriptor "__node_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0x10)" identifier (argument_list "(0x10)" ( number_literal ))))) ;) (expression_statement "(p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n          _M_storage._M_storage.__align = (anon_struct_4_0_00000001_for___align)uVar16;" (assignment_expression "(p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n          _M_storage._M_storage.__align = (anon_struct_4_0_00000001_for___align)uVar16" (field_expression "(p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n          _M_storage._M_storage.__align" (field_expression "(p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n          _M_storage._M_storage" (field_expression "(p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n          _M_storage" (parenthesized_expression "(p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>)" ( (comma_expression "p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_" (binary_expression "p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const" (binary_expression "p_Var35->super__Hash_node_value_base<std" (field_expression "p_Var35->super__Hash_node_value_base" identifier -> field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_unsigned_int>_" identifier > identifier)) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(anon_struct_4_0_00000001_for___align)uVar16" ( (type_descriptor "anon_struct_4_0_00000001_for___align" type_identifier) ) identifier)) ;) (expression_statement "(p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n          super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;" (assignment_expression "(p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n          super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0" (field_expression "(p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n          super__Hash_node_base._M_nxt" (field_expression "(p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>).\n          super__Hash_node_base" (parenthesized_expression "(p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>)" ( (comma_expression "p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_" (binary_expression "p_Var35->super__Hash_node_value_base<std::pair<unsigned_int_const" (binary_expression "p_Var35->super__Hash_node_value_base<std" (field_expression "p_Var35->super__Hash_node_value_base" identifier -> field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_unsigned_int>_" identifier > identifier)) (ERROR ">" >) )) . field_identifier) . field_identifier) = (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(uint *)((long)&(p_Var35->\n                           super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>\n                           )._M_storage._M_storage + 4) = uVar44;" (assignment_expression "*(uint *)((long)&(p_Var35->\n                           super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>\n                           )._M_storage._M_storage + 4) = uVar44" (pointer_expression "*(uint *)((long)&(p_Var35->\n                           super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>\n                           )._M_storage._M_storage + 4)" * (cast_expression "(uint *)((long)&(p_Var35->\n                           super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>\n                           )._M_storage._M_storage + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&(p_Var35->\n                           super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>\n                           )._M_storage._M_storage + 4)" ( (binary_expression "(long)&(p_Var35->\n                           super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>\n                           )._M_storage._M_storage + 4" (cast_expression "(long)&(p_Var35->\n                           super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>\n                           )._M_storage._M_storage" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&(p_Var35->\n                           super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>\n                           )._M_storage._M_storage" & (field_expression "(p_Var35->\n                           super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>\n                           )._M_storage._M_storage" (field_expression "(p_Var35->\n                           super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>\n                           )._M_storage" (parenthesized_expression "(p_Var35->\n                           super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_>\n                           )" ( (comma_expression "p_Var35->\n                           super__Hash_node_value_base<std::pair<unsigned_int_const,_unsigned_int>_" (binary_expression "p_Var35->\n                           super__Hash_node_value_base<std::pair<unsigned_int_const" (binary_expression "p_Var35->\n                           super__Hash_node_value_base<std" (field_expression "p_Var35->\n                           super__Hash_node_value_base" identifier -> field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_unsigned_int>_" identifier > identifier)) (ERROR ">" >) )) . field_identifier) . field_identifier))) + number_literal) )))) = identifier) ;) (ERROR "std::\n          _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (comma_expression "std::\n          _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std" identifier (ERROR "::\n          _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>" : : (comma_expression "_Hashtable<unsigned_int,_std" (binary_expression "_Hashtable<unsigned_int" identifier < identifier) , identifier) : : (comma_expression "pair<unsigned_int_const,_unsigned_int>,_std" (binary_expression "pair<unsigned_int_const" identifier < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<unsigned_int_const,_unsigned_int>_>,_std" (binary_expression "pair<unsigned_int_const" identifier < identifier) , (binary_expression "_unsigned_int>_>,_std" (binary_expression "_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier)) : : (comma_expression "__detail::_Select1st,_std::equal_to<unsigned_int>,_std" identifier (ERROR "::_Select1st,_std::equal_to<unsigned_int>" : : (comma_expression "_Select1st,_std" identifier , identifier) : : (binary_expression "equal_to<unsigned_int" identifier < identifier) >) , identifier) : : (binary_expression "hash<unsigned_int" identifier < identifier) >) , identifier) : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : :) (expression_statement "_Hashtable_traits<false,_false,_false>_>\n          ::_M_insert_multi_node(&section_cksum._M_h,(__node_type *)0x0,(ulong)uVar16,p_Var35);" (comma_expression "_Hashtable_traits<false,_false,_false>_>\n          ::_M_insert_multi_node(&section_cksum._M_h,(__node_type *)0x0,(ulong)uVar16,p_Var35)" (binary_expression "_Hashtable_traits<false" identifier < false) , (comma_expression "_false,_false>_>\n          ::_M_insert_multi_node(&section_cksum._M_h,(__node_type *)0x0,(ulong)uVar16,p_Var35)" identifier , (binary_expression "_false>_>\n          ::_M_insert_multi_node(&section_cksum._M_h,(__node_type *)0x0,(ulong)uVar16,p_Var35)" (binary_expression "_false>_" identifier > identifier) > (ERROR "::" : :) (call_expression "_M_insert_multi_node(&section_cksum._M_h,(__node_type *)0x0,(ulong)uVar16,p_Var35)" identifier (argument_list "(&section_cksum._M_h,(__node_type *)0x0,(ulong)uVar16,p_Var35)" ( (pointer_expression "&section_cksum._M_h" & (field_expression "section_cksum._M_h" identifier . field_identifier)) , (cast_expression "(__node_type *)0x0" ( (type_descriptor "__node_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , (cast_expression "(ulong)uVar16" ( (type_descriptor "ulong" type_identifier) ) identifier) , identifier )))))) ;) }))) (expression_statement "_Var50._M_p = (pointer)&this_secn_contents;" (assignment_expression "_Var50._M_p = (pointer)&this_secn_contents" (field_expression "_Var50._M_p" identifier . field_identifier) = (binary_expression "(pointer)&this_secn_contents" (parenthesized_expression "(pointer)" ( identifier )) & identifier)) ;) (labeled_statement "std::string::_M_assign\n                  ((string *)\n                   (full_section_contents.\n                    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                    ._M_impl._M_start + uVar45),(string *)&this_secn_contents);" statement_identifier : (ERROR ":" :) (labeled_statement "string::_M_assign\n                  ((string *)\n                   (full_section_contents.\n                    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                    ._M_impl._M_start + uVar45),(string *)&this_secn_contents);" statement_identifier : (ERROR ":" :) (expression_statement "_M_assign\n                  ((string *)\n                   (full_section_contents.\n                    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                    ._M_impl._M_start + uVar45),(string *)&this_secn_contents);" (call_expression "_M_assign\n                  ((string *)\n                   (full_section_contents.\n                    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                    ._M_impl._M_start + uVar45),(string *)&this_secn_contents)" identifier (argument_list "((string *)\n                   (full_section_contents.\n                    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                    ._M_impl._M_start + uVar45),(string *)&this_secn_contents)" ( (cast_expression "(string *)\n                   (full_section_contents.\n                    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                    ._M_impl._M_start + uVar45)" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(full_section_contents.\n                    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                    ._M_impl._M_start + uVar45)" ( (ERROR "full_section_contents.\n                    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (comma_expression "full_section_contents.\n                    super__Vector_base<std::__cxx11::basic_string<char,_std" (binary_expression "full_section_contents.\n                    super__Vector_base<std::__cxx11::basic_string<char" (binary_expression "full_section_contents.\n                    super__Vector_base<std" (field_expression "full_section_contents.\n                    super__Vector_base" identifier . field_identifier) < identifier) (ERROR "::__cxx11::basic_string" : : identifier : : identifier) < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "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>_>_>_>\n                    ._M_impl._M_start + uVar45" (field_expression "allocator<char>_>_>_>\n                    ._M_impl._M_start" (field_expression "allocator<char>_>_>_>\n                    ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) + identifier) ))) , (cast_expression "(string *)&this_secn_contents" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this_secn_contents" & identifier)) ))) ;))) (labeled_statement "joined_r0x00181835:\n        if ((uVar4 == 1) && (local_1d8[uVar45] == 0)) {\n          is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n          super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar45 >> 6] =\n               is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n               super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar45 >> 6] | uVar41\n          ;\n        }" statement_identifier : (if_statement "if ((uVar4 == 1) && (local_1d8[uVar45] == 0)) {\n          is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n          super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar45 >> 6] =\n               is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n               super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar45 >> 6] | uVar41\n          ;\n        }" if (parenthesized_expression "((uVar4 == 1) && (local_1d8[uVar45] == 0))" ( (binary_expression "(uVar4 == 1) && (local_1d8[uVar45] == 0)" (parenthesized_expression "(uVar4 == 1)" ( (binary_expression "uVar4 == 1" identifier == number_literal) )) && (parenthesized_expression "(local_1d8[uVar45] == 0)" ( (binary_expression "local_1d8[uVar45] == 0" (subscript_expression "local_1d8[uVar45]" identifier [ identifier ]) == number_literal) ))) )) (compound_statement "{\n          is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n          super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar45 >> 6] =\n               is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n               super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar45 >> 6] | uVar41\n          ;\n        }" { (expression_statement "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n          super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar45 >> 6] =\n               is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n               super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar45 >> 6] | uVar41\n          ;" (binary_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n          super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar45 >> 6] =\n               is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n               super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar45 >> 6] | uVar41" (subscript_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n          super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar45 >> 6] =\n               is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n               super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar45 >> 6]" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n          super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar45 >> 6] =\n               is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n               super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n          super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar45 >> 6] =\n               is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n               super__Bvector_impl_data._M_start.super__Bit_iterator_base" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n          super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar45 >> 6] =\n               is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n               super__Bvector_impl_data._M_start" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n          super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar45 >> 6] =\n               is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n               super__Bvector_impl_data" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n          super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar45 >> 6] =\n               is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl" (binary_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n          super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar45 >> 6] =\n               is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_" (binary_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n          super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar45 >> 6] =\n               is_secn_or_group_unique.super__Bvector_base<std::allocator<bool" (assignment_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n          super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar45 >> 6] =\n               is_secn_or_group_unique.super__Bvector_base<std" (subscript_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n          super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar45 >> 6]" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n          super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n          super__Bvector_impl_data._M_start.super__Bit_iterator_base" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n          super__Bvector_impl_data._M_start" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n          super__Bvector_impl_data" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl" (binary_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_" (binary_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool" (binary_expression "is_secn_or_group_unique.super__Bvector_base<std" (field_expression "is_secn_or_group_unique.super__Bvector_base" identifier . field_identifier) < identifier) (ERROR "::allocator" : : identifier) < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) [ (binary_expression "uVar45 >> 6" identifier >> number_literal) ]) = (binary_expression "is_secn_or_group_unique.super__Bvector_base<std" (field_expression "is_secn_or_group_unique.super__Bvector_base" identifier . field_identifier) < identifier)) (ERROR "::allocator" : : identifier) < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) [ (binary_expression "uVar45 >> 6" identifier >> number_literal) ]) | identifier) ;) }))) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)this_secn_contents._M_dataplus._M_p != paVar33) {\n          operator_delete(this_secn_contents._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             *)this_secn_contents._M_dataplus._M_p != paVar33)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)this_secn_contents._M_dataplus._M_p != paVar33)" ( (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             *)this_secn_contents._M_dataplus._M_p != paVar33" (binary_expression "allocator<char>_>_9\n             *)this_secn_contents._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n             *)this_secn_contents._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "this_secn_contents._M_dataplus._M_p" (field_expression "this_secn_contents._M_dataplus" identifier . field_identifier) . field_identifier))) != identifier) )) )) (compound_statement "{\n          operator_delete(this_secn_contents._M_dataplus._M_p);\n        }" { (expression_statement "operator_delete(this_secn_contents._M_dataplus._M_p);" (call_expression "operator_delete(this_secn_contents._M_dataplus._M_p)" identifier (argument_list "(this_secn_contents._M_dataplus._M_p)" ( (field_expression "this_secn_contents._M_dataplus._M_p" (field_expression "this_secn_contents._M_dataplus" identifier . field_identifier) . field_identifier) ))) ;) })) (expression_statement "ppVar40 = (this->id_section_).\n                  super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                  ._M_impl._M_start;" (field_expression "ppVar40 = (this->id_section_).\n                  super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                  ._M_impl._M_start" (field_expression "ppVar40 = (this->id_section_).\n                  super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                  ._M_impl" (binary_expression "ppVar40 = (this->id_section_).\n                  super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_" (binary_expression "ppVar40 = (this->id_section_).\n                  super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_" (binary_expression "ppVar40 = (this->id_section_).\n                  super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "ppVar40 = (this->id_section_).\n                  super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold" (binary_expression "ppVar40 = (this->id_section_).\n                  super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std" (binary_expression "ppVar40 = (this->id_section_).\n                  super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std" (binary_expression "ppVar40 = (this->id_section_).\n                  super__Vector_base<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "ppVar40 = (this->id_section_).\n                  super__Vector_base<std::pair<gold" (assignment_expression "ppVar40 = (this->id_section_).\n                  super__Vector_base<std" identifier = (binary_expression "(this->id_section_).\n                  super__Vector_base<std" (field_expression "(this->id_section_).\n                  super__Vector_base" (parenthesized_expression "(this->id_section_)" ( (field_expression "this->id_section_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) })) (labeled_statement "LAB_001813c8:\n      pbVar15 = full_section_contents.\n                super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                ._M_impl._M_finish;" statement_identifier : (ERROR "pbVar15 = full_section_contents.\n                super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (assignment_expression "pbVar15 = full_section_contents.\n                super__Vector_base<std" identifier = (binary_expression "full_section_contents.\n                super__Vector_base<std" (field_expression "full_section_contents.\n                super__Vector_base" identifier . field_identifier) < identifier)) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>\n                ._M_impl._M_finish;" (field_expression "allocator<char>_>_>_>\n                ._M_impl._M_finish" (field_expression "allocator<char>_>_>_>\n                ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;)) (expression_statement "uVar44 = uVar44 + 1;" (assignment_expression "uVar44 = uVar44 + 1" identifier = (binary_expression "uVar44 + 1" identifier + number_literal)) ;) (expression_statement "uVar45 = (ulong)uVar44;" (assignment_expression "uVar45 = (ulong)uVar44" identifier = (cast_expression "(ulong)uVar44" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "uVar41 = (long)(this->id_section_).\n                     super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                     ._M_impl._M_finish - (long)ppVar40 >> 4;" (binary_expression "uVar41 = (long)(this->id_section_).\n                     super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                     ._M_impl._M_finish - (long)ppVar40 >> 4" (binary_expression "uVar41 = (long)(this->id_section_).\n                     super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                     ._M_impl._M_finish - (long)ppVar40" (field_expression "uVar41 = (long)(this->id_section_).\n                     super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                     ._M_impl._M_finish" (field_expression "uVar41 = (long)(this->id_section_).\n                     super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                     ._M_impl" (binary_expression "uVar41 = (long)(this->id_section_).\n                     super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_" (binary_expression "uVar41 = (long)(this->id_section_).\n                     super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_" (binary_expression "uVar41 = (long)(this->id_section_).\n                     super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "uVar41 = (long)(this->id_section_).\n                     super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold" (binary_expression "uVar41 = (long)(this->id_section_).\n                     super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std" (binary_expression "uVar41 = (long)(this->id_section_).\n                     super__Vector_base<std::pair<gold::Relobj*,_unsigned_int>,_std" (binary_expression "uVar41 = (long)(this->id_section_).\n                     super__Vector_base<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "uVar41 = (long)(this->id_section_).\n                     super__Vector_base<std::pair<gold" (assignment_expression "uVar41 = (long)(this->id_section_).\n                     super__Vector_base<std" identifier = (binary_expression "(long)(this->id_section_).\n                     super__Vector_base<std" (cast_expression "(long)(this->id_section_).\n                     super__Vector_base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "(this->id_section_).\n                     super__Vector_base" (parenthesized_expression "(this->id_section_)" ( (field_expression "this->id_section_" identifier -> field_identifier) )) . field_identifier)) < identifier)) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) - (cast_expression "(long)ppVar40" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) >> number_literal) ;) }) while (parenthesized_expression "(uVar45 < uVar41)" ( (binary_expression "uVar45 < uVar41" identifier < identifier) )) ;) (if_statement "if (uVar41 != 0) {\n      _Var50._M_p = (pointer)(this->kept_section_id_).\n                             super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl\n                             ._M_start;\n      uVar42 = 0;\n      uVar45 = uVar42;\n      do {\n        do {\n          uVar23 = (uint)uVar42;\n          uVar44 = *(uint *)((long)&(((string *)_Var50._M_p)->_M_dataplus)._M_p + uVar42 * 4);\n          uVar42 = (ulong)uVar44;\n        } while (uVar23 != uVar44);\n        puVar14 = (uint *)((long)&(((string *)_Var50._M_p)->_M_dataplus)._M_p + uVar45 * 4);\n        uVar23 = *puVar14;\n        while (uVar23 != uVar44) {\n          *puVar14 = uVar44;\n          puVar14 = (uint *)((long)&(((string *)_Var50._M_p)->_M_dataplus)._M_p + (ulong)uVar23 * 4)\n          ;\n          uVar23 = *puVar14;\n        }\n        uVar42 = (ulong)((int)uVar45 + 1);\n        uVar45 = uVar42;\n      } while (uVar42 < uVar41);\n    }" if (parenthesized_expression "(uVar41 != 0)" ( (binary_expression "uVar41 != 0" identifier != number_literal) )) (compound_statement "{\n      _Var50._M_p = (pointer)(this->kept_section_id_).\n                             super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl\n                             ._M_start;\n      uVar42 = 0;\n      uVar45 = uVar42;\n      do {\n        do {\n          uVar23 = (uint)uVar42;\n          uVar44 = *(uint *)((long)&(((string *)_Var50._M_p)->_M_dataplus)._M_p + uVar42 * 4);\n          uVar42 = (ulong)uVar44;\n        } while (uVar23 != uVar44);\n        puVar14 = (uint *)((long)&(((string *)_Var50._M_p)->_M_dataplus)._M_p + uVar45 * 4);\n        uVar23 = *puVar14;\n        while (uVar23 != uVar44) {\n          *puVar14 = uVar44;\n          puVar14 = (uint *)((long)&(((string *)_Var50._M_p)->_M_dataplus)._M_p + (ulong)uVar23 * 4)\n          ;\n          uVar23 = *puVar14;\n        }\n        uVar42 = (ulong)((int)uVar45 + 1);\n        uVar45 = uVar42;\n      } while (uVar42 < uVar41);\n    }" { (ERROR "_Var50._M_p = (pointer)(this->kept_section_id_).\n                             super__Vector_base<unsigned_int,_std::" (comma_expression "_Var50._M_p = (pointer)(this->kept_section_id_).\n                             super__Vector_base<unsigned_int,_std" (assignment_expression "_Var50._M_p = (pointer)(this->kept_section_id_).\n                             super__Vector_base<unsigned_int" (field_expression "_Var50._M_p" identifier . field_identifier) = (binary_expression "(pointer)(this->kept_section_id_).\n                             super__Vector_base<unsigned_int" (field_expression "(pointer)(this->kept_section_id_).\n                             super__Vector_base" (call_expression "(pointer)(this->kept_section_id_)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "(this->kept_section_id_)" ( (field_expression "this->kept_section_id_" identifier -> field_identifier) ))) . field_identifier) < identifier)) , identifier) : :) (expression_statement "allocator<unsigned_int>_>._M_impl\n                             ._M_start;" (field_expression "allocator<unsigned_int>_>._M_impl\n                             ._M_start" (field_expression "allocator<unsigned_int>_>._M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (expression_statement "uVar42 = 0;" (assignment_expression "uVar42 = 0" identifier = number_literal) ;) (expression_statement "uVar45 = uVar42;" (assignment_expression "uVar45 = uVar42" identifier = identifier) ;) (do_statement "do {\n        do {\n          uVar23 = (uint)uVar42;\n          uVar44 = *(uint *)((long)&(((string *)_Var50._M_p)->_M_dataplus)._M_p + uVar42 * 4);\n          uVar42 = (ulong)uVar44;\n        } while (uVar23 != uVar44);\n        puVar14 = (uint *)((long)&(((string *)_Var50._M_p)->_M_dataplus)._M_p + uVar45 * 4);\n        uVar23 = *puVar14;\n        while (uVar23 != uVar44) {\n          *puVar14 = uVar44;\n          puVar14 = (uint *)((long)&(((string *)_Var50._M_p)->_M_dataplus)._M_p + (ulong)uVar23 * 4)\n          ;\n          uVar23 = *puVar14;\n        }\n        uVar42 = (ulong)((int)uVar45 + 1);\n        uVar45 = uVar42;\n      } while (uVar42 < uVar41);" do (compound_statement "{\n        do {\n          uVar23 = (uint)uVar42;\n          uVar44 = *(uint *)((long)&(((string *)_Var50._M_p)->_M_dataplus)._M_p + uVar42 * 4);\n          uVar42 = (ulong)uVar44;\n        } while (uVar23 != uVar44);\n        puVar14 = (uint *)((long)&(((string *)_Var50._M_p)->_M_dataplus)._M_p + uVar45 * 4);\n        uVar23 = *puVar14;\n        while (uVar23 != uVar44) {\n          *puVar14 = uVar44;\n          puVar14 = (uint *)((long)&(((string *)_Var50._M_p)->_M_dataplus)._M_p + (ulong)uVar23 * 4)\n          ;\n          uVar23 = *puVar14;\n        }\n        uVar42 = (ulong)((int)uVar45 + 1);\n        uVar45 = uVar42;\n      }" { (do_statement "do {\n          uVar23 = (uint)uVar42;\n          uVar44 = *(uint *)((long)&(((string *)_Var50._M_p)->_M_dataplus)._M_p + uVar42 * 4);\n          uVar42 = (ulong)uVar44;\n        } while (uVar23 != uVar44);" do (compound_statement "{\n          uVar23 = (uint)uVar42;\n          uVar44 = *(uint *)((long)&(((string *)_Var50._M_p)->_M_dataplus)._M_p + uVar42 * 4);\n          uVar42 = (ulong)uVar44;\n        }" { (expression_statement "uVar23 = (uint)uVar42;" (assignment_expression "uVar23 = (uint)uVar42" identifier = (cast_expression "(uint)uVar42" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar44 = *(uint *)((long)&(((string *)_Var50._M_p)->_M_dataplus)._M_p + uVar42 * 4);" (assignment_expression "uVar44 = *(uint *)((long)&(((string *)_Var50._M_p)->_M_dataplus)._M_p + uVar42 * 4)" identifier = (pointer_expression "*(uint *)((long)&(((string *)_Var50._M_p)->_M_dataplus)._M_p + uVar42 * 4)" * (cast_expression "(uint *)((long)&(((string *)_Var50._M_p)->_M_dataplus)._M_p + uVar42 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&(((string *)_Var50._M_p)->_M_dataplus)._M_p + uVar42 * 4)" ( (binary_expression "(long)&(((string *)_Var50._M_p)->_M_dataplus)._M_p + uVar42 * 4" (cast_expression "(long)&(((string *)_Var50._M_p)->_M_dataplus)._M_p" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&(((string *)_Var50._M_p)->_M_dataplus)._M_p" & (field_expression "(((string *)_Var50._M_p)->_M_dataplus)._M_p" (parenthesized_expression "(((string *)_Var50._M_p)->_M_dataplus)" ( (field_expression "((string *)_Var50._M_p)->_M_dataplus" (parenthesized_expression "((string *)_Var50._M_p)" ( (cast_expression "(string *)_Var50._M_p" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "_Var50._M_p" identifier . field_identifier)) )) -> field_identifier) )) . field_identifier))) + (binary_expression "uVar42 * 4" identifier * number_literal)) ))))) ;) (expression_statement "uVar42 = (ulong)uVar44;" (assignment_expression "uVar42 = (ulong)uVar44" identifier = (cast_expression "(ulong)uVar44" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) }) while (parenthesized_expression "(uVar23 != uVar44)" ( (binary_expression "uVar23 != uVar44" identifier != identifier) )) ;) (expression_statement "puVar14 = (uint *)((long)&(((string *)_Var50._M_p)->_M_dataplus)._M_p + uVar45 * 4);" (assignment_expression "puVar14 = (uint *)((long)&(((string *)_Var50._M_p)->_M_dataplus)._M_p + uVar45 * 4)" identifier = (cast_expression "(uint *)((long)&(((string *)_Var50._M_p)->_M_dataplus)._M_p + uVar45 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&(((string *)_Var50._M_p)->_M_dataplus)._M_p + uVar45 * 4)" ( (binary_expression "(long)&(((string *)_Var50._M_p)->_M_dataplus)._M_p + uVar45 * 4" (cast_expression "(long)&(((string *)_Var50._M_p)->_M_dataplus)._M_p" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&(((string *)_Var50._M_p)->_M_dataplus)._M_p" & (field_expression "(((string *)_Var50._M_p)->_M_dataplus)._M_p" (parenthesized_expression "(((string *)_Var50._M_p)->_M_dataplus)" ( (field_expression "((string *)_Var50._M_p)->_M_dataplus" (parenthesized_expression "((string *)_Var50._M_p)" ( (cast_expression "(string *)_Var50._M_p" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "_Var50._M_p" identifier . field_identifier)) )) -> field_identifier) )) . field_identifier))) + (binary_expression "uVar45 * 4" identifier * number_literal)) )))) ;) (expression_statement "uVar23 = *puVar14;" (assignment_expression "uVar23 = *puVar14" identifier = (pointer_expression "*puVar14" * identifier)) ;) (while_statement "while (uVar23 != uVar44) {\n          *puVar14 = uVar44;\n          puVar14 = (uint *)((long)&(((string *)_Var50._M_p)->_M_dataplus)._M_p + (ulong)uVar23 * 4)\n          ;\n          uVar23 = *puVar14;\n        }" while (parenthesized_expression "(uVar23 != uVar44)" ( (binary_expression "uVar23 != uVar44" identifier != identifier) )) (compound_statement "{\n          *puVar14 = uVar44;\n          puVar14 = (uint *)((long)&(((string *)_Var50._M_p)->_M_dataplus)._M_p + (ulong)uVar23 * 4)\n          ;\n          uVar23 = *puVar14;\n        }" { (expression_statement "*puVar14 = uVar44;" (assignment_expression "*puVar14 = uVar44" (pointer_expression "*puVar14" * identifier) = identifier) ;) (expression_statement "puVar14 = (uint *)((long)&(((string *)_Var50._M_p)->_M_dataplus)._M_p + (ulong)uVar23 * 4)\n          ;" (assignment_expression "puVar14 = (uint *)((long)&(((string *)_Var50._M_p)->_M_dataplus)._M_p + (ulong)uVar23 * 4)" identifier = (cast_expression "(uint *)((long)&(((string *)_Var50._M_p)->_M_dataplus)._M_p + (ulong)uVar23 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&(((string *)_Var50._M_p)->_M_dataplus)._M_p + (ulong)uVar23 * 4)" ( (binary_expression "(long)&(((string *)_Var50._M_p)->_M_dataplus)._M_p + (ulong)uVar23 * 4" (cast_expression "(long)&(((string *)_Var50._M_p)->_M_dataplus)._M_p" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&(((string *)_Var50._M_p)->_M_dataplus)._M_p" & (field_expression "(((string *)_Var50._M_p)->_M_dataplus)._M_p" (parenthesized_expression "(((string *)_Var50._M_p)->_M_dataplus)" ( (field_expression "((string *)_Var50._M_p)->_M_dataplus" (parenthesized_expression "((string *)_Var50._M_p)" ( (cast_expression "(string *)_Var50._M_p" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "_Var50._M_p" identifier . field_identifier)) )) -> field_identifier) )) . field_identifier))) + (binary_expression "(ulong)uVar23 * 4" (cast_expression "(ulong)uVar23" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) )))) ;) (expression_statement "uVar23 = *puVar14;" (assignment_expression "uVar23 = *puVar14" identifier = (pointer_expression "*puVar14" * identifier)) ;) })) (expression_statement "uVar42 = (ulong)((int)uVar45 + 1);" (assignment_expression "uVar42 = (ulong)((int)uVar45 + 1)" identifier = (call_expression "(ulong)((int)uVar45 + 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((int)uVar45 + 1)" ( (binary_expression "(int)uVar45 + 1" (cast_expression "(int)uVar45" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "uVar45 = uVar42;" (assignment_expression "uVar45 = uVar42" identifier = identifier) ;) }) while (parenthesized_expression "(uVar42 < uVar41)" ( (binary_expression "uVar42 < uVar41" identifier < identifier) )) ;) })) (expression_statement "iVar24 = (int)_Var50._M_p;" (assignment_expression "iVar24 = (int)_Var50._M_p" identifier = (cast_expression "(int)_Var50._M_p" ( (type_descriptor "int" primitive_type) ) (field_expression "_Var50._M_p" identifier . field_identifier))) ;) (for_statement "for (pbVar47 = full_section_contents.\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   ._M_impl._M_start; pbVar47 != pbVar15; pbVar47 = pbVar47 + 1) {\n      pcVar12 = (pbVar47->_M_dataplus)._M_p;\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)pcVar12 != &pbVar47->field_2) {\n        operator_delete(pcVar12);\n      }\n      iVar24 = (int)_Var50._M_p;\n    }" for ( (ERROR "pbVar47 = full_section_contents.\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<" (comma_expression "pbVar47 = full_section_contents.\n                   super__Vector_base<std::__cxx11::basic_string<char,_std" (binary_expression "pbVar47 = full_section_contents.\n                   super__Vector_base<std::__cxx11::basic_string<char" (assignment_expression "pbVar47 = full_section_contents.\n                   super__Vector_base<std" identifier = (binary_expression "full_section_contents.\n                   super__Vector_base<std" (field_expression "full_section_contents.\n                   super__Vector_base" identifier . field_identifier) < identifier)) (ERROR "::__cxx11::basic_string" : : identifier : : identifier) < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : type_identifier (ERROR "::" : :) identifier < primitive_type (ERROR ",_std::" , identifier : :) identifier < primitive_type (ERROR ">,_std::" > , identifier : :) identifier <) (declaration "char>_>_>_>\n                   ._M_impl._M_start;" primitive_type (ERROR ">_>_>_>\n                   ._M_impl." > identifier > identifier > identifier > . identifier .) identifier ;) (binary_expression "pbVar47 != pbVar15" identifier != identifier) ; (assignment_expression "pbVar47 = pbVar47 + 1" identifier = (binary_expression "pbVar47 + 1" identifier + number_literal)) ) (compound_statement "{\n      pcVar12 = (pbVar47->_M_dataplus)._M_p;\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)pcVar12 != &pbVar47->field_2) {\n        operator_delete(pcVar12);\n      }\n      iVar24 = (int)_Var50._M_p;\n    }" { (expression_statement "pcVar12 = (pbVar47->_M_dataplus)._M_p;" (assignment_expression "pcVar12 = (pbVar47->_M_dataplus)._M_p" identifier = (field_expression "(pbVar47->_M_dataplus)._M_p" (parenthesized_expression "(pbVar47->_M_dataplus)" ( (field_expression "pbVar47->_M_dataplus" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)pcVar12 != &pbVar47->field_2) {\n        operator_delete(pcVar12);\n      }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)pcVar12 != &pbVar47->field_2)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)pcVar12 != &pbVar47->field_2)" ( (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           *)pcVar12 != &pbVar47->field_2" (binary_expression "allocator<char>_>_9\n           *)pcVar12" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n           *)pcVar12" identifier * (ERROR ")" )) identifier)) != (pointer_expression "&pbVar47->field_2" & (field_expression "pbVar47->field_2" identifier -> field_identifier))) )) )) (compound_statement "{\n        operator_delete(pcVar12);\n      }" { (expression_statement "operator_delete(pcVar12);" (call_expression "operator_delete(pcVar12)" identifier (argument_list "(pcVar12)" ( identifier ))) ;) })) (expression_statement "iVar24 = (int)_Var50._M_p;" (assignment_expression "iVar24 = (int)_Var50._M_p" identifier = (cast_expression "(int)_Var50._M_p" ( (type_descriptor "int" primitive_type) ) (field_expression "_Var50._M_p" identifier . field_identifier))) ;) })) (if_statement "if (full_section_contents.\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_start != (pointer)0x0) {\n      operator_delete(full_section_contents.\n                      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                      ._M_impl._M_start);\n    }" if (parenthesized_expression "(full_section_contents.\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_start != (pointer)0x0)" ( (ERROR "full_section_contents.\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (comma_expression "full_section_contents.\n        super__Vector_base<std::__cxx11::basic_string<char,_std" (binary_expression "full_section_contents.\n        super__Vector_base<std::__cxx11::basic_string<char" (binary_expression "full_section_contents.\n        super__Vector_base<std" (field_expression "full_section_contents.\n        super__Vector_base" identifier . field_identifier) < identifier) (ERROR "::__cxx11::basic_string" : : identifier : : identifier) < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "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>_>_>_>\n        ._M_impl._M_start != (pointer)0x0" (field_expression "allocator<char>_>_>_>\n        ._M_impl._M_start" (field_expression "allocator<char>_>_>_>\n        ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) != (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) )) (compound_statement "{\n      operator_delete(full_section_contents.\n                      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                      ._M_impl._M_start);\n    }" { (expression_statement "operator_delete(full_section_contents.\n                      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                      ._M_impl._M_start);" (call_expression "operator_delete(full_section_contents.\n                      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                      ._M_impl._M_start)" identifier (argument_list "(full_section_contents.\n                      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                      ._M_impl._M_start)" ( (binary_expression "full_section_contents.\n                      super__Vector_base<std::__cxx11::basic_string<char" (binary_expression "full_section_contents.\n                      super__Vector_base<std" (field_expression "full_section_contents.\n                      super__Vector_base" identifier . field_identifier) < identifier) (ERROR "::__cxx11::basic_string" : : identifier : : identifier) < identifier) , (ERROR "_std::" identifier : :) (binary_expression "char_traits<char" identifier < identifier) (ERROR ">" >) , (ERROR "_std::" identifier : :) (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) (ERROR ">" >) , (ERROR "_std::allocator<std::__cxx11::" identifier : : (binary_expression "allocator<std" identifier < identifier) : : identifier : :) (binary_expression "basic_string<char" identifier < identifier) , (ERROR "_std::" identifier : :) (binary_expression "char_traits<char" identifier < identifier) (ERROR ">" >) , (ERROR "_std::" identifier : :) (field_expression "allocator<char>_>_>_>\n                      ._M_impl._M_start" (field_expression "allocator<char>_>_>_>\n                      ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ))) ;) })) (ERROR "std::\n    _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (comma_expression "std::\n    _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std" identifier (ERROR "::\n    _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>" : : (comma_expression "_Hashtable<unsigned_int,_std" (binary_expression "_Hashtable<unsigned_int" identifier < identifier) , identifier) : : (comma_expression "pair<unsigned_int_const,_unsigned_int>,_std" (binary_expression "pair<unsigned_int_const" identifier < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<unsigned_int_const,_unsigned_int>_>,_std" (binary_expression "pair<unsigned_int_const" identifier < identifier) , (binary_expression "_unsigned_int>_>,_std" (binary_expression "_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier)) : : (comma_expression "__detail::_Select1st,_std::equal_to<unsigned_int>,_std" identifier (ERROR "::_Select1st,_std::equal_to<unsigned_int>" : : (comma_expression "_Select1st,_std" identifier , identifier) : : (binary_expression "equal_to<unsigned_int" identifier < identifier) >) , identifier) : : (binary_expression "hash<unsigned_int" identifier < identifier) >) , identifier) : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : :) (expression_statement "_Hashtable_traits<false,_false,_false>_>\n    ::~_Hashtable(&section_cksum._M_h,iVar24);" (comma_expression "_Hashtable_traits<false,_false,_false>_>\n    ::~_Hashtable(&section_cksum._M_h,iVar24)" (binary_expression "_Hashtable_traits<false" identifier < false) , (comma_expression "_false,_false>_>\n    ::~_Hashtable(&section_cksum._M_h,iVar24)" identifier , (binary_expression "_false>_>\n    ::~_Hashtable(&section_cksum._M_h,iVar24)" (binary_expression "_false>_" identifier > identifier) > (ERROR "::" : :) (unary_expression "~_Hashtable(&section_cksum._M_h,iVar24)" ~ (call_expression "_Hashtable(&section_cksum._M_h,iVar24)" identifier (argument_list "(&section_cksum._M_h,iVar24)" ( (pointer_expression "&section_cksum._M_h" & (field_expression "section_cksum._M_h" identifier . field_identifier)) , identifier ))))))) ;) }) while (parenthesized_expression "(uVar4 < uVar22 && !bVar57)" ( (binary_expression "uVar4 < uVar22 && !bVar57" (binary_expression "uVar4 < uVar22" identifier < identifier) && (unary_expression "!bVar57" ! identifier)) )) ;) (expression_statement "pcVar37 = program_name;" (assignment_expression "pcVar37 = program_name" identifier = identifier) ;) (expression_statement "pGVar25 = parameters->options_;" (assignment_expression "pGVar25 = parameters->options_" identifier = (field_expression "parameters->options_" identifier -> field_identifier)) ;) (if_statement "if (pGVar25 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n  }" if (parenthesized_expression "(pGVar25 == (General_options *)0x0)" ( (binary_expression "pGVar25 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n  }" { comment (expression_statement "do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" (call_expression "do_gold_unreachable("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (if_statement "if ((pGVar25->print_icf_sections_).value != false) {\n    pcVar53 = "%s: ICF Converged after %u iteration(s)";\n    if (!bVar57) {\n      pcVar53 = "%s: ICF stopped after %u iteration(s)";\n    }\n    pcVar53 = (char *)gettext(pcVar53);\n                    /* try { // try from 00181db6 to 00181de6 has its CatchHandler @ 00181f33 */\n    gold_info(pcVar53,pcVar37,uVar4);\n    pGVar25 = parameters->options_;\n    if (pGVar25 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n    }\n  }" if (parenthesized_expression "((pGVar25->print_icf_sections_).value != false)" ( (binary_expression "(pGVar25->print_icf_sections_).value != false" (field_expression "(pGVar25->print_icf_sections_).value" (parenthesized_expression "(pGVar25->print_icf_sections_)" ( (field_expression "pGVar25->print_icf_sections_" identifier -> field_identifier) )) . field_identifier) != false) )) (compound_statement "{\n    pcVar53 = "%s: ICF Converged after %u iteration(s)";\n    if (!bVar57) {\n      pcVar53 = "%s: ICF stopped after %u iteration(s)";\n    }\n    pcVar53 = (char *)gettext(pcVar53);\n                    /* try { // try from 00181db6 to 00181de6 has its CatchHandler @ 00181f33 */\n    gold_info(pcVar53,pcVar37,uVar4);\n    pGVar25 = parameters->options_;\n    if (pGVar25 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n    }\n  }" { (expression_statement "pcVar53 = "%s: ICF Converged after %u iteration(s)";" (assignment_expression "pcVar53 = "%s: ICF Converged after %u iteration(s)"" identifier = (string_literal ""%s: ICF Converged after %u iteration(s)"" " string_content ")) ;) (if_statement "if (!bVar57) {\n      pcVar53 = "%s: ICF stopped after %u iteration(s)";\n    }" if (parenthesized_expression "(!bVar57)" ( (unary_expression "!bVar57" ! identifier) )) (compound_statement "{\n      pcVar53 = "%s: ICF stopped after %u iteration(s)";\n    }" { (expression_statement "pcVar53 = "%s: ICF stopped after %u iteration(s)";" (assignment_expression "pcVar53 = "%s: ICF stopped after %u iteration(s)"" identifier = (string_literal ""%s: ICF stopped after %u iteration(s)"" " string_content ")) ;) })) (expression_statement "pcVar53 = (char *)gettext(pcVar53);" (assignment_expression "pcVar53 = (char *)gettext(pcVar53)" identifier = (cast_expression "(char *)gettext(pcVar53)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext(pcVar53)" identifier (argument_list "(pcVar53)" ( identifier ))))) ;) comment (expression_statement "gold_info(pcVar53,pcVar37,uVar4);" (call_expression "gold_info(pcVar53,pcVar37,uVar4)" identifier (argument_list "(pcVar53,pcVar37,uVar4)" ( identifier , identifier , identifier ))) ;) (expression_statement "pGVar25 = parameters->options_;" (assignment_expression "pGVar25 = parameters->options_" identifier = (field_expression "parameters->options_" identifier -> field_identifier)) ;) (if_statement "if (pGVar25 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n    }" if (parenthesized_expression "(pGVar25 == (General_options *)0x0)" ( (binary_expression "pGVar25 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n    }" { comment (expression_statement "do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" (call_expression "do_gold_unreachable("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) })) (expression_statement "p_Var26 = (pGVar25->keep_unique_).value._M_h._M_before_begin._M_nxt;" (assignment_expression "p_Var26 = (pGVar25->keep_unique_).value._M_h._M_before_begin._M_nxt" identifier = (field_expression "(pGVar25->keep_unique_).value._M_h._M_before_begin._M_nxt" (field_expression "(pGVar25->keep_unique_).value._M_h._M_before_begin" (field_expression "(pGVar25->keep_unique_).value._M_h" (field_expression "(pGVar25->keep_unique_).value" (parenthesized_expression "(pGVar25->keep_unique_)" ( (field_expression "pGVar25->keep_unique_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier)) ;) (ERROR "pbVar15 = section_contents.\n            super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (assignment_expression "pbVar15 = section_contents.\n            super__Vector_base<std" identifier = (binary_expression "section_contents.\n            super__Vector_base<std" (field_expression "section_contents.\n            super__Vector_base" identifier . field_identifier) < identifier)) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>\n            ._M_impl._M_finish;" (field_expression "allocator<char>_>_>_>\n            ._M_impl._M_finish" (field_expression "allocator<char>_>_>_>\n            ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (do_statement "do {\n    section_contents.\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n    ._M_impl._M_finish = pbVar15;\n    if (p_Var26 == (_Hash_node_base *)0x0) {\n      this->icf_ready_ = true;\n      for (pbVar47 = section_contents.\n                     super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                     ._M_impl._M_start; pbVar15 != pbVar47; pbVar47 = pbVar47 + 1) {\n        pcVar12 = (pbVar47->_M_dataplus)._M_p;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)pcVar12 != &pbVar47->field_2) {\n          operator_delete(pcVar12);\n        }\n      }\n      if (section_contents.\n          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n          ._M_impl._M_start != (pointer)0x0) {\n        operator_delete(section_contents.\n                        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                        ._M_impl._M_start);\n      }\n      if (is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n          super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p != (_Bit_type *)0x0) {\n        operator_delete(is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                        super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p);\n      }\n      if (section_addraligns.\n          super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl._M_start\n          != (pointer)0x0) {\n        operator_delete(section_addraligns.\n                        super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                        _M_impl._M_start);\n      }\n      if (local_1d8 != (undefined4 *)0x0) {\n        operator_delete(local_1d8);\n      }\n      return;\n    }\n    p_Var28 = p_Var26[1]._M_nxt;\n                    /* try { // try from 00181b61 to 00181b7f has its CatchHandler @ 00181f33 */\n    pSVar36 = Symbol_table::lookup(symtab,(char *)p_Var28,(char *)0x0);\n    if (pSVar36 == (Symbol *)0x0) {\n      pcVar37 = (char *)gettext("Could not find symbol %s to unfold\n");\n      gold_warning(pcVar37,p_Var28);\n    }\n    else if ((((pSVar36->field_0x3a & 7) == 0) &&\n             ((((Object *)((pSVar36->u1_).output_segment)->output_lists_)->field_0x3c & 1) == 0)) &&\n            ((pSVar36->field_0x3b & 0x20) != 0)) {\n      unfold_section(this,(Relobj *)(pSVar36->u1_).output_segment,(pSVar36->u2_).shndx);\n    }\n    p_Var26 = p_Var26->_M_nxt;\n    pbVar15 = section_contents.\n              super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              ._M_impl._M_finish;\n  } while (parameters->options_ != (General_options *)0x0);" do (compound_statement "{\n    section_contents.\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n    ._M_impl._M_finish = pbVar15;\n    if (p_Var26 == (_Hash_node_base *)0x0) {\n      this->icf_ready_ = true;\n      for (pbVar47 = section_contents.\n                     super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                     ._M_impl._M_start; pbVar15 != pbVar47; pbVar47 = pbVar47 + 1) {\n        pcVar12 = (pbVar47->_M_dataplus)._M_p;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)pcVar12 != &pbVar47->field_2) {\n          operator_delete(pcVar12);\n        }\n      }\n      if (section_contents.\n          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n          ._M_impl._M_start != (pointer)0x0) {\n        operator_delete(section_contents.\n                        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                        ._M_impl._M_start);\n      }\n      if (is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n          super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p != (_Bit_type *)0x0) {\n        operator_delete(is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                        super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p);\n      }\n      if (section_addraligns.\n          super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl._M_start\n          != (pointer)0x0) {\n        operator_delete(section_addraligns.\n                        super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                        _M_impl._M_start);\n      }\n      if (local_1d8 != (undefined4 *)0x0) {\n        operator_delete(local_1d8);\n      }\n      return;\n    }\n    p_Var28 = p_Var26[1]._M_nxt;\n                    /* try { // try from 00181b61 to 00181b7f has its CatchHandler @ 00181f33 */\n    pSVar36 = Symbol_table::lookup(symtab,(char *)p_Var28,(char *)0x0);\n    if (pSVar36 == (Symbol *)0x0) {\n      pcVar37 = (char *)gettext("Could not find symbol %s to unfold\n");\n      gold_warning(pcVar37,p_Var28);\n    }\n    else if ((((pSVar36->field_0x3a & 7) == 0) &&\n             ((((Object *)((pSVar36->u1_).output_segment)->output_lists_)->field_0x3c & 1) == 0)) &&\n            ((pSVar36->field_0x3b & 0x20) != 0)) {\n      unfold_section(this,(Relobj *)(pSVar36->u1_).output_segment,(pSVar36->u2_).shndx);\n    }\n    p_Var26 = p_Var26->_M_nxt;\n    pbVar15 = section_contents.\n              super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              ._M_impl._M_finish;\n  }" { (ERROR "section_contents.\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (binary_expression "section_contents.\n    super__Vector_base<std" (field_expression "section_contents.\n    super__Vector_base" identifier . field_identifier) < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>\n    ._M_impl._M_finish = pbVar15;" (assignment_expression "allocator<char>_>_>_>\n    ._M_impl._M_finish = pbVar15" (field_expression "allocator<char>_>_>_>\n    ._M_impl._M_finish" (field_expression "allocator<char>_>_>_>\n    ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = identifier) ;) (if_statement "if (p_Var26 == (_Hash_node_base *)0x0) {\n      this->icf_ready_ = true;\n      for (pbVar47 = section_contents.\n                     super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                     ._M_impl._M_start; pbVar15 != pbVar47; pbVar47 = pbVar47 + 1) {\n        pcVar12 = (pbVar47->_M_dataplus)._M_p;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)pcVar12 != &pbVar47->field_2) {\n          operator_delete(pcVar12);\n        }\n      }\n      if (section_contents.\n          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n          ._M_impl._M_start != (pointer)0x0) {\n        operator_delete(section_contents.\n                        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                        ._M_impl._M_start);\n      }\n      if (is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n          super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p != (_Bit_type *)0x0) {\n        operator_delete(is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                        super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p);\n      }\n      if (section_addraligns.\n          super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl._M_start\n          != (pointer)0x0) {\n        operator_delete(section_addraligns.\n                        super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                        _M_impl._M_start);\n      }\n      if (local_1d8 != (undefined4 *)0x0) {\n        operator_delete(local_1d8);\n      }\n      return;\n    }" if (parenthesized_expression "(p_Var26 == (_Hash_node_base *)0x0)" ( (binary_expression "p_Var26 == (_Hash_node_base *)0x0" identifier == (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      this->icf_ready_ = true;\n      for (pbVar47 = section_contents.\n                     super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                     ._M_impl._M_start; pbVar15 != pbVar47; pbVar47 = pbVar47 + 1) {\n        pcVar12 = (pbVar47->_M_dataplus)._M_p;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)pcVar12 != &pbVar47->field_2) {\n          operator_delete(pcVar12);\n        }\n      }\n      if (section_contents.\n          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n          ._M_impl._M_start != (pointer)0x0) {\n        operator_delete(section_contents.\n                        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                        ._M_impl._M_start);\n      }\n      if (is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n          super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p != (_Bit_type *)0x0) {\n        operator_delete(is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                        super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p);\n      }\n      if (section_addraligns.\n          super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl._M_start\n          != (pointer)0x0) {\n        operator_delete(section_addraligns.\n                        super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                        _M_impl._M_start);\n      }\n      if (local_1d8 != (undefined4 *)0x0) {\n        operator_delete(local_1d8);\n      }\n      return;\n    }" { (expression_statement "this->icf_ready_ = true;" (assignment_expression "this->icf_ready_ = true" (field_expression "this->icf_ready_" identifier -> field_identifier) = true) ;) (for_statement "for (pbVar47 = section_contents.\n                     super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                     ._M_impl._M_start; pbVar15 != pbVar47; pbVar47 = pbVar47 + 1) {\n        pcVar12 = (pbVar47->_M_dataplus)._M_p;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)pcVar12 != &pbVar47->field_2) {\n          operator_delete(pcVar12);\n        }\n      }" for ( (ERROR "pbVar47 = section_contents.\n                     super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<" (comma_expression "pbVar47 = section_contents.\n                     super__Vector_base<std::__cxx11::basic_string<char,_std" (binary_expression "pbVar47 = section_contents.\n                     super__Vector_base<std::__cxx11::basic_string<char" (assignment_expression "pbVar47 = section_contents.\n                     super__Vector_base<std" identifier = (binary_expression "section_contents.\n                     super__Vector_base<std" (field_expression "section_contents.\n                     super__Vector_base" identifier . field_identifier) < identifier)) (ERROR "::__cxx11::basic_string" : : identifier : : identifier) < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : type_identifier (ERROR "::" : :) identifier < primitive_type (ERROR ",_std::" , identifier : :) identifier < primitive_type (ERROR ">,_std::" > , identifier : :) identifier <) (declaration "char>_>_>_>\n                     ._M_impl._M_start;" primitive_type (ERROR ">_>_>_>\n                     ._M_impl." > identifier > identifier > identifier > . identifier .) identifier ;) (binary_expression "pbVar15 != pbVar47" identifier != identifier) ; (assignment_expression "pbVar47 = pbVar47 + 1" identifier = (binary_expression "pbVar47 + 1" identifier + number_literal)) ) (compound_statement "{\n        pcVar12 = (pbVar47->_M_dataplus)._M_p;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)pcVar12 != &pbVar47->field_2) {\n          operator_delete(pcVar12);\n        }\n      }" { (expression_statement "pcVar12 = (pbVar47->_M_dataplus)._M_p;" (assignment_expression "pcVar12 = (pbVar47->_M_dataplus)._M_p" identifier = (field_expression "(pbVar47->_M_dataplus)._M_p" (parenthesized_expression "(pbVar47->_M_dataplus)" ( (field_expression "pbVar47->_M_dataplus" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)pcVar12 != &pbVar47->field_2) {\n          operator_delete(pcVar12);\n        }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)pcVar12 != &pbVar47->field_2)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)pcVar12 != &pbVar47->field_2)" ( (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             *)pcVar12 != &pbVar47->field_2" (binary_expression "allocator<char>_>_9\n             *)pcVar12" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n             *)pcVar12" identifier * (ERROR ")" )) identifier)) != (pointer_expression "&pbVar47->field_2" & (field_expression "pbVar47->field_2" identifier -> field_identifier))) )) )) (compound_statement "{\n          operator_delete(pcVar12);\n        }" { (expression_statement "operator_delete(pcVar12);" (call_expression "operator_delete(pcVar12)" identifier (argument_list "(pcVar12)" ( identifier ))) ;) })) })) (if_statement "if (section_contents.\n          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n          ._M_impl._M_start != (pointer)0x0) {\n        operator_delete(section_contents.\n                        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                        ._M_impl._M_start);\n      }" if (parenthesized_expression "(section_contents.\n          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n          ._M_impl._M_start != (pointer)0x0)" ( (ERROR "section_contents.\n          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (comma_expression "section_contents.\n          super__Vector_base<std::__cxx11::basic_string<char,_std" (binary_expression "section_contents.\n          super__Vector_base<std::__cxx11::basic_string<char" (binary_expression "section_contents.\n          super__Vector_base<std" (field_expression "section_contents.\n          super__Vector_base" identifier . field_identifier) < identifier) (ERROR "::__cxx11::basic_string" : : identifier : : identifier) < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "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>_>_>_>\n          ._M_impl._M_start != (pointer)0x0" (field_expression "allocator<char>_>_>_>\n          ._M_impl._M_start" (field_expression "allocator<char>_>_>_>\n          ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) != (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) )) (compound_statement "{\n        operator_delete(section_contents.\n                        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                        ._M_impl._M_start);\n      }" { (expression_statement "operator_delete(section_contents.\n                        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                        ._M_impl._M_start);" (call_expression "operator_delete(section_contents.\n                        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                        ._M_impl._M_start)" identifier (argument_list "(section_contents.\n                        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                        ._M_impl._M_start)" ( (binary_expression "section_contents.\n                        super__Vector_base<std::__cxx11::basic_string<char" (binary_expression "section_contents.\n                        super__Vector_base<std" (field_expression "section_contents.\n                        super__Vector_base" identifier . field_identifier) < identifier) (ERROR "::__cxx11::basic_string" : : identifier : : identifier) < identifier) , (ERROR "_std::" identifier : :) (binary_expression "char_traits<char" identifier < identifier) (ERROR ">" >) , (ERROR "_std::" identifier : :) (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) (ERROR ">" >) , (ERROR "_std::allocator<std::__cxx11::" identifier : : (binary_expression "allocator<std" identifier < identifier) : : identifier : :) (binary_expression "basic_string<char" identifier < identifier) , (ERROR "_std::" identifier : :) (binary_expression "char_traits<char" identifier < identifier) (ERROR ">" >) , (ERROR "_std::" identifier : :) (field_expression "allocator<char>_>_>_>\n                        ._M_impl._M_start" (field_expression "allocator<char>_>_>_>\n                        ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ))) ;) })) (if_statement "if (is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n          super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p != (_Bit_type *)0x0) {\n        operator_delete(is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                        super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p);\n      }" if (parenthesized_expression "(is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n          super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p != (_Bit_type *)0x0)" ( (binary_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n          super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p != (_Bit_type *)0x0" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n          super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n          super__Bvector_impl_data._M_start.super__Bit_iterator_base" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n          super__Bvector_impl_data._M_start" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n          super__Bvector_impl_data" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl" (binary_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_" (binary_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool" (binary_expression "is_secn_or_group_unique.super__Bvector_base<std" (field_expression "is_secn_or_group_unique.super__Bvector_base" identifier . field_identifier) < identifier) (ERROR "::allocator" : : identifier) < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) != (cast_expression "(_Bit_type *)0x0" ( (type_descriptor "_Bit_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        operator_delete(is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                        super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p);\n      }" { (expression_statement "operator_delete(is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                        super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p);" (call_expression "operator_delete(is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                        super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p)" identifier (argument_list "(is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                        super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p)" ( (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                        super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                        super__Bvector_impl_data._M_start.super__Bit_iterator_base" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                        super__Bvector_impl_data._M_start" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                        super__Bvector_impl_data" (field_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_>._M_impl" (binary_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool>_" (binary_expression "is_secn_or_group_unique.super__Bvector_base<std::allocator<bool" (binary_expression "is_secn_or_group_unique.super__Bvector_base<std" (field_expression "is_secn_or_group_unique.super__Bvector_base" identifier . field_identifier) < identifier) (ERROR "::allocator" : : identifier) < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) ))) ;) })) (if_statement "if (section_addraligns.\n          super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl._M_start\n          != (pointer)0x0) {\n        operator_delete(section_addraligns.\n                        super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                        _M_impl._M_start);\n      }" if (parenthesized_expression "(section_addraligns.\n          super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl._M_start\n          != (pointer)0x0)" ( (ERROR "section_addraligns.\n          super__Vector_base<long_unsigned_int,_std::" (comma_expression "section_addraligns.\n          super__Vector_base<long_unsigned_int,_std" (binary_expression "section_addraligns.\n          super__Vector_base<long_unsigned_int" (field_expression "section_addraligns.\n          super__Vector_base" identifier . field_identifier) < identifier) , identifier) : :) (binary_expression "allocator<long_unsigned_int>_>._M_impl._M_start\n          != (pointer)0x0" (field_expression "allocator<long_unsigned_int>_>._M_impl._M_start" (field_expression "allocator<long_unsigned_int>_>._M_impl" (binary_expression "allocator<long_unsigned_int>_" (binary_expression "allocator<long_unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) != (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) )) (compound_statement "{\n        operator_delete(section_addraligns.\n                        super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                        _M_impl._M_start);\n      }" { (expression_statement "operator_delete(section_addraligns.\n                        super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                        _M_impl._M_start);" (call_expression "operator_delete(section_addraligns.\n                        super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                        _M_impl._M_start)" identifier (argument_list "(section_addraligns.\n                        super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                        _M_impl._M_start)" ( (binary_expression "section_addraligns.\n                        super__Vector_base<long_unsigned_int" (field_expression "section_addraligns.\n                        super__Vector_base" identifier . field_identifier) < identifier) , (ERROR "_std::" identifier : :) (field_expression "allocator<long_unsigned_int>_>.\n                        _M_impl._M_start" (field_expression "allocator<long_unsigned_int>_>.\n                        _M_impl" (binary_expression "allocator<long_unsigned_int>_" (binary_expression "allocator<long_unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ))) ;) })) (if_statement "if (local_1d8 != (undefined4 *)0x0) {\n        operator_delete(local_1d8);\n      }" if (parenthesized_expression "(local_1d8 != (undefined4 *)0x0)" ( (binary_expression "local_1d8 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        operator_delete(local_1d8);\n      }" { (expression_statement "operator_delete(local_1d8);" (call_expression "operator_delete(local_1d8)" identifier (argument_list "(local_1d8)" ( identifier ))) ;) })) (return_statement "return;" return ;) })) (expression_statement "p_Var28 = p_Var26[1]._M_nxt;" (assignment_expression "p_Var28 = p_Var26[1]._M_nxt" identifier = (field_expression "p_Var26[1]._M_nxt" (subscript_expression "p_Var26[1]" identifier [ number_literal ]) . field_identifier)) ;) comment (ERROR "pSVar36 = Symbol_table::" (assignment_expression "pSVar36 = Symbol_table" identifier = identifier) : :) (expression_statement "lookup(symtab,(char *)p_Var28,(char *)0x0);" (call_expression "lookup(symtab,(char *)p_Var28,(char *)0x0)" identifier (argument_list "(symtab,(char *)p_Var28,(char *)0x0)" ( identifier , (cast_expression "(char *)p_Var28" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ))) ;) (if_statement "if (pSVar36 == (Symbol *)0x0) {\n      pcVar37 = (char *)gettext("Could not find symbol %s to unfold\n");\n      gold_warning(pcVar37,p_Var28);\n    }\n    else if ((((pSVar36->field_0x3a & 7) == 0) &&\n             ((((Object *)((pSVar36->u1_).output_segment)->output_lists_)->field_0x3c & 1) == 0)) &&\n            ((pSVar36->field_0x3b & 0x20) != 0)) {\n      unfold_section(this,(Relobj *)(pSVar36->u1_).output_segment,(pSVar36->u2_).shndx);\n    }" if (parenthesized_expression "(pSVar36 == (Symbol *)0x0)" ( (binary_expression "pSVar36 == (Symbol *)0x0" identifier == (cast_expression "(Symbol *)0x0" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pcVar37 = (char *)gettext("Could not find symbol %s to unfold\n");\n      gold_warning(pcVar37,p_Var28);\n    }" { (expression_statement "pcVar37 = (char *)gettext("Could not find symbol %s to unfold\n");" (assignment_expression "pcVar37 = (char *)gettext("Could not find symbol %s to unfold\n")" identifier = (cast_expression "(char *)gettext("Could not find symbol %s to unfold\n")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("Could not find symbol %s to unfold\n")" identifier (argument_list "("Could not find symbol %s to unfold\n")" ( (string_literal ""Could not find symbol %s to unfold\n"" " string_content escape_sequence ") ))))) ;) (expression_statement "gold_warning(pcVar37,p_Var28);" (call_expression "gold_warning(pcVar37,p_Var28)" identifier (argument_list "(pcVar37,p_Var28)" ( identifier , identifier ))) ;) }) (else_clause "else if ((((pSVar36->field_0x3a & 7) == 0) &&\n             ((((Object *)((pSVar36->u1_).output_segment)->output_lists_)->field_0x3c & 1) == 0)) &&\n            ((pSVar36->field_0x3b & 0x20) != 0)) {\n      unfold_section(this,(Relobj *)(pSVar36->u1_).output_segment,(pSVar36->u2_).shndx);\n    }" else (if_statement "if ((((pSVar36->field_0x3a & 7) == 0) &&\n             ((((Object *)((pSVar36->u1_).output_segment)->output_lists_)->field_0x3c & 1) == 0)) &&\n            ((pSVar36->field_0x3b & 0x20) != 0)) {\n      unfold_section(this,(Relobj *)(pSVar36->u1_).output_segment,(pSVar36->u2_).shndx);\n    }" if (parenthesized_expression "((((pSVar36->field_0x3a & 7) == 0) &&\n             ((((Object *)((pSVar36->u1_).output_segment)->output_lists_)->field_0x3c & 1) == 0)) &&\n            ((pSVar36->field_0x3b & 0x20) != 0))" ( (binary_expression "(((pSVar36->field_0x3a & 7) == 0) &&\n             ((((Object *)((pSVar36->u1_).output_segment)->output_lists_)->field_0x3c & 1) == 0)) &&\n            ((pSVar36->field_0x3b & 0x20) != 0)" (parenthesized_expression "(((pSVar36->field_0x3a & 7) == 0) &&\n             ((((Object *)((pSVar36->u1_).output_segment)->output_lists_)->field_0x3c & 1) == 0))" ( (binary_expression "((pSVar36->field_0x3a & 7) == 0) &&\n             ((((Object *)((pSVar36->u1_).output_segment)->output_lists_)->field_0x3c & 1) == 0)" (parenthesized_expression "((pSVar36->field_0x3a & 7) == 0)" ( (binary_expression "(pSVar36->field_0x3a & 7) == 0" (parenthesized_expression "(pSVar36->field_0x3a & 7)" ( (binary_expression "pSVar36->field_0x3a & 7" (field_expression "pSVar36->field_0x3a" identifier -> field_identifier) & number_literal) )) == number_literal) )) && (parenthesized_expression "((((Object *)((pSVar36->u1_).output_segment)->output_lists_)->field_0x3c & 1) == 0)" ( (binary_expression "(((Object *)((pSVar36->u1_).output_segment)->output_lists_)->field_0x3c & 1) == 0" (parenthesized_expression "(((Object *)((pSVar36->u1_).output_segment)->output_lists_)->field_0x3c & 1)" ( (binary_expression "((Object *)((pSVar36->u1_).output_segment)->output_lists_)->field_0x3c & 1" (field_expression "((Object *)((pSVar36->u1_).output_segment)->output_lists_)->field_0x3c" (parenthesized_expression "((Object *)((pSVar36->u1_).output_segment)->output_lists_)" ( (cast_expression "(Object *)((pSVar36->u1_).output_segment)->output_lists_" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "((pSVar36->u1_).output_segment)->output_lists_" (parenthesized_expression "((pSVar36->u1_).output_segment)" ( (field_expression "(pSVar36->u1_).output_segment" (parenthesized_expression "(pSVar36->u1_)" ( (field_expression "pSVar36->u1_" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier)) )) -> field_identifier) & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "((pSVar36->field_0x3b & 0x20) != 0)" ( (binary_expression "(pSVar36->field_0x3b & 0x20) != 0" (parenthesized_expression "(pSVar36->field_0x3b & 0x20)" ( (binary_expression "pSVar36->field_0x3b & 0x20" (field_expression "pSVar36->field_0x3b" identifier -> field_identifier) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n      unfold_section(this,(Relobj *)(pSVar36->u1_).output_segment,(pSVar36->u2_).shndx);\n    }" { (expression_statement "unfold_section(this,(Relobj *)(pSVar36->u1_).output_segment,(pSVar36->u2_).shndx);" (call_expression "unfold_section(this,(Relobj *)(pSVar36->u1_).output_segment,(pSVar36->u2_).shndx)" identifier (argument_list "(this,(Relobj *)(pSVar36->u1_).output_segment,(pSVar36->u2_).shndx)" ( identifier , (cast_expression "(Relobj *)(pSVar36->u1_).output_segment" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(pSVar36->u1_).output_segment" (parenthesized_expression "(pSVar36->u1_)" ( (field_expression "pSVar36->u1_" identifier -> field_identifier) )) . field_identifier)) , (field_expression "(pSVar36->u2_).shndx" (parenthesized_expression "(pSVar36->u2_)" ( (field_expression "pSVar36->u2_" identifier -> field_identifier) )) . field_identifier) ))) ;) })))) (expression_statement "p_Var26 = p_Var26->_M_nxt;" (assignment_expression "p_Var26 = p_Var26->_M_nxt" identifier = (field_expression "p_Var26->_M_nxt" identifier -> field_identifier)) ;) (ERROR "pbVar15 = section_contents.\n              super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (assignment_expression "pbVar15 = section_contents.\n              super__Vector_base<std" identifier = (binary_expression "section_contents.\n              super__Vector_base<std" (field_expression "section_contents.\n              super__Vector_base" identifier . field_identifier) < identifier)) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>\n              ._M_impl._M_finish;" (field_expression "allocator<char>_>_>_>\n              ._M_impl._M_finish" (field_expression "allocator<char>_>_>_>\n              ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) }) while (parenthesized_expression "(parameters->options_ != (General_options *)0x0)" ( (binary_expression "parameters->options_ != (General_options *)0x0" (field_expression "parameters->options_" identifier -> field_identifier) != (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) comment comment (expression_statement "do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" (call_expression "do_gold_unreachable("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })))
(translation_unit "void FUN_001808e0(long *param_1,long *param_2,long param_3)\n\n{\n  long *plVar1;\n  uint *puVar2;\n  uint uVar3;\n  long *plVar4;\n  int *piVar5;\n  long *plVar6;\n  int *__src;\n  undefined8 uVar7;\n  byte bVar8;\n  char cVar9;\n  int iVar10;\n  uint uVar11;\n  uint uVar12;\n  int iVar13;\n  long *plVar14;\n  long *plVar15;\n  byte *pbVar16;\n  void *__dest;\n  size_t sVar17;\n  undefined4 *__dest_00;\n  undefined8 *puVar18;\n  ulong *puVar19;\n  undefined8 uVar20;\n  long lVar21;\n  long *plVar22;\n  ulong extraout_RDX;\n  ulong uVar23;\n  ulong uVar24;\n  ulong uVar25;\n  uint uVar26;\n  int iVar27;\n  ulong uVar28;\n  long lVar29;\n  long *plVar30;\n  byte *pbVar31;\n  ulong *puVar32;\n  byte *pbVar33;\n  char *pcVar34;\n  undefined1 uVar35;\n  bool bVar36;\n  bool bVar37;\n  undefined1 uVar38;\n  bool bVar39;\n  byte bVar40;\n  undefined1 auVar41 [16];\n  long local_1e8;\n  undefined4 *local_1d8;\n  long local_1d0;\n  undefined4 *local_1c8;\n  undefined4 *local_1b0;\n  undefined8 **local_1a8;\n  ulong local_1a0;\n  uint local_18c;\n  ulong *local_188;\n  int local_180;\n  undefined4 uStack_17c;\n  undefined8 local_178;\n  undefined8 uStack_170;\n  long local_168;\n  undefined8 *local_160;\n  undefined8 *local_158;\n  long *local_148;\n  long *local_140;\n  undefined8 local_138;\n  long *local_128;\n  long *local_120;\n  undefined8 local_118;\n  ulong *local_108;\n  ulong local_100;\n  ulong local_f8 [2];\n  ulong *local_e8;\n  size_t local_e0;\n  ulong local_d8 [2];\n  ulong *local_c8;\n  size_t local_c0;\n  ulong local_b8 [2];\n  long local_a8;\n  undefined4 local_a0;\n  ulong *local_98;\n  int local_90;\n  ulong *local_88;\n  undefined8 *local_78;\n  ulong uStack_70;\n  undefined8 local_68;\n  undefined8 local_60;\n  undefined4 local_58;\n  undefined8 local_50;\n  undefined8 local_48 [3];\n  \n  bVar40 = 0;\n  plVar4 = *(long **)(PTR_DAT_0043e6b0 + 0x18);\n  local_168 = 0;\n  local_160 = (undefined8 *)0x0;\n  local_158 = (undefined8 *)0x0;\n  local_a8 = 0;\n  local_a0 = 0;\n  local_98 = (ulong *)0x0;\n  local_90 = 0;\n  local_88 = (ulong *)0x0;\n  local_148 = (long *)0x0;\n  local_140 = (long *)0x0;\n  local_138 = 0;\n  if (plVar4 == (long *)0x0) {\n                    \n                    \n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }\n  puVar19 = (ulong *)*param_2;\n  if (puVar19 == (ulong *)param_2[1]) {\n    local_1d8 = (undefined4 *)0x0;\n  }\n  else {\n    local_1c8 = (undefined4 *)0x0;\n    local_1b0 = (undefined4 *)0x0;\n    local_1d8 = (undefined4 *)0x0;\n    iVar13 = 0;\n    do {\n      plVar30 = (long *)*puVar19;\n      if (plVar30[5] == 0) {\n        plVar14 = plVar30;\n        if ((int)plVar30[7] != 0) goto LAB_00180a17;\n      }\n      else {\n                    \n        FUN_00179ad0(plVar30[5] + 0x28,0xffffffffffffffff);\n        plVar14 = (long *)*puVar19;\n        if ((int)((long *)*puVar19)[7] != 0) {\nLAB_00180a17:\n          uVar35 = false;\n          uVar28 = 0;\n          uVar38 = true;\n          do {\n            iVar27 = (int)uVar28;\n                    \n            (**(code **)(*plVar14 + 0x80))(&local_c8,plVar14,uVar28);\n            lVar21 = 5;\n            pbVar16 = (byte *)".text";\n            puVar32 = local_c8;\n            do {\n              if (lVar21 == 0) break;\n              lVar21 = lVar21 + -1;\n              uVar35 = *pbVar16 < (byte)*puVar32;\n              uVar38 = *pbVar16 == (byte)*puVar32;\n              pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n              puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n            } while ((bool)uVar38);\n            bVar36 = false;\n            bVar39 = (!(bool)uVar35 && !(bool)uVar38) == (bool)uVar35;\n            if (bVar39) {\nLAB_00180a28:\n              puVar18 = (undefined8 *)*puVar19;\n              if ((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28) {\n                    \n                    \n                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (*(long *)(puVar18[10] + uVar28 * 8) == 0) goto LAB_00180c96;\n              lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n              if (lVar21 == 0) {\n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(lVar21 + 0x2809) != '\0') {\n                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                local_78 = puVar18;\n                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);\n                if (lVar21 == 0) goto LAB_00180c96;\n                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar21 == 0) {\n                    \n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (*(int *)(lVar21 + 0x9050) == 2) {\n                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);\n                bVar36 = false;\n                bVar39 = pbVar16 == (byte *)0x0;\n                if (bVar39) {\n                    \n                    \n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar21 = 4;\n                pbVar31 = &DAT_00373305;\n                pbVar33 = pbVar16;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);\n                bVar37 = false;\n                bVar36 = (!bVar36 && !bVar39) == bVar36;\n                if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }\n                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = &local_78;\n              local_78 = (undefined8 *)*puVar19;\n              puVar32 = (ulong *)param_1[1];\n              if (puVar32 == (ulong *)param_1[2]) {\n                uStack_70._0_4_ = iVar27;\n                FUN_001825a0(param_1,puVar32,local_1a8);\n              }\n              else {\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }\n              local_78 = (undefined8 *)*puVar19;\n              uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n              uVar24 = (ulong)local_78 ^ uVar28;\n              local_1a0 = uVar24 % (ulong)param_1[4];\n              puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24);\n              if ((puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)) {\n                    \n                plVar14 = (long *)FUN_002d94a0(0x28);\n                lVar21 = param_1[6];\n                *plVar14 = 0;\n                lVar29 = param_1[4];\n                *(undefined4 *)(plVar14 + 3) = 0;\n                plVar14[1] = (long)local_78;\n                plVar14[2] = uStack_70;\n                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);\n                if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    \n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }\n                plVar14[4] = uVar24;\n                plVar22 = plVar15 + local_1a0;\n                if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }\n                param_1[6] = param_1[6] + 1;\n              }\n              piVar5 = (int *)param_1[0xb];\n              *(int *)(plVar14 + 3) = iVar13;\n              if (piVar5 == (int *)param_1[0xc]) {\n                __src = (int *)param_1[10];\n                sVar17 = (long)piVar5 - (long)__src;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }\n                *(int *)((long)__dest + sVar17) = iVar13;\n                lVar21 = (long)__dest + sVar17 + 4;\n                if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }\n                param_1[10] = (long)__dest;\n                param_1[0xb] = lVar21;\n                param_1[0xc] = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    \n              local_78 = (undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28);\n              if (local_160 == local_158) {\n                FUN_00182710(&local_168,local_160,local_1a8);\n              }\n              else {\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }\n              iVar10 = local_90;\n              puVar32 = local_98;\n              if (local_98 == local_88) {\n                local_180 = local_90;\n                local_188 = local_98;\n                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);\n              }\n              else {\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }\n              local_78 = &local_68;\n              FUN_001665c0(local_1a8,"");\n                    \n              FUN_0016f840(&local_148,local_1a8);\n              if (local_78 != &local_68) {\n                FUN_002dac70();\n              }\n              iVar13 = iVar13 + 1;\n              if (local_c8 != local_b8) goto LAB_00180c31;\n            }\n            else {\n              lVar21 = 0xf;\n              pbVar16 = (byte *)".gnu.linkonce.t";\n              puVar32 = local_c8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              } while (bVar39);\n              if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;\nLAB_00180c96:\n              if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }\n            }\n            plVar14 = (long *)*puVar19;\n            uVar26 = iVar27 + 1;\n            uVar28 = (ulong)uVar26;\n            uVar35 = uVar26 < *(uint *)(plVar14 + 7);\n            uVar38 = uVar26 == *(uint *)(plVar14 + 7);\n          } while ((bool)uVar35);\n        }\n        if (plVar30[5] != 0) {\n          FUN_0017a690(plVar30[5] + 0x28,0xffffffffffffffff);\n        }\n      }\n      puVar19 = puVar19 + 1;\n    } while ((ulong *)param_2[1] != puVar19);\n  }\n  if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }\n  uVar26 = 0;\n  uVar3 = *(uint *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2dac);\n  uVar11 = 2;\n  if (0 < (int)uVar3) {\n    uVar11 = uVar3;\n  }\n  do {\n    uVar26 = uVar26 + 1;\n    uStack_70 = 1;\n    local_78 = local_48;\n    local_68 = 0;\n    local_60 = 0;\n    local_58 = 0x3f800000;\n    local_50 = 0;\n    local_48[0] = 0;\n    if (uVar26 == 1) {\n                    \n      FUN_00180660(param_1,&local_a8,0);\n    }\n    else {\n                    \n      FUN_00180660(param_1,&local_a8,&local_148);\n    }\n    local_128 = (long *)0x0;\n    local_120 = (long *)0x0;\n    local_118 = 0;\n    if (param_1[1] == *param_1) {\n      FUN_00182070(&local_78);\n      bVar36 = true;\n      break;\n    }\n    uVar28 = 0;\n    bVar36 = true;\n    uVar3 = 0;\n    do {\n      local_c8 = local_b8;\n                    \n      FUN_001665c0(&local_c8,"");\n                    \n      FUN_0016f840(&local_128,&local_c8);\n      if (local_c8 != local_b8) {\n        FUN_002dac70();\n      }\n      local_1a0._0_1_ = (byte)uVar3;\n      uVar24 = 1L << ((byte)local_1a0 & 0x3f);\n      lVar21 = *param_1;\n      if ((uVar24 & *(ulong *)(local_a8 + (uVar28 >> 6) * 8)) == 0) {\n        puVar18 = (undefined8 *)(lVar21 + uVar28 * 0x10);\n        local_178 = *puVar18;\n        uStack_170 = puVar18[1];\n        local_100 = 0;\n        local_f8[0] = local_f8[0] & 0xffffffffffffff00;\n        local_108 = local_f8;\n        if (uVar26 == 1) {\n          local_e8 = (ulong *)((ulong)local_e8 & 0xffffffff00000000);\n          FUN_0017f6d0(&local_c8,1,&local_178,uVar3,&local_e8,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_c8 == local_b8) {\n            sVar17 = local_c0;\n            if (local_c0 != 0) {\n              if (local_c0 == 1) {\n                *(byte *)local_108 = (byte)local_b8[0];\n                sVar17 = local_c0;\n              }\n              else {\n                memcpy(local_108,local_c8,local_c0);\n                sVar17 = local_c0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_c8;\n              local_100 = local_c0;\n              local_f8[0] = local_b8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_c8 = puVar19;\n                local_b8[0] = uVar25;\n                goto LAB_00181993;\n              }\n            }\n            local_f8[0] = local_b8[0];\n            local_100 = local_c0;\n            local_108 = local_c8;\n            local_c8 = local_b8;\n          }\nLAB_00181993:\n          local_c0 = 0;\n          *(byte *)local_c8 = 0;\n          if (local_c8 != local_b8) {\n            FUN_002dac70();\n          }\n          local_1d8[uVar28] = local_e8._0_4_;\n        }\n        else {\n          if (uVar3 != *(uint *)(param_1[10] + uVar28 * 4)) goto LAB_001813c8;\n                    \n          FUN_0017f6d0(&local_e8,0,&local_178,uVar3,0,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_e8 == local_d8) {\n            sVar17 = local_e0;\n            if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *(byte *)local_108 = (byte)local_d8[0];\n                sVar17 = local_e0;\n              }\n              else {\n                memcpy(local_108,local_e8,local_e0);\n                sVar17 = local_e0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_e8;\n              local_100 = local_e0;\n              local_f8[0] = local_d8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_e8 = puVar19;\n                local_d8[0] = uVar25;\n                goto LAB_0018156c;\n              }\n            }\n            local_f8[0] = local_d8[0];\n            local_100 = local_e0;\n            local_108 = local_e8;\n            local_e8 = local_d8;\n          }\nLAB_0018156c:\n          local_e0 = 0;\n          *(byte *)local_e8 = 0;\n          if (local_e8 != local_d8) {\n            FUN_002dac70();\n          }\n        }\n        uVar12 = FUN_002d5ef0(local_108,local_100 & 0xffffffff,0xffffffff);\n        uVar25 = (ulong)uVar12 % uStack_70;\n        local_18c = uVar12;\n        if (((long *)local_78[uVar25] == (long *)0x0) ||\n           (puVar18 = *(undefined8 **)local_78[uVar25], puVar18 == (undefined8 *)0x0)) {\nLAB_00181638:\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,(ulong)uVar12,puVar18);\n        }\n        else {\n          uVar23 = (ulong)*(uint *)(puVar18 + 1);\n          lVar21 = 0;\n          do {\n            if (uVar12 == (uint)uVar23) {\n              puVar18 = (undefined8 *)*puVar18;\n              lVar21 = lVar21 + 1;\n              lVar29 = lVar21;\n            }\n            else {\n              if (lVar21 != 0) goto LAB_00181742;\n              puVar18 = (undefined8 *)*puVar18;\n              lVar29 = 0;\n            }\n          } while ((puVar18 != (undefined8 *)0x0) &&\n                  (uVar23 = (ulong)*(uint *)(puVar18 + 1), lVar29 = lVar21,\n                  uVar25 == uVar23 % uStack_70));\n          if (lVar29 == 0) goto LAB_00181638;\nLAB_00181742:\n          auVar41 = FUN_00182170(&local_78,&local_18c);\n          uVar25 = local_100;\n          puVar19 = local_108;\n          plVar4 = local_128;\n          uVar12 = local_18c;\n          for (puVar18 = auVar41._0_8_; local_18c = uVar12, puVar18 != auVar41._8_8_;\n              puVar18 = (undefined8 *)*puVar18) {\n            uVar12 = *(uint *)((long)puVar18 + 0xc);\n            uVar23 = (ulong)uVar12;\n            plVar30 = plVar4 + uVar23 * 4;\n            if ((plVar30[1] == uVar25) &&\n               (iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0)) {\n              if (*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8)) {\n                *(uint *)(param_1[10] + uVar23 * 4) = uVar3;\n                *(uint *)((long)puVar18 + 0xc) = uVar3;\n                FUN_002e3180(plVar30,plVar4 + uVar28 * 4);\n                bVar36 = false;\n              }\n              else {\n                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;\n                bVar36 = false;\n              }\n              goto joined_r0x00181835;\n            }\n            uVar12 = local_18c;\n          }\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,uVar12,puVar18);\n        }\n        FUN_002e1890(local_128 + uVar28 * 4,&local_108);\njoined_r0x00181835:\n        if ((uVar26 == 1) && (local_1d8[uVar28] == 0)) {\n          puVar19 = (ulong *)((uVar28 >> 6) * 8 + local_a8);\n          *puVar19 = *puVar19 | uVar24;\n        }\n        if (local_108 != local_f8) {\n          FUN_002dac70();\n        }\n        lVar21 = *param_1;\n      }\nLAB_001813c8:\n      plVar4 = local_120;\n      uVar3 = uVar3 + 1;\n      uVar28 = (ulong)uVar3;\n      uVar24 = param_1[1] - lVar21 >> 4;\n    } while (uVar28 < uVar24);\n    plVar30 = local_128;\n    if (uVar24 != 0) {\n      lVar21 = param_1[10];\n      uVar25 = 0;\n      uVar28 = uVar25;\n      do {\n        do {\n          uVar12 = (uint)uVar25;\n          uVar3 = *(uint *)(lVar21 + uVar25 * 4);\n          uVar25 = (ulong)uVar3;\n        } while (uVar12 != uVar3);\n        puVar2 = (uint *)(lVar21 + uVar28 * 4);\n        uVar12 = *puVar2;\n        while (uVar12 != uVar3) {\n          *puVar2 = uVar3;\n          puVar2 = (uint *)(lVar21 + (ulong)uVar12 * 4);\n          uVar12 = *puVar2;\n        }\n        uVar25 = (ulong)((int)uVar28 + 1);\n        uVar28 = uVar25;\n      } while (uVar25 < uVar24);\n    }\n    for (; plVar30 != plVar4; plVar30 = plVar30 + 4) {\n      if ((long *)*plVar30 != plVar30 + 2) {\n        FUN_002dac70();\n      }\n    }\n    if (local_128 != (long *)0x0) {\n      FUN_002dac70(local_128);\n    }\n    FUN_00182070(&local_78);\n  } while (uVar26 < uVar11 && !bVar36);\n  uVar7 = DAT_0043e8e8;\n  lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n  if (lVar21 == 0) {\n                    \n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }\n  if (*(char *)(lVar21 + 0x4be1) != '\0') {\n    pcVar34 = "%s: ICF Converged after %u iteration(s)";\n    if (!bVar36) {\n      pcVar34 = "%s: ICF stopped after %u iteration(s)";\n    }\n    uVar20 = gettext(pcVar34);\n                    \n    FUN_00178480(uVar20,uVar7,uVar26);\n    lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    if (lVar21 == 0) {\n                    \n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }\n  }\n  puVar18 = *(undefined8 **)(lVar21 + 0x34a0);\n  plVar4 = local_140;\n  do {\n    local_140 = plVar4;\n    if (puVar18 == (undefined8 *)0x0) {\n      *(undefined1 *)(param_1 + 0x14) = 1;\n      for (plVar30 = local_148; plVar4 != plVar30; plVar30 = plVar30 + 4) {\n        if ((long *)*plVar30 != plVar30 + 2) {\n          FUN_002dac70();\n        }\n      }\n      if (local_148 != (long *)0x0) {\n        FUN_002dac70(local_148);\n      }\n      if (local_a8 != 0) {\n        FUN_002dac70(local_a8);\n      }\n      if (local_168 != 0) {\n        FUN_002dac70();\n      }\n      if (local_1d8 != (undefined4 *)0x0) {\n        FUN_002dac70(local_1d8);\n      }\n      return;\n    }\n    uVar7 = puVar18[1];\n                    \n    lVar21 = FUN_002732b0(param_3,uVar7,0);\n    if (lVar21 == 0) {\n      uVar20 = gettext("Could not find symbol %s to unfold\n");\n      FUN_001783d0(uVar20,uVar7);\n    }\n    else if ((((*(byte *)(lVar21 + 0x3a) & 7) == 0) &&\n             ((*(byte *)(*(long *)(lVar21 + 0x10) + 0x3c) & 1) == 0)) &&\n            ((*(byte *)(lVar21 + 0x3b) & 0x20) != 0)) {\n      FUN_0017f5f0(param_1,*(long *)(lVar21 + 0x10),*(undefined4 *)(lVar21 + 0x18));\n    }\n    puVar18 = (undefined8 *)*puVar18;\n    plVar4 = local_140;\n  } while (*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0);\n                    \n                    \n  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n}\n\n" (function_definition "void FUN_001808e0(long *param_1,long *param_2,long param_3)\n\n{\n  long *plVar1;\n  uint *puVar2;\n  uint uVar3;\n  long *plVar4;\n  int *piVar5;\n  long *plVar6;\n  int *__src;\n  undefined8 uVar7;\n  byte bVar8;\n  char cVar9;\n  int iVar10;\n  uint uVar11;\n  uint uVar12;\n  int iVar13;\n  long *plVar14;\n  long *plVar15;\n  byte *pbVar16;\n  void *__dest;\n  size_t sVar17;\n  undefined4 *__dest_00;\n  undefined8 *puVar18;\n  ulong *puVar19;\n  undefined8 uVar20;\n  long lVar21;\n  long *plVar22;\n  ulong extraout_RDX;\n  ulong uVar23;\n  ulong uVar24;\n  ulong uVar25;\n  uint uVar26;\n  int iVar27;\n  ulong uVar28;\n  long lVar29;\n  long *plVar30;\n  byte *pbVar31;\n  ulong *puVar32;\n  byte *pbVar33;\n  char *pcVar34;\n  undefined1 uVar35;\n  bool bVar36;\n  bool bVar37;\n  undefined1 uVar38;\n  bool bVar39;\n  byte bVar40;\n  undefined1 auVar41 [16];\n  long local_1e8;\n  undefined4 *local_1d8;\n  long local_1d0;\n  undefined4 *local_1c8;\n  undefined4 *local_1b0;\n  undefined8 **local_1a8;\n  ulong local_1a0;\n  uint local_18c;\n  ulong *local_188;\n  int local_180;\n  undefined4 uStack_17c;\n  undefined8 local_178;\n  undefined8 uStack_170;\n  long local_168;\n  undefined8 *local_160;\n  undefined8 *local_158;\n  long *local_148;\n  long *local_140;\n  undefined8 local_138;\n  long *local_128;\n  long *local_120;\n  undefined8 local_118;\n  ulong *local_108;\n  ulong local_100;\n  ulong local_f8 [2];\n  ulong *local_e8;\n  size_t local_e0;\n  ulong local_d8 [2];\n  ulong *local_c8;\n  size_t local_c0;\n  ulong local_b8 [2];\n  long local_a8;\n  undefined4 local_a0;\n  ulong *local_98;\n  int local_90;\n  ulong *local_88;\n  undefined8 *local_78;\n  ulong uStack_70;\n  undefined8 local_68;\n  undefined8 local_60;\n  undefined4 local_58;\n  undefined8 local_50;\n  undefined8 local_48 [3];\n  \n  bVar40 = 0;\n  plVar4 = *(long **)(PTR_DAT_0043e6b0 + 0x18);\n  local_168 = 0;\n  local_160 = (undefined8 *)0x0;\n  local_158 = (undefined8 *)0x0;\n  local_a8 = 0;\n  local_a0 = 0;\n  local_98 = (ulong *)0x0;\n  local_90 = 0;\n  local_88 = (ulong *)0x0;\n  local_148 = (long *)0x0;\n  local_140 = (long *)0x0;\n  local_138 = 0;\n  if (plVar4 == (long *)0x0) {\n                    \n                    \n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }\n  puVar19 = (ulong *)*param_2;\n  if (puVar19 == (ulong *)param_2[1]) {\n    local_1d8 = (undefined4 *)0x0;\n  }\n  else {\n    local_1c8 = (undefined4 *)0x0;\n    local_1b0 = (undefined4 *)0x0;\n    local_1d8 = (undefined4 *)0x0;\n    iVar13 = 0;\n    do {\n      plVar30 = (long *)*puVar19;\n      if (plVar30[5] == 0) {\n        plVar14 = plVar30;\n        if ((int)plVar30[7] != 0) goto LAB_00180a17;\n      }\n      else {\n                    \n        FUN_00179ad0(plVar30[5] + 0x28,0xffffffffffffffff);\n        plVar14 = (long *)*puVar19;\n        if ((int)((long *)*puVar19)[7] != 0) {\nLAB_00180a17:\n          uVar35 = false;\n          uVar28 = 0;\n          uVar38 = true;\n          do {\n            iVar27 = (int)uVar28;\n                    \n            (**(code **)(*plVar14 + 0x80))(&local_c8,plVar14,uVar28);\n            lVar21 = 5;\n            pbVar16 = (byte *)".text";\n            puVar32 = local_c8;\n            do {\n              if (lVar21 == 0) break;\n              lVar21 = lVar21 + -1;\n              uVar35 = *pbVar16 < (byte)*puVar32;\n              uVar38 = *pbVar16 == (byte)*puVar32;\n              pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n              puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n            } while ((bool)uVar38);\n            bVar36 = false;\n            bVar39 = (!(bool)uVar35 && !(bool)uVar38) == (bool)uVar35;\n            if (bVar39) {\nLAB_00180a28:\n              puVar18 = (undefined8 *)*puVar19;\n              if ((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28) {\n                    \n                    \n                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (*(long *)(puVar18[10] + uVar28 * 8) == 0) goto LAB_00180c96;\n              lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n              if (lVar21 == 0) {\n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(lVar21 + 0x2809) != '\0') {\n                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                local_78 = puVar18;\n                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);\n                if (lVar21 == 0) goto LAB_00180c96;\n                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar21 == 0) {\n                    \n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (*(int *)(lVar21 + 0x9050) == 2) {\n                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);\n                bVar36 = false;\n                bVar39 = pbVar16 == (byte *)0x0;\n                if (bVar39) {\n                    \n                    \n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar21 = 4;\n                pbVar31 = &DAT_00373305;\n                pbVar33 = pbVar16;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);\n                bVar37 = false;\n                bVar36 = (!bVar36 && !bVar39) == bVar36;\n                if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }\n                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = &local_78;\n              local_78 = (undefined8 *)*puVar19;\n              puVar32 = (ulong *)param_1[1];\n              if (puVar32 == (ulong *)param_1[2]) {\n                uStack_70._0_4_ = iVar27;\n                FUN_001825a0(param_1,puVar32,local_1a8);\n              }\n              else {\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }\n              local_78 = (undefined8 *)*puVar19;\n              uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n              uVar24 = (ulong)local_78 ^ uVar28;\n              local_1a0 = uVar24 % (ulong)param_1[4];\n              puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24);\n              if ((puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)) {\n                    \n                plVar14 = (long *)FUN_002d94a0(0x28);\n                lVar21 = param_1[6];\n                *plVar14 = 0;\n                lVar29 = param_1[4];\n                *(undefined4 *)(plVar14 + 3) = 0;\n                plVar14[1] = (long)local_78;\n                plVar14[2] = uStack_70;\n                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);\n                if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    \n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }\n                plVar14[4] = uVar24;\n                plVar22 = plVar15 + local_1a0;\n                if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }\n                param_1[6] = param_1[6] + 1;\n              }\n              piVar5 = (int *)param_1[0xb];\n              *(int *)(plVar14 + 3) = iVar13;\n              if (piVar5 == (int *)param_1[0xc]) {\n                __src = (int *)param_1[10];\n                sVar17 = (long)piVar5 - (long)__src;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }\n                *(int *)((long)__dest + sVar17) = iVar13;\n                lVar21 = (long)__dest + sVar17 + 4;\n                if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }\n                param_1[10] = (long)__dest;\n                param_1[0xb] = lVar21;\n                param_1[0xc] = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    \n              local_78 = (undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28);\n              if (local_160 == local_158) {\n                FUN_00182710(&local_168,local_160,local_1a8);\n              }\n              else {\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }\n              iVar10 = local_90;\n              puVar32 = local_98;\n              if (local_98 == local_88) {\n                local_180 = local_90;\n                local_188 = local_98;\n                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);\n              }\n              else {\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }\n              local_78 = &local_68;\n              FUN_001665c0(local_1a8,"");\n                    \n              FUN_0016f840(&local_148,local_1a8);\n              if (local_78 != &local_68) {\n                FUN_002dac70();\n              }\n              iVar13 = iVar13 + 1;\n              if (local_c8 != local_b8) goto LAB_00180c31;\n            }\n            else {\n              lVar21 = 0xf;\n              pbVar16 = (byte *)".gnu.linkonce.t";\n              puVar32 = local_c8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              } while (bVar39);\n              if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;\nLAB_00180c96:\n              if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }\n            }\n            plVar14 = (long *)*puVar19;\n            uVar26 = iVar27 + 1;\n            uVar28 = (ulong)uVar26;\n            uVar35 = uVar26 < *(uint *)(plVar14 + 7);\n            uVar38 = uVar26 == *(uint *)(plVar14 + 7);\n          } while ((bool)uVar35);\n        }\n        if (plVar30[5] != 0) {\n          FUN_0017a690(plVar30[5] + 0x28,0xffffffffffffffff);\n        }\n      }\n      puVar19 = puVar19 + 1;\n    } while ((ulong *)param_2[1] != puVar19);\n  }\n  if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }\n  uVar26 = 0;\n  uVar3 = *(uint *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2dac);\n  uVar11 = 2;\n  if (0 < (int)uVar3) {\n    uVar11 = uVar3;\n  }\n  do {\n    uVar26 = uVar26 + 1;\n    uStack_70 = 1;\n    local_78 = local_48;\n    local_68 = 0;\n    local_60 = 0;\n    local_58 = 0x3f800000;\n    local_50 = 0;\n    local_48[0] = 0;\n    if (uVar26 == 1) {\n                    \n      FUN_00180660(param_1,&local_a8,0);\n    }\n    else {\n                    \n      FUN_00180660(param_1,&local_a8,&local_148);\n    }\n    local_128 = (long *)0x0;\n    local_120 = (long *)0x0;\n    local_118 = 0;\n    if (param_1[1] == *param_1) {\n      FUN_00182070(&local_78);\n      bVar36 = true;\n      break;\n    }\n    uVar28 = 0;\n    bVar36 = true;\n    uVar3 = 0;\n    do {\n      local_c8 = local_b8;\n                    \n      FUN_001665c0(&local_c8,"");\n                    \n      FUN_0016f840(&local_128,&local_c8);\n      if (local_c8 != local_b8) {\n        FUN_002dac70();\n      }\n      local_1a0._0_1_ = (byte)uVar3;\n      uVar24 = 1L << ((byte)local_1a0 & 0x3f);\n      lVar21 = *param_1;\n      if ((uVar24 & *(ulong *)(local_a8 + (uVar28 >> 6) * 8)) == 0) {\n        puVar18 = (undefined8 *)(lVar21 + uVar28 * 0x10);\n        local_178 = *puVar18;\n        uStack_170 = puVar18[1];\n        local_100 = 0;\n        local_f8[0] = local_f8[0] & 0xffffffffffffff00;\n        local_108 = local_f8;\n        if (uVar26 == 1) {\n          local_e8 = (ulong *)((ulong)local_e8 & 0xffffffff00000000);\n          FUN_0017f6d0(&local_c8,1,&local_178,uVar3,&local_e8,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_c8 == local_b8) {\n            sVar17 = local_c0;\n            if (local_c0 != 0) {\n              if (local_c0 == 1) {\n                *(byte *)local_108 = (byte)local_b8[0];\n                sVar17 = local_c0;\n              }\n              else {\n                memcpy(local_108,local_c8,local_c0);\n                sVar17 = local_c0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_c8;\n              local_100 = local_c0;\n              local_f8[0] = local_b8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_c8 = puVar19;\n                local_b8[0] = uVar25;\n                goto LAB_00181993;\n              }\n            }\n            local_f8[0] = local_b8[0];\n            local_100 = local_c0;\n            local_108 = local_c8;\n            local_c8 = local_b8;\n          }\nLAB_00181993:\n          local_c0 = 0;\n          *(byte *)local_c8 = 0;\n          if (local_c8 != local_b8) {\n            FUN_002dac70();\n          }\n          local_1d8[uVar28] = local_e8._0_4_;\n        }\n        else {\n          if (uVar3 != *(uint *)(param_1[10] + uVar28 * 4)) goto LAB_001813c8;\n                    \n          FUN_0017f6d0(&local_e8,0,&local_178,uVar3,0,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_e8 == local_d8) {\n            sVar17 = local_e0;\n            if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *(byte *)local_108 = (byte)local_d8[0];\n                sVar17 = local_e0;\n              }\n              else {\n                memcpy(local_108,local_e8,local_e0);\n                sVar17 = local_e0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_e8;\n              local_100 = local_e0;\n              local_f8[0] = local_d8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_e8 = puVar19;\n                local_d8[0] = uVar25;\n                goto LAB_0018156c;\n              }\n            }\n            local_f8[0] = local_d8[0];\n            local_100 = local_e0;\n            local_108 = local_e8;\n            local_e8 = local_d8;\n          }\nLAB_0018156c:\n          local_e0 = 0;\n          *(byte *)local_e8 = 0;\n          if (local_e8 != local_d8) {\n            FUN_002dac70();\n          }\n        }\n        uVar12 = FUN_002d5ef0(local_108,local_100 & 0xffffffff,0xffffffff);\n        uVar25 = (ulong)uVar12 % uStack_70;\n        local_18c = uVar12;\n        if (((long *)local_78[uVar25] == (long *)0x0) ||\n           (puVar18 = *(undefined8 **)local_78[uVar25], puVar18 == (undefined8 *)0x0)) {\nLAB_00181638:\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,(ulong)uVar12,puVar18);\n        }\n        else {\n          uVar23 = (ulong)*(uint *)(puVar18 + 1);\n          lVar21 = 0;\n          do {\n            if (uVar12 == (uint)uVar23) {\n              puVar18 = (undefined8 *)*puVar18;\n              lVar21 = lVar21 + 1;\n              lVar29 = lVar21;\n            }\n            else {\n              if (lVar21 != 0) goto LAB_00181742;\n              puVar18 = (undefined8 *)*puVar18;\n              lVar29 = 0;\n            }\n          } while ((puVar18 != (undefined8 *)0x0) &&\n                  (uVar23 = (ulong)*(uint *)(puVar18 + 1), lVar29 = lVar21,\n                  uVar25 == uVar23 % uStack_70));\n          if (lVar29 == 0) goto LAB_00181638;\nLAB_00181742:\n          auVar41 = FUN_00182170(&local_78,&local_18c);\n          uVar25 = local_100;\n          puVar19 = local_108;\n          plVar4 = local_128;\n          uVar12 = local_18c;\n          for (puVar18 = auVar41._0_8_; local_18c = uVar12, puVar18 != auVar41._8_8_;\n              puVar18 = (undefined8 *)*puVar18) {\n            uVar12 = *(uint *)((long)puVar18 + 0xc);\n            uVar23 = (ulong)uVar12;\n            plVar30 = plVar4 + uVar23 * 4;\n            if ((plVar30[1] == uVar25) &&\n               (iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0)) {\n              if (*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8)) {\n                *(uint *)(param_1[10] + uVar23 * 4) = uVar3;\n                *(uint *)((long)puVar18 + 0xc) = uVar3;\n                FUN_002e3180(plVar30,plVar4 + uVar28 * 4);\n                bVar36 = false;\n              }\n              else {\n                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;\n                bVar36 = false;\n              }\n              goto joined_r0x00181835;\n            }\n            uVar12 = local_18c;\n          }\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,uVar12,puVar18);\n        }\n        FUN_002e1890(local_128 + uVar28 * 4,&local_108);\njoined_r0x00181835:\n        if ((uVar26 == 1) && (local_1d8[uVar28] == 0)) {\n          puVar19 = (ulong *)((uVar28 >> 6) * 8 + local_a8);\n          *puVar19 = *puVar19 | uVar24;\n        }\n        if (local_108 != local_f8) {\n          FUN_002dac70();\n        }\n        lVar21 = *param_1;\n      }\nLAB_001813c8:\n      plVar4 = local_120;\n      uVar3 = uVar3 + 1;\n      uVar28 = (ulong)uVar3;\n      uVar24 = param_1[1] - lVar21 >> 4;\n    } while (uVar28 < uVar24);\n    plVar30 = local_128;\n    if (uVar24 != 0) {\n      lVar21 = param_1[10];\n      uVar25 = 0;\n      uVar28 = uVar25;\n      do {\n        do {\n          uVar12 = (uint)uVar25;\n          uVar3 = *(uint *)(lVar21 + uVar25 * 4);\n          uVar25 = (ulong)uVar3;\n        } while (uVar12 != uVar3);\n        puVar2 = (uint *)(lVar21 + uVar28 * 4);\n        uVar12 = *puVar2;\n        while (uVar12 != uVar3) {\n          *puVar2 = uVar3;\n          puVar2 = (uint *)(lVar21 + (ulong)uVar12 * 4);\n          uVar12 = *puVar2;\n        }\n        uVar25 = (ulong)((int)uVar28 + 1);\n        uVar28 = uVar25;\n      } while (uVar25 < uVar24);\n    }\n    for (; plVar30 != plVar4; plVar30 = plVar30 + 4) {\n      if ((long *)*plVar30 != plVar30 + 2) {\n        FUN_002dac70();\n      }\n    }\n    if (local_128 != (long *)0x0) {\n      FUN_002dac70(local_128);\n    }\n    FUN_00182070(&local_78);\n  } while (uVar26 < uVar11 && !bVar36);\n  uVar7 = DAT_0043e8e8;\n  lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n  if (lVar21 == 0) {\n                    \n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }\n  if (*(char *)(lVar21 + 0x4be1) != '\0') {\n    pcVar34 = "%s: ICF Converged after %u iteration(s)";\n    if (!bVar36) {\n      pcVar34 = "%s: ICF stopped after %u iteration(s)";\n    }\n    uVar20 = gettext(pcVar34);\n                    \n    FUN_00178480(uVar20,uVar7,uVar26);\n    lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    if (lVar21 == 0) {\n                    \n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }\n  }\n  puVar18 = *(undefined8 **)(lVar21 + 0x34a0);\n  plVar4 = local_140;\n  do {\n    local_140 = plVar4;\n    if (puVar18 == (undefined8 *)0x0) {\n      *(undefined1 *)(param_1 + 0x14) = 1;\n      for (plVar30 = local_148; plVar4 != plVar30; plVar30 = plVar30 + 4) {\n        if ((long *)*plVar30 != plVar30 + 2) {\n          FUN_002dac70();\n        }\n      }\n      if (local_148 != (long *)0x0) {\n        FUN_002dac70(local_148);\n      }\n      if (local_a8 != 0) {\n        FUN_002dac70(local_a8);\n      }\n      if (local_168 != 0) {\n        FUN_002dac70();\n      }\n      if (local_1d8 != (undefined4 *)0x0) {\n        FUN_002dac70(local_1d8);\n      }\n      return;\n    }\n    uVar7 = puVar18[1];\n                    \n    lVar21 = FUN_002732b0(param_3,uVar7,0);\n    if (lVar21 == 0) {\n      uVar20 = gettext("Could not find symbol %s to unfold\n");\n      FUN_001783d0(uVar20,uVar7);\n    }\n    else if ((((*(byte *)(lVar21 + 0x3a) & 7) == 0) &&\n             ((*(byte *)(*(long *)(lVar21 + 0x10) + 0x3c) & 1) == 0)) &&\n            ((*(byte *)(lVar21 + 0x3b) & 0x20) != 0)) {\n      FUN_0017f5f0(param_1,*(long *)(lVar21 + 0x10),*(undefined4 *)(lVar21 + 0x18));\n    }\n    puVar18 = (undefined8 *)*puVar18;\n    plVar4 = local_140;\n  } while (*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0);\n                    \n                    \n  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n}" primitive_type (function_declarator "FUN_001808e0(long *param_1,long *param_2,long param_3)" identifier (parameter_list "(long *param_1,long *param_2,long param_3)" ( (parameter_declaration "long *param_1" (sized_type_specifier "long" long) (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "long *param_2" (sized_type_specifier "long" long) (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "long param_3" (sized_type_specifier "long" long) identifier) ))) (compound_statement "{\n  long *plVar1;\n  uint *puVar2;\n  uint uVar3;\n  long *plVar4;\n  int *piVar5;\n  long *plVar6;\n  int *__src;\n  undefined8 uVar7;\n  byte bVar8;\n  char cVar9;\n  int iVar10;\n  uint uVar11;\n  uint uVar12;\n  int iVar13;\n  long *plVar14;\n  long *plVar15;\n  byte *pbVar16;\n  void *__dest;\n  size_t sVar17;\n  undefined4 *__dest_00;\n  undefined8 *puVar18;\n  ulong *puVar19;\n  undefined8 uVar20;\n  long lVar21;\n  long *plVar22;\n  ulong extraout_RDX;\n  ulong uVar23;\n  ulong uVar24;\n  ulong uVar25;\n  uint uVar26;\n  int iVar27;\n  ulong uVar28;\n  long lVar29;\n  long *plVar30;\n  byte *pbVar31;\n  ulong *puVar32;\n  byte *pbVar33;\n  char *pcVar34;\n  undefined1 uVar35;\n  bool bVar36;\n  bool bVar37;\n  undefined1 uVar38;\n  bool bVar39;\n  byte bVar40;\n  undefined1 auVar41 [16];\n  long local_1e8;\n  undefined4 *local_1d8;\n  long local_1d0;\n  undefined4 *local_1c8;\n  undefined4 *local_1b0;\n  undefined8 **local_1a8;\n  ulong local_1a0;\n  uint local_18c;\n  ulong *local_188;\n  int local_180;\n  undefined4 uStack_17c;\n  undefined8 local_178;\n  undefined8 uStack_170;\n  long local_168;\n  undefined8 *local_160;\n  undefined8 *local_158;\n  long *local_148;\n  long *local_140;\n  undefined8 local_138;\n  long *local_128;\n  long *local_120;\n  undefined8 local_118;\n  ulong *local_108;\n  ulong local_100;\n  ulong local_f8 [2];\n  ulong *local_e8;\n  size_t local_e0;\n  ulong local_d8 [2];\n  ulong *local_c8;\n  size_t local_c0;\n  ulong local_b8 [2];\n  long local_a8;\n  undefined4 local_a0;\n  ulong *local_98;\n  int local_90;\n  ulong *local_88;\n  undefined8 *local_78;\n  ulong uStack_70;\n  undefined8 local_68;\n  undefined8 local_60;\n  undefined4 local_58;\n  undefined8 local_50;\n  undefined8 local_48 [3];\n  \n  bVar40 = 0;\n  plVar4 = *(long **)(PTR_DAT_0043e6b0 + 0x18);\n  local_168 = 0;\n  local_160 = (undefined8 *)0x0;\n  local_158 = (undefined8 *)0x0;\n  local_a8 = 0;\n  local_a0 = 0;\n  local_98 = (ulong *)0x0;\n  local_90 = 0;\n  local_88 = (ulong *)0x0;\n  local_148 = (long *)0x0;\n  local_140 = (long *)0x0;\n  local_138 = 0;\n  if (plVar4 == (long *)0x0) {\n                    \n                    \n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }\n  puVar19 = (ulong *)*param_2;\n  if (puVar19 == (ulong *)param_2[1]) {\n    local_1d8 = (undefined4 *)0x0;\n  }\n  else {\n    local_1c8 = (undefined4 *)0x0;\n    local_1b0 = (undefined4 *)0x0;\n    local_1d8 = (undefined4 *)0x0;\n    iVar13 = 0;\n    do {\n      plVar30 = (long *)*puVar19;\n      if (plVar30[5] == 0) {\n        plVar14 = plVar30;\n        if ((int)plVar30[7] != 0) goto LAB_00180a17;\n      }\n      else {\n                    \n        FUN_00179ad0(plVar30[5] + 0x28,0xffffffffffffffff);\n        plVar14 = (long *)*puVar19;\n        if ((int)((long *)*puVar19)[7] != 0) {\nLAB_00180a17:\n          uVar35 = false;\n          uVar28 = 0;\n          uVar38 = true;\n          do {\n            iVar27 = (int)uVar28;\n                    \n            (**(code **)(*plVar14 + 0x80))(&local_c8,plVar14,uVar28);\n            lVar21 = 5;\n            pbVar16 = (byte *)".text";\n            puVar32 = local_c8;\n            do {\n              if (lVar21 == 0) break;\n              lVar21 = lVar21 + -1;\n              uVar35 = *pbVar16 < (byte)*puVar32;\n              uVar38 = *pbVar16 == (byte)*puVar32;\n              pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n              puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n            } while ((bool)uVar38);\n            bVar36 = false;\n            bVar39 = (!(bool)uVar35 && !(bool)uVar38) == (bool)uVar35;\n            if (bVar39) {\nLAB_00180a28:\n              puVar18 = (undefined8 *)*puVar19;\n              if ((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28) {\n                    \n                    \n                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (*(long *)(puVar18[10] + uVar28 * 8) == 0) goto LAB_00180c96;\n              lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n              if (lVar21 == 0) {\n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(lVar21 + 0x2809) != '\0') {\n                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                local_78 = puVar18;\n                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);\n                if (lVar21 == 0) goto LAB_00180c96;\n                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar21 == 0) {\n                    \n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (*(int *)(lVar21 + 0x9050) == 2) {\n                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);\n                bVar36 = false;\n                bVar39 = pbVar16 == (byte *)0x0;\n                if (bVar39) {\n                    \n                    \n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar21 = 4;\n                pbVar31 = &DAT_00373305;\n                pbVar33 = pbVar16;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);\n                bVar37 = false;\n                bVar36 = (!bVar36 && !bVar39) == bVar36;\n                if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }\n                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = &local_78;\n              local_78 = (undefined8 *)*puVar19;\n              puVar32 = (ulong *)param_1[1];\n              if (puVar32 == (ulong *)param_1[2]) {\n                uStack_70._0_4_ = iVar27;\n                FUN_001825a0(param_1,puVar32,local_1a8);\n              }\n              else {\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }\n              local_78 = (undefined8 *)*puVar19;\n              uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n              uVar24 = (ulong)local_78 ^ uVar28;\n              local_1a0 = uVar24 % (ulong)param_1[4];\n              puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24);\n              if ((puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)) {\n                    \n                plVar14 = (long *)FUN_002d94a0(0x28);\n                lVar21 = param_1[6];\n                *plVar14 = 0;\n                lVar29 = param_1[4];\n                *(undefined4 *)(plVar14 + 3) = 0;\n                plVar14[1] = (long)local_78;\n                plVar14[2] = uStack_70;\n                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);\n                if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    \n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }\n                plVar14[4] = uVar24;\n                plVar22 = plVar15 + local_1a0;\n                if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }\n                param_1[6] = param_1[6] + 1;\n              }\n              piVar5 = (int *)param_1[0xb];\n              *(int *)(plVar14 + 3) = iVar13;\n              if (piVar5 == (int *)param_1[0xc]) {\n                __src = (int *)param_1[10];\n                sVar17 = (long)piVar5 - (long)__src;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }\n                *(int *)((long)__dest + sVar17) = iVar13;\n                lVar21 = (long)__dest + sVar17 + 4;\n                if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }\n                param_1[10] = (long)__dest;\n                param_1[0xb] = lVar21;\n                param_1[0xc] = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    \n              local_78 = (undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28);\n              if (local_160 == local_158) {\n                FUN_00182710(&local_168,local_160,local_1a8);\n              }\n              else {\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }\n              iVar10 = local_90;\n              puVar32 = local_98;\n              if (local_98 == local_88) {\n                local_180 = local_90;\n                local_188 = local_98;\n                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);\n              }\n              else {\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }\n              local_78 = &local_68;\n              FUN_001665c0(local_1a8,"");\n                    \n              FUN_0016f840(&local_148,local_1a8);\n              if (local_78 != &local_68) {\n                FUN_002dac70();\n              }\n              iVar13 = iVar13 + 1;\n              if (local_c8 != local_b8) goto LAB_00180c31;\n            }\n            else {\n              lVar21 = 0xf;\n              pbVar16 = (byte *)".gnu.linkonce.t";\n              puVar32 = local_c8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              } while (bVar39);\n              if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;\nLAB_00180c96:\n              if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }\n            }\n            plVar14 = (long *)*puVar19;\n            uVar26 = iVar27 + 1;\n            uVar28 = (ulong)uVar26;\n            uVar35 = uVar26 < *(uint *)(plVar14 + 7);\n            uVar38 = uVar26 == *(uint *)(plVar14 + 7);\n          } while ((bool)uVar35);\n        }\n        if (plVar30[5] != 0) {\n          FUN_0017a690(plVar30[5] + 0x28,0xffffffffffffffff);\n        }\n      }\n      puVar19 = puVar19 + 1;\n    } while ((ulong *)param_2[1] != puVar19);\n  }\n  if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }\n  uVar26 = 0;\n  uVar3 = *(uint *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2dac);\n  uVar11 = 2;\n  if (0 < (int)uVar3) {\n    uVar11 = uVar3;\n  }\n  do {\n    uVar26 = uVar26 + 1;\n    uStack_70 = 1;\n    local_78 = local_48;\n    local_68 = 0;\n    local_60 = 0;\n    local_58 = 0x3f800000;\n    local_50 = 0;\n    local_48[0] = 0;\n    if (uVar26 == 1) {\n                    \n      FUN_00180660(param_1,&local_a8,0);\n    }\n    else {\n                    \n      FUN_00180660(param_1,&local_a8,&local_148);\n    }\n    local_128 = (long *)0x0;\n    local_120 = (long *)0x0;\n    local_118 = 0;\n    if (param_1[1] == *param_1) {\n      FUN_00182070(&local_78);\n      bVar36 = true;\n      break;\n    }\n    uVar28 = 0;\n    bVar36 = true;\n    uVar3 = 0;\n    do {\n      local_c8 = local_b8;\n                    \n      FUN_001665c0(&local_c8,"");\n                    \n      FUN_0016f840(&local_128,&local_c8);\n      if (local_c8 != local_b8) {\n        FUN_002dac70();\n      }\n      local_1a0._0_1_ = (byte)uVar3;\n      uVar24 = 1L << ((byte)local_1a0 & 0x3f);\n      lVar21 = *param_1;\n      if ((uVar24 & *(ulong *)(local_a8 + (uVar28 >> 6) * 8)) == 0) {\n        puVar18 = (undefined8 *)(lVar21 + uVar28 * 0x10);\n        local_178 = *puVar18;\n        uStack_170 = puVar18[1];\n        local_100 = 0;\n        local_f8[0] = local_f8[0] & 0xffffffffffffff00;\n        local_108 = local_f8;\n        if (uVar26 == 1) {\n          local_e8 = (ulong *)((ulong)local_e8 & 0xffffffff00000000);\n          FUN_0017f6d0(&local_c8,1,&local_178,uVar3,&local_e8,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_c8 == local_b8) {\n            sVar17 = local_c0;\n            if (local_c0 != 0) {\n              if (local_c0 == 1) {\n                *(byte *)local_108 = (byte)local_b8[0];\n                sVar17 = local_c0;\n              }\n              else {\n                memcpy(local_108,local_c8,local_c0);\n                sVar17 = local_c0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_c8;\n              local_100 = local_c0;\n              local_f8[0] = local_b8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_c8 = puVar19;\n                local_b8[0] = uVar25;\n                goto LAB_00181993;\n              }\n            }\n            local_f8[0] = local_b8[0];\n            local_100 = local_c0;\n            local_108 = local_c8;\n            local_c8 = local_b8;\n          }\nLAB_00181993:\n          local_c0 = 0;\n          *(byte *)local_c8 = 0;\n          if (local_c8 != local_b8) {\n            FUN_002dac70();\n          }\n          local_1d8[uVar28] = local_e8._0_4_;\n        }\n        else {\n          if (uVar3 != *(uint *)(param_1[10] + uVar28 * 4)) goto LAB_001813c8;\n                    \n          FUN_0017f6d0(&local_e8,0,&local_178,uVar3,0,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_e8 == local_d8) {\n            sVar17 = local_e0;\n            if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *(byte *)local_108 = (byte)local_d8[0];\n                sVar17 = local_e0;\n              }\n              else {\n                memcpy(local_108,local_e8,local_e0);\n                sVar17 = local_e0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_e8;\n              local_100 = local_e0;\n              local_f8[0] = local_d8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_e8 = puVar19;\n                local_d8[0] = uVar25;\n                goto LAB_0018156c;\n              }\n            }\n            local_f8[0] = local_d8[0];\n            local_100 = local_e0;\n            local_108 = local_e8;\n            local_e8 = local_d8;\n          }\nLAB_0018156c:\n          local_e0 = 0;\n          *(byte *)local_e8 = 0;\n          if (local_e8 != local_d8) {\n            FUN_002dac70();\n          }\n        }\n        uVar12 = FUN_002d5ef0(local_108,local_100 & 0xffffffff,0xffffffff);\n        uVar25 = (ulong)uVar12 % uStack_70;\n        local_18c = uVar12;\n        if (((long *)local_78[uVar25] == (long *)0x0) ||\n           (puVar18 = *(undefined8 **)local_78[uVar25], puVar18 == (undefined8 *)0x0)) {\nLAB_00181638:\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,(ulong)uVar12,puVar18);\n        }\n        else {\n          uVar23 = (ulong)*(uint *)(puVar18 + 1);\n          lVar21 = 0;\n          do {\n            if (uVar12 == (uint)uVar23) {\n              puVar18 = (undefined8 *)*puVar18;\n              lVar21 = lVar21 + 1;\n              lVar29 = lVar21;\n            }\n            else {\n              if (lVar21 != 0) goto LAB_00181742;\n              puVar18 = (undefined8 *)*puVar18;\n              lVar29 = 0;\n            }\n          } while ((puVar18 != (undefined8 *)0x0) &&\n                  (uVar23 = (ulong)*(uint *)(puVar18 + 1), lVar29 = lVar21,\n                  uVar25 == uVar23 % uStack_70));\n          if (lVar29 == 0) goto LAB_00181638;\nLAB_00181742:\n          auVar41 = FUN_00182170(&local_78,&local_18c);\n          uVar25 = local_100;\n          puVar19 = local_108;\n          plVar4 = local_128;\n          uVar12 = local_18c;\n          for (puVar18 = auVar41._0_8_; local_18c = uVar12, puVar18 != auVar41._8_8_;\n              puVar18 = (undefined8 *)*puVar18) {\n            uVar12 = *(uint *)((long)puVar18 + 0xc);\n            uVar23 = (ulong)uVar12;\n            plVar30 = plVar4 + uVar23 * 4;\n            if ((plVar30[1] == uVar25) &&\n               (iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0)) {\n              if (*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8)) {\n                *(uint *)(param_1[10] + uVar23 * 4) = uVar3;\n                *(uint *)((long)puVar18 + 0xc) = uVar3;\n                FUN_002e3180(plVar30,plVar4 + uVar28 * 4);\n                bVar36 = false;\n              }\n              else {\n                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;\n                bVar36 = false;\n              }\n              goto joined_r0x00181835;\n            }\n            uVar12 = local_18c;\n          }\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,uVar12,puVar18);\n        }\n        FUN_002e1890(local_128 + uVar28 * 4,&local_108);\njoined_r0x00181835:\n        if ((uVar26 == 1) && (local_1d8[uVar28] == 0)) {\n          puVar19 = (ulong *)((uVar28 >> 6) * 8 + local_a8);\n          *puVar19 = *puVar19 | uVar24;\n        }\n        if (local_108 != local_f8) {\n          FUN_002dac70();\n        }\n        lVar21 = *param_1;\n      }\nLAB_001813c8:\n      plVar4 = local_120;\n      uVar3 = uVar3 + 1;\n      uVar28 = (ulong)uVar3;\n      uVar24 = param_1[1] - lVar21 >> 4;\n    } while (uVar28 < uVar24);\n    plVar30 = local_128;\n    if (uVar24 != 0) {\n      lVar21 = param_1[10];\n      uVar25 = 0;\n      uVar28 = uVar25;\n      do {\n        do {\n          uVar12 = (uint)uVar25;\n          uVar3 = *(uint *)(lVar21 + uVar25 * 4);\n          uVar25 = (ulong)uVar3;\n        } while (uVar12 != uVar3);\n        puVar2 = (uint *)(lVar21 + uVar28 * 4);\n        uVar12 = *puVar2;\n        while (uVar12 != uVar3) {\n          *puVar2 = uVar3;\n          puVar2 = (uint *)(lVar21 + (ulong)uVar12 * 4);\n          uVar12 = *puVar2;\n        }\n        uVar25 = (ulong)((int)uVar28 + 1);\n        uVar28 = uVar25;\n      } while (uVar25 < uVar24);\n    }\n    for (; plVar30 != plVar4; plVar30 = plVar30 + 4) {\n      if ((long *)*plVar30 != plVar30 + 2) {\n        FUN_002dac70();\n      }\n    }\n    if (local_128 != (long *)0x0) {\n      FUN_002dac70(local_128);\n    }\n    FUN_00182070(&local_78);\n  } while (uVar26 < uVar11 && !bVar36);\n  uVar7 = DAT_0043e8e8;\n  lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n  if (lVar21 == 0) {\n                    \n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }\n  if (*(char *)(lVar21 + 0x4be1) != '\0') {\n    pcVar34 = "%s: ICF Converged after %u iteration(s)";\n    if (!bVar36) {\n      pcVar34 = "%s: ICF stopped after %u iteration(s)";\n    }\n    uVar20 = gettext(pcVar34);\n                    \n    FUN_00178480(uVar20,uVar7,uVar26);\n    lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    if (lVar21 == 0) {\n                    \n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }\n  }\n  puVar18 = *(undefined8 **)(lVar21 + 0x34a0);\n  plVar4 = local_140;\n  do {\n    local_140 = plVar4;\n    if (puVar18 == (undefined8 *)0x0) {\n      *(undefined1 *)(param_1 + 0x14) = 1;\n      for (plVar30 = local_148; plVar4 != plVar30; plVar30 = plVar30 + 4) {\n        if ((long *)*plVar30 != plVar30 + 2) {\n          FUN_002dac70();\n        }\n      }\n      if (local_148 != (long *)0x0) {\n        FUN_002dac70(local_148);\n      }\n      if (local_a8 != 0) {\n        FUN_002dac70(local_a8);\n      }\n      if (local_168 != 0) {\n        FUN_002dac70();\n      }\n      if (local_1d8 != (undefined4 *)0x0) {\n        FUN_002dac70(local_1d8);\n      }\n      return;\n    }\n    uVar7 = puVar18[1];\n                    \n    lVar21 = FUN_002732b0(param_3,uVar7,0);\n    if (lVar21 == 0) {\n      uVar20 = gettext("Could not find symbol %s to unfold\n");\n      FUN_001783d0(uVar20,uVar7);\n    }\n    else if ((((*(byte *)(lVar21 + 0x3a) & 7) == 0) &&\n             ((*(byte *)(*(long *)(lVar21 + 0x10) + 0x3c) & 1) == 0)) &&\n            ((*(byte *)(lVar21 + 0x3b) & 0x20) != 0)) {\n      FUN_0017f5f0(param_1,*(long *)(lVar21 + 0x10),*(undefined4 *)(lVar21 + 0x18));\n    }\n    puVar18 = (undefined8 *)*puVar18;\n    plVar4 = local_140;\n  } while (*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0);\n                    \n                    \n  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n}" { (declaration "long *plVar1;" (sized_type_specifier "long" long) (pointer_declarator "*plVar1" * identifier) ;) (declaration "uint *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "long *plVar4;" (sized_type_specifier "long" long) (pointer_declarator "*plVar4" * identifier) ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "long *plVar6;" (sized_type_specifier "long" long) (pointer_declarator "*plVar6" * identifier) ;) (declaration "int *__src;" primitive_type (pointer_declarator "*__src" * identifier) ;) (declaration "undefined8 uVar7;" type_identifier identifier ;) (declaration "byte bVar8;" type_identifier identifier ;) (declaration "char cVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "long *plVar14;" (sized_type_specifier "long" long) (pointer_declarator "*plVar14" * identifier) ;) (declaration "long *plVar15;" (sized_type_specifier "long" long) (pointer_declarator "*plVar15" * identifier) ;) (declaration "byte *pbVar16;" type_identifier (pointer_declarator "*pbVar16" * identifier) ;) (declaration "void *__dest;" primitive_type (pointer_declarator "*__dest" * identifier) ;) (declaration "size_t sVar17;" primitive_type identifier ;) (declaration "undefined4 *__dest_00;" type_identifier (pointer_declarator "*__dest_00" * identifier) ;) (declaration "undefined8 *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "ulong *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "undefined8 uVar20;" type_identifier identifier ;) (declaration "long lVar21;" (sized_type_specifier "long" long) identifier ;) (declaration "long *plVar22;" (sized_type_specifier "long" long) (pointer_declarator "*plVar22" * identifier) ;) (declaration "ulong extraout_RDX;" type_identifier identifier ;) (declaration "ulong uVar23;" type_identifier identifier ;) (declaration "ulong uVar24;" type_identifier identifier ;) (declaration "ulong uVar25;" type_identifier identifier ;) (declaration "uint uVar26;" type_identifier identifier ;) (declaration "int iVar27;" primitive_type identifier ;) (declaration "ulong uVar28;" type_identifier identifier ;) (declaration "long lVar29;" (sized_type_specifier "long" long) identifier ;) (declaration "long *plVar30;" (sized_type_specifier "long" long) (pointer_declarator "*plVar30" * identifier) ;) (declaration "byte *pbVar31;" type_identifier (pointer_declarator "*pbVar31" * identifier) ;) (declaration "ulong *puVar32;" type_identifier (pointer_declarator "*puVar32" * identifier) ;) (declaration "byte *pbVar33;" type_identifier (pointer_declarator "*pbVar33" * identifier) ;) (declaration "char *pcVar34;" primitive_type (pointer_declarator "*pcVar34" * identifier) ;) (declaration "undefined1 uVar35;" type_identifier identifier ;) (declaration "bool bVar36;" primitive_type identifier ;) (declaration "bool bVar37;" primitive_type identifier ;) (declaration "undefined1 uVar38;" type_identifier identifier ;) (declaration "bool bVar39;" primitive_type identifier ;) (declaration "byte bVar40;" type_identifier identifier ;) (declaration "undefined1 auVar41 [16];" type_identifier (array_declarator "auVar41 [16]" identifier [ number_literal ]) ;) (declaration "long local_1e8;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined4 *local_1d8;" type_identifier (pointer_declarator "*local_1d8" * identifier) ;) (declaration "long local_1d0;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined4 *local_1c8;" type_identifier (pointer_declarator "*local_1c8" * identifier) ;) (declaration "undefined4 *local_1b0;" type_identifier (pointer_declarator "*local_1b0" * identifier) ;) (declaration "undefined8 **local_1a8;" type_identifier (pointer_declarator "**local_1a8" * (pointer_declarator "*local_1a8" * identifier)) ;) (declaration "ulong local_1a0;" type_identifier identifier ;) (declaration "uint local_18c;" type_identifier identifier ;) (declaration "ulong *local_188;" type_identifier (pointer_declarator "*local_188" * identifier) ;) (declaration "int local_180;" primitive_type identifier ;) (declaration "undefined4 uStack_17c;" type_identifier identifier ;) (declaration "undefined8 local_178;" type_identifier identifier ;) (declaration "undefined8 uStack_170;" type_identifier identifier ;) (declaration "long local_168;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 *local_160;" type_identifier (pointer_declarator "*local_160" * identifier) ;) (declaration "undefined8 *local_158;" type_identifier (pointer_declarator "*local_158" * identifier) ;) (declaration "long *local_148;" (sized_type_specifier "long" long) (pointer_declarator "*local_148" * identifier) ;) (declaration "long *local_140;" (sized_type_specifier "long" long) (pointer_declarator "*local_140" * identifier) ;) (declaration "undefined8 local_138;" type_identifier identifier ;) (declaration "long *local_128;" (sized_type_specifier "long" long) (pointer_declarator "*local_128" * identifier) ;) (declaration "long *local_120;" (sized_type_specifier "long" long) (pointer_declarator "*local_120" * identifier) ;) (declaration "undefined8 local_118;" type_identifier identifier ;) (declaration "ulong *local_108;" type_identifier (pointer_declarator "*local_108" * identifier) ;) (declaration "ulong local_100;" type_identifier identifier ;) (declaration "ulong local_f8 [2];" type_identifier (array_declarator "local_f8 [2]" identifier [ number_literal ]) ;) (declaration "ulong *local_e8;" type_identifier (pointer_declarator "*local_e8" * identifier) ;) (declaration "size_t local_e0;" primitive_type identifier ;) (declaration "ulong local_d8 [2];" type_identifier (array_declarator "local_d8 [2]" identifier [ number_literal ]) ;) (declaration "ulong *local_c8;" type_identifier (pointer_declarator "*local_c8" * identifier) ;) (declaration "size_t local_c0;" primitive_type identifier ;) (declaration "ulong local_b8 [2];" type_identifier (array_declarator "local_b8 [2]" identifier [ number_literal ]) ;) (declaration "long local_a8;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined4 local_a0;" type_identifier identifier ;) (declaration "ulong *local_98;" type_identifier (pointer_declarator "*local_98" * identifier) ;) (declaration "int local_90;" primitive_type identifier ;) (declaration "ulong *local_88;" type_identifier (pointer_declarator "*local_88" * identifier) ;) (declaration "undefined8 *local_78;" type_identifier (pointer_declarator "*local_78" * identifier) ;) (declaration "ulong uStack_70;" type_identifier identifier ;) (declaration "undefined8 local_68;" type_identifier identifier ;) (declaration "undefined8 local_60;" type_identifier identifier ;) (declaration "undefined4 local_58;" type_identifier identifier ;) (declaration "undefined8 local_50;" type_identifier identifier ;) (declaration "undefined8 local_48 [3];" type_identifier (array_declarator "local_48 [3]" identifier [ number_literal ]) ;) (expression_statement "bVar40 = 0;" (assignment_expression "bVar40 = 0" identifier = number_literal) ;) (expression_statement "plVar4 = *(long **)(PTR_DAT_0043e6b0 + 0x18);" (assignment_expression "plVar4 = *(long **)(PTR_DAT_0043e6b0 + 0x18)" identifier = (pointer_expression "*(long **)(PTR_DAT_0043e6b0 + 0x18)" * (cast_expression "(long **)(PTR_DAT_0043e6b0 + 0x18)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x18)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "local_168 = 0;" (assignment_expression "local_168 = 0" identifier = number_literal) ;) (expression_statement "local_160 = (undefined8 *)0x0;" (assignment_expression "local_160 = (undefined8 *)0x0" identifier = (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_158 = (undefined8 *)0x0;" (assignment_expression "local_158 = (undefined8 *)0x0" identifier = (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a8 = 0;" (assignment_expression "local_a8 = 0" identifier = number_literal) ;) (expression_statement "local_a0 = 0;" (assignment_expression "local_a0 = 0" identifier = number_literal) ;) (expression_statement "local_98 = (ulong *)0x0;" (assignment_expression "local_98 = (ulong *)0x0" identifier = (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;) (expression_statement "local_88 = (ulong *)0x0;" (assignment_expression "local_88 = (ulong *)0x0" identifier = (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_148 = (long *)0x0;" (assignment_expression "local_148 = (long *)0x0" identifier = (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_140 = (long *)0x0;" (assignment_expression "local_140 = (long *)0x0" identifier = (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_138 = 0;" (assignment_expression "local_138 = 0" identifier = number_literal) ;) (if_statement "if (plVar4 == (long *)0x0) {\n                    \n                    \n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }" if (parenthesized_expression "(plVar4 == (long *)0x0)" ( (binary_expression "plVar4 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    \n                    \n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }" { (expression_statement "FUN_0017c650("../../gold/parameters.h",0x69,"target");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x69,"target")" identifier (argument_list "("../../gold/parameters.h",0x69,"target")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""target"" " string_content ") ))) ;) })) (expression_statement "puVar19 = (ulong *)*param_2;" (assignment_expression "puVar19 = (ulong *)*param_2" identifier = (cast_expression "(ulong *)*param_2" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_2" * identifier))) ;) (if_statement "if (puVar19 == (ulong *)param_2[1]) {\n    local_1d8 = (undefined4 *)0x0;\n  }\n  else {\n    local_1c8 = (undefined4 *)0x0;\n    local_1b0 = (undefined4 *)0x0;\n    local_1d8 = (undefined4 *)0x0;\n    iVar13 = 0;\n    do {\n      plVar30 = (long *)*puVar19;\n      if (plVar30[5] == 0) {\n        plVar14 = plVar30;\n        if ((int)plVar30[7] != 0) goto LAB_00180a17;\n      }\n      else {\n                    \n        FUN_00179ad0(plVar30[5] + 0x28,0xffffffffffffffff);\n        plVar14 = (long *)*puVar19;\n        if ((int)((long *)*puVar19)[7] != 0) {\nLAB_00180a17:\n          uVar35 = false;\n          uVar28 = 0;\n          uVar38 = true;\n          do {\n            iVar27 = (int)uVar28;\n                    \n            (**(code **)(*plVar14 + 0x80))(&local_c8,plVar14,uVar28);\n            lVar21 = 5;\n            pbVar16 = (byte *)".text";\n            puVar32 = local_c8;\n            do {\n              if (lVar21 == 0) break;\n              lVar21 = lVar21 + -1;\n              uVar35 = *pbVar16 < (byte)*puVar32;\n              uVar38 = *pbVar16 == (byte)*puVar32;\n              pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n              puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n            } while ((bool)uVar38);\n            bVar36 = false;\n            bVar39 = (!(bool)uVar35 && !(bool)uVar38) == (bool)uVar35;\n            if (bVar39) {\nLAB_00180a28:\n              puVar18 = (undefined8 *)*puVar19;\n              if ((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28) {\n                    \n                    \n                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (*(long *)(puVar18[10] + uVar28 * 8) == 0) goto LAB_00180c96;\n              lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n              if (lVar21 == 0) {\n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(lVar21 + 0x2809) != '\0') {\n                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                local_78 = puVar18;\n                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);\n                if (lVar21 == 0) goto LAB_00180c96;\n                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar21 == 0) {\n                    \n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (*(int *)(lVar21 + 0x9050) == 2) {\n                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);\n                bVar36 = false;\n                bVar39 = pbVar16 == (byte *)0x0;\n                if (bVar39) {\n                    \n                    \n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar21 = 4;\n                pbVar31 = &DAT_00373305;\n                pbVar33 = pbVar16;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);\n                bVar37 = false;\n                bVar36 = (!bVar36 && !bVar39) == bVar36;\n                if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }\n                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = &local_78;\n              local_78 = (undefined8 *)*puVar19;\n              puVar32 = (ulong *)param_1[1];\n              if (puVar32 == (ulong *)param_1[2]) {\n                uStack_70._0_4_ = iVar27;\n                FUN_001825a0(param_1,puVar32,local_1a8);\n              }\n              else {\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }\n              local_78 = (undefined8 *)*puVar19;\n              uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n              uVar24 = (ulong)local_78 ^ uVar28;\n              local_1a0 = uVar24 % (ulong)param_1[4];\n              puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24);\n              if ((puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)) {\n                    \n                plVar14 = (long *)FUN_002d94a0(0x28);\n                lVar21 = param_1[6];\n                *plVar14 = 0;\n                lVar29 = param_1[4];\n                *(undefined4 *)(plVar14 + 3) = 0;\n                plVar14[1] = (long)local_78;\n                plVar14[2] = uStack_70;\n                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);\n                if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    \n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }\n                plVar14[4] = uVar24;\n                plVar22 = plVar15 + local_1a0;\n                if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }\n                param_1[6] = param_1[6] + 1;\n              }\n              piVar5 = (int *)param_1[0xb];\n              *(int *)(plVar14 + 3) = iVar13;\n              if (piVar5 == (int *)param_1[0xc]) {\n                __src = (int *)param_1[10];\n                sVar17 = (long)piVar5 - (long)__src;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }\n                *(int *)((long)__dest + sVar17) = iVar13;\n                lVar21 = (long)__dest + sVar17 + 4;\n                if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }\n                param_1[10] = (long)__dest;\n                param_1[0xb] = lVar21;\n                param_1[0xc] = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    \n              local_78 = (undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28);\n              if (local_160 == local_158) {\n                FUN_00182710(&local_168,local_160,local_1a8);\n              }\n              else {\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }\n              iVar10 = local_90;\n              puVar32 = local_98;\n              if (local_98 == local_88) {\n                local_180 = local_90;\n                local_188 = local_98;\n                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);\n              }\n              else {\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }\n              local_78 = &local_68;\n              FUN_001665c0(local_1a8,"");\n                    \n              FUN_0016f840(&local_148,local_1a8);\n              if (local_78 != &local_68) {\n                FUN_002dac70();\n              }\n              iVar13 = iVar13 + 1;\n              if (local_c8 != local_b8) goto LAB_00180c31;\n            }\n            else {\n              lVar21 = 0xf;\n              pbVar16 = (byte *)".gnu.linkonce.t";\n              puVar32 = local_c8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              } while (bVar39);\n              if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;\nLAB_00180c96:\n              if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }\n            }\n            plVar14 = (long *)*puVar19;\n            uVar26 = iVar27 + 1;\n            uVar28 = (ulong)uVar26;\n            uVar35 = uVar26 < *(uint *)(plVar14 + 7);\n            uVar38 = uVar26 == *(uint *)(plVar14 + 7);\n          } while ((bool)uVar35);\n        }\n        if (plVar30[5] != 0) {\n          FUN_0017a690(plVar30[5] + 0x28,0xffffffffffffffff);\n        }\n      }\n      puVar19 = puVar19 + 1;\n    } while ((ulong *)param_2[1] != puVar19);\n  }" if (parenthesized_expression "(puVar19 == (ulong *)param_2[1])" ( (binary_expression "puVar19 == (ulong *)param_2[1]" identifier == (cast_expression "(ulong *)param_2[1]" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[1]" identifier [ number_literal ]))) )) (compound_statement "{\n    local_1d8 = (undefined4 *)0x0;\n  }" { (expression_statement "local_1d8 = (undefined4 *)0x0;" (assignment_expression "local_1d8 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    local_1c8 = (undefined4 *)0x0;\n    local_1b0 = (undefined4 *)0x0;\n    local_1d8 = (undefined4 *)0x0;\n    iVar13 = 0;\n    do {\n      plVar30 = (long *)*puVar19;\n      if (plVar30[5] == 0) {\n        plVar14 = plVar30;\n        if ((int)plVar30[7] != 0) goto LAB_00180a17;\n      }\n      else {\n                    \n        FUN_00179ad0(plVar30[5] + 0x28,0xffffffffffffffff);\n        plVar14 = (long *)*puVar19;\n        if ((int)((long *)*puVar19)[7] != 0) {\nLAB_00180a17:\n          uVar35 = false;\n          uVar28 = 0;\n          uVar38 = true;\n          do {\n            iVar27 = (int)uVar28;\n                    \n            (**(code **)(*plVar14 + 0x80))(&local_c8,plVar14,uVar28);\n            lVar21 = 5;\n            pbVar16 = (byte *)".text";\n            puVar32 = local_c8;\n            do {\n              if (lVar21 == 0) break;\n              lVar21 = lVar21 + -1;\n              uVar35 = *pbVar16 < (byte)*puVar32;\n              uVar38 = *pbVar16 == (byte)*puVar32;\n              pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n              puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n            } while ((bool)uVar38);\n            bVar36 = false;\n            bVar39 = (!(bool)uVar35 && !(bool)uVar38) == (bool)uVar35;\n            if (bVar39) {\nLAB_00180a28:\n              puVar18 = (undefined8 *)*puVar19;\n              if ((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28) {\n                    \n                    \n                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (*(long *)(puVar18[10] + uVar28 * 8) == 0) goto LAB_00180c96;\n              lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n              if (lVar21 == 0) {\n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(lVar21 + 0x2809) != '\0') {\n                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                local_78 = puVar18;\n                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);\n                if (lVar21 == 0) goto LAB_00180c96;\n                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar21 == 0) {\n                    \n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (*(int *)(lVar21 + 0x9050) == 2) {\n                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);\n                bVar36 = false;\n                bVar39 = pbVar16 == (byte *)0x0;\n                if (bVar39) {\n                    \n                    \n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar21 = 4;\n                pbVar31 = &DAT_00373305;\n                pbVar33 = pbVar16;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);\n                bVar37 = false;\n                bVar36 = (!bVar36 && !bVar39) == bVar36;\n                if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }\n                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = &local_78;\n              local_78 = (undefined8 *)*puVar19;\n              puVar32 = (ulong *)param_1[1];\n              if (puVar32 == (ulong *)param_1[2]) {\n                uStack_70._0_4_ = iVar27;\n                FUN_001825a0(param_1,puVar32,local_1a8);\n              }\n              else {\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }\n              local_78 = (undefined8 *)*puVar19;\n              uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n              uVar24 = (ulong)local_78 ^ uVar28;\n              local_1a0 = uVar24 % (ulong)param_1[4];\n              puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24);\n              if ((puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)) {\n                    \n                plVar14 = (long *)FUN_002d94a0(0x28);\n                lVar21 = param_1[6];\n                *plVar14 = 0;\n                lVar29 = param_1[4];\n                *(undefined4 *)(plVar14 + 3) = 0;\n                plVar14[1] = (long)local_78;\n                plVar14[2] = uStack_70;\n                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);\n                if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    \n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }\n                plVar14[4] = uVar24;\n                plVar22 = plVar15 + local_1a0;\n                if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }\n                param_1[6] = param_1[6] + 1;\n              }\n              piVar5 = (int *)param_1[0xb];\n              *(int *)(plVar14 + 3) = iVar13;\n              if (piVar5 == (int *)param_1[0xc]) {\n                __src = (int *)param_1[10];\n                sVar17 = (long)piVar5 - (long)__src;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }\n                *(int *)((long)__dest + sVar17) = iVar13;\n                lVar21 = (long)__dest + sVar17 + 4;\n                if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }\n                param_1[10] = (long)__dest;\n                param_1[0xb] = lVar21;\n                param_1[0xc] = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    \n              local_78 = (undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28);\n              if (local_160 == local_158) {\n                FUN_00182710(&local_168,local_160,local_1a8);\n              }\n              else {\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }\n              iVar10 = local_90;\n              puVar32 = local_98;\n              if (local_98 == local_88) {\n                local_180 = local_90;\n                local_188 = local_98;\n                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);\n              }\n              else {\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }\n              local_78 = &local_68;\n              FUN_001665c0(local_1a8,"");\n                    \n              FUN_0016f840(&local_148,local_1a8);\n              if (local_78 != &local_68) {\n                FUN_002dac70();\n              }\n              iVar13 = iVar13 + 1;\n              if (local_c8 != local_b8) goto LAB_00180c31;\n            }\n            else {\n              lVar21 = 0xf;\n              pbVar16 = (byte *)".gnu.linkonce.t";\n              puVar32 = local_c8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              } while (bVar39);\n              if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;\nLAB_00180c96:\n              if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }\n            }\n            plVar14 = (long *)*puVar19;\n            uVar26 = iVar27 + 1;\n            uVar28 = (ulong)uVar26;\n            uVar35 = uVar26 < *(uint *)(plVar14 + 7);\n            uVar38 = uVar26 == *(uint *)(plVar14 + 7);\n          } while ((bool)uVar35);\n        }\n        if (plVar30[5] != 0) {\n          FUN_0017a690(plVar30[5] + 0x28,0xffffffffffffffff);\n        }\n      }\n      puVar19 = puVar19 + 1;\n    } while ((ulong *)param_2[1] != puVar19);\n  }" else (compound_statement "{\n    local_1c8 = (undefined4 *)0x0;\n    local_1b0 = (undefined4 *)0x0;\n    local_1d8 = (undefined4 *)0x0;\n    iVar13 = 0;\n    do {\n      plVar30 = (long *)*puVar19;\n      if (plVar30[5] == 0) {\n        plVar14 = plVar30;\n        if ((int)plVar30[7] != 0) goto LAB_00180a17;\n      }\n      else {\n                    \n        FUN_00179ad0(plVar30[5] + 0x28,0xffffffffffffffff);\n        plVar14 = (long *)*puVar19;\n        if ((int)((long *)*puVar19)[7] != 0) {\nLAB_00180a17:\n          uVar35 = false;\n          uVar28 = 0;\n          uVar38 = true;\n          do {\n            iVar27 = (int)uVar28;\n                    \n            (**(code **)(*plVar14 + 0x80))(&local_c8,plVar14,uVar28);\n            lVar21 = 5;\n            pbVar16 = (byte *)".text";\n            puVar32 = local_c8;\n            do {\n              if (lVar21 == 0) break;\n              lVar21 = lVar21 + -1;\n              uVar35 = *pbVar16 < (byte)*puVar32;\n              uVar38 = *pbVar16 == (byte)*puVar32;\n              pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n              puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n            } while ((bool)uVar38);\n            bVar36 = false;\n            bVar39 = (!(bool)uVar35 && !(bool)uVar38) == (bool)uVar35;\n            if (bVar39) {\nLAB_00180a28:\n              puVar18 = (undefined8 *)*puVar19;\n              if ((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28) {\n                    \n                    \n                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (*(long *)(puVar18[10] + uVar28 * 8) == 0) goto LAB_00180c96;\n              lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n              if (lVar21 == 0) {\n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(lVar21 + 0x2809) != '\0') {\n                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                local_78 = puVar18;\n                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);\n                if (lVar21 == 0) goto LAB_00180c96;\n                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar21 == 0) {\n                    \n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (*(int *)(lVar21 + 0x9050) == 2) {\n                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);\n                bVar36 = false;\n                bVar39 = pbVar16 == (byte *)0x0;\n                if (bVar39) {\n                    \n                    \n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar21 = 4;\n                pbVar31 = &DAT_00373305;\n                pbVar33 = pbVar16;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);\n                bVar37 = false;\n                bVar36 = (!bVar36 && !bVar39) == bVar36;\n                if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }\n                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = &local_78;\n              local_78 = (undefined8 *)*puVar19;\n              puVar32 = (ulong *)param_1[1];\n              if (puVar32 == (ulong *)param_1[2]) {\n                uStack_70._0_4_ = iVar27;\n                FUN_001825a0(param_1,puVar32,local_1a8);\n              }\n              else {\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }\n              local_78 = (undefined8 *)*puVar19;\n              uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n              uVar24 = (ulong)local_78 ^ uVar28;\n              local_1a0 = uVar24 % (ulong)param_1[4];\n              puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24);\n              if ((puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)) {\n                    \n                plVar14 = (long *)FUN_002d94a0(0x28);\n                lVar21 = param_1[6];\n                *plVar14 = 0;\n                lVar29 = param_1[4];\n                *(undefined4 *)(plVar14 + 3) = 0;\n                plVar14[1] = (long)local_78;\n                plVar14[2] = uStack_70;\n                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);\n                if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    \n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }\n                plVar14[4] = uVar24;\n                plVar22 = plVar15 + local_1a0;\n                if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }\n                param_1[6] = param_1[6] + 1;\n              }\n              piVar5 = (int *)param_1[0xb];\n              *(int *)(plVar14 + 3) = iVar13;\n              if (piVar5 == (int *)param_1[0xc]) {\n                __src = (int *)param_1[10];\n                sVar17 = (long)piVar5 - (long)__src;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }\n                *(int *)((long)__dest + sVar17) = iVar13;\n                lVar21 = (long)__dest + sVar17 + 4;\n                if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }\n                param_1[10] = (long)__dest;\n                param_1[0xb] = lVar21;\n                param_1[0xc] = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    \n              local_78 = (undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28);\n              if (local_160 == local_158) {\n                FUN_00182710(&local_168,local_160,local_1a8);\n              }\n              else {\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }\n              iVar10 = local_90;\n              puVar32 = local_98;\n              if (local_98 == local_88) {\n                local_180 = local_90;\n                local_188 = local_98;\n                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);\n              }\n              else {\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }\n              local_78 = &local_68;\n              FUN_001665c0(local_1a8,"");\n                    \n              FUN_0016f840(&local_148,local_1a8);\n              if (local_78 != &local_68) {\n                FUN_002dac70();\n              }\n              iVar13 = iVar13 + 1;\n              if (local_c8 != local_b8) goto LAB_00180c31;\n            }\n            else {\n              lVar21 = 0xf;\n              pbVar16 = (byte *)".gnu.linkonce.t";\n              puVar32 = local_c8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              } while (bVar39);\n              if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;\nLAB_00180c96:\n              if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }\n            }\n            plVar14 = (long *)*puVar19;\n            uVar26 = iVar27 + 1;\n            uVar28 = (ulong)uVar26;\n            uVar35 = uVar26 < *(uint *)(plVar14 + 7);\n            uVar38 = uVar26 == *(uint *)(plVar14 + 7);\n          } while ((bool)uVar35);\n        }\n        if (plVar30[5] != 0) {\n          FUN_0017a690(plVar30[5] + 0x28,0xffffffffffffffff);\n        }\n      }\n      puVar19 = puVar19 + 1;\n    } while ((ulong *)param_2[1] != puVar19);\n  }" { (expression_statement "local_1c8 = (undefined4 *)0x0;" (assignment_expression "local_1c8 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_1b0 = (undefined4 *)0x0;" (assignment_expression "local_1b0 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_1d8 = (undefined4 *)0x0;" (assignment_expression "local_1d8 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" identifier = number_literal) ;) (do_statement "do {\n      plVar30 = (long *)*puVar19;\n      if (plVar30[5] == 0) {\n        plVar14 = plVar30;\n        if ((int)plVar30[7] != 0) goto LAB_00180a17;\n      }\n      else {\n                    \n        FUN_00179ad0(plVar30[5] + 0x28,0xffffffffffffffff);\n        plVar14 = (long *)*puVar19;\n        if ((int)((long *)*puVar19)[7] != 0) {\nLAB_00180a17:\n          uVar35 = false;\n          uVar28 = 0;\n          uVar38 = true;\n          do {\n            iVar27 = (int)uVar28;\n                    \n            (**(code **)(*plVar14 + 0x80))(&local_c8,plVar14,uVar28);\n            lVar21 = 5;\n            pbVar16 = (byte *)".text";\n            puVar32 = local_c8;\n            do {\n              if (lVar21 == 0) break;\n              lVar21 = lVar21 + -1;\n              uVar35 = *pbVar16 < (byte)*puVar32;\n              uVar38 = *pbVar16 == (byte)*puVar32;\n              pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n              puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n            } while ((bool)uVar38);\n            bVar36 = false;\n            bVar39 = (!(bool)uVar35 && !(bool)uVar38) == (bool)uVar35;\n            if (bVar39) {\nLAB_00180a28:\n              puVar18 = (undefined8 *)*puVar19;\n              if ((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28) {\n                    \n                    \n                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (*(long *)(puVar18[10] + uVar28 * 8) == 0) goto LAB_00180c96;\n              lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n              if (lVar21 == 0) {\n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(lVar21 + 0x2809) != '\0') {\n                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                local_78 = puVar18;\n                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);\n                if (lVar21 == 0) goto LAB_00180c96;\n                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar21 == 0) {\n                    \n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (*(int *)(lVar21 + 0x9050) == 2) {\n                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);\n                bVar36 = false;\n                bVar39 = pbVar16 == (byte *)0x0;\n                if (bVar39) {\n                    \n                    \n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar21 = 4;\n                pbVar31 = &DAT_00373305;\n                pbVar33 = pbVar16;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);\n                bVar37 = false;\n                bVar36 = (!bVar36 && !bVar39) == bVar36;\n                if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }\n                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = &local_78;\n              local_78 = (undefined8 *)*puVar19;\n              puVar32 = (ulong *)param_1[1];\n              if (puVar32 == (ulong *)param_1[2]) {\n                uStack_70._0_4_ = iVar27;\n                FUN_001825a0(param_1,puVar32,local_1a8);\n              }\n              else {\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }\n              local_78 = (undefined8 *)*puVar19;\n              uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n              uVar24 = (ulong)local_78 ^ uVar28;\n              local_1a0 = uVar24 % (ulong)param_1[4];\n              puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24);\n              if ((puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)) {\n                    \n                plVar14 = (long *)FUN_002d94a0(0x28);\n                lVar21 = param_1[6];\n                *plVar14 = 0;\n                lVar29 = param_1[4];\n                *(undefined4 *)(plVar14 + 3) = 0;\n                plVar14[1] = (long)local_78;\n                plVar14[2] = uStack_70;\n                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);\n                if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    \n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }\n                plVar14[4] = uVar24;\n                plVar22 = plVar15 + local_1a0;\n                if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }\n                param_1[6] = param_1[6] + 1;\n              }\n              piVar5 = (int *)param_1[0xb];\n              *(int *)(plVar14 + 3) = iVar13;\n              if (piVar5 == (int *)param_1[0xc]) {\n                __src = (int *)param_1[10];\n                sVar17 = (long)piVar5 - (long)__src;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }\n                *(int *)((long)__dest + sVar17) = iVar13;\n                lVar21 = (long)__dest + sVar17 + 4;\n                if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }\n                param_1[10] = (long)__dest;\n                param_1[0xb] = lVar21;\n                param_1[0xc] = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    \n              local_78 = (undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28);\n              if (local_160 == local_158) {\n                FUN_00182710(&local_168,local_160,local_1a8);\n              }\n              else {\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }\n              iVar10 = local_90;\n              puVar32 = local_98;\n              if (local_98 == local_88) {\n                local_180 = local_90;\n                local_188 = local_98;\n                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);\n              }\n              else {\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }\n              local_78 = &local_68;\n              FUN_001665c0(local_1a8,"");\n                    \n              FUN_0016f840(&local_148,local_1a8);\n              if (local_78 != &local_68) {\n                FUN_002dac70();\n              }\n              iVar13 = iVar13 + 1;\n              if (local_c8 != local_b8) goto LAB_00180c31;\n            }\n            else {\n              lVar21 = 0xf;\n              pbVar16 = (byte *)".gnu.linkonce.t";\n              puVar32 = local_c8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              } while (bVar39);\n              if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;\nLAB_00180c96:\n              if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }\n            }\n            plVar14 = (long *)*puVar19;\n            uVar26 = iVar27 + 1;\n            uVar28 = (ulong)uVar26;\n            uVar35 = uVar26 < *(uint *)(plVar14 + 7);\n            uVar38 = uVar26 == *(uint *)(plVar14 + 7);\n          } while ((bool)uVar35);\n        }\n        if (plVar30[5] != 0) {\n          FUN_0017a690(plVar30[5] + 0x28,0xffffffffffffffff);\n        }\n      }\n      puVar19 = puVar19 + 1;\n    } while ((ulong *)param_2[1] != puVar19);" do (compound_statement "{\n      plVar30 = (long *)*puVar19;\n      if (plVar30[5] == 0) {\n        plVar14 = plVar30;\n        if ((int)plVar30[7] != 0) goto LAB_00180a17;\n      }\n      else {\n                    \n        FUN_00179ad0(plVar30[5] + 0x28,0xffffffffffffffff);\n        plVar14 = (long *)*puVar19;\n        if ((int)((long *)*puVar19)[7] != 0) {\nLAB_00180a17:\n          uVar35 = false;\n          uVar28 = 0;\n          uVar38 = true;\n          do {\n            iVar27 = (int)uVar28;\n                    \n            (**(code **)(*plVar14 + 0x80))(&local_c8,plVar14,uVar28);\n            lVar21 = 5;\n            pbVar16 = (byte *)".text";\n            puVar32 = local_c8;\n            do {\n              if (lVar21 == 0) break;\n              lVar21 = lVar21 + -1;\n              uVar35 = *pbVar16 < (byte)*puVar32;\n              uVar38 = *pbVar16 == (byte)*puVar32;\n              pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n              puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n            } while ((bool)uVar38);\n            bVar36 = false;\n            bVar39 = (!(bool)uVar35 && !(bool)uVar38) == (bool)uVar35;\n            if (bVar39) {\nLAB_00180a28:\n              puVar18 = (undefined8 *)*puVar19;\n              if ((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28) {\n                    \n                    \n                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (*(long *)(puVar18[10] + uVar28 * 8) == 0) goto LAB_00180c96;\n              lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n              if (lVar21 == 0) {\n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(lVar21 + 0x2809) != '\0') {\n                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                local_78 = puVar18;\n                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);\n                if (lVar21 == 0) goto LAB_00180c96;\n                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar21 == 0) {\n                    \n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (*(int *)(lVar21 + 0x9050) == 2) {\n                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);\n                bVar36 = false;\n                bVar39 = pbVar16 == (byte *)0x0;\n                if (bVar39) {\n                    \n                    \n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar21 = 4;\n                pbVar31 = &DAT_00373305;\n                pbVar33 = pbVar16;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);\n                bVar37 = false;\n                bVar36 = (!bVar36 && !bVar39) == bVar36;\n                if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }\n                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = &local_78;\n              local_78 = (undefined8 *)*puVar19;\n              puVar32 = (ulong *)param_1[1];\n              if (puVar32 == (ulong *)param_1[2]) {\n                uStack_70._0_4_ = iVar27;\n                FUN_001825a0(param_1,puVar32,local_1a8);\n              }\n              else {\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }\n              local_78 = (undefined8 *)*puVar19;\n              uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n              uVar24 = (ulong)local_78 ^ uVar28;\n              local_1a0 = uVar24 % (ulong)param_1[4];\n              puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24);\n              if ((puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)) {\n                    \n                plVar14 = (long *)FUN_002d94a0(0x28);\n                lVar21 = param_1[6];\n                *plVar14 = 0;\n                lVar29 = param_1[4];\n                *(undefined4 *)(plVar14 + 3) = 0;\n                plVar14[1] = (long)local_78;\n                plVar14[2] = uStack_70;\n                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);\n                if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    \n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }\n                plVar14[4] = uVar24;\n                plVar22 = plVar15 + local_1a0;\n                if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }\n                param_1[6] = param_1[6] + 1;\n              }\n              piVar5 = (int *)param_1[0xb];\n              *(int *)(plVar14 + 3) = iVar13;\n              if (piVar5 == (int *)param_1[0xc]) {\n                __src = (int *)param_1[10];\n                sVar17 = (long)piVar5 - (long)__src;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }\n                *(int *)((long)__dest + sVar17) = iVar13;\n                lVar21 = (long)__dest + sVar17 + 4;\n                if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }\n                param_1[10] = (long)__dest;\n                param_1[0xb] = lVar21;\n                param_1[0xc] = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    \n              local_78 = (undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28);\n              if (local_160 == local_158) {\n                FUN_00182710(&local_168,local_160,local_1a8);\n              }\n              else {\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }\n              iVar10 = local_90;\n              puVar32 = local_98;\n              if (local_98 == local_88) {\n                local_180 = local_90;\n                local_188 = local_98;\n                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);\n              }\n              else {\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }\n              local_78 = &local_68;\n              FUN_001665c0(local_1a8,"");\n                    \n              FUN_0016f840(&local_148,local_1a8);\n              if (local_78 != &local_68) {\n                FUN_002dac70();\n              }\n              iVar13 = iVar13 + 1;\n              if (local_c8 != local_b8) goto LAB_00180c31;\n            }\n            else {\n              lVar21 = 0xf;\n              pbVar16 = (byte *)".gnu.linkonce.t";\n              puVar32 = local_c8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              } while (bVar39);\n              if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;\nLAB_00180c96:\n              if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }\n            }\n            plVar14 = (long *)*puVar19;\n            uVar26 = iVar27 + 1;\n            uVar28 = (ulong)uVar26;\n            uVar35 = uVar26 < *(uint *)(plVar14 + 7);\n            uVar38 = uVar26 == *(uint *)(plVar14 + 7);\n          } while ((bool)uVar35);\n        }\n        if (plVar30[5] != 0) {\n          FUN_0017a690(plVar30[5] + 0x28,0xffffffffffffffff);\n        }\n      }\n      puVar19 = puVar19 + 1;\n    }" { (expression_statement "plVar30 = (long *)*puVar19;" (assignment_expression "plVar30 = (long *)*puVar19" identifier = (cast_expression "(long *)*puVar19" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar19" * identifier))) ;) (if_statement "if (plVar30[5] == 0) {\n        plVar14 = plVar30;\n        if ((int)plVar30[7] != 0) goto LAB_00180a17;\n      }\n      else {\n                    \n        FUN_00179ad0(plVar30[5] + 0x28,0xffffffffffffffff);\n        plVar14 = (long *)*puVar19;\n        if ((int)((long *)*puVar19)[7] != 0) {\nLAB_00180a17:\n          uVar35 = false;\n          uVar28 = 0;\n          uVar38 = true;\n          do {\n            iVar27 = (int)uVar28;\n                    \n            (**(code **)(*plVar14 + 0x80))(&local_c8,plVar14,uVar28);\n            lVar21 = 5;\n            pbVar16 = (byte *)".text";\n            puVar32 = local_c8;\n            do {\n              if (lVar21 == 0) break;\n              lVar21 = lVar21 + -1;\n              uVar35 = *pbVar16 < (byte)*puVar32;\n              uVar38 = *pbVar16 == (byte)*puVar32;\n              pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n              puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n            } while ((bool)uVar38);\n            bVar36 = false;\n            bVar39 = (!(bool)uVar35 && !(bool)uVar38) == (bool)uVar35;\n            if (bVar39) {\nLAB_00180a28:\n              puVar18 = (undefined8 *)*puVar19;\n              if ((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28) {\n                    \n                    \n                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (*(long *)(puVar18[10] + uVar28 * 8) == 0) goto LAB_00180c96;\n              lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n              if (lVar21 == 0) {\n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(lVar21 + 0x2809) != '\0') {\n                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                local_78 = puVar18;\n                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);\n                if (lVar21 == 0) goto LAB_00180c96;\n                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar21 == 0) {\n                    \n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (*(int *)(lVar21 + 0x9050) == 2) {\n                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);\n                bVar36 = false;\n                bVar39 = pbVar16 == (byte *)0x0;\n                if (bVar39) {\n                    \n                    \n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar21 = 4;\n                pbVar31 = &DAT_00373305;\n                pbVar33 = pbVar16;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);\n                bVar37 = false;\n                bVar36 = (!bVar36 && !bVar39) == bVar36;\n                if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }\n                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = &local_78;\n              local_78 = (undefined8 *)*puVar19;\n              puVar32 = (ulong *)param_1[1];\n              if (puVar32 == (ulong *)param_1[2]) {\n                uStack_70._0_4_ = iVar27;\n                FUN_001825a0(param_1,puVar32,local_1a8);\n              }\n              else {\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }\n              local_78 = (undefined8 *)*puVar19;\n              uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n              uVar24 = (ulong)local_78 ^ uVar28;\n              local_1a0 = uVar24 % (ulong)param_1[4];\n              puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24);\n              if ((puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)) {\n                    \n                plVar14 = (long *)FUN_002d94a0(0x28);\n                lVar21 = param_1[6];\n                *plVar14 = 0;\n                lVar29 = param_1[4];\n                *(undefined4 *)(plVar14 + 3) = 0;\n                plVar14[1] = (long)local_78;\n                plVar14[2] = uStack_70;\n                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);\n                if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    \n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }\n                plVar14[4] = uVar24;\n                plVar22 = plVar15 + local_1a0;\n                if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }\n                param_1[6] = param_1[6] + 1;\n              }\n              piVar5 = (int *)param_1[0xb];\n              *(int *)(plVar14 + 3) = iVar13;\n              if (piVar5 == (int *)param_1[0xc]) {\n                __src = (int *)param_1[10];\n                sVar17 = (long)piVar5 - (long)__src;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }\n                *(int *)((long)__dest + sVar17) = iVar13;\n                lVar21 = (long)__dest + sVar17 + 4;\n                if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }\n                param_1[10] = (long)__dest;\n                param_1[0xb] = lVar21;\n                param_1[0xc] = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    \n              local_78 = (undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28);\n              if (local_160 == local_158) {\n                FUN_00182710(&local_168,local_160,local_1a8);\n              }\n              else {\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }\n              iVar10 = local_90;\n              puVar32 = local_98;\n              if (local_98 == local_88) {\n                local_180 = local_90;\n                local_188 = local_98;\n                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);\n              }\n              else {\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }\n              local_78 = &local_68;\n              FUN_001665c0(local_1a8,"");\n                    \n              FUN_0016f840(&local_148,local_1a8);\n              if (local_78 != &local_68) {\n                FUN_002dac70();\n              }\n              iVar13 = iVar13 + 1;\n              if (local_c8 != local_b8) goto LAB_00180c31;\n            }\n            else {\n              lVar21 = 0xf;\n              pbVar16 = (byte *)".gnu.linkonce.t";\n              puVar32 = local_c8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              } while (bVar39);\n              if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;\nLAB_00180c96:\n              if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }\n            }\n            plVar14 = (long *)*puVar19;\n            uVar26 = iVar27 + 1;\n            uVar28 = (ulong)uVar26;\n            uVar35 = uVar26 < *(uint *)(plVar14 + 7);\n            uVar38 = uVar26 == *(uint *)(plVar14 + 7);\n          } while ((bool)uVar35);\n        }\n        if (plVar30[5] != 0) {\n          FUN_0017a690(plVar30[5] + 0x28,0xffffffffffffffff);\n        }\n      }" if (parenthesized_expression "(plVar30[5] == 0)" ( (binary_expression "plVar30[5] == 0" (subscript_expression "plVar30[5]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        plVar14 = plVar30;\n        if ((int)plVar30[7] != 0) goto LAB_00180a17;\n      }" { (expression_statement "plVar14 = plVar30;" (assignment_expression "plVar14 = plVar30" identifier = identifier) ;) (if_statement "if ((int)plVar30[7] != 0) goto LAB_00180a17;" if (parenthesized_expression "((int)plVar30[7] != 0)" ( (binary_expression "(int)plVar30[7] != 0" (cast_expression "(int)plVar30[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "plVar30[7]" identifier [ number_literal ])) != number_literal) )) (goto_statement "goto LAB_00180a17;" goto statement_identifier ;)) }) (else_clause "else {\n                    \n        FUN_00179ad0(plVar30[5] + 0x28,0xffffffffffffffff);\n        plVar14 = (long *)*puVar19;\n        if ((int)((long *)*puVar19)[7] != 0) {\nLAB_00180a17:\n          uVar35 = false;\n          uVar28 = 0;\n          uVar38 = true;\n          do {\n            iVar27 = (int)uVar28;\n                    \n            (**(code **)(*plVar14 + 0x80))(&local_c8,plVar14,uVar28);\n            lVar21 = 5;\n            pbVar16 = (byte *)".text";\n            puVar32 = local_c8;\n            do {\n              if (lVar21 == 0) break;\n              lVar21 = lVar21 + -1;\n              uVar35 = *pbVar16 < (byte)*puVar32;\n              uVar38 = *pbVar16 == (byte)*puVar32;\n              pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n              puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n            } while ((bool)uVar38);\n            bVar36 = false;\n            bVar39 = (!(bool)uVar35 && !(bool)uVar38) == (bool)uVar35;\n            if (bVar39) {\nLAB_00180a28:\n              puVar18 = (undefined8 *)*puVar19;\n              if ((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28) {\n                    \n                    \n                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (*(long *)(puVar18[10] + uVar28 * 8) == 0) goto LAB_00180c96;\n              lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n              if (lVar21 == 0) {\n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(lVar21 + 0x2809) != '\0') {\n                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                local_78 = puVar18;\n                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);\n                if (lVar21 == 0) goto LAB_00180c96;\n                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar21 == 0) {\n                    \n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (*(int *)(lVar21 + 0x9050) == 2) {\n                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);\n                bVar36 = false;\n                bVar39 = pbVar16 == (byte *)0x0;\n                if (bVar39) {\n                    \n                    \n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar21 = 4;\n                pbVar31 = &DAT_00373305;\n                pbVar33 = pbVar16;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);\n                bVar37 = false;\n                bVar36 = (!bVar36 && !bVar39) == bVar36;\n                if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }\n                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = &local_78;\n              local_78 = (undefined8 *)*puVar19;\n              puVar32 = (ulong *)param_1[1];\n              if (puVar32 == (ulong *)param_1[2]) {\n                uStack_70._0_4_ = iVar27;\n                FUN_001825a0(param_1,puVar32,local_1a8);\n              }\n              else {\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }\n              local_78 = (undefined8 *)*puVar19;\n              uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n              uVar24 = (ulong)local_78 ^ uVar28;\n              local_1a0 = uVar24 % (ulong)param_1[4];\n              puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24);\n              if ((puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)) {\n                    \n                plVar14 = (long *)FUN_002d94a0(0x28);\n                lVar21 = param_1[6];\n                *plVar14 = 0;\n                lVar29 = param_1[4];\n                *(undefined4 *)(plVar14 + 3) = 0;\n                plVar14[1] = (long)local_78;\n                plVar14[2] = uStack_70;\n                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);\n                if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    \n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }\n                plVar14[4] = uVar24;\n                plVar22 = plVar15 + local_1a0;\n                if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }\n                param_1[6] = param_1[6] + 1;\n              }\n              piVar5 = (int *)param_1[0xb];\n              *(int *)(plVar14 + 3) = iVar13;\n              if (piVar5 == (int *)param_1[0xc]) {\n                __src = (int *)param_1[10];\n                sVar17 = (long)piVar5 - (long)__src;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }\n                *(int *)((long)__dest + sVar17) = iVar13;\n                lVar21 = (long)__dest + sVar17 + 4;\n                if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }\n                param_1[10] = (long)__dest;\n                param_1[0xb] = lVar21;\n                param_1[0xc] = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    \n              local_78 = (undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28);\n              if (local_160 == local_158) {\n                FUN_00182710(&local_168,local_160,local_1a8);\n              }\n              else {\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }\n              iVar10 = local_90;\n              puVar32 = local_98;\n              if (local_98 == local_88) {\n                local_180 = local_90;\n                local_188 = local_98;\n                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);\n              }\n              else {\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }\n              local_78 = &local_68;\n              FUN_001665c0(local_1a8,"");\n                    \n              FUN_0016f840(&local_148,local_1a8);\n              if (local_78 != &local_68) {\n                FUN_002dac70();\n              }\n              iVar13 = iVar13 + 1;\n              if (local_c8 != local_b8) goto LAB_00180c31;\n            }\n            else {\n              lVar21 = 0xf;\n              pbVar16 = (byte *)".gnu.linkonce.t";\n              puVar32 = local_c8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              } while (bVar39);\n              if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;\nLAB_00180c96:\n              if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }\n            }\n            plVar14 = (long *)*puVar19;\n            uVar26 = iVar27 + 1;\n            uVar28 = (ulong)uVar26;\n            uVar35 = uVar26 < *(uint *)(plVar14 + 7);\n            uVar38 = uVar26 == *(uint *)(plVar14 + 7);\n          } while ((bool)uVar35);\n        }\n        if (plVar30[5] != 0) {\n          FUN_0017a690(plVar30[5] + 0x28,0xffffffffffffffff);\n        }\n      }" else (compound_statement "{\n                    \n        FUN_00179ad0(plVar30[5] + 0x28,0xffffffffffffffff);\n        plVar14 = (long *)*puVar19;\n        if ((int)((long *)*puVar19)[7] != 0) {\nLAB_00180a17:\n          uVar35 = false;\n          uVar28 = 0;\n          uVar38 = true;\n          do {\n            iVar27 = (int)uVar28;\n                    \n            (**(code **)(*plVar14 + 0x80))(&local_c8,plVar14,uVar28);\n            lVar21 = 5;\n            pbVar16 = (byte *)".text";\n            puVar32 = local_c8;\n            do {\n              if (lVar21 == 0) break;\n              lVar21 = lVar21 + -1;\n              uVar35 = *pbVar16 < (byte)*puVar32;\n              uVar38 = *pbVar16 == (byte)*puVar32;\n              pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n              puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n            } while ((bool)uVar38);\n            bVar36 = false;\n            bVar39 = (!(bool)uVar35 && !(bool)uVar38) == (bool)uVar35;\n            if (bVar39) {\nLAB_00180a28:\n              puVar18 = (undefined8 *)*puVar19;\n              if ((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28) {\n                    \n                    \n                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (*(long *)(puVar18[10] + uVar28 * 8) == 0) goto LAB_00180c96;\n              lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n              if (lVar21 == 0) {\n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(lVar21 + 0x2809) != '\0') {\n                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                local_78 = puVar18;\n                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);\n                if (lVar21 == 0) goto LAB_00180c96;\n                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar21 == 0) {\n                    \n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (*(int *)(lVar21 + 0x9050) == 2) {\n                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);\n                bVar36 = false;\n                bVar39 = pbVar16 == (byte *)0x0;\n                if (bVar39) {\n                    \n                    \n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar21 = 4;\n                pbVar31 = &DAT_00373305;\n                pbVar33 = pbVar16;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);\n                bVar37 = false;\n                bVar36 = (!bVar36 && !bVar39) == bVar36;\n                if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }\n                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = &local_78;\n              local_78 = (undefined8 *)*puVar19;\n              puVar32 = (ulong *)param_1[1];\n              if (puVar32 == (ulong *)param_1[2]) {\n                uStack_70._0_4_ = iVar27;\n                FUN_001825a0(param_1,puVar32,local_1a8);\n              }\n              else {\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }\n              local_78 = (undefined8 *)*puVar19;\n              uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n              uVar24 = (ulong)local_78 ^ uVar28;\n              local_1a0 = uVar24 % (ulong)param_1[4];\n              puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24);\n              if ((puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)) {\n                    \n                plVar14 = (long *)FUN_002d94a0(0x28);\n                lVar21 = param_1[6];\n                *plVar14 = 0;\n                lVar29 = param_1[4];\n                *(undefined4 *)(plVar14 + 3) = 0;\n                plVar14[1] = (long)local_78;\n                plVar14[2] = uStack_70;\n                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);\n                if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    \n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }\n                plVar14[4] = uVar24;\n                plVar22 = plVar15 + local_1a0;\n                if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }\n                param_1[6] = param_1[6] + 1;\n              }\n              piVar5 = (int *)param_1[0xb];\n              *(int *)(plVar14 + 3) = iVar13;\n              if (piVar5 == (int *)param_1[0xc]) {\n                __src = (int *)param_1[10];\n                sVar17 = (long)piVar5 - (long)__src;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }\n                *(int *)((long)__dest + sVar17) = iVar13;\n                lVar21 = (long)__dest + sVar17 + 4;\n                if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }\n                param_1[10] = (long)__dest;\n                param_1[0xb] = lVar21;\n                param_1[0xc] = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    \n              local_78 = (undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28);\n              if (local_160 == local_158) {\n                FUN_00182710(&local_168,local_160,local_1a8);\n              }\n              else {\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }\n              iVar10 = local_90;\n              puVar32 = local_98;\n              if (local_98 == local_88) {\n                local_180 = local_90;\n                local_188 = local_98;\n                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);\n              }\n              else {\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }\n              local_78 = &local_68;\n              FUN_001665c0(local_1a8,"");\n                    \n              FUN_0016f840(&local_148,local_1a8);\n              if (local_78 != &local_68) {\n                FUN_002dac70();\n              }\n              iVar13 = iVar13 + 1;\n              if (local_c8 != local_b8) goto LAB_00180c31;\n            }\n            else {\n              lVar21 = 0xf;\n              pbVar16 = (byte *)".gnu.linkonce.t";\n              puVar32 = local_c8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              } while (bVar39);\n              if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;\nLAB_00180c96:\n              if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }\n            }\n            plVar14 = (long *)*puVar19;\n            uVar26 = iVar27 + 1;\n            uVar28 = (ulong)uVar26;\n            uVar35 = uVar26 < *(uint *)(plVar14 + 7);\n            uVar38 = uVar26 == *(uint *)(plVar14 + 7);\n          } while ((bool)uVar35);\n        }\n        if (plVar30[5] != 0) {\n          FUN_0017a690(plVar30[5] + 0x28,0xffffffffffffffff);\n        }\n      }" { (expression_statement "FUN_00179ad0(plVar30[5] + 0x28,0xffffffffffffffff);" (call_expression "FUN_00179ad0(plVar30[5] + 0x28,0xffffffffffffffff)" identifier (argument_list "(plVar30[5] + 0x28,0xffffffffffffffff)" ( (binary_expression "plVar30[5] + 0x28" (subscript_expression "plVar30[5]" identifier [ number_literal ]) + number_literal) , number_literal ))) ;) (expression_statement "plVar14 = (long *)*puVar19;" (assignment_expression "plVar14 = (long *)*puVar19" identifier = (cast_expression "(long *)*puVar19" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar19" * identifier))) ;) (if_statement "if ((int)((long *)*puVar19)[7] != 0) {\nLAB_00180a17:\n          uVar35 = false;\n          uVar28 = 0;\n          uVar38 = true;\n          do {\n            iVar27 = (int)uVar28;\n                    \n            (**(code **)(*plVar14 + 0x80))(&local_c8,plVar14,uVar28);\n            lVar21 = 5;\n            pbVar16 = (byte *)".text";\n            puVar32 = local_c8;\n            do {\n              if (lVar21 == 0) break;\n              lVar21 = lVar21 + -1;\n              uVar35 = *pbVar16 < (byte)*puVar32;\n              uVar38 = *pbVar16 == (byte)*puVar32;\n              pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n              puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n            } while ((bool)uVar38);\n            bVar36 = false;\n            bVar39 = (!(bool)uVar35 && !(bool)uVar38) == (bool)uVar35;\n            if (bVar39) {\nLAB_00180a28:\n              puVar18 = (undefined8 *)*puVar19;\n              if ((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28) {\n                    \n                    \n                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (*(long *)(puVar18[10] + uVar28 * 8) == 0) goto LAB_00180c96;\n              lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n              if (lVar21 == 0) {\n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(lVar21 + 0x2809) != '\0') {\n                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                local_78 = puVar18;\n                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);\n                if (lVar21 == 0) goto LAB_00180c96;\n                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar21 == 0) {\n                    \n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (*(int *)(lVar21 + 0x9050) == 2) {\n                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);\n                bVar36 = false;\n                bVar39 = pbVar16 == (byte *)0x0;\n                if (bVar39) {\n                    \n                    \n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar21 = 4;\n                pbVar31 = &DAT_00373305;\n                pbVar33 = pbVar16;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);\n                bVar37 = false;\n                bVar36 = (!bVar36 && !bVar39) == bVar36;\n                if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }\n                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = &local_78;\n              local_78 = (undefined8 *)*puVar19;\n              puVar32 = (ulong *)param_1[1];\n              if (puVar32 == (ulong *)param_1[2]) {\n                uStack_70._0_4_ = iVar27;\n                FUN_001825a0(param_1,puVar32,local_1a8);\n              }\n              else {\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }\n              local_78 = (undefined8 *)*puVar19;\n              uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n              uVar24 = (ulong)local_78 ^ uVar28;\n              local_1a0 = uVar24 % (ulong)param_1[4];\n              puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24);\n              if ((puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)) {\n                    \n                plVar14 = (long *)FUN_002d94a0(0x28);\n                lVar21 = param_1[6];\n                *plVar14 = 0;\n                lVar29 = param_1[4];\n                *(undefined4 *)(plVar14 + 3) = 0;\n                plVar14[1] = (long)local_78;\n                plVar14[2] = uStack_70;\n                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);\n                if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    \n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }\n                plVar14[4] = uVar24;\n                plVar22 = plVar15 + local_1a0;\n                if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }\n                param_1[6] = param_1[6] + 1;\n              }\n              piVar5 = (int *)param_1[0xb];\n              *(int *)(plVar14 + 3) = iVar13;\n              if (piVar5 == (int *)param_1[0xc]) {\n                __src = (int *)param_1[10];\n                sVar17 = (long)piVar5 - (long)__src;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }\n                *(int *)((long)__dest + sVar17) = iVar13;\n                lVar21 = (long)__dest + sVar17 + 4;\n                if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }\n                param_1[10] = (long)__dest;\n                param_1[0xb] = lVar21;\n                param_1[0xc] = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    \n              local_78 = (undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28);\n              if (local_160 == local_158) {\n                FUN_00182710(&local_168,local_160,local_1a8);\n              }\n              else {\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }\n              iVar10 = local_90;\n              puVar32 = local_98;\n              if (local_98 == local_88) {\n                local_180 = local_90;\n                local_188 = local_98;\n                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);\n              }\n              else {\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }\n              local_78 = &local_68;\n              FUN_001665c0(local_1a8,"");\n                    \n              FUN_0016f840(&local_148,local_1a8);\n              if (local_78 != &local_68) {\n                FUN_002dac70();\n              }\n              iVar13 = iVar13 + 1;\n              if (local_c8 != local_b8) goto LAB_00180c31;\n            }\n            else {\n              lVar21 = 0xf;\n              pbVar16 = (byte *)".gnu.linkonce.t";\n              puVar32 = local_c8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              } while (bVar39);\n              if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;\nLAB_00180c96:\n              if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }\n            }\n            plVar14 = (long *)*puVar19;\n            uVar26 = iVar27 + 1;\n            uVar28 = (ulong)uVar26;\n            uVar35 = uVar26 < *(uint *)(plVar14 + 7);\n            uVar38 = uVar26 == *(uint *)(plVar14 + 7);\n          } while ((bool)uVar35);\n        }" if (parenthesized_expression "((int)((long *)*puVar19)[7] != 0)" ( (binary_expression "(int)((long *)*puVar19)[7] != 0" (cast_expression "(int)((long *)*puVar19)[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "((long *)*puVar19)[7]" (parenthesized_expression "((long *)*puVar19)" ( (cast_expression "(long *)*puVar19" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar19" * identifier)) )) [ number_literal ])) != number_literal) )) (compound_statement "{\nLAB_00180a17:\n          uVar35 = false;\n          uVar28 = 0;\n          uVar38 = true;\n          do {\n            iVar27 = (int)uVar28;\n                    \n            (**(code **)(*plVar14 + 0x80))(&local_c8,plVar14,uVar28);\n            lVar21 = 5;\n            pbVar16 = (byte *)".text";\n            puVar32 = local_c8;\n            do {\n              if (lVar21 == 0) break;\n              lVar21 = lVar21 + -1;\n              uVar35 = *pbVar16 < (byte)*puVar32;\n              uVar38 = *pbVar16 == (byte)*puVar32;\n              pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n              puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n            } while ((bool)uVar38);\n            bVar36 = false;\n            bVar39 = (!(bool)uVar35 && !(bool)uVar38) == (bool)uVar35;\n            if (bVar39) {\nLAB_00180a28:\n              puVar18 = (undefined8 *)*puVar19;\n              if ((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28) {\n                    \n                    \n                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (*(long *)(puVar18[10] + uVar28 * 8) == 0) goto LAB_00180c96;\n              lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n              if (lVar21 == 0) {\n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(lVar21 + 0x2809) != '\0') {\n                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                local_78 = puVar18;\n                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);\n                if (lVar21 == 0) goto LAB_00180c96;\n                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar21 == 0) {\n                    \n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (*(int *)(lVar21 + 0x9050) == 2) {\n                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);\n                bVar36 = false;\n                bVar39 = pbVar16 == (byte *)0x0;\n                if (bVar39) {\n                    \n                    \n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar21 = 4;\n                pbVar31 = &DAT_00373305;\n                pbVar33 = pbVar16;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);\n                bVar37 = false;\n                bVar36 = (!bVar36 && !bVar39) == bVar36;\n                if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }\n                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = &local_78;\n              local_78 = (undefined8 *)*puVar19;\n              puVar32 = (ulong *)param_1[1];\n              if (puVar32 == (ulong *)param_1[2]) {\n                uStack_70._0_4_ = iVar27;\n                FUN_001825a0(param_1,puVar32,local_1a8);\n              }\n              else {\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }\n              local_78 = (undefined8 *)*puVar19;\n              uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n              uVar24 = (ulong)local_78 ^ uVar28;\n              local_1a0 = uVar24 % (ulong)param_1[4];\n              puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24);\n              if ((puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)) {\n                    \n                plVar14 = (long *)FUN_002d94a0(0x28);\n                lVar21 = param_1[6];\n                *plVar14 = 0;\n                lVar29 = param_1[4];\n                *(undefined4 *)(plVar14 + 3) = 0;\n                plVar14[1] = (long)local_78;\n                plVar14[2] = uStack_70;\n                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);\n                if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    \n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }\n                plVar14[4] = uVar24;\n                plVar22 = plVar15 + local_1a0;\n                if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }\n                param_1[6] = param_1[6] + 1;\n              }\n              piVar5 = (int *)param_1[0xb];\n              *(int *)(plVar14 + 3) = iVar13;\n              if (piVar5 == (int *)param_1[0xc]) {\n                __src = (int *)param_1[10];\n                sVar17 = (long)piVar5 - (long)__src;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }\n                *(int *)((long)__dest + sVar17) = iVar13;\n                lVar21 = (long)__dest + sVar17 + 4;\n                if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }\n                param_1[10] = (long)__dest;\n                param_1[0xb] = lVar21;\n                param_1[0xc] = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    \n              local_78 = (undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28);\n              if (local_160 == local_158) {\n                FUN_00182710(&local_168,local_160,local_1a8);\n              }\n              else {\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }\n              iVar10 = local_90;\n              puVar32 = local_98;\n              if (local_98 == local_88) {\n                local_180 = local_90;\n                local_188 = local_98;\n                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);\n              }\n              else {\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }\n              local_78 = &local_68;\n              FUN_001665c0(local_1a8,"");\n                    \n              FUN_0016f840(&local_148,local_1a8);\n              if (local_78 != &local_68) {\n                FUN_002dac70();\n              }\n              iVar13 = iVar13 + 1;\n              if (local_c8 != local_b8) goto LAB_00180c31;\n            }\n            else {\n              lVar21 = 0xf;\n              pbVar16 = (byte *)".gnu.linkonce.t";\n              puVar32 = local_c8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              } while (bVar39);\n              if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;\nLAB_00180c96:\n              if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }\n            }\n            plVar14 = (long *)*puVar19;\n            uVar26 = iVar27 + 1;\n            uVar28 = (ulong)uVar26;\n            uVar35 = uVar26 < *(uint *)(plVar14 + 7);\n            uVar38 = uVar26 == *(uint *)(plVar14 + 7);\n          } while ((bool)uVar35);\n        }" { (labeled_statement "LAB_00180a17:\n          uVar35 = false;" statement_identifier : (expression_statement "uVar35 = false;" (assignment_expression "uVar35 = false" identifier = false) ;)) (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" identifier = number_literal) ;) (expression_statement "uVar38 = true;" (assignment_expression "uVar38 = true" identifier = true) ;) (do_statement "do {\n            iVar27 = (int)uVar28;\n                    \n            (**(code **)(*plVar14 + 0x80))(&local_c8,plVar14,uVar28);\n            lVar21 = 5;\n            pbVar16 = (byte *)".text";\n            puVar32 = local_c8;\n            do {\n              if (lVar21 == 0) break;\n              lVar21 = lVar21 + -1;\n              uVar35 = *pbVar16 < (byte)*puVar32;\n              uVar38 = *pbVar16 == (byte)*puVar32;\n              pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n              puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n            } while ((bool)uVar38);\n            bVar36 = false;\n            bVar39 = (!(bool)uVar35 && !(bool)uVar38) == (bool)uVar35;\n            if (bVar39) {\nLAB_00180a28:\n              puVar18 = (undefined8 *)*puVar19;\n              if ((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28) {\n                    \n                    \n                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (*(long *)(puVar18[10] + uVar28 * 8) == 0) goto LAB_00180c96;\n              lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n              if (lVar21 == 0) {\n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(lVar21 + 0x2809) != '\0') {\n                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                local_78 = puVar18;\n                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);\n                if (lVar21 == 0) goto LAB_00180c96;\n                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar21 == 0) {\n                    \n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (*(int *)(lVar21 + 0x9050) == 2) {\n                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);\n                bVar36 = false;\n                bVar39 = pbVar16 == (byte *)0x0;\n                if (bVar39) {\n                    \n                    \n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar21 = 4;\n                pbVar31 = &DAT_00373305;\n                pbVar33 = pbVar16;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);\n                bVar37 = false;\n                bVar36 = (!bVar36 && !bVar39) == bVar36;\n                if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }\n                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = &local_78;\n              local_78 = (undefined8 *)*puVar19;\n              puVar32 = (ulong *)param_1[1];\n              if (puVar32 == (ulong *)param_1[2]) {\n                uStack_70._0_4_ = iVar27;\n                FUN_001825a0(param_1,puVar32,local_1a8);\n              }\n              else {\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }\n              local_78 = (undefined8 *)*puVar19;\n              uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n              uVar24 = (ulong)local_78 ^ uVar28;\n              local_1a0 = uVar24 % (ulong)param_1[4];\n              puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24);\n              if ((puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)) {\n                    \n                plVar14 = (long *)FUN_002d94a0(0x28);\n                lVar21 = param_1[6];\n                *plVar14 = 0;\n                lVar29 = param_1[4];\n                *(undefined4 *)(plVar14 + 3) = 0;\n                plVar14[1] = (long)local_78;\n                plVar14[2] = uStack_70;\n                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);\n                if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    \n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }\n                plVar14[4] = uVar24;\n                plVar22 = plVar15 + local_1a0;\n                if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }\n                param_1[6] = param_1[6] + 1;\n              }\n              piVar5 = (int *)param_1[0xb];\n              *(int *)(plVar14 + 3) = iVar13;\n              if (piVar5 == (int *)param_1[0xc]) {\n                __src = (int *)param_1[10];\n                sVar17 = (long)piVar5 - (long)__src;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }\n                *(int *)((long)__dest + sVar17) = iVar13;\n                lVar21 = (long)__dest + sVar17 + 4;\n                if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }\n                param_1[10] = (long)__dest;\n                param_1[0xb] = lVar21;\n                param_1[0xc] = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    \n              local_78 = (undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28);\n              if (local_160 == local_158) {\n                FUN_00182710(&local_168,local_160,local_1a8);\n              }\n              else {\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }\n              iVar10 = local_90;\n              puVar32 = local_98;\n              if (local_98 == local_88) {\n                local_180 = local_90;\n                local_188 = local_98;\n                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);\n              }\n              else {\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }\n              local_78 = &local_68;\n              FUN_001665c0(local_1a8,"");\n                    \n              FUN_0016f840(&local_148,local_1a8);\n              if (local_78 != &local_68) {\n                FUN_002dac70();\n              }\n              iVar13 = iVar13 + 1;\n              if (local_c8 != local_b8) goto LAB_00180c31;\n            }\n            else {\n              lVar21 = 0xf;\n              pbVar16 = (byte *)".gnu.linkonce.t";\n              puVar32 = local_c8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              } while (bVar39);\n              if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;\nLAB_00180c96:\n              if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }\n            }\n            plVar14 = (long *)*puVar19;\n            uVar26 = iVar27 + 1;\n            uVar28 = (ulong)uVar26;\n            uVar35 = uVar26 < *(uint *)(plVar14 + 7);\n            uVar38 = uVar26 == *(uint *)(plVar14 + 7);\n          } while ((bool)uVar35);" do (compound_statement "{\n            iVar27 = (int)uVar28;\n                    \n            (**(code **)(*plVar14 + 0x80))(&local_c8,plVar14,uVar28);\n            lVar21 = 5;\n            pbVar16 = (byte *)".text";\n            puVar32 = local_c8;\n            do {\n              if (lVar21 == 0) break;\n              lVar21 = lVar21 + -1;\n              uVar35 = *pbVar16 < (byte)*puVar32;\n              uVar38 = *pbVar16 == (byte)*puVar32;\n              pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n              puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n            } while ((bool)uVar38);\n            bVar36 = false;\n            bVar39 = (!(bool)uVar35 && !(bool)uVar38) == (bool)uVar35;\n            if (bVar39) {\nLAB_00180a28:\n              puVar18 = (undefined8 *)*puVar19;\n              if ((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28) {\n                    \n                    \n                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (*(long *)(puVar18[10] + uVar28 * 8) == 0) goto LAB_00180c96;\n              lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n              if (lVar21 == 0) {\n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(lVar21 + 0x2809) != '\0') {\n                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                local_78 = puVar18;\n                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);\n                if (lVar21 == 0) goto LAB_00180c96;\n                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar21 == 0) {\n                    \n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (*(int *)(lVar21 + 0x9050) == 2) {\n                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);\n                bVar36 = false;\n                bVar39 = pbVar16 == (byte *)0x0;\n                if (bVar39) {\n                    \n                    \n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar21 = 4;\n                pbVar31 = &DAT_00373305;\n                pbVar33 = pbVar16;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);\n                bVar37 = false;\n                bVar36 = (!bVar36 && !bVar39) == bVar36;\n                if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }\n                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = &local_78;\n              local_78 = (undefined8 *)*puVar19;\n              puVar32 = (ulong *)param_1[1];\n              if (puVar32 == (ulong *)param_1[2]) {\n                uStack_70._0_4_ = iVar27;\n                FUN_001825a0(param_1,puVar32,local_1a8);\n              }\n              else {\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }\n              local_78 = (undefined8 *)*puVar19;\n              uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n              uVar24 = (ulong)local_78 ^ uVar28;\n              local_1a0 = uVar24 % (ulong)param_1[4];\n              puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24);\n              if ((puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)) {\n                    \n                plVar14 = (long *)FUN_002d94a0(0x28);\n                lVar21 = param_1[6];\n                *plVar14 = 0;\n                lVar29 = param_1[4];\n                *(undefined4 *)(plVar14 + 3) = 0;\n                plVar14[1] = (long)local_78;\n                plVar14[2] = uStack_70;\n                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);\n                if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    \n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }\n                plVar14[4] = uVar24;\n                plVar22 = plVar15 + local_1a0;\n                if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }\n                param_1[6] = param_1[6] + 1;\n              }\n              piVar5 = (int *)param_1[0xb];\n              *(int *)(plVar14 + 3) = iVar13;\n              if (piVar5 == (int *)param_1[0xc]) {\n                __src = (int *)param_1[10];\n                sVar17 = (long)piVar5 - (long)__src;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }\n                *(int *)((long)__dest + sVar17) = iVar13;\n                lVar21 = (long)__dest + sVar17 + 4;\n                if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }\n                param_1[10] = (long)__dest;\n                param_1[0xb] = lVar21;\n                param_1[0xc] = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    \n              local_78 = (undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28);\n              if (local_160 == local_158) {\n                FUN_00182710(&local_168,local_160,local_1a8);\n              }\n              else {\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }\n              iVar10 = local_90;\n              puVar32 = local_98;\n              if (local_98 == local_88) {\n                local_180 = local_90;\n                local_188 = local_98;\n                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);\n              }\n              else {\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }\n              local_78 = &local_68;\n              FUN_001665c0(local_1a8,"");\n                    \n              FUN_0016f840(&local_148,local_1a8);\n              if (local_78 != &local_68) {\n                FUN_002dac70();\n              }\n              iVar13 = iVar13 + 1;\n              if (local_c8 != local_b8) goto LAB_00180c31;\n            }\n            else {\n              lVar21 = 0xf;\n              pbVar16 = (byte *)".gnu.linkonce.t";\n              puVar32 = local_c8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              } while (bVar39);\n              if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;\nLAB_00180c96:\n              if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }\n            }\n            plVar14 = (long *)*puVar19;\n            uVar26 = iVar27 + 1;\n            uVar28 = (ulong)uVar26;\n            uVar35 = uVar26 < *(uint *)(plVar14 + 7);\n            uVar38 = uVar26 == *(uint *)(plVar14 + 7);\n          }" { (expression_statement "iVar27 = (int)uVar28;" (assignment_expression "iVar27 = (int)uVar28" identifier = (cast_expression "(int)uVar28" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "(**(code **)(*plVar14 + 0x80))(&local_c8,plVar14,uVar28);" (call_expression "(**(code **)(*plVar14 + 0x80))(&local_c8,plVar14,uVar28)" (parenthesized_expression "(**(code **)(*plVar14 + 0x80))" ( (pointer_expression "**(code **)(*plVar14 + 0x80)" * (pointer_expression "*(code **)(*plVar14 + 0x80)" * (cast_expression "(code **)(*plVar14 + 0x80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar14 + 0x80)" ( (binary_expression "*plVar14 + 0x80" (pointer_expression "*plVar14" * identifier) + number_literal) ))))) )) (argument_list "(&local_c8,plVar14,uVar28)" ( (pointer_expression "&local_c8" & identifier) , identifier , identifier ))) ;) (expression_statement "lVar21 = 5;" (assignment_expression "lVar21 = 5" identifier = number_literal) ;) (expression_statement "pbVar16 = (byte *)".text";" (assignment_expression "pbVar16 = (byte *)".text"" identifier = (cast_expression "(byte *)".text"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".text"" " string_content "))) ;) (expression_statement "puVar32 = local_c8;" (assignment_expression "puVar32 = local_c8" identifier = identifier) ;) (do_statement "do {\n              if (lVar21 == 0) break;\n              lVar21 = lVar21 + -1;\n              uVar35 = *pbVar16 < (byte)*puVar32;\n              uVar38 = *pbVar16 == (byte)*puVar32;\n              pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n              puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n            } while ((bool)uVar38);" do (compound_statement "{\n              if (lVar21 == 0) break;\n              lVar21 = lVar21 + -1;\n              uVar35 = *pbVar16 < (byte)*puVar32;\n              uVar38 = *pbVar16 == (byte)*puVar32;\n              pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n              puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n            }" { (if_statement "if (lVar21 == 0) break;" if (parenthesized_expression "(lVar21 == 0)" ( (binary_expression "lVar21 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar21 = lVar21 + -1;" (assignment_expression "lVar21 = lVar21 + -1" identifier = (binary_expression "lVar21 + -1" identifier + number_literal)) ;) (expression_statement "uVar35 = *pbVar16 < (byte)*puVar32;" (assignment_expression "uVar35 = *pbVar16 < (byte)*puVar32" identifier = (binary_expression "*pbVar16 < (byte)*puVar32" (pointer_expression "*pbVar16" * identifier) < (binary_expression "(byte)*puVar32" (parenthesized_expression "(byte)" ( identifier )) * identifier))) ;) (expression_statement "uVar38 = *pbVar16 == (byte)*puVar32;" (assignment_expression "uVar38 = *pbVar16 == (byte)*puVar32" identifier = (binary_expression "*pbVar16 == (byte)*puVar32" (pointer_expression "*pbVar16" * identifier) == (binary_expression "(byte)*puVar32" (parenthesized_expression "(byte)" ( identifier )) * identifier))) ;) (expression_statement "pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;" (assignment_expression "pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1" identifier = (binary_expression "pbVar16 + (ulong)bVar40 * -2 + 1" (binary_expression "pbVar16 + (ulong)bVar40 * -2" identifier + (binary_expression "(ulong)bVar40 * -2" (cast_expression "(ulong)bVar40" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);" (assignment_expression "puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1)" identifier = (cast_expression "(ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar32 + (ulong)bVar40 * -2 + 1)" ( (binary_expression "(long)puVar32 + (ulong)bVar40 * -2 + 1" (binary_expression "(long)puVar32 + (ulong)bVar40 * -2" (cast_expression "(long)puVar32" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "(ulong)bVar40 * -2" (cast_expression "(ulong)bVar40" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) }) while (parenthesized_expression "((bool)uVar38)" ( (cast_expression "(bool)uVar38" ( (type_descriptor "bool" primitive_type) ) identifier) )) ;) (expression_statement "bVar36 = false;" (assignment_expression "bVar36 = false" identifier = false) ;) (expression_statement "bVar39 = (!(bool)uVar35 && !(bool)uVar38) == (bool)uVar35;" (assignment_expression "bVar39 = (!(bool)uVar35 && !(bool)uVar38) == (bool)uVar35" identifier = (binary_expression "(!(bool)uVar35 && !(bool)uVar38) == (bool)uVar35" (parenthesized_expression "(!(bool)uVar35 && !(bool)uVar38)" ( (binary_expression "!(bool)uVar35 && !(bool)uVar38" (unary_expression "!(bool)uVar35" ! (cast_expression "(bool)uVar35" ( (type_descriptor "bool" primitive_type) ) identifier)) && (unary_expression "!(bool)uVar38" ! (cast_expression "(bool)uVar38" ( (type_descriptor "bool" primitive_type) ) identifier))) )) == (cast_expression "(bool)uVar35" ( (type_descriptor "bool" primitive_type) ) identifier))) ;) (if_statement "if (bVar39) {\nLAB_00180a28:\n              puVar18 = (undefined8 *)*puVar19;\n              if ((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28) {\n                    \n                    \n                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (*(long *)(puVar18[10] + uVar28 * 8) == 0) goto LAB_00180c96;\n              lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n              if (lVar21 == 0) {\n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(lVar21 + 0x2809) != '\0') {\n                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                local_78 = puVar18;\n                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);\n                if (lVar21 == 0) goto LAB_00180c96;\n                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar21 == 0) {\n                    \n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (*(int *)(lVar21 + 0x9050) == 2) {\n                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);\n                bVar36 = false;\n                bVar39 = pbVar16 == (byte *)0x0;\n                if (bVar39) {\n                    \n                    \n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar21 = 4;\n                pbVar31 = &DAT_00373305;\n                pbVar33 = pbVar16;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);\n                bVar37 = false;\n                bVar36 = (!bVar36 && !bVar39) == bVar36;\n                if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }\n                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = &local_78;\n              local_78 = (undefined8 *)*puVar19;\n              puVar32 = (ulong *)param_1[1];\n              if (puVar32 == (ulong *)param_1[2]) {\n                uStack_70._0_4_ = iVar27;\n                FUN_001825a0(param_1,puVar32,local_1a8);\n              }\n              else {\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }\n              local_78 = (undefined8 *)*puVar19;\n              uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n              uVar24 = (ulong)local_78 ^ uVar28;\n              local_1a0 = uVar24 % (ulong)param_1[4];\n              puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24);\n              if ((puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)) {\n                    \n                plVar14 = (long *)FUN_002d94a0(0x28);\n                lVar21 = param_1[6];\n                *plVar14 = 0;\n                lVar29 = param_1[4];\n                *(undefined4 *)(plVar14 + 3) = 0;\n                plVar14[1] = (long)local_78;\n                plVar14[2] = uStack_70;\n                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);\n                if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    \n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }\n                plVar14[4] = uVar24;\n                plVar22 = plVar15 + local_1a0;\n                if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }\n                param_1[6] = param_1[6] + 1;\n              }\n              piVar5 = (int *)param_1[0xb];\n              *(int *)(plVar14 + 3) = iVar13;\n              if (piVar5 == (int *)param_1[0xc]) {\n                __src = (int *)param_1[10];\n                sVar17 = (long)piVar5 - (long)__src;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }\n                *(int *)((long)__dest + sVar17) = iVar13;\n                lVar21 = (long)__dest + sVar17 + 4;\n                if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }\n                param_1[10] = (long)__dest;\n                param_1[0xb] = lVar21;\n                param_1[0xc] = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    \n              local_78 = (undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28);\n              if (local_160 == local_158) {\n                FUN_00182710(&local_168,local_160,local_1a8);\n              }\n              else {\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }\n              iVar10 = local_90;\n              puVar32 = local_98;\n              if (local_98 == local_88) {\n                local_180 = local_90;\n                local_188 = local_98;\n                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);\n              }\n              else {\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }\n              local_78 = &local_68;\n              FUN_001665c0(local_1a8,"");\n                    \n              FUN_0016f840(&local_148,local_1a8);\n              if (local_78 != &local_68) {\n                FUN_002dac70();\n              }\n              iVar13 = iVar13 + 1;\n              if (local_c8 != local_b8) goto LAB_00180c31;\n            }\n            else {\n              lVar21 = 0xf;\n              pbVar16 = (byte *)".gnu.linkonce.t";\n              puVar32 = local_c8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              } while (bVar39);\n              if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;\nLAB_00180c96:\n              if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }\n            }" if (parenthesized_expression "(bVar39)" ( identifier )) (compound_statement "{\nLAB_00180a28:\n              puVar18 = (undefined8 *)*puVar19;\n              if ((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28) {\n                    \n                    \n                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (*(long *)(puVar18[10] + uVar28 * 8) == 0) goto LAB_00180c96;\n              lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n              if (lVar21 == 0) {\n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(lVar21 + 0x2809) != '\0') {\n                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                local_78 = puVar18;\n                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);\n                if (lVar21 == 0) goto LAB_00180c96;\n                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar21 == 0) {\n                    \n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (*(int *)(lVar21 + 0x9050) == 2) {\n                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);\n                bVar36 = false;\n                bVar39 = pbVar16 == (byte *)0x0;\n                if (bVar39) {\n                    \n                    \n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar21 = 4;\n                pbVar31 = &DAT_00373305;\n                pbVar33 = pbVar16;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);\n                bVar37 = false;\n                bVar36 = (!bVar36 && !bVar39) == bVar36;\n                if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }\n                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = &local_78;\n              local_78 = (undefined8 *)*puVar19;\n              puVar32 = (ulong *)param_1[1];\n              if (puVar32 == (ulong *)param_1[2]) {\n                uStack_70._0_4_ = iVar27;\n                FUN_001825a0(param_1,puVar32,local_1a8);\n              }\n              else {\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }\n              local_78 = (undefined8 *)*puVar19;\n              uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n              uVar24 = (ulong)local_78 ^ uVar28;\n              local_1a0 = uVar24 % (ulong)param_1[4];\n              puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24);\n              if ((puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)) {\n                    \n                plVar14 = (long *)FUN_002d94a0(0x28);\n                lVar21 = param_1[6];\n                *plVar14 = 0;\n                lVar29 = param_1[4];\n                *(undefined4 *)(plVar14 + 3) = 0;\n                plVar14[1] = (long)local_78;\n                plVar14[2] = uStack_70;\n                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);\n                if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    \n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }\n                plVar14[4] = uVar24;\n                plVar22 = plVar15 + local_1a0;\n                if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }\n                param_1[6] = param_1[6] + 1;\n              }\n              piVar5 = (int *)param_1[0xb];\n              *(int *)(plVar14 + 3) = iVar13;\n              if (piVar5 == (int *)param_1[0xc]) {\n                __src = (int *)param_1[10];\n                sVar17 = (long)piVar5 - (long)__src;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }\n                *(int *)((long)__dest + sVar17) = iVar13;\n                lVar21 = (long)__dest + sVar17 + 4;\n                if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }\n                param_1[10] = (long)__dest;\n                param_1[0xb] = lVar21;\n                param_1[0xc] = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    \n              local_78 = (undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28);\n              if (local_160 == local_158) {\n                FUN_00182710(&local_168,local_160,local_1a8);\n              }\n              else {\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }\n              iVar10 = local_90;\n              puVar32 = local_98;\n              if (local_98 == local_88) {\n                local_180 = local_90;\n                local_188 = local_98;\n                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);\n              }\n              else {\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }\n              local_78 = &local_68;\n              FUN_001665c0(local_1a8,"");\n                    \n              FUN_0016f840(&local_148,local_1a8);\n              if (local_78 != &local_68) {\n                FUN_002dac70();\n              }\n              iVar13 = iVar13 + 1;\n              if (local_c8 != local_b8) goto LAB_00180c31;\n            }" { (labeled_statement "LAB_00180a28:\n              puVar18 = (undefined8 *)*puVar19;" statement_identifier : (expression_statement "puVar18 = (undefined8 *)*puVar19;" (assignment_expression "puVar18 = (undefined8 *)*puVar19" identifier = (cast_expression "(undefined8 *)*puVar19" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar19" * identifier))) ;)) (if_statement "if ((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28) {\n                    \n                    \n                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n              }" if (parenthesized_expression "((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28)" ( (binary_expression "(ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28" (call_expression "(ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((long)(puVar18[0xb] - puVar18[10]) >> 3)" ( (binary_expression "(long)(puVar18[0xb] - puVar18[10]) >> 3" (cast_expression "(long)(puVar18[0xb] - puVar18[10])" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "(puVar18[0xb] - puVar18[10])" ( (binary_expression "puVar18[0xb] - puVar18[10]" (subscript_expression "puVar18[0xb]" identifier [ number_literal ]) - (subscript_expression "puVar18[10]" identifier [ number_literal ])) ))) >> number_literal) ))) <= identifier) )) (compound_statement "{\n                    \n                    \n                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n              }" { (expression_statement "FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");" (call_expression "FUN_0017c650("../../gold/object.h",0x50b,"is_section_included")" identifier (argument_list "("../../gold/object.h",0x50b,"is_section_included")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""is_section_included"" " string_content ") ))) ;) })) (if_statement "if (*(long *)(puVar18[10] + uVar28 * 8) == 0) goto LAB_00180c96;" if (parenthesized_expression "(*(long *)(puVar18[10] + uVar28 * 8) == 0)" ( (binary_expression "*(long *)(puVar18[10] + uVar28 * 8) == 0" (pointer_expression "*(long *)(puVar18[10] + uVar28 * 8)" * (cast_expression "(long *)(puVar18[10] + uVar28 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18[10] + uVar28 * 8)" ( (binary_expression "puVar18[10] + uVar28 * 8" (subscript_expression "puVar18[10]" identifier [ number_literal ]) + (binary_expression "uVar28 * 8" identifier * number_literal)) )))) == number_literal) )) (goto_statement "goto LAB_00180c96;" goto statement_identifier ;)) (expression_statement "lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);" (assignment_expression "lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar21 == 0) {\n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }" if (parenthesized_expression "(lVar21 == 0)" ( (binary_expression "lVar21 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }" { (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (if_statement "if (*(char *)(lVar21 + 0x2809) != '\0') {\n                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                local_78 = puVar18;\n                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);\n                if (lVar21 == 0) goto LAB_00180c96;\n                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar21 == 0) {\n                    \n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n              }" if (parenthesized_expression "(*(char *)(lVar21 + 0x2809) != '\0')" ( (binary_expression "*(char *)(lVar21 + 0x2809) != '\0'" (pointer_expression "*(char *)(lVar21 + 0x2809)" * (cast_expression "(char *)(lVar21 + 0x2809)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar21 + 0x2809)" ( (binary_expression "lVar21 + 0x2809" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                local_78 = puVar18;\n                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);\n                if (lVar21 == 0) goto LAB_00180c96;\n                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar21 == 0) {\n                    \n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n              }" { (expression_statement "uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);" (assignment_expression "uStack_70 = CONCAT44(uStack_70._4_4_,iVar27)" identifier = (call_expression "CONCAT44(uStack_70._4_4_,iVar27)" identifier (argument_list "(uStack_70._4_4_,iVar27)" ( (field_expression "uStack_70._4_4_" identifier . field_identifier) , identifier )))) ;) (expression_statement "local_78 = puVar18;" (assignment_expression "local_78 = puVar18" identifier = identifier) ;) (expression_statement "lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);" (assignment_expression "lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78)" identifier = (call_expression "FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78)" identifier (argument_list "(*(long *)(param_3 + 0x290) + 0x50,&local_78)" ( (binary_expression "*(long *)(param_3 + 0x290) + 0x50" (pointer_expression "*(long *)(param_3 + 0x290)" * (cast_expression "(long *)(param_3 + 0x290)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x290)" ( (binary_expression "param_3 + 0x290" identifier + number_literal) )))) + number_literal) , (pointer_expression "&local_78" & identifier) )))) ;) (if_statement "if (lVar21 == 0) goto LAB_00180c96;" if (parenthesized_expression "(lVar21 == 0)" ( (binary_expression "lVar21 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00180c96;" goto statement_identifier ;)) (expression_statement "lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);" (assignment_expression "lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar21 == 0) {\n                    \n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }" if (parenthesized_expression "(lVar21 == 0)" ( (binary_expression "lVar21 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }" { (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) })) (if_statement "if (*(int *)(lVar21 + 0x9050) == 2) {\n                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);\n                bVar36 = false;\n                bVar39 = pbVar16 == (byte *)0x0;\n                if (bVar39) {\n                    \n                    \n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar21 = 4;\n                pbVar31 = &DAT_00373305;\n                pbVar33 = pbVar16;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);\n                bVar37 = false;\n                bVar36 = (!bVar36 && !bVar39) == bVar36;\n                if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }\n                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }" if (parenthesized_expression "(*(int *)(lVar21 + 0x9050) == 2)" ( (binary_expression "*(int *)(lVar21 + 0x9050) == 2" (pointer_expression "*(int *)(lVar21 + 0x9050)" * (cast_expression "(int *)(lVar21 + 0x9050)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar21 + 0x9050)" ( (binary_expression "lVar21 + 0x9050" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);\n                bVar36 = false;\n                bVar39 = pbVar16 == (byte *)0x0;\n                if (bVar39) {\n                    \n                    \n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar21 = 4;\n                pbVar31 = &DAT_00373305;\n                pbVar33 = pbVar16;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);\n                bVar37 = false;\n                bVar36 = (!bVar36 && !bVar39) == bVar36;\n                if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }\n                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }" { (expression_statement "pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);" (assignment_expression "pbVar16 = (byte *)strrchr((char *)local_c8,0x2e)" identifier = (cast_expression "(byte *)strrchr((char *)local_c8,0x2e)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "strrchr((char *)local_c8,0x2e)" identifier (argument_list "((char *)local_c8,0x2e)" ( (cast_expression "(char *)local_c8" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , number_literal ))))) ;) (expression_statement "bVar36 = false;" (assignment_expression "bVar36 = false" identifier = false) ;) (expression_statement "bVar39 = pbVar16 == (byte *)0x0;" (assignment_expression "bVar39 = pbVar16 == (byte *)0x0" identifier = (binary_expression "pbVar16 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (if_statement "if (bVar39) {\n                    \n                    \n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }" if (parenthesized_expression "(bVar39)" ( identifier )) (compound_statement "{\n                    \n                    \n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }" { (expression_statement "FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");" (call_expression "FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor")" identifier (argument_list "("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor")" ( (string_literal ""../../gold/icf.cc"" " string_content ") , number_literal , (string_literal ""is_function_ctor_or_dtor"" " string_content ") ))) ;) })) (expression_statement "lVar21 = 4;" (assignment_expression "lVar21 = 4" identifier = number_literal) ;) (expression_statement "pbVar31 = &DAT_00373305;" (assignment_expression "pbVar31 = &DAT_00373305" identifier = (pointer_expression "&DAT_00373305" & identifier)) ;) (expression_statement "pbVar33 = pbVar16;" (assignment_expression "pbVar33 = pbVar16" identifier = identifier) ;) (do_statement "do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);" do (compound_statement "{\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                }" { (if_statement "if (lVar21 == 0) break;" if (parenthesized_expression "(lVar21 == 0)" ( (binary_expression "lVar21 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar21 = lVar21 + -1;" (assignment_expression "lVar21 = lVar21 + -1" identifier = (binary_expression "lVar21 + -1" identifier + number_literal)) ;) (expression_statement "bVar36 = *pbVar31 < *pbVar33;" (assignment_expression "bVar36 = *pbVar31 < *pbVar33" identifier = (binary_expression "*pbVar31 < *pbVar33" (pointer_expression "*pbVar31" * identifier) < (pointer_expression "*pbVar33" * identifier))) ;) (expression_statement "bVar39 = *pbVar31 == *pbVar33;" (assignment_expression "bVar39 = *pbVar31 == *pbVar33" identifier = (binary_expression "*pbVar31 == *pbVar33" (pointer_expression "*pbVar31" * identifier) == (pointer_expression "*pbVar33" * identifier))) ;) (expression_statement "pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;" (assignment_expression "pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1" identifier = (binary_expression "pbVar31 + (ulong)bVar40 * -2 + 1" (binary_expression "pbVar31 + (ulong)bVar40 * -2" identifier + (binary_expression "(ulong)bVar40 * -2" (cast_expression "(ulong)bVar40" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;" (assignment_expression "pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1" identifier = (binary_expression "pbVar33 + (ulong)bVar40 * -2 + 1" (binary_expression "pbVar33 + (ulong)bVar40 * -2" identifier + (binary_expression "(ulong)bVar40 * -2" (cast_expression "(ulong)bVar40" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar39)" ( identifier )) ;) (expression_statement "bVar37 = false;" (assignment_expression "bVar37 = false" identifier = false) ;) (expression_statement "bVar36 = (!bVar36 && !bVar39) == bVar36;" (assignment_expression "bVar36 = (!bVar36 && !bVar39) == bVar36" identifier = (binary_expression "(!bVar36 && !bVar39) == bVar36" (parenthesized_expression "(!bVar36 && !bVar39)" ( (binary_expression "!bVar36 && !bVar39" (unary_expression "!bVar36" ! identifier) && (unary_expression "!bVar39" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }" if (parenthesized_expression "(bVar36)" ( identifier )) (compound_statement "{\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }" { (labeled_statement "LAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);" statement_identifier : (expression_statement "iVar10 = FUN_002d2ef0(pbVar16 + 1);" (assignment_expression "iVar10 = FUN_002d2ef0(pbVar16 + 1)" identifier = (call_expression "FUN_002d2ef0(pbVar16 + 1)" identifier (argument_list "(pbVar16 + 1)" ( (binary_expression "pbVar16 + 1" identifier + number_literal) )))) ;)) (if_statement "if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;" if (parenthesized_expression "((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))" ( (binary_expression "(iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0)" (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) || (parenthesized_expression "(iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0)" ( (comma_expression "iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0" (assignment_expression "iVar10 = FUN_002d2f20(pbVar16 + 1)" identifier = (call_expression "FUN_002d2f20(pbVar16 + 1)" identifier (argument_list "(pbVar16 + 1)" ( (binary_expression "pbVar16 + 1" identifier + number_literal) )))) , (binary_expression "iVar10 != 0" identifier != number_literal)) ))) )) (goto_statement "goto LAB_00180a97;" goto statement_identifier ;)) }) (else_clause "else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }" else (compound_statement "{\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }" { (expression_statement "lVar21 = 4;" (assignment_expression "lVar21 = 4" identifier = number_literal) ;) (expression_statement "pbVar31 = &DAT_0037330a;" (assignment_expression "pbVar31 = &DAT_0037330a" identifier = (pointer_expression "&DAT_0037330a" & identifier)) ;) (expression_statement "pbVar33 = pbVar16;" (assignment_expression "pbVar33 = pbVar16" identifier = identifier) ;) (do_statement "do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);" do (compound_statement "{\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  }" { (if_statement "if (lVar21 == 0) break;" if (parenthesized_expression "(lVar21 == 0)" ( (binary_expression "lVar21 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar21 = lVar21 + -1;" (assignment_expression "lVar21 = lVar21 + -1" identifier = (binary_expression "lVar21 + -1" identifier + number_literal)) ;) (expression_statement "bVar37 = *pbVar31 < *pbVar33;" (assignment_expression "bVar37 = *pbVar31 < *pbVar33" identifier = (binary_expression "*pbVar31 < *pbVar33" (pointer_expression "*pbVar31" * identifier) < (pointer_expression "*pbVar33" * identifier))) ;) (expression_statement "bVar36 = *pbVar31 == *pbVar33;" (assignment_expression "bVar36 = *pbVar31 == *pbVar33" identifier = (binary_expression "*pbVar31 == *pbVar33" (pointer_expression "*pbVar31" * identifier) == (pointer_expression "*pbVar33" * identifier))) ;) (expression_statement "pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;" (assignment_expression "pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1" identifier = (binary_expression "pbVar31 + (ulong)bVar40 * -2 + 1" (binary_expression "pbVar31 + (ulong)bVar40 * -2" identifier + (binary_expression "(ulong)bVar40 * -2" (cast_expression "(ulong)bVar40" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;" (assignment_expression "pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1" identifier = (binary_expression "pbVar33 + (ulong)bVar40 * -2 + 1" (binary_expression "pbVar33 + (ulong)bVar40 * -2" identifier + (binary_expression "(ulong)bVar40 * -2" (cast_expression "(ulong)bVar40" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar36)" ( identifier )) ;) (if_statement "if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;" if (parenthesized_expression "((!bVar37 && !bVar36) == bVar37)" ( (binary_expression "(!bVar37 && !bVar36) == bVar37" (parenthesized_expression "(!bVar37 && !bVar36)" ( (binary_expression "!bVar37 && !bVar36" (unary_expression "!bVar37" ! identifier) && (unary_expression "!bVar36" ! identifier)) )) == identifier) )) (goto_statement "goto LAB_00180f58;" goto statement_identifier ;)) }))) (if_statement "if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }" if (parenthesized_expression "((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0'))" ( (binary_expression "(*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')" (parenthesized_expression "(*(code **)(*plVar4 + 0x90) != FUN_00181fa0)" ( (binary_expression "*(code **)(*plVar4 + 0x90) != FUN_00181fa0" (pointer_expression "*(code **)(*plVar4 + 0x90)" * (cast_expression "(code **)(*plVar4 + 0x90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar4 + 0x90)" ( (binary_expression "*plVar4 + 0x90" (pointer_expression "*plVar4" * identifier) + number_literal) )))) != identifier) )) && (parenthesized_expression "(cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')" ( (comma_expression "cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0'" (assignment_expression "cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4)" identifier = (call_expression "(**(code **)(*plVar4 + 0x90))(plVar4)" (parenthesized_expression "(**(code **)(*plVar4 + 0x90))" ( (pointer_expression "**(code **)(*plVar4 + 0x90)" * (pointer_expression "*(code **)(*plVar4 + 0x90)" * (cast_expression "(code **)(*plVar4 + 0x90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar4 + 0x90)" ( (binary_expression "*plVar4 + 0x90" (pointer_expression "*plVar4" * identifier) + number_literal) ))))) )) (argument_list "(plVar4)" ( identifier )))) , (binary_expression "cVar9 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }" { (expression_statement "local_78 = (undefined8 *)*puVar19;" (assignment_expression "local_78 = (undefined8 *)*puVar19" identifier = (cast_expression "(undefined8 *)*puVar19" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar19" * identifier))) ;) (expression_statement "uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);" (assignment_expression "uStack_70 = CONCAT44(uStack_70._4_4_,iVar27)" identifier = (call_expression "CONCAT44(uStack_70._4_4_,iVar27)" identifier (argument_list "(uStack_70._4_4_,iVar27)" ( (field_expression "uStack_70._4_4_" identifier . field_identifier) , identifier )))) ;) (expression_statement "lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);" (assignment_expression "lVar21 = FUN_001820f0(param_1 + 0xd,&local_78)" identifier = (call_expression "FUN_001820f0(param_1 + 0xd,&local_78)" identifier (argument_list "(param_1 + 0xd,&local_78)" ( (binary_expression "param_1 + 0xd" identifier + number_literal) , (pointer_expression "&local_78" & identifier) )))) ;) (if_statement "if (lVar21 == 0) goto LAB_00180a97;" if (parenthesized_expression "(lVar21 == 0)" ( (binary_expression "lVar21 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00180a97;" goto statement_identifier ;)) })) (goto_statement "goto LAB_00180c96;" goto statement_identifier ;) })) (labeled_statement "LAB_00180a97:\n              local_1a8 = &local_78;" statement_identifier : (expression_statement "local_1a8 = &local_78;" (assignment_expression "local_1a8 = &local_78" identifier = (pointer_expression "&local_78" & identifier)) ;)) (expression_statement "local_78 = (undefined8 *)*puVar19;" (assignment_expression "local_78 = (undefined8 *)*puVar19" identifier = (cast_expression "(undefined8 *)*puVar19" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar19" * identifier))) ;) (expression_statement "puVar32 = (ulong *)param_1[1];" (assignment_expression "puVar32 = (ulong *)param_1[1]" identifier = (cast_expression "(ulong *)param_1[1]" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) ;) (if_statement "if (puVar32 == (ulong *)param_1[2]) {\n                uStack_70._0_4_ = iVar27;\n                FUN_001825a0(param_1,puVar32,local_1a8);\n              }\n              else {\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }" if (parenthesized_expression "(puVar32 == (ulong *)param_1[2])" ( (binary_expression "puVar32 == (ulong *)param_1[2]" identifier == (cast_expression "(ulong *)param_1[2]" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[2]" identifier [ number_literal ]))) )) (compound_statement "{\n                uStack_70._0_4_ = iVar27;\n                FUN_001825a0(param_1,puVar32,local_1a8);\n              }" { (expression_statement "uStack_70._0_4_ = iVar27;" (assignment_expression "uStack_70._0_4_ = iVar27" (field_expression "uStack_70._0_4_" identifier . field_identifier) = identifier) ;) (expression_statement "FUN_001825a0(param_1,puVar32,local_1a8);" (call_expression "FUN_001825a0(param_1,puVar32,local_1a8)" identifier (argument_list "(param_1,puVar32,local_1a8)" ( identifier , identifier , identifier ))) ;) }) (else_clause "else {\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }" else (compound_statement "{\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }" { (expression_statement "*puVar32 = (ulong)local_78;" (assignment_expression "*puVar32 = (ulong)local_78" (pointer_expression "*puVar32" * identifier) = (cast_expression "(ulong)local_78" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "*(int *)(puVar32 + 1) = iVar27;" (assignment_expression "*(int *)(puVar32 + 1) = iVar27" (pointer_expression "*(int *)(puVar32 + 1)" * (cast_expression "(int *)(puVar32 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + 1)" ( (binary_expression "puVar32 + 1" identifier + number_literal) )))) = identifier) ;) (expression_statement "param_1[1] = (long)(puVar32 + 2);" (assignment_expression "param_1[1] = (long)(puVar32 + 2)" (subscript_expression "param_1[1]" identifier [ number_literal ]) = (cast_expression "(long)(puVar32 + 2)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "(puVar32 + 2)" ( (binary_expression "puVar32 + 2" identifier + number_literal) )))) ;) }))) (expression_statement "local_78 = (undefined8 *)*puVar19;" (assignment_expression "local_78 = (undefined8 *)*puVar19" identifier = (cast_expression "(undefined8 *)*puVar19" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar19" * identifier))) ;) (expression_statement "uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);" (assignment_expression "uStack_70 = CONCAT44(uStack_70._4_4_,iVar27)" identifier = (call_expression "CONCAT44(uStack_70._4_4_,iVar27)" identifier (argument_list "(uStack_70._4_4_,iVar27)" ( (field_expression "uStack_70._4_4_" identifier . field_identifier) , identifier )))) ;) (expression_statement "uVar24 = (ulong)local_78 ^ uVar28;" (assignment_expression "uVar24 = (ulong)local_78 ^ uVar28" identifier = (binary_expression "(ulong)local_78 ^ uVar28" (cast_expression "(ulong)local_78" ( (type_descriptor "ulong" type_identifier) ) identifier) ^ identifier)) ;) (expression_statement "local_1a0 = uVar24 % (ulong)param_1[4];" (assignment_expression "local_1a0 = uVar24 % (ulong)param_1[4]" identifier = (binary_expression "uVar24 % (ulong)param_1[4]" identifier % (cast_expression "(ulong)param_1[4]" ( (type_descriptor "ulong" type_identifier) ) (subscript_expression "param_1[4]" identifier [ number_literal ])))) ;) (expression_statement "puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24);" (assignment_expression "puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24)" identifier = (cast_expression "(undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24)" identifier (argument_list "(param_1 + 3,local_1a0,local_1a8,uVar24)" ( (binary_expression "param_1 + 3" identifier + number_literal) , identifier , identifier , identifier ))))) ;) (if_statement "if ((puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)) {\n                    \n                plVar14 = (long *)FUN_002d94a0(0x28);\n                lVar21 = param_1[6];\n                *plVar14 = 0;\n                lVar29 = param_1[4];\n                *(undefined4 *)(plVar14 + 3) = 0;\n                plVar14[1] = (long)local_78;\n                plVar14[2] = uStack_70;\n                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);\n                if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    \n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }\n                plVar14[4] = uVar24;\n                plVar22 = plVar15 + local_1a0;\n                if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }\n                param_1[6] = param_1[6] + 1;\n              }" if (parenthesized_expression "((puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0))" ( (binary_expression "(puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)" (parenthesized_expression "(puVar18 == (undefined8 *)0x0)" ( (binary_expression "puVar18 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)" ( (comma_expression "plVar14 = (long *)*puVar18, plVar14 == (long *)0x0" (assignment_expression "plVar14 = (long *)*puVar18" identifier = (cast_expression "(long *)*puVar18" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar18" * identifier))) , (binary_expression "plVar14 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n                    \n                plVar14 = (long *)FUN_002d94a0(0x28);\n                lVar21 = param_1[6];\n                *plVar14 = 0;\n                lVar29 = param_1[4];\n                *(undefined4 *)(plVar14 + 3) = 0;\n                plVar14[1] = (long)local_78;\n                plVar14[2] = uStack_70;\n                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);\n                if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    \n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }\n                plVar14[4] = uVar24;\n                plVar22 = plVar15 + local_1a0;\n                if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }\n                param_1[6] = param_1[6] + 1;\n              }" { (expression_statement "plVar14 = (long *)FUN_002d94a0(0x28);" (assignment_expression "plVar14 = (long *)FUN_002d94a0(0x28)" identifier = (cast_expression "(long *)FUN_002d94a0(0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002d94a0(0x28)" identifier (argument_list "(0x28)" ( number_literal ))))) ;) (expression_statement "lVar21 = param_1[6];" (assignment_expression "lVar21 = param_1[6]" identifier = (subscript_expression "param_1[6]" identifier [ number_literal ])) ;) (expression_statement "*plVar14 = 0;" (assignment_expression "*plVar14 = 0" (pointer_expression "*plVar14" * identifier) = number_literal) ;) (expression_statement "lVar29 = param_1[4];" (assignment_expression "lVar29 = param_1[4]" identifier = (subscript_expression "param_1[4]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(plVar14 + 3) = 0;" (assignment_expression "*(undefined4 *)(plVar14 + 3) = 0" (pointer_expression "*(undefined4 *)(plVar14 + 3)" * (cast_expression "(undefined4 *)(plVar14 + 3)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar14 + 3)" ( (binary_expression "plVar14 + 3" identifier + number_literal) )))) = number_literal) ;) (expression_statement "plVar14[1] = (long)local_78;" (assignment_expression "plVar14[1] = (long)local_78" (subscript_expression "plVar14[1]" identifier [ number_literal ]) = (cast_expression "(long)local_78" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "plVar14[2] = uStack_70;" (assignment_expression "plVar14[2] = uStack_70" (subscript_expression "plVar14[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);" (assignment_expression "cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1)" identifier = (call_expression "FUN_00319200(param_1 + 7,lVar29,lVar21,1)" identifier (argument_list "(param_1 + 7,lVar29,lVar21,1)" ( (binary_expression "param_1 + 7" identifier + number_literal) , identifier , identifier , number_literal )))) ;) (if_statement "if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    \n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }" if (parenthesized_expression "(cVar9 == '\0')" ( (binary_expression "cVar9 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  plVar15 = (long *)param_1[3];\n                }" { (expression_statement "plVar15 = (long *)param_1[3];" (assignment_expression "plVar15 = (long *)param_1[3]" identifier = (cast_expression "(long *)param_1[3]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[3]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    \n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }" else (compound_statement "{\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    \n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }" { (if_statement "if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    \n                    plVar15 = (long *)FUN_0017f5b0();\n                  }" if (parenthesized_expression "(extraout_RDX == 1)" ( (binary_expression "extraout_RDX == 1" identifier == number_literal) )) (compound_statement "{\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }" { (expression_statement "plVar15 = param_1 + 9;" (assignment_expression "plVar15 = param_1 + 9" identifier = (binary_expression "param_1 + 9" identifier + number_literal)) ;) (expression_statement "param_1[9] = 0;" (assignment_expression "param_1[9] = 0" (subscript_expression "param_1[9]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n                    \n                    plVar15 = (long *)FUN_0017f5b0();\n                  }" else (compound_statement "{\n                    \n                    plVar15 = (long *)FUN_0017f5b0();\n                  }" { (expression_statement "plVar15 = (long *)FUN_0017f5b0();" (assignment_expression "plVar15 = (long *)FUN_0017f5b0()" identifier = (cast_expression "(long *)FUN_0017f5b0()" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0017f5b0()" identifier (argument_list "()" ( ))))) ;) }))) (expression_statement "plVar22 = (long *)param_1[5];" (assignment_expression "plVar22 = (long *)param_1[5]" identifier = (cast_expression "(long *)param_1[5]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[5]" identifier [ number_literal ]))) ;) (expression_statement "param_1[5] = 0;" (assignment_expression "param_1[5] = 0" (subscript_expression "param_1[5]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }" if (parenthesized_expression "(plVar22 != (long *)0x0)" ( (binary_expression "plVar22 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }" { (expression_statement "uVar25 = 0;" (assignment_expression "uVar25 = 0" identifier = number_literal) ;) (do_statement "do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);" do (compound_statement "{\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    }" { (while_statement "while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }" { (expression_statement "plVar6 = (long *)*plVar22;" (assignment_expression "plVar6 = (long *)*plVar22" identifier = (cast_expression "(long *)*plVar22" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar22" * identifier))) ;) (expression_statement "uVar23 = (ulong)plVar22[4] % extraout_RDX;" (assignment_expression "uVar23 = (ulong)plVar22[4] % extraout_RDX" identifier = (binary_expression "(ulong)plVar22[4] % extraout_RDX" (cast_expression "(ulong)plVar22[4]" ( (type_descriptor "ulong" type_identifier) ) (subscript_expression "plVar22[4]" identifier [ number_literal ])) % identifier)) ;) (expression_statement "plVar1 = plVar15 + uVar23;" (assignment_expression "plVar1 = plVar15 + uVar23" identifier = (binary_expression "plVar15 + uVar23" identifier + identifier)) ;) (if_statement "if ((long *)*plVar1 == (long *)0x0) break;" if (parenthesized_expression "((long *)*plVar1 == (long *)0x0)" ( (binary_expression "(long *)*plVar1 == (long *)0x0" (cast_expression "(long *)*plVar1" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar1" * identifier)) == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "*plVar22 = *(long *)*plVar1;" (assignment_expression "*plVar22 = *(long *)*plVar1" (pointer_expression "*plVar22" * identifier) = (pointer_expression "*(long *)*plVar1" * (cast_expression "(long *)*plVar1" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar1" * identifier)))) ;) (expression_statement "*(long **)*plVar1 = plVar22;" (assignment_expression "*(long **)*plVar1 = plVar22" (pointer_expression "*(long **)*plVar1" * (cast_expression "(long **)*plVar1" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*plVar1" * identifier))) = identifier) ;) (expression_statement "uVar23 = uVar25;" (assignment_expression "uVar23 = uVar25" identifier = identifier) ;) (labeled_statement "LAB_00180d64:\n                        plVar22 = plVar6;" statement_identifier : (expression_statement "plVar22 = plVar6;" (assignment_expression "plVar22 = plVar6" identifier = identifier) ;)) (expression_statement "uVar25 = uVar23;" (assignment_expression "uVar25 = uVar23" identifier = identifier) ;) (if_statement "if (plVar6 == (long *)0x0) goto LAB_00180dc0;" if (parenthesized_expression "(plVar6 == (long *)0x0)" ( (binary_expression "plVar6 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00180dc0;" goto statement_identifier ;)) })) (expression_statement "*plVar22 = param_1[5];" (assignment_expression "*plVar22 = param_1[5]" (pointer_expression "*plVar22" * identifier) = (subscript_expression "param_1[5]" identifier [ number_literal ])) ;) (expression_statement "param_1[5] = (long)plVar22;" (assignment_expression "param_1[5] = (long)plVar22" (subscript_expression "param_1[5]" identifier [ number_literal ]) = (cast_expression "(long)plVar22" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "*plVar1 = (long)(param_1 + 5);" (assignment_expression "*plVar1 = (long)(param_1 + 5)" (pointer_expression "*plVar1" * identifier) = (cast_expression "(long)(param_1 + 5)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "(param_1 + 5)" ( (binary_expression "param_1 + 5" identifier + number_literal) )))) ;) (if_statement "if (*plVar22 == 0) goto LAB_00180d64;" if (parenthesized_expression "(*plVar22 == 0)" ( (binary_expression "*plVar22 == 0" (pointer_expression "*plVar22" * identifier) == number_literal) )) (goto_statement "goto LAB_00180d64;" goto statement_identifier ;)) (expression_statement "plVar15[uVar25] = (long)plVar22;" (assignment_expression "plVar15[uVar25] = (long)plVar22" (subscript_expression "plVar15[uVar25]" identifier [ identifier ]) = (cast_expression "(long)plVar22" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "plVar22 = plVar6;" (assignment_expression "plVar22 = plVar6" identifier = identifier) ;) (expression_statement "uVar25 = uVar23;" (assignment_expression "uVar25 = uVar23" identifier = identifier) ;) }) while (parenthesized_expression "(plVar6 != (long *)0x0)" ( (binary_expression "plVar6 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (labeled_statement "LAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }" statement_identifier : (if_statement "if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }" if (parenthesized_expression "((long *)param_1[3] != param_1 + 9)" ( (binary_expression "(long *)param_1[3] != param_1 + 9" (cast_expression "(long *)param_1[3]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[3]" identifier [ number_literal ])) != (binary_expression "param_1 + 9" identifier + number_literal)) )) (compound_statement "{\n                    FUN_002dac70();\n                  }" { (expression_statement "FUN_002dac70();" (call_expression "FUN_002dac70()" identifier (argument_list "()" ( ))) ;) }))) (expression_statement "param_1[3] = (long)plVar15;" (assignment_expression "param_1[3] = (long)plVar15" (subscript_expression "param_1[3]" identifier [ number_literal ]) = (cast_expression "(long)plVar15" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "local_1a0 = uVar24 % extraout_RDX;" (assignment_expression "local_1a0 = uVar24 % extraout_RDX" identifier = (binary_expression "uVar24 % extraout_RDX" identifier % identifier)) ;) (expression_statement "param_1[4] = extraout_RDX;" (assignment_expression "param_1[4] = extraout_RDX" (subscript_expression "param_1[4]" identifier [ number_literal ]) = identifier) ;) }))) (expression_statement "plVar14[4] = uVar24;" (assignment_expression "plVar14[4] = uVar24" (subscript_expression "plVar14[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "plVar22 = plVar15 + local_1a0;" (assignment_expression "plVar22 = plVar15 + local_1a0" identifier = (binary_expression "plVar15 + local_1a0" identifier + identifier)) ;) (if_statement "if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }" if (parenthesized_expression "((long *)*plVar22 == (long *)0x0)" ( (binary_expression "(long *)*plVar22 == (long *)0x0" (cast_expression "(long *)*plVar22" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar22" * identifier)) == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }" { (expression_statement "lVar21 = param_1[5];" (assignment_expression "lVar21 = param_1[5]" identifier = (subscript_expression "param_1[5]" identifier [ number_literal ])) ;) (expression_statement "param_1[5] = (long)plVar14;" (assignment_expression "param_1[5] = (long)plVar14" (subscript_expression "param_1[5]" identifier [ number_literal ]) = (cast_expression "(long)plVar14" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "*plVar14 = lVar21;" (assignment_expression "*plVar14 = lVar21" (pointer_expression "*plVar14" * identifier) = identifier) ;) (if_statement "if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }" if (parenthesized_expression "(lVar21 != 0)" ( (binary_expression "lVar21 != 0" identifier != number_literal) )) (compound_statement "{\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }" { (expression_statement "plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;" (assignment_expression "plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14" (subscript_expression "plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]]" identifier [ (binary_expression "*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]" (pointer_expression "*(ulong *)(lVar21 + 0x20)" * (cast_expression "(ulong *)(lVar21 + 0x20)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar21 + 0x20)" ( (binary_expression "lVar21 + 0x20" identifier + number_literal) )))) % (cast_expression "(ulong)param_1[4]" ( (type_descriptor "ulong" type_identifier) ) (subscript_expression "param_1[4]" identifier [ number_literal ]))) ]) = (cast_expression "(long)plVar14" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) })) (expression_statement "*plVar22 = (long)(param_1 + 5);" (assignment_expression "*plVar22 = (long)(param_1 + 5)" (pointer_expression "*plVar22" * identifier) = (cast_expression "(long)(param_1 + 5)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "(param_1 + 5)" ( (binary_expression "param_1 + 5" identifier + number_literal) )))) ;) }) (else_clause "else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }" else (compound_statement "{\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }" { (expression_statement "*plVar14 = *(long *)*plVar22;" (assignment_expression "*plVar14 = *(long *)*plVar22" (pointer_expression "*plVar14" * identifier) = (pointer_expression "*(long *)*plVar22" * (cast_expression "(long *)*plVar22" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar22" * identifier)))) ;) (expression_statement "*(long **)*plVar22 = plVar14;" (assignment_expression "*(long **)*plVar22 = plVar14" (pointer_expression "*(long **)*plVar22" * (cast_expression "(long **)*plVar22" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*plVar22" * identifier))) = identifier) ;) }))) (expression_statement "param_1[6] = param_1[6] + 1;" (assignment_expression "param_1[6] = param_1[6] + 1" (subscript_expression "param_1[6]" identifier [ number_literal ]) = (binary_expression "param_1[6] + 1" (subscript_expression "param_1[6]" identifier [ number_literal ]) + number_literal)) ;) })) (expression_statement "piVar5 = (int *)param_1[0xb];" (assignment_expression "piVar5 = (int *)param_1[0xb]" identifier = (cast_expression "(int *)param_1[0xb]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0xb]" identifier [ number_literal ]))) ;) (expression_statement "*(int *)(plVar14 + 3) = iVar13;" (assignment_expression "*(int *)(plVar14 + 3) = iVar13" (pointer_expression "*(int *)(plVar14 + 3)" * (cast_expression "(int *)(plVar14 + 3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar14 + 3)" ( (binary_expression "plVar14 + 3" identifier + number_literal) )))) = identifier) ;) (if_statement "if (piVar5 == (int *)param_1[0xc]) {\n                __src = (int *)param_1[10];\n                sVar17 = (long)piVar5 - (long)__src;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }\n                *(int *)((long)__dest + sVar17) = iVar13;\n                lVar21 = (long)__dest + sVar17 + 4;\n                if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }\n                param_1[10] = (long)__dest;\n                param_1[0xb] = lVar21;\n                param_1[0xc] = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }" if (parenthesized_expression "(piVar5 == (int *)param_1[0xc])" ( (binary_expression "piVar5 == (int *)param_1[0xc]" identifier == (cast_expression "(int *)param_1[0xc]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0xc]" identifier [ number_literal ]))) )) (compound_statement "{\n                __src = (int *)param_1[10];\n                sVar17 = (long)piVar5 - (long)__src;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }\n                *(int *)((long)__dest + sVar17) = iVar13;\n                lVar21 = (long)__dest + sVar17 + 4;\n                if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }\n                param_1[10] = (long)__dest;\n                param_1[0xb] = lVar21;\n                param_1[0xc] = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }" { (expression_statement "__src = (int *)param_1[10];" (assignment_expression "__src = (int *)param_1[10]" identifier = (cast_expression "(int *)param_1[10]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[10]" identifier [ number_literal ]))) ;) (expression_statement "sVar17 = (long)piVar5 - (long)__src;" (assignment_expression "sVar17 = (long)piVar5 - (long)__src" identifier = (binary_expression "(long)piVar5 - (long)__src" (cast_expression "(long)piVar5" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)__src" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) ;) (expression_statement "uVar24 = (long)sVar17 >> 2;" (assignment_expression "uVar24 = (long)sVar17 >> 2" identifier = (binary_expression "(long)sVar17 >> 2" (cast_expression "(long)sVar17" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) >> number_literal)) ;) (if_statement "if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }" if (parenthesized_expression "(uVar24 == 0)" ( (binary_expression "uVar24 == 0" identifier == number_literal) )) (compound_statement "{\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }" { (expression_statement "local_1d0 = 4;" (assignment_expression "local_1d0 = 4" identifier = number_literal) ;) (labeled_statement "LAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);" statement_identifier : (expression_statement "__dest = (void *)FUN_002d94a0(local_1d0);" (assignment_expression "__dest = (void *)FUN_002d94a0(local_1d0)" identifier = (cast_expression "(void *)FUN_002d94a0(local_1d0)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002d94a0(local_1d0)" identifier (argument_list "(local_1d0)" ( identifier ))))) ;)) (expression_statement "local_1e8 = local_1d0 + (long)__dest;" (assignment_expression "local_1e8 = local_1d0 + (long)__dest" identifier = (binary_expression "local_1d0 + (long)__dest" identifier + (cast_expression "(long)__dest" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) ;) }) (else_clause "else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }" else (compound_statement "{\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }" { (expression_statement "uVar25 = uVar24 * 2;" (assignment_expression "uVar25 = uVar24 * 2" identifier = (binary_expression "uVar24 * 2" identifier * number_literal)) ;) (if_statement "if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }" if (parenthesized_expression "(uVar25 < uVar24)" ( (binary_expression "uVar25 < uVar24" identifier < identifier) )) (compound_statement "{\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }" { (expression_statement "local_1d0 = -4;" (assignment_expression "local_1d0 = -4" identifier = number_literal) ;) (goto_statement "goto LAB_00181065;" goto statement_identifier ;) })) (expression_statement "local_1d0 = -4;" (assignment_expression "local_1d0 = -4" identifier = number_literal) ;) (if_statement "if (0x3fffffffffffffff < uVar25) goto LAB_00181065;" if (parenthesized_expression "(0x3fffffffffffffff < uVar25)" ( (binary_expression "0x3fffffffffffffff < uVar25" number_literal < identifier) )) (goto_statement "goto LAB_00181065;" goto statement_identifier ;)) (if_statement "if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }" if (parenthesized_expression "(uVar25 != 0)" ( (binary_expression "uVar25 != 0" identifier != number_literal) )) (compound_statement "{\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }" { (expression_statement "local_1d0 = uVar24 << 3;" (assignment_expression "local_1d0 = uVar24 << 3" identifier = (binary_expression "uVar24 << 3" identifier << number_literal)) ;) (goto_statement "goto LAB_00181065;" goto statement_identifier ;) })) (expression_statement "local_1e8 = 0;" (assignment_expression "local_1e8 = 0" identifier = number_literal) ;) (expression_statement "__dest = (void *)0x0;" (assignment_expression "__dest = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (expression_statement "*(int *)((long)__dest + sVar17) = iVar13;" (assignment_expression "*(int *)((long)__dest + sVar17) = iVar13" (pointer_expression "*(int *)((long)__dest + sVar17)" * (cast_expression "(int *)((long)__dest + sVar17)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__dest + sVar17)" ( (binary_expression "(long)__dest + sVar17" (cast_expression "(long)__dest" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) )))) = identifier) ;) (expression_statement "lVar21 = (long)__dest + sVar17 + 4;" (assignment_expression "lVar21 = (long)__dest + sVar17 + 4" identifier = (binary_expression "(long)__dest + sVar17 + 4" (binary_expression "(long)__dest + sVar17" (cast_expression "(long)__dest" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal)) ;) (if_statement "if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }" if (parenthesized_expression "(piVar5 == __src)" ( (binary_expression "piVar5 == __src" identifier == identifier) )) (compound_statement "{\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }" { (if_statement "if (__src != (int *)0x0) goto LAB_001810bd;" if (parenthesized_expression "(__src != (int *)0x0)" ( (binary_expression "__src != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001810bd;" goto statement_identifier ;)) }) (else_clause "else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }" else (compound_statement "{\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }" { (expression_statement "__dest = memmove(__dest,__src,sVar17);" (assignment_expression "__dest = memmove(__dest,__src,sVar17)" identifier = (call_expression "memmove(__dest,__src,sVar17)" identifier (argument_list "(__dest,__src,sVar17)" ( identifier , identifier , identifier )))) ;) (labeled_statement "LAB_001810bd:\n                  FUN_002dac70(__src);" statement_identifier : (expression_statement "FUN_002dac70(__src);" (call_expression "FUN_002dac70(__src)" identifier (argument_list "(__src)" ( identifier ))) ;)) }))) (expression_statement "param_1[10] = (long)__dest;" (assignment_expression "param_1[10] = (long)__dest" (subscript_expression "param_1[10]" identifier [ number_literal ]) = (cast_expression "(long)__dest" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "param_1[0xb] = lVar21;" (assignment_expression "param_1[0xb] = lVar21" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0xc] = local_1e8;" (assignment_expression "param_1[0xc] = local_1e8" (subscript_expression "param_1[0xc]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (local_1c8 == local_1b0) goto LAB_00181108;" if (parenthesized_expression "(local_1c8 == local_1b0)" ( (binary_expression "local_1c8 == local_1b0" identifier == identifier) )) (goto_statement "goto LAB_00181108;" goto statement_identifier ;)) (labeled_statement "LAB_00180b52:\n                *local_1b0 = 0;" statement_identifier : (expression_statement "*local_1b0 = 0;" (assignment_expression "*local_1b0 = 0" (pointer_expression "*local_1b0" * identifier) = number_literal) ;)) (expression_statement "local_1b0 = local_1b0 + 1;" (assignment_expression "local_1b0 = local_1b0 + 1" identifier = (binary_expression "local_1b0 + 1" identifier + number_literal)) ;) (expression_statement "__dest_00 = local_1d8;" (assignment_expression "__dest_00 = local_1d8" identifier = identifier) ;) }) (else_clause "else {\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }" else (compound_statement "{\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }" { (expression_statement "*piVar5 = iVar13;" (assignment_expression "*piVar5 = iVar13" (pointer_expression "*piVar5" * identifier) = identifier) ;) (expression_statement "param_1[0xb] = (long)(piVar5 + 1);" (assignment_expression "param_1[0xb] = (long)(piVar5 + 1)" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) = (cast_expression "(long)(piVar5 + 1)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "(piVar5 + 1)" ( (binary_expression "piVar5 + 1" identifier + number_literal) )))) ;) (if_statement "if (local_1c8 != local_1b0) goto LAB_00180b52;" if (parenthesized_expression "(local_1c8 != local_1b0)" ( (binary_expression "local_1c8 != local_1b0" identifier != identifier) )) (goto_statement "goto LAB_00180b52;" goto statement_identifier ;)) (labeled_statement "LAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;" statement_identifier : (expression_statement "sVar17 = (long)local_1b0 - (long)local_1d8;" (assignment_expression "sVar17 = (long)local_1b0 - (long)local_1d8" identifier = (binary_expression "(long)local_1b0 - (long)local_1d8" (cast_expression "(long)local_1b0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)local_1d8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) ;)) (expression_statement "uVar24 = (long)sVar17 >> 2;" (assignment_expression "uVar24 = (long)sVar17 >> 2" identifier = (binary_expression "(long)sVar17 >> 2" (cast_expression "(long)sVar17" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) >> number_literal)) ;) (if_statement "if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }" if (parenthesized_expression "(uVar24 == 0)" ( (binary_expression "uVar24 == 0" identifier == number_literal) )) (compound_statement "{\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }" { (expression_statement "lVar21 = 4;" (assignment_expression "lVar21 = 4" identifier = number_literal) ;) (labeled_statement "LAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);" statement_identifier : (expression_statement "__dest_00 = (undefined4 *)FUN_002d94a0(lVar21);" (assignment_expression "__dest_00 = (undefined4 *)FUN_002d94a0(lVar21)" identifier = (cast_expression "(undefined4 *)FUN_002d94a0(lVar21)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002d94a0(lVar21)" identifier (argument_list "(lVar21)" ( identifier ))))) ;)) (expression_statement "local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);" (assignment_expression "local_1c8 = (undefined4 *)((long)__dest_00 + lVar21)" identifier = (cast_expression "(undefined4 *)((long)__dest_00 + lVar21)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__dest_00 + lVar21)" ( (binary_expression "(long)__dest_00 + lVar21" (cast_expression "(long)__dest_00" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) )))) ;) }) (else_clause "else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }" else (compound_statement "{\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }" { (expression_statement "uVar25 = uVar24 * 2;" (assignment_expression "uVar25 = uVar24 * 2" identifier = (binary_expression "uVar24 * 2" identifier * number_literal)) ;) (if_statement "if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }" if (parenthesized_expression "(uVar25 < uVar24)" ( (binary_expression "uVar25 < uVar24" identifier < identifier) )) (compound_statement "{\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }" { (expression_statement "lVar21 = -4;" (assignment_expression "lVar21 = -4" identifier = number_literal) ;) (goto_statement "goto LAB_0018114e;" goto statement_identifier ;) })) (expression_statement "lVar21 = -4;" (assignment_expression "lVar21 = -4" identifier = number_literal) ;) (if_statement "if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;" if (parenthesized_expression "(0x3fffffffffffffff < uVar25)" ( (binary_expression "0x3fffffffffffffff < uVar25" number_literal < identifier) )) (goto_statement "goto LAB_0018114e;" goto statement_identifier ;)) (if_statement "if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }" if (parenthesized_expression "(uVar25 != 0)" ( (binary_expression "uVar25 != 0" identifier != number_literal) )) (compound_statement "{\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }" { (expression_statement "lVar21 = uVar24 * 8;" (assignment_expression "lVar21 = uVar24 * 8" identifier = (binary_expression "uVar24 * 8" identifier * number_literal)) ;) (goto_statement "goto LAB_0018114e;" goto statement_identifier ;) })) (expression_statement "local_1c8 = (undefined4 *)0x0;" (assignment_expression "local_1c8 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "__dest_00 = (undefined4 *)0x0;" (assignment_expression "__dest_00 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (expression_statement "*(undefined4 *)((long)__dest_00 + sVar17) = 0;" (assignment_expression "*(undefined4 *)((long)__dest_00 + sVar17) = 0" (pointer_expression "*(undefined4 *)((long)__dest_00 + sVar17)" * (cast_expression "(undefined4 *)((long)__dest_00 + sVar17)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__dest_00 + sVar17)" ( (binary_expression "(long)__dest_00 + sVar17" (cast_expression "(long)__dest_00" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) )))) = number_literal) ;) (if_statement "if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }" if (parenthesized_expression "(local_1b0 == local_1d8)" ( (binary_expression "local_1b0 == local_1d8" identifier == identifier) )) (compound_statement "{\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }" { (expression_statement "local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);" (assignment_expression "local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4)" identifier = (cast_expression "(undefined4 *)((long)__dest_00 + sVar17 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__dest_00 + sVar17 + 4)" ( (binary_expression "(long)__dest_00 + sVar17 + 4" (binary_expression "(long)__dest_00 + sVar17" (cast_expression "(long)__dest_00" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (if_statement "if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;" if (parenthesized_expression "(local_1d8 != (undefined4 *)0x0)" ( (binary_expression "local_1d8 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001811a1;" goto statement_identifier ;)) }) (else_clause "else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }" else (compound_statement "{\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }" { (expression_statement "__dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);" (assignment_expression "__dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17)" identifier = (cast_expression "(undefined4 *)memmove(__dest_00,local_1d8,sVar17)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "memmove(__dest_00,local_1d8,sVar17)" identifier (argument_list "(__dest_00,local_1d8,sVar17)" ( identifier , identifier , identifier ))))) ;) (expression_statement "local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);" (assignment_expression "local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4)" identifier = (cast_expression "(undefined4 *)((long)__dest_00 + sVar17 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__dest_00 + sVar17 + 4)" ( (binary_expression "(long)__dest_00 + sVar17 + 4" (binary_expression "(long)__dest_00 + sVar17" (cast_expression "(long)__dest_00" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (labeled_statement "LAB_001811a1:\n                  FUN_002dac70(local_1d8);" statement_identifier : (expression_statement "FUN_002dac70(local_1d8);" (call_expression "FUN_002dac70(local_1d8)" identifier (argument_list "(local_1d8)" ( identifier ))) ;)) }))) }))) (expression_statement "local_1d8 = __dest_00;" (assignment_expression "local_1d8 = __dest_00" identifier = identifier) ;) (expression_statement "local_78 = (undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28);" (assignment_expression "local_78 = (undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28)" identifier = (cast_expression "(undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28)" (parenthesized_expression "(**(code **)(*(long *)*puVar19 + 0xb8))" ( (pointer_expression "**(code **)(*(long *)*puVar19 + 0xb8)" * (pointer_expression "*(code **)(*(long *)*puVar19 + 0xb8)" * (cast_expression "(code **)(*(long *)*puVar19 + 0xb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)*puVar19 + 0xb8)" ( (binary_expression "*(long *)*puVar19 + 0xb8" (pointer_expression "*(long *)*puVar19" * (cast_expression "(long *)*puVar19" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar19" * identifier))) + number_literal) ))))) )) (argument_list "((long *)*puVar19,uVar28)" ( (cast_expression "(long *)*puVar19" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar19" * identifier)) , identifier ))))) ;) (if_statement "if (local_160 == local_158) {\n                FUN_00182710(&local_168,local_160,local_1a8);\n              }\n              else {\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }" if (parenthesized_expression "(local_160 == local_158)" ( (binary_expression "local_160 == local_158" identifier == identifier) )) (compound_statement "{\n                FUN_00182710(&local_168,local_160,local_1a8);\n              }" { (expression_statement "FUN_00182710(&local_168,local_160,local_1a8);" (call_expression "FUN_00182710(&local_168,local_160,local_1a8)" identifier (argument_list "(&local_168,local_160,local_1a8)" ( (pointer_expression "&local_168" & identifier) , identifier , identifier ))) ;) }) (else_clause "else {\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }" else (compound_statement "{\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }" { (expression_statement "*local_160 = local_78;" (assignment_expression "*local_160 = local_78" (pointer_expression "*local_160" * identifier) = identifier) ;) (expression_statement "local_160 = local_160 + 1;" (assignment_expression "local_160 = local_160 + 1" identifier = (binary_expression "local_160 + 1" identifier + number_literal)) ;) }))) (expression_statement "iVar10 = local_90;" (assignment_expression "iVar10 = local_90" identifier = identifier) ;) (expression_statement "puVar32 = local_98;" (assignment_expression "puVar32 = local_98" identifier = identifier) ;) (if_statement "if (local_98 == local_88) {\n                local_180 = local_90;\n                local_188 = local_98;\n                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);\n              }\n              else {\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }" if (parenthesized_expression "(local_98 == local_88)" ( (binary_expression "local_98 == local_88" identifier == identifier) )) (compound_statement "{\n                local_180 = local_90;\n                local_188 = local_98;\n                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);\n              }" { (expression_statement "local_180 = local_90;" (assignment_expression "local_180 = local_90" identifier = identifier) ;) (expression_statement "local_188 = local_98;" (assignment_expression "local_188 = local_98" identifier = identifier) ;) (expression_statement "FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);" (call_expression "FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0)" identifier (argument_list "(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0)" ( (pointer_expression "&local_a8" & identifier) , identifier , (call_expression "CONCAT44(uStack_17c,local_90)" identifier (argument_list "(uStack_17c,local_90)" ( identifier , identifier ))) , number_literal ))) ;) }) (else_clause "else {\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }" else (compound_statement "{\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }" { (if_statement "if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }" if (parenthesized_expression "(local_90 == 0x3f)" ( (binary_expression "local_90 == 0x3f" identifier == number_literal) )) (compound_statement "{\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }" { (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;) (expression_statement "local_98 = local_98 + 1;" (assignment_expression "local_98 = local_98 + 1" identifier = (binary_expression "local_98 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n                  local_90 = local_90 + 1;\n                }" else (compound_statement "{\n                  local_90 = local_90 + 1;\n                }" { (expression_statement "local_90 = local_90 + 1;" (assignment_expression "local_90 = local_90 + 1" identifier = (binary_expression "local_90 + 1" identifier + number_literal)) ;) }))) (expression_statement "bVar8 = (byte)iVar10 & 0x3f;" (assignment_expression "bVar8 = (byte)iVar10 & 0x3f" identifier = (binary_expression "(byte)iVar10 & 0x3f" (cast_expression "(byte)iVar10" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "*puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);" (assignment_expression "*puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8)" (pointer_expression "*puVar32" * identifier) = (binary_expression "*puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8)" (pointer_expression "*puVar32" * identifier) & (parenthesized_expression "(-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8)" ( (binary_expression "-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8" (binary_expression "-2L << bVar8" number_literal << identifier) | (binary_expression "0xfffffffffffffffeU >> 0x40 - bVar8" number_literal >> (binary_expression "0x40 - bVar8" number_literal - identifier))) )))) ;) }))) (expression_statement "local_78 = &local_68;" (assignment_expression "local_78 = &local_68" identifier = (pointer_expression "&local_68" & identifier)) ;) (expression_statement "FUN_001665c0(local_1a8,"");" (call_expression "FUN_001665c0(local_1a8,"")" identifier (argument_list "(local_1a8,"")" ( identifier , (string_literal """" " ") ))) ;) (expression_statement "FUN_0016f840(&local_148,local_1a8);" (call_expression "FUN_0016f840(&local_148,local_1a8)" identifier (argument_list "(&local_148,local_1a8)" ( (pointer_expression "&local_148" & identifier) , identifier ))) ;) (if_statement "if (local_78 != &local_68) {\n                FUN_002dac70();\n              }" if (parenthesized_expression "(local_78 != &local_68)" ( (binary_expression "local_78 != &local_68" identifier != (pointer_expression "&local_68" & identifier)) )) (compound_statement "{\n                FUN_002dac70();\n              }" { (expression_statement "FUN_002dac70();" (call_expression "FUN_002dac70()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar13 = iVar13 + 1;" (assignment_expression "iVar13 = iVar13 + 1" identifier = (binary_expression "iVar13 + 1" identifier + number_literal)) ;) (if_statement "if (local_c8 != local_b8) goto LAB_00180c31;" if (parenthesized_expression "(local_c8 != local_b8)" ( (binary_expression "local_c8 != local_b8" identifier != identifier) )) (goto_statement "goto LAB_00180c31;" goto statement_identifier ;)) }) (else_clause "else {\n              lVar21 = 0xf;\n              pbVar16 = (byte *)".gnu.linkonce.t";\n              puVar32 = local_c8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              } while (bVar39);\n              if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;\nLAB_00180c96:\n              if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }\n            }" else (compound_statement "{\n              lVar21 = 0xf;\n              pbVar16 = (byte *)".gnu.linkonce.t";\n              puVar32 = local_c8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              } while (bVar39);\n              if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;\nLAB_00180c96:\n              if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }\n            }" { (expression_statement "lVar21 = 0xf;" (assignment_expression "lVar21 = 0xf" identifier = number_literal) ;) (expression_statement "pbVar16 = (byte *)".gnu.linkonce.t";" (assignment_expression "pbVar16 = (byte *)".gnu.linkonce.t"" identifier = (cast_expression "(byte *)".gnu.linkonce.t"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".gnu.linkonce.t"" " string_content "))) ;) (expression_statement "puVar32 = local_c8;" (assignment_expression "puVar32 = local_c8" identifier = identifier) ;) (do_statement "do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              } while (bVar39);" do (compound_statement "{\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              }" { (if_statement "if (lVar21 == 0) break;" if (parenthesized_expression "(lVar21 == 0)" ( (binary_expression "lVar21 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar21 = lVar21 + -1;" (assignment_expression "lVar21 = lVar21 + -1" identifier = (binary_expression "lVar21 + -1" identifier + number_literal)) ;) (expression_statement "bVar36 = *pbVar16 < (byte)*puVar32;" (assignment_expression "bVar36 = *pbVar16 < (byte)*puVar32" identifier = (binary_expression "*pbVar16 < (byte)*puVar32" (pointer_expression "*pbVar16" * identifier) < (binary_expression "(byte)*puVar32" (parenthesized_expression "(byte)" ( identifier )) * identifier))) ;) (expression_statement "bVar39 = *pbVar16 == (byte)*puVar32;" (assignment_expression "bVar39 = *pbVar16 == (byte)*puVar32" identifier = (binary_expression "*pbVar16 == (byte)*puVar32" (pointer_expression "*pbVar16" * identifier) == (binary_expression "(byte)*puVar32" (parenthesized_expression "(byte)" ( identifier )) * identifier))) ;) (expression_statement "pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;" (assignment_expression "pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1" identifier = (binary_expression "pbVar16 + (ulong)bVar40 * -2 + 1" (binary_expression "pbVar16 + (ulong)bVar40 * -2" identifier + (binary_expression "(ulong)bVar40 * -2" (cast_expression "(ulong)bVar40" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);" (assignment_expression "puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1)" identifier = (cast_expression "(ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar32 + (ulong)bVar40 * -2 + 1)" ( (binary_expression "(long)puVar32 + (ulong)bVar40 * -2 + 1" (binary_expression "(long)puVar32 + (ulong)bVar40 * -2" (cast_expression "(long)puVar32" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "(ulong)bVar40 * -2" (cast_expression "(ulong)bVar40" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) }) while (parenthesized_expression "(bVar39)" ( identifier )) ;) (if_statement "if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;" if (parenthesized_expression "((!bVar36 && !bVar39) == bVar36)" ( (binary_expression "(!bVar36 && !bVar39) == bVar36" (parenthesized_expression "(!bVar36 && !bVar39)" ( (binary_expression "!bVar36 && !bVar39" (unary_expression "!bVar36" ! identifier) && (unary_expression "!bVar39" ! identifier)) )) == identifier) )) (goto_statement "goto LAB_00180a28;" goto statement_identifier ;)) (labeled_statement "LAB_00180c96:\n              if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }" statement_identifier : (if_statement "if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }" if (parenthesized_expression "(local_c8 != local_b8)" ( (binary_expression "local_c8 != local_b8" identifier != identifier) )) (compound_statement "{\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }" { (labeled_statement "LAB_00180c31:\n                FUN_002dac70(local_c8);" statement_identifier : (expression_statement "FUN_002dac70(local_c8);" (call_expression "FUN_002dac70(local_c8)" identifier (argument_list "(local_c8)" ( identifier ))) ;)) }))) }))) (expression_statement "plVar14 = (long *)*puVar19;" (assignment_expression "plVar14 = (long *)*puVar19" identifier = (cast_expression "(long *)*puVar19" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar19" * identifier))) ;) (expression_statement "uVar26 = iVar27 + 1;" (assignment_expression "uVar26 = iVar27 + 1" identifier = (binary_expression "iVar27 + 1" identifier + number_literal)) ;) (expression_statement "uVar28 = (ulong)uVar26;" (assignment_expression "uVar28 = (ulong)uVar26" identifier = (cast_expression "(ulong)uVar26" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "uVar35 = uVar26 < *(uint *)(plVar14 + 7);" (assignment_expression "uVar35 = uVar26 < *(uint *)(plVar14 + 7)" identifier = (binary_expression "uVar26 < *(uint *)(plVar14 + 7)" identifier < (pointer_expression "*(uint *)(plVar14 + 7)" * (cast_expression "(uint *)(plVar14 + 7)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar14 + 7)" ( (binary_expression "plVar14 + 7" identifier + number_literal) )))))) ;) (expression_statement "uVar38 = uVar26 == *(uint *)(plVar14 + 7);" (assignment_expression "uVar38 = uVar26 == *(uint *)(plVar14 + 7)" identifier = (binary_expression "uVar26 == *(uint *)(plVar14 + 7)" identifier == (pointer_expression "*(uint *)(plVar14 + 7)" * (cast_expression "(uint *)(plVar14 + 7)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar14 + 7)" ( (binary_expression "plVar14 + 7" identifier + number_literal) )))))) ;) }) while (parenthesized_expression "((bool)uVar35)" ( (cast_expression "(bool)uVar35" ( (type_descriptor "bool" primitive_type) ) identifier) )) ;) })) (if_statement "if (plVar30[5] != 0) {\n          FUN_0017a690(plVar30[5] + 0x28,0xffffffffffffffff);\n        }" if (parenthesized_expression "(plVar30[5] != 0)" ( (binary_expression "plVar30[5] != 0" (subscript_expression "plVar30[5]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n          FUN_0017a690(plVar30[5] + 0x28,0xffffffffffffffff);\n        }" { (expression_statement "FUN_0017a690(plVar30[5] + 0x28,0xffffffffffffffff);" (call_expression "FUN_0017a690(plVar30[5] + 0x28,0xffffffffffffffff)" identifier (argument_list "(plVar30[5] + 0x28,0xffffffffffffffff)" ( (binary_expression "plVar30[5] + 0x28" (subscript_expression "plVar30[5]" identifier [ number_literal ]) + number_literal) , number_literal ))) ;) })) }))) (expression_statement "puVar19 = puVar19 + 1;" (assignment_expression "puVar19 = puVar19 + 1" identifier = (binary_expression "puVar19 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((ulong *)param_2[1] != puVar19)" ( (binary_expression "(ulong *)param_2[1] != puVar19" (cast_expression "(ulong *)param_2[1]" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[1]" identifier [ number_literal ])) != identifier) )) ;) }))) (if_statement "if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }" if (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    \n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }" { (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (expression_statement "uVar26 = 0;" (assignment_expression "uVar26 = 0" identifier = number_literal) ;) (expression_statement "uVar3 = *(uint *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2dac);" (assignment_expression "uVar3 = *(uint *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2dac)" identifier = (pointer_expression "*(uint *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2dac)" * (cast_expression "(uint *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2dac)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2dac)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2dac" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "uVar11 = 2;" (assignment_expression "uVar11 = 2" identifier = number_literal) ;) (if_statement "if (0 < (int)uVar3) {\n    uVar11 = uVar3;\n  }" if (parenthesized_expression "(0 < (int)uVar3)" ( (binary_expression "0 < (int)uVar3" number_literal < (cast_expression "(int)uVar3" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    uVar11 = uVar3;\n  }" { (expression_statement "uVar11 = uVar3;" (assignment_expression "uVar11 = uVar3" identifier = identifier) ;) })) (do_statement "do {\n    uVar26 = uVar26 + 1;\n    uStack_70 = 1;\n    local_78 = local_48;\n    local_68 = 0;\n    local_60 = 0;\n    local_58 = 0x3f800000;\n    local_50 = 0;\n    local_48[0] = 0;\n    if (uVar26 == 1) {\n                    \n      FUN_00180660(param_1,&local_a8,0);\n    }\n    else {\n                    \n      FUN_00180660(param_1,&local_a8,&local_148);\n    }\n    local_128 = (long *)0x0;\n    local_120 = (long *)0x0;\n    local_118 = 0;\n    if (param_1[1] == *param_1) {\n      FUN_00182070(&local_78);\n      bVar36 = true;\n      break;\n    }\n    uVar28 = 0;\n    bVar36 = true;\n    uVar3 = 0;\n    do {\n      local_c8 = local_b8;\n                    \n      FUN_001665c0(&local_c8,"");\n                    \n      FUN_0016f840(&local_128,&local_c8);\n      if (local_c8 != local_b8) {\n        FUN_002dac70();\n      }\n      local_1a0._0_1_ = (byte)uVar3;\n      uVar24 = 1L << ((byte)local_1a0 & 0x3f);\n      lVar21 = *param_1;\n      if ((uVar24 & *(ulong *)(local_a8 + (uVar28 >> 6) * 8)) == 0) {\n        puVar18 = (undefined8 *)(lVar21 + uVar28 * 0x10);\n        local_178 = *puVar18;\n        uStack_170 = puVar18[1];\n        local_100 = 0;\n        local_f8[0] = local_f8[0] & 0xffffffffffffff00;\n        local_108 = local_f8;\n        if (uVar26 == 1) {\n          local_e8 = (ulong *)((ulong)local_e8 & 0xffffffff00000000);\n          FUN_0017f6d0(&local_c8,1,&local_178,uVar3,&local_e8,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_c8 == local_b8) {\n            sVar17 = local_c0;\n            if (local_c0 != 0) {\n              if (local_c0 == 1) {\n                *(byte *)local_108 = (byte)local_b8[0];\n                sVar17 = local_c0;\n              }\n              else {\n                memcpy(local_108,local_c8,local_c0);\n                sVar17 = local_c0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_c8;\n              local_100 = local_c0;\n              local_f8[0] = local_b8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_c8 = puVar19;\n                local_b8[0] = uVar25;\n                goto LAB_00181993;\n              }\n            }\n            local_f8[0] = local_b8[0];\n            local_100 = local_c0;\n            local_108 = local_c8;\n            local_c8 = local_b8;\n          }\nLAB_00181993:\n          local_c0 = 0;\n          *(byte *)local_c8 = 0;\n          if (local_c8 != local_b8) {\n            FUN_002dac70();\n          }\n          local_1d8[uVar28] = local_e8._0_4_;\n        }\n        else {\n          if (uVar3 != *(uint *)(param_1[10] + uVar28 * 4)) goto LAB_001813c8;\n                    \n          FUN_0017f6d0(&local_e8,0,&local_178,uVar3,0,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_e8 == local_d8) {\n            sVar17 = local_e0;\n            if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *(byte *)local_108 = (byte)local_d8[0];\n                sVar17 = local_e0;\n              }\n              else {\n                memcpy(local_108,local_e8,local_e0);\n                sVar17 = local_e0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_e8;\n              local_100 = local_e0;\n              local_f8[0] = local_d8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_e8 = puVar19;\n                local_d8[0] = uVar25;\n                goto LAB_0018156c;\n              }\n            }\n            local_f8[0] = local_d8[0];\n            local_100 = local_e0;\n            local_108 = local_e8;\n            local_e8 = local_d8;\n          }\nLAB_0018156c:\n          local_e0 = 0;\n          *(byte *)local_e8 = 0;\n          if (local_e8 != local_d8) {\n            FUN_002dac70();\n          }\n        }\n        uVar12 = FUN_002d5ef0(local_108,local_100 & 0xffffffff,0xffffffff);\n        uVar25 = (ulong)uVar12 % uStack_70;\n        local_18c = uVar12;\n        if (((long *)local_78[uVar25] == (long *)0x0) ||\n           (puVar18 = *(undefined8 **)local_78[uVar25], puVar18 == (undefined8 *)0x0)) {\nLAB_00181638:\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,(ulong)uVar12,puVar18);\n        }\n        else {\n          uVar23 = (ulong)*(uint *)(puVar18 + 1);\n          lVar21 = 0;\n          do {\n            if (uVar12 == (uint)uVar23) {\n              puVar18 = (undefined8 *)*puVar18;\n              lVar21 = lVar21 + 1;\n              lVar29 = lVar21;\n            }\n            else {\n              if (lVar21 != 0) goto LAB_00181742;\n              puVar18 = (undefined8 *)*puVar18;\n              lVar29 = 0;\n            }\n          } while ((puVar18 != (undefined8 *)0x0) &&\n                  (uVar23 = (ulong)*(uint *)(puVar18 + 1), lVar29 = lVar21,\n                  uVar25 == uVar23 % uStack_70));\n          if (lVar29 == 0) goto LAB_00181638;\nLAB_00181742:\n          auVar41 = FUN_00182170(&local_78,&local_18c);\n          uVar25 = local_100;\n          puVar19 = local_108;\n          plVar4 = local_128;\n          uVar12 = local_18c;\n          for (puVar18 = auVar41._0_8_; local_18c = uVar12, puVar18 != auVar41._8_8_;\n              puVar18 = (undefined8 *)*puVar18) {\n            uVar12 = *(uint *)((long)puVar18 + 0xc);\n            uVar23 = (ulong)uVar12;\n            plVar30 = plVar4 + uVar23 * 4;\n            if ((plVar30[1] == uVar25) &&\n               (iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0)) {\n              if (*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8)) {\n                *(uint *)(param_1[10] + uVar23 * 4) = uVar3;\n                *(uint *)((long)puVar18 + 0xc) = uVar3;\n                FUN_002e3180(plVar30,plVar4 + uVar28 * 4);\n                bVar36 = false;\n              }\n              else {\n                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;\n                bVar36 = false;\n              }\n              goto joined_r0x00181835;\n            }\n            uVar12 = local_18c;\n          }\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,uVar12,puVar18);\n        }\n        FUN_002e1890(local_128 + uVar28 * 4,&local_108);\njoined_r0x00181835:\n        if ((uVar26 == 1) && (local_1d8[uVar28] == 0)) {\n          puVar19 = (ulong *)((uVar28 >> 6) * 8 + local_a8);\n          *puVar19 = *puVar19 | uVar24;\n        }\n        if (local_108 != local_f8) {\n          FUN_002dac70();\n        }\n        lVar21 = *param_1;\n      }\nLAB_001813c8:\n      plVar4 = local_120;\n      uVar3 = uVar3 + 1;\n      uVar28 = (ulong)uVar3;\n      uVar24 = param_1[1] - lVar21 >> 4;\n    } while (uVar28 < uVar24);\n    plVar30 = local_128;\n    if (uVar24 != 0) {\n      lVar21 = param_1[10];\n      uVar25 = 0;\n      uVar28 = uVar25;\n      do {\n        do {\n          uVar12 = (uint)uVar25;\n          uVar3 = *(uint *)(lVar21 + uVar25 * 4);\n          uVar25 = (ulong)uVar3;\n        } while (uVar12 != uVar3);\n        puVar2 = (uint *)(lVar21 + uVar28 * 4);\n        uVar12 = *puVar2;\n        while (uVar12 != uVar3) {\n          *puVar2 = uVar3;\n          puVar2 = (uint *)(lVar21 + (ulong)uVar12 * 4);\n          uVar12 = *puVar2;\n        }\n        uVar25 = (ulong)((int)uVar28 + 1);\n        uVar28 = uVar25;\n      } while (uVar25 < uVar24);\n    }\n    for (; plVar30 != plVar4; plVar30 = plVar30 + 4) {\n      if ((long *)*plVar30 != plVar30 + 2) {\n        FUN_002dac70();\n      }\n    }\n    if (local_128 != (long *)0x0) {\n      FUN_002dac70(local_128);\n    }\n    FUN_00182070(&local_78);\n  } while (uVar26 < uVar11 && !bVar36);" do (compound_statement "{\n    uVar26 = uVar26 + 1;\n    uStack_70 = 1;\n    local_78 = local_48;\n    local_68 = 0;\n    local_60 = 0;\n    local_58 = 0x3f800000;\n    local_50 = 0;\n    local_48[0] = 0;\n    if (uVar26 == 1) {\n                    \n      FUN_00180660(param_1,&local_a8,0);\n    }\n    else {\n                    \n      FUN_00180660(param_1,&local_a8,&local_148);\n    }\n    local_128 = (long *)0x0;\n    local_120 = (long *)0x0;\n    local_118 = 0;\n    if (param_1[1] == *param_1) {\n      FUN_00182070(&local_78);\n      bVar36 = true;\n      break;\n    }\n    uVar28 = 0;\n    bVar36 = true;\n    uVar3 = 0;\n    do {\n      local_c8 = local_b8;\n                    \n      FUN_001665c0(&local_c8,"");\n                    \n      FUN_0016f840(&local_128,&local_c8);\n      if (local_c8 != local_b8) {\n        FUN_002dac70();\n      }\n      local_1a0._0_1_ = (byte)uVar3;\n      uVar24 = 1L << ((byte)local_1a0 & 0x3f);\n      lVar21 = *param_1;\n      if ((uVar24 & *(ulong *)(local_a8 + (uVar28 >> 6) * 8)) == 0) {\n        puVar18 = (undefined8 *)(lVar21 + uVar28 * 0x10);\n        local_178 = *puVar18;\n        uStack_170 = puVar18[1];\n        local_100 = 0;\n        local_f8[0] = local_f8[0] & 0xffffffffffffff00;\n        local_108 = local_f8;\n        if (uVar26 == 1) {\n          local_e8 = (ulong *)((ulong)local_e8 & 0xffffffff00000000);\n          FUN_0017f6d0(&local_c8,1,&local_178,uVar3,&local_e8,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_c8 == local_b8) {\n            sVar17 = local_c0;\n            if (local_c0 != 0) {\n              if (local_c0 == 1) {\n                *(byte *)local_108 = (byte)local_b8[0];\n                sVar17 = local_c0;\n              }\n              else {\n                memcpy(local_108,local_c8,local_c0);\n                sVar17 = local_c0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_c8;\n              local_100 = local_c0;\n              local_f8[0] = local_b8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_c8 = puVar19;\n                local_b8[0] = uVar25;\n                goto LAB_00181993;\n              }\n            }\n            local_f8[0] = local_b8[0];\n            local_100 = local_c0;\n            local_108 = local_c8;\n            local_c8 = local_b8;\n          }\nLAB_00181993:\n          local_c0 = 0;\n          *(byte *)local_c8 = 0;\n          if (local_c8 != local_b8) {\n            FUN_002dac70();\n          }\n          local_1d8[uVar28] = local_e8._0_4_;\n        }\n        else {\n          if (uVar3 != *(uint *)(param_1[10] + uVar28 * 4)) goto LAB_001813c8;\n                    \n          FUN_0017f6d0(&local_e8,0,&local_178,uVar3,0,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_e8 == local_d8) {\n            sVar17 = local_e0;\n            if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *(byte *)local_108 = (byte)local_d8[0];\n                sVar17 = local_e0;\n              }\n              else {\n                memcpy(local_108,local_e8,local_e0);\n                sVar17 = local_e0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_e8;\n              local_100 = local_e0;\n              local_f8[0] = local_d8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_e8 = puVar19;\n                local_d8[0] = uVar25;\n                goto LAB_0018156c;\n              }\n            }\n            local_f8[0] = local_d8[0];\n            local_100 = local_e0;\n            local_108 = local_e8;\n            local_e8 = local_d8;\n          }\nLAB_0018156c:\n          local_e0 = 0;\n          *(byte *)local_e8 = 0;\n          if (local_e8 != local_d8) {\n            FUN_002dac70();\n          }\n        }\n        uVar12 = FUN_002d5ef0(local_108,local_100 & 0xffffffff,0xffffffff);\n        uVar25 = (ulong)uVar12 % uStack_70;\n        local_18c = uVar12;\n        if (((long *)local_78[uVar25] == (long *)0x0) ||\n           (puVar18 = *(undefined8 **)local_78[uVar25], puVar18 == (undefined8 *)0x0)) {\nLAB_00181638:\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,(ulong)uVar12,puVar18);\n        }\n        else {\n          uVar23 = (ulong)*(uint *)(puVar18 + 1);\n          lVar21 = 0;\n          do {\n            if (uVar12 == (uint)uVar23) {\n              puVar18 = (undefined8 *)*puVar18;\n              lVar21 = lVar21 + 1;\n              lVar29 = lVar21;\n            }\n            else {\n              if (lVar21 != 0) goto LAB_00181742;\n              puVar18 = (undefined8 *)*puVar18;\n              lVar29 = 0;\n            }\n          } while ((puVar18 != (undefined8 *)0x0) &&\n                  (uVar23 = (ulong)*(uint *)(puVar18 + 1), lVar29 = lVar21,\n                  uVar25 == uVar23 % uStack_70));\n          if (lVar29 == 0) goto LAB_00181638;\nLAB_00181742:\n          auVar41 = FUN_00182170(&local_78,&local_18c);\n          uVar25 = local_100;\n          puVar19 = local_108;\n          plVar4 = local_128;\n          uVar12 = local_18c;\n          for (puVar18 = auVar41._0_8_; local_18c = uVar12, puVar18 != auVar41._8_8_;\n              puVar18 = (undefined8 *)*puVar18) {\n            uVar12 = *(uint *)((long)puVar18 + 0xc);\n            uVar23 = (ulong)uVar12;\n            plVar30 = plVar4 + uVar23 * 4;\n            if ((plVar30[1] == uVar25) &&\n               (iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0)) {\n              if (*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8)) {\n                *(uint *)(param_1[10] + uVar23 * 4) = uVar3;\n                *(uint *)((long)puVar18 + 0xc) = uVar3;\n                FUN_002e3180(plVar30,plVar4 + uVar28 * 4);\n                bVar36 = false;\n              }\n              else {\n                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;\n                bVar36 = false;\n              }\n              goto joined_r0x00181835;\n            }\n            uVar12 = local_18c;\n          }\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,uVar12,puVar18);\n        }\n        FUN_002e1890(local_128 + uVar28 * 4,&local_108);\njoined_r0x00181835:\n        if ((uVar26 == 1) && (local_1d8[uVar28] == 0)) {\n          puVar19 = (ulong *)((uVar28 >> 6) * 8 + local_a8);\n          *puVar19 = *puVar19 | uVar24;\n        }\n        if (local_108 != local_f8) {\n          FUN_002dac70();\n        }\n        lVar21 = *param_1;\n      }\nLAB_001813c8:\n      plVar4 = local_120;\n      uVar3 = uVar3 + 1;\n      uVar28 = (ulong)uVar3;\n      uVar24 = param_1[1] - lVar21 >> 4;\n    } while (uVar28 < uVar24);\n    plVar30 = local_128;\n    if (uVar24 != 0) {\n      lVar21 = param_1[10];\n      uVar25 = 0;\n      uVar28 = uVar25;\n      do {\n        do {\n          uVar12 = (uint)uVar25;\n          uVar3 = *(uint *)(lVar21 + uVar25 * 4);\n          uVar25 = (ulong)uVar3;\n        } while (uVar12 != uVar3);\n        puVar2 = (uint *)(lVar21 + uVar28 * 4);\n        uVar12 = *puVar2;\n        while (uVar12 != uVar3) {\n          *puVar2 = uVar3;\n          puVar2 = (uint *)(lVar21 + (ulong)uVar12 * 4);\n          uVar12 = *puVar2;\n        }\n        uVar25 = (ulong)((int)uVar28 + 1);\n        uVar28 = uVar25;\n      } while (uVar25 < uVar24);\n    }\n    for (; plVar30 != plVar4; plVar30 = plVar30 + 4) {\n      if ((long *)*plVar30 != plVar30 + 2) {\n        FUN_002dac70();\n      }\n    }\n    if (local_128 != (long *)0x0) {\n      FUN_002dac70(local_128);\n    }\n    FUN_00182070(&local_78);\n  }" { (expression_statement "uVar26 = uVar26 + 1;" (assignment_expression "uVar26 = uVar26 + 1" identifier = (binary_expression "uVar26 + 1" identifier + number_literal)) ;) (expression_statement "uStack_70 = 1;" (assignment_expression "uStack_70 = 1" identifier = number_literal) ;) (expression_statement "local_78 = local_48;" (assignment_expression "local_78 = local_48" identifier = identifier) ;) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" identifier = number_literal) ;) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;) (expression_statement "local_58 = 0x3f800000;" (assignment_expression "local_58 = 0x3f800000" identifier = number_literal) ;) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (expression_statement "local_48[0] = 0;" (assignment_expression "local_48[0] = 0" (subscript_expression "local_48[0]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (uVar26 == 1) {\n                    \n      FUN_00180660(param_1,&local_a8,0);\n    }\n    else {\n                    \n      FUN_00180660(param_1,&local_a8,&local_148);\n    }" if (parenthesized_expression "(uVar26 == 1)" ( (binary_expression "uVar26 == 1" identifier == number_literal) )) (compound_statement "{\n                    \n      FUN_00180660(param_1,&local_a8,0);\n    }" { (expression_statement "FUN_00180660(param_1,&local_a8,0);" (call_expression "FUN_00180660(param_1,&local_a8,0)" identifier (argument_list "(param_1,&local_a8,0)" ( identifier , (pointer_expression "&local_a8" & identifier) , number_literal ))) ;) }) (else_clause "else {\n                    \n      FUN_00180660(param_1,&local_a8,&local_148);\n    }" else (compound_statement "{\n                    \n      FUN_00180660(param_1,&local_a8,&local_148);\n    }" { (expression_statement "FUN_00180660(param_1,&local_a8,&local_148);" (call_expression "FUN_00180660(param_1,&local_a8,&local_148)" identifier (argument_list "(param_1,&local_a8,&local_148)" ( identifier , (pointer_expression "&local_a8" & identifier) , (pointer_expression "&local_148" & identifier) ))) ;) }))) (expression_statement "local_128 = (long *)0x0;" (assignment_expression "local_128 = (long *)0x0" identifier = (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_120 = (long *)0x0;" (assignment_expression "local_120 = (long *)0x0" identifier = (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_118 = 0;" (assignment_expression "local_118 = 0" identifier = number_literal) ;) (if_statement "if (param_1[1] == *param_1) {\n      FUN_00182070(&local_78);\n      bVar36 = true;\n      break;\n    }" if (parenthesized_expression "(param_1[1] == *param_1)" ( (binary_expression "param_1[1] == *param_1" (subscript_expression "param_1[1]" identifier [ number_literal ]) == (pointer_expression "*param_1" * identifier)) )) (compound_statement "{\n      FUN_00182070(&local_78);\n      bVar36 = true;\n      break;\n    }" { (expression_statement "FUN_00182070(&local_78);" (call_expression "FUN_00182070(&local_78)" identifier (argument_list "(&local_78)" ( (pointer_expression "&local_78" & identifier) ))) ;) (expression_statement "bVar36 = true;" (assignment_expression "bVar36 = true" identifier = true) ;) (break_statement "break;" break ;) })) (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" identifier = number_literal) ;) (expression_statement "bVar36 = true;" (assignment_expression "bVar36 = true" identifier = true) ;) (expression_statement "uVar3 = 0;" (assignment_expression "uVar3 = 0" identifier = number_literal) ;) (do_statement "do {\n      local_c8 = local_b8;\n                    \n      FUN_001665c0(&local_c8,"");\n                    \n      FUN_0016f840(&local_128,&local_c8);\n      if (local_c8 != local_b8) {\n        FUN_002dac70();\n      }\n      local_1a0._0_1_ = (byte)uVar3;\n      uVar24 = 1L << ((byte)local_1a0 & 0x3f);\n      lVar21 = *param_1;\n      if ((uVar24 & *(ulong *)(local_a8 + (uVar28 >> 6) * 8)) == 0) {\n        puVar18 = (undefined8 *)(lVar21 + uVar28 * 0x10);\n        local_178 = *puVar18;\n        uStack_170 = puVar18[1];\n        local_100 = 0;\n        local_f8[0] = local_f8[0] & 0xffffffffffffff00;\n        local_108 = local_f8;\n        if (uVar26 == 1) {\n          local_e8 = (ulong *)((ulong)local_e8 & 0xffffffff00000000);\n          FUN_0017f6d0(&local_c8,1,&local_178,uVar3,&local_e8,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_c8 == local_b8) {\n            sVar17 = local_c0;\n            if (local_c0 != 0) {\n              if (local_c0 == 1) {\n                *(byte *)local_108 = (byte)local_b8[0];\n                sVar17 = local_c0;\n              }\n              else {\n                memcpy(local_108,local_c8,local_c0);\n                sVar17 = local_c0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_c8;\n              local_100 = local_c0;\n              local_f8[0] = local_b8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_c8 = puVar19;\n                local_b8[0] = uVar25;\n                goto LAB_00181993;\n              }\n            }\n            local_f8[0] = local_b8[0];\n            local_100 = local_c0;\n            local_108 = local_c8;\n            local_c8 = local_b8;\n          }\nLAB_00181993:\n          local_c0 = 0;\n          *(byte *)local_c8 = 0;\n          if (local_c8 != local_b8) {\n            FUN_002dac70();\n          }\n          local_1d8[uVar28] = local_e8._0_4_;\n        }\n        else {\n          if (uVar3 != *(uint *)(param_1[10] + uVar28 * 4)) goto LAB_001813c8;\n                    \n          FUN_0017f6d0(&local_e8,0,&local_178,uVar3,0,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_e8 == local_d8) {\n            sVar17 = local_e0;\n            if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *(byte *)local_108 = (byte)local_d8[0];\n                sVar17 = local_e0;\n              }\n              else {\n                memcpy(local_108,local_e8,local_e0);\n                sVar17 = local_e0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_e8;\n              local_100 = local_e0;\n              local_f8[0] = local_d8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_e8 = puVar19;\n                local_d8[0] = uVar25;\n                goto LAB_0018156c;\n              }\n            }\n            local_f8[0] = local_d8[0];\n            local_100 = local_e0;\n            local_108 = local_e8;\n            local_e8 = local_d8;\n          }\nLAB_0018156c:\n          local_e0 = 0;\n          *(byte *)local_e8 = 0;\n          if (local_e8 != local_d8) {\n            FUN_002dac70();\n          }\n        }\n        uVar12 = FUN_002d5ef0(local_108,local_100 & 0xffffffff,0xffffffff);\n        uVar25 = (ulong)uVar12 % uStack_70;\n        local_18c = uVar12;\n        if (((long *)local_78[uVar25] == (long *)0x0) ||\n           (puVar18 = *(undefined8 **)local_78[uVar25], puVar18 == (undefined8 *)0x0)) {\nLAB_00181638:\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,(ulong)uVar12,puVar18);\n        }\n        else {\n          uVar23 = (ulong)*(uint *)(puVar18 + 1);\n          lVar21 = 0;\n          do {\n            if (uVar12 == (uint)uVar23) {\n              puVar18 = (undefined8 *)*puVar18;\n              lVar21 = lVar21 + 1;\n              lVar29 = lVar21;\n            }\n            else {\n              if (lVar21 != 0) goto LAB_00181742;\n              puVar18 = (undefined8 *)*puVar18;\n              lVar29 = 0;\n            }\n          } while ((puVar18 != (undefined8 *)0x0) &&\n                  (uVar23 = (ulong)*(uint *)(puVar18 + 1), lVar29 = lVar21,\n                  uVar25 == uVar23 % uStack_70));\n          if (lVar29 == 0) goto LAB_00181638;\nLAB_00181742:\n          auVar41 = FUN_00182170(&local_78,&local_18c);\n          uVar25 = local_100;\n          puVar19 = local_108;\n          plVar4 = local_128;\n          uVar12 = local_18c;\n          for (puVar18 = auVar41._0_8_; local_18c = uVar12, puVar18 != auVar41._8_8_;\n              puVar18 = (undefined8 *)*puVar18) {\n            uVar12 = *(uint *)((long)puVar18 + 0xc);\n            uVar23 = (ulong)uVar12;\n            plVar30 = plVar4 + uVar23 * 4;\n            if ((plVar30[1] == uVar25) &&\n               (iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0)) {\n              if (*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8)) {\n                *(uint *)(param_1[10] + uVar23 * 4) = uVar3;\n                *(uint *)((long)puVar18 + 0xc) = uVar3;\n                FUN_002e3180(plVar30,plVar4 + uVar28 * 4);\n                bVar36 = false;\n              }\n              else {\n                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;\n                bVar36 = false;\n              }\n              goto joined_r0x00181835;\n            }\n            uVar12 = local_18c;\n          }\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,uVar12,puVar18);\n        }\n        FUN_002e1890(local_128 + uVar28 * 4,&local_108);\njoined_r0x00181835:\n        if ((uVar26 == 1) && (local_1d8[uVar28] == 0)) {\n          puVar19 = (ulong *)((uVar28 >> 6) * 8 + local_a8);\n          *puVar19 = *puVar19 | uVar24;\n        }\n        if (local_108 != local_f8) {\n          FUN_002dac70();\n        }\n        lVar21 = *param_1;\n      }\nLAB_001813c8:\n      plVar4 = local_120;\n      uVar3 = uVar3 + 1;\n      uVar28 = (ulong)uVar3;\n      uVar24 = param_1[1] - lVar21 >> 4;\n    } while (uVar28 < uVar24);" do (compound_statement "{\n      local_c8 = local_b8;\n                    \n      FUN_001665c0(&local_c8,"");\n                    \n      FUN_0016f840(&local_128,&local_c8);\n      if (local_c8 != local_b8) {\n        FUN_002dac70();\n      }\n      local_1a0._0_1_ = (byte)uVar3;\n      uVar24 = 1L << ((byte)local_1a0 & 0x3f);\n      lVar21 = *param_1;\n      if ((uVar24 & *(ulong *)(local_a8 + (uVar28 >> 6) * 8)) == 0) {\n        puVar18 = (undefined8 *)(lVar21 + uVar28 * 0x10);\n        local_178 = *puVar18;\n        uStack_170 = puVar18[1];\n        local_100 = 0;\n        local_f8[0] = local_f8[0] & 0xffffffffffffff00;\n        local_108 = local_f8;\n        if (uVar26 == 1) {\n          local_e8 = (ulong *)((ulong)local_e8 & 0xffffffff00000000);\n          FUN_0017f6d0(&local_c8,1,&local_178,uVar3,&local_e8,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_c8 == local_b8) {\n            sVar17 = local_c0;\n            if (local_c0 != 0) {\n              if (local_c0 == 1) {\n                *(byte *)local_108 = (byte)local_b8[0];\n                sVar17 = local_c0;\n              }\n              else {\n                memcpy(local_108,local_c8,local_c0);\n                sVar17 = local_c0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_c8;\n              local_100 = local_c0;\n              local_f8[0] = local_b8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_c8 = puVar19;\n                local_b8[0] = uVar25;\n                goto LAB_00181993;\n              }\n            }\n            local_f8[0] = local_b8[0];\n            local_100 = local_c0;\n            local_108 = local_c8;\n            local_c8 = local_b8;\n          }\nLAB_00181993:\n          local_c0 = 0;\n          *(byte *)local_c8 = 0;\n          if (local_c8 != local_b8) {\n            FUN_002dac70();\n          }\n          local_1d8[uVar28] = local_e8._0_4_;\n        }\n        else {\n          if (uVar3 != *(uint *)(param_1[10] + uVar28 * 4)) goto LAB_001813c8;\n                    \n          FUN_0017f6d0(&local_e8,0,&local_178,uVar3,0,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_e8 == local_d8) {\n            sVar17 = local_e0;\n            if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *(byte *)local_108 = (byte)local_d8[0];\n                sVar17 = local_e0;\n              }\n              else {\n                memcpy(local_108,local_e8,local_e0);\n                sVar17 = local_e0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_e8;\n              local_100 = local_e0;\n              local_f8[0] = local_d8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_e8 = puVar19;\n                local_d8[0] = uVar25;\n                goto LAB_0018156c;\n              }\n            }\n            local_f8[0] = local_d8[0];\n            local_100 = local_e0;\n            local_108 = local_e8;\n            local_e8 = local_d8;\n          }\nLAB_0018156c:\n          local_e0 = 0;\n          *(byte *)local_e8 = 0;\n          if (local_e8 != local_d8) {\n            FUN_002dac70();\n          }\n        }\n        uVar12 = FUN_002d5ef0(local_108,local_100 & 0xffffffff,0xffffffff);\n        uVar25 = (ulong)uVar12 % uStack_70;\n        local_18c = uVar12;\n        if (((long *)local_78[uVar25] == (long *)0x0) ||\n           (puVar18 = *(undefined8 **)local_78[uVar25], puVar18 == (undefined8 *)0x0)) {\nLAB_00181638:\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,(ulong)uVar12,puVar18);\n        }\n        else {\n          uVar23 = (ulong)*(uint *)(puVar18 + 1);\n          lVar21 = 0;\n          do {\n            if (uVar12 == (uint)uVar23) {\n              puVar18 = (undefined8 *)*puVar18;\n              lVar21 = lVar21 + 1;\n              lVar29 = lVar21;\n            }\n            else {\n              if (lVar21 != 0) goto LAB_00181742;\n              puVar18 = (undefined8 *)*puVar18;\n              lVar29 = 0;\n            }\n          } while ((puVar18 != (undefined8 *)0x0) &&\n                  (uVar23 = (ulong)*(uint *)(puVar18 + 1), lVar29 = lVar21,\n                  uVar25 == uVar23 % uStack_70));\n          if (lVar29 == 0) goto LAB_00181638;\nLAB_00181742:\n          auVar41 = FUN_00182170(&local_78,&local_18c);\n          uVar25 = local_100;\n          puVar19 = local_108;\n          plVar4 = local_128;\n          uVar12 = local_18c;\n          for (puVar18 = auVar41._0_8_; local_18c = uVar12, puVar18 != auVar41._8_8_;\n              puVar18 = (undefined8 *)*puVar18) {\n            uVar12 = *(uint *)((long)puVar18 + 0xc);\n            uVar23 = (ulong)uVar12;\n            plVar30 = plVar4 + uVar23 * 4;\n            if ((plVar30[1] == uVar25) &&\n               (iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0)) {\n              if (*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8)) {\n                *(uint *)(param_1[10] + uVar23 * 4) = uVar3;\n                *(uint *)((long)puVar18 + 0xc) = uVar3;\n                FUN_002e3180(plVar30,plVar4 + uVar28 * 4);\n                bVar36 = false;\n              }\n              else {\n                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;\n                bVar36 = false;\n              }\n              goto joined_r0x00181835;\n            }\n            uVar12 = local_18c;\n          }\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,uVar12,puVar18);\n        }\n        FUN_002e1890(local_128 + uVar28 * 4,&local_108);\njoined_r0x00181835:\n        if ((uVar26 == 1) && (local_1d8[uVar28] == 0)) {\n          puVar19 = (ulong *)((uVar28 >> 6) * 8 + local_a8);\n          *puVar19 = *puVar19 | uVar24;\n        }\n        if (local_108 != local_f8) {\n          FUN_002dac70();\n        }\n        lVar21 = *param_1;\n      }\nLAB_001813c8:\n      plVar4 = local_120;\n      uVar3 = uVar3 + 1;\n      uVar28 = (ulong)uVar3;\n      uVar24 = param_1[1] - lVar21 >> 4;\n    }" { (expression_statement "local_c8 = local_b8;" (assignment_expression "local_c8 = local_b8" identifier = identifier) ;) (expression_statement "FUN_001665c0(&local_c8,"");" (call_expression "FUN_001665c0(&local_c8,"")" identifier (argument_list "(&local_c8,"")" ( (pointer_expression "&local_c8" & identifier) , (string_literal """" " ") ))) ;) (expression_statement "FUN_0016f840(&local_128,&local_c8);" (call_expression "FUN_0016f840(&local_128,&local_c8)" identifier (argument_list "(&local_128,&local_c8)" ( (pointer_expression "&local_128" & identifier) , (pointer_expression "&local_c8" & identifier) ))) ;) (if_statement "if (local_c8 != local_b8) {\n        FUN_002dac70();\n      }" if (parenthesized_expression "(local_c8 != local_b8)" ( (binary_expression "local_c8 != local_b8" identifier != identifier) )) (compound_statement "{\n        FUN_002dac70();\n      }" { (expression_statement "FUN_002dac70();" (call_expression "FUN_002dac70()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_1a0._0_1_ = (byte)uVar3;" (assignment_expression "local_1a0._0_1_ = (byte)uVar3" (field_expression "local_1a0._0_1_" identifier . field_identifier) = (cast_expression "(byte)uVar3" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "uVar24 = 1L << ((byte)local_1a0 & 0x3f);" (assignment_expression "uVar24 = 1L << ((byte)local_1a0 & 0x3f)" identifier = (binary_expression "1L << ((byte)local_1a0 & 0x3f)" number_literal << (parenthesized_expression "((byte)local_1a0 & 0x3f)" ( (binary_expression "(byte)local_1a0 & 0x3f" (cast_expression "(byte)local_1a0" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "lVar21 = *param_1;" (assignment_expression "lVar21 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (if_statement "if ((uVar24 & *(ulong *)(local_a8 + (uVar28 >> 6) * 8)) == 0) {\n        puVar18 = (undefined8 *)(lVar21 + uVar28 * 0x10);\n        local_178 = *puVar18;\n        uStack_170 = puVar18[1];\n        local_100 = 0;\n        local_f8[0] = local_f8[0] & 0xffffffffffffff00;\n        local_108 = local_f8;\n        if (uVar26 == 1) {\n          local_e8 = (ulong *)((ulong)local_e8 & 0xffffffff00000000);\n          FUN_0017f6d0(&local_c8,1,&local_178,uVar3,&local_e8,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_c8 == local_b8) {\n            sVar17 = local_c0;\n            if (local_c0 != 0) {\n              if (local_c0 == 1) {\n                *(byte *)local_108 = (byte)local_b8[0];\n                sVar17 = local_c0;\n              }\n              else {\n                memcpy(local_108,local_c8,local_c0);\n                sVar17 = local_c0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_c8;\n              local_100 = local_c0;\n              local_f8[0] = local_b8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_c8 = puVar19;\n                local_b8[0] = uVar25;\n                goto LAB_00181993;\n              }\n            }\n            local_f8[0] = local_b8[0];\n            local_100 = local_c0;\n            local_108 = local_c8;\n            local_c8 = local_b8;\n          }\nLAB_00181993:\n          local_c0 = 0;\n          *(byte *)local_c8 = 0;\n          if (local_c8 != local_b8) {\n            FUN_002dac70();\n          }\n          local_1d8[uVar28] = local_e8._0_4_;\n        }\n        else {\n          if (uVar3 != *(uint *)(param_1[10] + uVar28 * 4)) goto LAB_001813c8;\n                    \n          FUN_0017f6d0(&local_e8,0,&local_178,uVar3,0,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_e8 == local_d8) {\n            sVar17 = local_e0;\n            if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *(byte *)local_108 = (byte)local_d8[0];\n                sVar17 = local_e0;\n              }\n              else {\n                memcpy(local_108,local_e8,local_e0);\n                sVar17 = local_e0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_e8;\n              local_100 = local_e0;\n              local_f8[0] = local_d8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_e8 = puVar19;\n                local_d8[0] = uVar25;\n                goto LAB_0018156c;\n              }\n            }\n            local_f8[0] = local_d8[0];\n            local_100 = local_e0;\n            local_108 = local_e8;\n            local_e8 = local_d8;\n          }\nLAB_0018156c:\n          local_e0 = 0;\n          *(byte *)local_e8 = 0;\n          if (local_e8 != local_d8) {\n            FUN_002dac70();\n          }\n        }\n        uVar12 = FUN_002d5ef0(local_108,local_100 & 0xffffffff,0xffffffff);\n        uVar25 = (ulong)uVar12 % uStack_70;\n        local_18c = uVar12;\n        if (((long *)local_78[uVar25] == (long *)0x0) ||\n           (puVar18 = *(undefined8 **)local_78[uVar25], puVar18 == (undefined8 *)0x0)) {\nLAB_00181638:\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,(ulong)uVar12,puVar18);\n        }\n        else {\n          uVar23 = (ulong)*(uint *)(puVar18 + 1);\n          lVar21 = 0;\n          do {\n            if (uVar12 == (uint)uVar23) {\n              puVar18 = (undefined8 *)*puVar18;\n              lVar21 = lVar21 + 1;\n              lVar29 = lVar21;\n            }\n            else {\n              if (lVar21 != 0) goto LAB_00181742;\n              puVar18 = (undefined8 *)*puVar18;\n              lVar29 = 0;\n            }\n          } while ((puVar18 != (undefined8 *)0x0) &&\n                  (uVar23 = (ulong)*(uint *)(puVar18 + 1), lVar29 = lVar21,\n                  uVar25 == uVar23 % uStack_70));\n          if (lVar29 == 0) goto LAB_00181638;\nLAB_00181742:\n          auVar41 = FUN_00182170(&local_78,&local_18c);\n          uVar25 = local_100;\n          puVar19 = local_108;\n          plVar4 = local_128;\n          uVar12 = local_18c;\n          for (puVar18 = auVar41._0_8_; local_18c = uVar12, puVar18 != auVar41._8_8_;\n              puVar18 = (undefined8 *)*puVar18) {\n            uVar12 = *(uint *)((long)puVar18 + 0xc);\n            uVar23 = (ulong)uVar12;\n            plVar30 = plVar4 + uVar23 * 4;\n            if ((plVar30[1] == uVar25) &&\n               (iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0)) {\n              if (*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8)) {\n                *(uint *)(param_1[10] + uVar23 * 4) = uVar3;\n                *(uint *)((long)puVar18 + 0xc) = uVar3;\n                FUN_002e3180(plVar30,plVar4 + uVar28 * 4);\n                bVar36 = false;\n              }\n              else {\n                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;\n                bVar36 = false;\n              }\n              goto joined_r0x00181835;\n            }\n            uVar12 = local_18c;\n          }\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,uVar12,puVar18);\n        }\n        FUN_002e1890(local_128 + uVar28 * 4,&local_108);\njoined_r0x00181835:\n        if ((uVar26 == 1) && (local_1d8[uVar28] == 0)) {\n          puVar19 = (ulong *)((uVar28 >> 6) * 8 + local_a8);\n          *puVar19 = *puVar19 | uVar24;\n        }\n        if (local_108 != local_f8) {\n          FUN_002dac70();\n        }\n        lVar21 = *param_1;\n      }" if (parenthesized_expression "((uVar24 & *(ulong *)(local_a8 + (uVar28 >> 6) * 8)) == 0)" ( (binary_expression "(uVar24 & *(ulong *)(local_a8 + (uVar28 >> 6) * 8)) == 0" (parenthesized_expression "(uVar24 & *(ulong *)(local_a8 + (uVar28 >> 6) * 8))" ( (binary_expression "uVar24 & *(ulong *)(local_a8 + (uVar28 >> 6) * 8)" identifier & (pointer_expression "*(ulong *)(local_a8 + (uVar28 >> 6) * 8)" * (cast_expression "(ulong *)(local_a8 + (uVar28 >> 6) * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a8 + (uVar28 >> 6) * 8)" ( (binary_expression "local_a8 + (uVar28 >> 6) * 8" identifier + (binary_expression "(uVar28 >> 6) * 8" (parenthesized_expression "(uVar28 >> 6)" ( (binary_expression "uVar28 >> 6" identifier >> number_literal) )) * number_literal)) ))))) )) == number_literal) )) (compound_statement "{\n        puVar18 = (undefined8 *)(lVar21 + uVar28 * 0x10);\n        local_178 = *puVar18;\n        uStack_170 = puVar18[1];\n        local_100 = 0;\n        local_f8[0] = local_f8[0] & 0xffffffffffffff00;\n        local_108 = local_f8;\n        if (uVar26 == 1) {\n          local_e8 = (ulong *)((ulong)local_e8 & 0xffffffff00000000);\n          FUN_0017f6d0(&local_c8,1,&local_178,uVar3,&local_e8,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_c8 == local_b8) {\n            sVar17 = local_c0;\n            if (local_c0 != 0) {\n              if (local_c0 == 1) {\n                *(byte *)local_108 = (byte)local_b8[0];\n                sVar17 = local_c0;\n              }\n              else {\n                memcpy(local_108,local_c8,local_c0);\n                sVar17 = local_c0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_c8;\n              local_100 = local_c0;\n              local_f8[0] = local_b8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_c8 = puVar19;\n                local_b8[0] = uVar25;\n                goto LAB_00181993;\n              }\n            }\n            local_f8[0] = local_b8[0];\n            local_100 = local_c0;\n            local_108 = local_c8;\n            local_c8 = local_b8;\n          }\nLAB_00181993:\n          local_c0 = 0;\n          *(byte *)local_c8 = 0;\n          if (local_c8 != local_b8) {\n            FUN_002dac70();\n          }\n          local_1d8[uVar28] = local_e8._0_4_;\n        }\n        else {\n          if (uVar3 != *(uint *)(param_1[10] + uVar28 * 4)) goto LAB_001813c8;\n                    \n          FUN_0017f6d0(&local_e8,0,&local_178,uVar3,0,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_e8 == local_d8) {\n            sVar17 = local_e0;\n            if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *(byte *)local_108 = (byte)local_d8[0];\n                sVar17 = local_e0;\n              }\n              else {\n                memcpy(local_108,local_e8,local_e0);\n                sVar17 = local_e0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_e8;\n              local_100 = local_e0;\n              local_f8[0] = local_d8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_e8 = puVar19;\n                local_d8[0] = uVar25;\n                goto LAB_0018156c;\n              }\n            }\n            local_f8[0] = local_d8[0];\n            local_100 = local_e0;\n            local_108 = local_e8;\n            local_e8 = local_d8;\n          }\nLAB_0018156c:\n          local_e0 = 0;\n          *(byte *)local_e8 = 0;\n          if (local_e8 != local_d8) {\n            FUN_002dac70();\n          }\n        }\n        uVar12 = FUN_002d5ef0(local_108,local_100 & 0xffffffff,0xffffffff);\n        uVar25 = (ulong)uVar12 % uStack_70;\n        local_18c = uVar12;\n        if (((long *)local_78[uVar25] == (long *)0x0) ||\n           (puVar18 = *(undefined8 **)local_78[uVar25], puVar18 == (undefined8 *)0x0)) {\nLAB_00181638:\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,(ulong)uVar12,puVar18);\n        }\n        else {\n          uVar23 = (ulong)*(uint *)(puVar18 + 1);\n          lVar21 = 0;\n          do {\n            if (uVar12 == (uint)uVar23) {\n              puVar18 = (undefined8 *)*puVar18;\n              lVar21 = lVar21 + 1;\n              lVar29 = lVar21;\n            }\n            else {\n              if (lVar21 != 0) goto LAB_00181742;\n              puVar18 = (undefined8 *)*puVar18;\n              lVar29 = 0;\n            }\n          } while ((puVar18 != (undefined8 *)0x0) &&\n                  (uVar23 = (ulong)*(uint *)(puVar18 + 1), lVar29 = lVar21,\n                  uVar25 == uVar23 % uStack_70));\n          if (lVar29 == 0) goto LAB_00181638;\nLAB_00181742:\n          auVar41 = FUN_00182170(&local_78,&local_18c);\n          uVar25 = local_100;\n          puVar19 = local_108;\n          plVar4 = local_128;\n          uVar12 = local_18c;\n          for (puVar18 = auVar41._0_8_; local_18c = uVar12, puVar18 != auVar41._8_8_;\n              puVar18 = (undefined8 *)*puVar18) {\n            uVar12 = *(uint *)((long)puVar18 + 0xc);\n            uVar23 = (ulong)uVar12;\n            plVar30 = plVar4 + uVar23 * 4;\n            if ((plVar30[1] == uVar25) &&\n               (iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0)) {\n              if (*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8)) {\n                *(uint *)(param_1[10] + uVar23 * 4) = uVar3;\n                *(uint *)((long)puVar18 + 0xc) = uVar3;\n                FUN_002e3180(plVar30,plVar4 + uVar28 * 4);\n                bVar36 = false;\n              }\n              else {\n                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;\n                bVar36 = false;\n              }\n              goto joined_r0x00181835;\n            }\n            uVar12 = local_18c;\n          }\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,uVar12,puVar18);\n        }\n        FUN_002e1890(local_128 + uVar28 * 4,&local_108);\njoined_r0x00181835:\n        if ((uVar26 == 1) && (local_1d8[uVar28] == 0)) {\n          puVar19 = (ulong *)((uVar28 >> 6) * 8 + local_a8);\n          *puVar19 = *puVar19 | uVar24;\n        }\n        if (local_108 != local_f8) {\n          FUN_002dac70();\n        }\n        lVar21 = *param_1;\n      }" { (expression_statement "puVar18 = (undefined8 *)(lVar21 + uVar28 * 0x10);" (assignment_expression "puVar18 = (undefined8 *)(lVar21 + uVar28 * 0x10)" identifier = (cast_expression "(undefined8 *)(lVar21 + uVar28 * 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar21 + uVar28 * 0x10)" ( (binary_expression "lVar21 + uVar28 * 0x10" identifier + (binary_expression "uVar28 * 0x10" identifier * number_literal)) )))) ;) (expression_statement "local_178 = *puVar18;" (assignment_expression "local_178 = *puVar18" identifier = (pointer_expression "*puVar18" * identifier)) ;) (expression_statement "uStack_170 = puVar18[1];" (assignment_expression "uStack_170 = puVar18[1]" identifier = (subscript_expression "puVar18[1]" identifier [ number_literal ])) ;) (expression_statement "local_100 = 0;" (assignment_expression "local_100 = 0" identifier = number_literal) ;) (expression_statement "local_f8[0] = local_f8[0] & 0xffffffffffffff00;" (assignment_expression "local_f8[0] = local_f8[0] & 0xffffffffffffff00" (subscript_expression "local_f8[0]" identifier [ number_literal ]) = (binary_expression "local_f8[0] & 0xffffffffffffff00" (subscript_expression "local_f8[0]" identifier [ number_literal ]) & number_literal)) ;) (expression_statement "local_108 = local_f8;" (assignment_expression "local_108 = local_f8" identifier = identifier) ;) (if_statement "if (uVar26 == 1) {\n          local_e8 = (ulong *)((ulong)local_e8 & 0xffffffff00000000);\n          FUN_0017f6d0(&local_c8,1,&local_178,uVar3,&local_e8,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_c8 == local_b8) {\n            sVar17 = local_c0;\n            if (local_c0 != 0) {\n              if (local_c0 == 1) {\n                *(byte *)local_108 = (byte)local_b8[0];\n                sVar17 = local_c0;\n              }\n              else {\n                memcpy(local_108,local_c8,local_c0);\n                sVar17 = local_c0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_c8;\n              local_100 = local_c0;\n              local_f8[0] = local_b8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_c8 = puVar19;\n                local_b8[0] = uVar25;\n                goto LAB_00181993;\n              }\n            }\n            local_f8[0] = local_b8[0];\n            local_100 = local_c0;\n            local_108 = local_c8;\n            local_c8 = local_b8;\n          }\nLAB_00181993:\n          local_c0 = 0;\n          *(byte *)local_c8 = 0;\n          if (local_c8 != local_b8) {\n            FUN_002dac70();\n          }\n          local_1d8[uVar28] = local_e8._0_4_;\n        }\n        else {\n          if (uVar3 != *(uint *)(param_1[10] + uVar28 * 4)) goto LAB_001813c8;\n                    \n          FUN_0017f6d0(&local_e8,0,&local_178,uVar3,0,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_e8 == local_d8) {\n            sVar17 = local_e0;\n            if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *(byte *)local_108 = (byte)local_d8[0];\n                sVar17 = local_e0;\n              }\n              else {\n                memcpy(local_108,local_e8,local_e0);\n                sVar17 = local_e0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_e8;\n              local_100 = local_e0;\n              local_f8[0] = local_d8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_e8 = puVar19;\n                local_d8[0] = uVar25;\n                goto LAB_0018156c;\n              }\n            }\n            local_f8[0] = local_d8[0];\n            local_100 = local_e0;\n            local_108 = local_e8;\n            local_e8 = local_d8;\n          }\nLAB_0018156c:\n          local_e0 = 0;\n          *(byte *)local_e8 = 0;\n          if (local_e8 != local_d8) {\n            FUN_002dac70();\n          }\n        }" if (parenthesized_expression "(uVar26 == 1)" ( (binary_expression "uVar26 == 1" identifier == number_literal) )) (compound_statement "{\n          local_e8 = (ulong *)((ulong)local_e8 & 0xffffffff00000000);\n          FUN_0017f6d0(&local_c8,1,&local_178,uVar3,&local_e8,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_c8 == local_b8) {\n            sVar17 = local_c0;\n            if (local_c0 != 0) {\n              if (local_c0 == 1) {\n                *(byte *)local_108 = (byte)local_b8[0];\n                sVar17 = local_c0;\n              }\n              else {\n                memcpy(local_108,local_c8,local_c0);\n                sVar17 = local_c0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_c8;\n              local_100 = local_c0;\n              local_f8[0] = local_b8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_c8 = puVar19;\n                local_b8[0] = uVar25;\n                goto LAB_00181993;\n              }\n            }\n            local_f8[0] = local_b8[0];\n            local_100 = local_c0;\n            local_108 = local_c8;\n            local_c8 = local_b8;\n          }\nLAB_00181993:\n          local_c0 = 0;\n          *(byte *)local_c8 = 0;\n          if (local_c8 != local_b8) {\n            FUN_002dac70();\n          }\n          local_1d8[uVar28] = local_e8._0_4_;\n        }" { (expression_statement "local_e8 = (ulong *)((ulong)local_e8 & 0xffffffff00000000);" (assignment_expression "local_e8 = (ulong *)((ulong)local_e8 & 0xffffffff00000000)" identifier = (cast_expression "(ulong *)((ulong)local_e8 & 0xffffffff00000000)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)local_e8 & 0xffffffff00000000)" ( (binary_expression "(ulong)local_e8 & 0xffffffff00000000" (cast_expression "(ulong)local_e8" ( (type_descriptor "ulong" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "FUN_0017f6d0(&local_c8,1,&local_178,uVar3,&local_e8,param_3,param_1 + 10,&local_148);" (call_expression "FUN_0017f6d0(&local_c8,1,&local_178,uVar3,&local_e8,param_3,param_1 + 10,&local_148)" identifier (argument_list "(&local_c8,1,&local_178,uVar3,&local_e8,param_3,param_1 + 10,&local_148)" ( (pointer_expression "&local_c8" & identifier) , number_literal , (pointer_expression "&local_178" & identifier) , identifier , (pointer_expression "&local_e8" & identifier) , identifier , (binary_expression "param_1 + 10" identifier + number_literal) , (pointer_expression "&local_148" & identifier) ))) ;) (expression_statement "uVar25 = local_f8[0];" (assignment_expression "uVar25 = local_f8[0]" identifier = (subscript_expression "local_f8[0]" identifier [ number_literal ])) ;) (expression_statement "puVar19 = local_108;" (assignment_expression "puVar19 = local_108" identifier = identifier) ;) (if_statement "if (local_c8 == local_b8) {\n            sVar17 = local_c0;\n            if (local_c0 != 0) {\n              if (local_c0 == 1) {\n                *(byte *)local_108 = (byte)local_b8[0];\n                sVar17 = local_c0;\n              }\n              else {\n                memcpy(local_108,local_c8,local_c0);\n                sVar17 = local_c0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_c8;\n              local_100 = local_c0;\n              local_f8[0] = local_b8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_c8 = puVar19;\n                local_b8[0] = uVar25;\n                goto LAB_00181993;\n              }\n            }\n            local_f8[0] = local_b8[0];\n            local_100 = local_c0;\n            local_108 = local_c8;\n            local_c8 = local_b8;\n          }" if (parenthesized_expression "(local_c8 == local_b8)" ( (binary_expression "local_c8 == local_b8" identifier == identifier) )) (compound_statement "{\n            sVar17 = local_c0;\n            if (local_c0 != 0) {\n              if (local_c0 == 1) {\n                *(byte *)local_108 = (byte)local_b8[0];\n                sVar17 = local_c0;\n              }\n              else {\n                memcpy(local_108,local_c8,local_c0);\n                sVar17 = local_c0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }" { (expression_statement "sVar17 = local_c0;" (assignment_expression "sVar17 = local_c0" identifier = identifier) ;) (if_statement "if (local_c0 != 0) {\n              if (local_c0 == 1) {\n                *(byte *)local_108 = (byte)local_b8[0];\n                sVar17 = local_c0;\n              }\n              else {\n                memcpy(local_108,local_c8,local_c0);\n                sVar17 = local_c0;\n              }\n            }" if (parenthesized_expression "(local_c0 != 0)" ( (binary_expression "local_c0 != 0" identifier != number_literal) )) (compound_statement "{\n              if (local_c0 == 1) {\n                *(byte *)local_108 = (byte)local_b8[0];\n                sVar17 = local_c0;\n              }\n              else {\n                memcpy(local_108,local_c8,local_c0);\n                sVar17 = local_c0;\n              }\n            }" { (if_statement "if (local_c0 == 1) {\n                *(byte *)local_108 = (byte)local_b8[0];\n                sVar17 = local_c0;\n              }\n              else {\n                memcpy(local_108,local_c8,local_c0);\n                sVar17 = local_c0;\n              }" if (parenthesized_expression "(local_c0 == 1)" ( (binary_expression "local_c0 == 1" identifier == number_literal) )) (compound_statement "{\n                *(byte *)local_108 = (byte)local_b8[0];\n                sVar17 = local_c0;\n              }" { (expression_statement "*(byte *)local_108 = (byte)local_b8[0];" (assignment_expression "*(byte *)local_108 = (byte)local_b8[0]" (pointer_expression "*(byte *)local_108" * (cast_expression "(byte *)local_108" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (cast_expression "(byte)local_b8[0]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "local_b8[0]" identifier [ number_literal ]))) ;) (expression_statement "sVar17 = local_c0;" (assignment_expression "sVar17 = local_c0" identifier = identifier) ;) }) (else_clause "else {\n                memcpy(local_108,local_c8,local_c0);\n                sVar17 = local_c0;\n              }" else (compound_statement "{\n                memcpy(local_108,local_c8,local_c0);\n                sVar17 = local_c0;\n              }" { (expression_statement "memcpy(local_108,local_c8,local_c0);" (call_expression "memcpy(local_108,local_c8,local_c0)" identifier (argument_list "(local_108,local_c8,local_c0)" ( identifier , identifier , identifier ))) ;) (expression_statement "sVar17 = local_c0;" (assignment_expression "sVar17 = local_c0" identifier = identifier) ;) }))) })) (expression_statement "*(byte *)((long)local_108 + sVar17) = 0;" (assignment_expression "*(byte *)((long)local_108 + sVar17) = 0" (pointer_expression "*(byte *)((long)local_108 + sVar17)" * (cast_expression "(byte *)((long)local_108 + sVar17)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_108 + sVar17)" ( (binary_expression "(long)local_108 + sVar17" (cast_expression "(long)local_108" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) )))) = number_literal) ;) (expression_statement "local_100 = sVar17;" (assignment_expression "local_100 = sVar17" identifier = identifier) ;) }) (else_clause "else {\n            if (local_108 != local_f8) {\n              local_108 = local_c8;\n              local_100 = local_c0;\n              local_f8[0] = local_b8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_c8 = puVar19;\n                local_b8[0] = uVar25;\n                goto LAB_00181993;\n              }\n            }\n            local_f8[0] = local_b8[0];\n            local_100 = local_c0;\n            local_108 = local_c8;\n            local_c8 = local_b8;\n          }" else (compound_statement "{\n            if (local_108 != local_f8) {\n              local_108 = local_c8;\n              local_100 = local_c0;\n              local_f8[0] = local_b8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_c8 = puVar19;\n                local_b8[0] = uVar25;\n                goto LAB_00181993;\n              }\n            }\n            local_f8[0] = local_b8[0];\n            local_100 = local_c0;\n            local_108 = local_c8;\n            local_c8 = local_b8;\n          }" { (if_statement "if (local_108 != local_f8) {\n              local_108 = local_c8;\n              local_100 = local_c0;\n              local_f8[0] = local_b8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_c8 = puVar19;\n                local_b8[0] = uVar25;\n                goto LAB_00181993;\n              }\n            }" if (parenthesized_expression "(local_108 != local_f8)" ( (binary_expression "local_108 != local_f8" identifier != identifier) )) (compound_statement "{\n              local_108 = local_c8;\n              local_100 = local_c0;\n              local_f8[0] = local_b8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_c8 = puVar19;\n                local_b8[0] = uVar25;\n                goto LAB_00181993;\n              }\n            }" { (expression_statement "local_108 = local_c8;" (assignment_expression "local_108 = local_c8" identifier = identifier) ;) (expression_statement "local_100 = local_c0;" (assignment_expression "local_100 = local_c0" identifier = identifier) ;) (expression_statement "local_f8[0] = local_b8[0];" (assignment_expression "local_f8[0] = local_b8[0]" (subscript_expression "local_f8[0]" identifier [ number_literal ]) = (subscript_expression "local_b8[0]" identifier [ number_literal ])) ;) (if_statement "if (puVar19 != (ulong *)0x0) {\n                local_c8 = puVar19;\n                local_b8[0] = uVar25;\n                goto LAB_00181993;\n              }" if (parenthesized_expression "(puVar19 != (ulong *)0x0)" ( (binary_expression "puVar19 != (ulong *)0x0" identifier != (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                local_c8 = puVar19;\n                local_b8[0] = uVar25;\n                goto LAB_00181993;\n              }" { (expression_statement "local_c8 = puVar19;" (assignment_expression "local_c8 = puVar19" identifier = identifier) ;) (expression_statement "local_b8[0] = uVar25;" (assignment_expression "local_b8[0] = uVar25" (subscript_expression "local_b8[0]" identifier [ number_literal ]) = identifier) ;) (goto_statement "goto LAB_00181993;" goto statement_identifier ;) })) })) (expression_statement "local_f8[0] = local_b8[0];" (assignment_expression "local_f8[0] = local_b8[0]" (subscript_expression "local_f8[0]" identifier [ number_literal ]) = (subscript_expression "local_b8[0]" identifier [ number_literal ])) ;) (expression_statement "local_100 = local_c0;" (assignment_expression "local_100 = local_c0" identifier = identifier) ;) (expression_statement "local_108 = local_c8;" (assignment_expression "local_108 = local_c8" identifier = identifier) ;) (expression_statement "local_c8 = local_b8;" (assignment_expression "local_c8 = local_b8" identifier = identifier) ;) }))) (labeled_statement "LAB_00181993:\n          local_c0 = 0;" statement_identifier : (expression_statement "local_c0 = 0;" (assignment_expression "local_c0 = 0" identifier = number_literal) ;)) (expression_statement "*(byte *)local_c8 = 0;" (assignment_expression "*(byte *)local_c8 = 0" (pointer_expression "*(byte *)local_c8" * (cast_expression "(byte *)local_c8" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (if_statement "if (local_c8 != local_b8) {\n            FUN_002dac70();\n          }" if (parenthesized_expression "(local_c8 != local_b8)" ( (binary_expression "local_c8 != local_b8" identifier != identifier) )) (compound_statement "{\n            FUN_002dac70();\n          }" { (expression_statement "FUN_002dac70();" (call_expression "FUN_002dac70()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_1d8[uVar28] = local_e8._0_4_;" (assignment_expression "local_1d8[uVar28] = local_e8._0_4_" (subscript_expression "local_1d8[uVar28]" identifier [ identifier ]) = (field_expression "local_e8._0_4_" identifier . field_identifier)) ;) }) (else_clause "else {\n          if (uVar3 != *(uint *)(param_1[10] + uVar28 * 4)) goto LAB_001813c8;\n                    \n          FUN_0017f6d0(&local_e8,0,&local_178,uVar3,0,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_e8 == local_d8) {\n            sVar17 = local_e0;\n            if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *(byte *)local_108 = (byte)local_d8[0];\n                sVar17 = local_e0;\n              }\n              else {\n                memcpy(local_108,local_e8,local_e0);\n                sVar17 = local_e0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_e8;\n              local_100 = local_e0;\n              local_f8[0] = local_d8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_e8 = puVar19;\n                local_d8[0] = uVar25;\n                goto LAB_0018156c;\n              }\n            }\n            local_f8[0] = local_d8[0];\n            local_100 = local_e0;\n            local_108 = local_e8;\n            local_e8 = local_d8;\n          }\nLAB_0018156c:\n          local_e0 = 0;\n          *(byte *)local_e8 = 0;\n          if (local_e8 != local_d8) {\n            FUN_002dac70();\n          }\n        }" else (compound_statement "{\n          if (uVar3 != *(uint *)(param_1[10] + uVar28 * 4)) goto LAB_001813c8;\n                    \n          FUN_0017f6d0(&local_e8,0,&local_178,uVar3,0,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_e8 == local_d8) {\n            sVar17 = local_e0;\n            if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *(byte *)local_108 = (byte)local_d8[0];\n                sVar17 = local_e0;\n              }\n              else {\n                memcpy(local_108,local_e8,local_e0);\n                sVar17 = local_e0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_e8;\n              local_100 = local_e0;\n              local_f8[0] = local_d8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_e8 = puVar19;\n                local_d8[0] = uVar25;\n                goto LAB_0018156c;\n              }\n            }\n            local_f8[0] = local_d8[0];\n            local_100 = local_e0;\n            local_108 = local_e8;\n            local_e8 = local_d8;\n          }\nLAB_0018156c:\n          local_e0 = 0;\n          *(byte *)local_e8 = 0;\n          if (local_e8 != local_d8) {\n            FUN_002dac70();\n          }\n        }" { (if_statement "if (uVar3 != *(uint *)(param_1[10] + uVar28 * 4)) goto LAB_001813c8;" if (parenthesized_expression "(uVar3 != *(uint *)(param_1[10] + uVar28 * 4))" ( (binary_expression "uVar3 != *(uint *)(param_1[10] + uVar28 * 4)" identifier != (pointer_expression "*(uint *)(param_1[10] + uVar28 * 4)" * (cast_expression "(uint *)(param_1[10] + uVar28 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[10] + uVar28 * 4)" ( (binary_expression "param_1[10] + uVar28 * 4" (subscript_expression "param_1[10]" identifier [ number_literal ]) + (binary_expression "uVar28 * 4" identifier * number_literal)) ))))) )) (goto_statement "goto LAB_001813c8;" goto statement_identifier ;)) (expression_statement "FUN_0017f6d0(&local_e8,0,&local_178,uVar3,0,param_3,param_1 + 10,&local_148);" (call_expression "FUN_0017f6d0(&local_e8,0,&local_178,uVar3,0,param_3,param_1 + 10,&local_148)" identifier (argument_list "(&local_e8,0,&local_178,uVar3,0,param_3,param_1 + 10,&local_148)" ( (pointer_expression "&local_e8" & identifier) , number_literal , (pointer_expression "&local_178" & identifier) , identifier , number_literal , identifier , (binary_expression "param_1 + 10" identifier + number_literal) , (pointer_expression "&local_148" & identifier) ))) ;) (expression_statement "uVar25 = local_f8[0];" (assignment_expression "uVar25 = local_f8[0]" identifier = (subscript_expression "local_f8[0]" identifier [ number_literal ])) ;) (expression_statement "puVar19 = local_108;" (assignment_expression "puVar19 = local_108" identifier = identifier) ;) (if_statement "if (local_e8 == local_d8) {\n            sVar17 = local_e0;\n            if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *(byte *)local_108 = (byte)local_d8[0];\n                sVar17 = local_e0;\n              }\n              else {\n                memcpy(local_108,local_e8,local_e0);\n                sVar17 = local_e0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_e8;\n              local_100 = local_e0;\n              local_f8[0] = local_d8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_e8 = puVar19;\n                local_d8[0] = uVar25;\n                goto LAB_0018156c;\n              }\n            }\n            local_f8[0] = local_d8[0];\n            local_100 = local_e0;\n            local_108 = local_e8;\n            local_e8 = local_d8;\n          }" if (parenthesized_expression "(local_e8 == local_d8)" ( (binary_expression "local_e8 == local_d8" identifier == identifier) )) (compound_statement "{\n            sVar17 = local_e0;\n            if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *(byte *)local_108 = (byte)local_d8[0];\n                sVar17 = local_e0;\n              }\n              else {\n                memcpy(local_108,local_e8,local_e0);\n                sVar17 = local_e0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }" { (expression_statement "sVar17 = local_e0;" (assignment_expression "sVar17 = local_e0" identifier = identifier) ;) (if_statement "if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *(byte *)local_108 = (byte)local_d8[0];\n                sVar17 = local_e0;\n              }\n              else {\n                memcpy(local_108,local_e8,local_e0);\n                sVar17 = local_e0;\n              }\n            }" if (parenthesized_expression "(local_e0 != 0)" ( (binary_expression "local_e0 != 0" identifier != number_literal) )) (compound_statement "{\n              if (local_e0 == 1) {\n                *(byte *)local_108 = (byte)local_d8[0];\n                sVar17 = local_e0;\n              }\n              else {\n                memcpy(local_108,local_e8,local_e0);\n                sVar17 = local_e0;\n              }\n            }" { (if_statement "if (local_e0 == 1) {\n                *(byte *)local_108 = (byte)local_d8[0];\n                sVar17 = local_e0;\n              }\n              else {\n                memcpy(local_108,local_e8,local_e0);\n                sVar17 = local_e0;\n              }" if (parenthesized_expression "(local_e0 == 1)" ( (binary_expression "local_e0 == 1" identifier == number_literal) )) (compound_statement "{\n                *(byte *)local_108 = (byte)local_d8[0];\n                sVar17 = local_e0;\n              }" { (expression_statement "*(byte *)local_108 = (byte)local_d8[0];" (assignment_expression "*(byte *)local_108 = (byte)local_d8[0]" (pointer_expression "*(byte *)local_108" * (cast_expression "(byte *)local_108" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (cast_expression "(byte)local_d8[0]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "local_d8[0]" identifier [ number_literal ]))) ;) (expression_statement "sVar17 = local_e0;" (assignment_expression "sVar17 = local_e0" identifier = identifier) ;) }) (else_clause "else {\n                memcpy(local_108,local_e8,local_e0);\n                sVar17 = local_e0;\n              }" else (compound_statement "{\n                memcpy(local_108,local_e8,local_e0);\n                sVar17 = local_e0;\n              }" { (expression_statement "memcpy(local_108,local_e8,local_e0);" (call_expression "memcpy(local_108,local_e8,local_e0)" identifier (argument_list "(local_108,local_e8,local_e0)" ( identifier , identifier , identifier ))) ;) (expression_statement "sVar17 = local_e0;" (assignment_expression "sVar17 = local_e0" identifier = identifier) ;) }))) })) (expression_statement "*(byte *)((long)local_108 + sVar17) = 0;" (assignment_expression "*(byte *)((long)local_108 + sVar17) = 0" (pointer_expression "*(byte *)((long)local_108 + sVar17)" * (cast_expression "(byte *)((long)local_108 + sVar17)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_108 + sVar17)" ( (binary_expression "(long)local_108 + sVar17" (cast_expression "(long)local_108" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) )))) = number_literal) ;) (expression_statement "local_100 = sVar17;" (assignment_expression "local_100 = sVar17" identifier = identifier) ;) }) (else_clause "else {\n            if (local_108 != local_f8) {\n              local_108 = local_e8;\n              local_100 = local_e0;\n              local_f8[0] = local_d8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_e8 = puVar19;\n                local_d8[0] = uVar25;\n                goto LAB_0018156c;\n              }\n            }\n            local_f8[0] = local_d8[0];\n            local_100 = local_e0;\n            local_108 = local_e8;\n            local_e8 = local_d8;\n          }" else (compound_statement "{\n            if (local_108 != local_f8) {\n              local_108 = local_e8;\n              local_100 = local_e0;\n              local_f8[0] = local_d8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_e8 = puVar19;\n                local_d8[0] = uVar25;\n                goto LAB_0018156c;\n              }\n            }\n            local_f8[0] = local_d8[0];\n            local_100 = local_e0;\n            local_108 = local_e8;\n            local_e8 = local_d8;\n          }" { (if_statement "if (local_108 != local_f8) {\n              local_108 = local_e8;\n              local_100 = local_e0;\n              local_f8[0] = local_d8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_e8 = puVar19;\n                local_d8[0] = uVar25;\n                goto LAB_0018156c;\n              }\n            }" if (parenthesized_expression "(local_108 != local_f8)" ( (binary_expression "local_108 != local_f8" identifier != identifier) )) (compound_statement "{\n              local_108 = local_e8;\n              local_100 = local_e0;\n              local_f8[0] = local_d8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_e8 = puVar19;\n                local_d8[0] = uVar25;\n                goto LAB_0018156c;\n              }\n            }" { (expression_statement "local_108 = local_e8;" (assignment_expression "local_108 = local_e8" identifier = identifier) ;) (expression_statement "local_100 = local_e0;" (assignment_expression "local_100 = local_e0" identifier = identifier) ;) (expression_statement "local_f8[0] = local_d8[0];" (assignment_expression "local_f8[0] = local_d8[0]" (subscript_expression "local_f8[0]" identifier [ number_literal ]) = (subscript_expression "local_d8[0]" identifier [ number_literal ])) ;) (if_statement "if (puVar19 != (ulong *)0x0) {\n                local_e8 = puVar19;\n                local_d8[0] = uVar25;\n                goto LAB_0018156c;\n              }" if (parenthesized_expression "(puVar19 != (ulong *)0x0)" ( (binary_expression "puVar19 != (ulong *)0x0" identifier != (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                local_e8 = puVar19;\n                local_d8[0] = uVar25;\n                goto LAB_0018156c;\n              }" { (expression_statement "local_e8 = puVar19;" (assignment_expression "local_e8 = puVar19" identifier = identifier) ;) (expression_statement "local_d8[0] = uVar25;" (assignment_expression "local_d8[0] = uVar25" (subscript_expression "local_d8[0]" identifier [ number_literal ]) = identifier) ;) (goto_statement "goto LAB_0018156c;" goto statement_identifier ;) })) })) (expression_statement "local_f8[0] = local_d8[0];" (assignment_expression "local_f8[0] = local_d8[0]" (subscript_expression "local_f8[0]" identifier [ number_literal ]) = (subscript_expression "local_d8[0]" identifier [ number_literal ])) ;) (expression_statement "local_100 = local_e0;" (assignment_expression "local_100 = local_e0" identifier = identifier) ;) (expression_statement "local_108 = local_e8;" (assignment_expression "local_108 = local_e8" identifier = identifier) ;) (expression_statement "local_e8 = local_d8;" (assignment_expression "local_e8 = local_d8" identifier = identifier) ;) }))) (labeled_statement "LAB_0018156c:\n          local_e0 = 0;" statement_identifier : (expression_statement "local_e0 = 0;" (assignment_expression "local_e0 = 0" identifier = number_literal) ;)) (expression_statement "*(byte *)local_e8 = 0;" (assignment_expression "*(byte *)local_e8 = 0" (pointer_expression "*(byte *)local_e8" * (cast_expression "(byte *)local_e8" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (if_statement "if (local_e8 != local_d8) {\n            FUN_002dac70();\n          }" if (parenthesized_expression "(local_e8 != local_d8)" ( (binary_expression "local_e8 != local_d8" identifier != identifier) )) (compound_statement "{\n            FUN_002dac70();\n          }" { (expression_statement "FUN_002dac70();" (call_expression "FUN_002dac70()" identifier (argument_list "()" ( ))) ;) })) }))) (expression_statement "uVar12 = FUN_002d5ef0(local_108,local_100 & 0xffffffff,0xffffffff);" (assignment_expression "uVar12 = FUN_002d5ef0(local_108,local_100 & 0xffffffff,0xffffffff)" identifier = (call_expression "FUN_002d5ef0(local_108,local_100 & 0xffffffff,0xffffffff)" identifier (argument_list "(local_108,local_100 & 0xffffffff,0xffffffff)" ( identifier , (binary_expression "local_100 & 0xffffffff" identifier & number_literal) , number_literal )))) ;) (expression_statement "uVar25 = (ulong)uVar12 % uStack_70;" (assignment_expression "uVar25 = (ulong)uVar12 % uStack_70" identifier = (binary_expression "(ulong)uVar12 % uStack_70" (cast_expression "(ulong)uVar12" ( (type_descriptor "ulong" type_identifier) ) identifier) % identifier)) ;) (expression_statement "local_18c = uVar12;" (assignment_expression "local_18c = uVar12" identifier = identifier) ;) (if_statement "if (((long *)local_78[uVar25] == (long *)0x0) ||\n           (puVar18 = *(undefined8 **)local_78[uVar25], puVar18 == (undefined8 *)0x0)) {\nLAB_00181638:\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,(ulong)uVar12,puVar18);\n        }\n        else {\n          uVar23 = (ulong)*(uint *)(puVar18 + 1);\n          lVar21 = 0;\n          do {\n            if (uVar12 == (uint)uVar23) {\n              puVar18 = (undefined8 *)*puVar18;\n              lVar21 = lVar21 + 1;\n              lVar29 = lVar21;\n            }\n            else {\n              if (lVar21 != 0) goto LAB_00181742;\n              puVar18 = (undefined8 *)*puVar18;\n              lVar29 = 0;\n            }\n          } while ((puVar18 != (undefined8 *)0x0) &&\n                  (uVar23 = (ulong)*(uint *)(puVar18 + 1), lVar29 = lVar21,\n                  uVar25 == uVar23 % uStack_70));\n          if (lVar29 == 0) goto LAB_00181638;\nLAB_00181742:\n          auVar41 = FUN_00182170(&local_78,&local_18c);\n          uVar25 = local_100;\n          puVar19 = local_108;\n          plVar4 = local_128;\n          uVar12 = local_18c;\n          for (puVar18 = auVar41._0_8_; local_18c = uVar12, puVar18 != auVar41._8_8_;\n              puVar18 = (undefined8 *)*puVar18) {\n            uVar12 = *(uint *)((long)puVar18 + 0xc);\n            uVar23 = (ulong)uVar12;\n            plVar30 = plVar4 + uVar23 * 4;\n            if ((plVar30[1] == uVar25) &&\n               (iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0)) {\n              if (*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8)) {\n                *(uint *)(param_1[10] + uVar23 * 4) = uVar3;\n                *(uint *)((long)puVar18 + 0xc) = uVar3;\n                FUN_002e3180(plVar30,plVar4 + uVar28 * 4);\n                bVar36 = false;\n              }\n              else {\n                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;\n                bVar36 = false;\n              }\n              goto joined_r0x00181835;\n            }\n            uVar12 = local_18c;\n          }\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,uVar12,puVar18);\n        }" if (parenthesized_expression "(((long *)local_78[uVar25] == (long *)0x0) ||\n           (puVar18 = *(undefined8 **)local_78[uVar25], puVar18 == (undefined8 *)0x0))" ( (binary_expression "((long *)local_78[uVar25] == (long *)0x0) ||\n           (puVar18 = *(undefined8 **)local_78[uVar25], puVar18 == (undefined8 *)0x0)" (parenthesized_expression "((long *)local_78[uVar25] == (long *)0x0)" ( (binary_expression "(long *)local_78[uVar25] == (long *)0x0" (cast_expression "(long *)local_78[uVar25]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_78[uVar25]" identifier [ identifier ])) == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(puVar18 = *(undefined8 **)local_78[uVar25], puVar18 == (undefined8 *)0x0)" ( (comma_expression "puVar18 = *(undefined8 **)local_78[uVar25], puVar18 == (undefined8 *)0x0" (assignment_expression "puVar18 = *(undefined8 **)local_78[uVar25]" identifier = (pointer_expression "*(undefined8 **)local_78[uVar25]" * (cast_expression "(undefined8 **)local_78[uVar25]" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "local_78[uVar25]" identifier [ identifier ])))) , (binary_expression "puVar18 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\nLAB_00181638:\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,(ulong)uVar12,puVar18);\n        }" { (labeled_statement "LAB_00181638:\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);" statement_identifier : (expression_statement "puVar18 = (undefined8 *)FUN_002d94a0(0x10);" (assignment_expression "puVar18 = (undefined8 *)FUN_002d94a0(0x10)" identifier = (cast_expression "(undefined8 *)FUN_002d94a0(0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002d94a0(0x10)" identifier (argument_list "(0x10)" ( number_literal ))))) ;)) (expression_statement "*(uint *)(puVar18 + 1) = uVar12;" (assignment_expression "*(uint *)(puVar18 + 1) = uVar12" (pointer_expression "*(uint *)(puVar18 + 1)" * (cast_expression "(uint *)(puVar18 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 1)" ( (binary_expression "puVar18 + 1" identifier + number_literal) )))) = identifier) ;) (expression_statement "*puVar18 = 0;" (assignment_expression "*puVar18 = 0" (pointer_expression "*puVar18" * identifier) = number_literal) ;) (expression_statement "*(uint *)((long)puVar18 + 0xc) = uVar3;" (assignment_expression "*(uint *)((long)puVar18 + 0xc) = uVar3" (pointer_expression "*(uint *)((long)puVar18 + 0xc)" * (cast_expression "(uint *)((long)puVar18 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar18 + 0xc)" ( (binary_expression "(long)puVar18 + 0xc" (cast_expression "(long)puVar18" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "FUN_00182c70(&local_78,0,(ulong)uVar12,puVar18);" (call_expression "FUN_00182c70(&local_78,0,(ulong)uVar12,puVar18)" identifier (argument_list "(&local_78,0,(ulong)uVar12,puVar18)" ( (pointer_expression "&local_78" & identifier) , number_literal , (cast_expression "(ulong)uVar12" ( (type_descriptor "ulong" type_identifier) ) identifier) , identifier ))) ;) }) (else_clause "else {\n          uVar23 = (ulong)*(uint *)(puVar18 + 1);\n          lVar21 = 0;\n          do {\n            if (uVar12 == (uint)uVar23) {\n              puVar18 = (undefined8 *)*puVar18;\n              lVar21 = lVar21 + 1;\n              lVar29 = lVar21;\n            }\n            else {\n              if (lVar21 != 0) goto LAB_00181742;\n              puVar18 = (undefined8 *)*puVar18;\n              lVar29 = 0;\n            }\n          } while ((puVar18 != (undefined8 *)0x0) &&\n                  (uVar23 = (ulong)*(uint *)(puVar18 + 1), lVar29 = lVar21,\n                  uVar25 == uVar23 % uStack_70));\n          if (lVar29 == 0) goto LAB_00181638;\nLAB_00181742:\n          auVar41 = FUN_00182170(&local_78,&local_18c);\n          uVar25 = local_100;\n          puVar19 = local_108;\n          plVar4 = local_128;\n          uVar12 = local_18c;\n          for (puVar18 = auVar41._0_8_; local_18c = uVar12, puVar18 != auVar41._8_8_;\n              puVar18 = (undefined8 *)*puVar18) {\n            uVar12 = *(uint *)((long)puVar18 + 0xc);\n            uVar23 = (ulong)uVar12;\n            plVar30 = plVar4 + uVar23 * 4;\n            if ((plVar30[1] == uVar25) &&\n               (iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0)) {\n              if (*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8)) {\n                *(uint *)(param_1[10] + uVar23 * 4) = uVar3;\n                *(uint *)((long)puVar18 + 0xc) = uVar3;\n                FUN_002e3180(plVar30,plVar4 + uVar28 * 4);\n                bVar36 = false;\n              }\n              else {\n                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;\n                bVar36 = false;\n              }\n              goto joined_r0x00181835;\n            }\n            uVar12 = local_18c;\n          }\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,uVar12,puVar18);\n        }" else (compound_statement "{\n          uVar23 = (ulong)*(uint *)(puVar18 + 1);\n          lVar21 = 0;\n          do {\n            if (uVar12 == (uint)uVar23) {\n              puVar18 = (undefined8 *)*puVar18;\n              lVar21 = lVar21 + 1;\n              lVar29 = lVar21;\n            }\n            else {\n              if (lVar21 != 0) goto LAB_00181742;\n              puVar18 = (undefined8 *)*puVar18;\n              lVar29 = 0;\n            }\n          } while ((puVar18 != (undefined8 *)0x0) &&\n                  (uVar23 = (ulong)*(uint *)(puVar18 + 1), lVar29 = lVar21,\n                  uVar25 == uVar23 % uStack_70));\n          if (lVar29 == 0) goto LAB_00181638;\nLAB_00181742:\n          auVar41 = FUN_00182170(&local_78,&local_18c);\n          uVar25 = local_100;\n          puVar19 = local_108;\n          plVar4 = local_128;\n          uVar12 = local_18c;\n          for (puVar18 = auVar41._0_8_; local_18c = uVar12, puVar18 != auVar41._8_8_;\n              puVar18 = (undefined8 *)*puVar18) {\n            uVar12 = *(uint *)((long)puVar18 + 0xc);\n            uVar23 = (ulong)uVar12;\n            plVar30 = plVar4 + uVar23 * 4;\n            if ((plVar30[1] == uVar25) &&\n               (iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0)) {\n              if (*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8)) {\n                *(uint *)(param_1[10] + uVar23 * 4) = uVar3;\n                *(uint *)((long)puVar18 + 0xc) = uVar3;\n                FUN_002e3180(plVar30,plVar4 + uVar28 * 4);\n                bVar36 = false;\n              }\n              else {\n                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;\n                bVar36 = false;\n              }\n              goto joined_r0x00181835;\n            }\n            uVar12 = local_18c;\n          }\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,uVar12,puVar18);\n        }" { (expression_statement "uVar23 = (ulong)*(uint *)(puVar18 + 1);" (assignment_expression "uVar23 = (ulong)*(uint *)(puVar18 + 1)" identifier = (binary_expression "(ulong)*(uint *)(puVar18 + 1)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(puVar18 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 1)" ( (binary_expression "puVar18 + 1" identifier + number_literal) ))))) ;) (expression_statement "lVar21 = 0;" (assignment_expression "lVar21 = 0" identifier = number_literal) ;) (do_statement "do {\n            if (uVar12 == (uint)uVar23) {\n              puVar18 = (undefined8 *)*puVar18;\n              lVar21 = lVar21 + 1;\n              lVar29 = lVar21;\n            }\n            else {\n              if (lVar21 != 0) goto LAB_00181742;\n              puVar18 = (undefined8 *)*puVar18;\n              lVar29 = 0;\n            }\n          } while ((puVar18 != (undefined8 *)0x0) &&\n                  (uVar23 = (ulong)*(uint *)(puVar18 + 1), lVar29 = lVar21,\n                  uVar25 == uVar23 % uStack_70));" do (compound_statement "{\n            if (uVar12 == (uint)uVar23) {\n              puVar18 = (undefined8 *)*puVar18;\n              lVar21 = lVar21 + 1;\n              lVar29 = lVar21;\n            }\n            else {\n              if (lVar21 != 0) goto LAB_00181742;\n              puVar18 = (undefined8 *)*puVar18;\n              lVar29 = 0;\n            }\n          }" { (if_statement "if (uVar12 == (uint)uVar23) {\n              puVar18 = (undefined8 *)*puVar18;\n              lVar21 = lVar21 + 1;\n              lVar29 = lVar21;\n            }\n            else {\n              if (lVar21 != 0) goto LAB_00181742;\n              puVar18 = (undefined8 *)*puVar18;\n              lVar29 = 0;\n            }" if (parenthesized_expression "(uVar12 == (uint)uVar23)" ( (binary_expression "uVar12 == (uint)uVar23" identifier == (cast_expression "(uint)uVar23" ( (type_descriptor "uint" type_identifier) ) identifier)) )) (compound_statement "{\n              puVar18 = (undefined8 *)*puVar18;\n              lVar21 = lVar21 + 1;\n              lVar29 = lVar21;\n            }" { (expression_statement "puVar18 = (undefined8 *)*puVar18;" (assignment_expression "puVar18 = (undefined8 *)*puVar18" identifier = (cast_expression "(undefined8 *)*puVar18" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar18" * identifier))) ;) (expression_statement "lVar21 = lVar21 + 1;" (assignment_expression "lVar21 = lVar21 + 1" identifier = (binary_expression "lVar21 + 1" identifier + number_literal)) ;) (expression_statement "lVar29 = lVar21;" (assignment_expression "lVar29 = lVar21" identifier = identifier) ;) }) (else_clause "else {\n              if (lVar21 != 0) goto LAB_00181742;\n              puVar18 = (undefined8 *)*puVar18;\n              lVar29 = 0;\n            }" else (compound_statement "{\n              if (lVar21 != 0) goto LAB_00181742;\n              puVar18 = (undefined8 *)*puVar18;\n              lVar29 = 0;\n            }" { (if_statement "if (lVar21 != 0) goto LAB_00181742;" if (parenthesized_expression "(lVar21 != 0)" ( (binary_expression "lVar21 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00181742;" goto statement_identifier ;)) (expression_statement "puVar18 = (undefined8 *)*puVar18;" (assignment_expression "puVar18 = (undefined8 *)*puVar18" identifier = (cast_expression "(undefined8 *)*puVar18" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar18" * identifier))) ;) (expression_statement "lVar29 = 0;" (assignment_expression "lVar29 = 0" identifier = number_literal) ;) }))) }) while (parenthesized_expression "((puVar18 != (undefined8 *)0x0) &&\n                  (uVar23 = (ulong)*(uint *)(puVar18 + 1), lVar29 = lVar21,\n                  uVar25 == uVar23 % uStack_70))" ( (binary_expression "(puVar18 != (undefined8 *)0x0) &&\n                  (uVar23 = (ulong)*(uint *)(puVar18 + 1), lVar29 = lVar21,\n                  uVar25 == uVar23 % uStack_70)" (parenthesized_expression "(puVar18 != (undefined8 *)0x0)" ( (binary_expression "puVar18 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(uVar23 = (ulong)*(uint *)(puVar18 + 1), lVar29 = lVar21,\n                  uVar25 == uVar23 % uStack_70)" ( (comma_expression "uVar23 = (ulong)*(uint *)(puVar18 + 1), lVar29 = lVar21,\n                  uVar25 == uVar23 % uStack_70" (assignment_expression "uVar23 = (ulong)*(uint *)(puVar18 + 1)" identifier = (binary_expression "(ulong)*(uint *)(puVar18 + 1)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(puVar18 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 1)" ( (binary_expression "puVar18 + 1" identifier + number_literal) ))))) , (comma_expression "lVar29 = lVar21,\n                  uVar25 == uVar23 % uStack_70" (assignment_expression "lVar29 = lVar21" identifier = identifier) , (binary_expression "uVar25 == uVar23 % uStack_70" identifier == (binary_expression "uVar23 % uStack_70" identifier % identifier)))) ))) )) ;) (if_statement "if (lVar29 == 0) goto LAB_00181638;" if (parenthesized_expression "(lVar29 == 0)" ( (binary_expression "lVar29 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00181638;" goto statement_identifier ;)) (labeled_statement "LAB_00181742:\n          auVar41 = FUN_00182170(&local_78,&local_18c);" statement_identifier : (expression_statement "auVar41 = FUN_00182170(&local_78,&local_18c);" (assignment_expression "auVar41 = FUN_00182170(&local_78,&local_18c)" identifier = (call_expression "FUN_00182170(&local_78,&local_18c)" identifier (argument_list "(&local_78,&local_18c)" ( (pointer_expression "&local_78" & identifier) , (pointer_expression "&local_18c" & identifier) )))) ;)) (expression_statement "uVar25 = local_100;" (assignment_expression "uVar25 = local_100" identifier = identifier) ;) (expression_statement "puVar19 = local_108;" (assignment_expression "puVar19 = local_108" identifier = identifier) ;) (expression_statement "plVar4 = local_128;" (assignment_expression "plVar4 = local_128" identifier = identifier) ;) (expression_statement "uVar12 = local_18c;" (assignment_expression "uVar12 = local_18c" identifier = identifier) ;) (for_statement "for (puVar18 = auVar41._0_8_; local_18c = uVar12, puVar18 != auVar41._8_8_;\n              puVar18 = (undefined8 *)*puVar18) {\n            uVar12 = *(uint *)((long)puVar18 + 0xc);\n            uVar23 = (ulong)uVar12;\n            plVar30 = plVar4 + uVar23 * 4;\n            if ((plVar30[1] == uVar25) &&\n               (iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0)) {\n              if (*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8)) {\n                *(uint *)(param_1[10] + uVar23 * 4) = uVar3;\n                *(uint *)((long)puVar18 + 0xc) = uVar3;\n                FUN_002e3180(plVar30,plVar4 + uVar28 * 4);\n                bVar36 = false;\n              }\n              else {\n                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;\n                bVar36 = false;\n              }\n              goto joined_r0x00181835;\n            }\n            uVar12 = local_18c;\n          }" for ( (assignment_expression "puVar18 = auVar41._0_8_" identifier = (field_expression "auVar41._0_8_" identifier . field_identifier)) ; (comma_expression "local_18c = uVar12, puVar18 != auVar41._8_8_" (assignment_expression "local_18c = uVar12" identifier = identifier) , (binary_expression "puVar18 != auVar41._8_8_" identifier != (field_expression "auVar41._8_8_" identifier . field_identifier))) ; (assignment_expression "puVar18 = (undefined8 *)*puVar18" identifier = (cast_expression "(undefined8 *)*puVar18" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar18" * identifier))) ) (compound_statement "{\n            uVar12 = *(uint *)((long)puVar18 + 0xc);\n            uVar23 = (ulong)uVar12;\n            plVar30 = plVar4 + uVar23 * 4;\n            if ((plVar30[1] == uVar25) &&\n               (iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0)) {\n              if (*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8)) {\n                *(uint *)(param_1[10] + uVar23 * 4) = uVar3;\n                *(uint *)((long)puVar18 + 0xc) = uVar3;\n                FUN_002e3180(plVar30,plVar4 + uVar28 * 4);\n                bVar36 = false;\n              }\n              else {\n                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;\n                bVar36 = false;\n              }\n              goto joined_r0x00181835;\n            }\n            uVar12 = local_18c;\n          }" { (expression_statement "uVar12 = *(uint *)((long)puVar18 + 0xc);" (assignment_expression "uVar12 = *(uint *)((long)puVar18 + 0xc)" identifier = (pointer_expression "*(uint *)((long)puVar18 + 0xc)" * (cast_expression "(uint *)((long)puVar18 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar18 + 0xc)" ( (binary_expression "(long)puVar18 + 0xc" (cast_expression "(long)puVar18" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "uVar23 = (ulong)uVar12;" (assignment_expression "uVar23 = (ulong)uVar12" identifier = (cast_expression "(ulong)uVar12" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "plVar30 = plVar4 + uVar23 * 4;" (assignment_expression "plVar30 = plVar4 + uVar23 * 4" identifier = (binary_expression "plVar4 + uVar23 * 4" identifier + (binary_expression "uVar23 * 4" identifier * number_literal))) ;) (if_statement "if ((plVar30[1] == uVar25) &&\n               (iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0)) {\n              if (*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8)) {\n                *(uint *)(param_1[10] + uVar23 * 4) = uVar3;\n                *(uint *)((long)puVar18 + 0xc) = uVar3;\n                FUN_002e3180(plVar30,plVar4 + uVar28 * 4);\n                bVar36 = false;\n              }\n              else {\n                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;\n                bVar36 = false;\n              }\n              goto joined_r0x00181835;\n            }" if (parenthesized_expression "((plVar30[1] == uVar25) &&\n               (iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0))" ( (binary_expression "(plVar30[1] == uVar25) &&\n               (iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0)" (parenthesized_expression "(plVar30[1] == uVar25)" ( (binary_expression "plVar30[1] == uVar25" (subscript_expression "plVar30[1]" identifier [ number_literal ]) == identifier) )) && (parenthesized_expression "(iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0)" ( (comma_expression "iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0" (assignment_expression "iVar13 = memcmp((void *)*plVar30,puVar19,uVar25)" identifier = (call_expression "memcmp((void *)*plVar30,puVar19,uVar25)" identifier (argument_list "((void *)*plVar30,puVar19,uVar25)" ( (cast_expression "(void *)*plVar30" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar30" * identifier)) , identifier , identifier )))) , (binary_expression "iVar13 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n              if (*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8)) {\n                *(uint *)(param_1[10] + uVar23 * 4) = uVar3;\n                *(uint *)((long)puVar18 + 0xc) = uVar3;\n                FUN_002e3180(plVar30,plVar4 + uVar28 * 4);\n                bVar36 = false;\n              }\n              else {\n                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;\n                bVar36 = false;\n              }\n              goto joined_r0x00181835;\n            }" { (if_statement "if (*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8)) {\n                *(uint *)(param_1[10] + uVar23 * 4) = uVar3;\n                *(uint *)((long)puVar18 + 0xc) = uVar3;\n                FUN_002e3180(plVar30,plVar4 + uVar28 * 4);\n                bVar36 = false;\n              }\n              else {\n                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;\n                bVar36 = false;\n              }" if (parenthesized_expression "(*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8))" ( (binary_expression "*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8)" (pointer_expression "*(ulong *)(local_168 + uVar23 * 8)" * (cast_expression "(ulong *)(local_168 + uVar23 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_168 + uVar23 * 8)" ( (binary_expression "local_168 + uVar23 * 8" identifier + (binary_expression "uVar23 * 8" identifier * number_literal)) )))) < (pointer_expression "*(ulong *)(local_168 + uVar28 * 8)" * (cast_expression "(ulong *)(local_168 + uVar28 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_168 + uVar28 * 8)" ( (binary_expression "local_168 + uVar28 * 8" identifier + (binary_expression "uVar28 * 8" identifier * number_literal)) ))))) )) (compound_statement "{\n                *(uint *)(param_1[10] + uVar23 * 4) = uVar3;\n                *(uint *)((long)puVar18 + 0xc) = uVar3;\n                FUN_002e3180(plVar30,plVar4 + uVar28 * 4);\n                bVar36 = false;\n              }" { (expression_statement "*(uint *)(param_1[10] + uVar23 * 4) = uVar3;" (assignment_expression "*(uint *)(param_1[10] + uVar23 * 4) = uVar3" (pointer_expression "*(uint *)(param_1[10] + uVar23 * 4)" * (cast_expression "(uint *)(param_1[10] + uVar23 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[10] + uVar23 * 4)" ( (binary_expression "param_1[10] + uVar23 * 4" (subscript_expression "param_1[10]" identifier [ number_literal ]) + (binary_expression "uVar23 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "*(uint *)((long)puVar18 + 0xc) = uVar3;" (assignment_expression "*(uint *)((long)puVar18 + 0xc) = uVar3" (pointer_expression "*(uint *)((long)puVar18 + 0xc)" * (cast_expression "(uint *)((long)puVar18 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar18 + 0xc)" ( (binary_expression "(long)puVar18 + 0xc" (cast_expression "(long)puVar18" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "FUN_002e3180(plVar30,plVar4 + uVar28 * 4);" (call_expression "FUN_002e3180(plVar30,plVar4 + uVar28 * 4)" identifier (argument_list "(plVar30,plVar4 + uVar28 * 4)" ( identifier , (binary_expression "plVar4 + uVar28 * 4" identifier + (binary_expression "uVar28 * 4" identifier * number_literal)) ))) ;) (expression_statement "bVar36 = false;" (assignment_expression "bVar36 = false" identifier = false) ;) }) (else_clause "else {\n                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;\n                bVar36 = false;\n              }" else (compound_statement "{\n                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;\n                bVar36 = false;\n              }" { (expression_statement "*(uint *)(param_1[10] + uVar28 * 4) = uVar12;" (assignment_expression "*(uint *)(param_1[10] + uVar28 * 4) = uVar12" (pointer_expression "*(uint *)(param_1[10] + uVar28 * 4)" * (cast_expression "(uint *)(param_1[10] + uVar28 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[10] + uVar28 * 4)" ( (binary_expression "param_1[10] + uVar28 * 4" (subscript_expression "param_1[10]" identifier [ number_literal ]) + (binary_expression "uVar28 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "bVar36 = false;" (assignment_expression "bVar36 = false" identifier = false) ;) }))) (goto_statement "goto joined_r0x00181835;" goto statement_identifier ;) })) (expression_statement "uVar12 = local_18c;" (assignment_expression "uVar12 = local_18c" identifier = identifier) ;) })) (expression_statement "puVar18 = (undefined8 *)FUN_002d94a0(0x10);" (assignment_expression "puVar18 = (undefined8 *)FUN_002d94a0(0x10)" identifier = (cast_expression "(undefined8 *)FUN_002d94a0(0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002d94a0(0x10)" identifier (argument_list "(0x10)" ( number_literal ))))) ;) (expression_statement "*(uint *)(puVar18 + 1) = uVar12;" (assignment_expression "*(uint *)(puVar18 + 1) = uVar12" (pointer_expression "*(uint *)(puVar18 + 1)" * (cast_expression "(uint *)(puVar18 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 1)" ( (binary_expression "puVar18 + 1" identifier + number_literal) )))) = identifier) ;) (expression_statement "*puVar18 = 0;" (assignment_expression "*puVar18 = 0" (pointer_expression "*puVar18" * identifier) = number_literal) ;) (expression_statement "*(uint *)((long)puVar18 + 0xc) = uVar3;" (assignment_expression "*(uint *)((long)puVar18 + 0xc) = uVar3" (pointer_expression "*(uint *)((long)puVar18 + 0xc)" * (cast_expression "(uint *)((long)puVar18 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar18 + 0xc)" ( (binary_expression "(long)puVar18 + 0xc" (cast_expression "(long)puVar18" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "FUN_00182c70(&local_78,0,uVar12,puVar18);" (call_expression "FUN_00182c70(&local_78,0,uVar12,puVar18)" identifier (argument_list "(&local_78,0,uVar12,puVar18)" ( (pointer_expression "&local_78" & identifier) , number_literal , identifier , identifier ))) ;) }))) (expression_statement "FUN_002e1890(local_128 + uVar28 * 4,&local_108);" (call_expression "FUN_002e1890(local_128 + uVar28 * 4,&local_108)" identifier (argument_list "(local_128 + uVar28 * 4,&local_108)" ( (binary_expression "local_128 + uVar28 * 4" identifier + (binary_expression "uVar28 * 4" identifier * number_literal)) , (pointer_expression "&local_108" & identifier) ))) ;) (labeled_statement "joined_r0x00181835:\n        if ((uVar26 == 1) && (local_1d8[uVar28] == 0)) {\n          puVar19 = (ulong *)((uVar28 >> 6) * 8 + local_a8);\n          *puVar19 = *puVar19 | uVar24;\n        }" statement_identifier : (if_statement "if ((uVar26 == 1) && (local_1d8[uVar28] == 0)) {\n          puVar19 = (ulong *)((uVar28 >> 6) * 8 + local_a8);\n          *puVar19 = *puVar19 | uVar24;\n        }" if (parenthesized_expression "((uVar26 == 1) && (local_1d8[uVar28] == 0))" ( (binary_expression "(uVar26 == 1) && (local_1d8[uVar28] == 0)" (parenthesized_expression "(uVar26 == 1)" ( (binary_expression "uVar26 == 1" identifier == number_literal) )) && (parenthesized_expression "(local_1d8[uVar28] == 0)" ( (binary_expression "local_1d8[uVar28] == 0" (subscript_expression "local_1d8[uVar28]" identifier [ identifier ]) == number_literal) ))) )) (compound_statement "{\n          puVar19 = (ulong *)((uVar28 >> 6) * 8 + local_a8);\n          *puVar19 = *puVar19 | uVar24;\n        }" { (expression_statement "puVar19 = (ulong *)((uVar28 >> 6) * 8 + local_a8);" (assignment_expression "puVar19 = (ulong *)((uVar28 >> 6) * 8 + local_a8)" identifier = (cast_expression "(ulong *)((uVar28 >> 6) * 8 + local_a8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uVar28 >> 6) * 8 + local_a8)" ( (binary_expression "(uVar28 >> 6) * 8 + local_a8" (binary_expression "(uVar28 >> 6) * 8" (parenthesized_expression "(uVar28 >> 6)" ( (binary_expression "uVar28 >> 6" identifier >> number_literal) )) * number_literal) + identifier) )))) ;) (expression_statement "*puVar19 = *puVar19 | uVar24;" (assignment_expression "*puVar19 = *puVar19 | uVar24" (pointer_expression "*puVar19" * identifier) = (binary_expression "*puVar19 | uVar24" (pointer_expression "*puVar19" * identifier) | identifier)) ;) }))) (if_statement "if (local_108 != local_f8) {\n          FUN_002dac70();\n        }" if (parenthesized_expression "(local_108 != local_f8)" ( (binary_expression "local_108 != local_f8" identifier != identifier) )) (compound_statement "{\n          FUN_002dac70();\n        }" { (expression_statement "FUN_002dac70();" (call_expression "FUN_002dac70()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "lVar21 = *param_1;" (assignment_expression "lVar21 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) })) (labeled_statement "LAB_001813c8:\n      plVar4 = local_120;" statement_identifier : (expression_statement "plVar4 = local_120;" (assignment_expression "plVar4 = local_120" identifier = identifier) ;)) (expression_statement "uVar3 = uVar3 + 1;" (assignment_expression "uVar3 = uVar3 + 1" identifier = (binary_expression "uVar3 + 1" identifier + number_literal)) ;) (expression_statement "uVar28 = (ulong)uVar3;" (assignment_expression "uVar28 = (ulong)uVar3" identifier = (cast_expression "(ulong)uVar3" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "uVar24 = param_1[1] - lVar21 >> 4;" (assignment_expression "uVar24 = param_1[1] - lVar21 >> 4" identifier = (binary_expression "param_1[1] - lVar21 >> 4" (binary_expression "param_1[1] - lVar21" (subscript_expression "param_1[1]" identifier [ number_literal ]) - identifier) >> number_literal)) ;) }) while (parenthesized_expression "(uVar28 < uVar24)" ( (binary_expression "uVar28 < uVar24" identifier < identifier) )) ;) (expression_statement "plVar30 = local_128;" (assignment_expression "plVar30 = local_128" identifier = identifier) ;) (if_statement "if (uVar24 != 0) {\n      lVar21 = param_1[10];\n      uVar25 = 0;\n      uVar28 = uVar25;\n      do {\n        do {\n          uVar12 = (uint)uVar25;\n          uVar3 = *(uint *)(lVar21 + uVar25 * 4);\n          uVar25 = (ulong)uVar3;\n        } while (uVar12 != uVar3);\n        puVar2 = (uint *)(lVar21 + uVar28 * 4);\n        uVar12 = *puVar2;\n        while (uVar12 != uVar3) {\n          *puVar2 = uVar3;\n          puVar2 = (uint *)(lVar21 + (ulong)uVar12 * 4);\n          uVar12 = *puVar2;\n        }\n        uVar25 = (ulong)((int)uVar28 + 1);\n        uVar28 = uVar25;\n      } while (uVar25 < uVar24);\n    }" if (parenthesized_expression "(uVar24 != 0)" ( (binary_expression "uVar24 != 0" identifier != number_literal) )) (compound_statement "{\n      lVar21 = param_1[10];\n      uVar25 = 0;\n      uVar28 = uVar25;\n      do {\n        do {\n          uVar12 = (uint)uVar25;\n          uVar3 = *(uint *)(lVar21 + uVar25 * 4);\n          uVar25 = (ulong)uVar3;\n        } while (uVar12 != uVar3);\n        puVar2 = (uint *)(lVar21 + uVar28 * 4);\n        uVar12 = *puVar2;\n        while (uVar12 != uVar3) {\n          *puVar2 = uVar3;\n          puVar2 = (uint *)(lVar21 + (ulong)uVar12 * 4);\n          uVar12 = *puVar2;\n        }\n        uVar25 = (ulong)((int)uVar28 + 1);\n        uVar28 = uVar25;\n      } while (uVar25 < uVar24);\n    }" { (expression_statement "lVar21 = param_1[10];" (assignment_expression "lVar21 = param_1[10]" identifier = (subscript_expression "param_1[10]" identifier [ number_literal ])) ;) (expression_statement "uVar25 = 0;" (assignment_expression "uVar25 = 0" identifier = number_literal) ;) (expression_statement "uVar28 = uVar25;" (assignment_expression "uVar28 = uVar25" identifier = identifier) ;) (do_statement "do {\n        do {\n          uVar12 = (uint)uVar25;\n          uVar3 = *(uint *)(lVar21 + uVar25 * 4);\n          uVar25 = (ulong)uVar3;\n        } while (uVar12 != uVar3);\n        puVar2 = (uint *)(lVar21 + uVar28 * 4);\n        uVar12 = *puVar2;\n        while (uVar12 != uVar3) {\n          *puVar2 = uVar3;\n          puVar2 = (uint *)(lVar21 + (ulong)uVar12 * 4);\n          uVar12 = *puVar2;\n        }\n        uVar25 = (ulong)((int)uVar28 + 1);\n        uVar28 = uVar25;\n      } while (uVar25 < uVar24);" do (compound_statement "{\n        do {\n          uVar12 = (uint)uVar25;\n          uVar3 = *(uint *)(lVar21 + uVar25 * 4);\n          uVar25 = (ulong)uVar3;\n        } while (uVar12 != uVar3);\n        puVar2 = (uint *)(lVar21 + uVar28 * 4);\n        uVar12 = *puVar2;\n        while (uVar12 != uVar3) {\n          *puVar2 = uVar3;\n          puVar2 = (uint *)(lVar21 + (ulong)uVar12 * 4);\n          uVar12 = *puVar2;\n        }\n        uVar25 = (ulong)((int)uVar28 + 1);\n        uVar28 = uVar25;\n      }" { (do_statement "do {\n          uVar12 = (uint)uVar25;\n          uVar3 = *(uint *)(lVar21 + uVar25 * 4);\n          uVar25 = (ulong)uVar3;\n        } while (uVar12 != uVar3);" do (compound_statement "{\n          uVar12 = (uint)uVar25;\n          uVar3 = *(uint *)(lVar21 + uVar25 * 4);\n          uVar25 = (ulong)uVar3;\n        }" { (expression_statement "uVar12 = (uint)uVar25;" (assignment_expression "uVar12 = (uint)uVar25" identifier = (cast_expression "(uint)uVar25" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar3 = *(uint *)(lVar21 + uVar25 * 4);" (assignment_expression "uVar3 = *(uint *)(lVar21 + uVar25 * 4)" identifier = (pointer_expression "*(uint *)(lVar21 + uVar25 * 4)" * (cast_expression "(uint *)(lVar21 + uVar25 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar21 + uVar25 * 4)" ( (binary_expression "lVar21 + uVar25 * 4" identifier + (binary_expression "uVar25 * 4" identifier * number_literal)) ))))) ;) (expression_statement "uVar25 = (ulong)uVar3;" (assignment_expression "uVar25 = (ulong)uVar3" identifier = (cast_expression "(ulong)uVar3" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) }) while (parenthesized_expression "(uVar12 != uVar3)" ( (binary_expression "uVar12 != uVar3" identifier != identifier) )) ;) (expression_statement "puVar2 = (uint *)(lVar21 + uVar28 * 4);" (assignment_expression "puVar2 = (uint *)(lVar21 + uVar28 * 4)" identifier = (cast_expression "(uint *)(lVar21 + uVar28 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar21 + uVar28 * 4)" ( (binary_expression "lVar21 + uVar28 * 4" identifier + (binary_expression "uVar28 * 4" identifier * number_literal)) )))) ;) (expression_statement "uVar12 = *puVar2;" (assignment_expression "uVar12 = *puVar2" identifier = (pointer_expression "*puVar2" * identifier)) ;) (while_statement "while (uVar12 != uVar3) {\n          *puVar2 = uVar3;\n          puVar2 = (uint *)(lVar21 + (ulong)uVar12 * 4);\n          uVar12 = *puVar2;\n        }" while (parenthesized_expression "(uVar12 != uVar3)" ( (binary_expression "uVar12 != uVar3" identifier != identifier) )) (compound_statement "{\n          *puVar2 = uVar3;\n          puVar2 = (uint *)(lVar21 + (ulong)uVar12 * 4);\n          uVar12 = *puVar2;\n        }" { (expression_statement "*puVar2 = uVar3;" (assignment_expression "*puVar2 = uVar3" (pointer_expression "*puVar2" * identifier) = identifier) ;) (expression_statement "puVar2 = (uint *)(lVar21 + (ulong)uVar12 * 4);" (assignment_expression "puVar2 = (uint *)(lVar21 + (ulong)uVar12 * 4)" identifier = (cast_expression "(uint *)(lVar21 + (ulong)uVar12 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar21 + (ulong)uVar12 * 4)" ( (binary_expression "lVar21 + (ulong)uVar12 * 4" identifier + (binary_expression "(ulong)uVar12 * 4" (cast_expression "(ulong)uVar12" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) )))) ;) (expression_statement "uVar12 = *puVar2;" (assignment_expression "uVar12 = *puVar2" identifier = (pointer_expression "*puVar2" * identifier)) ;) })) (expression_statement "uVar25 = (ulong)((int)uVar28 + 1);" (assignment_expression "uVar25 = (ulong)((int)uVar28 + 1)" identifier = (call_expression "(ulong)((int)uVar28 + 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((int)uVar28 + 1)" ( (binary_expression "(int)uVar28 + 1" (cast_expression "(int)uVar28" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "uVar28 = uVar25;" (assignment_expression "uVar28 = uVar25" identifier = identifier) ;) }) while (parenthesized_expression "(uVar25 < uVar24)" ( (binary_expression "uVar25 < uVar24" identifier < identifier) )) ;) })) (for_statement "for (; plVar30 != plVar4; plVar30 = plVar30 + 4) {\n      if ((long *)*plVar30 != plVar30 + 2) {\n        FUN_002dac70();\n      }\n    }" for ( ; (binary_expression "plVar30 != plVar4" identifier != identifier) ; (assignment_expression "plVar30 = plVar30 + 4" identifier = (binary_expression "plVar30 + 4" identifier + number_literal)) ) (compound_statement "{\n      if ((long *)*plVar30 != plVar30 + 2) {\n        FUN_002dac70();\n      }\n    }" { (if_statement "if ((long *)*plVar30 != plVar30 + 2) {\n        FUN_002dac70();\n      }" if (parenthesized_expression "((long *)*plVar30 != plVar30 + 2)" ( (binary_expression "(long *)*plVar30 != plVar30 + 2" (cast_expression "(long *)*plVar30" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar30" * identifier)) != (binary_expression "plVar30 + 2" identifier + number_literal)) )) (compound_statement "{\n        FUN_002dac70();\n      }" { (expression_statement "FUN_002dac70();" (call_expression "FUN_002dac70()" identifier (argument_list "()" ( ))) ;) })) })) (if_statement "if (local_128 != (long *)0x0) {\n      FUN_002dac70(local_128);\n    }" if (parenthesized_expression "(local_128 != (long *)0x0)" ( (binary_expression "local_128 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      FUN_002dac70(local_128);\n    }" { (expression_statement "FUN_002dac70(local_128);" (call_expression "FUN_002dac70(local_128)" identifier (argument_list "(local_128)" ( identifier ))) ;) })) (expression_statement "FUN_00182070(&local_78);" (call_expression "FUN_00182070(&local_78)" identifier (argument_list "(&local_78)" ( (pointer_expression "&local_78" & identifier) ))) ;) }) while (parenthesized_expression "(uVar26 < uVar11 && !bVar36)" ( (binary_expression "uVar26 < uVar11 && !bVar36" (binary_expression "uVar26 < uVar11" identifier < identifier) && (unary_expression "!bVar36" ! identifier)) )) ;) (expression_statement "uVar7 = DAT_0043e8e8;" (assignment_expression "uVar7 = DAT_0043e8e8" identifier = identifier) ;) (expression_statement "lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);" (assignment_expression "lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar21 == 0) {\n                    \n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }" if (parenthesized_expression "(lVar21 == 0)" ( (binary_expression "lVar21 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }" { (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (if_statement "if (*(char *)(lVar21 + 0x4be1) != '\0') {\n    pcVar34 = "%s: ICF Converged after %u iteration(s)";\n    if (!bVar36) {\n      pcVar34 = "%s: ICF stopped after %u iteration(s)";\n    }\n    uVar20 = gettext(pcVar34);\n                    \n    FUN_00178480(uVar20,uVar7,uVar26);\n    lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    if (lVar21 == 0) {\n                    \n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }\n  }" if (parenthesized_expression "(*(char *)(lVar21 + 0x4be1) != '\0')" ( (binary_expression "*(char *)(lVar21 + 0x4be1) != '\0'" (pointer_expression "*(char *)(lVar21 + 0x4be1)" * (cast_expression "(char *)(lVar21 + 0x4be1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar21 + 0x4be1)" ( (binary_expression "lVar21 + 0x4be1" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    pcVar34 = "%s: ICF Converged after %u iteration(s)";\n    if (!bVar36) {\n      pcVar34 = "%s: ICF stopped after %u iteration(s)";\n    }\n    uVar20 = gettext(pcVar34);\n                    \n    FUN_00178480(uVar20,uVar7,uVar26);\n    lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    if (lVar21 == 0) {\n                    \n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }\n  }" { (expression_statement "pcVar34 = "%s: ICF Converged after %u iteration(s)";" (assignment_expression "pcVar34 = "%s: ICF Converged after %u iteration(s)"" identifier = (string_literal ""%s: ICF Converged after %u iteration(s)"" " string_content ")) ;) (if_statement "if (!bVar36) {\n      pcVar34 = "%s: ICF stopped after %u iteration(s)";\n    }" if (parenthesized_expression "(!bVar36)" ( (unary_expression "!bVar36" ! identifier) )) (compound_statement "{\n      pcVar34 = "%s: ICF stopped after %u iteration(s)";\n    }" { (expression_statement "pcVar34 = "%s: ICF stopped after %u iteration(s)";" (assignment_expression "pcVar34 = "%s: ICF stopped after %u iteration(s)"" identifier = (string_literal ""%s: ICF stopped after %u iteration(s)"" " string_content ")) ;) })) (expression_statement "uVar20 = gettext(pcVar34);" (assignment_expression "uVar20 = gettext(pcVar34)" identifier = (call_expression "gettext(pcVar34)" identifier (argument_list "(pcVar34)" ( identifier )))) ;) (expression_statement "FUN_00178480(uVar20,uVar7,uVar26);" (call_expression "FUN_00178480(uVar20,uVar7,uVar26)" identifier (argument_list "(uVar20,uVar7,uVar26)" ( identifier , identifier , identifier ))) ;) (expression_statement "lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);" (assignment_expression "lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar21 == 0) {\n                    \n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }" if (parenthesized_expression "(lVar21 == 0)" ( (binary_expression "lVar21 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }" { (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) })) (expression_statement "puVar18 = *(undefined8 **)(lVar21 + 0x34a0);" (assignment_expression "puVar18 = *(undefined8 **)(lVar21 + 0x34a0)" identifier = (pointer_expression "*(undefined8 **)(lVar21 + 0x34a0)" * (cast_expression "(undefined8 **)(lVar21 + 0x34a0)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar21 + 0x34a0)" ( (binary_expression "lVar21 + 0x34a0" identifier + number_literal) ))))) ;) (expression_statement "plVar4 = local_140;" (assignment_expression "plVar4 = local_140" identifier = identifier) ;) (do_statement "do {\n    local_140 = plVar4;\n    if (puVar18 == (undefined8 *)0x0) {\n      *(undefined1 *)(param_1 + 0x14) = 1;\n      for (plVar30 = local_148; plVar4 != plVar30; plVar30 = plVar30 + 4) {\n        if ((long *)*plVar30 != plVar30 + 2) {\n          FUN_002dac70();\n        }\n      }\n      if (local_148 != (long *)0x0) {\n        FUN_002dac70(local_148);\n      }\n      if (local_a8 != 0) {\n        FUN_002dac70(local_a8);\n      }\n      if (local_168 != 0) {\n        FUN_002dac70();\n      }\n      if (local_1d8 != (undefined4 *)0x0) {\n        FUN_002dac70(local_1d8);\n      }\n      return;\n    }\n    uVar7 = puVar18[1];\n                    \n    lVar21 = FUN_002732b0(param_3,uVar7,0);\n    if (lVar21 == 0) {\n      uVar20 = gettext("Could not find symbol %s to unfold\n");\n      FUN_001783d0(uVar20,uVar7);\n    }\n    else if ((((*(byte *)(lVar21 + 0x3a) & 7) == 0) &&\n             ((*(byte *)(*(long *)(lVar21 + 0x10) + 0x3c) & 1) == 0)) &&\n            ((*(byte *)(lVar21 + 0x3b) & 0x20) != 0)) {\n      FUN_0017f5f0(param_1,*(long *)(lVar21 + 0x10),*(undefined4 *)(lVar21 + 0x18));\n    }\n    puVar18 = (undefined8 *)*puVar18;\n    plVar4 = local_140;\n  } while (*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0);" do (compound_statement "{\n    local_140 = plVar4;\n    if (puVar18 == (undefined8 *)0x0) {\n      *(undefined1 *)(param_1 + 0x14) = 1;\n      for (plVar30 = local_148; plVar4 != plVar30; plVar30 = plVar30 + 4) {\n        if ((long *)*plVar30 != plVar30 + 2) {\n          FUN_002dac70();\n        }\n      }\n      if (local_148 != (long *)0x0) {\n        FUN_002dac70(local_148);\n      }\n      if (local_a8 != 0) {\n        FUN_002dac70(local_a8);\n      }\n      if (local_168 != 0) {\n        FUN_002dac70();\n      }\n      if (local_1d8 != (undefined4 *)0x0) {\n        FUN_002dac70(local_1d8);\n      }\n      return;\n    }\n    uVar7 = puVar18[1];\n                    \n    lVar21 = FUN_002732b0(param_3,uVar7,0);\n    if (lVar21 == 0) {\n      uVar20 = gettext("Could not find symbol %s to unfold\n");\n      FUN_001783d0(uVar20,uVar7);\n    }\n    else if ((((*(byte *)(lVar21 + 0x3a) & 7) == 0) &&\n             ((*(byte *)(*(long *)(lVar21 + 0x10) + 0x3c) & 1) == 0)) &&\n            ((*(byte *)(lVar21 + 0x3b) & 0x20) != 0)) {\n      FUN_0017f5f0(param_1,*(long *)(lVar21 + 0x10),*(undefined4 *)(lVar21 + 0x18));\n    }\n    puVar18 = (undefined8 *)*puVar18;\n    plVar4 = local_140;\n  }" { (expression_statement "local_140 = plVar4;" (assignment_expression "local_140 = plVar4" identifier = identifier) ;) (if_statement "if (puVar18 == (undefined8 *)0x0) {\n      *(undefined1 *)(param_1 + 0x14) = 1;\n      for (plVar30 = local_148; plVar4 != plVar30; plVar30 = plVar30 + 4) {\n        if ((long *)*plVar30 != plVar30 + 2) {\n          FUN_002dac70();\n        }\n      }\n      if (local_148 != (long *)0x0) {\n        FUN_002dac70(local_148);\n      }\n      if (local_a8 != 0) {\n        FUN_002dac70(local_a8);\n      }\n      if (local_168 != 0) {\n        FUN_002dac70();\n      }\n      if (local_1d8 != (undefined4 *)0x0) {\n        FUN_002dac70(local_1d8);\n      }\n      return;\n    }" if (parenthesized_expression "(puVar18 == (undefined8 *)0x0)" ( (binary_expression "puVar18 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      *(undefined1 *)(param_1 + 0x14) = 1;\n      for (plVar30 = local_148; plVar4 != plVar30; plVar30 = plVar30 + 4) {\n        if ((long *)*plVar30 != plVar30 + 2) {\n          FUN_002dac70();\n        }\n      }\n      if (local_148 != (long *)0x0) {\n        FUN_002dac70(local_148);\n      }\n      if (local_a8 != 0) {\n        FUN_002dac70(local_a8);\n      }\n      if (local_168 != 0) {\n        FUN_002dac70();\n      }\n      if (local_1d8 != (undefined4 *)0x0) {\n        FUN_002dac70(local_1d8);\n      }\n      return;\n    }" { (expression_statement "*(undefined1 *)(param_1 + 0x14) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x14) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x14)" * (cast_expression "(undefined1 *)(param_1 + 0x14)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) = number_literal) ;) (for_statement "for (plVar30 = local_148; plVar4 != plVar30; plVar30 = plVar30 + 4) {\n        if ((long *)*plVar30 != plVar30 + 2) {\n          FUN_002dac70();\n        }\n      }" for ( (assignment_expression "plVar30 = local_148" identifier = identifier) ; (binary_expression "plVar4 != plVar30" identifier != identifier) ; (assignment_expression "plVar30 = plVar30 + 4" identifier = (binary_expression "plVar30 + 4" identifier + number_literal)) ) (compound_statement "{\n        if ((long *)*plVar30 != plVar30 + 2) {\n          FUN_002dac70();\n        }\n      }" { (if_statement "if ((long *)*plVar30 != plVar30 + 2) {\n          FUN_002dac70();\n        }" if (parenthesized_expression "((long *)*plVar30 != plVar30 + 2)" ( (binary_expression "(long *)*plVar30 != plVar30 + 2" (cast_expression "(long *)*plVar30" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar30" * identifier)) != (binary_expression "plVar30 + 2" identifier + number_literal)) )) (compound_statement "{\n          FUN_002dac70();\n        }" { (expression_statement "FUN_002dac70();" (call_expression "FUN_002dac70()" identifier (argument_list "()" ( ))) ;) })) })) (if_statement "if (local_148 != (long *)0x0) {\n        FUN_002dac70(local_148);\n      }" if (parenthesized_expression "(local_148 != (long *)0x0)" ( (binary_expression "local_148 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        FUN_002dac70(local_148);\n      }" { (expression_statement "FUN_002dac70(local_148);" (call_expression "FUN_002dac70(local_148)" identifier (argument_list "(local_148)" ( identifier ))) ;) })) (if_statement "if (local_a8 != 0) {\n        FUN_002dac70(local_a8);\n      }" if (parenthesized_expression "(local_a8 != 0)" ( (binary_expression "local_a8 != 0" identifier != number_literal) )) (compound_statement "{\n        FUN_002dac70(local_a8);\n      }" { (expression_statement "FUN_002dac70(local_a8);" (call_expression "FUN_002dac70(local_a8)" identifier (argument_list "(local_a8)" ( identifier ))) ;) })) (if_statement "if (local_168 != 0) {\n        FUN_002dac70();\n      }" if (parenthesized_expression "(local_168 != 0)" ( (binary_expression "local_168 != 0" identifier != number_literal) )) (compound_statement "{\n        FUN_002dac70();\n      }" { (expression_statement "FUN_002dac70();" (call_expression "FUN_002dac70()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_1d8 != (undefined4 *)0x0) {\n        FUN_002dac70(local_1d8);\n      }" if (parenthesized_expression "(local_1d8 != (undefined4 *)0x0)" ( (binary_expression "local_1d8 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        FUN_002dac70(local_1d8);\n      }" { (expression_statement "FUN_002dac70(local_1d8);" (call_expression "FUN_002dac70(local_1d8)" identifier (argument_list "(local_1d8)" ( identifier ))) ;) })) (return_statement "return;" return ;) })) (expression_statement "uVar7 = puVar18[1];" (assignment_expression "uVar7 = puVar18[1]" identifier = (subscript_expression "puVar18[1]" identifier [ number_literal ])) ;) (expression_statement "lVar21 = FUN_002732b0(param_3,uVar7,0);" (assignment_expression "lVar21 = FUN_002732b0(param_3,uVar7,0)" identifier = (call_expression "FUN_002732b0(param_3,uVar7,0)" identifier (argument_list "(param_3,uVar7,0)" ( identifier , identifier , number_literal )))) ;) (if_statement "if (lVar21 == 0) {\n      uVar20 = gettext("Could not find symbol %s to unfold\n");\n      FUN_001783d0(uVar20,uVar7);\n    }\n    else if ((((*(byte *)(lVar21 + 0x3a) & 7) == 0) &&\n             ((*(byte *)(*(long *)(lVar21 + 0x10) + 0x3c) & 1) == 0)) &&\n            ((*(byte *)(lVar21 + 0x3b) & 0x20) != 0)) {\n      FUN_0017f5f0(param_1,*(long *)(lVar21 + 0x10),*(undefined4 *)(lVar21 + 0x18));\n    }" if (parenthesized_expression "(lVar21 == 0)" ( (binary_expression "lVar21 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar20 = gettext("Could not find symbol %s to unfold\n");\n      FUN_001783d0(uVar20,uVar7);\n    }" { (expression_statement "uVar20 = gettext("Could not find symbol %s to unfold\n");" (assignment_expression "uVar20 = gettext("Could not find symbol %s to unfold\n")" identifier = (call_expression "gettext("Could not find symbol %s to unfold\n")" identifier (argument_list "("Could not find symbol %s to unfold\n")" ( (string_literal ""Could not find symbol %s to unfold\n"" " string_content escape_sequence ") )))) ;) (expression_statement "FUN_001783d0(uVar20,uVar7);" (call_expression "FUN_001783d0(uVar20,uVar7)" identifier (argument_list "(uVar20,uVar7)" ( identifier , identifier ))) ;) }) (else_clause "else if ((((*(byte *)(lVar21 + 0x3a) & 7) == 0) &&\n             ((*(byte *)(*(long *)(lVar21 + 0x10) + 0x3c) & 1) == 0)) &&\n            ((*(byte *)(lVar21 + 0x3b) & 0x20) != 0)) {\n      FUN_0017f5f0(param_1,*(long *)(lVar21 + 0x10),*(undefined4 *)(lVar21 + 0x18));\n    }" else (if_statement "if ((((*(byte *)(lVar21 + 0x3a) & 7) == 0) &&\n             ((*(byte *)(*(long *)(lVar21 + 0x10) + 0x3c) & 1) == 0)) &&\n            ((*(byte *)(lVar21 + 0x3b) & 0x20) != 0)) {\n      FUN_0017f5f0(param_1,*(long *)(lVar21 + 0x10),*(undefined4 *)(lVar21 + 0x18));\n    }" if (parenthesized_expression "((((*(byte *)(lVar21 + 0x3a) & 7) == 0) &&\n             ((*(byte *)(*(long *)(lVar21 + 0x10) + 0x3c) & 1) == 0)) &&\n            ((*(byte *)(lVar21 + 0x3b) & 0x20) != 0))" ( (binary_expression "(((*(byte *)(lVar21 + 0x3a) & 7) == 0) &&\n             ((*(byte *)(*(long *)(lVar21 + 0x10) + 0x3c) & 1) == 0)) &&\n            ((*(byte *)(lVar21 + 0x3b) & 0x20) != 0)" (parenthesized_expression "(((*(byte *)(lVar21 + 0x3a) & 7) == 0) &&\n             ((*(byte *)(*(long *)(lVar21 + 0x10) + 0x3c) & 1) == 0))" ( (binary_expression "((*(byte *)(lVar21 + 0x3a) & 7) == 0) &&\n             ((*(byte *)(*(long *)(lVar21 + 0x10) + 0x3c) & 1) == 0)" (parenthesized_expression "((*(byte *)(lVar21 + 0x3a) & 7) == 0)" ( (binary_expression "(*(byte *)(lVar21 + 0x3a) & 7) == 0" (parenthesized_expression "(*(byte *)(lVar21 + 0x3a) & 7)" ( (binary_expression "*(byte *)(lVar21 + 0x3a) & 7" (pointer_expression "*(byte *)(lVar21 + 0x3a)" * (cast_expression "(byte *)(lVar21 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar21 + 0x3a)" ( (binary_expression "lVar21 + 0x3a" identifier + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "((*(byte *)(*(long *)(lVar21 + 0x10) + 0x3c) & 1) == 0)" ( (binary_expression "(*(byte *)(*(long *)(lVar21 + 0x10) + 0x3c) & 1) == 0" (parenthesized_expression "(*(byte *)(*(long *)(lVar21 + 0x10) + 0x3c) & 1)" ( (binary_expression "*(byte *)(*(long *)(lVar21 + 0x10) + 0x3c) & 1" (pointer_expression "*(byte *)(*(long *)(lVar21 + 0x10) + 0x3c)" * (cast_expression "(byte *)(*(long *)(lVar21 + 0x10) + 0x3c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(lVar21 + 0x10) + 0x3c)" ( (binary_expression "*(long *)(lVar21 + 0x10) + 0x3c" (pointer_expression "*(long *)(lVar21 + 0x10)" * (cast_expression "(long *)(lVar21 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar21 + 0x10)" ( (binary_expression "lVar21 + 0x10" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "((*(byte *)(lVar21 + 0x3b) & 0x20) != 0)" ( (binary_expression "(*(byte *)(lVar21 + 0x3b) & 0x20) != 0" (parenthesized_expression "(*(byte *)(lVar21 + 0x3b) & 0x20)" ( (binary_expression "*(byte *)(lVar21 + 0x3b) & 0x20" (pointer_expression "*(byte *)(lVar21 + 0x3b)" * (cast_expression "(byte *)(lVar21 + 0x3b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar21 + 0x3b)" ( (binary_expression "lVar21 + 0x3b" identifier + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n      FUN_0017f5f0(param_1,*(long *)(lVar21 + 0x10),*(undefined4 *)(lVar21 + 0x18));\n    }" { (expression_statement "FUN_0017f5f0(param_1,*(long *)(lVar21 + 0x10),*(undefined4 *)(lVar21 + 0x18));" (call_expression "FUN_0017f5f0(param_1,*(long *)(lVar21 + 0x10),*(undefined4 *)(lVar21 + 0x18))" identifier (argument_list "(param_1,*(long *)(lVar21 + 0x10),*(undefined4 *)(lVar21 + 0x18))" ( identifier , (pointer_expression "*(long *)(lVar21 + 0x10)" * (cast_expression "(long *)(lVar21 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar21 + 0x10)" ( (binary_expression "lVar21 + 0x10" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(lVar21 + 0x18)" * (cast_expression "(undefined4 *)(lVar21 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar21 + 0x18)" ( (binary_expression "lVar21 + 0x18" identifier + number_literal) )))) ))) ;) })))) (expression_statement "puVar18 = (undefined8 *)*puVar18;" (assignment_expression "puVar18 = (undefined8 *)*puVar18" identifier = (cast_expression "(undefined8 *)*puVar18" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar18" * identifier))) ;) (expression_statement "plVar4 = local_140;" (assignment_expression "plVar4 = local_140" identifier = identifier) ;) }) while (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) )))) != number_literal) )) ;) (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) (pointer_declarator * IDENT)) , (parameter_declaration (sized_type_specifier long) (pointer_declarator * IDENT)) , (parameter_declaration (sized_type_specifier long) IDENT) ))) (compound_statement { (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression 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 *)) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) != LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) , LIT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) )) [ LIT ])) != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = BOOL) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (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 ( (pointer_expression & IDENT) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (binary_expression (parenthesized_expression ( IDENT )) * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (binary_expression (parenthesized_expression ( IDENT )) * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE) ) IDENT) )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! (cast_expression ( (type_descriptor TYPE) ) IDENT)) && (unary_expression ! (cast_expression ( (type_descriptor TYPE) ) IDENT))) )) == (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) - (subscript_expression IDENT [ LIT ])) ))) >> LIT) ))) <= IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT)) )))) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , LIT ))))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) )))) , (binary_expression IDENT != LIT)) ))) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT) )) (goto_statement goto statement_identifier ;)) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) != IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (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 )))) , (binary_expression IDENT != (char_literal ' escape_sequence '))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) })) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT % (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , IDENT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) , (binary_expression IDENT == (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) % IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) == (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) (break_statement break ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * IDENT))) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) != (binary_expression IDENT + LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT % IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) == (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) % (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ]) = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * IDENT))) = IDENT) ;) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) >> LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT << LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) >> LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) )))) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) + LIT) )))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) }))) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) + LIT) ))))) )) (argument_list ( (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT , (call_expression IDENT (argument_list ( IDENT , IDENT ))) , LIT ))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) & (parenthesized_expression ( (binary_expression (binary_expression LIT << IDENT) | (binary_expression LIT >> (binary_expression LIT - IDENT))) )))) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression & IDENT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (binary_expression (parenthesized_expression ( IDENT )) * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (binary_expression (parenthesized_expression ( IDENT )) * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) }))) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) }) while (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE) ) IDENT) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) , LIT ))) ;) })) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) != IDENT) )) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , LIT ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , (pointer_expression & IDENT) ))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (pointer_expression * IDENT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (break_statement break ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (string_literal " ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression LIT << (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) * LIT)) ))))) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) & LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT , (pointer_expression & IDENT) , IDENT , (pointer_expression & IDENT) , IDENT , (binary_expression IDENT + LIT) , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (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 *)) ) IDENT)) = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression 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 = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (field_expression IDENT . field_identifier)) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT)) ))))) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT , (pointer_expression & IDENT) , IDENT , LIT , IDENT , (binary_expression IDENT + LIT) , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (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 *)) ) IDENT)) = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression 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 = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT & LIT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) % IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ IDENT ])) == (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (subscript_expression IDENT [ IDENT ])))) , (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT , (cast_expression ( (type_descriptor TYPE) ) IDENT) , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT == (binary_expression IDENT % IDENT)))) ))) )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) )))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = (field_expression IDENT . field_identifier)) ; (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != (field_expression IDENT . field_identifier))) ; (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) , IDENT , IDENT )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) ))))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT)) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + (binary_expression IDENT * LIT)) ))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT)) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) }))) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT , IDENT , IDENT ))) ;) }))) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + (binary_expression IDENT * LIT)) , (pointer_expression & IDENT) ))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ IDENT ]) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) * LIT) + IDENT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) | IDENT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) - IDENT) >> LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (while_statement while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) (for_statement for ( ; (binary_expression IDENT != IDENT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) != (binary_expression IDENT + LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression IDENT < IDENT) && (unary_expression ! IDENT)) )) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (for_statement for ( (assignment_expression IDENT = IDENT) ; (binary_expression IDENT != IDENT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) != (binary_expression IDENT + LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) & LIT) )) == LIT) ))) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) })))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })))
(function_definition "void FUN_001808e0(long *param_1,long *param_2,long param_3)\n\n{\n  long *plVar1;\n  uint *puVar2;\n  uint uVar3;\n  long *plVar4;\n  int *piVar5;\n  long *plVar6;\n  int *__src;\n  undefined8 uVar7;\n  byte bVar8;\n  char cVar9;\n  int iVar10;\n  uint uVar11;\n  uint uVar12;\n  int iVar13;\n  long *plVar14;\n  long *plVar15;\n  byte *pbVar16;\n  void *__dest;\n  size_t sVar17;\n  undefined4 *__dest_00;\n  undefined8 *puVar18;\n  ulong *puVar19;\n  undefined8 uVar20;\n  long lVar21;\n  long *plVar22;\n  ulong extraout_RDX;\n  ulong uVar23;\n  ulong uVar24;\n  ulong uVar25;\n  uint uVar26;\n  int iVar27;\n  ulong uVar28;\n  long lVar29;\n  long *plVar30;\n  byte *pbVar31;\n  ulong *puVar32;\n  byte *pbVar33;\n  char *pcVar34;\n  undefined1 uVar35;\n  bool bVar36;\n  bool bVar37;\n  undefined1 uVar38;\n  bool bVar39;\n  byte bVar40;\n  undefined1 auVar41 [16];\n  long local_1e8;\n  undefined4 *local_1d8;\n  long local_1d0;\n  undefined4 *local_1c8;\n  undefined4 *local_1b0;\n  undefined8 **local_1a8;\n  ulong local_1a0;\n  uint local_18c;\n  ulong *local_188;\n  int local_180;\n  undefined4 uStack_17c;\n  undefined8 local_178;\n  undefined8 uStack_170;\n  long local_168;\n  undefined8 *local_160;\n  undefined8 *local_158;\n  long *local_148;\n  long *local_140;\n  undefined8 local_138;\n  long *local_128;\n  long *local_120;\n  undefined8 local_118;\n  ulong *local_108;\n  ulong local_100;\n  ulong local_f8 [2];\n  ulong *local_e8;\n  size_t local_e0;\n  ulong local_d8 [2];\n  ulong *local_c8;\n  size_t local_c0;\n  ulong local_b8 [2];\n  long local_a8;\n  undefined4 local_a0;\n  ulong *local_98;\n  int local_90;\n  ulong *local_88;\n  undefined8 *local_78;\n  ulong uStack_70;\n  undefined8 local_68;\n  undefined8 local_60;\n  undefined4 local_58;\n  undefined8 local_50;\n  undefined8 local_48 [3];\n  \n  bVar40 = 0;\n  plVar4 = *(long **)(PTR_DAT_0043e6b0 + 0x18);\n  local_168 = 0;\n  local_160 = (undefined8 *)0x0;\n  local_158 = (undefined8 *)0x0;\n  local_a8 = 0;\n  local_a0 = 0;\n  local_98 = (ulong *)0x0;\n  local_90 = 0;\n  local_88 = (ulong *)0x0;\n  local_148 = (long *)0x0;\n  local_140 = (long *)0x0;\n  local_138 = 0;\n  if (plVar4 == (long *)0x0) {\n                    \n                    \n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }\n  puVar19 = (ulong *)*param_2;\n  if (puVar19 == (ulong *)param_2[1]) {\n    local_1d8 = (undefined4 *)0x0;\n  }\n  else {\n    local_1c8 = (undefined4 *)0x0;\n    local_1b0 = (undefined4 *)0x0;\n    local_1d8 = (undefined4 *)0x0;\n    iVar13 = 0;\n    do {\n      plVar30 = (long *)*puVar19;\n      if (plVar30[5] == 0) {\n        plVar14 = plVar30;\n        if ((int)plVar30[7] != 0) goto LAB_00180a17;\n      }\n      else {\n                    \n        FUN_00179ad0(plVar30[5] + 0x28,0xffffffffffffffff);\n        plVar14 = (long *)*puVar19;\n        if ((int)((long *)*puVar19)[7] != 0) {\nLAB_00180a17:\n          uVar35 = false;\n          uVar28 = 0;\n          uVar38 = true;\n          do {\n            iVar27 = (int)uVar28;\n                    \n            (**(code **)(*plVar14 + 0x80))(&local_c8,plVar14,uVar28);\n            lVar21 = 5;\n            pbVar16 = (byte *)".text";\n            puVar32 = local_c8;\n            do {\n              if (lVar21 == 0) break;\n              lVar21 = lVar21 + -1;\n              uVar35 = *pbVar16 < (byte)*puVar32;\n              uVar38 = *pbVar16 == (byte)*puVar32;\n              pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n              puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n            } while ((bool)uVar38);\n            bVar36 = false;\n            bVar39 = (!(bool)uVar35 && !(bool)uVar38) == (bool)uVar35;\n            if (bVar39) {\nLAB_00180a28:\n              puVar18 = (undefined8 *)*puVar19;\n              if ((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28) {\n                    \n                    \n                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (*(long *)(puVar18[10] + uVar28 * 8) == 0) goto LAB_00180c96;\n              lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n              if (lVar21 == 0) {\n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(lVar21 + 0x2809) != '\0') {\n                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                local_78 = puVar18;\n                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);\n                if (lVar21 == 0) goto LAB_00180c96;\n                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar21 == 0) {\n                    \n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (*(int *)(lVar21 + 0x9050) == 2) {\n                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);\n                bVar36 = false;\n                bVar39 = pbVar16 == (byte *)0x0;\n                if (bVar39) {\n                    \n                    \n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar21 = 4;\n                pbVar31 = &DAT_00373305;\n                pbVar33 = pbVar16;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);\n                bVar37 = false;\n                bVar36 = (!bVar36 && !bVar39) == bVar36;\n                if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }\n                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = &local_78;\n              local_78 = (undefined8 *)*puVar19;\n              puVar32 = (ulong *)param_1[1];\n              if (puVar32 == (ulong *)param_1[2]) {\n                uStack_70._0_4_ = iVar27;\n                FUN_001825a0(param_1,puVar32,local_1a8);\n              }\n              else {\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }\n              local_78 = (undefined8 *)*puVar19;\n              uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n              uVar24 = (ulong)local_78 ^ uVar28;\n              local_1a0 = uVar24 % (ulong)param_1[4];\n              puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24);\n              if ((puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)) {\n                    \n                plVar14 = (long *)FUN_002d94a0(0x28);\n                lVar21 = param_1[6];\n                *plVar14 = 0;\n                lVar29 = param_1[4];\n                *(undefined4 *)(plVar14 + 3) = 0;\n                plVar14[1] = (long)local_78;\n                plVar14[2] = uStack_70;\n                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);\n                if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    \n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }\n                plVar14[4] = uVar24;\n                plVar22 = plVar15 + local_1a0;\n                if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }\n                param_1[6] = param_1[6] + 1;\n              }\n              piVar5 = (int *)param_1[0xb];\n              *(int *)(plVar14 + 3) = iVar13;\n              if (piVar5 == (int *)param_1[0xc]) {\n                __src = (int *)param_1[10];\n                sVar17 = (long)piVar5 - (long)__src;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }\n                *(int *)((long)__dest + sVar17) = iVar13;\n                lVar21 = (long)__dest + sVar17 + 4;\n                if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }\n                param_1[10] = (long)__dest;\n                param_1[0xb] = lVar21;\n                param_1[0xc] = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    \n              local_78 = (undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28);\n              if (local_160 == local_158) {\n                FUN_00182710(&local_168,local_160,local_1a8);\n              }\n              else {\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }\n              iVar10 = local_90;\n              puVar32 = local_98;\n              if (local_98 == local_88) {\n                local_180 = local_90;\n                local_188 = local_98;\n                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);\n              }\n              else {\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }\n              local_78 = &local_68;\n              FUN_001665c0(local_1a8,"");\n                    \n              FUN_0016f840(&local_148,local_1a8);\n              if (local_78 != &local_68) {\n                FUN_002dac70();\n              }\n              iVar13 = iVar13 + 1;\n              if (local_c8 != local_b8) goto LAB_00180c31;\n            }\n            else {\n              lVar21 = 0xf;\n              pbVar16 = (byte *)".gnu.linkonce.t";\n              puVar32 = local_c8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              } while (bVar39);\n              if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;\nLAB_00180c96:\n              if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }\n            }\n            plVar14 = (long *)*puVar19;\n            uVar26 = iVar27 + 1;\n            uVar28 = (ulong)uVar26;\n            uVar35 = uVar26 < *(uint *)(plVar14 + 7);\n            uVar38 = uVar26 == *(uint *)(plVar14 + 7);\n          } while ((bool)uVar35);\n        }\n        if (plVar30[5] != 0) {\n          FUN_0017a690(plVar30[5] + 0x28,0xffffffffffffffff);\n        }\n      }\n      puVar19 = puVar19 + 1;\n    } while ((ulong *)param_2[1] != puVar19);\n  }\n  if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }\n  uVar26 = 0;\n  uVar3 = *(uint *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2dac);\n  uVar11 = 2;\n  if (0 < (int)uVar3) {\n    uVar11 = uVar3;\n  }\n  do {\n    uVar26 = uVar26 + 1;\n    uStack_70 = 1;\n    local_78 = local_48;\n    local_68 = 0;\n    local_60 = 0;\n    local_58 = 0x3f800000;\n    local_50 = 0;\n    local_48[0] = 0;\n    if (uVar26 == 1) {\n                    \n      FUN_00180660(param_1,&local_a8,0);\n    }\n    else {\n                    \n      FUN_00180660(param_1,&local_a8,&local_148);\n    }\n    local_128 = (long *)0x0;\n    local_120 = (long *)0x0;\n    local_118 = 0;\n    if (param_1[1] == *param_1) {\n      FUN_00182070(&local_78);\n      bVar36 = true;\n      break;\n    }\n    uVar28 = 0;\n    bVar36 = true;\n    uVar3 = 0;\n    do {\n      local_c8 = local_b8;\n                    \n      FUN_001665c0(&local_c8,"");\n                    \n      FUN_0016f840(&local_128,&local_c8);\n      if (local_c8 != local_b8) {\n        FUN_002dac70();\n      }\n      local_1a0._0_1_ = (byte)uVar3;\n      uVar24 = 1L << ((byte)local_1a0 & 0x3f);\n      lVar21 = *param_1;\n      if ((uVar24 & *(ulong *)(local_a8 + (uVar28 >> 6) * 8)) == 0) {\n        puVar18 = (undefined8 *)(lVar21 + uVar28 * 0x10);\n        local_178 = *puVar18;\n        uStack_170 = puVar18[1];\n        local_100 = 0;\n        local_f8[0] = local_f8[0] & 0xffffffffffffff00;\n        local_108 = local_f8;\n        if (uVar26 == 1) {\n          local_e8 = (ulong *)((ulong)local_e8 & 0xffffffff00000000);\n          FUN_0017f6d0(&local_c8,1,&local_178,uVar3,&local_e8,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_c8 == local_b8) {\n            sVar17 = local_c0;\n            if (local_c0 != 0) {\n              if (local_c0 == 1) {\n                *(byte *)local_108 = (byte)local_b8[0];\n                sVar17 = local_c0;\n              }\n              else {\n                memcpy(local_108,local_c8,local_c0);\n                sVar17 = local_c0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_c8;\n              local_100 = local_c0;\n              local_f8[0] = local_b8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_c8 = puVar19;\n                local_b8[0] = uVar25;\n                goto LAB_00181993;\n              }\n            }\n            local_f8[0] = local_b8[0];\n            local_100 = local_c0;\n            local_108 = local_c8;\n            local_c8 = local_b8;\n          }\nLAB_00181993:\n          local_c0 = 0;\n          *(byte *)local_c8 = 0;\n          if (local_c8 != local_b8) {\n            FUN_002dac70();\n          }\n          local_1d8[uVar28] = local_e8._0_4_;\n        }\n        else {\n          if (uVar3 != *(uint *)(param_1[10] + uVar28 * 4)) goto LAB_001813c8;\n                    \n          FUN_0017f6d0(&local_e8,0,&local_178,uVar3,0,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_e8 == local_d8) {\n            sVar17 = local_e0;\n            if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *(byte *)local_108 = (byte)local_d8[0];\n                sVar17 = local_e0;\n              }\n              else {\n                memcpy(local_108,local_e8,local_e0);\n                sVar17 = local_e0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_e8;\n              local_100 = local_e0;\n              local_f8[0] = local_d8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_e8 = puVar19;\n                local_d8[0] = uVar25;\n                goto LAB_0018156c;\n              }\n            }\n            local_f8[0] = local_d8[0];\n            local_100 = local_e0;\n            local_108 = local_e8;\n            local_e8 = local_d8;\n          }\nLAB_0018156c:\n          local_e0 = 0;\n          *(byte *)local_e8 = 0;\n          if (local_e8 != local_d8) {\n            FUN_002dac70();\n          }\n        }\n        uVar12 = FUN_002d5ef0(local_108,local_100 & 0xffffffff,0xffffffff);\n        uVar25 = (ulong)uVar12 % uStack_70;\n        local_18c = uVar12;\n        if (((long *)local_78[uVar25] == (long *)0x0) ||\n           (puVar18 = *(undefined8 **)local_78[uVar25], puVar18 == (undefined8 *)0x0)) {\nLAB_00181638:\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,(ulong)uVar12,puVar18);\n        }\n        else {\n          uVar23 = (ulong)*(uint *)(puVar18 + 1);\n          lVar21 = 0;\n          do {\n            if (uVar12 == (uint)uVar23) {\n              puVar18 = (undefined8 *)*puVar18;\n              lVar21 = lVar21 + 1;\n              lVar29 = lVar21;\n            }\n            else {\n              if (lVar21 != 0) goto LAB_00181742;\n              puVar18 = (undefined8 *)*puVar18;\n              lVar29 = 0;\n            }\n          } while ((puVar18 != (undefined8 *)0x0) &&\n                  (uVar23 = (ulong)*(uint *)(puVar18 + 1), lVar29 = lVar21,\n                  uVar25 == uVar23 % uStack_70));\n          if (lVar29 == 0) goto LAB_00181638;\nLAB_00181742:\n          auVar41 = FUN_00182170(&local_78,&local_18c);\n          uVar25 = local_100;\n          puVar19 = local_108;\n          plVar4 = local_128;\n          uVar12 = local_18c;\n          for (puVar18 = auVar41._0_8_; local_18c = uVar12, puVar18 != auVar41._8_8_;\n              puVar18 = (undefined8 *)*puVar18) {\n            uVar12 = *(uint *)((long)puVar18 + 0xc);\n            uVar23 = (ulong)uVar12;\n            plVar30 = plVar4 + uVar23 * 4;\n            if ((plVar30[1] == uVar25) &&\n               (iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0)) {\n              if (*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8)) {\n                *(uint *)(param_1[10] + uVar23 * 4) = uVar3;\n                *(uint *)((long)puVar18 + 0xc) = uVar3;\n                FUN_002e3180(plVar30,plVar4 + uVar28 * 4);\n                bVar36 = false;\n              }\n              else {\n                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;\n                bVar36 = false;\n              }\n              goto joined_r0x00181835;\n            }\n            uVar12 = local_18c;\n          }\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,uVar12,puVar18);\n        }\n        FUN_002e1890(local_128 + uVar28 * 4,&local_108);\njoined_r0x00181835:\n        if ((uVar26 == 1) && (local_1d8[uVar28] == 0)) {\n          puVar19 = (ulong *)((uVar28 >> 6) * 8 + local_a8);\n          *puVar19 = *puVar19 | uVar24;\n        }\n        if (local_108 != local_f8) {\n          FUN_002dac70();\n        }\n        lVar21 = *param_1;\n      }\nLAB_001813c8:\n      plVar4 = local_120;\n      uVar3 = uVar3 + 1;\n      uVar28 = (ulong)uVar3;\n      uVar24 = param_1[1] - lVar21 >> 4;\n    } while (uVar28 < uVar24);\n    plVar30 = local_128;\n    if (uVar24 != 0) {\n      lVar21 = param_1[10];\n      uVar25 = 0;\n      uVar28 = uVar25;\n      do {\n        do {\n          uVar12 = (uint)uVar25;\n          uVar3 = *(uint *)(lVar21 + uVar25 * 4);\n          uVar25 = (ulong)uVar3;\n        } while (uVar12 != uVar3);\n        puVar2 = (uint *)(lVar21 + uVar28 * 4);\n        uVar12 = *puVar2;\n        while (uVar12 != uVar3) {\n          *puVar2 = uVar3;\n          puVar2 = (uint *)(lVar21 + (ulong)uVar12 * 4);\n          uVar12 = *puVar2;\n        }\n        uVar25 = (ulong)((int)uVar28 + 1);\n        uVar28 = uVar25;\n      } while (uVar25 < uVar24);\n    }\n    for (; plVar30 != plVar4; plVar30 = plVar30 + 4) {\n      if ((long *)*plVar30 != plVar30 + 2) {\n        FUN_002dac70();\n      }\n    }\n    if (local_128 != (long *)0x0) {\n      FUN_002dac70(local_128);\n    }\n    FUN_00182070(&local_78);\n  } while (uVar26 < uVar11 && !bVar36);\n  uVar7 = DAT_0043e8e8;\n  lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n  if (lVar21 == 0) {\n                    \n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }\n  if (*(char *)(lVar21 + 0x4be1) != '\0') {\n    pcVar34 = "%s: ICF Converged after %u iteration(s)";\n    if (!bVar36) {\n      pcVar34 = "%s: ICF stopped after %u iteration(s)";\n    }\n    uVar20 = gettext(pcVar34);\n                    \n    FUN_00178480(uVar20,uVar7,uVar26);\n    lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    if (lVar21 == 0) {\n                    \n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }\n  }\n  puVar18 = *(undefined8 **)(lVar21 + 0x34a0);\n  plVar4 = local_140;\n  do {\n    local_140 = plVar4;\n    if (puVar18 == (undefined8 *)0x0) {\n      *(undefined1 *)(param_1 + 0x14) = 1;\n      for (plVar30 = local_148; plVar4 != plVar30; plVar30 = plVar30 + 4) {\n        if ((long *)*plVar30 != plVar30 + 2) {\n          FUN_002dac70();\n        }\n      }\n      if (local_148 != (long *)0x0) {\n        FUN_002dac70(local_148);\n      }\n      if (local_a8 != 0) {\n        FUN_002dac70(local_a8);\n      }\n      if (local_168 != 0) {\n        FUN_002dac70();\n      }\n      if (local_1d8 != (undefined4 *)0x0) {\n        FUN_002dac70(local_1d8);\n      }\n      return;\n    }\n    uVar7 = puVar18[1];\n                    \n    lVar21 = FUN_002732b0(param_3,uVar7,0);\n    if (lVar21 == 0) {\n      uVar20 = gettext("Could not find symbol %s to unfold\n");\n      FUN_001783d0(uVar20,uVar7);\n    }\n    else if ((((*(byte *)(lVar21 + 0x3a) & 7) == 0) &&\n             ((*(byte *)(*(long *)(lVar21 + 0x10) + 0x3c) & 1) == 0)) &&\n            ((*(byte *)(lVar21 + 0x3b) & 0x20) != 0)) {\n      FUN_0017f5f0(param_1,*(long *)(lVar21 + 0x10),*(undefined4 *)(lVar21 + 0x18));\n    }\n    puVar18 = (undefined8 *)*puVar18;\n    plVar4 = local_140;\n  } while (*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0);\n                    \n                    \n  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n}" (primitive_type "void") (function_declarator "FUN_001808e0(long *param_1,long *param_2,long param_3)" (identifier "FUN_001808e0") (parameter_list "(long *param_1,long *param_2,long param_3)" (( "(") (parameter_declaration "long *param_1" (sized_type_specifier "long" (long "long")) (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "long *param_2" (sized_type_specifier "long" (long "long")) (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "long param_3" (sized_type_specifier "long" (long "long")) (identifier "param_3")) () ")"))) (compound_statement "{\n  long *plVar1;\n  uint *puVar2;\n  uint uVar3;\n  long *plVar4;\n  int *piVar5;\n  long *plVar6;\n  int *__src;\n  undefined8 uVar7;\n  byte bVar8;\n  char cVar9;\n  int iVar10;\n  uint uVar11;\n  uint uVar12;\n  int iVar13;\n  long *plVar14;\n  long *plVar15;\n  byte *pbVar16;\n  void *__dest;\n  size_t sVar17;\n  undefined4 *__dest_00;\n  undefined8 *puVar18;\n  ulong *puVar19;\n  undefined8 uVar20;\n  long lVar21;\n  long *plVar22;\n  ulong extraout_RDX;\n  ulong uVar23;\n  ulong uVar24;\n  ulong uVar25;\n  uint uVar26;\n  int iVar27;\n  ulong uVar28;\n  long lVar29;\n  long *plVar30;\n  byte *pbVar31;\n  ulong *puVar32;\n  byte *pbVar33;\n  char *pcVar34;\n  undefined1 uVar35;\n  bool bVar36;\n  bool bVar37;\n  undefined1 uVar38;\n  bool bVar39;\n  byte bVar40;\n  undefined1 auVar41 [16];\n  long local_1e8;\n  undefined4 *local_1d8;\n  long local_1d0;\n  undefined4 *local_1c8;\n  undefined4 *local_1b0;\n  undefined8 **local_1a8;\n  ulong local_1a0;\n  uint local_18c;\n  ulong *local_188;\n  int local_180;\n  undefined4 uStack_17c;\n  undefined8 local_178;\n  undefined8 uStack_170;\n  long local_168;\n  undefined8 *local_160;\n  undefined8 *local_158;\n  long *local_148;\n  long *local_140;\n  undefined8 local_138;\n  long *local_128;\n  long *local_120;\n  undefined8 local_118;\n  ulong *local_108;\n  ulong local_100;\n  ulong local_f8 [2];\n  ulong *local_e8;\n  size_t local_e0;\n  ulong local_d8 [2];\n  ulong *local_c8;\n  size_t local_c0;\n  ulong local_b8 [2];\n  long local_a8;\n  undefined4 local_a0;\n  ulong *local_98;\n  int local_90;\n  ulong *local_88;\n  undefined8 *local_78;\n  ulong uStack_70;\n  undefined8 local_68;\n  undefined8 local_60;\n  undefined4 local_58;\n  undefined8 local_50;\n  undefined8 local_48 [3];\n  \n  bVar40 = 0;\n  plVar4 = *(long **)(PTR_DAT_0043e6b0 + 0x18);\n  local_168 = 0;\n  local_160 = (undefined8 *)0x0;\n  local_158 = (undefined8 *)0x0;\n  local_a8 = 0;\n  local_a0 = 0;\n  local_98 = (ulong *)0x0;\n  local_90 = 0;\n  local_88 = (ulong *)0x0;\n  local_148 = (long *)0x0;\n  local_140 = (long *)0x0;\n  local_138 = 0;\n  if (plVar4 == (long *)0x0) {\n                    \n                    \n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }\n  puVar19 = (ulong *)*param_2;\n  if (puVar19 == (ulong *)param_2[1]) {\n    local_1d8 = (undefined4 *)0x0;\n  }\n  else {\n    local_1c8 = (undefined4 *)0x0;\n    local_1b0 = (undefined4 *)0x0;\n    local_1d8 = (undefined4 *)0x0;\n    iVar13 = 0;\n    do {\n      plVar30 = (long *)*puVar19;\n      if (plVar30[5] == 0) {\n        plVar14 = plVar30;\n        if ((int)plVar30[7] != 0) goto LAB_00180a17;\n      }\n      else {\n                    \n        FUN_00179ad0(plVar30[5] + 0x28,0xffffffffffffffff);\n        plVar14 = (long *)*puVar19;\n        if ((int)((long *)*puVar19)[7] != 0) {\nLAB_00180a17:\n          uVar35 = false;\n          uVar28 = 0;\n          uVar38 = true;\n          do {\n            iVar27 = (int)uVar28;\n                    \n            (**(code **)(*plVar14 + 0x80))(&local_c8,plVar14,uVar28);\n            lVar21 = 5;\n            pbVar16 = (byte *)".text";\n            puVar32 = local_c8;\n            do {\n              if (lVar21 == 0) break;\n              lVar21 = lVar21 + -1;\n              uVar35 = *pbVar16 < (byte)*puVar32;\n              uVar38 = *pbVar16 == (byte)*puVar32;\n              pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n              puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n            } while ((bool)uVar38);\n            bVar36 = false;\n            bVar39 = (!(bool)uVar35 && !(bool)uVar38) == (bool)uVar35;\n            if (bVar39) {\nLAB_00180a28:\n              puVar18 = (undefined8 *)*puVar19;\n              if ((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28) {\n                    \n                    \n                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (*(long *)(puVar18[10] + uVar28 * 8) == 0) goto LAB_00180c96;\n              lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n              if (lVar21 == 0) {\n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(lVar21 + 0x2809) != '\0') {\n                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                local_78 = puVar18;\n                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);\n                if (lVar21 == 0) goto LAB_00180c96;\n                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar21 == 0) {\n                    \n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (*(int *)(lVar21 + 0x9050) == 2) {\n                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);\n                bVar36 = false;\n                bVar39 = pbVar16 == (byte *)0x0;\n                if (bVar39) {\n                    \n                    \n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar21 = 4;\n                pbVar31 = &DAT_00373305;\n                pbVar33 = pbVar16;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);\n                bVar37 = false;\n                bVar36 = (!bVar36 && !bVar39) == bVar36;\n                if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }\n                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = &local_78;\n              local_78 = (undefined8 *)*puVar19;\n              puVar32 = (ulong *)param_1[1];\n              if (puVar32 == (ulong *)param_1[2]) {\n                uStack_70._0_4_ = iVar27;\n                FUN_001825a0(param_1,puVar32,local_1a8);\n              }\n              else {\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }\n              local_78 = (undefined8 *)*puVar19;\n              uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n              uVar24 = (ulong)local_78 ^ uVar28;\n              local_1a0 = uVar24 % (ulong)param_1[4];\n              puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24);\n              if ((puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)) {\n                    \n                plVar14 = (long *)FUN_002d94a0(0x28);\n                lVar21 = param_1[6];\n                *plVar14 = 0;\n                lVar29 = param_1[4];\n                *(undefined4 *)(plVar14 + 3) = 0;\n                plVar14[1] = (long)local_78;\n                plVar14[2] = uStack_70;\n                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);\n                if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    \n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }\n                plVar14[4] = uVar24;\n                plVar22 = plVar15 + local_1a0;\n                if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }\n                param_1[6] = param_1[6] + 1;\n              }\n              piVar5 = (int *)param_1[0xb];\n              *(int *)(plVar14 + 3) = iVar13;\n              if (piVar5 == (int *)param_1[0xc]) {\n                __src = (int *)param_1[10];\n                sVar17 = (long)piVar5 - (long)__src;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }\n                *(int *)((long)__dest + sVar17) = iVar13;\n                lVar21 = (long)__dest + sVar17 + 4;\n                if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }\n                param_1[10] = (long)__dest;\n                param_1[0xb] = lVar21;\n                param_1[0xc] = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    \n              local_78 = (undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28);\n              if (local_160 == local_158) {\n                FUN_00182710(&local_168,local_160,local_1a8);\n              }\n              else {\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }\n              iVar10 = local_90;\n              puVar32 = local_98;\n              if (local_98 == local_88) {\n                local_180 = local_90;\n                local_188 = local_98;\n                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);\n              }\n              else {\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }\n              local_78 = &local_68;\n              FUN_001665c0(local_1a8,"");\n                    \n              FUN_0016f840(&local_148,local_1a8);\n              if (local_78 != &local_68) {\n                FUN_002dac70();\n              }\n              iVar13 = iVar13 + 1;\n              if (local_c8 != local_b8) goto LAB_00180c31;\n            }\n            else {\n              lVar21 = 0xf;\n              pbVar16 = (byte *)".gnu.linkonce.t";\n              puVar32 = local_c8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              } while (bVar39);\n              if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;\nLAB_00180c96:\n              if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }\n            }\n            plVar14 = (long *)*puVar19;\n            uVar26 = iVar27 + 1;\n            uVar28 = (ulong)uVar26;\n            uVar35 = uVar26 < *(uint *)(plVar14 + 7);\n            uVar38 = uVar26 == *(uint *)(plVar14 + 7);\n          } while ((bool)uVar35);\n        }\n        if (plVar30[5] != 0) {\n          FUN_0017a690(plVar30[5] + 0x28,0xffffffffffffffff);\n        }\n      }\n      puVar19 = puVar19 + 1;\n    } while ((ulong *)param_2[1] != puVar19);\n  }\n  if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }\n  uVar26 = 0;\n  uVar3 = *(uint *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2dac);\n  uVar11 = 2;\n  if (0 < (int)uVar3) {\n    uVar11 = uVar3;\n  }\n  do {\n    uVar26 = uVar26 + 1;\n    uStack_70 = 1;\n    local_78 = local_48;\n    local_68 = 0;\n    local_60 = 0;\n    local_58 = 0x3f800000;\n    local_50 = 0;\n    local_48[0] = 0;\n    if (uVar26 == 1) {\n                    \n      FUN_00180660(param_1,&local_a8,0);\n    }\n    else {\n                    \n      FUN_00180660(param_1,&local_a8,&local_148);\n    }\n    local_128 = (long *)0x0;\n    local_120 = (long *)0x0;\n    local_118 = 0;\n    if (param_1[1] == *param_1) {\n      FUN_00182070(&local_78);\n      bVar36 = true;\n      break;\n    }\n    uVar28 = 0;\n    bVar36 = true;\n    uVar3 = 0;\n    do {\n      local_c8 = local_b8;\n                    \n      FUN_001665c0(&local_c8,"");\n                    \n      FUN_0016f840(&local_128,&local_c8);\n      if (local_c8 != local_b8) {\n        FUN_002dac70();\n      }\n      local_1a0._0_1_ = (byte)uVar3;\n      uVar24 = 1L << ((byte)local_1a0 & 0x3f);\n      lVar21 = *param_1;\n      if ((uVar24 & *(ulong *)(local_a8 + (uVar28 >> 6) * 8)) == 0) {\n        puVar18 = (undefined8 *)(lVar21 + uVar28 * 0x10);\n        local_178 = *puVar18;\n        uStack_170 = puVar18[1];\n        local_100 = 0;\n        local_f8[0] = local_f8[0] & 0xffffffffffffff00;\n        local_108 = local_f8;\n        if (uVar26 == 1) {\n          local_e8 = (ulong *)((ulong)local_e8 & 0xffffffff00000000);\n          FUN_0017f6d0(&local_c8,1,&local_178,uVar3,&local_e8,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_c8 == local_b8) {\n            sVar17 = local_c0;\n            if (local_c0 != 0) {\n              if (local_c0 == 1) {\n                *(byte *)local_108 = (byte)local_b8[0];\n                sVar17 = local_c0;\n              }\n              else {\n                memcpy(local_108,local_c8,local_c0);\n                sVar17 = local_c0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_c8;\n              local_100 = local_c0;\n              local_f8[0] = local_b8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_c8 = puVar19;\n                local_b8[0] = uVar25;\n                goto LAB_00181993;\n              }\n            }\n            local_f8[0] = local_b8[0];\n            local_100 = local_c0;\n            local_108 = local_c8;\n            local_c8 = local_b8;\n          }\nLAB_00181993:\n          local_c0 = 0;\n          *(byte *)local_c8 = 0;\n          if (local_c8 != local_b8) {\n            FUN_002dac70();\n          }\n          local_1d8[uVar28] = local_e8._0_4_;\n        }\n        else {\n          if (uVar3 != *(uint *)(param_1[10] + uVar28 * 4)) goto LAB_001813c8;\n                    \n          FUN_0017f6d0(&local_e8,0,&local_178,uVar3,0,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_e8 == local_d8) {\n            sVar17 = local_e0;\n            if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *(byte *)local_108 = (byte)local_d8[0];\n                sVar17 = local_e0;\n              }\n              else {\n                memcpy(local_108,local_e8,local_e0);\n                sVar17 = local_e0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_e8;\n              local_100 = local_e0;\n              local_f8[0] = local_d8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_e8 = puVar19;\n                local_d8[0] = uVar25;\n                goto LAB_0018156c;\n              }\n            }\n            local_f8[0] = local_d8[0];\n            local_100 = local_e0;\n            local_108 = local_e8;\n            local_e8 = local_d8;\n          }\nLAB_0018156c:\n          local_e0 = 0;\n          *(byte *)local_e8 = 0;\n          if (local_e8 != local_d8) {\n            FUN_002dac70();\n          }\n        }\n        uVar12 = FUN_002d5ef0(local_108,local_100 & 0xffffffff,0xffffffff);\n        uVar25 = (ulong)uVar12 % uStack_70;\n        local_18c = uVar12;\n        if (((long *)local_78[uVar25] == (long *)0x0) ||\n           (puVar18 = *(undefined8 **)local_78[uVar25], puVar18 == (undefined8 *)0x0)) {\nLAB_00181638:\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,(ulong)uVar12,puVar18);\n        }\n        else {\n          uVar23 = (ulong)*(uint *)(puVar18 + 1);\n          lVar21 = 0;\n          do {\n            if (uVar12 == (uint)uVar23) {\n              puVar18 = (undefined8 *)*puVar18;\n              lVar21 = lVar21 + 1;\n              lVar29 = lVar21;\n            }\n            else {\n              if (lVar21 != 0) goto LAB_00181742;\n              puVar18 = (undefined8 *)*puVar18;\n              lVar29 = 0;\n            }\n          } while ((puVar18 != (undefined8 *)0x0) &&\n                  (uVar23 = (ulong)*(uint *)(puVar18 + 1), lVar29 = lVar21,\n                  uVar25 == uVar23 % uStack_70));\n          if (lVar29 == 0) goto LAB_00181638;\nLAB_00181742:\n          auVar41 = FUN_00182170(&local_78,&local_18c);\n          uVar25 = local_100;\n          puVar19 = local_108;\n          plVar4 = local_128;\n          uVar12 = local_18c;\n          for (puVar18 = auVar41._0_8_; local_18c = uVar12, puVar18 != auVar41._8_8_;\n              puVar18 = (undefined8 *)*puVar18) {\n            uVar12 = *(uint *)((long)puVar18 + 0xc);\n            uVar23 = (ulong)uVar12;\n            plVar30 = plVar4 + uVar23 * 4;\n            if ((plVar30[1] == uVar25) &&\n               (iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0)) {\n              if (*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8)) {\n                *(uint *)(param_1[10] + uVar23 * 4) = uVar3;\n                *(uint *)((long)puVar18 + 0xc) = uVar3;\n                FUN_002e3180(plVar30,plVar4 + uVar28 * 4);\n                bVar36 = false;\n              }\n              else {\n                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;\n                bVar36 = false;\n              }\n              goto joined_r0x00181835;\n            }\n            uVar12 = local_18c;\n          }\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,uVar12,puVar18);\n        }\n        FUN_002e1890(local_128 + uVar28 * 4,&local_108);\njoined_r0x00181835:\n        if ((uVar26 == 1) && (local_1d8[uVar28] == 0)) {\n          puVar19 = (ulong *)((uVar28 >> 6) * 8 + local_a8);\n          *puVar19 = *puVar19 | uVar24;\n        }\n        if (local_108 != local_f8) {\n          FUN_002dac70();\n        }\n        lVar21 = *param_1;\n      }\nLAB_001813c8:\n      plVar4 = local_120;\n      uVar3 = uVar3 + 1;\n      uVar28 = (ulong)uVar3;\n      uVar24 = param_1[1] - lVar21 >> 4;\n    } while (uVar28 < uVar24);\n    plVar30 = local_128;\n    if (uVar24 != 0) {\n      lVar21 = param_1[10];\n      uVar25 = 0;\n      uVar28 = uVar25;\n      do {\n        do {\n          uVar12 = (uint)uVar25;\n          uVar3 = *(uint *)(lVar21 + uVar25 * 4);\n          uVar25 = (ulong)uVar3;\n        } while (uVar12 != uVar3);\n        puVar2 = (uint *)(lVar21 + uVar28 * 4);\n        uVar12 = *puVar2;\n        while (uVar12 != uVar3) {\n          *puVar2 = uVar3;\n          puVar2 = (uint *)(lVar21 + (ulong)uVar12 * 4);\n          uVar12 = *puVar2;\n        }\n        uVar25 = (ulong)((int)uVar28 + 1);\n        uVar28 = uVar25;\n      } while (uVar25 < uVar24);\n    }\n    for (; plVar30 != plVar4; plVar30 = plVar30 + 4) {\n      if ((long *)*plVar30 != plVar30 + 2) {\n        FUN_002dac70();\n      }\n    }\n    if (local_128 != (long *)0x0) {\n      FUN_002dac70(local_128);\n    }\n    FUN_00182070(&local_78);\n  } while (uVar26 < uVar11 && !bVar36);\n  uVar7 = DAT_0043e8e8;\n  lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n  if (lVar21 == 0) {\n                    \n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }\n  if (*(char *)(lVar21 + 0x4be1) != '\0') {\n    pcVar34 = "%s: ICF Converged after %u iteration(s)";\n    if (!bVar36) {\n      pcVar34 = "%s: ICF stopped after %u iteration(s)";\n    }\n    uVar20 = gettext(pcVar34);\n                    \n    FUN_00178480(uVar20,uVar7,uVar26);\n    lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    if (lVar21 == 0) {\n                    \n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }\n  }\n  puVar18 = *(undefined8 **)(lVar21 + 0x34a0);\n  plVar4 = local_140;\n  do {\n    local_140 = plVar4;\n    if (puVar18 == (undefined8 *)0x0) {\n      *(undefined1 *)(param_1 + 0x14) = 1;\n      for (plVar30 = local_148; plVar4 != plVar30; plVar30 = plVar30 + 4) {\n        if ((long *)*plVar30 != plVar30 + 2) {\n          FUN_002dac70();\n        }\n      }\n      if (local_148 != (long *)0x0) {\n        FUN_002dac70(local_148);\n      }\n      if (local_a8 != 0) {\n        FUN_002dac70(local_a8);\n      }\n      if (local_168 != 0) {\n        FUN_002dac70();\n      }\n      if (local_1d8 != (undefined4 *)0x0) {\n        FUN_002dac70(local_1d8);\n      }\n      return;\n    }\n    uVar7 = puVar18[1];\n                    \n    lVar21 = FUN_002732b0(param_3,uVar7,0);\n    if (lVar21 == 0) {\n      uVar20 = gettext("Could not find symbol %s to unfold\n");\n      FUN_001783d0(uVar20,uVar7);\n    }\n    else if ((((*(byte *)(lVar21 + 0x3a) & 7) == 0) &&\n             ((*(byte *)(*(long *)(lVar21 + 0x10) + 0x3c) & 1) == 0)) &&\n            ((*(byte *)(lVar21 + 0x3b) & 0x20) != 0)) {\n      FUN_0017f5f0(param_1,*(long *)(lVar21 + 0x10),*(undefined4 *)(lVar21 + 0x18));\n    }\n    puVar18 = (undefined8 *)*puVar18;\n    plVar4 = local_140;\n  } while (*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0);\n                    \n                    \n  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n}" ({ "{") (declaration "long *plVar1;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar1" (* "*") (identifier "plVar1")) (; ";")) (declaration "uint *puVar2;" (type_identifier "uint") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "uint uVar3;" (type_identifier "uint") (identifier "uVar3") (; ";")) (declaration "long *plVar4;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar4" (* "*") (identifier "plVar4")) (; ";")) (declaration "int *piVar5;" (primitive_type "int") (pointer_declarator "*piVar5" (* "*") (identifier "piVar5")) (; ";")) (declaration "long *plVar6;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar6" (* "*") (identifier "plVar6")) (; ";")) (declaration "int *__src;" (primitive_type "int") (pointer_declarator "*__src" (* "*") (identifier "__src")) (; ";")) (declaration "undefined8 uVar7;" (type_identifier "undefined8") (identifier "uVar7") (; ";")) (declaration "byte bVar8;" (type_identifier "byte") (identifier "bVar8") (; ";")) (declaration "char cVar9;" (primitive_type "char") (identifier "cVar9") (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "uint uVar11;" (type_identifier "uint") (identifier "uVar11") (; ";")) (declaration "uint uVar12;" (type_identifier "uint") (identifier "uVar12") (; ";")) (declaration "int iVar13;" (primitive_type "int") (identifier "iVar13") (; ";")) (declaration "long *plVar14;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar14" (* "*") (identifier "plVar14")) (; ";")) (declaration "long *plVar15;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar15" (* "*") (identifier "plVar15")) (; ";")) (declaration "byte *pbVar16;" (type_identifier "byte") (pointer_declarator "*pbVar16" (* "*") (identifier "pbVar16")) (; ";")) (declaration "void *__dest;" (primitive_type "void") (pointer_declarator "*__dest" (* "*") (identifier "__dest")) (; ";")) (declaration "size_t sVar17;" (primitive_type "size_t") (identifier "sVar17") (; ";")) (declaration "undefined4 *__dest_00;" (type_identifier "undefined4") (pointer_declarator "*__dest_00" (* "*") (identifier "__dest_00")) (; ";")) (declaration "undefined8 *puVar18;" (type_identifier "undefined8") (pointer_declarator "*puVar18" (* "*") (identifier "puVar18")) (; ";")) (declaration "ulong *puVar19;" (type_identifier "ulong") (pointer_declarator "*puVar19" (* "*") (identifier "puVar19")) (; ";")) (declaration "undefined8 uVar20;" (type_identifier "undefined8") (identifier "uVar20") (; ";")) (declaration "long lVar21;" (sized_type_specifier "long" (long "long")) (identifier "lVar21") (; ";")) (declaration "long *plVar22;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar22" (* "*") (identifier "plVar22")) (; ";")) (declaration "ulong extraout_RDX;" (type_identifier "ulong") (identifier "extraout_RDX") (; ";")) (declaration "ulong uVar23;" (type_identifier "ulong") (identifier "uVar23") (; ";")) (declaration "ulong uVar24;" (type_identifier "ulong") (identifier "uVar24") (; ";")) (declaration "ulong uVar25;" (type_identifier "ulong") (identifier "uVar25") (; ";")) (declaration "uint uVar26;" (type_identifier "uint") (identifier "uVar26") (; ";")) (declaration "int iVar27;" (primitive_type "int") (identifier "iVar27") (; ";")) (declaration "ulong uVar28;" (type_identifier "ulong") (identifier "uVar28") (; ";")) (declaration "long lVar29;" (sized_type_specifier "long" (long "long")) (identifier "lVar29") (; ";")) (declaration "long *plVar30;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar30" (* "*") (identifier "plVar30")) (; ";")) (declaration "byte *pbVar31;" (type_identifier "byte") (pointer_declarator "*pbVar31" (* "*") (identifier "pbVar31")) (; ";")) (declaration "ulong *puVar32;" (type_identifier "ulong") (pointer_declarator "*puVar32" (* "*") (identifier "puVar32")) (; ";")) (declaration "byte *pbVar33;" (type_identifier "byte") (pointer_declarator "*pbVar33" (* "*") (identifier "pbVar33")) (; ";")) (declaration "char *pcVar34;" (primitive_type "char") (pointer_declarator "*pcVar34" (* "*") (identifier "pcVar34")) (; ";")) (declaration "undefined1 uVar35;" (type_identifier "undefined1") (identifier "uVar35") (; ";")) (declaration "bool bVar36;" (primitive_type "bool") (identifier "bVar36") (; ";")) (declaration "bool bVar37;" (primitive_type "bool") (identifier "bVar37") (; ";")) (declaration "undefined1 uVar38;" (type_identifier "undefined1") (identifier "uVar38") (; ";")) (declaration "bool bVar39;" (primitive_type "bool") (identifier "bVar39") (; ";")) (declaration "byte bVar40;" (type_identifier "byte") (identifier "bVar40") (; ";")) (declaration "undefined1 auVar41 [16];" (type_identifier "undefined1") (array_declarator "auVar41 [16]" (identifier "auVar41") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "long local_1e8;" (sized_type_specifier "long" (long "long")) (identifier "local_1e8") (; ";")) (declaration "undefined4 *local_1d8;" (type_identifier "undefined4") (pointer_declarator "*local_1d8" (* "*") (identifier "local_1d8")) (; ";")) (declaration "long local_1d0;" (sized_type_specifier "long" (long "long")) (identifier "local_1d0") (; ";")) (declaration "undefined4 *local_1c8;" (type_identifier "undefined4") (pointer_declarator "*local_1c8" (* "*") (identifier "local_1c8")) (; ";")) (declaration "undefined4 *local_1b0;" (type_identifier "undefined4") (pointer_declarator "*local_1b0" (* "*") (identifier "local_1b0")) (; ";")) (declaration "undefined8 **local_1a8;" (type_identifier "undefined8") (pointer_declarator "**local_1a8" (* "*") (pointer_declarator "*local_1a8" (* "*") (identifier "local_1a8"))) (; ";")) (declaration "ulong local_1a0;" (type_identifier "ulong") (identifier "local_1a0") (; ";")) (declaration "uint local_18c;" (type_identifier "uint") (identifier "local_18c") (; ";")) (declaration "ulong *local_188;" (type_identifier "ulong") (pointer_declarator "*local_188" (* "*") (identifier "local_188")) (; ";")) (declaration "int local_180;" (primitive_type "int") (identifier "local_180") (; ";")) (declaration "undefined4 uStack_17c;" (type_identifier "undefined4") (identifier "uStack_17c") (; ";")) (declaration "undefined8 local_178;" (type_identifier "undefined8") (identifier "local_178") (; ";")) (declaration "undefined8 uStack_170;" (type_identifier "undefined8") (identifier "uStack_170") (; ";")) (declaration "long local_168;" (sized_type_specifier "long" (long "long")) (identifier "local_168") (; ";")) (declaration "undefined8 *local_160;" (type_identifier "undefined8") (pointer_declarator "*local_160" (* "*") (identifier "local_160")) (; ";")) (declaration "undefined8 *local_158;" (type_identifier "undefined8") (pointer_declarator "*local_158" (* "*") (identifier "local_158")) (; ";")) (declaration "long *local_148;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*local_148" (* "*") (identifier "local_148")) (; ";")) (declaration "long *local_140;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*local_140" (* "*") (identifier "local_140")) (; ";")) (declaration "undefined8 local_138;" (type_identifier "undefined8") (identifier "local_138") (; ";")) (declaration "long *local_128;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*local_128" (* "*") (identifier "local_128")) (; ";")) (declaration "long *local_120;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*local_120" (* "*") (identifier "local_120")) (; ";")) (declaration "undefined8 local_118;" (type_identifier "undefined8") (identifier "local_118") (; ";")) (declaration "ulong *local_108;" (type_identifier "ulong") (pointer_declarator "*local_108" (* "*") (identifier "local_108")) (; ";")) (declaration "ulong local_100;" (type_identifier "ulong") (identifier "local_100") (; ";")) (declaration "ulong local_f8 [2];" (type_identifier "ulong") (array_declarator "local_f8 [2]" (identifier "local_f8") ([ "[") (number_literal "2") (] "]")) (; ";")) (declaration "ulong *local_e8;" (type_identifier "ulong") (pointer_declarator "*local_e8" (* "*") (identifier "local_e8")) (; ";")) (declaration "size_t local_e0;" (primitive_type "size_t") (identifier "local_e0") (; ";")) (declaration "ulong local_d8 [2];" (type_identifier "ulong") (array_declarator "local_d8 [2]" (identifier "local_d8") ([ "[") (number_literal "2") (] "]")) (; ";")) (declaration "ulong *local_c8;" (type_identifier "ulong") (pointer_declarator "*local_c8" (* "*") (identifier "local_c8")) (; ";")) (declaration "size_t local_c0;" (primitive_type "size_t") (identifier "local_c0") (; ";")) (declaration "ulong local_b8 [2];" (type_identifier "ulong") (array_declarator "local_b8 [2]" (identifier "local_b8") ([ "[") (number_literal "2") (] "]")) (; ";")) (declaration "long local_a8;" (sized_type_specifier "long" (long "long")) (identifier "local_a8") (; ";")) (declaration "undefined4 local_a0;" (type_identifier "undefined4") (identifier "local_a0") (; ";")) (declaration "ulong *local_98;" (type_identifier "ulong") (pointer_declarator "*local_98" (* "*") (identifier "local_98")) (; ";")) (declaration "int local_90;" (primitive_type "int") (identifier "local_90") (; ";")) (declaration "ulong *local_88;" (type_identifier "ulong") (pointer_declarator "*local_88" (* "*") (identifier "local_88")) (; ";")) (declaration "undefined8 *local_78;" (type_identifier "undefined8") (pointer_declarator "*local_78" (* "*") (identifier "local_78")) (; ";")) (declaration "ulong uStack_70;" (type_identifier "ulong") (identifier "uStack_70") (; ";")) (declaration "undefined8 local_68;" (type_identifier "undefined8") (identifier "local_68") (; ";")) (declaration "undefined8 local_60;" (type_identifier "undefined8") (identifier "local_60") (; ";")) (declaration "undefined4 local_58;" (type_identifier "undefined4") (identifier "local_58") (; ";")) (declaration "undefined8 local_50;" (type_identifier "undefined8") (identifier "local_50") (; ";")) (declaration "undefined8 local_48 [3];" (type_identifier "undefined8") (array_declarator "local_48 [3]" (identifier "local_48") ([ "[") (number_literal "3") (] "]")) (; ";")) (expression_statement "bVar40 = 0;" (assignment_expression "bVar40 = 0" (identifier "bVar40") (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar4 = *(long **)(PTR_DAT_0043e6b0 + 0x18);" (assignment_expression "plVar4 = *(long **)(PTR_DAT_0043e6b0 + 0x18)" (identifier "plVar4") (= "=") (pointer_expression "*(long **)(PTR_DAT_0043e6b0 + 0x18)" (* "*") (cast_expression "(long **)(PTR_DAT_0043e6b0 + 0x18)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x18)" (( "(") (binary_expression "PTR_DAT_0043e6b0 + 0x18" (identifier "PTR_DAT_0043e6b0") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "local_168 = 0;" (assignment_expression "local_168 = 0" (identifier "local_168") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_160 = (undefined8 *)0x0;" (assignment_expression "local_160 = (undefined8 *)0x0" (identifier "local_160") (= "=") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_158 = (undefined8 *)0x0;" (assignment_expression "local_158 = (undefined8 *)0x0" (identifier "local_158") (= "=") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_a8 = 0;" (assignment_expression "local_a8 = 0" (identifier "local_a8") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_a0 = 0;" (assignment_expression "local_a0 = 0" (identifier "local_a0") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_98 = (ulong *)0x0;" (assignment_expression "local_98 = (ulong *)0x0" (identifier "local_98") (= "=") (cast_expression "(ulong *)0x0" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" (identifier "local_90") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_88 = (ulong *)0x0;" (assignment_expression "local_88 = (ulong *)0x0" (identifier "local_88") (= "=") (cast_expression "(ulong *)0x0" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_148 = (long *)0x0;" (assignment_expression "local_148 = (long *)0x0" (identifier "local_148") (= "=") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_140 = (long *)0x0;" (assignment_expression "local_140 = (long *)0x0" (identifier "local_140") (= "=") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_138 = 0;" (assignment_expression "local_138 = 0" (identifier "local_138") (= "=") (number_literal "0")) (; ";")) (if_statement "if (plVar4 == (long *)0x0) {\n                    \n                    \n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }" (if "if") (parenthesized_expression "(plVar4 == (long *)0x0)" (( "(") (binary_expression "plVar4 == (long *)0x0" (identifier "plVar4") (== "==") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    \n                    \n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }" ({ "{") (expression_statement "FUN_0017c650("../../gold/parameters.h",0x69,"target");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x69,"target")" (identifier "FUN_0017c650") (argument_list "("../../gold/parameters.h",0x69,"target")" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x69") (, ",") (string_literal ""target"" (" """) (string_content "target") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "puVar19 = (ulong *)*param_2;" (assignment_expression "puVar19 = (ulong *)*param_2" (identifier "puVar19") (= "=") (cast_expression "(ulong *)*param_2" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_2" (* "*") (identifier "param_2")))) (; ";")) (if_statement "if (puVar19 == (ulong *)param_2[1]) {\n    local_1d8 = (undefined4 *)0x0;\n  }\n  else {\n    local_1c8 = (undefined4 *)0x0;\n    local_1b0 = (undefined4 *)0x0;\n    local_1d8 = (undefined4 *)0x0;\n    iVar13 = 0;\n    do {\n      plVar30 = (long *)*puVar19;\n      if (plVar30[5] == 0) {\n        plVar14 = plVar30;\n        if ((int)plVar30[7] != 0) goto LAB_00180a17;\n      }\n      else {\n                    \n        FUN_00179ad0(plVar30[5] + 0x28,0xffffffffffffffff);\n        plVar14 = (long *)*puVar19;\n        if ((int)((long *)*puVar19)[7] != 0) {\nLAB_00180a17:\n          uVar35 = false;\n          uVar28 = 0;\n          uVar38 = true;\n          do {\n            iVar27 = (int)uVar28;\n                    \n            (**(code **)(*plVar14 + 0x80))(&local_c8,plVar14,uVar28);\n            lVar21 = 5;\n            pbVar16 = (byte *)".text";\n            puVar32 = local_c8;\n            do {\n              if (lVar21 == 0) break;\n              lVar21 = lVar21 + -1;\n              uVar35 = *pbVar16 < (byte)*puVar32;\n              uVar38 = *pbVar16 == (byte)*puVar32;\n              pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n              puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n            } while ((bool)uVar38);\n            bVar36 = false;\n            bVar39 = (!(bool)uVar35 && !(bool)uVar38) == (bool)uVar35;\n            if (bVar39) {\nLAB_00180a28:\n              puVar18 = (undefined8 *)*puVar19;\n              if ((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28) {\n                    \n                    \n                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (*(long *)(puVar18[10] + uVar28 * 8) == 0) goto LAB_00180c96;\n              lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n              if (lVar21 == 0) {\n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(lVar21 + 0x2809) != '\0') {\n                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                local_78 = puVar18;\n                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);\n                if (lVar21 == 0) goto LAB_00180c96;\n                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar21 == 0) {\n                    \n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (*(int *)(lVar21 + 0x9050) == 2) {\n                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);\n                bVar36 = false;\n                bVar39 = pbVar16 == (byte *)0x0;\n                if (bVar39) {\n                    \n                    \n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar21 = 4;\n                pbVar31 = &DAT_00373305;\n                pbVar33 = pbVar16;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);\n                bVar37 = false;\n                bVar36 = (!bVar36 && !bVar39) == bVar36;\n                if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }\n                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = &local_78;\n              local_78 = (undefined8 *)*puVar19;\n              puVar32 = (ulong *)param_1[1];\n              if (puVar32 == (ulong *)param_1[2]) {\n                uStack_70._0_4_ = iVar27;\n                FUN_001825a0(param_1,puVar32,local_1a8);\n              }\n              else {\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }\n              local_78 = (undefined8 *)*puVar19;\n              uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n              uVar24 = (ulong)local_78 ^ uVar28;\n              local_1a0 = uVar24 % (ulong)param_1[4];\n              puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24);\n              if ((puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)) {\n                    \n                plVar14 = (long *)FUN_002d94a0(0x28);\n                lVar21 = param_1[6];\n                *plVar14 = 0;\n                lVar29 = param_1[4];\n                *(undefined4 *)(plVar14 + 3) = 0;\n                plVar14[1] = (long)local_78;\n                plVar14[2] = uStack_70;\n                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);\n                if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    \n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }\n                plVar14[4] = uVar24;\n                plVar22 = plVar15 + local_1a0;\n                if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }\n                param_1[6] = param_1[6] + 1;\n              }\n              piVar5 = (int *)param_1[0xb];\n              *(int *)(plVar14 + 3) = iVar13;\n              if (piVar5 == (int *)param_1[0xc]) {\n                __src = (int *)param_1[10];\n                sVar17 = (long)piVar5 - (long)__src;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }\n                *(int *)((long)__dest + sVar17) = iVar13;\n                lVar21 = (long)__dest + sVar17 + 4;\n                if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }\n                param_1[10] = (long)__dest;\n                param_1[0xb] = lVar21;\n                param_1[0xc] = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    \n              local_78 = (undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28);\n              if (local_160 == local_158) {\n                FUN_00182710(&local_168,local_160,local_1a8);\n              }\n              else {\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }\n              iVar10 = local_90;\n              puVar32 = local_98;\n              if (local_98 == local_88) {\n                local_180 = local_90;\n                local_188 = local_98;\n                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);\n              }\n              else {\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }\n              local_78 = &local_68;\n              FUN_001665c0(local_1a8,"");\n                    \n              FUN_0016f840(&local_148,local_1a8);\n              if (local_78 != &local_68) {\n                FUN_002dac70();\n              }\n              iVar13 = iVar13 + 1;\n              if (local_c8 != local_b8) goto LAB_00180c31;\n            }\n            else {\n              lVar21 = 0xf;\n              pbVar16 = (byte *)".gnu.linkonce.t";\n              puVar32 = local_c8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              } while (bVar39);\n              if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;\nLAB_00180c96:\n              if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }\n            }\n            plVar14 = (long *)*puVar19;\n            uVar26 = iVar27 + 1;\n            uVar28 = (ulong)uVar26;\n            uVar35 = uVar26 < *(uint *)(plVar14 + 7);\n            uVar38 = uVar26 == *(uint *)(plVar14 + 7);\n          } while ((bool)uVar35);\n        }\n        if (plVar30[5] != 0) {\n          FUN_0017a690(plVar30[5] + 0x28,0xffffffffffffffff);\n        }\n      }\n      puVar19 = puVar19 + 1;\n    } while ((ulong *)param_2[1] != puVar19);\n  }" (if "if") (parenthesized_expression "(puVar19 == (ulong *)param_2[1])" (( "(") (binary_expression "puVar19 == (ulong *)param_2[1]" (identifier "puVar19") (== "==") (cast_expression "(ulong *)param_2[1]" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")))) () ")")) (compound_statement "{\n    local_1d8 = (undefined4 *)0x0;\n  }" ({ "{") (expression_statement "local_1d8 = (undefined4 *)0x0;" (assignment_expression "local_1d8 = (undefined4 *)0x0" (identifier "local_1d8") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n    local_1c8 = (undefined4 *)0x0;\n    local_1b0 = (undefined4 *)0x0;\n    local_1d8 = (undefined4 *)0x0;\n    iVar13 = 0;\n    do {\n      plVar30 = (long *)*puVar19;\n      if (plVar30[5] == 0) {\n        plVar14 = plVar30;\n        if ((int)plVar30[7] != 0) goto LAB_00180a17;\n      }\n      else {\n                    \n        FUN_00179ad0(plVar30[5] + 0x28,0xffffffffffffffff);\n        plVar14 = (long *)*puVar19;\n        if ((int)((long *)*puVar19)[7] != 0) {\nLAB_00180a17:\n          uVar35 = false;\n          uVar28 = 0;\n          uVar38 = true;\n          do {\n            iVar27 = (int)uVar28;\n                    \n            (**(code **)(*plVar14 + 0x80))(&local_c8,plVar14,uVar28);\n            lVar21 = 5;\n            pbVar16 = (byte *)".text";\n            puVar32 = local_c8;\n            do {\n              if (lVar21 == 0) break;\n              lVar21 = lVar21 + -1;\n              uVar35 = *pbVar16 < (byte)*puVar32;\n              uVar38 = *pbVar16 == (byte)*puVar32;\n              pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n              puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n            } while ((bool)uVar38);\n            bVar36 = false;\n            bVar39 = (!(bool)uVar35 && !(bool)uVar38) == (bool)uVar35;\n            if (bVar39) {\nLAB_00180a28:\n              puVar18 = (undefined8 *)*puVar19;\n              if ((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28) {\n                    \n                    \n                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (*(long *)(puVar18[10] + uVar28 * 8) == 0) goto LAB_00180c96;\n              lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n              if (lVar21 == 0) {\n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(lVar21 + 0x2809) != '\0') {\n                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                local_78 = puVar18;\n                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);\n                if (lVar21 == 0) goto LAB_00180c96;\n                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar21 == 0) {\n                    \n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (*(int *)(lVar21 + 0x9050) == 2) {\n                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);\n                bVar36 = false;\n                bVar39 = pbVar16 == (byte *)0x0;\n                if (bVar39) {\n                    \n                    \n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar21 = 4;\n                pbVar31 = &DAT_00373305;\n                pbVar33 = pbVar16;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);\n                bVar37 = false;\n                bVar36 = (!bVar36 && !bVar39) == bVar36;\n                if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }\n                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = &local_78;\n              local_78 = (undefined8 *)*puVar19;\n              puVar32 = (ulong *)param_1[1];\n              if (puVar32 == (ulong *)param_1[2]) {\n                uStack_70._0_4_ = iVar27;\n                FUN_001825a0(param_1,puVar32,local_1a8);\n              }\n              else {\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }\n              local_78 = (undefined8 *)*puVar19;\n              uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n              uVar24 = (ulong)local_78 ^ uVar28;\n              local_1a0 = uVar24 % (ulong)param_1[4];\n              puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24);\n              if ((puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)) {\n                    \n                plVar14 = (long *)FUN_002d94a0(0x28);\n                lVar21 = param_1[6];\n                *plVar14 = 0;\n                lVar29 = param_1[4];\n                *(undefined4 *)(plVar14 + 3) = 0;\n                plVar14[1] = (long)local_78;\n                plVar14[2] = uStack_70;\n                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);\n                if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    \n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }\n                plVar14[4] = uVar24;\n                plVar22 = plVar15 + local_1a0;\n                if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }\n                param_1[6] = param_1[6] + 1;\n              }\n              piVar5 = (int *)param_1[0xb];\n              *(int *)(plVar14 + 3) = iVar13;\n              if (piVar5 == (int *)param_1[0xc]) {\n                __src = (int *)param_1[10];\n                sVar17 = (long)piVar5 - (long)__src;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }\n                *(int *)((long)__dest + sVar17) = iVar13;\n                lVar21 = (long)__dest + sVar17 + 4;\n                if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }\n                param_1[10] = (long)__dest;\n                param_1[0xb] = lVar21;\n                param_1[0xc] = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    \n              local_78 = (undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28);\n              if (local_160 == local_158) {\n                FUN_00182710(&local_168,local_160,local_1a8);\n              }\n              else {\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }\n              iVar10 = local_90;\n              puVar32 = local_98;\n              if (local_98 == local_88) {\n                local_180 = local_90;\n                local_188 = local_98;\n                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);\n              }\n              else {\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }\n              local_78 = &local_68;\n              FUN_001665c0(local_1a8,"");\n                    \n              FUN_0016f840(&local_148,local_1a8);\n              if (local_78 != &local_68) {\n                FUN_002dac70();\n              }\n              iVar13 = iVar13 + 1;\n              if (local_c8 != local_b8) goto LAB_00180c31;\n            }\n            else {\n              lVar21 = 0xf;\n              pbVar16 = (byte *)".gnu.linkonce.t";\n              puVar32 = local_c8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              } while (bVar39);\n              if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;\nLAB_00180c96:\n              if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }\n            }\n            plVar14 = (long *)*puVar19;\n            uVar26 = iVar27 + 1;\n            uVar28 = (ulong)uVar26;\n            uVar35 = uVar26 < *(uint *)(plVar14 + 7);\n            uVar38 = uVar26 == *(uint *)(plVar14 + 7);\n          } while ((bool)uVar35);\n        }\n        if (plVar30[5] != 0) {\n          FUN_0017a690(plVar30[5] + 0x28,0xffffffffffffffff);\n        }\n      }\n      puVar19 = puVar19 + 1;\n    } while ((ulong *)param_2[1] != puVar19);\n  }" (else "else") (compound_statement "{\n    local_1c8 = (undefined4 *)0x0;\n    local_1b0 = (undefined4 *)0x0;\n    local_1d8 = (undefined4 *)0x0;\n    iVar13 = 0;\n    do {\n      plVar30 = (long *)*puVar19;\n      if (plVar30[5] == 0) {\n        plVar14 = plVar30;\n        if ((int)plVar30[7] != 0) goto LAB_00180a17;\n      }\n      else {\n                    \n        FUN_00179ad0(plVar30[5] + 0x28,0xffffffffffffffff);\n        plVar14 = (long *)*puVar19;\n        if ((int)((long *)*puVar19)[7] != 0) {\nLAB_00180a17:\n          uVar35 = false;\n          uVar28 = 0;\n          uVar38 = true;\n          do {\n            iVar27 = (int)uVar28;\n                    \n            (**(code **)(*plVar14 + 0x80))(&local_c8,plVar14,uVar28);\n            lVar21 = 5;\n            pbVar16 = (byte *)".text";\n            puVar32 = local_c8;\n            do {\n              if (lVar21 == 0) break;\n              lVar21 = lVar21 + -1;\n              uVar35 = *pbVar16 < (byte)*puVar32;\n              uVar38 = *pbVar16 == (byte)*puVar32;\n              pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n              puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n            } while ((bool)uVar38);\n            bVar36 = false;\n            bVar39 = (!(bool)uVar35 && !(bool)uVar38) == (bool)uVar35;\n            if (bVar39) {\nLAB_00180a28:\n              puVar18 = (undefined8 *)*puVar19;\n              if ((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28) {\n                    \n                    \n                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (*(long *)(puVar18[10] + uVar28 * 8) == 0) goto LAB_00180c96;\n              lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n              if (lVar21 == 0) {\n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(lVar21 + 0x2809) != '\0') {\n                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                local_78 = puVar18;\n                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);\n                if (lVar21 == 0) goto LAB_00180c96;\n                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar21 == 0) {\n                    \n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (*(int *)(lVar21 + 0x9050) == 2) {\n                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);\n                bVar36 = false;\n                bVar39 = pbVar16 == (byte *)0x0;\n                if (bVar39) {\n                    \n                    \n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar21 = 4;\n                pbVar31 = &DAT_00373305;\n                pbVar33 = pbVar16;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);\n                bVar37 = false;\n                bVar36 = (!bVar36 && !bVar39) == bVar36;\n                if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }\n                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = &local_78;\n              local_78 = (undefined8 *)*puVar19;\n              puVar32 = (ulong *)param_1[1];\n              if (puVar32 == (ulong *)param_1[2]) {\n                uStack_70._0_4_ = iVar27;\n                FUN_001825a0(param_1,puVar32,local_1a8);\n              }\n              else {\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }\n              local_78 = (undefined8 *)*puVar19;\n              uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n              uVar24 = (ulong)local_78 ^ uVar28;\n              local_1a0 = uVar24 % (ulong)param_1[4];\n              puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24);\n              if ((puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)) {\n                    \n                plVar14 = (long *)FUN_002d94a0(0x28);\n                lVar21 = param_1[6];\n                *plVar14 = 0;\n                lVar29 = param_1[4];\n                *(undefined4 *)(plVar14 + 3) = 0;\n                plVar14[1] = (long)local_78;\n                plVar14[2] = uStack_70;\n                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);\n                if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    \n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }\n                plVar14[4] = uVar24;\n                plVar22 = plVar15 + local_1a0;\n                if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }\n                param_1[6] = param_1[6] + 1;\n              }\n              piVar5 = (int *)param_1[0xb];\n              *(int *)(plVar14 + 3) = iVar13;\n              if (piVar5 == (int *)param_1[0xc]) {\n                __src = (int *)param_1[10];\n                sVar17 = (long)piVar5 - (long)__src;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }\n                *(int *)((long)__dest + sVar17) = iVar13;\n                lVar21 = (long)__dest + sVar17 + 4;\n                if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }\n                param_1[10] = (long)__dest;\n                param_1[0xb] = lVar21;\n                param_1[0xc] = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    \n              local_78 = (undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28);\n              if (local_160 == local_158) {\n                FUN_00182710(&local_168,local_160,local_1a8);\n              }\n              else {\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }\n              iVar10 = local_90;\n              puVar32 = local_98;\n              if (local_98 == local_88) {\n                local_180 = local_90;\n                local_188 = local_98;\n                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);\n              }\n              else {\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }\n              local_78 = &local_68;\n              FUN_001665c0(local_1a8,"");\n                    \n              FUN_0016f840(&local_148,local_1a8);\n              if (local_78 != &local_68) {\n                FUN_002dac70();\n              }\n              iVar13 = iVar13 + 1;\n              if (local_c8 != local_b8) goto LAB_00180c31;\n            }\n            else {\n              lVar21 = 0xf;\n              pbVar16 = (byte *)".gnu.linkonce.t";\n              puVar32 = local_c8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              } while (bVar39);\n              if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;\nLAB_00180c96:\n              if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }\n            }\n            plVar14 = (long *)*puVar19;\n            uVar26 = iVar27 + 1;\n            uVar28 = (ulong)uVar26;\n            uVar35 = uVar26 < *(uint *)(plVar14 + 7);\n            uVar38 = uVar26 == *(uint *)(plVar14 + 7);\n          } while ((bool)uVar35);\n        }\n        if (plVar30[5] != 0) {\n          FUN_0017a690(plVar30[5] + 0x28,0xffffffffffffffff);\n        }\n      }\n      puVar19 = puVar19 + 1;\n    } while ((ulong *)param_2[1] != puVar19);\n  }" ({ "{") (expression_statement "local_1c8 = (undefined4 *)0x0;" (assignment_expression "local_1c8 = (undefined4 *)0x0" (identifier "local_1c8") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_1b0 = (undefined4 *)0x0;" (assignment_expression "local_1b0 = (undefined4 *)0x0" (identifier "local_1b0") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_1d8 = (undefined4 *)0x0;" (assignment_expression "local_1d8 = (undefined4 *)0x0" (identifier "local_1d8") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" (identifier "iVar13") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n      plVar30 = (long *)*puVar19;\n      if (plVar30[5] == 0) {\n        plVar14 = plVar30;\n        if ((int)plVar30[7] != 0) goto LAB_00180a17;\n      }\n      else {\n                    \n        FUN_00179ad0(plVar30[5] + 0x28,0xffffffffffffffff);\n        plVar14 = (long *)*puVar19;\n        if ((int)((long *)*puVar19)[7] != 0) {\nLAB_00180a17:\n          uVar35 = false;\n          uVar28 = 0;\n          uVar38 = true;\n          do {\n            iVar27 = (int)uVar28;\n                    \n            (**(code **)(*plVar14 + 0x80))(&local_c8,plVar14,uVar28);\n            lVar21 = 5;\n            pbVar16 = (byte *)".text";\n            puVar32 = local_c8;\n            do {\n              if (lVar21 == 0) break;\n              lVar21 = lVar21 + -1;\n              uVar35 = *pbVar16 < (byte)*puVar32;\n              uVar38 = *pbVar16 == (byte)*puVar32;\n              pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n              puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n            } while ((bool)uVar38);\n            bVar36 = false;\n            bVar39 = (!(bool)uVar35 && !(bool)uVar38) == (bool)uVar35;\n            if (bVar39) {\nLAB_00180a28:\n              puVar18 = (undefined8 *)*puVar19;\n              if ((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28) {\n                    \n                    \n                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (*(long *)(puVar18[10] + uVar28 * 8) == 0) goto LAB_00180c96;\n              lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n              if (lVar21 == 0) {\n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(lVar21 + 0x2809) != '\0') {\n                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                local_78 = puVar18;\n                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);\n                if (lVar21 == 0) goto LAB_00180c96;\n                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar21 == 0) {\n                    \n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (*(int *)(lVar21 + 0x9050) == 2) {\n                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);\n                bVar36 = false;\n                bVar39 = pbVar16 == (byte *)0x0;\n                if (bVar39) {\n                    \n                    \n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar21 = 4;\n                pbVar31 = &DAT_00373305;\n                pbVar33 = pbVar16;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);\n                bVar37 = false;\n                bVar36 = (!bVar36 && !bVar39) == bVar36;\n                if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }\n                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = &local_78;\n              local_78 = (undefined8 *)*puVar19;\n              puVar32 = (ulong *)param_1[1];\n              if (puVar32 == (ulong *)param_1[2]) {\n                uStack_70._0_4_ = iVar27;\n                FUN_001825a0(param_1,puVar32,local_1a8);\n              }\n              else {\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }\n              local_78 = (undefined8 *)*puVar19;\n              uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n              uVar24 = (ulong)local_78 ^ uVar28;\n              local_1a0 = uVar24 % (ulong)param_1[4];\n              puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24);\n              if ((puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)) {\n                    \n                plVar14 = (long *)FUN_002d94a0(0x28);\n                lVar21 = param_1[6];\n                *plVar14 = 0;\n                lVar29 = param_1[4];\n                *(undefined4 *)(plVar14 + 3) = 0;\n                plVar14[1] = (long)local_78;\n                plVar14[2] = uStack_70;\n                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);\n                if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    \n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }\n                plVar14[4] = uVar24;\n                plVar22 = plVar15 + local_1a0;\n                if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }\n                param_1[6] = param_1[6] + 1;\n              }\n              piVar5 = (int *)param_1[0xb];\n              *(int *)(plVar14 + 3) = iVar13;\n              if (piVar5 == (int *)param_1[0xc]) {\n                __src = (int *)param_1[10];\n                sVar17 = (long)piVar5 - (long)__src;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }\n                *(int *)((long)__dest + sVar17) = iVar13;\n                lVar21 = (long)__dest + sVar17 + 4;\n                if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }\n                param_1[10] = (long)__dest;\n                param_1[0xb] = lVar21;\n                param_1[0xc] = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    \n              local_78 = (undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28);\n              if (local_160 == local_158) {\n                FUN_00182710(&local_168,local_160,local_1a8);\n              }\n              else {\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }\n              iVar10 = local_90;\n              puVar32 = local_98;\n              if (local_98 == local_88) {\n                local_180 = local_90;\n                local_188 = local_98;\n                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);\n              }\n              else {\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }\n              local_78 = &local_68;\n              FUN_001665c0(local_1a8,"");\n                    \n              FUN_0016f840(&local_148,local_1a8);\n              if (local_78 != &local_68) {\n                FUN_002dac70();\n              }\n              iVar13 = iVar13 + 1;\n              if (local_c8 != local_b8) goto LAB_00180c31;\n            }\n            else {\n              lVar21 = 0xf;\n              pbVar16 = (byte *)".gnu.linkonce.t";\n              puVar32 = local_c8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              } while (bVar39);\n              if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;\nLAB_00180c96:\n              if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }\n            }\n            plVar14 = (long *)*puVar19;\n            uVar26 = iVar27 + 1;\n            uVar28 = (ulong)uVar26;\n            uVar35 = uVar26 < *(uint *)(plVar14 + 7);\n            uVar38 = uVar26 == *(uint *)(plVar14 + 7);\n          } while ((bool)uVar35);\n        }\n        if (plVar30[5] != 0) {\n          FUN_0017a690(plVar30[5] + 0x28,0xffffffffffffffff);\n        }\n      }\n      puVar19 = puVar19 + 1;\n    } while ((ulong *)param_2[1] != puVar19);" (do "do") (compound_statement "{\n      plVar30 = (long *)*puVar19;\n      if (plVar30[5] == 0) {\n        plVar14 = plVar30;\n        if ((int)plVar30[7] != 0) goto LAB_00180a17;\n      }\n      else {\n                    \n        FUN_00179ad0(plVar30[5] + 0x28,0xffffffffffffffff);\n        plVar14 = (long *)*puVar19;\n        if ((int)((long *)*puVar19)[7] != 0) {\nLAB_00180a17:\n          uVar35 = false;\n          uVar28 = 0;\n          uVar38 = true;\n          do {\n            iVar27 = (int)uVar28;\n                    \n            (**(code **)(*plVar14 + 0x80))(&local_c8,plVar14,uVar28);\n            lVar21 = 5;\n            pbVar16 = (byte *)".text";\n            puVar32 = local_c8;\n            do {\n              if (lVar21 == 0) break;\n              lVar21 = lVar21 + -1;\n              uVar35 = *pbVar16 < (byte)*puVar32;\n              uVar38 = *pbVar16 == (byte)*puVar32;\n              pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n              puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n            } while ((bool)uVar38);\n            bVar36 = false;\n            bVar39 = (!(bool)uVar35 && !(bool)uVar38) == (bool)uVar35;\n            if (bVar39) {\nLAB_00180a28:\n              puVar18 = (undefined8 *)*puVar19;\n              if ((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28) {\n                    \n                    \n                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (*(long *)(puVar18[10] + uVar28 * 8) == 0) goto LAB_00180c96;\n              lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n              if (lVar21 == 0) {\n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(lVar21 + 0x2809) != '\0') {\n                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                local_78 = puVar18;\n                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);\n                if (lVar21 == 0) goto LAB_00180c96;\n                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar21 == 0) {\n                    \n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (*(int *)(lVar21 + 0x9050) == 2) {\n                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);\n                bVar36 = false;\n                bVar39 = pbVar16 == (byte *)0x0;\n                if (bVar39) {\n                    \n                    \n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar21 = 4;\n                pbVar31 = &DAT_00373305;\n                pbVar33 = pbVar16;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);\n                bVar37 = false;\n                bVar36 = (!bVar36 && !bVar39) == bVar36;\n                if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }\n                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = &local_78;\n              local_78 = (undefined8 *)*puVar19;\n              puVar32 = (ulong *)param_1[1];\n              if (puVar32 == (ulong *)param_1[2]) {\n                uStack_70._0_4_ = iVar27;\n                FUN_001825a0(param_1,puVar32,local_1a8);\n              }\n              else {\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }\n              local_78 = (undefined8 *)*puVar19;\n              uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n              uVar24 = (ulong)local_78 ^ uVar28;\n              local_1a0 = uVar24 % (ulong)param_1[4];\n              puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24);\n              if ((puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)) {\n                    \n                plVar14 = (long *)FUN_002d94a0(0x28);\n                lVar21 = param_1[6];\n                *plVar14 = 0;\n                lVar29 = param_1[4];\n                *(undefined4 *)(plVar14 + 3) = 0;\n                plVar14[1] = (long)local_78;\n                plVar14[2] = uStack_70;\n                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);\n                if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    \n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }\n                plVar14[4] = uVar24;\n                plVar22 = plVar15 + local_1a0;\n                if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }\n                param_1[6] = param_1[6] + 1;\n              }\n              piVar5 = (int *)param_1[0xb];\n              *(int *)(plVar14 + 3) = iVar13;\n              if (piVar5 == (int *)param_1[0xc]) {\n                __src = (int *)param_1[10];\n                sVar17 = (long)piVar5 - (long)__src;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }\n                *(int *)((long)__dest + sVar17) = iVar13;\n                lVar21 = (long)__dest + sVar17 + 4;\n                if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }\n                param_1[10] = (long)__dest;\n                param_1[0xb] = lVar21;\n                param_1[0xc] = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    \n              local_78 = (undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28);\n              if (local_160 == local_158) {\n                FUN_00182710(&local_168,local_160,local_1a8);\n              }\n              else {\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }\n              iVar10 = local_90;\n              puVar32 = local_98;\n              if (local_98 == local_88) {\n                local_180 = local_90;\n                local_188 = local_98;\n                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);\n              }\n              else {\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }\n              local_78 = &local_68;\n              FUN_001665c0(local_1a8,"");\n                    \n              FUN_0016f840(&local_148,local_1a8);\n              if (local_78 != &local_68) {\n                FUN_002dac70();\n              }\n              iVar13 = iVar13 + 1;\n              if (local_c8 != local_b8) goto LAB_00180c31;\n            }\n            else {\n              lVar21 = 0xf;\n              pbVar16 = (byte *)".gnu.linkonce.t";\n              puVar32 = local_c8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              } while (bVar39);\n              if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;\nLAB_00180c96:\n              if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }\n            }\n            plVar14 = (long *)*puVar19;\n            uVar26 = iVar27 + 1;\n            uVar28 = (ulong)uVar26;\n            uVar35 = uVar26 < *(uint *)(plVar14 + 7);\n            uVar38 = uVar26 == *(uint *)(plVar14 + 7);\n          } while ((bool)uVar35);\n        }\n        if (plVar30[5] != 0) {\n          FUN_0017a690(plVar30[5] + 0x28,0xffffffffffffffff);\n        }\n      }\n      puVar19 = puVar19 + 1;\n    }" ({ "{") (expression_statement "plVar30 = (long *)*puVar19;" (assignment_expression "plVar30 = (long *)*puVar19" (identifier "plVar30") (= "=") (cast_expression "(long *)*puVar19" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar19" (* "*") (identifier "puVar19")))) (; ";")) (if_statement "if (plVar30[5] == 0) {\n        plVar14 = plVar30;\n        if ((int)plVar30[7] != 0) goto LAB_00180a17;\n      }\n      else {\n                    \n        FUN_00179ad0(plVar30[5] + 0x28,0xffffffffffffffff);\n        plVar14 = (long *)*puVar19;\n        if ((int)((long *)*puVar19)[7] != 0) {\nLAB_00180a17:\n          uVar35 = false;\n          uVar28 = 0;\n          uVar38 = true;\n          do {\n            iVar27 = (int)uVar28;\n                    \n            (**(code **)(*plVar14 + 0x80))(&local_c8,plVar14,uVar28);\n            lVar21 = 5;\n            pbVar16 = (byte *)".text";\n            puVar32 = local_c8;\n            do {\n              if (lVar21 == 0) break;\n              lVar21 = lVar21 + -1;\n              uVar35 = *pbVar16 < (byte)*puVar32;\n              uVar38 = *pbVar16 == (byte)*puVar32;\n              pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n              puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n            } while ((bool)uVar38);\n            bVar36 = false;\n            bVar39 = (!(bool)uVar35 && !(bool)uVar38) == (bool)uVar35;\n            if (bVar39) {\nLAB_00180a28:\n              puVar18 = (undefined8 *)*puVar19;\n              if ((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28) {\n                    \n                    \n                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (*(long *)(puVar18[10] + uVar28 * 8) == 0) goto LAB_00180c96;\n              lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n              if (lVar21 == 0) {\n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(lVar21 + 0x2809) != '\0') {\n                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                local_78 = puVar18;\n                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);\n                if (lVar21 == 0) goto LAB_00180c96;\n                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar21 == 0) {\n                    \n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (*(int *)(lVar21 + 0x9050) == 2) {\n                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);\n                bVar36 = false;\n                bVar39 = pbVar16 == (byte *)0x0;\n                if (bVar39) {\n                    \n                    \n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar21 = 4;\n                pbVar31 = &DAT_00373305;\n                pbVar33 = pbVar16;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);\n                bVar37 = false;\n                bVar36 = (!bVar36 && !bVar39) == bVar36;\n                if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }\n                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = &local_78;\n              local_78 = (undefined8 *)*puVar19;\n              puVar32 = (ulong *)param_1[1];\n              if (puVar32 == (ulong *)param_1[2]) {\n                uStack_70._0_4_ = iVar27;\n                FUN_001825a0(param_1,puVar32,local_1a8);\n              }\n              else {\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }\n              local_78 = (undefined8 *)*puVar19;\n              uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n              uVar24 = (ulong)local_78 ^ uVar28;\n              local_1a0 = uVar24 % (ulong)param_1[4];\n              puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24);\n              if ((puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)) {\n                    \n                plVar14 = (long *)FUN_002d94a0(0x28);\n                lVar21 = param_1[6];\n                *plVar14 = 0;\n                lVar29 = param_1[4];\n                *(undefined4 *)(plVar14 + 3) = 0;\n                plVar14[1] = (long)local_78;\n                plVar14[2] = uStack_70;\n                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);\n                if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    \n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }\n                plVar14[4] = uVar24;\n                plVar22 = plVar15 + local_1a0;\n                if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }\n                param_1[6] = param_1[6] + 1;\n              }\n              piVar5 = (int *)param_1[0xb];\n              *(int *)(plVar14 + 3) = iVar13;\n              if (piVar5 == (int *)param_1[0xc]) {\n                __src = (int *)param_1[10];\n                sVar17 = (long)piVar5 - (long)__src;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }\n                *(int *)((long)__dest + sVar17) = iVar13;\n                lVar21 = (long)__dest + sVar17 + 4;\n                if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }\n                param_1[10] = (long)__dest;\n                param_1[0xb] = lVar21;\n                param_1[0xc] = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    \n              local_78 = (undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28);\n              if (local_160 == local_158) {\n                FUN_00182710(&local_168,local_160,local_1a8);\n              }\n              else {\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }\n              iVar10 = local_90;\n              puVar32 = local_98;\n              if (local_98 == local_88) {\n                local_180 = local_90;\n                local_188 = local_98;\n                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);\n              }\n              else {\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }\n              local_78 = &local_68;\n              FUN_001665c0(local_1a8,"");\n                    \n              FUN_0016f840(&local_148,local_1a8);\n              if (local_78 != &local_68) {\n                FUN_002dac70();\n              }\n              iVar13 = iVar13 + 1;\n              if (local_c8 != local_b8) goto LAB_00180c31;\n            }\n            else {\n              lVar21 = 0xf;\n              pbVar16 = (byte *)".gnu.linkonce.t";\n              puVar32 = local_c8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              } while (bVar39);\n              if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;\nLAB_00180c96:\n              if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }\n            }\n            plVar14 = (long *)*puVar19;\n            uVar26 = iVar27 + 1;\n            uVar28 = (ulong)uVar26;\n            uVar35 = uVar26 < *(uint *)(plVar14 + 7);\n            uVar38 = uVar26 == *(uint *)(plVar14 + 7);\n          } while ((bool)uVar35);\n        }\n        if (plVar30[5] != 0) {\n          FUN_0017a690(plVar30[5] + 0x28,0xffffffffffffffff);\n        }\n      }" (if "if") (parenthesized_expression "(plVar30[5] == 0)" (( "(") (binary_expression "plVar30[5] == 0" (subscript_expression "plVar30[5]" (identifier "plVar30") ([ "[") (number_literal "5") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        plVar14 = plVar30;\n        if ((int)plVar30[7] != 0) goto LAB_00180a17;\n      }" ({ "{") (expression_statement "plVar14 = plVar30;" (assignment_expression "plVar14 = plVar30" (identifier "plVar14") (= "=") (identifier "plVar30")) (; ";")) (if_statement "if ((int)plVar30[7] != 0) goto LAB_00180a17;" (if "if") (parenthesized_expression "((int)plVar30[7] != 0)" (( "(") (binary_expression "(int)plVar30[7] != 0" (cast_expression "(int)plVar30[7]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "plVar30[7]" (identifier "plVar30") ([ "[") (number_literal "7") (] "]"))) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00180a17;" (goto "goto") (statement_identifier "LAB_00180a17") (; ";"))) (} "}")) (else_clause "else {\n                    \n        FUN_00179ad0(plVar30[5] + 0x28,0xffffffffffffffff);\n        plVar14 = (long *)*puVar19;\n        if ((int)((long *)*puVar19)[7] != 0) {\nLAB_00180a17:\n          uVar35 = false;\n          uVar28 = 0;\n          uVar38 = true;\n          do {\n            iVar27 = (int)uVar28;\n                    \n            (**(code **)(*plVar14 + 0x80))(&local_c8,plVar14,uVar28);\n            lVar21 = 5;\n            pbVar16 = (byte *)".text";\n            puVar32 = local_c8;\n            do {\n              if (lVar21 == 0) break;\n              lVar21 = lVar21 + -1;\n              uVar35 = *pbVar16 < (byte)*puVar32;\n              uVar38 = *pbVar16 == (byte)*puVar32;\n              pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n              puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n            } while ((bool)uVar38);\n            bVar36 = false;\n            bVar39 = (!(bool)uVar35 && !(bool)uVar38) == (bool)uVar35;\n            if (bVar39) {\nLAB_00180a28:\n              puVar18 = (undefined8 *)*puVar19;\n              if ((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28) {\n                    \n                    \n                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (*(long *)(puVar18[10] + uVar28 * 8) == 0) goto LAB_00180c96;\n              lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n              if (lVar21 == 0) {\n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(lVar21 + 0x2809) != '\0') {\n                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                local_78 = puVar18;\n                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);\n                if (lVar21 == 0) goto LAB_00180c96;\n                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar21 == 0) {\n                    \n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (*(int *)(lVar21 + 0x9050) == 2) {\n                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);\n                bVar36 = false;\n                bVar39 = pbVar16 == (byte *)0x0;\n                if (bVar39) {\n                    \n                    \n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar21 = 4;\n                pbVar31 = &DAT_00373305;\n                pbVar33 = pbVar16;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);\n                bVar37 = false;\n                bVar36 = (!bVar36 && !bVar39) == bVar36;\n                if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }\n                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = &local_78;\n              local_78 = (undefined8 *)*puVar19;\n              puVar32 = (ulong *)param_1[1];\n              if (puVar32 == (ulong *)param_1[2]) {\n                uStack_70._0_4_ = iVar27;\n                FUN_001825a0(param_1,puVar32,local_1a8);\n              }\n              else {\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }\n              local_78 = (undefined8 *)*puVar19;\n              uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n              uVar24 = (ulong)local_78 ^ uVar28;\n              local_1a0 = uVar24 % (ulong)param_1[4];\n              puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24);\n              if ((puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)) {\n                    \n                plVar14 = (long *)FUN_002d94a0(0x28);\n                lVar21 = param_1[6];\n                *plVar14 = 0;\n                lVar29 = param_1[4];\n                *(undefined4 *)(plVar14 + 3) = 0;\n                plVar14[1] = (long)local_78;\n                plVar14[2] = uStack_70;\n                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);\n                if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    \n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }\n                plVar14[4] = uVar24;\n                plVar22 = plVar15 + local_1a0;\n                if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }\n                param_1[6] = param_1[6] + 1;\n              }\n              piVar5 = (int *)param_1[0xb];\n              *(int *)(plVar14 + 3) = iVar13;\n              if (piVar5 == (int *)param_1[0xc]) {\n                __src = (int *)param_1[10];\n                sVar17 = (long)piVar5 - (long)__src;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }\n                *(int *)((long)__dest + sVar17) = iVar13;\n                lVar21 = (long)__dest + sVar17 + 4;\n                if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }\n                param_1[10] = (long)__dest;\n                param_1[0xb] = lVar21;\n                param_1[0xc] = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    \n              local_78 = (undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28);\n              if (local_160 == local_158) {\n                FUN_00182710(&local_168,local_160,local_1a8);\n              }\n              else {\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }\n              iVar10 = local_90;\n              puVar32 = local_98;\n              if (local_98 == local_88) {\n                local_180 = local_90;\n                local_188 = local_98;\n                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);\n              }\n              else {\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }\n              local_78 = &local_68;\n              FUN_001665c0(local_1a8,"");\n                    \n              FUN_0016f840(&local_148,local_1a8);\n              if (local_78 != &local_68) {\n                FUN_002dac70();\n              }\n              iVar13 = iVar13 + 1;\n              if (local_c8 != local_b8) goto LAB_00180c31;\n            }\n            else {\n              lVar21 = 0xf;\n              pbVar16 = (byte *)".gnu.linkonce.t";\n              puVar32 = local_c8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              } while (bVar39);\n              if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;\nLAB_00180c96:\n              if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }\n            }\n            plVar14 = (long *)*puVar19;\n            uVar26 = iVar27 + 1;\n            uVar28 = (ulong)uVar26;\n            uVar35 = uVar26 < *(uint *)(plVar14 + 7);\n            uVar38 = uVar26 == *(uint *)(plVar14 + 7);\n          } while ((bool)uVar35);\n        }\n        if (plVar30[5] != 0) {\n          FUN_0017a690(plVar30[5] + 0x28,0xffffffffffffffff);\n        }\n      }" (else "else") (compound_statement "{\n                    \n        FUN_00179ad0(plVar30[5] + 0x28,0xffffffffffffffff);\n        plVar14 = (long *)*puVar19;\n        if ((int)((long *)*puVar19)[7] != 0) {\nLAB_00180a17:\n          uVar35 = false;\n          uVar28 = 0;\n          uVar38 = true;\n          do {\n            iVar27 = (int)uVar28;\n                    \n            (**(code **)(*plVar14 + 0x80))(&local_c8,plVar14,uVar28);\n            lVar21 = 5;\n            pbVar16 = (byte *)".text";\n            puVar32 = local_c8;\n            do {\n              if (lVar21 == 0) break;\n              lVar21 = lVar21 + -1;\n              uVar35 = *pbVar16 < (byte)*puVar32;\n              uVar38 = *pbVar16 == (byte)*puVar32;\n              pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n              puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n            } while ((bool)uVar38);\n            bVar36 = false;\n            bVar39 = (!(bool)uVar35 && !(bool)uVar38) == (bool)uVar35;\n            if (bVar39) {\nLAB_00180a28:\n              puVar18 = (undefined8 *)*puVar19;\n              if ((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28) {\n                    \n                    \n                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (*(long *)(puVar18[10] + uVar28 * 8) == 0) goto LAB_00180c96;\n              lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n              if (lVar21 == 0) {\n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(lVar21 + 0x2809) != '\0') {\n                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                local_78 = puVar18;\n                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);\n                if (lVar21 == 0) goto LAB_00180c96;\n                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar21 == 0) {\n                    \n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (*(int *)(lVar21 + 0x9050) == 2) {\n                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);\n                bVar36 = false;\n                bVar39 = pbVar16 == (byte *)0x0;\n                if (bVar39) {\n                    \n                    \n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar21 = 4;\n                pbVar31 = &DAT_00373305;\n                pbVar33 = pbVar16;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);\n                bVar37 = false;\n                bVar36 = (!bVar36 && !bVar39) == bVar36;\n                if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }\n                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = &local_78;\n              local_78 = (undefined8 *)*puVar19;\n              puVar32 = (ulong *)param_1[1];\n              if (puVar32 == (ulong *)param_1[2]) {\n                uStack_70._0_4_ = iVar27;\n                FUN_001825a0(param_1,puVar32,local_1a8);\n              }\n              else {\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }\n              local_78 = (undefined8 *)*puVar19;\n              uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n              uVar24 = (ulong)local_78 ^ uVar28;\n              local_1a0 = uVar24 % (ulong)param_1[4];\n              puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24);\n              if ((puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)) {\n                    \n                plVar14 = (long *)FUN_002d94a0(0x28);\n                lVar21 = param_1[6];\n                *plVar14 = 0;\n                lVar29 = param_1[4];\n                *(undefined4 *)(plVar14 + 3) = 0;\n                plVar14[1] = (long)local_78;\n                plVar14[2] = uStack_70;\n                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);\n                if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    \n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }\n                plVar14[4] = uVar24;\n                plVar22 = plVar15 + local_1a0;\n                if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }\n                param_1[6] = param_1[6] + 1;\n              }\n              piVar5 = (int *)param_1[0xb];\n              *(int *)(plVar14 + 3) = iVar13;\n              if (piVar5 == (int *)param_1[0xc]) {\n                __src = (int *)param_1[10];\n                sVar17 = (long)piVar5 - (long)__src;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }\n                *(int *)((long)__dest + sVar17) = iVar13;\n                lVar21 = (long)__dest + sVar17 + 4;\n                if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }\n                param_1[10] = (long)__dest;\n                param_1[0xb] = lVar21;\n                param_1[0xc] = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    \n              local_78 = (undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28);\n              if (local_160 == local_158) {\n                FUN_00182710(&local_168,local_160,local_1a8);\n              }\n              else {\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }\n              iVar10 = local_90;\n              puVar32 = local_98;\n              if (local_98 == local_88) {\n                local_180 = local_90;\n                local_188 = local_98;\n                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);\n              }\n              else {\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }\n              local_78 = &local_68;\n              FUN_001665c0(local_1a8,"");\n                    \n              FUN_0016f840(&local_148,local_1a8);\n              if (local_78 != &local_68) {\n                FUN_002dac70();\n              }\n              iVar13 = iVar13 + 1;\n              if (local_c8 != local_b8) goto LAB_00180c31;\n            }\n            else {\n              lVar21 = 0xf;\n              pbVar16 = (byte *)".gnu.linkonce.t";\n              puVar32 = local_c8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              } while (bVar39);\n              if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;\nLAB_00180c96:\n              if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }\n            }\n            plVar14 = (long *)*puVar19;\n            uVar26 = iVar27 + 1;\n            uVar28 = (ulong)uVar26;\n            uVar35 = uVar26 < *(uint *)(plVar14 + 7);\n            uVar38 = uVar26 == *(uint *)(plVar14 + 7);\n          } while ((bool)uVar35);\n        }\n        if (plVar30[5] != 0) {\n          FUN_0017a690(plVar30[5] + 0x28,0xffffffffffffffff);\n        }\n      }" ({ "{") (expression_statement "FUN_00179ad0(plVar30[5] + 0x28,0xffffffffffffffff);" (call_expression "FUN_00179ad0(plVar30[5] + 0x28,0xffffffffffffffff)" (identifier "FUN_00179ad0") (argument_list "(plVar30[5] + 0x28,0xffffffffffffffff)" (( "(") (binary_expression "plVar30[5] + 0x28" (subscript_expression "plVar30[5]" (identifier "plVar30") ([ "[") (number_literal "5") (] "]")) (+ "+") (number_literal "0x28")) (, ",") (number_literal "0xffffffffffffffff") () ")"))) (; ";")) (expression_statement "plVar14 = (long *)*puVar19;" (assignment_expression "plVar14 = (long *)*puVar19" (identifier "plVar14") (= "=") (cast_expression "(long *)*puVar19" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar19" (* "*") (identifier "puVar19")))) (; ";")) (if_statement "if ((int)((long *)*puVar19)[7] != 0) {\nLAB_00180a17:\n          uVar35 = false;\n          uVar28 = 0;\n          uVar38 = true;\n          do {\n            iVar27 = (int)uVar28;\n                    \n            (**(code **)(*plVar14 + 0x80))(&local_c8,plVar14,uVar28);\n            lVar21 = 5;\n            pbVar16 = (byte *)".text";\n            puVar32 = local_c8;\n            do {\n              if (lVar21 == 0) break;\n              lVar21 = lVar21 + -1;\n              uVar35 = *pbVar16 < (byte)*puVar32;\n              uVar38 = *pbVar16 == (byte)*puVar32;\n              pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n              puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n            } while ((bool)uVar38);\n            bVar36 = false;\n            bVar39 = (!(bool)uVar35 && !(bool)uVar38) == (bool)uVar35;\n            if (bVar39) {\nLAB_00180a28:\n              puVar18 = (undefined8 *)*puVar19;\n              if ((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28) {\n                    \n                    \n                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (*(long *)(puVar18[10] + uVar28 * 8) == 0) goto LAB_00180c96;\n              lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n              if (lVar21 == 0) {\n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(lVar21 + 0x2809) != '\0') {\n                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                local_78 = puVar18;\n                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);\n                if (lVar21 == 0) goto LAB_00180c96;\n                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar21 == 0) {\n                    \n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (*(int *)(lVar21 + 0x9050) == 2) {\n                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);\n                bVar36 = false;\n                bVar39 = pbVar16 == (byte *)0x0;\n                if (bVar39) {\n                    \n                    \n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar21 = 4;\n                pbVar31 = &DAT_00373305;\n                pbVar33 = pbVar16;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);\n                bVar37 = false;\n                bVar36 = (!bVar36 && !bVar39) == bVar36;\n                if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }\n                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = &local_78;\n              local_78 = (undefined8 *)*puVar19;\n              puVar32 = (ulong *)param_1[1];\n              if (puVar32 == (ulong *)param_1[2]) {\n                uStack_70._0_4_ = iVar27;\n                FUN_001825a0(param_1,puVar32,local_1a8);\n              }\n              else {\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }\n              local_78 = (undefined8 *)*puVar19;\n              uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n              uVar24 = (ulong)local_78 ^ uVar28;\n              local_1a0 = uVar24 % (ulong)param_1[4];\n              puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24);\n              if ((puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)) {\n                    \n                plVar14 = (long *)FUN_002d94a0(0x28);\n                lVar21 = param_1[6];\n                *plVar14 = 0;\n                lVar29 = param_1[4];\n                *(undefined4 *)(plVar14 + 3) = 0;\n                plVar14[1] = (long)local_78;\n                plVar14[2] = uStack_70;\n                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);\n                if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    \n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }\n                plVar14[4] = uVar24;\n                plVar22 = plVar15 + local_1a0;\n                if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }\n                param_1[6] = param_1[6] + 1;\n              }\n              piVar5 = (int *)param_1[0xb];\n              *(int *)(plVar14 + 3) = iVar13;\n              if (piVar5 == (int *)param_1[0xc]) {\n                __src = (int *)param_1[10];\n                sVar17 = (long)piVar5 - (long)__src;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }\n                *(int *)((long)__dest + sVar17) = iVar13;\n                lVar21 = (long)__dest + sVar17 + 4;\n                if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }\n                param_1[10] = (long)__dest;\n                param_1[0xb] = lVar21;\n                param_1[0xc] = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    \n              local_78 = (undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28);\n              if (local_160 == local_158) {\n                FUN_00182710(&local_168,local_160,local_1a8);\n              }\n              else {\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }\n              iVar10 = local_90;\n              puVar32 = local_98;\n              if (local_98 == local_88) {\n                local_180 = local_90;\n                local_188 = local_98;\n                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);\n              }\n              else {\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }\n              local_78 = &local_68;\n              FUN_001665c0(local_1a8,"");\n                    \n              FUN_0016f840(&local_148,local_1a8);\n              if (local_78 != &local_68) {\n                FUN_002dac70();\n              }\n              iVar13 = iVar13 + 1;\n              if (local_c8 != local_b8) goto LAB_00180c31;\n            }\n            else {\n              lVar21 = 0xf;\n              pbVar16 = (byte *)".gnu.linkonce.t";\n              puVar32 = local_c8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              } while (bVar39);\n              if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;\nLAB_00180c96:\n              if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }\n            }\n            plVar14 = (long *)*puVar19;\n            uVar26 = iVar27 + 1;\n            uVar28 = (ulong)uVar26;\n            uVar35 = uVar26 < *(uint *)(plVar14 + 7);\n            uVar38 = uVar26 == *(uint *)(plVar14 + 7);\n          } while ((bool)uVar35);\n        }" (if "if") (parenthesized_expression "((int)((long *)*puVar19)[7] != 0)" (( "(") (binary_expression "(int)((long *)*puVar19)[7] != 0" (cast_expression "(int)((long *)*puVar19)[7]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "((long *)*puVar19)[7]" (parenthesized_expression "((long *)*puVar19)" (( "(") (cast_expression "(long *)*puVar19" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar19" (* "*") (identifier "puVar19"))) () ")")) ([ "[") (number_literal "7") (] "]"))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00180a17:\n          uVar35 = false;\n          uVar28 = 0;\n          uVar38 = true;\n          do {\n            iVar27 = (int)uVar28;\n                    \n            (**(code **)(*plVar14 + 0x80))(&local_c8,plVar14,uVar28);\n            lVar21 = 5;\n            pbVar16 = (byte *)".text";\n            puVar32 = local_c8;\n            do {\n              if (lVar21 == 0) break;\n              lVar21 = lVar21 + -1;\n              uVar35 = *pbVar16 < (byte)*puVar32;\n              uVar38 = *pbVar16 == (byte)*puVar32;\n              pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n              puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n            } while ((bool)uVar38);\n            bVar36 = false;\n            bVar39 = (!(bool)uVar35 && !(bool)uVar38) == (bool)uVar35;\n            if (bVar39) {\nLAB_00180a28:\n              puVar18 = (undefined8 *)*puVar19;\n              if ((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28) {\n                    \n                    \n                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (*(long *)(puVar18[10] + uVar28 * 8) == 0) goto LAB_00180c96;\n              lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n              if (lVar21 == 0) {\n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(lVar21 + 0x2809) != '\0') {\n                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                local_78 = puVar18;\n                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);\n                if (lVar21 == 0) goto LAB_00180c96;\n                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar21 == 0) {\n                    \n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (*(int *)(lVar21 + 0x9050) == 2) {\n                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);\n                bVar36 = false;\n                bVar39 = pbVar16 == (byte *)0x0;\n                if (bVar39) {\n                    \n                    \n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar21 = 4;\n                pbVar31 = &DAT_00373305;\n                pbVar33 = pbVar16;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);\n                bVar37 = false;\n                bVar36 = (!bVar36 && !bVar39) == bVar36;\n                if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }\n                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = &local_78;\n              local_78 = (undefined8 *)*puVar19;\n              puVar32 = (ulong *)param_1[1];\n              if (puVar32 == (ulong *)param_1[2]) {\n                uStack_70._0_4_ = iVar27;\n                FUN_001825a0(param_1,puVar32,local_1a8);\n              }\n              else {\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }\n              local_78 = (undefined8 *)*puVar19;\n              uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n              uVar24 = (ulong)local_78 ^ uVar28;\n              local_1a0 = uVar24 % (ulong)param_1[4];\n              puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24);\n              if ((puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)) {\n                    \n                plVar14 = (long *)FUN_002d94a0(0x28);\n                lVar21 = param_1[6];\n                *plVar14 = 0;\n                lVar29 = param_1[4];\n                *(undefined4 *)(plVar14 + 3) = 0;\n                plVar14[1] = (long)local_78;\n                plVar14[2] = uStack_70;\n                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);\n                if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    \n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }\n                plVar14[4] = uVar24;\n                plVar22 = plVar15 + local_1a0;\n                if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }\n                param_1[6] = param_1[6] + 1;\n              }\n              piVar5 = (int *)param_1[0xb];\n              *(int *)(plVar14 + 3) = iVar13;\n              if (piVar5 == (int *)param_1[0xc]) {\n                __src = (int *)param_1[10];\n                sVar17 = (long)piVar5 - (long)__src;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }\n                *(int *)((long)__dest + sVar17) = iVar13;\n                lVar21 = (long)__dest + sVar17 + 4;\n                if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }\n                param_1[10] = (long)__dest;\n                param_1[0xb] = lVar21;\n                param_1[0xc] = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    \n              local_78 = (undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28);\n              if (local_160 == local_158) {\n                FUN_00182710(&local_168,local_160,local_1a8);\n              }\n              else {\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }\n              iVar10 = local_90;\n              puVar32 = local_98;\n              if (local_98 == local_88) {\n                local_180 = local_90;\n                local_188 = local_98;\n                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);\n              }\n              else {\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }\n              local_78 = &local_68;\n              FUN_001665c0(local_1a8,"");\n                    \n              FUN_0016f840(&local_148,local_1a8);\n              if (local_78 != &local_68) {\n                FUN_002dac70();\n              }\n              iVar13 = iVar13 + 1;\n              if (local_c8 != local_b8) goto LAB_00180c31;\n            }\n            else {\n              lVar21 = 0xf;\n              pbVar16 = (byte *)".gnu.linkonce.t";\n              puVar32 = local_c8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              } while (bVar39);\n              if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;\nLAB_00180c96:\n              if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }\n            }\n            plVar14 = (long *)*puVar19;\n            uVar26 = iVar27 + 1;\n            uVar28 = (ulong)uVar26;\n            uVar35 = uVar26 < *(uint *)(plVar14 + 7);\n            uVar38 = uVar26 == *(uint *)(plVar14 + 7);\n          } while ((bool)uVar35);\n        }" ({ "{") (labeled_statement "LAB_00180a17:\n          uVar35 = false;" (statement_identifier "LAB_00180a17") (: ":") (expression_statement "uVar35 = false;" (assignment_expression "uVar35 = false" (identifier "uVar35") (= "=") (false "false")) (; ";"))) (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" (identifier "uVar28") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar38 = true;" (assignment_expression "uVar38 = true" (identifier "uVar38") (= "=") (true "true")) (; ";")) (do_statement "do {\n            iVar27 = (int)uVar28;\n                    \n            (**(code **)(*plVar14 + 0x80))(&local_c8,plVar14,uVar28);\n            lVar21 = 5;\n            pbVar16 = (byte *)".text";\n            puVar32 = local_c8;\n            do {\n              if (lVar21 == 0) break;\n              lVar21 = lVar21 + -1;\n              uVar35 = *pbVar16 < (byte)*puVar32;\n              uVar38 = *pbVar16 == (byte)*puVar32;\n              pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n              puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n            } while ((bool)uVar38);\n            bVar36 = false;\n            bVar39 = (!(bool)uVar35 && !(bool)uVar38) == (bool)uVar35;\n            if (bVar39) {\nLAB_00180a28:\n              puVar18 = (undefined8 *)*puVar19;\n              if ((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28) {\n                    \n                    \n                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (*(long *)(puVar18[10] + uVar28 * 8) == 0) goto LAB_00180c96;\n              lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n              if (lVar21 == 0) {\n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(lVar21 + 0x2809) != '\0') {\n                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                local_78 = puVar18;\n                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);\n                if (lVar21 == 0) goto LAB_00180c96;\n                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar21 == 0) {\n                    \n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (*(int *)(lVar21 + 0x9050) == 2) {\n                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);\n                bVar36 = false;\n                bVar39 = pbVar16 == (byte *)0x0;\n                if (bVar39) {\n                    \n                    \n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar21 = 4;\n                pbVar31 = &DAT_00373305;\n                pbVar33 = pbVar16;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);\n                bVar37 = false;\n                bVar36 = (!bVar36 && !bVar39) == bVar36;\n                if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }\n                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = &local_78;\n              local_78 = (undefined8 *)*puVar19;\n              puVar32 = (ulong *)param_1[1];\n              if (puVar32 == (ulong *)param_1[2]) {\n                uStack_70._0_4_ = iVar27;\n                FUN_001825a0(param_1,puVar32,local_1a8);\n              }\n              else {\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }\n              local_78 = (undefined8 *)*puVar19;\n              uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n              uVar24 = (ulong)local_78 ^ uVar28;\n              local_1a0 = uVar24 % (ulong)param_1[4];\n              puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24);\n              if ((puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)) {\n                    \n                plVar14 = (long *)FUN_002d94a0(0x28);\n                lVar21 = param_1[6];\n                *plVar14 = 0;\n                lVar29 = param_1[4];\n                *(undefined4 *)(plVar14 + 3) = 0;\n                plVar14[1] = (long)local_78;\n                plVar14[2] = uStack_70;\n                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);\n                if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    \n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }\n                plVar14[4] = uVar24;\n                plVar22 = plVar15 + local_1a0;\n                if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }\n                param_1[6] = param_1[6] + 1;\n              }\n              piVar5 = (int *)param_1[0xb];\n              *(int *)(plVar14 + 3) = iVar13;\n              if (piVar5 == (int *)param_1[0xc]) {\n                __src = (int *)param_1[10];\n                sVar17 = (long)piVar5 - (long)__src;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }\n                *(int *)((long)__dest + sVar17) = iVar13;\n                lVar21 = (long)__dest + sVar17 + 4;\n                if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }\n                param_1[10] = (long)__dest;\n                param_1[0xb] = lVar21;\n                param_1[0xc] = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    \n              local_78 = (undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28);\n              if (local_160 == local_158) {\n                FUN_00182710(&local_168,local_160,local_1a8);\n              }\n              else {\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }\n              iVar10 = local_90;\n              puVar32 = local_98;\n              if (local_98 == local_88) {\n                local_180 = local_90;\n                local_188 = local_98;\n                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);\n              }\n              else {\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }\n              local_78 = &local_68;\n              FUN_001665c0(local_1a8,"");\n                    \n              FUN_0016f840(&local_148,local_1a8);\n              if (local_78 != &local_68) {\n                FUN_002dac70();\n              }\n              iVar13 = iVar13 + 1;\n              if (local_c8 != local_b8) goto LAB_00180c31;\n            }\n            else {\n              lVar21 = 0xf;\n              pbVar16 = (byte *)".gnu.linkonce.t";\n              puVar32 = local_c8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              } while (bVar39);\n              if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;\nLAB_00180c96:\n              if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }\n            }\n            plVar14 = (long *)*puVar19;\n            uVar26 = iVar27 + 1;\n            uVar28 = (ulong)uVar26;\n            uVar35 = uVar26 < *(uint *)(plVar14 + 7);\n            uVar38 = uVar26 == *(uint *)(plVar14 + 7);\n          } while ((bool)uVar35);" (do "do") (compound_statement "{\n            iVar27 = (int)uVar28;\n                    \n            (**(code **)(*plVar14 + 0x80))(&local_c8,plVar14,uVar28);\n            lVar21 = 5;\n            pbVar16 = (byte *)".text";\n            puVar32 = local_c8;\n            do {\n              if (lVar21 == 0) break;\n              lVar21 = lVar21 + -1;\n              uVar35 = *pbVar16 < (byte)*puVar32;\n              uVar38 = *pbVar16 == (byte)*puVar32;\n              pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n              puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n            } while ((bool)uVar38);\n            bVar36 = false;\n            bVar39 = (!(bool)uVar35 && !(bool)uVar38) == (bool)uVar35;\n            if (bVar39) {\nLAB_00180a28:\n              puVar18 = (undefined8 *)*puVar19;\n              if ((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28) {\n                    \n                    \n                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (*(long *)(puVar18[10] + uVar28 * 8) == 0) goto LAB_00180c96;\n              lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n              if (lVar21 == 0) {\n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(lVar21 + 0x2809) != '\0') {\n                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                local_78 = puVar18;\n                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);\n                if (lVar21 == 0) goto LAB_00180c96;\n                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar21 == 0) {\n                    \n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (*(int *)(lVar21 + 0x9050) == 2) {\n                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);\n                bVar36 = false;\n                bVar39 = pbVar16 == (byte *)0x0;\n                if (bVar39) {\n                    \n                    \n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar21 = 4;\n                pbVar31 = &DAT_00373305;\n                pbVar33 = pbVar16;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);\n                bVar37 = false;\n                bVar36 = (!bVar36 && !bVar39) == bVar36;\n                if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }\n                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = &local_78;\n              local_78 = (undefined8 *)*puVar19;\n              puVar32 = (ulong *)param_1[1];\n              if (puVar32 == (ulong *)param_1[2]) {\n                uStack_70._0_4_ = iVar27;\n                FUN_001825a0(param_1,puVar32,local_1a8);\n              }\n              else {\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }\n              local_78 = (undefined8 *)*puVar19;\n              uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n              uVar24 = (ulong)local_78 ^ uVar28;\n              local_1a0 = uVar24 % (ulong)param_1[4];\n              puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24);\n              if ((puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)) {\n                    \n                plVar14 = (long *)FUN_002d94a0(0x28);\n                lVar21 = param_1[6];\n                *plVar14 = 0;\n                lVar29 = param_1[4];\n                *(undefined4 *)(plVar14 + 3) = 0;\n                plVar14[1] = (long)local_78;\n                plVar14[2] = uStack_70;\n                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);\n                if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    \n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }\n                plVar14[4] = uVar24;\n                plVar22 = plVar15 + local_1a0;\n                if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }\n                param_1[6] = param_1[6] + 1;\n              }\n              piVar5 = (int *)param_1[0xb];\n              *(int *)(plVar14 + 3) = iVar13;\n              if (piVar5 == (int *)param_1[0xc]) {\n                __src = (int *)param_1[10];\n                sVar17 = (long)piVar5 - (long)__src;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }\n                *(int *)((long)__dest + sVar17) = iVar13;\n                lVar21 = (long)__dest + sVar17 + 4;\n                if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }\n                param_1[10] = (long)__dest;\n                param_1[0xb] = lVar21;\n                param_1[0xc] = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    \n              local_78 = (undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28);\n              if (local_160 == local_158) {\n                FUN_00182710(&local_168,local_160,local_1a8);\n              }\n              else {\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }\n              iVar10 = local_90;\n              puVar32 = local_98;\n              if (local_98 == local_88) {\n                local_180 = local_90;\n                local_188 = local_98;\n                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);\n              }\n              else {\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }\n              local_78 = &local_68;\n              FUN_001665c0(local_1a8,"");\n                    \n              FUN_0016f840(&local_148,local_1a8);\n              if (local_78 != &local_68) {\n                FUN_002dac70();\n              }\n              iVar13 = iVar13 + 1;\n              if (local_c8 != local_b8) goto LAB_00180c31;\n            }\n            else {\n              lVar21 = 0xf;\n              pbVar16 = (byte *)".gnu.linkonce.t";\n              puVar32 = local_c8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              } while (bVar39);\n              if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;\nLAB_00180c96:\n              if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }\n            }\n            plVar14 = (long *)*puVar19;\n            uVar26 = iVar27 + 1;\n            uVar28 = (ulong)uVar26;\n            uVar35 = uVar26 < *(uint *)(plVar14 + 7);\n            uVar38 = uVar26 == *(uint *)(plVar14 + 7);\n          }" ({ "{") (expression_statement "iVar27 = (int)uVar28;" (assignment_expression "iVar27 = (int)uVar28" (identifier "iVar27") (= "=") (cast_expression "(int)uVar28" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar28"))) (; ";")) (expression_statement "(**(code **)(*plVar14 + 0x80))(&local_c8,plVar14,uVar28);" (call_expression "(**(code **)(*plVar14 + 0x80))(&local_c8,plVar14,uVar28)" (parenthesized_expression "(**(code **)(*plVar14 + 0x80))" (( "(") (pointer_expression "**(code **)(*plVar14 + 0x80)" (* "*") (pointer_expression "*(code **)(*plVar14 + 0x80)" (* "*") (cast_expression "(code **)(*plVar14 + 0x80)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar14 + 0x80)" (( "(") (binary_expression "*plVar14 + 0x80" (pointer_expression "*plVar14" (* "*") (identifier "plVar14")) (+ "+") (number_literal "0x80")) () ")"))))) () ")")) (argument_list "(&local_c8,plVar14,uVar28)" (( "(") (pointer_expression "&local_c8" (& "&") (identifier "local_c8")) (, ",") (identifier "plVar14") (, ",") (identifier "uVar28") () ")"))) (; ";")) (expression_statement "lVar21 = 5;" (assignment_expression "lVar21 = 5" (identifier "lVar21") (= "=") (number_literal "5")) (; ";")) (expression_statement "pbVar16 = (byte *)".text";" (assignment_expression "pbVar16 = (byte *)".text"" (identifier "pbVar16") (= "=") (cast_expression "(byte *)".text"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal "".text"" (" """) (string_content ".text") (" """)))) (; ";")) (expression_statement "puVar32 = local_c8;" (assignment_expression "puVar32 = local_c8" (identifier "puVar32") (= "=") (identifier "local_c8")) (; ";")) (do_statement "do {\n              if (lVar21 == 0) break;\n              lVar21 = lVar21 + -1;\n              uVar35 = *pbVar16 < (byte)*puVar32;\n              uVar38 = *pbVar16 == (byte)*puVar32;\n              pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n              puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n            } while ((bool)uVar38);" (do "do") (compound_statement "{\n              if (lVar21 == 0) break;\n              lVar21 = lVar21 + -1;\n              uVar35 = *pbVar16 < (byte)*puVar32;\n              uVar38 = *pbVar16 == (byte)*puVar32;\n              pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n              puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n            }" ({ "{") (if_statement "if (lVar21 == 0) break;" (if "if") (parenthesized_expression "(lVar21 == 0)" (( "(") (binary_expression "lVar21 == 0" (identifier "lVar21") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar21 = lVar21 + -1;" (assignment_expression "lVar21 = lVar21 + -1" (identifier "lVar21") (= "=") (binary_expression "lVar21 + -1" (identifier "lVar21") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "uVar35 = *pbVar16 < (byte)*puVar32;" (assignment_expression "uVar35 = *pbVar16 < (byte)*puVar32" (identifier "uVar35") (= "=") (binary_expression "*pbVar16 < (byte)*puVar32" (pointer_expression "*pbVar16" (* "*") (identifier "pbVar16")) (< "<") (binary_expression "(byte)*puVar32" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (identifier "puVar32")))) (; ";")) (expression_statement "uVar38 = *pbVar16 == (byte)*puVar32;" (assignment_expression "uVar38 = *pbVar16 == (byte)*puVar32" (identifier "uVar38") (= "=") (binary_expression "*pbVar16 == (byte)*puVar32" (pointer_expression "*pbVar16" (* "*") (identifier "pbVar16")) (== "==") (binary_expression "(byte)*puVar32" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (identifier "puVar32")))) (; ";")) (expression_statement "pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;" (assignment_expression "pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1" (identifier "pbVar16") (= "=") (binary_expression "pbVar16 + (ulong)bVar40 * -2 + 1" (binary_expression "pbVar16 + (ulong)bVar40 * -2" (identifier "pbVar16") (+ "+") (binary_expression "(ulong)bVar40 * -2" (cast_expression "(ulong)bVar40" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar40")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);" (assignment_expression "puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1)" (identifier "puVar32") (= "=") (cast_expression "(ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar32 + (ulong)bVar40 * -2 + 1)" (( "(") (binary_expression "(long)puVar32 + (ulong)bVar40 * -2 + 1" (binary_expression "(long)puVar32 + (ulong)bVar40 * -2" (cast_expression "(long)puVar32" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar32")) (+ "+") (binary_expression "(ulong)bVar40 * -2" (cast_expression "(ulong)bVar40" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar40")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((bool)uVar38)" (( "(") (cast_expression "(bool)uVar38" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "uVar38")) () ")")) (; ";")) (expression_statement "bVar36 = false;" (assignment_expression "bVar36 = false" (identifier "bVar36") (= "=") (false "false")) (; ";")) (expression_statement "bVar39 = (!(bool)uVar35 && !(bool)uVar38) == (bool)uVar35;" (assignment_expression "bVar39 = (!(bool)uVar35 && !(bool)uVar38) == (bool)uVar35" (identifier "bVar39") (= "=") (binary_expression "(!(bool)uVar35 && !(bool)uVar38) == (bool)uVar35" (parenthesized_expression "(!(bool)uVar35 && !(bool)uVar38)" (( "(") (binary_expression "!(bool)uVar35 && !(bool)uVar38" (unary_expression "!(bool)uVar35" (! "!") (cast_expression "(bool)uVar35" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "uVar35"))) (&& "&&") (unary_expression "!(bool)uVar38" (! "!") (cast_expression "(bool)uVar38" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "uVar38")))) () ")")) (== "==") (cast_expression "(bool)uVar35" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "uVar35")))) (; ";")) (if_statement "if (bVar39) {\nLAB_00180a28:\n              puVar18 = (undefined8 *)*puVar19;\n              if ((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28) {\n                    \n                    \n                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (*(long *)(puVar18[10] + uVar28 * 8) == 0) goto LAB_00180c96;\n              lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n              if (lVar21 == 0) {\n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(lVar21 + 0x2809) != '\0') {\n                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                local_78 = puVar18;\n                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);\n                if (lVar21 == 0) goto LAB_00180c96;\n                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar21 == 0) {\n                    \n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (*(int *)(lVar21 + 0x9050) == 2) {\n                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);\n                bVar36 = false;\n                bVar39 = pbVar16 == (byte *)0x0;\n                if (bVar39) {\n                    \n                    \n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar21 = 4;\n                pbVar31 = &DAT_00373305;\n                pbVar33 = pbVar16;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);\n                bVar37 = false;\n                bVar36 = (!bVar36 && !bVar39) == bVar36;\n                if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }\n                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = &local_78;\n              local_78 = (undefined8 *)*puVar19;\n              puVar32 = (ulong *)param_1[1];\n              if (puVar32 == (ulong *)param_1[2]) {\n                uStack_70._0_4_ = iVar27;\n                FUN_001825a0(param_1,puVar32,local_1a8);\n              }\n              else {\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }\n              local_78 = (undefined8 *)*puVar19;\n              uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n              uVar24 = (ulong)local_78 ^ uVar28;\n              local_1a0 = uVar24 % (ulong)param_1[4];\n              puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24);\n              if ((puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)) {\n                    \n                plVar14 = (long *)FUN_002d94a0(0x28);\n                lVar21 = param_1[6];\n                *plVar14 = 0;\n                lVar29 = param_1[4];\n                *(undefined4 *)(plVar14 + 3) = 0;\n                plVar14[1] = (long)local_78;\n                plVar14[2] = uStack_70;\n                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);\n                if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    \n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }\n                plVar14[4] = uVar24;\n                plVar22 = plVar15 + local_1a0;\n                if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }\n                param_1[6] = param_1[6] + 1;\n              }\n              piVar5 = (int *)param_1[0xb];\n              *(int *)(plVar14 + 3) = iVar13;\n              if (piVar5 == (int *)param_1[0xc]) {\n                __src = (int *)param_1[10];\n                sVar17 = (long)piVar5 - (long)__src;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }\n                *(int *)((long)__dest + sVar17) = iVar13;\n                lVar21 = (long)__dest + sVar17 + 4;\n                if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }\n                param_1[10] = (long)__dest;\n                param_1[0xb] = lVar21;\n                param_1[0xc] = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    \n              local_78 = (undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28);\n              if (local_160 == local_158) {\n                FUN_00182710(&local_168,local_160,local_1a8);\n              }\n              else {\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }\n              iVar10 = local_90;\n              puVar32 = local_98;\n              if (local_98 == local_88) {\n                local_180 = local_90;\n                local_188 = local_98;\n                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);\n              }\n              else {\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }\n              local_78 = &local_68;\n              FUN_001665c0(local_1a8,"");\n                    \n              FUN_0016f840(&local_148,local_1a8);\n              if (local_78 != &local_68) {\n                FUN_002dac70();\n              }\n              iVar13 = iVar13 + 1;\n              if (local_c8 != local_b8) goto LAB_00180c31;\n            }\n            else {\n              lVar21 = 0xf;\n              pbVar16 = (byte *)".gnu.linkonce.t";\n              puVar32 = local_c8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              } while (bVar39);\n              if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;\nLAB_00180c96:\n              if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }\n            }" (if "if") (parenthesized_expression "(bVar39)" (( "(") (identifier "bVar39") () ")")) (compound_statement "{\nLAB_00180a28:\n              puVar18 = (undefined8 *)*puVar19;\n              if ((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28) {\n                    \n                    \n                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n              }\n              if (*(long *)(puVar18[10] + uVar28 * 8) == 0) goto LAB_00180c96;\n              lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n              if (lVar21 == 0) {\n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(lVar21 + 0x2809) != '\0') {\n                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                local_78 = puVar18;\n                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);\n                if (lVar21 == 0) goto LAB_00180c96;\n                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar21 == 0) {\n                    \n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n              }\n              if (*(int *)(lVar21 + 0x9050) == 2) {\n                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);\n                bVar36 = false;\n                bVar39 = pbVar16 == (byte *)0x0;\n                if (bVar39) {\n                    \n                    \n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar21 = 4;\n                pbVar31 = &DAT_00373305;\n                pbVar33 = pbVar16;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);\n                bVar37 = false;\n                bVar36 = (!bVar36 && !bVar39) == bVar36;\n                if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }\n                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }\nLAB_00180a97:\n              local_1a8 = &local_78;\n              local_78 = (undefined8 *)*puVar19;\n              puVar32 = (ulong *)param_1[1];\n              if (puVar32 == (ulong *)param_1[2]) {\n                uStack_70._0_4_ = iVar27;\n                FUN_001825a0(param_1,puVar32,local_1a8);\n              }\n              else {\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }\n              local_78 = (undefined8 *)*puVar19;\n              uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n              uVar24 = (ulong)local_78 ^ uVar28;\n              local_1a0 = uVar24 % (ulong)param_1[4];\n              puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24);\n              if ((puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)) {\n                    \n                plVar14 = (long *)FUN_002d94a0(0x28);\n                lVar21 = param_1[6];\n                *plVar14 = 0;\n                lVar29 = param_1[4];\n                *(undefined4 *)(plVar14 + 3) = 0;\n                plVar14[1] = (long)local_78;\n                plVar14[2] = uStack_70;\n                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);\n                if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    \n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }\n                plVar14[4] = uVar24;\n                plVar22 = plVar15 + local_1a0;\n                if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }\n                param_1[6] = param_1[6] + 1;\n              }\n              piVar5 = (int *)param_1[0xb];\n              *(int *)(plVar14 + 3) = iVar13;\n              if (piVar5 == (int *)param_1[0xc]) {\n                __src = (int *)param_1[10];\n                sVar17 = (long)piVar5 - (long)__src;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }\n                *(int *)((long)__dest + sVar17) = iVar13;\n                lVar21 = (long)__dest + sVar17 + 4;\n                if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }\n                param_1[10] = (long)__dest;\n                param_1[0xb] = lVar21;\n                param_1[0xc] = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }\n              local_1d8 = __dest_00;\n                    \n              local_78 = (undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28);\n              if (local_160 == local_158) {\n                FUN_00182710(&local_168,local_160,local_1a8);\n              }\n              else {\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }\n              iVar10 = local_90;\n              puVar32 = local_98;\n              if (local_98 == local_88) {\n                local_180 = local_90;\n                local_188 = local_98;\n                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);\n              }\n              else {\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }\n              local_78 = &local_68;\n              FUN_001665c0(local_1a8,"");\n                    \n              FUN_0016f840(&local_148,local_1a8);\n              if (local_78 != &local_68) {\n                FUN_002dac70();\n              }\n              iVar13 = iVar13 + 1;\n              if (local_c8 != local_b8) goto LAB_00180c31;\n            }" ({ "{") (labeled_statement "LAB_00180a28:\n              puVar18 = (undefined8 *)*puVar19;" (statement_identifier "LAB_00180a28") (: ":") (expression_statement "puVar18 = (undefined8 *)*puVar19;" (assignment_expression "puVar18 = (undefined8 *)*puVar19" (identifier "puVar18") (= "=") (cast_expression "(undefined8 *)*puVar19" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar19" (* "*") (identifier "puVar19")))) (; ";"))) (if_statement "if ((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28) {\n                    \n                    \n                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n              }" (if "if") (parenthesized_expression "((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28)" (( "(") (binary_expression "(ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28" (call_expression "(ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "((long)(puVar18[0xb] - puVar18[10]) >> 3)" (( "(") (binary_expression "(long)(puVar18[0xb] - puVar18[10]) >> 3" (cast_expression "(long)(puVar18[0xb] - puVar18[10])" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (parenthesized_expression "(puVar18[0xb] - puVar18[10])" (( "(") (binary_expression "puVar18[0xb] - puVar18[10]" (subscript_expression "puVar18[0xb]" (identifier "puVar18") ([ "[") (number_literal "0xb") (] "]")) (- "-") (subscript_expression "puVar18[10]" (identifier "puVar18") ([ "[") (number_literal "10") (] "]"))) () ")"))) (>> ">>") (number_literal "3")) () ")"))) (<= "<=") (identifier "uVar28")) () ")")) (compound_statement "{\n                    \n                    \n                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n              }" ({ "{") (expression_statement "FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");" (call_expression "FUN_0017c650("../../gold/object.h",0x50b,"is_section_included")" (identifier "FUN_0017c650") (argument_list "("../../gold/object.h",0x50b,"is_section_included")" (( "(") (string_literal ""../../gold/object.h"" (" """) (string_content "../../gold/object.h") (" """)) (, ",") (number_literal "0x50b") (, ",") (string_literal ""is_section_included"" (" """) (string_content "is_section_included") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(long *)(puVar18[10] + uVar28 * 8) == 0) goto LAB_00180c96;" (if "if") (parenthesized_expression "(*(long *)(puVar18[10] + uVar28 * 8) == 0)" (( "(") (binary_expression "*(long *)(puVar18[10] + uVar28 * 8) == 0" (pointer_expression "*(long *)(puVar18[10] + uVar28 * 8)" (* "*") (cast_expression "(long *)(puVar18[10] + uVar28 * 8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18[10] + uVar28 * 8)" (( "(") (binary_expression "puVar18[10] + uVar28 * 8" (subscript_expression "puVar18[10]" (identifier "puVar18") ([ "[") (number_literal "10") (] "]")) (+ "+") (binary_expression "uVar28 * 8" (identifier "uVar28") (* "*") (number_literal "8"))) () ")")))) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00180c96;" (goto "goto") (statement_identifier "LAB_00180c96") (; ";"))) (expression_statement "lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);" (assignment_expression "lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10)" (identifier "lVar21") (= "=") (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" (( "(") (binary_expression "PTR_DAT_0043e6b0 + 0x10" (identifier "PTR_DAT_0043e6b0") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if (lVar21 == 0) {\n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }" (if "if") (parenthesized_expression "(lVar21 == 0)" (( "(") (binary_expression "lVar21 == 0" (identifier "lVar21") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }" ({ "{") (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" (identifier "FUN_0017c650") (argument_list "("../../gold/parameters.h",0x5c,"options")" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x5c") (, ",") (string_literal ""options"" (" """) (string_content "options") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(char *)(lVar21 + 0x2809) != '\0') {\n                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                local_78 = puVar18;\n                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);\n                if (lVar21 == 0) goto LAB_00180c96;\n                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar21 == 0) {\n                    \n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n              }" (if "if") (parenthesized_expression "(*(char *)(lVar21 + 0x2809) != '\0')" (( "(") (binary_expression "*(char *)(lVar21 + 0x2809) != '\0'" (pointer_expression "*(char *)(lVar21 + 0x2809)" (* "*") (cast_expression "(char *)(lVar21 + 0x2809)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar21 + 0x2809)" (( "(") (binary_expression "lVar21 + 0x2809" (identifier "lVar21") (+ "+") (number_literal "0x2809")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                local_78 = puVar18;\n                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);\n                if (lVar21 == 0) goto LAB_00180c96;\n                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar21 == 0) {\n                    \n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n              }" ({ "{") (expression_statement "uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);" (assignment_expression "uStack_70 = CONCAT44(uStack_70._4_4_,iVar27)" (identifier "uStack_70") (= "=") (call_expression "CONCAT44(uStack_70._4_4_,iVar27)" (identifier "CONCAT44") (argument_list "(uStack_70._4_4_,iVar27)" (( "(") (field_expression "uStack_70._4_4_" (identifier "uStack_70") (. ".") (field_identifier "_4_4_")) (, ",") (identifier "iVar27") () ")")))) (; ";")) (expression_statement "local_78 = puVar18;" (assignment_expression "local_78 = puVar18" (identifier "local_78") (= "=") (identifier "puVar18")) (; ";")) (expression_statement "lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);" (assignment_expression "lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78)" (identifier "lVar21") (= "=") (call_expression "FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78)" (identifier "FUN_001820f0") (argument_list "(*(long *)(param_3 + 0x290) + 0x50,&local_78)" (( "(") (binary_expression "*(long *)(param_3 + 0x290) + 0x50" (pointer_expression "*(long *)(param_3 + 0x290)" (* "*") (cast_expression "(long *)(param_3 + 0x290)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x290)" (( "(") (binary_expression "param_3 + 0x290" (identifier "param_3") (+ "+") (number_literal "0x290")) () ")")))) (+ "+") (number_literal "0x50")) (, ",") (pointer_expression "&local_78" (& "&") (identifier "local_78")) () ")")))) (; ";")) (if_statement "if (lVar21 == 0) goto LAB_00180c96;" (if "if") (parenthesized_expression "(lVar21 == 0)" (( "(") (binary_expression "lVar21 == 0" (identifier "lVar21") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00180c96;" (goto "goto") (statement_identifier "LAB_00180c96") (; ";"))) (expression_statement "lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);" (assignment_expression "lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10)" (identifier "lVar21") (= "=") (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" (( "(") (binary_expression "PTR_DAT_0043e6b0 + 0x10" (identifier "PTR_DAT_0043e6b0") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if (lVar21 == 0) {\n                    \n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }" (if "if") (parenthesized_expression "(lVar21 == 0)" (( "(") (binary_expression "lVar21 == 0" (identifier "lVar21") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }" ({ "{") (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" (identifier "FUN_0017c650") (argument_list "("../../gold/parameters.h",0x5c,"options")" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x5c") (, ",") (string_literal ""options"" (" """) (string_content "options") (" """)) () ")"))) (; ";")) (} "}"))) (} "}"))) (if_statement "if (*(int *)(lVar21 + 0x9050) == 2) {\n                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);\n                bVar36 = false;\n                bVar39 = pbVar16 == (byte *)0x0;\n                if (bVar39) {\n                    \n                    \n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar21 = 4;\n                pbVar31 = &DAT_00373305;\n                pbVar33 = pbVar16;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);\n                bVar37 = false;\n                bVar36 = (!bVar36 && !bVar39) == bVar36;\n                if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }\n                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }" (if "if") (parenthesized_expression "(*(int *)(lVar21 + 0x9050) == 2)" (( "(") (binary_expression "*(int *)(lVar21 + 0x9050) == 2" (pointer_expression "*(int *)(lVar21 + 0x9050)" (* "*") (cast_expression "(int *)(lVar21 + 0x9050)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar21 + 0x9050)" (( "(") (binary_expression "lVar21 + 0x9050" (identifier "lVar21") (+ "+") (number_literal "0x9050")) () ")")))) (== "==") (number_literal "2")) () ")")) (compound_statement "{\n                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);\n                bVar36 = false;\n                bVar39 = pbVar16 == (byte *)0x0;\n                if (bVar39) {\n                    \n                    \n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }\n                lVar21 = 4;\n                pbVar31 = &DAT_00373305;\n                pbVar33 = pbVar16;\n                do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);\n                bVar37 = false;\n                bVar36 = (!bVar36 && !bVar39) == bVar36;\n                if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }\n                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }\n                goto LAB_00180c96;\n              }" ({ "{") (expression_statement "pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);" (assignment_expression "pbVar16 = (byte *)strrchr((char *)local_c8,0x2e)" (identifier "pbVar16") (= "=") (cast_expression "(byte *)strrchr((char *)local_c8,0x2e)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "strrchr((char *)local_c8,0x2e)" (identifier "strrchr") (argument_list "((char *)local_c8,0x2e)" (( "(") (cast_expression "(char *)local_c8" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_c8")) (, ",") (number_literal "0x2e") () ")"))))) (; ";")) (expression_statement "bVar36 = false;" (assignment_expression "bVar36 = false" (identifier "bVar36") (= "=") (false "false")) (; ";")) (expression_statement "bVar39 = pbVar16 == (byte *)0x0;" (assignment_expression "bVar39 = pbVar16 == (byte *)0x0" (identifier "bVar39") (= "=") (binary_expression "pbVar16 == (byte *)0x0" (identifier "pbVar16") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) (; ";")) (if_statement "if (bVar39) {\n                    \n                    \n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }" (if "if") (parenthesized_expression "(bVar39)" (( "(") (identifier "bVar39") () ")")) (compound_statement "{\n                    \n                    \n                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");\n                }" ({ "{") (expression_statement "FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");" (call_expression "FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor")" (identifier "FUN_0017c650") (argument_list "("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor")" (( "(") (string_literal ""../../gold/icf.cc"" (" """) (string_content "../../gold/icf.cc") (" """)) (, ",") (number_literal "0x2f6") (, ",") (string_literal ""is_function_ctor_or_dtor"" (" """) (string_content "is_function_ctor_or_dtor") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "lVar21 = 4;" (assignment_expression "lVar21 = 4" (identifier "lVar21") (= "=") (number_literal "4")) (; ";")) (expression_statement "pbVar31 = &DAT_00373305;" (assignment_expression "pbVar31 = &DAT_00373305" (identifier "pbVar31") (= "=") (pointer_expression "&DAT_00373305" (& "&") (identifier "DAT_00373305"))) (; ";")) (expression_statement "pbVar33 = pbVar16;" (assignment_expression "pbVar33 = pbVar16" (identifier "pbVar33") (= "=") (identifier "pbVar16")) (; ";")) (do_statement "do {\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                } while (bVar39);" (do "do") (compound_statement "{\n                  if (lVar21 == 0) break;\n                  lVar21 = lVar21 + -1;\n                  bVar36 = *pbVar31 < *pbVar33;\n                  bVar39 = *pbVar31 == *pbVar33;\n                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                }" ({ "{") (if_statement "if (lVar21 == 0) break;" (if "if") (parenthesized_expression "(lVar21 == 0)" (( "(") (binary_expression "lVar21 == 0" (identifier "lVar21") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar21 = lVar21 + -1;" (assignment_expression "lVar21 = lVar21 + -1" (identifier "lVar21") (= "=") (binary_expression "lVar21 + -1" (identifier "lVar21") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar36 = *pbVar31 < *pbVar33;" (assignment_expression "bVar36 = *pbVar31 < *pbVar33" (identifier "bVar36") (= "=") (binary_expression "*pbVar31 < *pbVar33" (pointer_expression "*pbVar31" (* "*") (identifier "pbVar31")) (< "<") (pointer_expression "*pbVar33" (* "*") (identifier "pbVar33")))) (; ";")) (expression_statement "bVar39 = *pbVar31 == *pbVar33;" (assignment_expression "bVar39 = *pbVar31 == *pbVar33" (identifier "bVar39") (= "=") (binary_expression "*pbVar31 == *pbVar33" (pointer_expression "*pbVar31" (* "*") (identifier "pbVar31")) (== "==") (pointer_expression "*pbVar33" (* "*") (identifier "pbVar33")))) (; ";")) (expression_statement "pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;" (assignment_expression "pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1" (identifier "pbVar31") (= "=") (binary_expression "pbVar31 + (ulong)bVar40 * -2 + 1" (binary_expression "pbVar31 + (ulong)bVar40 * -2" (identifier "pbVar31") (+ "+") (binary_expression "(ulong)bVar40 * -2" (cast_expression "(ulong)bVar40" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar40")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;" (assignment_expression "pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1" (identifier "pbVar33") (= "=") (binary_expression "pbVar33 + (ulong)bVar40 * -2 + 1" (binary_expression "pbVar33 + (ulong)bVar40 * -2" (identifier "pbVar33") (+ "+") (binary_expression "(ulong)bVar40 * -2" (cast_expression "(ulong)bVar40" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar40")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar39)" (( "(") (identifier "bVar39") () ")")) (; ";")) (expression_statement "bVar37 = false;" (assignment_expression "bVar37 = false" (identifier "bVar37") (= "=") (false "false")) (; ";")) (expression_statement "bVar36 = (!bVar36 && !bVar39) == bVar36;" (assignment_expression "bVar36 = (!bVar36 && !bVar39) == bVar36" (identifier "bVar36") (= "=") (binary_expression "(!bVar36 && !bVar39) == bVar36" (parenthesized_expression "(!bVar36 && !bVar39)" (( "(") (binary_expression "!bVar36 && !bVar39" (unary_expression "!bVar36" (! "!") (identifier "bVar36")) (&& "&&") (unary_expression "!bVar39" (! "!") (identifier "bVar39"))) () ")")) (== "==") (identifier "bVar36"))) (; ";")) (if_statement "if (bVar36) {\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }\n                else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }" (if "if") (parenthesized_expression "(bVar36)" (( "(") (identifier "bVar36") () ")")) (compound_statement "{\nLAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);\n                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;\n                }" ({ "{") (labeled_statement "LAB_00180f58:\n                  iVar10 = FUN_002d2ef0(pbVar16 + 1);" (statement_identifier "LAB_00180f58") (: ":") (expression_statement "iVar10 = FUN_002d2ef0(pbVar16 + 1);" (assignment_expression "iVar10 = FUN_002d2ef0(pbVar16 + 1)" (identifier "iVar10") (= "=") (call_expression "FUN_002d2ef0(pbVar16 + 1)" (identifier "FUN_002d2ef0") (argument_list "(pbVar16 + 1)" (( "(") (binary_expression "pbVar16 + 1" (identifier "pbVar16") (+ "+") (number_literal "1")) () ")")))) (; ";"))) (if_statement "if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))\n                  goto LAB_00180a97;" (if "if") (parenthesized_expression "((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))" (( "(") (binary_expression "(iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0)" (parenthesized_expression "(iVar10 != 0)" (( "(") (binary_expression "iVar10 != 0" (identifier "iVar10") (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0)" (( "(") (comma_expression "iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0" (assignment_expression "iVar10 = FUN_002d2f20(pbVar16 + 1)" (identifier "iVar10") (= "=") (call_expression "FUN_002d2f20(pbVar16 + 1)" (identifier "FUN_002d2f20") (argument_list "(pbVar16 + 1)" (( "(") (binary_expression "pbVar16 + 1" (identifier "pbVar16") (+ "+") (number_literal "1")) () ")")))) (, ",") (binary_expression "iVar10 != 0" (identifier "iVar10") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_00180a97;" (goto "goto") (statement_identifier "LAB_00180a97") (; ";"))) (} "}")) (else_clause "else {\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }" (else "else") (compound_statement "{\n                  lVar21 = 4;\n                  pbVar31 = &DAT_0037330a;\n                  pbVar33 = pbVar16;\n                  do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);\n                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;\n                }" ({ "{") (expression_statement "lVar21 = 4;" (assignment_expression "lVar21 = 4" (identifier "lVar21") (= "=") (number_literal "4")) (; ";")) (expression_statement "pbVar31 = &DAT_0037330a;" (assignment_expression "pbVar31 = &DAT_0037330a" (identifier "pbVar31") (= "=") (pointer_expression "&DAT_0037330a" (& "&") (identifier "DAT_0037330a"))) (; ";")) (expression_statement "pbVar33 = pbVar16;" (assignment_expression "pbVar33 = pbVar16" (identifier "pbVar33") (= "=") (identifier "pbVar16")) (; ";")) (do_statement "do {\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  } while (bVar36);" (do "do") (compound_statement "{\n                    if (lVar21 == 0) break;\n                    lVar21 = lVar21 + -1;\n                    bVar37 = *pbVar31 < *pbVar33;\n                    bVar36 = *pbVar31 == *pbVar33;\n                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;\n                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;\n                  }" ({ "{") (if_statement "if (lVar21 == 0) break;" (if "if") (parenthesized_expression "(lVar21 == 0)" (( "(") (binary_expression "lVar21 == 0" (identifier "lVar21") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar21 = lVar21 + -1;" (assignment_expression "lVar21 = lVar21 + -1" (identifier "lVar21") (= "=") (binary_expression "lVar21 + -1" (identifier "lVar21") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar37 = *pbVar31 < *pbVar33;" (assignment_expression "bVar37 = *pbVar31 < *pbVar33" (identifier "bVar37") (= "=") (binary_expression "*pbVar31 < *pbVar33" (pointer_expression "*pbVar31" (* "*") (identifier "pbVar31")) (< "<") (pointer_expression "*pbVar33" (* "*") (identifier "pbVar33")))) (; ";")) (expression_statement "bVar36 = *pbVar31 == *pbVar33;" (assignment_expression "bVar36 = *pbVar31 == *pbVar33" (identifier "bVar36") (= "=") (binary_expression "*pbVar31 == *pbVar33" (pointer_expression "*pbVar31" (* "*") (identifier "pbVar31")) (== "==") (pointer_expression "*pbVar33" (* "*") (identifier "pbVar33")))) (; ";")) (expression_statement "pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;" (assignment_expression "pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1" (identifier "pbVar31") (= "=") (binary_expression "pbVar31 + (ulong)bVar40 * -2 + 1" (binary_expression "pbVar31 + (ulong)bVar40 * -2" (identifier "pbVar31") (+ "+") (binary_expression "(ulong)bVar40 * -2" (cast_expression "(ulong)bVar40" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar40")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;" (assignment_expression "pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1" (identifier "pbVar33") (= "=") (binary_expression "pbVar33 + (ulong)bVar40 * -2 + 1" (binary_expression "pbVar33 + (ulong)bVar40 * -2" (identifier "pbVar33") (+ "+") (binary_expression "(ulong)bVar40 * -2" (cast_expression "(ulong)bVar40" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar40")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar36)" (( "(") (identifier "bVar36") () ")")) (; ";")) (if_statement "if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;" (if "if") (parenthesized_expression "((!bVar37 && !bVar36) == bVar37)" (( "(") (binary_expression "(!bVar37 && !bVar36) == bVar37" (parenthesized_expression "(!bVar37 && !bVar36)" (( "(") (binary_expression "!bVar37 && !bVar36" (unary_expression "!bVar37" (! "!") (identifier "bVar37")) (&& "&&") (unary_expression "!bVar36" (! "!") (identifier "bVar36"))) () ")")) (== "==") (identifier "bVar37")) () ")")) (goto_statement "goto LAB_00180f58;" (goto "goto") (statement_identifier "LAB_00180f58") (; ";"))) (} "}")))) (if_statement "if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }" (if "if") (parenthesized_expression "((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0'))" (( "(") (binary_expression "(*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&\n                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')" (parenthesized_expression "(*(code **)(*plVar4 + 0x90) != FUN_00181fa0)" (( "(") (binary_expression "*(code **)(*plVar4 + 0x90) != FUN_00181fa0" (pointer_expression "*(code **)(*plVar4 + 0x90)" (* "*") (cast_expression "(code **)(*plVar4 + 0x90)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar4 + 0x90)" (( "(") (binary_expression "*plVar4 + 0x90" (pointer_expression "*plVar4" (* "*") (identifier "plVar4")) (+ "+") (number_literal "0x90")) () ")")))) (!= "!=") (identifier "FUN_00181fa0")) () ")")) (&& "&&") (parenthesized_expression "(cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')" (( "(") (comma_expression "cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0'" (assignment_expression "cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4)" (identifier "cVar9") (= "=") (call_expression "(**(code **)(*plVar4 + 0x90))(plVar4)" (parenthesized_expression "(**(code **)(*plVar4 + 0x90))" (( "(") (pointer_expression "**(code **)(*plVar4 + 0x90)" (* "*") (pointer_expression "*(code **)(*plVar4 + 0x90)" (* "*") (cast_expression "(code **)(*plVar4 + 0x90)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar4 + 0x90)" (( "(") (binary_expression "*plVar4 + 0x90" (pointer_expression "*plVar4" (* "*") (identifier "plVar4")) (+ "+") (number_literal "0x90")) () ")"))))) () ")")) (argument_list "(plVar4)" (( "(") (identifier "plVar4") () ")")))) (, ",") (binary_expression "cVar9 != '\0'" (identifier "cVar9") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) () ")"))) () ")")) (compound_statement "{\n                  local_78 = (undefined8 *)*puVar19;\n                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);\n                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);\n                  if (lVar21 == 0) goto LAB_00180a97;\n                }" ({ "{") (expression_statement "local_78 = (undefined8 *)*puVar19;" (assignment_expression "local_78 = (undefined8 *)*puVar19" (identifier "local_78") (= "=") (cast_expression "(undefined8 *)*puVar19" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar19" (* "*") (identifier "puVar19")))) (; ";")) (expression_statement "uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);" (assignment_expression "uStack_70 = CONCAT44(uStack_70._4_4_,iVar27)" (identifier "uStack_70") (= "=") (call_expression "CONCAT44(uStack_70._4_4_,iVar27)" (identifier "CONCAT44") (argument_list "(uStack_70._4_4_,iVar27)" (( "(") (field_expression "uStack_70._4_4_" (identifier "uStack_70") (. ".") (field_identifier "_4_4_")) (, ",") (identifier "iVar27") () ")")))) (; ";")) (expression_statement "lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);" (assignment_expression "lVar21 = FUN_001820f0(param_1 + 0xd,&local_78)" (identifier "lVar21") (= "=") (call_expression "FUN_001820f0(param_1 + 0xd,&local_78)" (identifier "FUN_001820f0") (argument_list "(param_1 + 0xd,&local_78)" (( "(") (binary_expression "param_1 + 0xd" (identifier "param_1") (+ "+") (number_literal "0xd")) (, ",") (pointer_expression "&local_78" (& "&") (identifier "local_78")) () ")")))) (; ";")) (if_statement "if (lVar21 == 0) goto LAB_00180a97;" (if "if") (parenthesized_expression "(lVar21 == 0)" (( "(") (binary_expression "lVar21 == 0" (identifier "lVar21") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00180a97;" (goto "goto") (statement_identifier "LAB_00180a97") (; ";"))) (} "}"))) (goto_statement "goto LAB_00180c96;" (goto "goto") (statement_identifier "LAB_00180c96") (; ";")) (} "}"))) (labeled_statement "LAB_00180a97:\n              local_1a8 = &local_78;" (statement_identifier "LAB_00180a97") (: ":") (expression_statement "local_1a8 = &local_78;" (assignment_expression "local_1a8 = &local_78" (identifier "local_1a8") (= "=") (pointer_expression "&local_78" (& "&") (identifier "local_78"))) (; ";"))) (expression_statement "local_78 = (undefined8 *)*puVar19;" (assignment_expression "local_78 = (undefined8 *)*puVar19" (identifier "local_78") (= "=") (cast_expression "(undefined8 *)*puVar19" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar19" (* "*") (identifier "puVar19")))) (; ";")) (expression_statement "puVar32 = (ulong *)param_1[1];" (assignment_expression "puVar32 = (ulong *)param_1[1]" (identifier "puVar32") (= "=") (cast_expression "(ulong *)param_1[1]" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")))) (; ";")) (if_statement "if (puVar32 == (ulong *)param_1[2]) {\n                uStack_70._0_4_ = iVar27;\n                FUN_001825a0(param_1,puVar32,local_1a8);\n              }\n              else {\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }" (if "if") (parenthesized_expression "(puVar32 == (ulong *)param_1[2])" (( "(") (binary_expression "puVar32 == (ulong *)param_1[2]" (identifier "puVar32") (== "==") (cast_expression "(ulong *)param_1[2]" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")))) () ")")) (compound_statement "{\n                uStack_70._0_4_ = iVar27;\n                FUN_001825a0(param_1,puVar32,local_1a8);\n              }" ({ "{") (expression_statement "uStack_70._0_4_ = iVar27;" (assignment_expression "uStack_70._0_4_ = iVar27" (field_expression "uStack_70._0_4_" (identifier "uStack_70") (. ".") (field_identifier "_0_4_")) (= "=") (identifier "iVar27")) (; ";")) (expression_statement "FUN_001825a0(param_1,puVar32,local_1a8);" (call_expression "FUN_001825a0(param_1,puVar32,local_1a8)" (identifier "FUN_001825a0") (argument_list "(param_1,puVar32,local_1a8)" (( "(") (identifier "param_1") (, ",") (identifier "puVar32") (, ",") (identifier "local_1a8") () ")"))) (; ";")) (} "}")) (else_clause "else {\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }" (else "else") (compound_statement "{\n                *puVar32 = (ulong)local_78;\n                *(int *)(puVar32 + 1) = iVar27;\n                param_1[1] = (long)(puVar32 + 2);\n              }" ({ "{") (expression_statement "*puVar32 = (ulong)local_78;" (assignment_expression "*puVar32 = (ulong)local_78" (pointer_expression "*puVar32" (* "*") (identifier "puVar32")) (= "=") (cast_expression "(ulong)local_78" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "local_78"))) (; ";")) (expression_statement "*(int *)(puVar32 + 1) = iVar27;" (assignment_expression "*(int *)(puVar32 + 1) = iVar27" (pointer_expression "*(int *)(puVar32 + 1)" (* "*") (cast_expression "(int *)(puVar32 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar32 + 1)" (( "(") (binary_expression "puVar32 + 1" (identifier "puVar32") (+ "+") (number_literal "1")) () ")")))) (= "=") (identifier "iVar27")) (; ";")) (expression_statement "param_1[1] = (long)(puVar32 + 2);" (assignment_expression "param_1[1] = (long)(puVar32 + 2)" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(long)(puVar32 + 2)" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (parenthesized_expression "(puVar32 + 2)" (( "(") (binary_expression "puVar32 + 2" (identifier "puVar32") (+ "+") (number_literal "2")) () ")")))) (; ";")) (} "}")))) (expression_statement "local_78 = (undefined8 *)*puVar19;" (assignment_expression "local_78 = (undefined8 *)*puVar19" (identifier "local_78") (= "=") (cast_expression "(undefined8 *)*puVar19" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar19" (* "*") (identifier "puVar19")))) (; ";")) (expression_statement "uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);" (assignment_expression "uStack_70 = CONCAT44(uStack_70._4_4_,iVar27)" (identifier "uStack_70") (= "=") (call_expression "CONCAT44(uStack_70._4_4_,iVar27)" (identifier "CONCAT44") (argument_list "(uStack_70._4_4_,iVar27)" (( "(") (field_expression "uStack_70._4_4_" (identifier "uStack_70") (. ".") (field_identifier "_4_4_")) (, ",") (identifier "iVar27") () ")")))) (; ";")) (expression_statement "uVar24 = (ulong)local_78 ^ uVar28;" (assignment_expression "uVar24 = (ulong)local_78 ^ uVar28" (identifier "uVar24") (= "=") (binary_expression "(ulong)local_78 ^ uVar28" (cast_expression "(ulong)local_78" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "local_78")) (^ "^") (identifier "uVar28"))) (; ";")) (expression_statement "local_1a0 = uVar24 % (ulong)param_1[4];" (assignment_expression "local_1a0 = uVar24 % (ulong)param_1[4]" (identifier "local_1a0") (= "=") (binary_expression "uVar24 % (ulong)param_1[4]" (identifier "uVar24") (% "%") (cast_expression "(ulong)param_1[4]" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]"))))) (; ";")) (expression_statement "puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24);" (assignment_expression "puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24)" (identifier "puVar18") (= "=") (cast_expression "(undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24)" (identifier "FUN_00182860") (argument_list "(param_1 + 3,local_1a0,local_1a8,uVar24)" (( "(") (binary_expression "param_1 + 3" (identifier "param_1") (+ "+") (number_literal "3")) (, ",") (identifier "local_1a0") (, ",") (identifier "local_1a8") (, ",") (identifier "uVar24") () ")"))))) (; ";")) (if_statement "if ((puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)) {\n                    \n                plVar14 = (long *)FUN_002d94a0(0x28);\n                lVar21 = param_1[6];\n                *plVar14 = 0;\n                lVar29 = param_1[4];\n                *(undefined4 *)(plVar14 + 3) = 0;\n                plVar14[1] = (long)local_78;\n                plVar14[2] = uStack_70;\n                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);\n                if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    \n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }\n                plVar14[4] = uVar24;\n                plVar22 = plVar15 + local_1a0;\n                if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }\n                param_1[6] = param_1[6] + 1;\n              }" (if "if") (parenthesized_expression "((puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0))" (( "(") (binary_expression "(puVar18 == (undefined8 *)0x0) ||\n                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)" (parenthesized_expression "(puVar18 == (undefined8 *)0x0)" (( "(") (binary_expression "puVar18 == (undefined8 *)0x0" (identifier "puVar18") (== "==") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)" (( "(") (comma_expression "plVar14 = (long *)*puVar18, plVar14 == (long *)0x0" (assignment_expression "plVar14 = (long *)*puVar18" (identifier "plVar14") (= "=") (cast_expression "(long *)*puVar18" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar18" (* "*") (identifier "puVar18")))) (, ",") (binary_expression "plVar14 == (long *)0x0" (identifier "plVar14") (== "==") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (compound_statement "{\n                    \n                plVar14 = (long *)FUN_002d94a0(0x28);\n                lVar21 = param_1[6];\n                *plVar14 = 0;\n                lVar29 = param_1[4];\n                *(undefined4 *)(plVar14 + 3) = 0;\n                plVar14[1] = (long)local_78;\n                plVar14[2] = uStack_70;\n                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);\n                if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    \n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }\n                plVar14[4] = uVar24;\n                plVar22 = plVar15 + local_1a0;\n                if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }\n                param_1[6] = param_1[6] + 1;\n              }" ({ "{") (expression_statement "plVar14 = (long *)FUN_002d94a0(0x28);" (assignment_expression "plVar14 = (long *)FUN_002d94a0(0x28)" (identifier "plVar14") (= "=") (cast_expression "(long *)FUN_002d94a0(0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_002d94a0(0x28)" (identifier "FUN_002d94a0") (argument_list "(0x28)" (( "(") (number_literal "0x28") () ")"))))) (; ";")) (expression_statement "lVar21 = param_1[6];" (assignment_expression "lVar21 = param_1[6]" (identifier "lVar21") (= "=") (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "*plVar14 = 0;" (assignment_expression "*plVar14 = 0" (pointer_expression "*plVar14" (* "*") (identifier "plVar14")) (= "=") (number_literal "0")) (; ";")) (expression_statement "lVar29 = param_1[4];" (assignment_expression "lVar29 = param_1[4]" (identifier "lVar29") (= "=") (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(plVar14 + 3) = 0;" (assignment_expression "*(undefined4 *)(plVar14 + 3) = 0" (pointer_expression "*(undefined4 *)(plVar14 + 3)" (* "*") (cast_expression "(undefined4 *)(plVar14 + 3)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar14 + 3)" (( "(") (binary_expression "plVar14 + 3" (identifier "plVar14") (+ "+") (number_literal "3")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar14[1] = (long)local_78;" (assignment_expression "plVar14[1] = (long)local_78" (subscript_expression "plVar14[1]" (identifier "plVar14") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(long)local_78" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_78"))) (; ";")) (expression_statement "plVar14[2] = uStack_70;" (assignment_expression "plVar14[2] = uStack_70" (subscript_expression "plVar14[2]" (identifier "plVar14") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "uStack_70")) (; ";")) (expression_statement "cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);" (assignment_expression "cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1)" (identifier "cVar9") (= "=") (call_expression "FUN_00319200(param_1 + 7,lVar29,lVar21,1)" (identifier "FUN_00319200") (argument_list "(param_1 + 7,lVar29,lVar21,1)" (( "(") (binary_expression "param_1 + 7" (identifier "param_1") (+ "+") (number_literal "7")) (, ",") (identifier "lVar29") (, ",") (identifier "lVar21") (, ",") (number_literal "1") () ")")))) (; ";")) (if_statement "if (cVar9 == '\0') {\n                  plVar15 = (long *)param_1[3];\n                }\n                else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    \n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }" (if "if") (parenthesized_expression "(cVar9 == '\0')" (( "(") (binary_expression "cVar9 == '\0'" (identifier "cVar9") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                  plVar15 = (long *)param_1[3];\n                }" ({ "{") (expression_statement "plVar15 = (long *)param_1[3];" (assignment_expression "plVar15 = (long *)param_1[3]" (identifier "plVar15") (= "=") (cast_expression "(long *)param_1[3]" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")))) (; ";")) (} "}")) (else_clause "else {\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    \n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }" (else "else") (compound_statement "{\n                  if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    \n                    plVar15 = (long *)FUN_0017f5b0();\n                  }\n                  plVar22 = (long *)param_1[5];\n                  param_1[5] = 0;\n                  if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }\nLAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }\n                  param_1[3] = (long)plVar15;\n                  local_1a0 = uVar24 % extraout_RDX;\n                  param_1[4] = extraout_RDX;\n                }" ({ "{") (if_statement "if (extraout_RDX == 1) {\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }\n                  else {\n                    \n                    plVar15 = (long *)FUN_0017f5b0();\n                  }" (if "if") (parenthesized_expression "(extraout_RDX == 1)" (( "(") (binary_expression "extraout_RDX == 1" (identifier "extraout_RDX") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n                    plVar15 = param_1 + 9;\n                    param_1[9] = 0;\n                  }" ({ "{") (expression_statement "plVar15 = param_1 + 9;" (assignment_expression "plVar15 = param_1 + 9" (identifier "plVar15") (= "=") (binary_expression "param_1 + 9" (identifier "param_1") (+ "+") (number_literal "9"))) (; ";")) (expression_statement "param_1[9] = 0;" (assignment_expression "param_1[9] = 0" (subscript_expression "param_1[9]" (identifier "param_1") ([ "[") (number_literal "9") (] "]")) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n                    \n                    plVar15 = (long *)FUN_0017f5b0();\n                  }" (else "else") (compound_statement "{\n                    \n                    plVar15 = (long *)FUN_0017f5b0();\n                  }" ({ "{") (expression_statement "plVar15 = (long *)FUN_0017f5b0();" (assignment_expression "plVar15 = (long *)FUN_0017f5b0()" (identifier "plVar15") (= "=") (cast_expression "(long *)FUN_0017f5b0()" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0017f5b0()" (identifier "FUN_0017f5b0") (argument_list "()" (( "(") () ")"))))) (; ";")) (} "}")))) (expression_statement "plVar22 = (long *)param_1[5];" (assignment_expression "plVar22 = (long *)param_1[5]" (identifier "plVar22") (= "=") (cast_expression "(long *)param_1[5]" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]")))) (; ";")) (expression_statement "param_1[5] = 0;" (assignment_expression "param_1[5] = 0" (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if (plVar22 != (long *)0x0) {\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }" (if "if") (parenthesized_expression "(plVar22 != (long *)0x0)" (( "(") (binary_expression "plVar22 != (long *)0x0" (identifier "plVar22") (!= "!=") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    uVar25 = 0;\n                    do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);\n                  }" ({ "{") (expression_statement "uVar25 = 0;" (assignment_expression "uVar25 = 0" (identifier "uVar25") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    } while (plVar6 != (long *)0x0);" (do "do") (compound_statement "{\n                      while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }\n                      *plVar22 = param_1[5];\n                      param_1[5] = (long)plVar22;\n                      *plVar1 = (long)(param_1 + 5);\n                      if (*plVar22 == 0) goto LAB_00180d64;\n                      plVar15[uVar25] = (long)plVar22;\n                      plVar22 = plVar6;\n                      uVar25 = uVar23;\n                    }" ({ "{") (while_statement "while( true ) {\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n                        plVar6 = (long *)*plVar22;\n                        uVar23 = (ulong)plVar22[4] % extraout_RDX;\n                        plVar1 = plVar15 + uVar23;\n                        if ((long *)*plVar1 == (long *)0x0) break;\n                        *plVar22 = *(long *)*plVar1;\n                        *(long **)*plVar1 = plVar22;\n                        uVar23 = uVar25;\nLAB_00180d64:\n                        plVar22 = plVar6;\n                        uVar25 = uVar23;\n                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;\n                      }" ({ "{") (expression_statement "plVar6 = (long *)*plVar22;" (assignment_expression "plVar6 = (long *)*plVar22" (identifier "plVar6") (= "=") (cast_expression "(long *)*plVar22" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*plVar22" (* "*") (identifier "plVar22")))) (; ";")) (expression_statement "uVar23 = (ulong)plVar22[4] % extraout_RDX;" (assignment_expression "uVar23 = (ulong)plVar22[4] % extraout_RDX" (identifier "uVar23") (= "=") (binary_expression "(ulong)plVar22[4] % extraout_RDX" (cast_expression "(ulong)plVar22[4]" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (subscript_expression "plVar22[4]" (identifier "plVar22") ([ "[") (number_literal "4") (] "]"))) (% "%") (identifier "extraout_RDX"))) (; ";")) (expression_statement "plVar1 = plVar15 + uVar23;" (assignment_expression "plVar1 = plVar15 + uVar23" (identifier "plVar1") (= "=") (binary_expression "plVar15 + uVar23" (identifier "plVar15") (+ "+") (identifier "uVar23"))) (; ";")) (if_statement "if ((long *)*plVar1 == (long *)0x0) break;" (if "if") (parenthesized_expression "((long *)*plVar1 == (long *)0x0)" (( "(") (binary_expression "(long *)*plVar1 == (long *)0x0" (cast_expression "(long *)*plVar1" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*plVar1" (* "*") (identifier "plVar1"))) (== "==") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "*plVar22 = *(long *)*plVar1;" (assignment_expression "*plVar22 = *(long *)*plVar1" (pointer_expression "*plVar22" (* "*") (identifier "plVar22")) (= "=") (pointer_expression "*(long *)*plVar1" (* "*") (cast_expression "(long *)*plVar1" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*plVar1" (* "*") (identifier "plVar1"))))) (; ";")) (expression_statement "*(long **)*plVar1 = plVar22;" (assignment_expression "*(long **)*plVar1 = plVar22" (pointer_expression "*(long **)*plVar1" (* "*") (cast_expression "(long **)*plVar1" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*plVar1" (* "*") (identifier "plVar1")))) (= "=") (identifier "plVar22")) (; ";")) (expression_statement "uVar23 = uVar25;" (assignment_expression "uVar23 = uVar25" (identifier "uVar23") (= "=") (identifier "uVar25")) (; ";")) (labeled_statement "LAB_00180d64:\n                        plVar22 = plVar6;" (statement_identifier "LAB_00180d64") (: ":") (expression_statement "plVar22 = plVar6;" (assignment_expression "plVar22 = plVar6" (identifier "plVar22") (= "=") (identifier "plVar6")) (; ";"))) (expression_statement "uVar25 = uVar23;" (assignment_expression "uVar25 = uVar23" (identifier "uVar25") (= "=") (identifier "uVar23")) (; ";")) (if_statement "if (plVar6 == (long *)0x0) goto LAB_00180dc0;" (if "if") (parenthesized_expression "(plVar6 == (long *)0x0)" (( "(") (binary_expression "plVar6 == (long *)0x0" (identifier "plVar6") (== "==") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00180dc0;" (goto "goto") (statement_identifier "LAB_00180dc0") (; ";"))) (} "}"))) (expression_statement "*plVar22 = param_1[5];" (assignment_expression "*plVar22 = param_1[5]" (pointer_expression "*plVar22" (* "*") (identifier "plVar22")) (= "=") (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "param_1[5] = (long)plVar22;" (assignment_expression "param_1[5] = (long)plVar22" (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]")) (= "=") (cast_expression "(long)plVar22" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "plVar22"))) (; ";")) (expression_statement "*plVar1 = (long)(param_1 + 5);" (assignment_expression "*plVar1 = (long)(param_1 + 5)" (pointer_expression "*plVar1" (* "*") (identifier "plVar1")) (= "=") (cast_expression "(long)(param_1 + 5)" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (parenthesized_expression "(param_1 + 5)" (( "(") (binary_expression "param_1 + 5" (identifier "param_1") (+ "+") (number_literal "5")) () ")")))) (; ";")) (if_statement "if (*plVar22 == 0) goto LAB_00180d64;" (if "if") (parenthesized_expression "(*plVar22 == 0)" (( "(") (binary_expression "*plVar22 == 0" (pointer_expression "*plVar22" (* "*") (identifier "plVar22")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00180d64;" (goto "goto") (statement_identifier "LAB_00180d64") (; ";"))) (expression_statement "plVar15[uVar25] = (long)plVar22;" (assignment_expression "plVar15[uVar25] = (long)plVar22" (subscript_expression "plVar15[uVar25]" (identifier "plVar15") ([ "[") (identifier "uVar25") (] "]")) (= "=") (cast_expression "(long)plVar22" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "plVar22"))) (; ";")) (expression_statement "plVar22 = plVar6;" (assignment_expression "plVar22 = plVar6" (identifier "plVar22") (= "=") (identifier "plVar6")) (; ";")) (expression_statement "uVar25 = uVar23;" (assignment_expression "uVar25 = uVar23" (identifier "uVar25") (= "=") (identifier "uVar23")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(plVar6 != (long *)0x0)" (( "(") (binary_expression "plVar6 != (long *)0x0" (identifier "plVar6") (!= "!=") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (} "}"))) (labeled_statement "LAB_00180dc0:\n                  if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }" (statement_identifier "LAB_00180dc0") (: ":") (if_statement "if ((long *)param_1[3] != param_1 + 9) {\n                    FUN_002dac70();\n                  }" (if "if") (parenthesized_expression "((long *)param_1[3] != param_1 + 9)" (( "(") (binary_expression "(long *)param_1[3] != param_1 + 9" (cast_expression "(long *)param_1[3]" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]"))) (!= "!=") (binary_expression "param_1 + 9" (identifier "param_1") (+ "+") (number_literal "9"))) () ")")) (compound_statement "{\n                    FUN_002dac70();\n                  }" ({ "{") (expression_statement "FUN_002dac70();" (call_expression "FUN_002dac70()" (identifier "FUN_002dac70") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (expression_statement "param_1[3] = (long)plVar15;" (assignment_expression "param_1[3] = (long)plVar15" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (= "=") (cast_expression "(long)plVar15" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "plVar15"))) (; ";")) (expression_statement "local_1a0 = uVar24 % extraout_RDX;" (assignment_expression "local_1a0 = uVar24 % extraout_RDX" (identifier "local_1a0") (= "=") (binary_expression "uVar24 % extraout_RDX" (identifier "uVar24") (% "%") (identifier "extraout_RDX"))) (; ";")) (expression_statement "param_1[4] = extraout_RDX;" (assignment_expression "param_1[4] = extraout_RDX" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "extraout_RDX")) (; ";")) (} "}")))) (expression_statement "plVar14[4] = uVar24;" (assignment_expression "plVar14[4] = uVar24" (subscript_expression "plVar14[4]" (identifier "plVar14") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "uVar24")) (; ";")) (expression_statement "plVar22 = plVar15 + local_1a0;" (assignment_expression "plVar22 = plVar15 + local_1a0" (identifier "plVar22") (= "=") (binary_expression "plVar15 + local_1a0" (identifier "plVar15") (+ "+") (identifier "local_1a0"))) (; ";")) (if_statement "if ((long *)*plVar22 == (long *)0x0) {\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }\n                else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }" (if "if") (parenthesized_expression "((long *)*plVar22 == (long *)0x0)" (( "(") (binary_expression "(long *)*plVar22 == (long *)0x0" (cast_expression "(long *)*plVar22" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*plVar22" (* "*") (identifier "plVar22"))) (== "==") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                  lVar21 = param_1[5];\n                  param_1[5] = (long)plVar14;\n                  *plVar14 = lVar21;\n                  if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }\n                  *plVar22 = (long)(param_1 + 5);\n                }" ({ "{") (expression_statement "lVar21 = param_1[5];" (assignment_expression "lVar21 = param_1[5]" (identifier "lVar21") (= "=") (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "param_1[5] = (long)plVar14;" (assignment_expression "param_1[5] = (long)plVar14" (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]")) (= "=") (cast_expression "(long)plVar14" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "plVar14"))) (; ";")) (expression_statement "*plVar14 = lVar21;" (assignment_expression "*plVar14 = lVar21" (pointer_expression "*plVar14" (* "*") (identifier "plVar14")) (= "=") (identifier "lVar21")) (; ";")) (if_statement "if (lVar21 != 0) {\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }" (if "if") (parenthesized_expression "(lVar21 != 0)" (( "(") (binary_expression "lVar21 != 0" (identifier "lVar21") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;\n                  }" ({ "{") (expression_statement "plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;" (assignment_expression "plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14" (subscript_expression "plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]]" (identifier "plVar15") ([ "[") (binary_expression "*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]" (pointer_expression "*(ulong *)(lVar21 + 0x20)" (* "*") (cast_expression "(ulong *)(lVar21 + 0x20)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar21 + 0x20)" (( "(") (binary_expression "lVar21 + 0x20" (identifier "lVar21") (+ "+") (number_literal "0x20")) () ")")))) (% "%") (cast_expression "(ulong)param_1[4]" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")))) (] "]")) (= "=") (cast_expression "(long)plVar14" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "plVar14"))) (; ";")) (} "}"))) (expression_statement "*plVar22 = (long)(param_1 + 5);" (assignment_expression "*plVar22 = (long)(param_1 + 5)" (pointer_expression "*plVar22" (* "*") (identifier "plVar22")) (= "=") (cast_expression "(long)(param_1 + 5)" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (parenthesized_expression "(param_1 + 5)" (( "(") (binary_expression "param_1 + 5" (identifier "param_1") (+ "+") (number_literal "5")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }" (else "else") (compound_statement "{\n                  *plVar14 = *(long *)*plVar22;\n                  *(long **)*plVar22 = plVar14;\n                }" ({ "{") (expression_statement "*plVar14 = *(long *)*plVar22;" (assignment_expression "*plVar14 = *(long *)*plVar22" (pointer_expression "*plVar14" (* "*") (identifier "plVar14")) (= "=") (pointer_expression "*(long *)*plVar22" (* "*") (cast_expression "(long *)*plVar22" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*plVar22" (* "*") (identifier "plVar22"))))) (; ";")) (expression_statement "*(long **)*plVar22 = plVar14;" (assignment_expression "*(long **)*plVar22 = plVar14" (pointer_expression "*(long **)*plVar22" (* "*") (cast_expression "(long **)*plVar22" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*plVar22" (* "*") (identifier "plVar22")))) (= "=") (identifier "plVar14")) (; ";")) (} "}")))) (expression_statement "param_1[6] = param_1[6] + 1;" (assignment_expression "param_1[6] = param_1[6] + 1" (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]")) (= "=") (binary_expression "param_1[6] + 1" (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]")) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "piVar5 = (int *)param_1[0xb];" (assignment_expression "piVar5 = (int *)param_1[0xb]" (identifier "piVar5") (= "=") (cast_expression "(int *)param_1[0xb]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[0xb]" (identifier "param_1") ([ "[") (number_literal "0xb") (] "]")))) (; ";")) (expression_statement "*(int *)(plVar14 + 3) = iVar13;" (assignment_expression "*(int *)(plVar14 + 3) = iVar13" (pointer_expression "*(int *)(plVar14 + 3)" (* "*") (cast_expression "(int *)(plVar14 + 3)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar14 + 3)" (( "(") (binary_expression "plVar14 + 3" (identifier "plVar14") (+ "+") (number_literal "3")) () ")")))) (= "=") (identifier "iVar13")) (; ";")) (if_statement "if (piVar5 == (int *)param_1[0xc]) {\n                __src = (int *)param_1[10];\n                sVar17 = (long)piVar5 - (long)__src;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }\n                *(int *)((long)__dest + sVar17) = iVar13;\n                lVar21 = (long)__dest + sVar17 + 4;\n                if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }\n                param_1[10] = (long)__dest;\n                param_1[0xb] = lVar21;\n                param_1[0xc] = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }\n              else {\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }" (if "if") (parenthesized_expression "(piVar5 == (int *)param_1[0xc])" (( "(") (binary_expression "piVar5 == (int *)param_1[0xc]" (identifier "piVar5") (== "==") (cast_expression "(int *)param_1[0xc]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[0xc]" (identifier "param_1") ([ "[") (number_literal "0xc") (] "]")))) () ")")) (compound_statement "{\n                __src = (int *)param_1[10];\n                sVar17 = (long)piVar5 - (long)__src;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }\n                *(int *)((long)__dest + sVar17) = iVar13;\n                lVar21 = (long)__dest + sVar17 + 4;\n                if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }\n                param_1[10] = (long)__dest;\n                param_1[0xb] = lVar21;\n                param_1[0xc] = local_1e8;\n                if (local_1c8 == local_1b0) goto LAB_00181108;\nLAB_00180b52:\n                *local_1b0 = 0;\n                local_1b0 = local_1b0 + 1;\n                __dest_00 = local_1d8;\n              }" ({ "{") (expression_statement "__src = (int *)param_1[10];" (assignment_expression "__src = (int *)param_1[10]" (identifier "__src") (= "=") (cast_expression "(int *)param_1[10]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]")))) (; ";")) (expression_statement "sVar17 = (long)piVar5 - (long)__src;" (assignment_expression "sVar17 = (long)piVar5 - (long)__src" (identifier "sVar17") (= "=") (binary_expression "(long)piVar5 - (long)__src" (cast_expression "(long)piVar5" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "piVar5")) (- "-") (cast_expression "(long)__src" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "__src")))) (; ";")) (expression_statement "uVar24 = (long)sVar17 >> 2;" (assignment_expression "uVar24 = (long)sVar17 >> 2" (identifier "uVar24") (= "=") (binary_expression "(long)sVar17 >> 2" (cast_expression "(long)sVar17" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "sVar17")) (>> ">>") (number_literal "2"))) (; ";")) (if_statement "if (uVar24 == 0) {\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }" (if "if") (parenthesized_expression "(uVar24 == 0)" (( "(") (binary_expression "uVar24 == 0" (identifier "uVar24") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  local_1d0 = 4;\nLAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);\n                  local_1e8 = local_1d0 + (long)__dest;\n                }" ({ "{") (expression_statement "local_1d0 = 4;" (assignment_expression "local_1d0 = 4" (identifier "local_1d0") (= "=") (number_literal "4")) (; ";")) (labeled_statement "LAB_00181065:\n                  __dest = (void *)FUN_002d94a0(local_1d0);" (statement_identifier "LAB_00181065") (: ":") (expression_statement "__dest = (void *)FUN_002d94a0(local_1d0);" (assignment_expression "__dest = (void *)FUN_002d94a0(local_1d0)" (identifier "__dest") (= "=") (cast_expression "(void *)FUN_002d94a0(local_1d0)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_002d94a0(local_1d0)" (identifier "FUN_002d94a0") (argument_list "(local_1d0)" (( "(") (identifier "local_1d0") () ")"))))) (; ";"))) (expression_statement "local_1e8 = local_1d0 + (long)__dest;" (assignment_expression "local_1e8 = local_1d0 + (long)__dest" (identifier "local_1e8") (= "=") (binary_expression "local_1d0 + (long)__dest" (identifier "local_1d0") (+ "+") (cast_expression "(long)__dest" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "__dest")))) (; ";")) (} "}")) (else_clause "else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }" (else "else") (compound_statement "{\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }\n                  local_1d0 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;\n                  if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }\n                  local_1e8 = 0;\n                  __dest = (void *)0x0;\n                }" ({ "{") (expression_statement "uVar25 = uVar24 * 2;" (assignment_expression "uVar25 = uVar24 * 2" (identifier "uVar25") (= "=") (binary_expression "uVar24 * 2" (identifier "uVar24") (* "*") (number_literal "2"))) (; ";")) (if_statement "if (uVar25 < uVar24) {\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }" (if "if") (parenthesized_expression "(uVar25 < uVar24)" (( "(") (binary_expression "uVar25 < uVar24" (identifier "uVar25") (< "<") (identifier "uVar24")) () ")")) (compound_statement "{\n                    local_1d0 = -4;\n                    goto LAB_00181065;\n                  }" ({ "{") (expression_statement "local_1d0 = -4;" (assignment_expression "local_1d0 = -4" (identifier "local_1d0") (= "=") (number_literal "-4")) (; ";")) (goto_statement "goto LAB_00181065;" (goto "goto") (statement_identifier "LAB_00181065") (; ";")) (} "}"))) (expression_statement "local_1d0 = -4;" (assignment_expression "local_1d0 = -4" (identifier "local_1d0") (= "=") (number_literal "-4")) (; ";")) (if_statement "if (0x3fffffffffffffff < uVar25) goto LAB_00181065;" (if "if") (parenthesized_expression "(0x3fffffffffffffff < uVar25)" (( "(") (binary_expression "0x3fffffffffffffff < uVar25" (number_literal "0x3fffffffffffffff") (< "<") (identifier "uVar25")) () ")")) (goto_statement "goto LAB_00181065;" (goto "goto") (statement_identifier "LAB_00181065") (; ";"))) (if_statement "if (uVar25 != 0) {\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }" (if "if") (parenthesized_expression "(uVar25 != 0)" (( "(") (binary_expression "uVar25 != 0" (identifier "uVar25") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    local_1d0 = uVar24 << 3;\n                    goto LAB_00181065;\n                  }" ({ "{") (expression_statement "local_1d0 = uVar24 << 3;" (assignment_expression "local_1d0 = uVar24 << 3" (identifier "local_1d0") (= "=") (binary_expression "uVar24 << 3" (identifier "uVar24") (<< "<<") (number_literal "3"))) (; ";")) (goto_statement "goto LAB_00181065;" (goto "goto") (statement_identifier "LAB_00181065") (; ";")) (} "}"))) (expression_statement "local_1e8 = 0;" (assignment_expression "local_1e8 = 0" (identifier "local_1e8") (= "=") (number_literal "0")) (; ";")) (expression_statement "__dest = (void *)0x0;" (assignment_expression "__dest = (void *)0x0" (identifier "__dest") (= "=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")))) (expression_statement "*(int *)((long)__dest + sVar17) = iVar13;" (assignment_expression "*(int *)((long)__dest + sVar17) = iVar13" (pointer_expression "*(int *)((long)__dest + sVar17)" (* "*") (cast_expression "(int *)((long)__dest + sVar17)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)__dest + sVar17)" (( "(") (binary_expression "(long)__dest + sVar17" (cast_expression "(long)__dest" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "__dest")) (+ "+") (identifier "sVar17")) () ")")))) (= "=") (identifier "iVar13")) (; ";")) (expression_statement "lVar21 = (long)__dest + sVar17 + 4;" (assignment_expression "lVar21 = (long)__dest + sVar17 + 4" (identifier "lVar21") (= "=") (binary_expression "(long)__dest + sVar17 + 4" (binary_expression "(long)__dest + sVar17" (cast_expression "(long)__dest" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "__dest")) (+ "+") (identifier "sVar17")) (+ "+") (number_literal "4"))) (; ";")) (if_statement "if (piVar5 == __src) {\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }\n                else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }" (if "if") (parenthesized_expression "(piVar5 == __src)" (( "(") (binary_expression "piVar5 == __src" (identifier "piVar5") (== "==") (identifier "__src")) () ")")) (compound_statement "{\n                  if (__src != (int *)0x0) goto LAB_001810bd;\n                }" ({ "{") (if_statement "if (__src != (int *)0x0) goto LAB_001810bd;" (if "if") (parenthesized_expression "(__src != (int *)0x0)" (( "(") (binary_expression "__src != (int *)0x0" (identifier "__src") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_001810bd;" (goto "goto") (statement_identifier "LAB_001810bd") (; ";"))) (} "}")) (else_clause "else {\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }" (else "else") (compound_statement "{\n                  __dest = memmove(__dest,__src,sVar17);\nLAB_001810bd:\n                  FUN_002dac70(__src);\n                }" ({ "{") (expression_statement "__dest = memmove(__dest,__src,sVar17);" (assignment_expression "__dest = memmove(__dest,__src,sVar17)" (identifier "__dest") (= "=") (call_expression "memmove(__dest,__src,sVar17)" (identifier "memmove") (argument_list "(__dest,__src,sVar17)" (( "(") (identifier "__dest") (, ",") (identifier "__src") (, ",") (identifier "sVar17") () ")")))) (; ";")) (labeled_statement "LAB_001810bd:\n                  FUN_002dac70(__src);" (statement_identifier "LAB_001810bd") (: ":") (expression_statement "FUN_002dac70(__src);" (call_expression "FUN_002dac70(__src)" (identifier "FUN_002dac70") (argument_list "(__src)" (( "(") (identifier "__src") () ")"))) (; ";"))) (} "}")))) (expression_statement "param_1[10] = (long)__dest;" (assignment_expression "param_1[10] = (long)__dest" (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]")) (= "=") (cast_expression "(long)__dest" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "__dest"))) (; ";")) (expression_statement "param_1[0xb] = lVar21;" (assignment_expression "param_1[0xb] = lVar21" (subscript_expression "param_1[0xb]" (identifier "param_1") ([ "[") (number_literal "0xb") (] "]")) (= "=") (identifier "lVar21")) (; ";")) (expression_statement "param_1[0xc] = local_1e8;" (assignment_expression "param_1[0xc] = local_1e8" (subscript_expression "param_1[0xc]" (identifier "param_1") ([ "[") (number_literal "0xc") (] "]")) (= "=") (identifier "local_1e8")) (; ";")) (if_statement "if (local_1c8 == local_1b0) goto LAB_00181108;" (if "if") (parenthesized_expression "(local_1c8 == local_1b0)" (( "(") (binary_expression "local_1c8 == local_1b0" (identifier "local_1c8") (== "==") (identifier "local_1b0")) () ")")) (goto_statement "goto LAB_00181108;" (goto "goto") (statement_identifier "LAB_00181108") (; ";"))) (labeled_statement "LAB_00180b52:\n                *local_1b0 = 0;" (statement_identifier "LAB_00180b52") (: ":") (expression_statement "*local_1b0 = 0;" (assignment_expression "*local_1b0 = 0" (pointer_expression "*local_1b0" (* "*") (identifier "local_1b0")) (= "=") (number_literal "0")) (; ";"))) (expression_statement "local_1b0 = local_1b0 + 1;" (assignment_expression "local_1b0 = local_1b0 + 1" (identifier "local_1b0") (= "=") (binary_expression "local_1b0 + 1" (identifier "local_1b0") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "__dest_00 = local_1d8;" (assignment_expression "__dest_00 = local_1d8" (identifier "__dest_00") (= "=") (identifier "local_1d8")) (; ";")) (} "}")) (else_clause "else {\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }" (else "else") (compound_statement "{\n                *piVar5 = iVar13;\n                param_1[0xb] = (long)(piVar5 + 1);\n                if (local_1c8 != local_1b0) goto LAB_00180b52;\nLAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;\n                uVar24 = (long)sVar17 >> 2;\n                if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }\n                *(undefined4 *)((long)__dest_00 + sVar17) = 0;\n                if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }\n              }" ({ "{") (expression_statement "*piVar5 = iVar13;" (assignment_expression "*piVar5 = iVar13" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (= "=") (identifier "iVar13")) (; ";")) (expression_statement "param_1[0xb] = (long)(piVar5 + 1);" (assignment_expression "param_1[0xb] = (long)(piVar5 + 1)" (subscript_expression "param_1[0xb]" (identifier "param_1") ([ "[") (number_literal "0xb") (] "]")) (= "=") (cast_expression "(long)(piVar5 + 1)" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (parenthesized_expression "(piVar5 + 1)" (( "(") (binary_expression "piVar5 + 1" (identifier "piVar5") (+ "+") (number_literal "1")) () ")")))) (; ";")) (if_statement "if (local_1c8 != local_1b0) goto LAB_00180b52;" (if "if") (parenthesized_expression "(local_1c8 != local_1b0)" (( "(") (binary_expression "local_1c8 != local_1b0" (identifier "local_1c8") (!= "!=") (identifier "local_1b0")) () ")")) (goto_statement "goto LAB_00180b52;" (goto "goto") (statement_identifier "LAB_00180b52") (; ";"))) (labeled_statement "LAB_00181108:\n                sVar17 = (long)local_1b0 - (long)local_1d8;" (statement_identifier "LAB_00181108") (: ":") (expression_statement "sVar17 = (long)local_1b0 - (long)local_1d8;" (assignment_expression "sVar17 = (long)local_1b0 - (long)local_1d8" (identifier "sVar17") (= "=") (binary_expression "(long)local_1b0 - (long)local_1d8" (cast_expression "(long)local_1b0" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_1b0")) (- "-") (cast_expression "(long)local_1d8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_1d8")))) (; ";"))) (expression_statement "uVar24 = (long)sVar17 >> 2;" (assignment_expression "uVar24 = (long)sVar17 >> 2" (identifier "uVar24") (= "=") (binary_expression "(long)sVar17 >> 2" (cast_expression "(long)sVar17" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "sVar17")) (>> ">>") (number_literal "2"))) (; ";")) (if_statement "if (uVar24 == 0) {\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }\n                else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }" (if "if") (parenthesized_expression "(uVar24 == 0)" (( "(") (binary_expression "uVar24 == 0" (identifier "uVar24") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  lVar21 = 4;\nLAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);\n                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);\n                }" ({ "{") (expression_statement "lVar21 = 4;" (assignment_expression "lVar21 = 4" (identifier "lVar21") (= "=") (number_literal "4")) (; ";")) (labeled_statement "LAB_0018114e:\n                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);" (statement_identifier "LAB_0018114e") (: ":") (expression_statement "__dest_00 = (undefined4 *)FUN_002d94a0(lVar21);" (assignment_expression "__dest_00 = (undefined4 *)FUN_002d94a0(lVar21)" (identifier "__dest_00") (= "=") (cast_expression "(undefined4 *)FUN_002d94a0(lVar21)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_002d94a0(lVar21)" (identifier "FUN_002d94a0") (argument_list "(lVar21)" (( "(") (identifier "lVar21") () ")"))))) (; ";"))) (expression_statement "local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);" (assignment_expression "local_1c8 = (undefined4 *)((long)__dest_00 + lVar21)" (identifier "local_1c8") (= "=") (cast_expression "(undefined4 *)((long)__dest_00 + lVar21)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)__dest_00 + lVar21)" (( "(") (binary_expression "(long)__dest_00 + lVar21" (cast_expression "(long)__dest_00" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "__dest_00")) (+ "+") (identifier "lVar21")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }" (else "else") (compound_statement "{\n                  uVar25 = uVar24 * 2;\n                  if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }\n                  lVar21 = -4;\n                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;\n                  if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }\n                  local_1c8 = (undefined4 *)0x0;\n                  __dest_00 = (undefined4 *)0x0;\n                }" ({ "{") (expression_statement "uVar25 = uVar24 * 2;" (assignment_expression "uVar25 = uVar24 * 2" (identifier "uVar25") (= "=") (binary_expression "uVar24 * 2" (identifier "uVar24") (* "*") (number_literal "2"))) (; ";")) (if_statement "if (uVar25 < uVar24) {\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }" (if "if") (parenthesized_expression "(uVar25 < uVar24)" (( "(") (binary_expression "uVar25 < uVar24" (identifier "uVar25") (< "<") (identifier "uVar24")) () ")")) (compound_statement "{\n                    lVar21 = -4;\n                    goto LAB_0018114e;\n                  }" ({ "{") (expression_statement "lVar21 = -4;" (assignment_expression "lVar21 = -4" (identifier "lVar21") (= "=") (number_literal "-4")) (; ";")) (goto_statement "goto LAB_0018114e;" (goto "goto") (statement_identifier "LAB_0018114e") (; ";")) (} "}"))) (expression_statement "lVar21 = -4;" (assignment_expression "lVar21 = -4" (identifier "lVar21") (= "=") (number_literal "-4")) (; ";")) (if_statement "if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;" (if "if") (parenthesized_expression "(0x3fffffffffffffff < uVar25)" (( "(") (binary_expression "0x3fffffffffffffff < uVar25" (number_literal "0x3fffffffffffffff") (< "<") (identifier "uVar25")) () ")")) (goto_statement "goto LAB_0018114e;" (goto "goto") (statement_identifier "LAB_0018114e") (; ";"))) (if_statement "if (uVar25 != 0) {\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }" (if "if") (parenthesized_expression "(uVar25 != 0)" (( "(") (binary_expression "uVar25 != 0" (identifier "uVar25") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    lVar21 = uVar24 * 8;\n                    goto LAB_0018114e;\n                  }" ({ "{") (expression_statement "lVar21 = uVar24 * 8;" (assignment_expression "lVar21 = uVar24 * 8" (identifier "lVar21") (= "=") (binary_expression "uVar24 * 8" (identifier "uVar24") (* "*") (number_literal "8"))) (; ";")) (goto_statement "goto LAB_0018114e;" (goto "goto") (statement_identifier "LAB_0018114e") (; ";")) (} "}"))) (expression_statement "local_1c8 = (undefined4 *)0x0;" (assignment_expression "local_1c8 = (undefined4 *)0x0" (identifier "local_1c8") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "__dest_00 = (undefined4 *)0x0;" (assignment_expression "__dest_00 = (undefined4 *)0x0" (identifier "__dest_00") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")))) (expression_statement "*(undefined4 *)((long)__dest_00 + sVar17) = 0;" (assignment_expression "*(undefined4 *)((long)__dest_00 + sVar17) = 0" (pointer_expression "*(undefined4 *)((long)__dest_00 + sVar17)" (* "*") (cast_expression "(undefined4 *)((long)__dest_00 + sVar17)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)__dest_00 + sVar17)" (( "(") (binary_expression "(long)__dest_00 + sVar17" (cast_expression "(long)__dest_00" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "__dest_00")) (+ "+") (identifier "sVar17")) () ")")))) (= "=") (number_literal "0")) (; ";")) (if_statement "if (local_1b0 == local_1d8) {\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }\n                else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }" (if "if") (parenthesized_expression "(local_1b0 == local_1d8)" (( "(") (binary_expression "local_1b0 == local_1d8" (identifier "local_1b0") (== "==") (identifier "local_1d8")) () ")")) (compound_statement "{\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\n                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;\n                }" ({ "{") (expression_statement "local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);" (assignment_expression "local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4)" (identifier "local_1b0") (= "=") (cast_expression "(undefined4 *)((long)__dest_00 + sVar17 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)__dest_00 + sVar17 + 4)" (( "(") (binary_expression "(long)__dest_00 + sVar17 + 4" (binary_expression "(long)__dest_00 + sVar17" (cast_expression "(long)__dest_00" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "__dest_00")) (+ "+") (identifier "sVar17")) (+ "+") (number_literal "4")) () ")")))) (; ";")) (if_statement "if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;" (if "if") (parenthesized_expression "(local_1d8 != (undefined4 *)0x0)" (( "(") (binary_expression "local_1d8 != (undefined4 *)0x0" (identifier "local_1d8") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_001811a1;" (goto "goto") (statement_identifier "LAB_001811a1") (; ";"))) (} "}")) (else_clause "else {\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }" (else "else") (compound_statement "{\n                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);\n                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);\nLAB_001811a1:\n                  FUN_002dac70(local_1d8);\n                }" ({ "{") (expression_statement "__dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);" (assignment_expression "__dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17)" (identifier "__dest_00") (= "=") (cast_expression "(undefined4 *)memmove(__dest_00,local_1d8,sVar17)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "memmove(__dest_00,local_1d8,sVar17)" (identifier "memmove") (argument_list "(__dest_00,local_1d8,sVar17)" (( "(") (identifier "__dest_00") (, ",") (identifier "local_1d8") (, ",") (identifier "sVar17") () ")"))))) (; ";")) (expression_statement "local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);" (assignment_expression "local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4)" (identifier "local_1b0") (= "=") (cast_expression "(undefined4 *)((long)__dest_00 + sVar17 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)__dest_00 + sVar17 + 4)" (( "(") (binary_expression "(long)__dest_00 + sVar17 + 4" (binary_expression "(long)__dest_00 + sVar17" (cast_expression "(long)__dest_00" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "__dest_00")) (+ "+") (identifier "sVar17")) (+ "+") (number_literal "4")) () ")")))) (; ";")) (labeled_statement "LAB_001811a1:\n                  FUN_002dac70(local_1d8);" (statement_identifier "LAB_001811a1") (: ":") (expression_statement "FUN_002dac70(local_1d8);" (call_expression "FUN_002dac70(local_1d8)" (identifier "FUN_002dac70") (argument_list "(local_1d8)" (( "(") (identifier "local_1d8") () ")"))) (; ";"))) (} "}")))) (} "}")))) (expression_statement "local_1d8 = __dest_00;" (assignment_expression "local_1d8 = __dest_00" (identifier "local_1d8") (= "=") (identifier "__dest_00")) (; ";")) (expression_statement "local_78 = (undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28);" (assignment_expression "local_78 = (undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28)" (identifier "local_78") (= "=") (cast_expression "(undefined8 *)\n                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28)" (parenthesized_expression "(**(code **)(*(long *)*puVar19 + 0xb8))" (( "(") (pointer_expression "**(code **)(*(long *)*puVar19 + 0xb8)" (* "*") (pointer_expression "*(code **)(*(long *)*puVar19 + 0xb8)" (* "*") (cast_expression "(code **)(*(long *)*puVar19 + 0xb8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(long *)*puVar19 + 0xb8)" (( "(") (binary_expression "*(long *)*puVar19 + 0xb8" (pointer_expression "*(long *)*puVar19" (* "*") (cast_expression "(long *)*puVar19" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar19" (* "*") (identifier "puVar19")))) (+ "+") (number_literal "0xb8")) () ")"))))) () ")")) (argument_list "((long *)*puVar19,uVar28)" (( "(") (cast_expression "(long *)*puVar19" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar19" (* "*") (identifier "puVar19"))) (, ",") (identifier "uVar28") () ")"))))) (; ";")) (if_statement "if (local_160 == local_158) {\n                FUN_00182710(&local_168,local_160,local_1a8);\n              }\n              else {\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }" (if "if") (parenthesized_expression "(local_160 == local_158)" (( "(") (binary_expression "local_160 == local_158" (identifier "local_160") (== "==") (identifier "local_158")) () ")")) (compound_statement "{\n                FUN_00182710(&local_168,local_160,local_1a8);\n              }" ({ "{") (expression_statement "FUN_00182710(&local_168,local_160,local_1a8);" (call_expression "FUN_00182710(&local_168,local_160,local_1a8)" (identifier "FUN_00182710") (argument_list "(&local_168,local_160,local_1a8)" (( "(") (pointer_expression "&local_168" (& "&") (identifier "local_168")) (, ",") (identifier "local_160") (, ",") (identifier "local_1a8") () ")"))) (; ";")) (} "}")) (else_clause "else {\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }" (else "else") (compound_statement "{\n                *local_160 = local_78;\n                local_160 = local_160 + 1;\n              }" ({ "{") (expression_statement "*local_160 = local_78;" (assignment_expression "*local_160 = local_78" (pointer_expression "*local_160" (* "*") (identifier "local_160")) (= "=") (identifier "local_78")) (; ";")) (expression_statement "local_160 = local_160 + 1;" (assignment_expression "local_160 = local_160 + 1" (identifier "local_160") (= "=") (binary_expression "local_160 + 1" (identifier "local_160") (+ "+") (number_literal "1"))) (; ";")) (} "}")))) (expression_statement "iVar10 = local_90;" (assignment_expression "iVar10 = local_90" (identifier "iVar10") (= "=") (identifier "local_90")) (; ";")) (expression_statement "puVar32 = local_98;" (assignment_expression "puVar32 = local_98" (identifier "puVar32") (= "=") (identifier "local_98")) (; ";")) (if_statement "if (local_98 == local_88) {\n                local_180 = local_90;\n                local_188 = local_98;\n                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);\n              }\n              else {\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }" (if "if") (parenthesized_expression "(local_98 == local_88)" (( "(") (binary_expression "local_98 == local_88" (identifier "local_98") (== "==") (identifier "local_88")) () ")")) (compound_statement "{\n                local_180 = local_90;\n                local_188 = local_98;\n                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);\n              }" ({ "{") (expression_statement "local_180 = local_90;" (assignment_expression "local_180 = local_90" (identifier "local_180") (= "=") (identifier "local_90")) (; ";")) (expression_statement "local_188 = local_98;" (assignment_expression "local_188 = local_98" (identifier "local_188") (= "=") (identifier "local_98")) (; ";")) (expression_statement "FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);" (call_expression "FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0)" (identifier "FUN_00182220") (argument_list "(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0)" (( "(") (pointer_expression "&local_a8" (& "&") (identifier "local_a8")) (, ",") (identifier "local_98") (, ",") (call_expression "CONCAT44(uStack_17c,local_90)" (identifier "CONCAT44") (argument_list "(uStack_17c,local_90)" (( "(") (identifier "uStack_17c") (, ",") (identifier "local_90") () ")"))) (, ",") (number_literal "0") () ")"))) (; ";")) (} "}")) (else_clause "else {\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }" (else "else") (compound_statement "{\n                if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }\n                bVar8 = (byte)iVar10 & 0x3f;\n                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);\n              }" ({ "{") (if_statement "if (local_90 == 0x3f) {\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }\n                else {\n                  local_90 = local_90 + 1;\n                }" (if "if") (parenthesized_expression "(local_90 == 0x3f)" (( "(") (binary_expression "local_90 == 0x3f" (identifier "local_90") (== "==") (number_literal "0x3f")) () ")")) (compound_statement "{\n                  local_90 = 0;\n                  local_98 = local_98 + 1;\n                }" ({ "{") (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" (identifier "local_90") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_98 = local_98 + 1;" (assignment_expression "local_98 = local_98 + 1" (identifier "local_98") (= "=") (binary_expression "local_98 + 1" (identifier "local_98") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else {\n                  local_90 = local_90 + 1;\n                }" (else "else") (compound_statement "{\n                  local_90 = local_90 + 1;\n                }" ({ "{") (expression_statement "local_90 = local_90 + 1;" (assignment_expression "local_90 = local_90 + 1" (identifier "local_90") (= "=") (binary_expression "local_90 + 1" (identifier "local_90") (+ "+") (number_literal "1"))) (; ";")) (} "}")))) (expression_statement "bVar8 = (byte)iVar10 & 0x3f;" (assignment_expression "bVar8 = (byte)iVar10 & 0x3f" (identifier "bVar8") (= "=") (binary_expression "(byte)iVar10 & 0x3f" (cast_expression "(byte)iVar10" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "iVar10")) (& "&") (number_literal "0x3f"))) (; ";")) (expression_statement "*puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);" (assignment_expression "*puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8)" (pointer_expression "*puVar32" (* "*") (identifier "puVar32")) (= "=") (binary_expression "*puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8)" (pointer_expression "*puVar32" (* "*") (identifier "puVar32")) (& "&") (parenthesized_expression "(-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8)" (( "(") (binary_expression "-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8" (binary_expression "-2L << bVar8" (number_literal "-2L") (<< "<<") (identifier "bVar8")) (| "|") (binary_expression "0xfffffffffffffffeU >> 0x40 - bVar8" (number_literal "0xfffffffffffffffeU") (>> ">>") (binary_expression "0x40 - bVar8" (number_literal "0x40") (- "-") (identifier "bVar8")))) () ")")))) (; ";")) (} "}")))) (expression_statement "local_78 = &local_68;" (assignment_expression "local_78 = &local_68" (identifier "local_78") (= "=") (pointer_expression "&local_68" (& "&") (identifier "local_68"))) (; ";")) (expression_statement "FUN_001665c0(local_1a8,"");" (call_expression "FUN_001665c0(local_1a8,"")" (identifier "FUN_001665c0") (argument_list "(local_1a8,"")" (( "(") (identifier "local_1a8") (, ",") (string_literal """" (" """) (" """)) () ")"))) (; ";")) (expression_statement "FUN_0016f840(&local_148,local_1a8);" (call_expression "FUN_0016f840(&local_148,local_1a8)" (identifier "FUN_0016f840") (argument_list "(&local_148,local_1a8)" (( "(") (pointer_expression "&local_148" (& "&") (identifier "local_148")) (, ",") (identifier "local_1a8") () ")"))) (; ";")) (if_statement "if (local_78 != &local_68) {\n                FUN_002dac70();\n              }" (if "if") (parenthesized_expression "(local_78 != &local_68)" (( "(") (binary_expression "local_78 != &local_68" (identifier "local_78") (!= "!=") (pointer_expression "&local_68" (& "&") (identifier "local_68"))) () ")")) (compound_statement "{\n                FUN_002dac70();\n              }" ({ "{") (expression_statement "FUN_002dac70();" (call_expression "FUN_002dac70()" (identifier "FUN_002dac70") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar13 = iVar13 + 1;" (assignment_expression "iVar13 = iVar13 + 1" (identifier "iVar13") (= "=") (binary_expression "iVar13 + 1" (identifier "iVar13") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (local_c8 != local_b8) goto LAB_00180c31;" (if "if") (parenthesized_expression "(local_c8 != local_b8)" (( "(") (binary_expression "local_c8 != local_b8" (identifier "local_c8") (!= "!=") (identifier "local_b8")) () ")")) (goto_statement "goto LAB_00180c31;" (goto "goto") (statement_identifier "LAB_00180c31") (; ";"))) (} "}")) (else_clause "else {\n              lVar21 = 0xf;\n              pbVar16 = (byte *)".gnu.linkonce.t";\n              puVar32 = local_c8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              } while (bVar39);\n              if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;\nLAB_00180c96:\n              if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }\n            }" (else "else") (compound_statement "{\n              lVar21 = 0xf;\n              pbVar16 = (byte *)".gnu.linkonce.t";\n              puVar32 = local_c8;\n              do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              } while (bVar39);\n              if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;\nLAB_00180c96:\n              if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }\n            }" ({ "{") (expression_statement "lVar21 = 0xf;" (assignment_expression "lVar21 = 0xf" (identifier "lVar21") (= "=") (number_literal "0xf")) (; ";")) (expression_statement "pbVar16 = (byte *)".gnu.linkonce.t";" (assignment_expression "pbVar16 = (byte *)".gnu.linkonce.t"" (identifier "pbVar16") (= "=") (cast_expression "(byte *)".gnu.linkonce.t"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal "".gnu.linkonce.t"" (" """) (string_content ".gnu.linkonce.t") (" """)))) (; ";")) (expression_statement "puVar32 = local_c8;" (assignment_expression "puVar32 = local_c8" (identifier "puVar32") (= "=") (identifier "local_c8")) (; ";")) (do_statement "do {\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              } while (bVar39);" (do "do") (compound_statement "{\n                if (lVar21 == 0) break;\n                lVar21 = lVar21 + -1;\n                bVar36 = *pbVar16 < (byte)*puVar32;\n                bVar39 = *pbVar16 == (byte)*puVar32;\n                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;\n                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);\n              }" ({ "{") (if_statement "if (lVar21 == 0) break;" (if "if") (parenthesized_expression "(lVar21 == 0)" (( "(") (binary_expression "lVar21 == 0" (identifier "lVar21") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar21 = lVar21 + -1;" (assignment_expression "lVar21 = lVar21 + -1" (identifier "lVar21") (= "=") (binary_expression "lVar21 + -1" (identifier "lVar21") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar36 = *pbVar16 < (byte)*puVar32;" (assignment_expression "bVar36 = *pbVar16 < (byte)*puVar32" (identifier "bVar36") (= "=") (binary_expression "*pbVar16 < (byte)*puVar32" (pointer_expression "*pbVar16" (* "*") (identifier "pbVar16")) (< "<") (binary_expression "(byte)*puVar32" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (identifier "puVar32")))) (; ";")) (expression_statement "bVar39 = *pbVar16 == (byte)*puVar32;" (assignment_expression "bVar39 = *pbVar16 == (byte)*puVar32" (identifier "bVar39") (= "=") (binary_expression "*pbVar16 == (byte)*puVar32" (pointer_expression "*pbVar16" (* "*") (identifier "pbVar16")) (== "==") (binary_expression "(byte)*puVar32" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (identifier "puVar32")))) (; ";")) (expression_statement "pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;" (assignment_expression "pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1" (identifier "pbVar16") (= "=") (binary_expression "pbVar16 + (ulong)bVar40 * -2 + 1" (binary_expression "pbVar16 + (ulong)bVar40 * -2" (identifier "pbVar16") (+ "+") (binary_expression "(ulong)bVar40 * -2" (cast_expression "(ulong)bVar40" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar40")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);" (assignment_expression "puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1)" (identifier "puVar32") (= "=") (cast_expression "(ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar32 + (ulong)bVar40 * -2 + 1)" (( "(") (binary_expression "(long)puVar32 + (ulong)bVar40 * -2 + 1" (binary_expression "(long)puVar32 + (ulong)bVar40 * -2" (cast_expression "(long)puVar32" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar32")) (+ "+") (binary_expression "(ulong)bVar40 * -2" (cast_expression "(ulong)bVar40" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar40")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar39)" (( "(") (identifier "bVar39") () ")")) (; ";")) (if_statement "if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;" (if "if") (parenthesized_expression "((!bVar36 && !bVar39) == bVar36)" (( "(") (binary_expression "(!bVar36 && !bVar39) == bVar36" (parenthesized_expression "(!bVar36 && !bVar39)" (( "(") (binary_expression "!bVar36 && !bVar39" (unary_expression "!bVar36" (! "!") (identifier "bVar36")) (&& "&&") (unary_expression "!bVar39" (! "!") (identifier "bVar39"))) () ")")) (== "==") (identifier "bVar36")) () ")")) (goto_statement "goto LAB_00180a28;" (goto "goto") (statement_identifier "LAB_00180a28") (; ";"))) (labeled_statement "LAB_00180c96:\n              if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }" (statement_identifier "LAB_00180c96") (: ":") (if_statement "if (local_c8 != local_b8) {\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }" (if "if") (parenthesized_expression "(local_c8 != local_b8)" (( "(") (binary_expression "local_c8 != local_b8" (identifier "local_c8") (!= "!=") (identifier "local_b8")) () ")")) (compound_statement "{\nLAB_00180c31:\n                FUN_002dac70(local_c8);\n              }" ({ "{") (labeled_statement "LAB_00180c31:\n                FUN_002dac70(local_c8);" (statement_identifier "LAB_00180c31") (: ":") (expression_statement "FUN_002dac70(local_c8);" (call_expression "FUN_002dac70(local_c8)" (identifier "FUN_002dac70") (argument_list "(local_c8)" (( "(") (identifier "local_c8") () ")"))) (; ";"))) (} "}")))) (} "}")))) (expression_statement "plVar14 = (long *)*puVar19;" (assignment_expression "plVar14 = (long *)*puVar19" (identifier "plVar14") (= "=") (cast_expression "(long *)*puVar19" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar19" (* "*") (identifier "puVar19")))) (; ";")) (expression_statement "uVar26 = iVar27 + 1;" (assignment_expression "uVar26 = iVar27 + 1" (identifier "uVar26") (= "=") (binary_expression "iVar27 + 1" (identifier "iVar27") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar28 = (ulong)uVar26;" (assignment_expression "uVar28 = (ulong)uVar26" (identifier "uVar28") (= "=") (cast_expression "(ulong)uVar26" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar26"))) (; ";")) (expression_statement "uVar35 = uVar26 < *(uint *)(plVar14 + 7);" (assignment_expression "uVar35 = uVar26 < *(uint *)(plVar14 + 7)" (identifier "uVar35") (= "=") (binary_expression "uVar26 < *(uint *)(plVar14 + 7)" (identifier "uVar26") (< "<") (pointer_expression "*(uint *)(plVar14 + 7)" (* "*") (cast_expression "(uint *)(plVar14 + 7)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar14 + 7)" (( "(") (binary_expression "plVar14 + 7" (identifier "plVar14") (+ "+") (number_literal "7")) () ")")))))) (; ";")) (expression_statement "uVar38 = uVar26 == *(uint *)(plVar14 + 7);" (assignment_expression "uVar38 = uVar26 == *(uint *)(plVar14 + 7)" (identifier "uVar38") (= "=") (binary_expression "uVar26 == *(uint *)(plVar14 + 7)" (identifier "uVar26") (== "==") (pointer_expression "*(uint *)(plVar14 + 7)" (* "*") (cast_expression "(uint *)(plVar14 + 7)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar14 + 7)" (( "(") (binary_expression "plVar14 + 7" (identifier "plVar14") (+ "+") (number_literal "7")) () ")")))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((bool)uVar35)" (( "(") (cast_expression "(bool)uVar35" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "uVar35")) () ")")) (; ";")) (} "}"))) (if_statement "if (plVar30[5] != 0) {\n          FUN_0017a690(plVar30[5] + 0x28,0xffffffffffffffff);\n        }" (if "if") (parenthesized_expression "(plVar30[5] != 0)" (( "(") (binary_expression "plVar30[5] != 0" (subscript_expression "plVar30[5]" (identifier "plVar30") ([ "[") (number_literal "5") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          FUN_0017a690(plVar30[5] + 0x28,0xffffffffffffffff);\n        }" ({ "{") (expression_statement "FUN_0017a690(plVar30[5] + 0x28,0xffffffffffffffff);" (call_expression "FUN_0017a690(plVar30[5] + 0x28,0xffffffffffffffff)" (identifier "FUN_0017a690") (argument_list "(plVar30[5] + 0x28,0xffffffffffffffff)" (( "(") (binary_expression "plVar30[5] + 0x28" (subscript_expression "plVar30[5]" (identifier "plVar30") ([ "[") (number_literal "5") (] "]")) (+ "+") (number_literal "0x28")) (, ",") (number_literal "0xffffffffffffffff") () ")"))) (; ";")) (} "}"))) (} "}")))) (expression_statement "puVar19 = puVar19 + 1;" (assignment_expression "puVar19 = puVar19 + 1" (identifier "puVar19") (= "=") (binary_expression "puVar19 + 1" (identifier "puVar19") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((ulong *)param_2[1] != puVar19)" (( "(") (binary_expression "(ulong *)param_2[1] != puVar19" (cast_expression "(ulong *)param_2[1]" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]"))) (!= "!=") (identifier "puVar19")) () ")")) (; ";")) (} "}")))) (if_statement "if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }" (if "if") (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0)" (( "(") (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" (( "(") (binary_expression "PTR_DAT_0043e6b0 + 0x10" (identifier "PTR_DAT_0043e6b0") (+ "+") (number_literal "0x10")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }" ({ "{") (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" (identifier "FUN_0017c650") (argument_list "("../../gold/parameters.h",0x5c,"options")" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x5c") (, ",") (string_literal ""options"" (" """) (string_content "options") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "uVar26 = 0;" (assignment_expression "uVar26 = 0" (identifier "uVar26") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar3 = *(uint *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2dac);" (assignment_expression "uVar3 = *(uint *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2dac)" (identifier "uVar3") (= "=") (pointer_expression "*(uint *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2dac)" (* "*") (cast_expression "(uint *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2dac)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2dac)" (( "(") (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2dac" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" (( "(") (binary_expression "PTR_DAT_0043e6b0 + 0x10" (identifier "PTR_DAT_0043e6b0") (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (number_literal "0x2dac")) () ")"))))) (; ";")) (expression_statement "uVar11 = 2;" (assignment_expression "uVar11 = 2" (identifier "uVar11") (= "=") (number_literal "2")) (; ";")) (if_statement "if (0 < (int)uVar3) {\n    uVar11 = uVar3;\n  }" (if "if") (parenthesized_expression "(0 < (int)uVar3)" (( "(") (binary_expression "0 < (int)uVar3" (number_literal "0") (< "<") (cast_expression "(int)uVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar3"))) () ")")) (compound_statement "{\n    uVar11 = uVar3;\n  }" ({ "{") (expression_statement "uVar11 = uVar3;" (assignment_expression "uVar11 = uVar3" (identifier "uVar11") (= "=") (identifier "uVar3")) (; ";")) (} "}"))) (do_statement "do {\n    uVar26 = uVar26 + 1;\n    uStack_70 = 1;\n    local_78 = local_48;\n    local_68 = 0;\n    local_60 = 0;\n    local_58 = 0x3f800000;\n    local_50 = 0;\n    local_48[0] = 0;\n    if (uVar26 == 1) {\n                    \n      FUN_00180660(param_1,&local_a8,0);\n    }\n    else {\n                    \n      FUN_00180660(param_1,&local_a8,&local_148);\n    }\n    local_128 = (long *)0x0;\n    local_120 = (long *)0x0;\n    local_118 = 0;\n    if (param_1[1] == *param_1) {\n      FUN_00182070(&local_78);\n      bVar36 = true;\n      break;\n    }\n    uVar28 = 0;\n    bVar36 = true;\n    uVar3 = 0;\n    do {\n      local_c8 = local_b8;\n                    \n      FUN_001665c0(&local_c8,"");\n                    \n      FUN_0016f840(&local_128,&local_c8);\n      if (local_c8 != local_b8) {\n        FUN_002dac70();\n      }\n      local_1a0._0_1_ = (byte)uVar3;\n      uVar24 = 1L << ((byte)local_1a0 & 0x3f);\n      lVar21 = *param_1;\n      if ((uVar24 & *(ulong *)(local_a8 + (uVar28 >> 6) * 8)) == 0) {\n        puVar18 = (undefined8 *)(lVar21 + uVar28 * 0x10);\n        local_178 = *puVar18;\n        uStack_170 = puVar18[1];\n        local_100 = 0;\n        local_f8[0] = local_f8[0] & 0xffffffffffffff00;\n        local_108 = local_f8;\n        if (uVar26 == 1) {\n          local_e8 = (ulong *)((ulong)local_e8 & 0xffffffff00000000);\n          FUN_0017f6d0(&local_c8,1,&local_178,uVar3,&local_e8,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_c8 == local_b8) {\n            sVar17 = local_c0;\n            if (local_c0 != 0) {\n              if (local_c0 == 1) {\n                *(byte *)local_108 = (byte)local_b8[0];\n                sVar17 = local_c0;\n              }\n              else {\n                memcpy(local_108,local_c8,local_c0);\n                sVar17 = local_c0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_c8;\n              local_100 = local_c0;\n              local_f8[0] = local_b8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_c8 = puVar19;\n                local_b8[0] = uVar25;\n                goto LAB_00181993;\n              }\n            }\n            local_f8[0] = local_b8[0];\n            local_100 = local_c0;\n            local_108 = local_c8;\n            local_c8 = local_b8;\n          }\nLAB_00181993:\n          local_c0 = 0;\n          *(byte *)local_c8 = 0;\n          if (local_c8 != local_b8) {\n            FUN_002dac70();\n          }\n          local_1d8[uVar28] = local_e8._0_4_;\n        }\n        else {\n          if (uVar3 != *(uint *)(param_1[10] + uVar28 * 4)) goto LAB_001813c8;\n                    \n          FUN_0017f6d0(&local_e8,0,&local_178,uVar3,0,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_e8 == local_d8) {\n            sVar17 = local_e0;\n            if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *(byte *)local_108 = (byte)local_d8[0];\n                sVar17 = local_e0;\n              }\n              else {\n                memcpy(local_108,local_e8,local_e0);\n                sVar17 = local_e0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_e8;\n              local_100 = local_e0;\n              local_f8[0] = local_d8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_e8 = puVar19;\n                local_d8[0] = uVar25;\n                goto LAB_0018156c;\n              }\n            }\n            local_f8[0] = local_d8[0];\n            local_100 = local_e0;\n            local_108 = local_e8;\n            local_e8 = local_d8;\n          }\nLAB_0018156c:\n          local_e0 = 0;\n          *(byte *)local_e8 = 0;\n          if (local_e8 != local_d8) {\n            FUN_002dac70();\n          }\n        }\n        uVar12 = FUN_002d5ef0(local_108,local_100 & 0xffffffff,0xffffffff);\n        uVar25 = (ulong)uVar12 % uStack_70;\n        local_18c = uVar12;\n        if (((long *)local_78[uVar25] == (long *)0x0) ||\n           (puVar18 = *(undefined8 **)local_78[uVar25], puVar18 == (undefined8 *)0x0)) {\nLAB_00181638:\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,(ulong)uVar12,puVar18);\n        }\n        else {\n          uVar23 = (ulong)*(uint *)(puVar18 + 1);\n          lVar21 = 0;\n          do {\n            if (uVar12 == (uint)uVar23) {\n              puVar18 = (undefined8 *)*puVar18;\n              lVar21 = lVar21 + 1;\n              lVar29 = lVar21;\n            }\n            else {\n              if (lVar21 != 0) goto LAB_00181742;\n              puVar18 = (undefined8 *)*puVar18;\n              lVar29 = 0;\n            }\n          } while ((puVar18 != (undefined8 *)0x0) &&\n                  (uVar23 = (ulong)*(uint *)(puVar18 + 1), lVar29 = lVar21,\n                  uVar25 == uVar23 % uStack_70));\n          if (lVar29 == 0) goto LAB_00181638;\nLAB_00181742:\n          auVar41 = FUN_00182170(&local_78,&local_18c);\n          uVar25 = local_100;\n          puVar19 = local_108;\n          plVar4 = local_128;\n          uVar12 = local_18c;\n          for (puVar18 = auVar41._0_8_; local_18c = uVar12, puVar18 != auVar41._8_8_;\n              puVar18 = (undefined8 *)*puVar18) {\n            uVar12 = *(uint *)((long)puVar18 + 0xc);\n            uVar23 = (ulong)uVar12;\n            plVar30 = plVar4 + uVar23 * 4;\n            if ((plVar30[1] == uVar25) &&\n               (iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0)) {\n              if (*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8)) {\n                *(uint *)(param_1[10] + uVar23 * 4) = uVar3;\n                *(uint *)((long)puVar18 + 0xc) = uVar3;\n                FUN_002e3180(plVar30,plVar4 + uVar28 * 4);\n                bVar36 = false;\n              }\n              else {\n                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;\n                bVar36 = false;\n              }\n              goto joined_r0x00181835;\n            }\n            uVar12 = local_18c;\n          }\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,uVar12,puVar18);\n        }\n        FUN_002e1890(local_128 + uVar28 * 4,&local_108);\njoined_r0x00181835:\n        if ((uVar26 == 1) && (local_1d8[uVar28] == 0)) {\n          puVar19 = (ulong *)((uVar28 >> 6) * 8 + local_a8);\n          *puVar19 = *puVar19 | uVar24;\n        }\n        if (local_108 != local_f8) {\n          FUN_002dac70();\n        }\n        lVar21 = *param_1;\n      }\nLAB_001813c8:\n      plVar4 = local_120;\n      uVar3 = uVar3 + 1;\n      uVar28 = (ulong)uVar3;\n      uVar24 = param_1[1] - lVar21 >> 4;\n    } while (uVar28 < uVar24);\n    plVar30 = local_128;\n    if (uVar24 != 0) {\n      lVar21 = param_1[10];\n      uVar25 = 0;\n      uVar28 = uVar25;\n      do {\n        do {\n          uVar12 = (uint)uVar25;\n          uVar3 = *(uint *)(lVar21 + uVar25 * 4);\n          uVar25 = (ulong)uVar3;\n        } while (uVar12 != uVar3);\n        puVar2 = (uint *)(lVar21 + uVar28 * 4);\n        uVar12 = *puVar2;\n        while (uVar12 != uVar3) {\n          *puVar2 = uVar3;\n          puVar2 = (uint *)(lVar21 + (ulong)uVar12 * 4);\n          uVar12 = *puVar2;\n        }\n        uVar25 = (ulong)((int)uVar28 + 1);\n        uVar28 = uVar25;\n      } while (uVar25 < uVar24);\n    }\n    for (; plVar30 != plVar4; plVar30 = plVar30 + 4) {\n      if ((long *)*plVar30 != plVar30 + 2) {\n        FUN_002dac70();\n      }\n    }\n    if (local_128 != (long *)0x0) {\n      FUN_002dac70(local_128);\n    }\n    FUN_00182070(&local_78);\n  } while (uVar26 < uVar11 && !bVar36);" (do "do") (compound_statement "{\n    uVar26 = uVar26 + 1;\n    uStack_70 = 1;\n    local_78 = local_48;\n    local_68 = 0;\n    local_60 = 0;\n    local_58 = 0x3f800000;\n    local_50 = 0;\n    local_48[0] = 0;\n    if (uVar26 == 1) {\n                    \n      FUN_00180660(param_1,&local_a8,0);\n    }\n    else {\n                    \n      FUN_00180660(param_1,&local_a8,&local_148);\n    }\n    local_128 = (long *)0x0;\n    local_120 = (long *)0x0;\n    local_118 = 0;\n    if (param_1[1] == *param_1) {\n      FUN_00182070(&local_78);\n      bVar36 = true;\n      break;\n    }\n    uVar28 = 0;\n    bVar36 = true;\n    uVar3 = 0;\n    do {\n      local_c8 = local_b8;\n                    \n      FUN_001665c0(&local_c8,"");\n                    \n      FUN_0016f840(&local_128,&local_c8);\n      if (local_c8 != local_b8) {\n        FUN_002dac70();\n      }\n      local_1a0._0_1_ = (byte)uVar3;\n      uVar24 = 1L << ((byte)local_1a0 & 0x3f);\n      lVar21 = *param_1;\n      if ((uVar24 & *(ulong *)(local_a8 + (uVar28 >> 6) * 8)) == 0) {\n        puVar18 = (undefined8 *)(lVar21 + uVar28 * 0x10);\n        local_178 = *puVar18;\n        uStack_170 = puVar18[1];\n        local_100 = 0;\n        local_f8[0] = local_f8[0] & 0xffffffffffffff00;\n        local_108 = local_f8;\n        if (uVar26 == 1) {\n          local_e8 = (ulong *)((ulong)local_e8 & 0xffffffff00000000);\n          FUN_0017f6d0(&local_c8,1,&local_178,uVar3,&local_e8,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_c8 == local_b8) {\n            sVar17 = local_c0;\n            if (local_c0 != 0) {\n              if (local_c0 == 1) {\n                *(byte *)local_108 = (byte)local_b8[0];\n                sVar17 = local_c0;\n              }\n              else {\n                memcpy(local_108,local_c8,local_c0);\n                sVar17 = local_c0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_c8;\n              local_100 = local_c0;\n              local_f8[0] = local_b8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_c8 = puVar19;\n                local_b8[0] = uVar25;\n                goto LAB_00181993;\n              }\n            }\n            local_f8[0] = local_b8[0];\n            local_100 = local_c0;\n            local_108 = local_c8;\n            local_c8 = local_b8;\n          }\nLAB_00181993:\n          local_c0 = 0;\n          *(byte *)local_c8 = 0;\n          if (local_c8 != local_b8) {\n            FUN_002dac70();\n          }\n          local_1d8[uVar28] = local_e8._0_4_;\n        }\n        else {\n          if (uVar3 != *(uint *)(param_1[10] + uVar28 * 4)) goto LAB_001813c8;\n                    \n          FUN_0017f6d0(&local_e8,0,&local_178,uVar3,0,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_e8 == local_d8) {\n            sVar17 = local_e0;\n            if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *(byte *)local_108 = (byte)local_d8[0];\n                sVar17 = local_e0;\n              }\n              else {\n                memcpy(local_108,local_e8,local_e0);\n                sVar17 = local_e0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_e8;\n              local_100 = local_e0;\n              local_f8[0] = local_d8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_e8 = puVar19;\n                local_d8[0] = uVar25;\n                goto LAB_0018156c;\n              }\n            }\n            local_f8[0] = local_d8[0];\n            local_100 = local_e0;\n            local_108 = local_e8;\n            local_e8 = local_d8;\n          }\nLAB_0018156c:\n          local_e0 = 0;\n          *(byte *)local_e8 = 0;\n          if (local_e8 != local_d8) {\n            FUN_002dac70();\n          }\n        }\n        uVar12 = FUN_002d5ef0(local_108,local_100 & 0xffffffff,0xffffffff);\n        uVar25 = (ulong)uVar12 % uStack_70;\n        local_18c = uVar12;\n        if (((long *)local_78[uVar25] == (long *)0x0) ||\n           (puVar18 = *(undefined8 **)local_78[uVar25], puVar18 == (undefined8 *)0x0)) {\nLAB_00181638:\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,(ulong)uVar12,puVar18);\n        }\n        else {\n          uVar23 = (ulong)*(uint *)(puVar18 + 1);\n          lVar21 = 0;\n          do {\n            if (uVar12 == (uint)uVar23) {\n              puVar18 = (undefined8 *)*puVar18;\n              lVar21 = lVar21 + 1;\n              lVar29 = lVar21;\n            }\n            else {\n              if (lVar21 != 0) goto LAB_00181742;\n              puVar18 = (undefined8 *)*puVar18;\n              lVar29 = 0;\n            }\n          } while ((puVar18 != (undefined8 *)0x0) &&\n                  (uVar23 = (ulong)*(uint *)(puVar18 + 1), lVar29 = lVar21,\n                  uVar25 == uVar23 % uStack_70));\n          if (lVar29 == 0) goto LAB_00181638;\nLAB_00181742:\n          auVar41 = FUN_00182170(&local_78,&local_18c);\n          uVar25 = local_100;\n          puVar19 = local_108;\n          plVar4 = local_128;\n          uVar12 = local_18c;\n          for (puVar18 = auVar41._0_8_; local_18c = uVar12, puVar18 != auVar41._8_8_;\n              puVar18 = (undefined8 *)*puVar18) {\n            uVar12 = *(uint *)((long)puVar18 + 0xc);\n            uVar23 = (ulong)uVar12;\n            plVar30 = plVar4 + uVar23 * 4;\n            if ((plVar30[1] == uVar25) &&\n               (iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0)) {\n              if (*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8)) {\n                *(uint *)(param_1[10] + uVar23 * 4) = uVar3;\n                *(uint *)((long)puVar18 + 0xc) = uVar3;\n                FUN_002e3180(plVar30,plVar4 + uVar28 * 4);\n                bVar36 = false;\n              }\n              else {\n                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;\n                bVar36 = false;\n              }\n              goto joined_r0x00181835;\n            }\n            uVar12 = local_18c;\n          }\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,uVar12,puVar18);\n        }\n        FUN_002e1890(local_128 + uVar28 * 4,&local_108);\njoined_r0x00181835:\n        if ((uVar26 == 1) && (local_1d8[uVar28] == 0)) {\n          puVar19 = (ulong *)((uVar28 >> 6) * 8 + local_a8);\n          *puVar19 = *puVar19 | uVar24;\n        }\n        if (local_108 != local_f8) {\n          FUN_002dac70();\n        }\n        lVar21 = *param_1;\n      }\nLAB_001813c8:\n      plVar4 = local_120;\n      uVar3 = uVar3 + 1;\n      uVar28 = (ulong)uVar3;\n      uVar24 = param_1[1] - lVar21 >> 4;\n    } while (uVar28 < uVar24);\n    plVar30 = local_128;\n    if (uVar24 != 0) {\n      lVar21 = param_1[10];\n      uVar25 = 0;\n      uVar28 = uVar25;\n      do {\n        do {\n          uVar12 = (uint)uVar25;\n          uVar3 = *(uint *)(lVar21 + uVar25 * 4);\n          uVar25 = (ulong)uVar3;\n        } while (uVar12 != uVar3);\n        puVar2 = (uint *)(lVar21 + uVar28 * 4);\n        uVar12 = *puVar2;\n        while (uVar12 != uVar3) {\n          *puVar2 = uVar3;\n          puVar2 = (uint *)(lVar21 + (ulong)uVar12 * 4);\n          uVar12 = *puVar2;\n        }\n        uVar25 = (ulong)((int)uVar28 + 1);\n        uVar28 = uVar25;\n      } while (uVar25 < uVar24);\n    }\n    for (; plVar30 != plVar4; plVar30 = plVar30 + 4) {\n      if ((long *)*plVar30 != plVar30 + 2) {\n        FUN_002dac70();\n      }\n    }\n    if (local_128 != (long *)0x0) {\n      FUN_002dac70(local_128);\n    }\n    FUN_00182070(&local_78);\n  }" ({ "{") (expression_statement "uVar26 = uVar26 + 1;" (assignment_expression "uVar26 = uVar26 + 1" (identifier "uVar26") (= "=") (binary_expression "uVar26 + 1" (identifier "uVar26") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uStack_70 = 1;" (assignment_expression "uStack_70 = 1" (identifier "uStack_70") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_78 = local_48;" (assignment_expression "local_78 = local_48" (identifier "local_78") (= "=") (identifier "local_48")) (; ";")) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" (identifier "local_68") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" (identifier "local_60") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_58 = 0x3f800000;" (assignment_expression "local_58 = 0x3f800000" (identifier "local_58") (= "=") (number_literal "0x3f800000")) (; ";")) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" (identifier "local_50") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_48[0] = 0;" (assignment_expression "local_48[0] = 0" (subscript_expression "local_48[0]" (identifier "local_48") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if (uVar26 == 1) {\n                    \n      FUN_00180660(param_1,&local_a8,0);\n    }\n    else {\n                    \n      FUN_00180660(param_1,&local_a8,&local_148);\n    }" (if "if") (parenthesized_expression "(uVar26 == 1)" (( "(") (binary_expression "uVar26 == 1" (identifier "uVar26") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n                    \n      FUN_00180660(param_1,&local_a8,0);\n    }" ({ "{") (expression_statement "FUN_00180660(param_1,&local_a8,0);" (call_expression "FUN_00180660(param_1,&local_a8,0)" (identifier "FUN_00180660") (argument_list "(param_1,&local_a8,0)" (( "(") (identifier "param_1") (, ",") (pointer_expression "&local_a8" (& "&") (identifier "local_a8")) (, ",") (number_literal "0") () ")"))) (; ";")) (} "}")) (else_clause "else {\n                    \n      FUN_00180660(param_1,&local_a8,&local_148);\n    }" (else "else") (compound_statement "{\n                    \n      FUN_00180660(param_1,&local_a8,&local_148);\n    }" ({ "{") (expression_statement "FUN_00180660(param_1,&local_a8,&local_148);" (call_expression "FUN_00180660(param_1,&local_a8,&local_148)" (identifier "FUN_00180660") (argument_list "(param_1,&local_a8,&local_148)" (( "(") (identifier "param_1") (, ",") (pointer_expression "&local_a8" (& "&") (identifier "local_a8")) (, ",") (pointer_expression "&local_148" (& "&") (identifier "local_148")) () ")"))) (; ";")) (} "}")))) (expression_statement "local_128 = (long *)0x0;" (assignment_expression "local_128 = (long *)0x0" (identifier "local_128") (= "=") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_120 = (long *)0x0;" (assignment_expression "local_120 = (long *)0x0" (identifier "local_120") (= "=") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_118 = 0;" (assignment_expression "local_118 = 0" (identifier "local_118") (= "=") (number_literal "0")) (; ";")) (if_statement "if (param_1[1] == *param_1) {\n      FUN_00182070(&local_78);\n      bVar36 = true;\n      break;\n    }" (if "if") (parenthesized_expression "(param_1[1] == *param_1)" (( "(") (binary_expression "param_1[1] == *param_1" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (== "==") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) () ")")) (compound_statement "{\n      FUN_00182070(&local_78);\n      bVar36 = true;\n      break;\n    }" ({ "{") (expression_statement "FUN_00182070(&local_78);" (call_expression "FUN_00182070(&local_78)" (identifier "FUN_00182070") (argument_list "(&local_78)" (( "(") (pointer_expression "&local_78" (& "&") (identifier "local_78")) () ")"))) (; ";")) (expression_statement "bVar36 = true;" (assignment_expression "bVar36 = true" (identifier "bVar36") (= "=") (true "true")) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" (identifier "uVar28") (= "=") (number_literal "0")) (; ";")) (expression_statement "bVar36 = true;" (assignment_expression "bVar36 = true" (identifier "bVar36") (= "=") (true "true")) (; ";")) (expression_statement "uVar3 = 0;" (assignment_expression "uVar3 = 0" (identifier "uVar3") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n      local_c8 = local_b8;\n                    \n      FUN_001665c0(&local_c8,"");\n                    \n      FUN_0016f840(&local_128,&local_c8);\n      if (local_c8 != local_b8) {\n        FUN_002dac70();\n      }\n      local_1a0._0_1_ = (byte)uVar3;\n      uVar24 = 1L << ((byte)local_1a0 & 0x3f);\n      lVar21 = *param_1;\n      if ((uVar24 & *(ulong *)(local_a8 + (uVar28 >> 6) * 8)) == 0) {\n        puVar18 = (undefined8 *)(lVar21 + uVar28 * 0x10);\n        local_178 = *puVar18;\n        uStack_170 = puVar18[1];\n        local_100 = 0;\n        local_f8[0] = local_f8[0] & 0xffffffffffffff00;\n        local_108 = local_f8;\n        if (uVar26 == 1) {\n          local_e8 = (ulong *)((ulong)local_e8 & 0xffffffff00000000);\n          FUN_0017f6d0(&local_c8,1,&local_178,uVar3,&local_e8,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_c8 == local_b8) {\n            sVar17 = local_c0;\n            if (local_c0 != 0) {\n              if (local_c0 == 1) {\n                *(byte *)local_108 = (byte)local_b8[0];\n                sVar17 = local_c0;\n              }\n              else {\n                memcpy(local_108,local_c8,local_c0);\n                sVar17 = local_c0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_c8;\n              local_100 = local_c0;\n              local_f8[0] = local_b8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_c8 = puVar19;\n                local_b8[0] = uVar25;\n                goto LAB_00181993;\n              }\n            }\n            local_f8[0] = local_b8[0];\n            local_100 = local_c0;\n            local_108 = local_c8;\n            local_c8 = local_b8;\n          }\nLAB_00181993:\n          local_c0 = 0;\n          *(byte *)local_c8 = 0;\n          if (local_c8 != local_b8) {\n            FUN_002dac70();\n          }\n          local_1d8[uVar28] = local_e8._0_4_;\n        }\n        else {\n          if (uVar3 != *(uint *)(param_1[10] + uVar28 * 4)) goto LAB_001813c8;\n                    \n          FUN_0017f6d0(&local_e8,0,&local_178,uVar3,0,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_e8 == local_d8) {\n            sVar17 = local_e0;\n            if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *(byte *)local_108 = (byte)local_d8[0];\n                sVar17 = local_e0;\n              }\n              else {\n                memcpy(local_108,local_e8,local_e0);\n                sVar17 = local_e0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_e8;\n              local_100 = local_e0;\n              local_f8[0] = local_d8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_e8 = puVar19;\n                local_d8[0] = uVar25;\n                goto LAB_0018156c;\n              }\n            }\n            local_f8[0] = local_d8[0];\n            local_100 = local_e0;\n            local_108 = local_e8;\n            local_e8 = local_d8;\n          }\nLAB_0018156c:\n          local_e0 = 0;\n          *(byte *)local_e8 = 0;\n          if (local_e8 != local_d8) {\n            FUN_002dac70();\n          }\n        }\n        uVar12 = FUN_002d5ef0(local_108,local_100 & 0xffffffff,0xffffffff);\n        uVar25 = (ulong)uVar12 % uStack_70;\n        local_18c = uVar12;\n        if (((long *)local_78[uVar25] == (long *)0x0) ||\n           (puVar18 = *(undefined8 **)local_78[uVar25], puVar18 == (undefined8 *)0x0)) {\nLAB_00181638:\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,(ulong)uVar12,puVar18);\n        }\n        else {\n          uVar23 = (ulong)*(uint *)(puVar18 + 1);\n          lVar21 = 0;\n          do {\n            if (uVar12 == (uint)uVar23) {\n              puVar18 = (undefined8 *)*puVar18;\n              lVar21 = lVar21 + 1;\n              lVar29 = lVar21;\n            }\n            else {\n              if (lVar21 != 0) goto LAB_00181742;\n              puVar18 = (undefined8 *)*puVar18;\n              lVar29 = 0;\n            }\n          } while ((puVar18 != (undefined8 *)0x0) &&\n                  (uVar23 = (ulong)*(uint *)(puVar18 + 1), lVar29 = lVar21,\n                  uVar25 == uVar23 % uStack_70));\n          if (lVar29 == 0) goto LAB_00181638;\nLAB_00181742:\n          auVar41 = FUN_00182170(&local_78,&local_18c);\n          uVar25 = local_100;\n          puVar19 = local_108;\n          plVar4 = local_128;\n          uVar12 = local_18c;\n          for (puVar18 = auVar41._0_8_; local_18c = uVar12, puVar18 != auVar41._8_8_;\n              puVar18 = (undefined8 *)*puVar18) {\n            uVar12 = *(uint *)((long)puVar18 + 0xc);\n            uVar23 = (ulong)uVar12;\n            plVar30 = plVar4 + uVar23 * 4;\n            if ((plVar30[1] == uVar25) &&\n               (iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0)) {\n              if (*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8)) {\n                *(uint *)(param_1[10] + uVar23 * 4) = uVar3;\n                *(uint *)((long)puVar18 + 0xc) = uVar3;\n                FUN_002e3180(plVar30,plVar4 + uVar28 * 4);\n                bVar36 = false;\n              }\n              else {\n                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;\n                bVar36 = false;\n              }\n              goto joined_r0x00181835;\n            }\n            uVar12 = local_18c;\n          }\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,uVar12,puVar18);\n        }\n        FUN_002e1890(local_128 + uVar28 * 4,&local_108);\njoined_r0x00181835:\n        if ((uVar26 == 1) && (local_1d8[uVar28] == 0)) {\n          puVar19 = (ulong *)((uVar28 >> 6) * 8 + local_a8);\n          *puVar19 = *puVar19 | uVar24;\n        }\n        if (local_108 != local_f8) {\n          FUN_002dac70();\n        }\n        lVar21 = *param_1;\n      }\nLAB_001813c8:\n      plVar4 = local_120;\n      uVar3 = uVar3 + 1;\n      uVar28 = (ulong)uVar3;\n      uVar24 = param_1[1] - lVar21 >> 4;\n    } while (uVar28 < uVar24);" (do "do") (compound_statement "{\n      local_c8 = local_b8;\n                    \n      FUN_001665c0(&local_c8,"");\n                    \n      FUN_0016f840(&local_128,&local_c8);\n      if (local_c8 != local_b8) {\n        FUN_002dac70();\n      }\n      local_1a0._0_1_ = (byte)uVar3;\n      uVar24 = 1L << ((byte)local_1a0 & 0x3f);\n      lVar21 = *param_1;\n      if ((uVar24 & *(ulong *)(local_a8 + (uVar28 >> 6) * 8)) == 0) {\n        puVar18 = (undefined8 *)(lVar21 + uVar28 * 0x10);\n        local_178 = *puVar18;\n        uStack_170 = puVar18[1];\n        local_100 = 0;\n        local_f8[0] = local_f8[0] & 0xffffffffffffff00;\n        local_108 = local_f8;\n        if (uVar26 == 1) {\n          local_e8 = (ulong *)((ulong)local_e8 & 0xffffffff00000000);\n          FUN_0017f6d0(&local_c8,1,&local_178,uVar3,&local_e8,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_c8 == local_b8) {\n            sVar17 = local_c0;\n            if (local_c0 != 0) {\n              if (local_c0 == 1) {\n                *(byte *)local_108 = (byte)local_b8[0];\n                sVar17 = local_c0;\n              }\n              else {\n                memcpy(local_108,local_c8,local_c0);\n                sVar17 = local_c0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_c8;\n              local_100 = local_c0;\n              local_f8[0] = local_b8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_c8 = puVar19;\n                local_b8[0] = uVar25;\n                goto LAB_00181993;\n              }\n            }\n            local_f8[0] = local_b8[0];\n            local_100 = local_c0;\n            local_108 = local_c8;\n            local_c8 = local_b8;\n          }\nLAB_00181993:\n          local_c0 = 0;\n          *(byte *)local_c8 = 0;\n          if (local_c8 != local_b8) {\n            FUN_002dac70();\n          }\n          local_1d8[uVar28] = local_e8._0_4_;\n        }\n        else {\n          if (uVar3 != *(uint *)(param_1[10] + uVar28 * 4)) goto LAB_001813c8;\n                    \n          FUN_0017f6d0(&local_e8,0,&local_178,uVar3,0,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_e8 == local_d8) {\n            sVar17 = local_e0;\n            if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *(byte *)local_108 = (byte)local_d8[0];\n                sVar17 = local_e0;\n              }\n              else {\n                memcpy(local_108,local_e8,local_e0);\n                sVar17 = local_e0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_e8;\n              local_100 = local_e0;\n              local_f8[0] = local_d8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_e8 = puVar19;\n                local_d8[0] = uVar25;\n                goto LAB_0018156c;\n              }\n            }\n            local_f8[0] = local_d8[0];\n            local_100 = local_e0;\n            local_108 = local_e8;\n            local_e8 = local_d8;\n          }\nLAB_0018156c:\n          local_e0 = 0;\n          *(byte *)local_e8 = 0;\n          if (local_e8 != local_d8) {\n            FUN_002dac70();\n          }\n        }\n        uVar12 = FUN_002d5ef0(local_108,local_100 & 0xffffffff,0xffffffff);\n        uVar25 = (ulong)uVar12 % uStack_70;\n        local_18c = uVar12;\n        if (((long *)local_78[uVar25] == (long *)0x0) ||\n           (puVar18 = *(undefined8 **)local_78[uVar25], puVar18 == (undefined8 *)0x0)) {\nLAB_00181638:\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,(ulong)uVar12,puVar18);\n        }\n        else {\n          uVar23 = (ulong)*(uint *)(puVar18 + 1);\n          lVar21 = 0;\n          do {\n            if (uVar12 == (uint)uVar23) {\n              puVar18 = (undefined8 *)*puVar18;\n              lVar21 = lVar21 + 1;\n              lVar29 = lVar21;\n            }\n            else {\n              if (lVar21 != 0) goto LAB_00181742;\n              puVar18 = (undefined8 *)*puVar18;\n              lVar29 = 0;\n            }\n          } while ((puVar18 != (undefined8 *)0x0) &&\n                  (uVar23 = (ulong)*(uint *)(puVar18 + 1), lVar29 = lVar21,\n                  uVar25 == uVar23 % uStack_70));\n          if (lVar29 == 0) goto LAB_00181638;\nLAB_00181742:\n          auVar41 = FUN_00182170(&local_78,&local_18c);\n          uVar25 = local_100;\n          puVar19 = local_108;\n          plVar4 = local_128;\n          uVar12 = local_18c;\n          for (puVar18 = auVar41._0_8_; local_18c = uVar12, puVar18 != auVar41._8_8_;\n              puVar18 = (undefined8 *)*puVar18) {\n            uVar12 = *(uint *)((long)puVar18 + 0xc);\n            uVar23 = (ulong)uVar12;\n            plVar30 = plVar4 + uVar23 * 4;\n            if ((plVar30[1] == uVar25) &&\n               (iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0)) {\n              if (*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8)) {\n                *(uint *)(param_1[10] + uVar23 * 4) = uVar3;\n                *(uint *)((long)puVar18 + 0xc) = uVar3;\n                FUN_002e3180(plVar30,plVar4 + uVar28 * 4);\n                bVar36 = false;\n              }\n              else {\n                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;\n                bVar36 = false;\n              }\n              goto joined_r0x00181835;\n            }\n            uVar12 = local_18c;\n          }\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,uVar12,puVar18);\n        }\n        FUN_002e1890(local_128 + uVar28 * 4,&local_108);\njoined_r0x00181835:\n        if ((uVar26 == 1) && (local_1d8[uVar28] == 0)) {\n          puVar19 = (ulong *)((uVar28 >> 6) * 8 + local_a8);\n          *puVar19 = *puVar19 | uVar24;\n        }\n        if (local_108 != local_f8) {\n          FUN_002dac70();\n        }\n        lVar21 = *param_1;\n      }\nLAB_001813c8:\n      plVar4 = local_120;\n      uVar3 = uVar3 + 1;\n      uVar28 = (ulong)uVar3;\n      uVar24 = param_1[1] - lVar21 >> 4;\n    }" ({ "{") (expression_statement "local_c8 = local_b8;" (assignment_expression "local_c8 = local_b8" (identifier "local_c8") (= "=") (identifier "local_b8")) (; ";")) (expression_statement "FUN_001665c0(&local_c8,"");" (call_expression "FUN_001665c0(&local_c8,"")" (identifier "FUN_001665c0") (argument_list "(&local_c8,"")" (( "(") (pointer_expression "&local_c8" (& "&") (identifier "local_c8")) (, ",") (string_literal """" (" """) (" """)) () ")"))) (; ";")) (expression_statement "FUN_0016f840(&local_128,&local_c8);" (call_expression "FUN_0016f840(&local_128,&local_c8)" (identifier "FUN_0016f840") (argument_list "(&local_128,&local_c8)" (( "(") (pointer_expression "&local_128" (& "&") (identifier "local_128")) (, ",") (pointer_expression "&local_c8" (& "&") (identifier "local_c8")) () ")"))) (; ";")) (if_statement "if (local_c8 != local_b8) {\n        FUN_002dac70();\n      }" (if "if") (parenthesized_expression "(local_c8 != local_b8)" (( "(") (binary_expression "local_c8 != local_b8" (identifier "local_c8") (!= "!=") (identifier "local_b8")) () ")")) (compound_statement "{\n        FUN_002dac70();\n      }" ({ "{") (expression_statement "FUN_002dac70();" (call_expression "FUN_002dac70()" (identifier "FUN_002dac70") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "local_1a0._0_1_ = (byte)uVar3;" (assignment_expression "local_1a0._0_1_ = (byte)uVar3" (field_expression "local_1a0._0_1_" (identifier "local_1a0") (. ".") (field_identifier "_0_1_")) (= "=") (cast_expression "(byte)uVar3" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar3"))) (; ";")) (expression_statement "uVar24 = 1L << ((byte)local_1a0 & 0x3f);" (assignment_expression "uVar24 = 1L << ((byte)local_1a0 & 0x3f)" (identifier "uVar24") (= "=") (binary_expression "1L << ((byte)local_1a0 & 0x3f)" (number_literal "1L") (<< "<<") (parenthesized_expression "((byte)local_1a0 & 0x3f)" (( "(") (binary_expression "(byte)local_1a0 & 0x3f" (cast_expression "(byte)local_1a0" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_1a0")) (& "&") (number_literal "0x3f")) () ")")))) (; ";")) (expression_statement "lVar21 = *param_1;" (assignment_expression "lVar21 = *param_1" (identifier "lVar21") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (if_statement "if ((uVar24 & *(ulong *)(local_a8 + (uVar28 >> 6) * 8)) == 0) {\n        puVar18 = (undefined8 *)(lVar21 + uVar28 * 0x10);\n        local_178 = *puVar18;\n        uStack_170 = puVar18[1];\n        local_100 = 0;\n        local_f8[0] = local_f8[0] & 0xffffffffffffff00;\n        local_108 = local_f8;\n        if (uVar26 == 1) {\n          local_e8 = (ulong *)((ulong)local_e8 & 0xffffffff00000000);\n          FUN_0017f6d0(&local_c8,1,&local_178,uVar3,&local_e8,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_c8 == local_b8) {\n            sVar17 = local_c0;\n            if (local_c0 != 0) {\n              if (local_c0 == 1) {\n                *(byte *)local_108 = (byte)local_b8[0];\n                sVar17 = local_c0;\n              }\n              else {\n                memcpy(local_108,local_c8,local_c0);\n                sVar17 = local_c0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_c8;\n              local_100 = local_c0;\n              local_f8[0] = local_b8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_c8 = puVar19;\n                local_b8[0] = uVar25;\n                goto LAB_00181993;\n              }\n            }\n            local_f8[0] = local_b8[0];\n            local_100 = local_c0;\n            local_108 = local_c8;\n            local_c8 = local_b8;\n          }\nLAB_00181993:\n          local_c0 = 0;\n          *(byte *)local_c8 = 0;\n          if (local_c8 != local_b8) {\n            FUN_002dac70();\n          }\n          local_1d8[uVar28] = local_e8._0_4_;\n        }\n        else {\n          if (uVar3 != *(uint *)(param_1[10] + uVar28 * 4)) goto LAB_001813c8;\n                    \n          FUN_0017f6d0(&local_e8,0,&local_178,uVar3,0,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_e8 == local_d8) {\n            sVar17 = local_e0;\n            if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *(byte *)local_108 = (byte)local_d8[0];\n                sVar17 = local_e0;\n              }\n              else {\n                memcpy(local_108,local_e8,local_e0);\n                sVar17 = local_e0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_e8;\n              local_100 = local_e0;\n              local_f8[0] = local_d8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_e8 = puVar19;\n                local_d8[0] = uVar25;\n                goto LAB_0018156c;\n              }\n            }\n            local_f8[0] = local_d8[0];\n            local_100 = local_e0;\n            local_108 = local_e8;\n            local_e8 = local_d8;\n          }\nLAB_0018156c:\n          local_e0 = 0;\n          *(byte *)local_e8 = 0;\n          if (local_e8 != local_d8) {\n            FUN_002dac70();\n          }\n        }\n        uVar12 = FUN_002d5ef0(local_108,local_100 & 0xffffffff,0xffffffff);\n        uVar25 = (ulong)uVar12 % uStack_70;\n        local_18c = uVar12;\n        if (((long *)local_78[uVar25] == (long *)0x0) ||\n           (puVar18 = *(undefined8 **)local_78[uVar25], puVar18 == (undefined8 *)0x0)) {\nLAB_00181638:\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,(ulong)uVar12,puVar18);\n        }\n        else {\n          uVar23 = (ulong)*(uint *)(puVar18 + 1);\n          lVar21 = 0;\n          do {\n            if (uVar12 == (uint)uVar23) {\n              puVar18 = (undefined8 *)*puVar18;\n              lVar21 = lVar21 + 1;\n              lVar29 = lVar21;\n            }\n            else {\n              if (lVar21 != 0) goto LAB_00181742;\n              puVar18 = (undefined8 *)*puVar18;\n              lVar29 = 0;\n            }\n          } while ((puVar18 != (undefined8 *)0x0) &&\n                  (uVar23 = (ulong)*(uint *)(puVar18 + 1), lVar29 = lVar21,\n                  uVar25 == uVar23 % uStack_70));\n          if (lVar29 == 0) goto LAB_00181638;\nLAB_00181742:\n          auVar41 = FUN_00182170(&local_78,&local_18c);\n          uVar25 = local_100;\n          puVar19 = local_108;\n          plVar4 = local_128;\n          uVar12 = local_18c;\n          for (puVar18 = auVar41._0_8_; local_18c = uVar12, puVar18 != auVar41._8_8_;\n              puVar18 = (undefined8 *)*puVar18) {\n            uVar12 = *(uint *)((long)puVar18 + 0xc);\n            uVar23 = (ulong)uVar12;\n            plVar30 = plVar4 + uVar23 * 4;\n            if ((plVar30[1] == uVar25) &&\n               (iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0)) {\n              if (*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8)) {\n                *(uint *)(param_1[10] + uVar23 * 4) = uVar3;\n                *(uint *)((long)puVar18 + 0xc) = uVar3;\n                FUN_002e3180(plVar30,plVar4 + uVar28 * 4);\n                bVar36 = false;\n              }\n              else {\n                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;\n                bVar36 = false;\n              }\n              goto joined_r0x00181835;\n            }\n            uVar12 = local_18c;\n          }\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,uVar12,puVar18);\n        }\n        FUN_002e1890(local_128 + uVar28 * 4,&local_108);\njoined_r0x00181835:\n        if ((uVar26 == 1) && (local_1d8[uVar28] == 0)) {\n          puVar19 = (ulong *)((uVar28 >> 6) * 8 + local_a8);\n          *puVar19 = *puVar19 | uVar24;\n        }\n        if (local_108 != local_f8) {\n          FUN_002dac70();\n        }\n        lVar21 = *param_1;\n      }" (if "if") (parenthesized_expression "((uVar24 & *(ulong *)(local_a8 + (uVar28 >> 6) * 8)) == 0)" (( "(") (binary_expression "(uVar24 & *(ulong *)(local_a8 + (uVar28 >> 6) * 8)) == 0" (parenthesized_expression "(uVar24 & *(ulong *)(local_a8 + (uVar28 >> 6) * 8))" (( "(") (binary_expression "uVar24 & *(ulong *)(local_a8 + (uVar28 >> 6) * 8)" (identifier "uVar24") (& "&") (pointer_expression "*(ulong *)(local_a8 + (uVar28 >> 6) * 8)" (* "*") (cast_expression "(ulong *)(local_a8 + (uVar28 >> 6) * 8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_a8 + (uVar28 >> 6) * 8)" (( "(") (binary_expression "local_a8 + (uVar28 >> 6) * 8" (identifier "local_a8") (+ "+") (binary_expression "(uVar28 >> 6) * 8" (parenthesized_expression "(uVar28 >> 6)" (( "(") (binary_expression "uVar28 >> 6" (identifier "uVar28") (>> ">>") (number_literal "6")) () ")")) (* "*") (number_literal "8"))) () ")"))))) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        puVar18 = (undefined8 *)(lVar21 + uVar28 * 0x10);\n        local_178 = *puVar18;\n        uStack_170 = puVar18[1];\n        local_100 = 0;\n        local_f8[0] = local_f8[0] & 0xffffffffffffff00;\n        local_108 = local_f8;\n        if (uVar26 == 1) {\n          local_e8 = (ulong *)((ulong)local_e8 & 0xffffffff00000000);\n          FUN_0017f6d0(&local_c8,1,&local_178,uVar3,&local_e8,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_c8 == local_b8) {\n            sVar17 = local_c0;\n            if (local_c0 != 0) {\n              if (local_c0 == 1) {\n                *(byte *)local_108 = (byte)local_b8[0];\n                sVar17 = local_c0;\n              }\n              else {\n                memcpy(local_108,local_c8,local_c0);\n                sVar17 = local_c0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_c8;\n              local_100 = local_c0;\n              local_f8[0] = local_b8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_c8 = puVar19;\n                local_b8[0] = uVar25;\n                goto LAB_00181993;\n              }\n            }\n            local_f8[0] = local_b8[0];\n            local_100 = local_c0;\n            local_108 = local_c8;\n            local_c8 = local_b8;\n          }\nLAB_00181993:\n          local_c0 = 0;\n          *(byte *)local_c8 = 0;\n          if (local_c8 != local_b8) {\n            FUN_002dac70();\n          }\n          local_1d8[uVar28] = local_e8._0_4_;\n        }\n        else {\n          if (uVar3 != *(uint *)(param_1[10] + uVar28 * 4)) goto LAB_001813c8;\n                    \n          FUN_0017f6d0(&local_e8,0,&local_178,uVar3,0,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_e8 == local_d8) {\n            sVar17 = local_e0;\n            if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *(byte *)local_108 = (byte)local_d8[0];\n                sVar17 = local_e0;\n              }\n              else {\n                memcpy(local_108,local_e8,local_e0);\n                sVar17 = local_e0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_e8;\n              local_100 = local_e0;\n              local_f8[0] = local_d8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_e8 = puVar19;\n                local_d8[0] = uVar25;\n                goto LAB_0018156c;\n              }\n            }\n            local_f8[0] = local_d8[0];\n            local_100 = local_e0;\n            local_108 = local_e8;\n            local_e8 = local_d8;\n          }\nLAB_0018156c:\n          local_e0 = 0;\n          *(byte *)local_e8 = 0;\n          if (local_e8 != local_d8) {\n            FUN_002dac70();\n          }\n        }\n        uVar12 = FUN_002d5ef0(local_108,local_100 & 0xffffffff,0xffffffff);\n        uVar25 = (ulong)uVar12 % uStack_70;\n        local_18c = uVar12;\n        if (((long *)local_78[uVar25] == (long *)0x0) ||\n           (puVar18 = *(undefined8 **)local_78[uVar25], puVar18 == (undefined8 *)0x0)) {\nLAB_00181638:\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,(ulong)uVar12,puVar18);\n        }\n        else {\n          uVar23 = (ulong)*(uint *)(puVar18 + 1);\n          lVar21 = 0;\n          do {\n            if (uVar12 == (uint)uVar23) {\n              puVar18 = (undefined8 *)*puVar18;\n              lVar21 = lVar21 + 1;\n              lVar29 = lVar21;\n            }\n            else {\n              if (lVar21 != 0) goto LAB_00181742;\n              puVar18 = (undefined8 *)*puVar18;\n              lVar29 = 0;\n            }\n          } while ((puVar18 != (undefined8 *)0x0) &&\n                  (uVar23 = (ulong)*(uint *)(puVar18 + 1), lVar29 = lVar21,\n                  uVar25 == uVar23 % uStack_70));\n          if (lVar29 == 0) goto LAB_00181638;\nLAB_00181742:\n          auVar41 = FUN_00182170(&local_78,&local_18c);\n          uVar25 = local_100;\n          puVar19 = local_108;\n          plVar4 = local_128;\n          uVar12 = local_18c;\n          for (puVar18 = auVar41._0_8_; local_18c = uVar12, puVar18 != auVar41._8_8_;\n              puVar18 = (undefined8 *)*puVar18) {\n            uVar12 = *(uint *)((long)puVar18 + 0xc);\n            uVar23 = (ulong)uVar12;\n            plVar30 = plVar4 + uVar23 * 4;\n            if ((plVar30[1] == uVar25) &&\n               (iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0)) {\n              if (*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8)) {\n                *(uint *)(param_1[10] + uVar23 * 4) = uVar3;\n                *(uint *)((long)puVar18 + 0xc) = uVar3;\n                FUN_002e3180(plVar30,plVar4 + uVar28 * 4);\n                bVar36 = false;\n              }\n              else {\n                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;\n                bVar36 = false;\n              }\n              goto joined_r0x00181835;\n            }\n            uVar12 = local_18c;\n          }\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,uVar12,puVar18);\n        }\n        FUN_002e1890(local_128 + uVar28 * 4,&local_108);\njoined_r0x00181835:\n        if ((uVar26 == 1) && (local_1d8[uVar28] == 0)) {\n          puVar19 = (ulong *)((uVar28 >> 6) * 8 + local_a8);\n          *puVar19 = *puVar19 | uVar24;\n        }\n        if (local_108 != local_f8) {\n          FUN_002dac70();\n        }\n        lVar21 = *param_1;\n      }" ({ "{") (expression_statement "puVar18 = (undefined8 *)(lVar21 + uVar28 * 0x10);" (assignment_expression "puVar18 = (undefined8 *)(lVar21 + uVar28 * 0x10)" (identifier "puVar18") (= "=") (cast_expression "(undefined8 *)(lVar21 + uVar28 * 0x10)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar21 + uVar28 * 0x10)" (( "(") (binary_expression "lVar21 + uVar28 * 0x10" (identifier "lVar21") (+ "+") (binary_expression "uVar28 * 0x10" (identifier "uVar28") (* "*") (number_literal "0x10"))) () ")")))) (; ";")) (expression_statement "local_178 = *puVar18;" (assignment_expression "local_178 = *puVar18" (identifier "local_178") (= "=") (pointer_expression "*puVar18" (* "*") (identifier "puVar18"))) (; ";")) (expression_statement "uStack_170 = puVar18[1];" (assignment_expression "uStack_170 = puVar18[1]" (identifier "uStack_170") (= "=") (subscript_expression "puVar18[1]" (identifier "puVar18") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "local_100 = 0;" (assignment_expression "local_100 = 0" (identifier "local_100") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_f8[0] = local_f8[0] & 0xffffffffffffff00;" (assignment_expression "local_f8[0] = local_f8[0] & 0xffffffffffffff00" (subscript_expression "local_f8[0]" (identifier "local_f8") ([ "[") (number_literal "0") (] "]")) (= "=") (binary_expression "local_f8[0] & 0xffffffffffffff00" (subscript_expression "local_f8[0]" (identifier "local_f8") ([ "[") (number_literal "0") (] "]")) (& "&") (number_literal "0xffffffffffffff00"))) (; ";")) (expression_statement "local_108 = local_f8;" (assignment_expression "local_108 = local_f8" (identifier "local_108") (= "=") (identifier "local_f8")) (; ";")) (if_statement "if (uVar26 == 1) {\n          local_e8 = (ulong *)((ulong)local_e8 & 0xffffffff00000000);\n          FUN_0017f6d0(&local_c8,1,&local_178,uVar3,&local_e8,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_c8 == local_b8) {\n            sVar17 = local_c0;\n            if (local_c0 != 0) {\n              if (local_c0 == 1) {\n                *(byte *)local_108 = (byte)local_b8[0];\n                sVar17 = local_c0;\n              }\n              else {\n                memcpy(local_108,local_c8,local_c0);\n                sVar17 = local_c0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_c8;\n              local_100 = local_c0;\n              local_f8[0] = local_b8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_c8 = puVar19;\n                local_b8[0] = uVar25;\n                goto LAB_00181993;\n              }\n            }\n            local_f8[0] = local_b8[0];\n            local_100 = local_c0;\n            local_108 = local_c8;\n            local_c8 = local_b8;\n          }\nLAB_00181993:\n          local_c0 = 0;\n          *(byte *)local_c8 = 0;\n          if (local_c8 != local_b8) {\n            FUN_002dac70();\n          }\n          local_1d8[uVar28] = local_e8._0_4_;\n        }\n        else {\n          if (uVar3 != *(uint *)(param_1[10] + uVar28 * 4)) goto LAB_001813c8;\n                    \n          FUN_0017f6d0(&local_e8,0,&local_178,uVar3,0,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_e8 == local_d8) {\n            sVar17 = local_e0;\n            if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *(byte *)local_108 = (byte)local_d8[0];\n                sVar17 = local_e0;\n              }\n              else {\n                memcpy(local_108,local_e8,local_e0);\n                sVar17 = local_e0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_e8;\n              local_100 = local_e0;\n              local_f8[0] = local_d8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_e8 = puVar19;\n                local_d8[0] = uVar25;\n                goto LAB_0018156c;\n              }\n            }\n            local_f8[0] = local_d8[0];\n            local_100 = local_e0;\n            local_108 = local_e8;\n            local_e8 = local_d8;\n          }\nLAB_0018156c:\n          local_e0 = 0;\n          *(byte *)local_e8 = 0;\n          if (local_e8 != local_d8) {\n            FUN_002dac70();\n          }\n        }" (if "if") (parenthesized_expression "(uVar26 == 1)" (( "(") (binary_expression "uVar26 == 1" (identifier "uVar26") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n          local_e8 = (ulong *)((ulong)local_e8 & 0xffffffff00000000);\n          FUN_0017f6d0(&local_c8,1,&local_178,uVar3,&local_e8,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_c8 == local_b8) {\n            sVar17 = local_c0;\n            if (local_c0 != 0) {\n              if (local_c0 == 1) {\n                *(byte *)local_108 = (byte)local_b8[0];\n                sVar17 = local_c0;\n              }\n              else {\n                memcpy(local_108,local_c8,local_c0);\n                sVar17 = local_c0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_c8;\n              local_100 = local_c0;\n              local_f8[0] = local_b8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_c8 = puVar19;\n                local_b8[0] = uVar25;\n                goto LAB_00181993;\n              }\n            }\n            local_f8[0] = local_b8[0];\n            local_100 = local_c0;\n            local_108 = local_c8;\n            local_c8 = local_b8;\n          }\nLAB_00181993:\n          local_c0 = 0;\n          *(byte *)local_c8 = 0;\n          if (local_c8 != local_b8) {\n            FUN_002dac70();\n          }\n          local_1d8[uVar28] = local_e8._0_4_;\n        }" ({ "{") (expression_statement "local_e8 = (ulong *)((ulong)local_e8 & 0xffffffff00000000);" (assignment_expression "local_e8 = (ulong *)((ulong)local_e8 & 0xffffffff00000000)" (identifier "local_e8") (= "=") (cast_expression "(ulong *)((ulong)local_e8 & 0xffffffff00000000)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulong)local_e8 & 0xffffffff00000000)" (( "(") (binary_expression "(ulong)local_e8 & 0xffffffff00000000" (cast_expression "(ulong)local_e8" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "local_e8")) (& "&") (number_literal "0xffffffff00000000")) () ")")))) (; ";")) (expression_statement "FUN_0017f6d0(&local_c8,1,&local_178,uVar3,&local_e8,param_3,param_1 + 10,&local_148);" (call_expression "FUN_0017f6d0(&local_c8,1,&local_178,uVar3,&local_e8,param_3,param_1 + 10,&local_148)" (identifier "FUN_0017f6d0") (argument_list "(&local_c8,1,&local_178,uVar3,&local_e8,param_3,param_1 + 10,&local_148)" (( "(") (pointer_expression "&local_c8" (& "&") (identifier "local_c8")) (, ",") (number_literal "1") (, ",") (pointer_expression "&local_178" (& "&") (identifier "local_178")) (, ",") (identifier "uVar3") (, ",") (pointer_expression "&local_e8" (& "&") (identifier "local_e8")) (, ",") (identifier "param_3") (, ",") (binary_expression "param_1 + 10" (identifier "param_1") (+ "+") (number_literal "10")) (, ",") (pointer_expression "&local_148" (& "&") (identifier "local_148")) () ")"))) (; ";")) (expression_statement "uVar25 = local_f8[0];" (assignment_expression "uVar25 = local_f8[0]" (identifier "uVar25") (= "=") (subscript_expression "local_f8[0]" (identifier "local_f8") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "puVar19 = local_108;" (assignment_expression "puVar19 = local_108" (identifier "puVar19") (= "=") (identifier "local_108")) (; ";")) (if_statement "if (local_c8 == local_b8) {\n            sVar17 = local_c0;\n            if (local_c0 != 0) {\n              if (local_c0 == 1) {\n                *(byte *)local_108 = (byte)local_b8[0];\n                sVar17 = local_c0;\n              }\n              else {\n                memcpy(local_108,local_c8,local_c0);\n                sVar17 = local_c0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_c8;\n              local_100 = local_c0;\n              local_f8[0] = local_b8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_c8 = puVar19;\n                local_b8[0] = uVar25;\n                goto LAB_00181993;\n              }\n            }\n            local_f8[0] = local_b8[0];\n            local_100 = local_c0;\n            local_108 = local_c8;\n            local_c8 = local_b8;\n          }" (if "if") (parenthesized_expression "(local_c8 == local_b8)" (( "(") (binary_expression "local_c8 == local_b8" (identifier "local_c8") (== "==") (identifier "local_b8")) () ")")) (compound_statement "{\n            sVar17 = local_c0;\n            if (local_c0 != 0) {\n              if (local_c0 == 1) {\n                *(byte *)local_108 = (byte)local_b8[0];\n                sVar17 = local_c0;\n              }\n              else {\n                memcpy(local_108,local_c8,local_c0);\n                sVar17 = local_c0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }" ({ "{") (expression_statement "sVar17 = local_c0;" (assignment_expression "sVar17 = local_c0" (identifier "sVar17") (= "=") (identifier "local_c0")) (; ";")) (if_statement "if (local_c0 != 0) {\n              if (local_c0 == 1) {\n                *(byte *)local_108 = (byte)local_b8[0];\n                sVar17 = local_c0;\n              }\n              else {\n                memcpy(local_108,local_c8,local_c0);\n                sVar17 = local_c0;\n              }\n            }" (if "if") (parenthesized_expression "(local_c0 != 0)" (( "(") (binary_expression "local_c0 != 0" (identifier "local_c0") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              if (local_c0 == 1) {\n                *(byte *)local_108 = (byte)local_b8[0];\n                sVar17 = local_c0;\n              }\n              else {\n                memcpy(local_108,local_c8,local_c0);\n                sVar17 = local_c0;\n              }\n            }" ({ "{") (if_statement "if (local_c0 == 1) {\n                *(byte *)local_108 = (byte)local_b8[0];\n                sVar17 = local_c0;\n              }\n              else {\n                memcpy(local_108,local_c8,local_c0);\n                sVar17 = local_c0;\n              }" (if "if") (parenthesized_expression "(local_c0 == 1)" (( "(") (binary_expression "local_c0 == 1" (identifier "local_c0") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n                *(byte *)local_108 = (byte)local_b8[0];\n                sVar17 = local_c0;\n              }" ({ "{") (expression_statement "*(byte *)local_108 = (byte)local_b8[0];" (assignment_expression "*(byte *)local_108 = (byte)local_b8[0]" (pointer_expression "*(byte *)local_108" (* "*") (cast_expression "(byte *)local_108" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_108"))) (= "=") (cast_expression "(byte)local_b8[0]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "local_b8[0]" (identifier "local_b8") ([ "[") (number_literal "0") (] "]")))) (; ";")) (expression_statement "sVar17 = local_c0;" (assignment_expression "sVar17 = local_c0" (identifier "sVar17") (= "=") (identifier "local_c0")) (; ";")) (} "}")) (else_clause "else {\n                memcpy(local_108,local_c8,local_c0);\n                sVar17 = local_c0;\n              }" (else "else") (compound_statement "{\n                memcpy(local_108,local_c8,local_c0);\n                sVar17 = local_c0;\n              }" ({ "{") (expression_statement "memcpy(local_108,local_c8,local_c0);" (call_expression "memcpy(local_108,local_c8,local_c0)" (identifier "memcpy") (argument_list "(local_108,local_c8,local_c0)" (( "(") (identifier "local_108") (, ",") (identifier "local_c8") (, ",") (identifier "local_c0") () ")"))) (; ";")) (expression_statement "sVar17 = local_c0;" (assignment_expression "sVar17 = local_c0" (identifier "sVar17") (= "=") (identifier "local_c0")) (; ";")) (} "}")))) (} "}"))) (expression_statement "*(byte *)((long)local_108 + sVar17) = 0;" (assignment_expression "*(byte *)((long)local_108 + sVar17) = 0" (pointer_expression "*(byte *)((long)local_108 + sVar17)" (* "*") (cast_expression "(byte *)((long)local_108 + sVar17)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)local_108 + sVar17)" (( "(") (binary_expression "(long)local_108 + sVar17" (cast_expression "(long)local_108" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_108")) (+ "+") (identifier "sVar17")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_100 = sVar17;" (assignment_expression "local_100 = sVar17" (identifier "local_100") (= "=") (identifier "sVar17")) (; ";")) (} "}")) (else_clause "else {\n            if (local_108 != local_f8) {\n              local_108 = local_c8;\n              local_100 = local_c0;\n              local_f8[0] = local_b8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_c8 = puVar19;\n                local_b8[0] = uVar25;\n                goto LAB_00181993;\n              }\n            }\n            local_f8[0] = local_b8[0];\n            local_100 = local_c0;\n            local_108 = local_c8;\n            local_c8 = local_b8;\n          }" (else "else") (compound_statement "{\n            if (local_108 != local_f8) {\n              local_108 = local_c8;\n              local_100 = local_c0;\n              local_f8[0] = local_b8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_c8 = puVar19;\n                local_b8[0] = uVar25;\n                goto LAB_00181993;\n              }\n            }\n            local_f8[0] = local_b8[0];\n            local_100 = local_c0;\n            local_108 = local_c8;\n            local_c8 = local_b8;\n          }" ({ "{") (if_statement "if (local_108 != local_f8) {\n              local_108 = local_c8;\n              local_100 = local_c0;\n              local_f8[0] = local_b8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_c8 = puVar19;\n                local_b8[0] = uVar25;\n                goto LAB_00181993;\n              }\n            }" (if "if") (parenthesized_expression "(local_108 != local_f8)" (( "(") (binary_expression "local_108 != local_f8" (identifier "local_108") (!= "!=") (identifier "local_f8")) () ")")) (compound_statement "{\n              local_108 = local_c8;\n              local_100 = local_c0;\n              local_f8[0] = local_b8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_c8 = puVar19;\n                local_b8[0] = uVar25;\n                goto LAB_00181993;\n              }\n            }" ({ "{") (expression_statement "local_108 = local_c8;" (assignment_expression "local_108 = local_c8" (identifier "local_108") (= "=") (identifier "local_c8")) (; ";")) (expression_statement "local_100 = local_c0;" (assignment_expression "local_100 = local_c0" (identifier "local_100") (= "=") (identifier "local_c0")) (; ";")) (expression_statement "local_f8[0] = local_b8[0];" (assignment_expression "local_f8[0] = local_b8[0]" (subscript_expression "local_f8[0]" (identifier "local_f8") ([ "[") (number_literal "0") (] "]")) (= "=") (subscript_expression "local_b8[0]" (identifier "local_b8") ([ "[") (number_literal "0") (] "]"))) (; ";")) (if_statement "if (puVar19 != (ulong *)0x0) {\n                local_c8 = puVar19;\n                local_b8[0] = uVar25;\n                goto LAB_00181993;\n              }" (if "if") (parenthesized_expression "(puVar19 != (ulong *)0x0)" (( "(") (binary_expression "puVar19 != (ulong *)0x0" (identifier "puVar19") (!= "!=") (cast_expression "(ulong *)0x0" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                local_c8 = puVar19;\n                local_b8[0] = uVar25;\n                goto LAB_00181993;\n              }" ({ "{") (expression_statement "local_c8 = puVar19;" (assignment_expression "local_c8 = puVar19" (identifier "local_c8") (= "=") (identifier "puVar19")) (; ";")) (expression_statement "local_b8[0] = uVar25;" (assignment_expression "local_b8[0] = uVar25" (subscript_expression "local_b8[0]" (identifier "local_b8") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "uVar25")) (; ";")) (goto_statement "goto LAB_00181993;" (goto "goto") (statement_identifier "LAB_00181993") (; ";")) (} "}"))) (} "}"))) (expression_statement "local_f8[0] = local_b8[0];" (assignment_expression "local_f8[0] = local_b8[0]" (subscript_expression "local_f8[0]" (identifier "local_f8") ([ "[") (number_literal "0") (] "]")) (= "=") (subscript_expression "local_b8[0]" (identifier "local_b8") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "local_100 = local_c0;" (assignment_expression "local_100 = local_c0" (identifier "local_100") (= "=") (identifier "local_c0")) (; ";")) (expression_statement "local_108 = local_c8;" (assignment_expression "local_108 = local_c8" (identifier "local_108") (= "=") (identifier "local_c8")) (; ";")) (expression_statement "local_c8 = local_b8;" (assignment_expression "local_c8 = local_b8" (identifier "local_c8") (= "=") (identifier "local_b8")) (; ";")) (} "}")))) (labeled_statement "LAB_00181993:\n          local_c0 = 0;" (statement_identifier "LAB_00181993") (: ":") (expression_statement "local_c0 = 0;" (assignment_expression "local_c0 = 0" (identifier "local_c0") (= "=") (number_literal "0")) (; ";"))) (expression_statement "*(byte *)local_c8 = 0;" (assignment_expression "*(byte *)local_c8 = 0" (pointer_expression "*(byte *)local_c8" (* "*") (cast_expression "(byte *)local_c8" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_c8"))) (= "=") (number_literal "0")) (; ";")) (if_statement "if (local_c8 != local_b8) {\n            FUN_002dac70();\n          }" (if "if") (parenthesized_expression "(local_c8 != local_b8)" (( "(") (binary_expression "local_c8 != local_b8" (identifier "local_c8") (!= "!=") (identifier "local_b8")) () ")")) (compound_statement "{\n            FUN_002dac70();\n          }" ({ "{") (expression_statement "FUN_002dac70();" (call_expression "FUN_002dac70()" (identifier "FUN_002dac70") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "local_1d8[uVar28] = local_e8._0_4_;" (assignment_expression "local_1d8[uVar28] = local_e8._0_4_" (subscript_expression "local_1d8[uVar28]" (identifier "local_1d8") ([ "[") (identifier "uVar28") (] "]")) (= "=") (field_expression "local_e8._0_4_" (identifier "local_e8") (. ".") (field_identifier "_0_4_"))) (; ";")) (} "}")) (else_clause "else {\n          if (uVar3 != *(uint *)(param_1[10] + uVar28 * 4)) goto LAB_001813c8;\n                    \n          FUN_0017f6d0(&local_e8,0,&local_178,uVar3,0,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_e8 == local_d8) {\n            sVar17 = local_e0;\n            if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *(byte *)local_108 = (byte)local_d8[0];\n                sVar17 = local_e0;\n              }\n              else {\n                memcpy(local_108,local_e8,local_e0);\n                sVar17 = local_e0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_e8;\n              local_100 = local_e0;\n              local_f8[0] = local_d8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_e8 = puVar19;\n                local_d8[0] = uVar25;\n                goto LAB_0018156c;\n              }\n            }\n            local_f8[0] = local_d8[0];\n            local_100 = local_e0;\n            local_108 = local_e8;\n            local_e8 = local_d8;\n          }\nLAB_0018156c:\n          local_e0 = 0;\n          *(byte *)local_e8 = 0;\n          if (local_e8 != local_d8) {\n            FUN_002dac70();\n          }\n        }" (else "else") (compound_statement "{\n          if (uVar3 != *(uint *)(param_1[10] + uVar28 * 4)) goto LAB_001813c8;\n                    \n          FUN_0017f6d0(&local_e8,0,&local_178,uVar3,0,param_3,param_1 + 10,&local_148);\n          uVar25 = local_f8[0];\n          puVar19 = local_108;\n          if (local_e8 == local_d8) {\n            sVar17 = local_e0;\n            if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *(byte *)local_108 = (byte)local_d8[0];\n                sVar17 = local_e0;\n              }\n              else {\n                memcpy(local_108,local_e8,local_e0);\n                sVar17 = local_e0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_e8;\n              local_100 = local_e0;\n              local_f8[0] = local_d8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_e8 = puVar19;\n                local_d8[0] = uVar25;\n                goto LAB_0018156c;\n              }\n            }\n            local_f8[0] = local_d8[0];\n            local_100 = local_e0;\n            local_108 = local_e8;\n            local_e8 = local_d8;\n          }\nLAB_0018156c:\n          local_e0 = 0;\n          *(byte *)local_e8 = 0;\n          if (local_e8 != local_d8) {\n            FUN_002dac70();\n          }\n        }" ({ "{") (if_statement "if (uVar3 != *(uint *)(param_1[10] + uVar28 * 4)) goto LAB_001813c8;" (if "if") (parenthesized_expression "(uVar3 != *(uint *)(param_1[10] + uVar28 * 4))" (( "(") (binary_expression "uVar3 != *(uint *)(param_1[10] + uVar28 * 4)" (identifier "uVar3") (!= "!=") (pointer_expression "*(uint *)(param_1[10] + uVar28 * 4)" (* "*") (cast_expression "(uint *)(param_1[10] + uVar28 * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[10] + uVar28 * 4)" (( "(") (binary_expression "param_1[10] + uVar28 * 4" (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]")) (+ "+") (binary_expression "uVar28 * 4" (identifier "uVar28") (* "*") (number_literal "4"))) () ")"))))) () ")")) (goto_statement "goto LAB_001813c8;" (goto "goto") (statement_identifier "LAB_001813c8") (; ";"))) (expression_statement "FUN_0017f6d0(&local_e8,0,&local_178,uVar3,0,param_3,param_1 + 10,&local_148);" (call_expression "FUN_0017f6d0(&local_e8,0,&local_178,uVar3,0,param_3,param_1 + 10,&local_148)" (identifier "FUN_0017f6d0") (argument_list "(&local_e8,0,&local_178,uVar3,0,param_3,param_1 + 10,&local_148)" (( "(") (pointer_expression "&local_e8" (& "&") (identifier "local_e8")) (, ",") (number_literal "0") (, ",") (pointer_expression "&local_178" (& "&") (identifier "local_178")) (, ",") (identifier "uVar3") (, ",") (number_literal "0") (, ",") (identifier "param_3") (, ",") (binary_expression "param_1 + 10" (identifier "param_1") (+ "+") (number_literal "10")) (, ",") (pointer_expression "&local_148" (& "&") (identifier "local_148")) () ")"))) (; ";")) (expression_statement "uVar25 = local_f8[0];" (assignment_expression "uVar25 = local_f8[0]" (identifier "uVar25") (= "=") (subscript_expression "local_f8[0]" (identifier "local_f8") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "puVar19 = local_108;" (assignment_expression "puVar19 = local_108" (identifier "puVar19") (= "=") (identifier "local_108")) (; ";")) (if_statement "if (local_e8 == local_d8) {\n            sVar17 = local_e0;\n            if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *(byte *)local_108 = (byte)local_d8[0];\n                sVar17 = local_e0;\n              }\n              else {\n                memcpy(local_108,local_e8,local_e0);\n                sVar17 = local_e0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }\n          else {\n            if (local_108 != local_f8) {\n              local_108 = local_e8;\n              local_100 = local_e0;\n              local_f8[0] = local_d8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_e8 = puVar19;\n                local_d8[0] = uVar25;\n                goto LAB_0018156c;\n              }\n            }\n            local_f8[0] = local_d8[0];\n            local_100 = local_e0;\n            local_108 = local_e8;\n            local_e8 = local_d8;\n          }" (if "if") (parenthesized_expression "(local_e8 == local_d8)" (( "(") (binary_expression "local_e8 == local_d8" (identifier "local_e8") (== "==") (identifier "local_d8")) () ")")) (compound_statement "{\n            sVar17 = local_e0;\n            if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *(byte *)local_108 = (byte)local_d8[0];\n                sVar17 = local_e0;\n              }\n              else {\n                memcpy(local_108,local_e8,local_e0);\n                sVar17 = local_e0;\n              }\n            }\n            *(byte *)((long)local_108 + sVar17) = 0;\n            local_100 = sVar17;\n          }" ({ "{") (expression_statement "sVar17 = local_e0;" (assignment_expression "sVar17 = local_e0" (identifier "sVar17") (= "=") (identifier "local_e0")) (; ";")) (if_statement "if (local_e0 != 0) {\n              if (local_e0 == 1) {\n                *(byte *)local_108 = (byte)local_d8[0];\n                sVar17 = local_e0;\n              }\n              else {\n                memcpy(local_108,local_e8,local_e0);\n                sVar17 = local_e0;\n              }\n            }" (if "if") (parenthesized_expression "(local_e0 != 0)" (( "(") (binary_expression "local_e0 != 0" (identifier "local_e0") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              if (local_e0 == 1) {\n                *(byte *)local_108 = (byte)local_d8[0];\n                sVar17 = local_e0;\n              }\n              else {\n                memcpy(local_108,local_e8,local_e0);\n                sVar17 = local_e0;\n              }\n            }" ({ "{") (if_statement "if (local_e0 == 1) {\n                *(byte *)local_108 = (byte)local_d8[0];\n                sVar17 = local_e0;\n              }\n              else {\n                memcpy(local_108,local_e8,local_e0);\n                sVar17 = local_e0;\n              }" (if "if") (parenthesized_expression "(local_e0 == 1)" (( "(") (binary_expression "local_e0 == 1" (identifier "local_e0") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n                *(byte *)local_108 = (byte)local_d8[0];\n                sVar17 = local_e0;\n              }" ({ "{") (expression_statement "*(byte *)local_108 = (byte)local_d8[0];" (assignment_expression "*(byte *)local_108 = (byte)local_d8[0]" (pointer_expression "*(byte *)local_108" (* "*") (cast_expression "(byte *)local_108" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_108"))) (= "=") (cast_expression "(byte)local_d8[0]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "local_d8[0]" (identifier "local_d8") ([ "[") (number_literal "0") (] "]")))) (; ";")) (expression_statement "sVar17 = local_e0;" (assignment_expression "sVar17 = local_e0" (identifier "sVar17") (= "=") (identifier "local_e0")) (; ";")) (} "}")) (else_clause "else {\n                memcpy(local_108,local_e8,local_e0);\n                sVar17 = local_e0;\n              }" (else "else") (compound_statement "{\n                memcpy(local_108,local_e8,local_e0);\n                sVar17 = local_e0;\n              }" ({ "{") (expression_statement "memcpy(local_108,local_e8,local_e0);" (call_expression "memcpy(local_108,local_e8,local_e0)" (identifier "memcpy") (argument_list "(local_108,local_e8,local_e0)" (( "(") (identifier "local_108") (, ",") (identifier "local_e8") (, ",") (identifier "local_e0") () ")"))) (; ";")) (expression_statement "sVar17 = local_e0;" (assignment_expression "sVar17 = local_e0" (identifier "sVar17") (= "=") (identifier "local_e0")) (; ";")) (} "}")))) (} "}"))) (expression_statement "*(byte *)((long)local_108 + sVar17) = 0;" (assignment_expression "*(byte *)((long)local_108 + sVar17) = 0" (pointer_expression "*(byte *)((long)local_108 + sVar17)" (* "*") (cast_expression "(byte *)((long)local_108 + sVar17)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)local_108 + sVar17)" (( "(") (binary_expression "(long)local_108 + sVar17" (cast_expression "(long)local_108" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_108")) (+ "+") (identifier "sVar17")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_100 = sVar17;" (assignment_expression "local_100 = sVar17" (identifier "local_100") (= "=") (identifier "sVar17")) (; ";")) (} "}")) (else_clause "else {\n            if (local_108 != local_f8) {\n              local_108 = local_e8;\n              local_100 = local_e0;\n              local_f8[0] = local_d8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_e8 = puVar19;\n                local_d8[0] = uVar25;\n                goto LAB_0018156c;\n              }\n            }\n            local_f8[0] = local_d8[0];\n            local_100 = local_e0;\n            local_108 = local_e8;\n            local_e8 = local_d8;\n          }" (else "else") (compound_statement "{\n            if (local_108 != local_f8) {\n              local_108 = local_e8;\n              local_100 = local_e0;\n              local_f8[0] = local_d8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_e8 = puVar19;\n                local_d8[0] = uVar25;\n                goto LAB_0018156c;\n              }\n            }\n            local_f8[0] = local_d8[0];\n            local_100 = local_e0;\n            local_108 = local_e8;\n            local_e8 = local_d8;\n          }" ({ "{") (if_statement "if (local_108 != local_f8) {\n              local_108 = local_e8;\n              local_100 = local_e0;\n              local_f8[0] = local_d8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_e8 = puVar19;\n                local_d8[0] = uVar25;\n                goto LAB_0018156c;\n              }\n            }" (if "if") (parenthesized_expression "(local_108 != local_f8)" (( "(") (binary_expression "local_108 != local_f8" (identifier "local_108") (!= "!=") (identifier "local_f8")) () ")")) (compound_statement "{\n              local_108 = local_e8;\n              local_100 = local_e0;\n              local_f8[0] = local_d8[0];\n              if (puVar19 != (ulong *)0x0) {\n                local_e8 = puVar19;\n                local_d8[0] = uVar25;\n                goto LAB_0018156c;\n              }\n            }" ({ "{") (expression_statement "local_108 = local_e8;" (assignment_expression "local_108 = local_e8" (identifier "local_108") (= "=") (identifier "local_e8")) (; ";")) (expression_statement "local_100 = local_e0;" (assignment_expression "local_100 = local_e0" (identifier "local_100") (= "=") (identifier "local_e0")) (; ";")) (expression_statement "local_f8[0] = local_d8[0];" (assignment_expression "local_f8[0] = local_d8[0]" (subscript_expression "local_f8[0]" (identifier "local_f8") ([ "[") (number_literal "0") (] "]")) (= "=") (subscript_expression "local_d8[0]" (identifier "local_d8") ([ "[") (number_literal "0") (] "]"))) (; ";")) (if_statement "if (puVar19 != (ulong *)0x0) {\n                local_e8 = puVar19;\n                local_d8[0] = uVar25;\n                goto LAB_0018156c;\n              }" (if "if") (parenthesized_expression "(puVar19 != (ulong *)0x0)" (( "(") (binary_expression "puVar19 != (ulong *)0x0" (identifier "puVar19") (!= "!=") (cast_expression "(ulong *)0x0" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                local_e8 = puVar19;\n                local_d8[0] = uVar25;\n                goto LAB_0018156c;\n              }" ({ "{") (expression_statement "local_e8 = puVar19;" (assignment_expression "local_e8 = puVar19" (identifier "local_e8") (= "=") (identifier "puVar19")) (; ";")) (expression_statement "local_d8[0] = uVar25;" (assignment_expression "local_d8[0] = uVar25" (subscript_expression "local_d8[0]" (identifier "local_d8") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "uVar25")) (; ";")) (goto_statement "goto LAB_0018156c;" (goto "goto") (statement_identifier "LAB_0018156c") (; ";")) (} "}"))) (} "}"))) (expression_statement "local_f8[0] = local_d8[0];" (assignment_expression "local_f8[0] = local_d8[0]" (subscript_expression "local_f8[0]" (identifier "local_f8") ([ "[") (number_literal "0") (] "]")) (= "=") (subscript_expression "local_d8[0]" (identifier "local_d8") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "local_100 = local_e0;" (assignment_expression "local_100 = local_e0" (identifier "local_100") (= "=") (identifier "local_e0")) (; ";")) (expression_statement "local_108 = local_e8;" (assignment_expression "local_108 = local_e8" (identifier "local_108") (= "=") (identifier "local_e8")) (; ";")) (expression_statement "local_e8 = local_d8;" (assignment_expression "local_e8 = local_d8" (identifier "local_e8") (= "=") (identifier "local_d8")) (; ";")) (} "}")))) (labeled_statement "LAB_0018156c:\n          local_e0 = 0;" (statement_identifier "LAB_0018156c") (: ":") (expression_statement "local_e0 = 0;" (assignment_expression "local_e0 = 0" (identifier "local_e0") (= "=") (number_literal "0")) (; ";"))) (expression_statement "*(byte *)local_e8 = 0;" (assignment_expression "*(byte *)local_e8 = 0" (pointer_expression "*(byte *)local_e8" (* "*") (cast_expression "(byte *)local_e8" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_e8"))) (= "=") (number_literal "0")) (; ";")) (if_statement "if (local_e8 != local_d8) {\n            FUN_002dac70();\n          }" (if "if") (parenthesized_expression "(local_e8 != local_d8)" (( "(") (binary_expression "local_e8 != local_d8" (identifier "local_e8") (!= "!=") (identifier "local_d8")) () ")")) (compound_statement "{\n            FUN_002dac70();\n          }" ({ "{") (expression_statement "FUN_002dac70();" (call_expression "FUN_002dac70()" (identifier "FUN_002dac70") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}")))) (expression_statement "uVar12 = FUN_002d5ef0(local_108,local_100 & 0xffffffff,0xffffffff);" (assignment_expression "uVar12 = FUN_002d5ef0(local_108,local_100 & 0xffffffff,0xffffffff)" (identifier "uVar12") (= "=") (call_expression "FUN_002d5ef0(local_108,local_100 & 0xffffffff,0xffffffff)" (identifier "FUN_002d5ef0") (argument_list "(local_108,local_100 & 0xffffffff,0xffffffff)" (( "(") (identifier "local_108") (, ",") (binary_expression "local_100 & 0xffffffff" (identifier "local_100") (& "&") (number_literal "0xffffffff")) (, ",") (number_literal "0xffffffff") () ")")))) (; ";")) (expression_statement "uVar25 = (ulong)uVar12 % uStack_70;" (assignment_expression "uVar25 = (ulong)uVar12 % uStack_70" (identifier "uVar25") (= "=") (binary_expression "(ulong)uVar12 % uStack_70" (cast_expression "(ulong)uVar12" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar12")) (% "%") (identifier "uStack_70"))) (; ";")) (expression_statement "local_18c = uVar12;" (assignment_expression "local_18c = uVar12" (identifier "local_18c") (= "=") (identifier "uVar12")) (; ";")) (if_statement "if (((long *)local_78[uVar25] == (long *)0x0) ||\n           (puVar18 = *(undefined8 **)local_78[uVar25], puVar18 == (undefined8 *)0x0)) {\nLAB_00181638:\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,(ulong)uVar12,puVar18);\n        }\n        else {\n          uVar23 = (ulong)*(uint *)(puVar18 + 1);\n          lVar21 = 0;\n          do {\n            if (uVar12 == (uint)uVar23) {\n              puVar18 = (undefined8 *)*puVar18;\n              lVar21 = lVar21 + 1;\n              lVar29 = lVar21;\n            }\n            else {\n              if (lVar21 != 0) goto LAB_00181742;\n              puVar18 = (undefined8 *)*puVar18;\n              lVar29 = 0;\n            }\n          } while ((puVar18 != (undefined8 *)0x0) &&\n                  (uVar23 = (ulong)*(uint *)(puVar18 + 1), lVar29 = lVar21,\n                  uVar25 == uVar23 % uStack_70));\n          if (lVar29 == 0) goto LAB_00181638;\nLAB_00181742:\n          auVar41 = FUN_00182170(&local_78,&local_18c);\n          uVar25 = local_100;\n          puVar19 = local_108;\n          plVar4 = local_128;\n          uVar12 = local_18c;\n          for (puVar18 = auVar41._0_8_; local_18c = uVar12, puVar18 != auVar41._8_8_;\n              puVar18 = (undefined8 *)*puVar18) {\n            uVar12 = *(uint *)((long)puVar18 + 0xc);\n            uVar23 = (ulong)uVar12;\n            plVar30 = plVar4 + uVar23 * 4;\n            if ((plVar30[1] == uVar25) &&\n               (iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0)) {\n              if (*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8)) {\n                *(uint *)(param_1[10] + uVar23 * 4) = uVar3;\n                *(uint *)((long)puVar18 + 0xc) = uVar3;\n                FUN_002e3180(plVar30,plVar4 + uVar28 * 4);\n                bVar36 = false;\n              }\n              else {\n                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;\n                bVar36 = false;\n              }\n              goto joined_r0x00181835;\n            }\n            uVar12 = local_18c;\n          }\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,uVar12,puVar18);\n        }" (if "if") (parenthesized_expression "(((long *)local_78[uVar25] == (long *)0x0) ||\n           (puVar18 = *(undefined8 **)local_78[uVar25], puVar18 == (undefined8 *)0x0))" (( "(") (binary_expression "((long *)local_78[uVar25] == (long *)0x0) ||\n           (puVar18 = *(undefined8 **)local_78[uVar25], puVar18 == (undefined8 *)0x0)" (parenthesized_expression "((long *)local_78[uVar25] == (long *)0x0)" (( "(") (binary_expression "(long *)local_78[uVar25] == (long *)0x0" (cast_expression "(long *)local_78[uVar25]" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_78[uVar25]" (identifier "local_78") ([ "[") (identifier "uVar25") (] "]"))) (== "==") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(puVar18 = *(undefined8 **)local_78[uVar25], puVar18 == (undefined8 *)0x0)" (( "(") (comma_expression "puVar18 = *(undefined8 **)local_78[uVar25], puVar18 == (undefined8 *)0x0" (assignment_expression "puVar18 = *(undefined8 **)local_78[uVar25]" (identifier "puVar18") (= "=") (pointer_expression "*(undefined8 **)local_78[uVar25]" (* "*") (cast_expression "(undefined8 **)local_78[uVar25]" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "local_78[uVar25]" (identifier "local_78") ([ "[") (identifier "uVar25") (] "]"))))) (, ",") (binary_expression "puVar18 == (undefined8 *)0x0" (identifier "puVar18") (== "==") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (compound_statement "{\nLAB_00181638:\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,(ulong)uVar12,puVar18);\n        }" ({ "{") (labeled_statement "LAB_00181638:\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);" (statement_identifier "LAB_00181638") (: ":") (expression_statement "puVar18 = (undefined8 *)FUN_002d94a0(0x10);" (assignment_expression "puVar18 = (undefined8 *)FUN_002d94a0(0x10)" (identifier "puVar18") (= "=") (cast_expression "(undefined8 *)FUN_002d94a0(0x10)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_002d94a0(0x10)" (identifier "FUN_002d94a0") (argument_list "(0x10)" (( "(") (number_literal "0x10") () ")"))))) (; ";"))) (expression_statement "*(uint *)(puVar18 + 1) = uVar12;" (assignment_expression "*(uint *)(puVar18 + 1) = uVar12" (pointer_expression "*(uint *)(puVar18 + 1)" (* "*") (cast_expression "(uint *)(puVar18 + 1)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 1)" (( "(") (binary_expression "puVar18 + 1" (identifier "puVar18") (+ "+") (number_literal "1")) () ")")))) (= "=") (identifier "uVar12")) (; ";")) (expression_statement "*puVar18 = 0;" (assignment_expression "*puVar18 = 0" (pointer_expression "*puVar18" (* "*") (identifier "puVar18")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(uint *)((long)puVar18 + 0xc) = uVar3;" (assignment_expression "*(uint *)((long)puVar18 + 0xc) = uVar3" (pointer_expression "*(uint *)((long)puVar18 + 0xc)" (* "*") (cast_expression "(uint *)((long)puVar18 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar18 + 0xc)" (( "(") (binary_expression "(long)puVar18 + 0xc" (cast_expression "(long)puVar18" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar18")) (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "uVar3")) (; ";")) (expression_statement "FUN_00182c70(&local_78,0,(ulong)uVar12,puVar18);" (call_expression "FUN_00182c70(&local_78,0,(ulong)uVar12,puVar18)" (identifier "FUN_00182c70") (argument_list "(&local_78,0,(ulong)uVar12,puVar18)" (( "(") (pointer_expression "&local_78" (& "&") (identifier "local_78")) (, ",") (number_literal "0") (, ",") (cast_expression "(ulong)uVar12" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar12")) (, ",") (identifier "puVar18") () ")"))) (; ";")) (} "}")) (else_clause "else {\n          uVar23 = (ulong)*(uint *)(puVar18 + 1);\n          lVar21 = 0;\n          do {\n            if (uVar12 == (uint)uVar23) {\n              puVar18 = (undefined8 *)*puVar18;\n              lVar21 = lVar21 + 1;\n              lVar29 = lVar21;\n            }\n            else {\n              if (lVar21 != 0) goto LAB_00181742;\n              puVar18 = (undefined8 *)*puVar18;\n              lVar29 = 0;\n            }\n          } while ((puVar18 != (undefined8 *)0x0) &&\n                  (uVar23 = (ulong)*(uint *)(puVar18 + 1), lVar29 = lVar21,\n                  uVar25 == uVar23 % uStack_70));\n          if (lVar29 == 0) goto LAB_00181638;\nLAB_00181742:\n          auVar41 = FUN_00182170(&local_78,&local_18c);\n          uVar25 = local_100;\n          puVar19 = local_108;\n          plVar4 = local_128;\n          uVar12 = local_18c;\n          for (puVar18 = auVar41._0_8_; local_18c = uVar12, puVar18 != auVar41._8_8_;\n              puVar18 = (undefined8 *)*puVar18) {\n            uVar12 = *(uint *)((long)puVar18 + 0xc);\n            uVar23 = (ulong)uVar12;\n            plVar30 = plVar4 + uVar23 * 4;\n            if ((plVar30[1] == uVar25) &&\n               (iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0)) {\n              if (*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8)) {\n                *(uint *)(param_1[10] + uVar23 * 4) = uVar3;\n                *(uint *)((long)puVar18 + 0xc) = uVar3;\n                FUN_002e3180(plVar30,plVar4 + uVar28 * 4);\n                bVar36 = false;\n              }\n              else {\n                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;\n                bVar36 = false;\n              }\n              goto joined_r0x00181835;\n            }\n            uVar12 = local_18c;\n          }\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,uVar12,puVar18);\n        }" (else "else") (compound_statement "{\n          uVar23 = (ulong)*(uint *)(puVar18 + 1);\n          lVar21 = 0;\n          do {\n            if (uVar12 == (uint)uVar23) {\n              puVar18 = (undefined8 *)*puVar18;\n              lVar21 = lVar21 + 1;\n              lVar29 = lVar21;\n            }\n            else {\n              if (lVar21 != 0) goto LAB_00181742;\n              puVar18 = (undefined8 *)*puVar18;\n              lVar29 = 0;\n            }\n          } while ((puVar18 != (undefined8 *)0x0) &&\n                  (uVar23 = (ulong)*(uint *)(puVar18 + 1), lVar29 = lVar21,\n                  uVar25 == uVar23 % uStack_70));\n          if (lVar29 == 0) goto LAB_00181638;\nLAB_00181742:\n          auVar41 = FUN_00182170(&local_78,&local_18c);\n          uVar25 = local_100;\n          puVar19 = local_108;\n          plVar4 = local_128;\n          uVar12 = local_18c;\n          for (puVar18 = auVar41._0_8_; local_18c = uVar12, puVar18 != auVar41._8_8_;\n              puVar18 = (undefined8 *)*puVar18) {\n            uVar12 = *(uint *)((long)puVar18 + 0xc);\n            uVar23 = (ulong)uVar12;\n            plVar30 = plVar4 + uVar23 * 4;\n            if ((plVar30[1] == uVar25) &&\n               (iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0)) {\n              if (*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8)) {\n                *(uint *)(param_1[10] + uVar23 * 4) = uVar3;\n                *(uint *)((long)puVar18 + 0xc) = uVar3;\n                FUN_002e3180(plVar30,plVar4 + uVar28 * 4);\n                bVar36 = false;\n              }\n              else {\n                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;\n                bVar36 = false;\n              }\n              goto joined_r0x00181835;\n            }\n            uVar12 = local_18c;\n          }\n          puVar18 = (undefined8 *)FUN_002d94a0(0x10);\n          *(uint *)(puVar18 + 1) = uVar12;\n          *puVar18 = 0;\n          *(uint *)((long)puVar18 + 0xc) = uVar3;\n          FUN_00182c70(&local_78,0,uVar12,puVar18);\n        }" ({ "{") (expression_statement "uVar23 = (ulong)*(uint *)(puVar18 + 1);" (assignment_expression "uVar23 = (ulong)*(uint *)(puVar18 + 1)" (identifier "uVar23") (= "=") (binary_expression "(ulong)*(uint *)(puVar18 + 1)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (* "*") (cast_expression "(uint *)(puVar18 + 1)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 1)" (( "(") (binary_expression "puVar18 + 1" (identifier "puVar18") (+ "+") (number_literal "1")) () ")"))))) (; ";")) (expression_statement "lVar21 = 0;" (assignment_expression "lVar21 = 0" (identifier "lVar21") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n            if (uVar12 == (uint)uVar23) {\n              puVar18 = (undefined8 *)*puVar18;\n              lVar21 = lVar21 + 1;\n              lVar29 = lVar21;\n            }\n            else {\n              if (lVar21 != 0) goto LAB_00181742;\n              puVar18 = (undefined8 *)*puVar18;\n              lVar29 = 0;\n            }\n          } while ((puVar18 != (undefined8 *)0x0) &&\n                  (uVar23 = (ulong)*(uint *)(puVar18 + 1), lVar29 = lVar21,\n                  uVar25 == uVar23 % uStack_70));" (do "do") (compound_statement "{\n            if (uVar12 == (uint)uVar23) {\n              puVar18 = (undefined8 *)*puVar18;\n              lVar21 = lVar21 + 1;\n              lVar29 = lVar21;\n            }\n            else {\n              if (lVar21 != 0) goto LAB_00181742;\n              puVar18 = (undefined8 *)*puVar18;\n              lVar29 = 0;\n            }\n          }" ({ "{") (if_statement "if (uVar12 == (uint)uVar23) {\n              puVar18 = (undefined8 *)*puVar18;\n              lVar21 = lVar21 + 1;\n              lVar29 = lVar21;\n            }\n            else {\n              if (lVar21 != 0) goto LAB_00181742;\n              puVar18 = (undefined8 *)*puVar18;\n              lVar29 = 0;\n            }" (if "if") (parenthesized_expression "(uVar12 == (uint)uVar23)" (( "(") (binary_expression "uVar12 == (uint)uVar23" (identifier "uVar12") (== "==") (cast_expression "(uint)uVar23" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar23"))) () ")")) (compound_statement "{\n              puVar18 = (undefined8 *)*puVar18;\n              lVar21 = lVar21 + 1;\n              lVar29 = lVar21;\n            }" ({ "{") (expression_statement "puVar18 = (undefined8 *)*puVar18;" (assignment_expression "puVar18 = (undefined8 *)*puVar18" (identifier "puVar18") (= "=") (cast_expression "(undefined8 *)*puVar18" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar18" (* "*") (identifier "puVar18")))) (; ";")) (expression_statement "lVar21 = lVar21 + 1;" (assignment_expression "lVar21 = lVar21 + 1" (identifier "lVar21") (= "=") (binary_expression "lVar21 + 1" (identifier "lVar21") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "lVar29 = lVar21;" (assignment_expression "lVar29 = lVar21" (identifier "lVar29") (= "=") (identifier "lVar21")) (; ";")) (} "}")) (else_clause "else {\n              if (lVar21 != 0) goto LAB_00181742;\n              puVar18 = (undefined8 *)*puVar18;\n              lVar29 = 0;\n            }" (else "else") (compound_statement "{\n              if (lVar21 != 0) goto LAB_00181742;\n              puVar18 = (undefined8 *)*puVar18;\n              lVar29 = 0;\n            }" ({ "{") (if_statement "if (lVar21 != 0) goto LAB_00181742;" (if "if") (parenthesized_expression "(lVar21 != 0)" (( "(") (binary_expression "lVar21 != 0" (identifier "lVar21") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00181742;" (goto "goto") (statement_identifier "LAB_00181742") (; ";"))) (expression_statement "puVar18 = (undefined8 *)*puVar18;" (assignment_expression "puVar18 = (undefined8 *)*puVar18" (identifier "puVar18") (= "=") (cast_expression "(undefined8 *)*puVar18" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar18" (* "*") (identifier "puVar18")))) (; ";")) (expression_statement "lVar29 = 0;" (assignment_expression "lVar29 = 0" (identifier "lVar29") (= "=") (number_literal "0")) (; ";")) (} "}")))) (} "}")) (while "while") (parenthesized_expression "((puVar18 != (undefined8 *)0x0) &&\n                  (uVar23 = (ulong)*(uint *)(puVar18 + 1), lVar29 = lVar21,\n                  uVar25 == uVar23 % uStack_70))" (( "(") (binary_expression "(puVar18 != (undefined8 *)0x0) &&\n                  (uVar23 = (ulong)*(uint *)(puVar18 + 1), lVar29 = lVar21,\n                  uVar25 == uVar23 % uStack_70)" (parenthesized_expression "(puVar18 != (undefined8 *)0x0)" (( "(") (binary_expression "puVar18 != (undefined8 *)0x0" (identifier "puVar18") (!= "!=") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(uVar23 = (ulong)*(uint *)(puVar18 + 1), lVar29 = lVar21,\n                  uVar25 == uVar23 % uStack_70)" (( "(") (comma_expression "uVar23 = (ulong)*(uint *)(puVar18 + 1), lVar29 = lVar21,\n                  uVar25 == uVar23 % uStack_70" (assignment_expression "uVar23 = (ulong)*(uint *)(puVar18 + 1)" (identifier "uVar23") (= "=") (binary_expression "(ulong)*(uint *)(puVar18 + 1)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (* "*") (cast_expression "(uint *)(puVar18 + 1)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 1)" (( "(") (binary_expression "puVar18 + 1" (identifier "puVar18") (+ "+") (number_literal "1")) () ")"))))) (, ",") (comma_expression "lVar29 = lVar21,\n                  uVar25 == uVar23 % uStack_70" (assignment_expression "lVar29 = lVar21" (identifier "lVar29") (= "=") (identifier "lVar21")) (, ",") (binary_expression "uVar25 == uVar23 % uStack_70" (identifier "uVar25") (== "==") (binary_expression "uVar23 % uStack_70" (identifier "uVar23") (% "%") (identifier "uStack_70"))))) () ")"))) () ")")) (; ";")) (if_statement "if (lVar29 == 0) goto LAB_00181638;" (if "if") (parenthesized_expression "(lVar29 == 0)" (( "(") (binary_expression "lVar29 == 0" (identifier "lVar29") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00181638;" (goto "goto") (statement_identifier "LAB_00181638") (; ";"))) (labeled_statement "LAB_00181742:\n          auVar41 = FUN_00182170(&local_78,&local_18c);" (statement_identifier "LAB_00181742") (: ":") (expression_statement "auVar41 = FUN_00182170(&local_78,&local_18c);" (assignment_expression "auVar41 = FUN_00182170(&local_78,&local_18c)" (identifier "auVar41") (= "=") (call_expression "FUN_00182170(&local_78,&local_18c)" (identifier "FUN_00182170") (argument_list "(&local_78,&local_18c)" (( "(") (pointer_expression "&local_78" (& "&") (identifier "local_78")) (, ",") (pointer_expression "&local_18c" (& "&") (identifier "local_18c")) () ")")))) (; ";"))) (expression_statement "uVar25 = local_100;" (assignment_expression "uVar25 = local_100" (identifier "uVar25") (= "=") (identifier "local_100")) (; ";")) (expression_statement "puVar19 = local_108;" (assignment_expression "puVar19 = local_108" (identifier "puVar19") (= "=") (identifier "local_108")) (; ";")) (expression_statement "plVar4 = local_128;" (assignment_expression "plVar4 = local_128" (identifier "plVar4") (= "=") (identifier "local_128")) (; ";")) (expression_statement "uVar12 = local_18c;" (assignment_expression "uVar12 = local_18c" (identifier "uVar12") (= "=") (identifier "local_18c")) (; ";")) (for_statement "for (puVar18 = auVar41._0_8_; local_18c = uVar12, puVar18 != auVar41._8_8_;\n              puVar18 = (undefined8 *)*puVar18) {\n            uVar12 = *(uint *)((long)puVar18 + 0xc);\n            uVar23 = (ulong)uVar12;\n            plVar30 = plVar4 + uVar23 * 4;\n            if ((plVar30[1] == uVar25) &&\n               (iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0)) {\n              if (*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8)) {\n                *(uint *)(param_1[10] + uVar23 * 4) = uVar3;\n                *(uint *)((long)puVar18 + 0xc) = uVar3;\n                FUN_002e3180(plVar30,plVar4 + uVar28 * 4);\n                bVar36 = false;\n              }\n              else {\n                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;\n                bVar36 = false;\n              }\n              goto joined_r0x00181835;\n            }\n            uVar12 = local_18c;\n          }" (for "for") (( "(") (assignment_expression "puVar18 = auVar41._0_8_" (identifier "puVar18") (= "=") (field_expression "auVar41._0_8_" (identifier "auVar41") (. ".") (field_identifier "_0_8_"))) (; ";") (comma_expression "local_18c = uVar12, puVar18 != auVar41._8_8_" (assignment_expression "local_18c = uVar12" (identifier "local_18c") (= "=") (identifier "uVar12")) (, ",") (binary_expression "puVar18 != auVar41._8_8_" (identifier "puVar18") (!= "!=") (field_expression "auVar41._8_8_" (identifier "auVar41") (. ".") (field_identifier "_8_8_")))) (; ";") (assignment_expression "puVar18 = (undefined8 *)*puVar18" (identifier "puVar18") (= "=") (cast_expression "(undefined8 *)*puVar18" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar18" (* "*") (identifier "puVar18")))) () ")") (compound_statement "{\n            uVar12 = *(uint *)((long)puVar18 + 0xc);\n            uVar23 = (ulong)uVar12;\n            plVar30 = plVar4 + uVar23 * 4;\n            if ((plVar30[1] == uVar25) &&\n               (iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0)) {\n              if (*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8)) {\n                *(uint *)(param_1[10] + uVar23 * 4) = uVar3;\n                *(uint *)((long)puVar18 + 0xc) = uVar3;\n                FUN_002e3180(plVar30,plVar4 + uVar28 * 4);\n                bVar36 = false;\n              }\n              else {\n                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;\n                bVar36 = false;\n              }\n              goto joined_r0x00181835;\n            }\n            uVar12 = local_18c;\n          }" ({ "{") (expression_statement "uVar12 = *(uint *)((long)puVar18 + 0xc);" (assignment_expression "uVar12 = *(uint *)((long)puVar18 + 0xc)" (identifier "uVar12") (= "=") (pointer_expression "*(uint *)((long)puVar18 + 0xc)" (* "*") (cast_expression "(uint *)((long)puVar18 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar18 + 0xc)" (( "(") (binary_expression "(long)puVar18 + 0xc" (cast_expression "(long)puVar18" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar18")) (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "uVar23 = (ulong)uVar12;" (assignment_expression "uVar23 = (ulong)uVar12" (identifier "uVar23") (= "=") (cast_expression "(ulong)uVar12" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar12"))) (; ";")) (expression_statement "plVar30 = plVar4 + uVar23 * 4;" (assignment_expression "plVar30 = plVar4 + uVar23 * 4" (identifier "plVar30") (= "=") (binary_expression "plVar4 + uVar23 * 4" (identifier "plVar4") (+ "+") (binary_expression "uVar23 * 4" (identifier "uVar23") (* "*") (number_literal "4")))) (; ";")) (if_statement "if ((plVar30[1] == uVar25) &&\n               (iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0)) {\n              if (*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8)) {\n                *(uint *)(param_1[10] + uVar23 * 4) = uVar3;\n                *(uint *)((long)puVar18 + 0xc) = uVar3;\n                FUN_002e3180(plVar30,plVar4 + uVar28 * 4);\n                bVar36 = false;\n              }\n              else {\n                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;\n                bVar36 = false;\n              }\n              goto joined_r0x00181835;\n            }" (if "if") (parenthesized_expression "((plVar30[1] == uVar25) &&\n               (iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0))" (( "(") (binary_expression "(plVar30[1] == uVar25) &&\n               (iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0)" (parenthesized_expression "(plVar30[1] == uVar25)" (( "(") (binary_expression "plVar30[1] == uVar25" (subscript_expression "plVar30[1]" (identifier "plVar30") ([ "[") (number_literal "1") (] "]")) (== "==") (identifier "uVar25")) () ")")) (&& "&&") (parenthesized_expression "(iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0)" (( "(") (comma_expression "iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0" (assignment_expression "iVar13 = memcmp((void *)*plVar30,puVar19,uVar25)" (identifier "iVar13") (= "=") (call_expression "memcmp((void *)*plVar30,puVar19,uVar25)" (identifier "memcmp") (argument_list "((void *)*plVar30,puVar19,uVar25)" (( "(") (cast_expression "(void *)*plVar30" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*plVar30" (* "*") (identifier "plVar30"))) (, ",") (identifier "puVar19") (, ",") (identifier "uVar25") () ")")))) (, ",") (binary_expression "iVar13 == 0" (identifier "iVar13") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n              if (*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8)) {\n                *(uint *)(param_1[10] + uVar23 * 4) = uVar3;\n                *(uint *)((long)puVar18 + 0xc) = uVar3;\n                FUN_002e3180(plVar30,plVar4 + uVar28 * 4);\n                bVar36 = false;\n              }\n              else {\n                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;\n                bVar36 = false;\n              }\n              goto joined_r0x00181835;\n            }" ({ "{") (if_statement "if (*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8)) {\n                *(uint *)(param_1[10] + uVar23 * 4) = uVar3;\n                *(uint *)((long)puVar18 + 0xc) = uVar3;\n                FUN_002e3180(plVar30,plVar4 + uVar28 * 4);\n                bVar36 = false;\n              }\n              else {\n                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;\n                bVar36 = false;\n              }" (if "if") (parenthesized_expression "(*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8))" (( "(") (binary_expression "*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8)" (pointer_expression "*(ulong *)(local_168 + uVar23 * 8)" (* "*") (cast_expression "(ulong *)(local_168 + uVar23 * 8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_168 + uVar23 * 8)" (( "(") (binary_expression "local_168 + uVar23 * 8" (identifier "local_168") (+ "+") (binary_expression "uVar23 * 8" (identifier "uVar23") (* "*") (number_literal "8"))) () ")")))) (< "<") (pointer_expression "*(ulong *)(local_168 + uVar28 * 8)" (* "*") (cast_expression "(ulong *)(local_168 + uVar28 * 8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_168 + uVar28 * 8)" (( "(") (binary_expression "local_168 + uVar28 * 8" (identifier "local_168") (+ "+") (binary_expression "uVar28 * 8" (identifier "uVar28") (* "*") (number_literal "8"))) () ")"))))) () ")")) (compound_statement "{\n                *(uint *)(param_1[10] + uVar23 * 4) = uVar3;\n                *(uint *)((long)puVar18 + 0xc) = uVar3;\n                FUN_002e3180(plVar30,plVar4 + uVar28 * 4);\n                bVar36 = false;\n              }" ({ "{") (expression_statement "*(uint *)(param_1[10] + uVar23 * 4) = uVar3;" (assignment_expression "*(uint *)(param_1[10] + uVar23 * 4) = uVar3" (pointer_expression "*(uint *)(param_1[10] + uVar23 * 4)" (* "*") (cast_expression "(uint *)(param_1[10] + uVar23 * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[10] + uVar23 * 4)" (( "(") (binary_expression "param_1[10] + uVar23 * 4" (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]")) (+ "+") (binary_expression "uVar23 * 4" (identifier "uVar23") (* "*") (number_literal "4"))) () ")")))) (= "=") (identifier "uVar3")) (; ";")) (expression_statement "*(uint *)((long)puVar18 + 0xc) = uVar3;" (assignment_expression "*(uint *)((long)puVar18 + 0xc) = uVar3" (pointer_expression "*(uint *)((long)puVar18 + 0xc)" (* "*") (cast_expression "(uint *)((long)puVar18 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar18 + 0xc)" (( "(") (binary_expression "(long)puVar18 + 0xc" (cast_expression "(long)puVar18" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar18")) (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "uVar3")) (; ";")) (expression_statement "FUN_002e3180(plVar30,plVar4 + uVar28 * 4);" (call_expression "FUN_002e3180(plVar30,plVar4 + uVar28 * 4)" (identifier "FUN_002e3180") (argument_list "(plVar30,plVar4 + uVar28 * 4)" (( "(") (identifier "plVar30") (, ",") (binary_expression "plVar4 + uVar28 * 4" (identifier "plVar4") (+ "+") (binary_expression "uVar28 * 4" (identifier "uVar28") (* "*") (number_literal "4"))) () ")"))) (; ";")) (expression_statement "bVar36 = false;" (assignment_expression "bVar36 = false" (identifier "bVar36") (= "=") (false "false")) (; ";")) (} "}")) (else_clause "else {\n                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;\n                bVar36 = false;\n              }" (else "else") (compound_statement "{\n                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;\n                bVar36 = false;\n              }" ({ "{") (expression_statement "*(uint *)(param_1[10] + uVar28 * 4) = uVar12;" (assignment_expression "*(uint *)(param_1[10] + uVar28 * 4) = uVar12" (pointer_expression "*(uint *)(param_1[10] + uVar28 * 4)" (* "*") (cast_expression "(uint *)(param_1[10] + uVar28 * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[10] + uVar28 * 4)" (( "(") (binary_expression "param_1[10] + uVar28 * 4" (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]")) (+ "+") (binary_expression "uVar28 * 4" (identifier "uVar28") (* "*") (number_literal "4"))) () ")")))) (= "=") (identifier "uVar12")) (; ";")) (expression_statement "bVar36 = false;" (assignment_expression "bVar36 = false" (identifier "bVar36") (= "=") (false "false")) (; ";")) (} "}")))) (goto_statement "goto joined_r0x00181835;" (goto "goto") (statement_identifier "joined_r0x00181835") (; ";")) (} "}"))) (expression_statement "uVar12 = local_18c;" (assignment_expression "uVar12 = local_18c" (identifier "uVar12") (= "=") (identifier "local_18c")) (; ";")) (} "}"))) (expression_statement "puVar18 = (undefined8 *)FUN_002d94a0(0x10);" (assignment_expression "puVar18 = (undefined8 *)FUN_002d94a0(0x10)" (identifier "puVar18") (= "=") (cast_expression "(undefined8 *)FUN_002d94a0(0x10)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_002d94a0(0x10)" (identifier "FUN_002d94a0") (argument_list "(0x10)" (( "(") (number_literal "0x10") () ")"))))) (; ";")) (expression_statement "*(uint *)(puVar18 + 1) = uVar12;" (assignment_expression "*(uint *)(puVar18 + 1) = uVar12" (pointer_expression "*(uint *)(puVar18 + 1)" (* "*") (cast_expression "(uint *)(puVar18 + 1)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 1)" (( "(") (binary_expression "puVar18 + 1" (identifier "puVar18") (+ "+") (number_literal "1")) () ")")))) (= "=") (identifier "uVar12")) (; ";")) (expression_statement "*puVar18 = 0;" (assignment_expression "*puVar18 = 0" (pointer_expression "*puVar18" (* "*") (identifier "puVar18")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(uint *)((long)puVar18 + 0xc) = uVar3;" (assignment_expression "*(uint *)((long)puVar18 + 0xc) = uVar3" (pointer_expression "*(uint *)((long)puVar18 + 0xc)" (* "*") (cast_expression "(uint *)((long)puVar18 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar18 + 0xc)" (( "(") (binary_expression "(long)puVar18 + 0xc" (cast_expression "(long)puVar18" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar18")) (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "uVar3")) (; ";")) (expression_statement "FUN_00182c70(&local_78,0,uVar12,puVar18);" (call_expression "FUN_00182c70(&local_78,0,uVar12,puVar18)" (identifier "FUN_00182c70") (argument_list "(&local_78,0,uVar12,puVar18)" (( "(") (pointer_expression "&local_78" (& "&") (identifier "local_78")) (, ",") (number_literal "0") (, ",") (identifier "uVar12") (, ",") (identifier "puVar18") () ")"))) (; ";")) (} "}")))) (expression_statement "FUN_002e1890(local_128 + uVar28 * 4,&local_108);" (call_expression "FUN_002e1890(local_128 + uVar28 * 4,&local_108)" (identifier "FUN_002e1890") (argument_list "(local_128 + uVar28 * 4,&local_108)" (( "(") (binary_expression "local_128 + uVar28 * 4" (identifier "local_128") (+ "+") (binary_expression "uVar28 * 4" (identifier "uVar28") (* "*") (number_literal "4"))) (, ",") (pointer_expression "&local_108" (& "&") (identifier "local_108")) () ")"))) (; ";")) (labeled_statement "joined_r0x00181835:\n        if ((uVar26 == 1) && (local_1d8[uVar28] == 0)) {\n          puVar19 = (ulong *)((uVar28 >> 6) * 8 + local_a8);\n          *puVar19 = *puVar19 | uVar24;\n        }" (statement_identifier "joined_r0x00181835") (: ":") (if_statement "if ((uVar26 == 1) && (local_1d8[uVar28] == 0)) {\n          puVar19 = (ulong *)((uVar28 >> 6) * 8 + local_a8);\n          *puVar19 = *puVar19 | uVar24;\n        }" (if "if") (parenthesized_expression "((uVar26 == 1) && (local_1d8[uVar28] == 0))" (( "(") (binary_expression "(uVar26 == 1) && (local_1d8[uVar28] == 0)" (parenthesized_expression "(uVar26 == 1)" (( "(") (binary_expression "uVar26 == 1" (identifier "uVar26") (== "==") (number_literal "1")) () ")")) (&& "&&") (parenthesized_expression "(local_1d8[uVar28] == 0)" (( "(") (binary_expression "local_1d8[uVar28] == 0" (subscript_expression "local_1d8[uVar28]" (identifier "local_1d8") ([ "[") (identifier "uVar28") (] "]")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n          puVar19 = (ulong *)((uVar28 >> 6) * 8 + local_a8);\n          *puVar19 = *puVar19 | uVar24;\n        }" ({ "{") (expression_statement "puVar19 = (ulong *)((uVar28 >> 6) * 8 + local_a8);" (assignment_expression "puVar19 = (ulong *)((uVar28 >> 6) * 8 + local_a8)" (identifier "puVar19") (= "=") (cast_expression "(ulong *)((uVar28 >> 6) * 8 + local_a8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uVar28 >> 6) * 8 + local_a8)" (( "(") (binary_expression "(uVar28 >> 6) * 8 + local_a8" (binary_expression "(uVar28 >> 6) * 8" (parenthesized_expression "(uVar28 >> 6)" (( "(") (binary_expression "uVar28 >> 6" (identifier "uVar28") (>> ">>") (number_literal "6")) () ")")) (* "*") (number_literal "8")) (+ "+") (identifier "local_a8")) () ")")))) (; ";")) (expression_statement "*puVar19 = *puVar19 | uVar24;" (assignment_expression "*puVar19 = *puVar19 | uVar24" (pointer_expression "*puVar19" (* "*") (identifier "puVar19")) (= "=") (binary_expression "*puVar19 | uVar24" (pointer_expression "*puVar19" (* "*") (identifier "puVar19")) (| "|") (identifier "uVar24"))) (; ";")) (} "}")))) (if_statement "if (local_108 != local_f8) {\n          FUN_002dac70();\n        }" (if "if") (parenthesized_expression "(local_108 != local_f8)" (( "(") (binary_expression "local_108 != local_f8" (identifier "local_108") (!= "!=") (identifier "local_f8")) () ")")) (compound_statement "{\n          FUN_002dac70();\n        }" ({ "{") (expression_statement "FUN_002dac70();" (call_expression "FUN_002dac70()" (identifier "FUN_002dac70") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "lVar21 = *param_1;" (assignment_expression "lVar21 = *param_1" (identifier "lVar21") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (} "}"))) (labeled_statement "LAB_001813c8:\n      plVar4 = local_120;" (statement_identifier "LAB_001813c8") (: ":") (expression_statement "plVar4 = local_120;" (assignment_expression "plVar4 = local_120" (identifier "plVar4") (= "=") (identifier "local_120")) (; ";"))) (expression_statement "uVar3 = uVar3 + 1;" (assignment_expression "uVar3 = uVar3 + 1" (identifier "uVar3") (= "=") (binary_expression "uVar3 + 1" (identifier "uVar3") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar28 = (ulong)uVar3;" (assignment_expression "uVar28 = (ulong)uVar3" (identifier "uVar28") (= "=") (cast_expression "(ulong)uVar3" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar3"))) (; ";")) (expression_statement "uVar24 = param_1[1] - lVar21 >> 4;" (assignment_expression "uVar24 = param_1[1] - lVar21 >> 4" (identifier "uVar24") (= "=") (binary_expression "param_1[1] - lVar21 >> 4" (binary_expression "param_1[1] - lVar21" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (- "-") (identifier "lVar21")) (>> ">>") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar28 < uVar24)" (( "(") (binary_expression "uVar28 < uVar24" (identifier "uVar28") (< "<") (identifier "uVar24")) () ")")) (; ";")) (expression_statement "plVar30 = local_128;" (assignment_expression "plVar30 = local_128" (identifier "plVar30") (= "=") (identifier "local_128")) (; ";")) (if_statement "if (uVar24 != 0) {\n      lVar21 = param_1[10];\n      uVar25 = 0;\n      uVar28 = uVar25;\n      do {\n        do {\n          uVar12 = (uint)uVar25;\n          uVar3 = *(uint *)(lVar21 + uVar25 * 4);\n          uVar25 = (ulong)uVar3;\n        } while (uVar12 != uVar3);\n        puVar2 = (uint *)(lVar21 + uVar28 * 4);\n        uVar12 = *puVar2;\n        while (uVar12 != uVar3) {\n          *puVar2 = uVar3;\n          puVar2 = (uint *)(lVar21 + (ulong)uVar12 * 4);\n          uVar12 = *puVar2;\n        }\n        uVar25 = (ulong)((int)uVar28 + 1);\n        uVar28 = uVar25;\n      } while (uVar25 < uVar24);\n    }" (if "if") (parenthesized_expression "(uVar24 != 0)" (( "(") (binary_expression "uVar24 != 0" (identifier "uVar24") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      lVar21 = param_1[10];\n      uVar25 = 0;\n      uVar28 = uVar25;\n      do {\n        do {\n          uVar12 = (uint)uVar25;\n          uVar3 = *(uint *)(lVar21 + uVar25 * 4);\n          uVar25 = (ulong)uVar3;\n        } while (uVar12 != uVar3);\n        puVar2 = (uint *)(lVar21 + uVar28 * 4);\n        uVar12 = *puVar2;\n        while (uVar12 != uVar3) {\n          *puVar2 = uVar3;\n          puVar2 = (uint *)(lVar21 + (ulong)uVar12 * 4);\n          uVar12 = *puVar2;\n        }\n        uVar25 = (ulong)((int)uVar28 + 1);\n        uVar28 = uVar25;\n      } while (uVar25 < uVar24);\n    }" ({ "{") (expression_statement "lVar21 = param_1[10];" (assignment_expression "lVar21 = param_1[10]" (identifier "lVar21") (= "=") (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]"))) (; ";")) (expression_statement "uVar25 = 0;" (assignment_expression "uVar25 = 0" (identifier "uVar25") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar28 = uVar25;" (assignment_expression "uVar28 = uVar25" (identifier "uVar28") (= "=") (identifier "uVar25")) (; ";")) (do_statement "do {\n        do {\n          uVar12 = (uint)uVar25;\n          uVar3 = *(uint *)(lVar21 + uVar25 * 4);\n          uVar25 = (ulong)uVar3;\n        } while (uVar12 != uVar3);\n        puVar2 = (uint *)(lVar21 + uVar28 * 4);\n        uVar12 = *puVar2;\n        while (uVar12 != uVar3) {\n          *puVar2 = uVar3;\n          puVar2 = (uint *)(lVar21 + (ulong)uVar12 * 4);\n          uVar12 = *puVar2;\n        }\n        uVar25 = (ulong)((int)uVar28 + 1);\n        uVar28 = uVar25;\n      } while (uVar25 < uVar24);" (do "do") (compound_statement "{\n        do {\n          uVar12 = (uint)uVar25;\n          uVar3 = *(uint *)(lVar21 + uVar25 * 4);\n          uVar25 = (ulong)uVar3;\n        } while (uVar12 != uVar3);\n        puVar2 = (uint *)(lVar21 + uVar28 * 4);\n        uVar12 = *puVar2;\n        while (uVar12 != uVar3) {\n          *puVar2 = uVar3;\n          puVar2 = (uint *)(lVar21 + (ulong)uVar12 * 4);\n          uVar12 = *puVar2;\n        }\n        uVar25 = (ulong)((int)uVar28 + 1);\n        uVar28 = uVar25;\n      }" ({ "{") (do_statement "do {\n          uVar12 = (uint)uVar25;\n          uVar3 = *(uint *)(lVar21 + uVar25 * 4);\n          uVar25 = (ulong)uVar3;\n        } while (uVar12 != uVar3);" (do "do") (compound_statement "{\n          uVar12 = (uint)uVar25;\n          uVar3 = *(uint *)(lVar21 + uVar25 * 4);\n          uVar25 = (ulong)uVar3;\n        }" ({ "{") (expression_statement "uVar12 = (uint)uVar25;" (assignment_expression "uVar12 = (uint)uVar25" (identifier "uVar12") (= "=") (cast_expression "(uint)uVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar25"))) (; ";")) (expression_statement "uVar3 = *(uint *)(lVar21 + uVar25 * 4);" (assignment_expression "uVar3 = *(uint *)(lVar21 + uVar25 * 4)" (identifier "uVar3") (= "=") (pointer_expression "*(uint *)(lVar21 + uVar25 * 4)" (* "*") (cast_expression "(uint *)(lVar21 + uVar25 * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar21 + uVar25 * 4)" (( "(") (binary_expression "lVar21 + uVar25 * 4" (identifier "lVar21") (+ "+") (binary_expression "uVar25 * 4" (identifier "uVar25") (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "uVar25 = (ulong)uVar3;" (assignment_expression "uVar25 = (ulong)uVar3" (identifier "uVar25") (= "=") (cast_expression "(ulong)uVar3" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar3"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar12 != uVar3)" (( "(") (binary_expression "uVar12 != uVar3" (identifier "uVar12") (!= "!=") (identifier "uVar3")) () ")")) (; ";")) (expression_statement "puVar2 = (uint *)(lVar21 + uVar28 * 4);" (assignment_expression "puVar2 = (uint *)(lVar21 + uVar28 * 4)" (identifier "puVar2") (= "=") (cast_expression "(uint *)(lVar21 + uVar28 * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar21 + uVar28 * 4)" (( "(") (binary_expression "lVar21 + uVar28 * 4" (identifier "lVar21") (+ "+") (binary_expression "uVar28 * 4" (identifier "uVar28") (* "*") (number_literal "4"))) () ")")))) (; ";")) (expression_statement "uVar12 = *puVar2;" (assignment_expression "uVar12 = *puVar2" (identifier "uVar12") (= "=") (pointer_expression "*puVar2" (* "*") (identifier "puVar2"))) (; ";")) (while_statement "while (uVar12 != uVar3) {\n          *puVar2 = uVar3;\n          puVar2 = (uint *)(lVar21 + (ulong)uVar12 * 4);\n          uVar12 = *puVar2;\n        }" (while "while") (parenthesized_expression "(uVar12 != uVar3)" (( "(") (binary_expression "uVar12 != uVar3" (identifier "uVar12") (!= "!=") (identifier "uVar3")) () ")")) (compound_statement "{\n          *puVar2 = uVar3;\n          puVar2 = (uint *)(lVar21 + (ulong)uVar12 * 4);\n          uVar12 = *puVar2;\n        }" ({ "{") (expression_statement "*puVar2 = uVar3;" (assignment_expression "*puVar2 = uVar3" (pointer_expression "*puVar2" (* "*") (identifier "puVar2")) (= "=") (identifier "uVar3")) (; ";")) (expression_statement "puVar2 = (uint *)(lVar21 + (ulong)uVar12 * 4);" (assignment_expression "puVar2 = (uint *)(lVar21 + (ulong)uVar12 * 4)" (identifier "puVar2") (= "=") (cast_expression "(uint *)(lVar21 + (ulong)uVar12 * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar21 + (ulong)uVar12 * 4)" (( "(") (binary_expression "lVar21 + (ulong)uVar12 * 4" (identifier "lVar21") (+ "+") (binary_expression "(ulong)uVar12 * 4" (cast_expression "(ulong)uVar12" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar12")) (* "*") (number_literal "4"))) () ")")))) (; ";")) (expression_statement "uVar12 = *puVar2;" (assignment_expression "uVar12 = *puVar2" (identifier "uVar12") (= "=") (pointer_expression "*puVar2" (* "*") (identifier "puVar2"))) (; ";")) (} "}"))) (expression_statement "uVar25 = (ulong)((int)uVar28 + 1);" (assignment_expression "uVar25 = (ulong)((int)uVar28 + 1)" (identifier "uVar25") (= "=") (call_expression "(ulong)((int)uVar28 + 1)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "((int)uVar28 + 1)" (( "(") (binary_expression "(int)uVar28 + 1" (cast_expression "(int)uVar28" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar28")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "uVar28 = uVar25;" (assignment_expression "uVar28 = uVar25" (identifier "uVar28") (= "=") (identifier "uVar25")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar25 < uVar24)" (( "(") (binary_expression "uVar25 < uVar24" (identifier "uVar25") (< "<") (identifier "uVar24")) () ")")) (; ";")) (} "}"))) (for_statement "for (; plVar30 != plVar4; plVar30 = plVar30 + 4) {\n      if ((long *)*plVar30 != plVar30 + 2) {\n        FUN_002dac70();\n      }\n    }" (for "for") (( "(") (; ";") (binary_expression "plVar30 != plVar4" (identifier "plVar30") (!= "!=") (identifier "plVar4")) (; ";") (assignment_expression "plVar30 = plVar30 + 4" (identifier "plVar30") (= "=") (binary_expression "plVar30 + 4" (identifier "plVar30") (+ "+") (number_literal "4"))) () ")") (compound_statement "{\n      if ((long *)*plVar30 != plVar30 + 2) {\n        FUN_002dac70();\n      }\n    }" ({ "{") (if_statement "if ((long *)*plVar30 != plVar30 + 2) {\n        FUN_002dac70();\n      }" (if "if") (parenthesized_expression "((long *)*plVar30 != plVar30 + 2)" (( "(") (binary_expression "(long *)*plVar30 != plVar30 + 2" (cast_expression "(long *)*plVar30" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*plVar30" (* "*") (identifier "plVar30"))) (!= "!=") (binary_expression "plVar30 + 2" (identifier "plVar30") (+ "+") (number_literal "2"))) () ")")) (compound_statement "{\n        FUN_002dac70();\n      }" ({ "{") (expression_statement "FUN_002dac70();" (call_expression "FUN_002dac70()" (identifier "FUN_002dac70") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}"))) (if_statement "if (local_128 != (long *)0x0) {\n      FUN_002dac70(local_128);\n    }" (if "if") (parenthesized_expression "(local_128 != (long *)0x0)" (( "(") (binary_expression "local_128 != (long *)0x0" (identifier "local_128") (!= "!=") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      FUN_002dac70(local_128);\n    }" ({ "{") (expression_statement "FUN_002dac70(local_128);" (call_expression "FUN_002dac70(local_128)" (identifier "FUN_002dac70") (argument_list "(local_128)" (( "(") (identifier "local_128") () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_00182070(&local_78);" (call_expression "FUN_00182070(&local_78)" (identifier "FUN_00182070") (argument_list "(&local_78)" (( "(") (pointer_expression "&local_78" (& "&") (identifier "local_78")) () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar26 < uVar11 && !bVar36)" (( "(") (binary_expression "uVar26 < uVar11 && !bVar36" (binary_expression "uVar26 < uVar11" (identifier "uVar26") (< "<") (identifier "uVar11")) (&& "&&") (unary_expression "!bVar36" (! "!") (identifier "bVar36"))) () ")")) (; ";")) (expression_statement "uVar7 = DAT_0043e8e8;" (assignment_expression "uVar7 = DAT_0043e8e8" (identifier "uVar7") (= "=") (identifier "DAT_0043e8e8")) (; ";")) (expression_statement "lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);" (assignment_expression "lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10)" (identifier "lVar21") (= "=") (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" (( "(") (binary_expression "PTR_DAT_0043e6b0 + 0x10" (identifier "PTR_DAT_0043e6b0") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if (lVar21 == 0) {\n                    \n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }" (if "if") (parenthesized_expression "(lVar21 == 0)" (( "(") (binary_expression "lVar21 == 0" (identifier "lVar21") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }" ({ "{") (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" (identifier "FUN_0017c650") (argument_list "("../../gold/parameters.h",0x5c,"options")" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x5c") (, ",") (string_literal ""options"" (" """) (string_content "options") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(char *)(lVar21 + 0x4be1) != '\0') {\n    pcVar34 = "%s: ICF Converged after %u iteration(s)";\n    if (!bVar36) {\n      pcVar34 = "%s: ICF stopped after %u iteration(s)";\n    }\n    uVar20 = gettext(pcVar34);\n                    \n    FUN_00178480(uVar20,uVar7,uVar26);\n    lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    if (lVar21 == 0) {\n                    \n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }\n  }" (if "if") (parenthesized_expression "(*(char *)(lVar21 + 0x4be1) != '\0')" (( "(") (binary_expression "*(char *)(lVar21 + 0x4be1) != '\0'" (pointer_expression "*(char *)(lVar21 + 0x4be1)" (* "*") (cast_expression "(char *)(lVar21 + 0x4be1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar21 + 0x4be1)" (( "(") (binary_expression "lVar21 + 0x4be1" (identifier "lVar21") (+ "+") (number_literal "0x4be1")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    pcVar34 = "%s: ICF Converged after %u iteration(s)";\n    if (!bVar36) {\n      pcVar34 = "%s: ICF stopped after %u iteration(s)";\n    }\n    uVar20 = gettext(pcVar34);\n                    \n    FUN_00178480(uVar20,uVar7,uVar26);\n    lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    if (lVar21 == 0) {\n                    \n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }\n  }" ({ "{") (expression_statement "pcVar34 = "%s: ICF Converged after %u iteration(s)";" (assignment_expression "pcVar34 = "%s: ICF Converged after %u iteration(s)"" (identifier "pcVar34") (= "=") (string_literal ""%s: ICF Converged after %u iteration(s)"" (" """) (string_content "%s: ICF Converged after %u iteration(s)") (" """))) (; ";")) (if_statement "if (!bVar36) {\n      pcVar34 = "%s: ICF stopped after %u iteration(s)";\n    }" (if "if") (parenthesized_expression "(!bVar36)" (( "(") (unary_expression "!bVar36" (! "!") (identifier "bVar36")) () ")")) (compound_statement "{\n      pcVar34 = "%s: ICF stopped after %u iteration(s)";\n    }" ({ "{") (expression_statement "pcVar34 = "%s: ICF stopped after %u iteration(s)";" (assignment_expression "pcVar34 = "%s: ICF stopped after %u iteration(s)"" (identifier "pcVar34") (= "=") (string_literal ""%s: ICF stopped after %u iteration(s)"" (" """) (string_content "%s: ICF stopped after %u iteration(s)") (" """))) (; ";")) (} "}"))) (expression_statement "uVar20 = gettext(pcVar34);" (assignment_expression "uVar20 = gettext(pcVar34)" (identifier "uVar20") (= "=") (call_expression "gettext(pcVar34)" (identifier "gettext") (argument_list "(pcVar34)" (( "(") (identifier "pcVar34") () ")")))) (; ";")) (expression_statement "FUN_00178480(uVar20,uVar7,uVar26);" (call_expression "FUN_00178480(uVar20,uVar7,uVar26)" (identifier "FUN_00178480") (argument_list "(uVar20,uVar7,uVar26)" (( "(") (identifier "uVar20") (, ",") (identifier "uVar7") (, ",") (identifier "uVar26") () ")"))) (; ";")) (expression_statement "lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);" (assignment_expression "lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10)" (identifier "lVar21") (= "=") (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" (( "(") (binary_expression "PTR_DAT_0043e6b0 + 0x10" (identifier "PTR_DAT_0043e6b0") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if (lVar21 == 0) {\n                    \n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }" (if "if") (parenthesized_expression "(lVar21 == 0)" (( "(") (binary_expression "lVar21 == 0" (identifier "lVar21") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }" ({ "{") (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" (identifier "FUN_0017c650") (argument_list "("../../gold/parameters.h",0x5c,"options")" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x5c") (, ",") (string_literal ""options"" (" """) (string_content "options") (" """)) () ")"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "puVar18 = *(undefined8 **)(lVar21 + 0x34a0);" (assignment_expression "puVar18 = *(undefined8 **)(lVar21 + 0x34a0)" (identifier "puVar18") (= "=") (pointer_expression "*(undefined8 **)(lVar21 + 0x34a0)" (* "*") (cast_expression "(undefined8 **)(lVar21 + 0x34a0)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar21 + 0x34a0)" (( "(") (binary_expression "lVar21 + 0x34a0" (identifier "lVar21") (+ "+") (number_literal "0x34a0")) () ")"))))) (; ";")) (expression_statement "plVar4 = local_140;" (assignment_expression "plVar4 = local_140" (identifier "plVar4") (= "=") (identifier "local_140")) (; ";")) (do_statement "do {\n    local_140 = plVar4;\n    if (puVar18 == (undefined8 *)0x0) {\n      *(undefined1 *)(param_1 + 0x14) = 1;\n      for (plVar30 = local_148; plVar4 != plVar30; plVar30 = plVar30 + 4) {\n        if ((long *)*plVar30 != plVar30 + 2) {\n          FUN_002dac70();\n        }\n      }\n      if (local_148 != (long *)0x0) {\n        FUN_002dac70(local_148);\n      }\n      if (local_a8 != 0) {\n        FUN_002dac70(local_a8);\n      }\n      if (local_168 != 0) {\n        FUN_002dac70();\n      }\n      if (local_1d8 != (undefined4 *)0x0) {\n        FUN_002dac70(local_1d8);\n      }\n      return;\n    }\n    uVar7 = puVar18[1];\n                    \n    lVar21 = FUN_002732b0(param_3,uVar7,0);\n    if (lVar21 == 0) {\n      uVar20 = gettext("Could not find symbol %s to unfold\n");\n      FUN_001783d0(uVar20,uVar7);\n    }\n    else if ((((*(byte *)(lVar21 + 0x3a) & 7) == 0) &&\n             ((*(byte *)(*(long *)(lVar21 + 0x10) + 0x3c) & 1) == 0)) &&\n            ((*(byte *)(lVar21 + 0x3b) & 0x20) != 0)) {\n      FUN_0017f5f0(param_1,*(long *)(lVar21 + 0x10),*(undefined4 *)(lVar21 + 0x18));\n    }\n    puVar18 = (undefined8 *)*puVar18;\n    plVar4 = local_140;\n  } while (*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0);" (do "do") (compound_statement "{\n    local_140 = plVar4;\n    if (puVar18 == (undefined8 *)0x0) {\n      *(undefined1 *)(param_1 + 0x14) = 1;\n      for (plVar30 = local_148; plVar4 != plVar30; plVar30 = plVar30 + 4) {\n        if ((long *)*plVar30 != plVar30 + 2) {\n          FUN_002dac70();\n        }\n      }\n      if (local_148 != (long *)0x0) {\n        FUN_002dac70(local_148);\n      }\n      if (local_a8 != 0) {\n        FUN_002dac70(local_a8);\n      }\n      if (local_168 != 0) {\n        FUN_002dac70();\n      }\n      if (local_1d8 != (undefined4 *)0x0) {\n        FUN_002dac70(local_1d8);\n      }\n      return;\n    }\n    uVar7 = puVar18[1];\n                    \n    lVar21 = FUN_002732b0(param_3,uVar7,0);\n    if (lVar21 == 0) {\n      uVar20 = gettext("Could not find symbol %s to unfold\n");\n      FUN_001783d0(uVar20,uVar7);\n    }\n    else if ((((*(byte *)(lVar21 + 0x3a) & 7) == 0) &&\n             ((*(byte *)(*(long *)(lVar21 + 0x10) + 0x3c) & 1) == 0)) &&\n            ((*(byte *)(lVar21 + 0x3b) & 0x20) != 0)) {\n      FUN_0017f5f0(param_1,*(long *)(lVar21 + 0x10),*(undefined4 *)(lVar21 + 0x18));\n    }\n    puVar18 = (undefined8 *)*puVar18;\n    plVar4 = local_140;\n  }" ({ "{") (expression_statement "local_140 = plVar4;" (assignment_expression "local_140 = plVar4" (identifier "local_140") (= "=") (identifier "plVar4")) (; ";")) (if_statement "if (puVar18 == (undefined8 *)0x0) {\n      *(undefined1 *)(param_1 + 0x14) = 1;\n      for (plVar30 = local_148; plVar4 != plVar30; plVar30 = plVar30 + 4) {\n        if ((long *)*plVar30 != plVar30 + 2) {\n          FUN_002dac70();\n        }\n      }\n      if (local_148 != (long *)0x0) {\n        FUN_002dac70(local_148);\n      }\n      if (local_a8 != 0) {\n        FUN_002dac70(local_a8);\n      }\n      if (local_168 != 0) {\n        FUN_002dac70();\n      }\n      if (local_1d8 != (undefined4 *)0x0) {\n        FUN_002dac70(local_1d8);\n      }\n      return;\n    }" (if "if") (parenthesized_expression "(puVar18 == (undefined8 *)0x0)" (( "(") (binary_expression "puVar18 == (undefined8 *)0x0" (identifier "puVar18") (== "==") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      *(undefined1 *)(param_1 + 0x14) = 1;\n      for (plVar30 = local_148; plVar4 != plVar30; plVar30 = plVar30 + 4) {\n        if ((long *)*plVar30 != plVar30 + 2) {\n          FUN_002dac70();\n        }\n      }\n      if (local_148 != (long *)0x0) {\n        FUN_002dac70(local_148);\n      }\n      if (local_a8 != 0) {\n        FUN_002dac70(local_a8);\n      }\n      if (local_168 != 0) {\n        FUN_002dac70();\n      }\n      if (local_1d8 != (undefined4 *)0x0) {\n        FUN_002dac70(local_1d8);\n      }\n      return;\n    }" ({ "{") (expression_statement "*(undefined1 *)(param_1 + 0x14) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x14) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x14)" (* "*") (cast_expression "(undefined1 *)(param_1 + 0x14)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (number_literal "1")) (; ";")) (for_statement "for (plVar30 = local_148; plVar4 != plVar30; plVar30 = plVar30 + 4) {\n        if ((long *)*plVar30 != plVar30 + 2) {\n          FUN_002dac70();\n        }\n      }" (for "for") (( "(") (assignment_expression "plVar30 = local_148" (identifier "plVar30") (= "=") (identifier "local_148")) (; ";") (binary_expression "plVar4 != plVar30" (identifier "plVar4") (!= "!=") (identifier "plVar30")) (; ";") (assignment_expression "plVar30 = plVar30 + 4" (identifier "plVar30") (= "=") (binary_expression "plVar30 + 4" (identifier "plVar30") (+ "+") (number_literal "4"))) () ")") (compound_statement "{\n        if ((long *)*plVar30 != plVar30 + 2) {\n          FUN_002dac70();\n        }\n      }" ({ "{") (if_statement "if ((long *)*plVar30 != plVar30 + 2) {\n          FUN_002dac70();\n        }" (if "if") (parenthesized_expression "((long *)*plVar30 != plVar30 + 2)" (( "(") (binary_expression "(long *)*plVar30 != plVar30 + 2" (cast_expression "(long *)*plVar30" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*plVar30" (* "*") (identifier "plVar30"))) (!= "!=") (binary_expression "plVar30 + 2" (identifier "plVar30") (+ "+") (number_literal "2"))) () ")")) (compound_statement "{\n          FUN_002dac70();\n        }" ({ "{") (expression_statement "FUN_002dac70();" (call_expression "FUN_002dac70()" (identifier "FUN_002dac70") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}"))) (if_statement "if (local_148 != (long *)0x0) {\n        FUN_002dac70(local_148);\n      }" (if "if") (parenthesized_expression "(local_148 != (long *)0x0)" (( "(") (binary_expression "local_148 != (long *)0x0" (identifier "local_148") (!= "!=") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        FUN_002dac70(local_148);\n      }" ({ "{") (expression_statement "FUN_002dac70(local_148);" (call_expression "FUN_002dac70(local_148)" (identifier "FUN_002dac70") (argument_list "(local_148)" (( "(") (identifier "local_148") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_a8 != 0) {\n        FUN_002dac70(local_a8);\n      }" (if "if") (parenthesized_expression "(local_a8 != 0)" (( "(") (binary_expression "local_a8 != 0" (identifier "local_a8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        FUN_002dac70(local_a8);\n      }" ({ "{") (expression_statement "FUN_002dac70(local_a8);" (call_expression "FUN_002dac70(local_a8)" (identifier "FUN_002dac70") (argument_list "(local_a8)" (( "(") (identifier "local_a8") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_168 != 0) {\n        FUN_002dac70();\n      }" (if "if") (parenthesized_expression "(local_168 != 0)" (( "(") (binary_expression "local_168 != 0" (identifier "local_168") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        FUN_002dac70();\n      }" ({ "{") (expression_statement "FUN_002dac70();" (call_expression "FUN_002dac70()" (identifier "FUN_002dac70") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_1d8 != (undefined4 *)0x0) {\n        FUN_002dac70(local_1d8);\n      }" (if "if") (parenthesized_expression "(local_1d8 != (undefined4 *)0x0)" (( "(") (binary_expression "local_1d8 != (undefined4 *)0x0" (identifier "local_1d8") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        FUN_002dac70(local_1d8);\n      }" ({ "{") (expression_statement "FUN_002dac70(local_1d8);" (call_expression "FUN_002dac70(local_1d8)" (identifier "FUN_002dac70") (argument_list "(local_1d8)" (( "(") (identifier "local_1d8") () ")"))) (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "uVar7 = puVar18[1];" (assignment_expression "uVar7 = puVar18[1]" (identifier "uVar7") (= "=") (subscript_expression "puVar18[1]" (identifier "puVar18") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "lVar21 = FUN_002732b0(param_3,uVar7,0);" (assignment_expression "lVar21 = FUN_002732b0(param_3,uVar7,0)" (identifier "lVar21") (= "=") (call_expression "FUN_002732b0(param_3,uVar7,0)" (identifier "FUN_002732b0") (argument_list "(param_3,uVar7,0)" (( "(") (identifier "param_3") (, ",") (identifier "uVar7") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (lVar21 == 0) {\n      uVar20 = gettext("Could not find symbol %s to unfold\n");\n      FUN_001783d0(uVar20,uVar7);\n    }\n    else if ((((*(byte *)(lVar21 + 0x3a) & 7) == 0) &&\n             ((*(byte *)(*(long *)(lVar21 + 0x10) + 0x3c) & 1) == 0)) &&\n            ((*(byte *)(lVar21 + 0x3b) & 0x20) != 0)) {\n      FUN_0017f5f0(param_1,*(long *)(lVar21 + 0x10),*(undefined4 *)(lVar21 + 0x18));\n    }" (if "if") (parenthesized_expression "(lVar21 == 0)" (( "(") (binary_expression "lVar21 == 0" (identifier "lVar21") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      uVar20 = gettext("Could not find symbol %s to unfold\n");\n      FUN_001783d0(uVar20,uVar7);\n    }" ({ "{") (expression_statement "uVar20 = gettext("Could not find symbol %s to unfold\n");" (assignment_expression "uVar20 = gettext("Could not find symbol %s to unfold\n")" (identifier "uVar20") (= "=") (call_expression "gettext("Could not find symbol %s to unfold\n")" (identifier "gettext") (argument_list "("Could not find symbol %s to unfold\n")" (( "(") (string_literal ""Could not find symbol %s to unfold\n"" (" """) (string_content "Could not find symbol %s to unfold") (escape_sequence "\n") (" """)) () ")")))) (; ";")) (expression_statement "FUN_001783d0(uVar20,uVar7);" (call_expression "FUN_001783d0(uVar20,uVar7)" (identifier "FUN_001783d0") (argument_list "(uVar20,uVar7)" (( "(") (identifier "uVar20") (, ",") (identifier "uVar7") () ")"))) (; ";")) (} "}")) (else_clause "else if ((((*(byte *)(lVar21 + 0x3a) & 7) == 0) &&\n             ((*(byte *)(*(long *)(lVar21 + 0x10) + 0x3c) & 1) == 0)) &&\n            ((*(byte *)(lVar21 + 0x3b) & 0x20) != 0)) {\n      FUN_0017f5f0(param_1,*(long *)(lVar21 + 0x10),*(undefined4 *)(lVar21 + 0x18));\n    }" (else "else") (if_statement "if ((((*(byte *)(lVar21 + 0x3a) & 7) == 0) &&\n             ((*(byte *)(*(long *)(lVar21 + 0x10) + 0x3c) & 1) == 0)) &&\n            ((*(byte *)(lVar21 + 0x3b) & 0x20) != 0)) {\n      FUN_0017f5f0(param_1,*(long *)(lVar21 + 0x10),*(undefined4 *)(lVar21 + 0x18));\n    }" (if "if") (parenthesized_expression "((((*(byte *)(lVar21 + 0x3a) & 7) == 0) &&\n             ((*(byte *)(*(long *)(lVar21 + 0x10) + 0x3c) & 1) == 0)) &&\n            ((*(byte *)(lVar21 + 0x3b) & 0x20) != 0))" (( "(") (binary_expression "(((*(byte *)(lVar21 + 0x3a) & 7) == 0) &&\n             ((*(byte *)(*(long *)(lVar21 + 0x10) + 0x3c) & 1) == 0)) &&\n            ((*(byte *)(lVar21 + 0x3b) & 0x20) != 0)" (parenthesized_expression "(((*(byte *)(lVar21 + 0x3a) & 7) == 0) &&\n             ((*(byte *)(*(long *)(lVar21 + 0x10) + 0x3c) & 1) == 0))" (( "(") (binary_expression "((*(byte *)(lVar21 + 0x3a) & 7) == 0) &&\n             ((*(byte *)(*(long *)(lVar21 + 0x10) + 0x3c) & 1) == 0)" (parenthesized_expression "((*(byte *)(lVar21 + 0x3a) & 7) == 0)" (( "(") (binary_expression "(*(byte *)(lVar21 + 0x3a) & 7) == 0" (parenthesized_expression "(*(byte *)(lVar21 + 0x3a) & 7)" (( "(") (binary_expression "*(byte *)(lVar21 + 0x3a) & 7" (pointer_expression "*(byte *)(lVar21 + 0x3a)" (* "*") (cast_expression "(byte *)(lVar21 + 0x3a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar21 + 0x3a)" (( "(") (binary_expression "lVar21 + 0x3a" (identifier "lVar21") (+ "+") (number_literal "0x3a")) () ")")))) (& "&") (number_literal "7")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)(*(long *)(lVar21 + 0x10) + 0x3c) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(*(long *)(lVar21 + 0x10) + 0x3c) & 1) == 0" (parenthesized_expression "(*(byte *)(*(long *)(lVar21 + 0x10) + 0x3c) & 1)" (( "(") (binary_expression "*(byte *)(*(long *)(lVar21 + 0x10) + 0x3c) & 1" (pointer_expression "*(byte *)(*(long *)(lVar21 + 0x10) + 0x3c)" (* "*") (cast_expression "(byte *)(*(long *)(lVar21 + 0x10) + 0x3c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(lVar21 + 0x10) + 0x3c)" (( "(") (binary_expression "*(long *)(lVar21 + 0x10) + 0x3c" (pointer_expression "*(long *)(lVar21 + 0x10)" (* "*") (cast_expression "(long *)(lVar21 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar21 + 0x10)" (( "(") (binary_expression "lVar21 + 0x10" (identifier "lVar21") (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (number_literal "0x3c")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)(lVar21 + 0x3b) & 0x20) != 0)" (( "(") (binary_expression "(*(byte *)(lVar21 + 0x3b) & 0x20) != 0" (parenthesized_expression "(*(byte *)(lVar21 + 0x3b) & 0x20)" (( "(") (binary_expression "*(byte *)(lVar21 + 0x3b) & 0x20" (pointer_expression "*(byte *)(lVar21 + 0x3b)" (* "*") (cast_expression "(byte *)(lVar21 + 0x3b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar21 + 0x3b)" (( "(") (binary_expression "lVar21 + 0x3b" (identifier "lVar21") (+ "+") (number_literal "0x3b")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n      FUN_0017f5f0(param_1,*(long *)(lVar21 + 0x10),*(undefined4 *)(lVar21 + 0x18));\n    }" ({ "{") (expression_statement "FUN_0017f5f0(param_1,*(long *)(lVar21 + 0x10),*(undefined4 *)(lVar21 + 0x18));" (call_expression "FUN_0017f5f0(param_1,*(long *)(lVar21 + 0x10),*(undefined4 *)(lVar21 + 0x18))" (identifier "FUN_0017f5f0") (argument_list "(param_1,*(long *)(lVar21 + 0x10),*(undefined4 *)(lVar21 + 0x18))" (( "(") (identifier "param_1") (, ",") (pointer_expression "*(long *)(lVar21 + 0x10)" (* "*") (cast_expression "(long *)(lVar21 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar21 + 0x10)" (( "(") (binary_expression "lVar21 + 0x10" (identifier "lVar21") (+ "+") (number_literal "0x10")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(lVar21 + 0x18)" (* "*") (cast_expression "(undefined4 *)(lVar21 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar21 + 0x18)" (( "(") (binary_expression "lVar21 + 0x18" (identifier "lVar21") (+ "+") (number_literal "0x18")) () ")")))) () ")"))) (; ";")) (} "}"))))) (expression_statement "puVar18 = (undefined8 *)*puVar18;" (assignment_expression "puVar18 = (undefined8 *)*puVar18" (identifier "puVar18") (= "=") (cast_expression "(undefined8 *)*puVar18" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar18" (* "*") (identifier "puVar18")))) (; ";")) (expression_statement "plVar4 = local_140;" (assignment_expression "plVar4 = local_140" (identifier "plVar4") (= "=") (identifier "local_140")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0)" (( "(") (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" (( "(") (binary_expression "PTR_DAT_0043e6b0 + 0x10" (identifier "PTR_DAT_0043e6b0") (+ "+") (number_literal "0x10")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (; ";")) (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" (identifier "FUN_0017c650") (argument_list "("../../gold/parameters.h",0x5c,"options")" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x5c") (, ",") (string_literal ""options"" (" """) (string_content "options") (" """)) () ")"))) (; ";")) (} "}")))

/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: void find_identical_sections(Icf * this, Input_objects * input_objects,
   Symbol_table * symtab) */

void __thiscall
var_26::type_1::function_1(type_1 *this,type_2 *input_objects,type_3 *symtab)

{
  type_4 *psVar1;
  type_5 ppVar2;
  type_5 puVar3;
  type_6 var_81;
  type_7 *var_24;
  type_8 *pRVar6;
  type_9 *var_29;
  type_5 ppOVar8;
  type_10 __position;
  type_11 *var_61;
  type_12 *var_62;
  type_5 var_71;
  type_5 var_70;
  type_5 var_107;
  type_13 var_78;
  type_6 *puVar14;
  type_5 var_98;
  uint32_t uVar16;
  type_14 __s2;
  type_15 uVar17;
  type_16 *p_Var18;
  char var_48;
  type_17 var_44;
  type_18 var_46;
  type_6 var_83;
  type_6 var_95;
  int var_101;
  type_19 *var_34;
  type_11 *var_65;
  type_20 *var_50;
  type_21 extraout_var;
  type_11 *var_51;
  type_12 *var_59;
  type_13 *var_32;
  type_10 iVar31;
  type_5 __dest;
  size_t var_69;
  type_21 *__dest_00;
  anon_union_16_2_edb7204a_for_basic_string<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>var_4
  *var_5;
  type_22 var_75;
  type_23 *p_Var35;
  type_24 *var_113;
  char *pcVar37;
  long var_31;
  type_11 *var_58;
  type_5 var_88;
  var_55<var_9::var_1<var_9::__detail::_Hash_node<var_9::var_14<var_56::var_14<var_26::type_8*,var_11>,var_11>,var_6>var_3>var_3>
  *var_54;
  type_22 var_67;
  type_22 var_60;
  type_4 var_99;
  type_6 var_82;
  type_22 var_33;
  long var_96;
  type_5 var_106;
  type_8 *pRVar48;
  type_13 *var_40;
  type_14 _Var50;
  vector<var_7,var_27::var_1<var_7>var_3> *pvVar51;
  type_13 *var_41;
  char *pcVar53;
  var_8<var_9::var_14<var_10,var_11>,var_12,var_12> var_13;
  type_5 var_28;
  type_25 uVar56;
  bool var_42;
  bool var_47;
  type_25 uVar59;
  bool bVar60;
  type_13 bVar61;
  var_14<var_9::__detail::var_8<var_9::var_14<var_10,var_11>,var_12,var_12>,var_27::__detail::var_8<var_9::var_14<var_10,var_11>,var_12,var_12>var_3>
  var_15;
  type_10 __position_00;
  var_8<var_9::var_14<var_10,var_11>,var_12,var_12> var_16;
  type_5 local_1e8;
  type_21 *var_76;
  type_22 var_68;
  type_21 *var_73;
  type_21 *var_74;
  var_109<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3> *local_1a8;
  type_22 var_64;
  uint32_t cksum;
  type_16 *local_188;
  type_6 local_180;
  type_21 uStack_17c;
  type_26 secn;
  vector<var_17,var_27::var_1<var_17>var_3> var_18;
  vector<var_9::__cxx11::var_109<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>,var_27::var_1<var_9::__cxx11::var_109<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>var_3>var_3>
  var_19;
  vector<var_9::__cxx11::var_109<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>,var_27::var_1<var_9::__cxx11::var_109<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>var_3>var_3>
  var_20;
  type_27 var_104;
  type_6 num_relocs;
  size_t var_92;
  anon_union_16_2_edb7204a_for_basic_string<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>var_4
  var_21;
  type_27 var_87;
  vector<var_7,var_27::var_1<var_7>var_3> var_22;
  unordered_multimap<var_66,var_11,var_27::hash<var_66>,var_27::equal_to<var_66>,var_27::var_1<var_9::var_14<var_10,var_11>var_3>var_3>
  var_23;
  
  bVar61 = 0;
  var_24 = parameters->target_;
  var_18.super__Vector_base<var_17,var_27::var_1<var_17>var_3>.
  _M_impl._M_start = (type_5)0x0;
  var_18.super__Vector_base<var_17,var_27::var_1<var_17>var_3>.
  _M_impl._M_finish = (type_5)0x0;
  var_18.super__Vector_base<var_17,var_27::var_1<var_17>var_3>.
  _M_impl._M_end_of_storage = (type_5)0x0;
  var_22.super__Bvector_base<var_9::var_1<var_7>var_3>._M_impl.
  super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p = (type_16 *)0x0;
  var_22.super__Bvector_base<var_9::var_1<var_7>var_3>._M_impl.
  super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset = 0;
  var_22.super__Bvector_base<var_9::var_1<var_7>var_3>._M_impl.
  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p = (type_16 *)0x0;
  var_22.super__Bvector_base<var_9::var_1<var_7>var_3>._M_impl.
  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset = 0;
  var_22.super__Bvector_base<var_9::var_1<var_7>var_3>._M_impl.
  super__Bvector_impl_data._M_end_of_storage = (type_28)0x0;
  var_19.
  super__Vector_base<var_9::__cxx11::var_109<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>,var_27::var_1<var_9::__cxx11::var_109<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>var_3>var_3>
  ._M_impl._M_start = (type_5)0x0;
  var_19.
  super__Vector_base<var_9::__cxx11::var_109<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>,var_27::var_1<var_9::__cxx11::var_109<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>var_3>var_3>
  ._M_impl._M_finish = (type_5)0x0;
  var_19.
  super__Vector_base<var_9::__cxx11::var_109<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>,var_27::var_1<var_9::__cxx11::var_109<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>var_3>var_3>
  ._M_impl._M_end_of_storage = (type_5)0x0;
  if (var_24 == (type_7 *)0x0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00181f0b to 00181f0f has its CatchHandler @ 00181f15 */
    var_25("../../gold/parameters.h",0x69,"target");
  }
  var_28 = (input_objects->relobj_list_).
             super__Vector_base<var_26::type_8*,var_27::var_1<var_26::type_8*>var_3>._M_impl._M_start;
  if (var_28 ==
      (input_objects->relobj_list_).
      super__Vector_base<var_26::type_8*,var_27::var_1<var_26::type_8*>var_3>._M_impl._M_finish) {
    var_76 = (type_21 *)0x0;
  }
  else {
    var_73 = (type_21 *)0x0;
    var_74 = (type_21 *)0x0;
    var_76 = (type_21 *)0x0;
    var_81 = 0;
    do {
      pRVar6 = *var_28;
      var_29 = (pRVar6->super_Object).input_file_;
      if (var_29 == (type_9 *)0x0) {
        pRVar48 = pRVar6;
        if ((pRVar6->super_Object).shnum_ != 0) goto LAB_00180a17;
      }
      else {
                    /* try { // try from 00180a02 to 00180a06 has its CatchHandler @ 00181f33 */
        File_read::var_30(&var_29->file_,(type_29 *)0xffffffffffffffff);
        pRVar48 = *var_28;
        if (((*var_28)->super_Object).shnum_ != 0) {
LAB_00180a17:
          uVar56 = false;
          var_33 = 0;
          uVar59 = true;
          do {
            var_82 = (type_6)var_33;
                    /* try { // try from 00180c4d to 00180c52 has its CatchHandler @ 00181f1d */
            (*(pRVar48->super_Object)._vptr_Object[0x10])(&var_87,pRVar48,var_33);
            var_31 = 5;
            var_32 = (type_13 *)".text";
            _Var50 = var_87._M_dataplus;
            do {
              if (var_31 == 0) break;
              var_31 = var_31 + -1;
              uVar56 = *var_32 < (type_13)*_Var50._M_p;
              uVar59 = *var_32 == *_Var50._M_p;
              var_32 = var_32 + (type_22)bVar61 * -2 + 1;
              _Var50._M_p = (type_5)((type_13 *)_Var50._M_p + (type_22)bVar61 * -2 + 1);
            } while ((bool)uVar59);
            var_42 = false;
            bVar60 = (!(bool)uVar56 && !(bool)uVar59) == (bool)uVar56;
            if (bVar60) {
LAB_00180a28:
              pRVar48 = *var_28;
              ppOVar8 = (pRVar48->output_sections_).
                        super__Vector_base<var_26::type_30*,var_27::var_1<var_26::type_30*>var_3>
                        ._M_impl._M_start;
              if ((type_22)((long)(pRVar48->output_sections_).
                                super__Vector_base<var_26::type_30*,var_27::var_1<var_26::type_30*>var_3>
                                ._M_impl._M_finish - (long)ppOVar8 >> 3) <= var_33) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00181e47 to 00181e63 has its CatchHandler @ 00181f61 */
                var_25("../../gold/object.h",0x50b,"is_section_included");
              }
              if (ppOVar8[var_33] == (type_30 *)0x0) goto LAB_00180c96;
              var_34 = parameters->options_;
              if (var_34 == (type_19 *)0x0) {
                    /* WARNING: Subroutine does not return */
                var_25("../../gold/parameters.h",0x5c,"options");
              }
              if ((var_34->gc_sections_).value != false) {
                var_23._M_h._M_bucket_count =
                     var_35(var_23._M_h._M_bucket_count._4_4_,var_82);
                var_23._M_h._M_buckets = (type_12 *)pRVar48;
                iVar31 = var_9::
                         var_86<var_9::var_14<var_26::type_8*,var_11>,var_27::var_14<var_26::type_8*,var_11>,var_27::var_1<var_9::var_14<var_26::type_8*,var_11>var_3>,var_27::__detail::_Identity,var_27::equal_to<var_9::var_14<var_26::type_8*,var_11>var_3>,_gold::Section_id_hash,var_27::__detail::_Mod_range_hashing,var_27::__detail::_Default_ranged_hash,var_27::__detail::_Prime_rehash_policy,var_27::__detail::var_36<true,var_6,var_6>var_3>
                         ::var_37((var_86<var_9::var_14<var_26::type_8*,var_11>,var_27::var_14<var_26::type_8*,var_11>,var_27::var_1<var_9::var_14<var_26::type_8*,var_11>var_3>,var_27::__detail::_Identity,var_27::equal_to<var_9::var_14<var_26::type_8*,var_11>var_3>,_gold::Section_id_hash,var_27::__detail::_Mod_range_hashing,var_27::__detail::_Default_ranged_hash,var_27::__detail::_Prime_rehash_policy,var_27::__detail::var_36<true,var_6,var_6>var_3>
                                 *)&symtab->gc_->referenced_list_,(type_31 *)&var_23);
                if (iVar31.super__Node_iterator_base<var_9::var_14<var_26::type_8*,var_11>,var_6>.
                    _M_cur == (type_23 *)0x0) goto LAB_00180c96;
                var_34 = parameters->options_;
                if (var_34 == (type_19 *)0x0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00180e61 to 001811fa has its CatchHandler @ 00181f61 */
                  var_25("../../gold/parameters.h",0x5c,"options");
                }
              }
              if (var_34->icf_status_ == var_38) {
                var_32 = (type_13 *)var_39(var_87._M_dataplus._M_p,0x2e);
                var_42 = false;
                bVar60 = var_32 == (type_13 *)0x0;
                if (bVar60) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00181ef3 to 00181ef7 has its CatchHandler @ 00181f61 */
                  var_25("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");
                }
                var_31 = 4;
                var_40 = &DAT_00373305;
                var_41 = var_32;
                do {
                  if (var_31 == 0) break;
                  var_31 = var_31 + -1;
                  var_42 = *var_40 < *var_41;
                  bVar60 = *var_40 == *var_41;
                  var_40 = var_40 + (type_22)bVar61 * -2 + 1;
                  var_41 = var_41 + (type_22)bVar61 * -2 + 1;
                } while (bVar60);
                var_47 = false;
                var_42 = (!var_42 && !bVar60) == var_42;
                if (var_42) {
LAB_00180f58:
                  var_44 = var_43((char *)(var_32 + 1));
                  if ((var_44 != 0) ||
                     (var_46 = var_45((char *)(var_32 + 1)), var_46 != 0))
                  goto LAB_00180a97;
                }
                else {
                  var_31 = 4;
                  var_40 = &DAT_0037330a;
                  var_41 = var_32;
                  do {
                    if (var_31 == 0) break;
                    var_31 = var_31 + -1;
                    var_47 = *var_40 < *var_41;
                    var_42 = *var_40 == *var_41;
                    var_40 = var_40 + (type_22)bVar61 * -2 + 1;
                    var_41 = var_41 + (type_22)bVar61 * -2 + 1;
                  } while (var_42);
                  if ((!var_47 && !var_42) == var_47) goto LAB_00180f58;
                }
                if ((*(type_32 **)(*(long *)var_24 + 0x90) !=
                     type_7::do_can_check_for_function_pointers) &&
                   (var_48 = (**(type_32 **)(*(long *)var_24 + 0x90))(var_24), var_48 != '\0')) {
                  var_23._M_h._M_buckets = (type_12 *)*var_28;
                  var_23._M_h._M_bucket_count =
                       var_35(var_23._M_h._M_bucket_count._4_4_,var_82);
                  iVar31 = var_9::
                           var_86<var_9::var_14<var_26::type_8*,var_11>,var_27::var_14<var_26::type_8*,var_11>,var_27::var_1<var_9::var_14<var_26::type_8*,var_11>var_3>,var_27::__detail::_Identity,var_27::equal_to<var_9::var_14<var_26::type_8*,var_11>var_3>,_gold::Section_id_hash,var_27::__detail::_Mod_range_hashing,var_27::__detail::_Default_ranged_hash,var_27::__detail::_Prime_rehash_policy,var_27::__detail::var_36<true,var_6,var_6>var_3>
                           ::var_37((var_86<var_9::var_14<var_26::type_8*,var_11>,var_27::var_14<var_26::type_8*,var_11>,var_27::var_1<var_9::var_14<var_26::type_8*,var_11>var_3>,var_27::__detail::_Identity,var_27::equal_to<var_9::var_14<var_26::type_8*,var_11>var_3>,_gold::Section_id_hash,var_27::__detail::_Mod_range_hashing,var_27::__detail::_Default_ranged_hash,var_27::__detail::_Prime_rehash_policy,var_27::__detail::var_36<true,var_6,var_6>var_3>
                                   *)&this->fptr_section_id_,(type_31 *)&var_23);
                  if (iVar31.super__Node_iterator_base<var_9::var_14<var_26::type_8*,var_11>,var_6>
                      ._M_cur == (type_23 *)0x0) goto LAB_00180a97;
                }
                goto LAB_00180c96;
              }
LAB_00180a97:
              local_1a8 = (var_109<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3> *)
                          &var_23;
              var_23._M_h._M_buckets = (type_12 *)*var_28;
              __position._M_current =
                   (this->id_section_).
                   super__Vector_base<var_9::var_14<var_26::type_8*,var_11>,var_27::var_1<var_9::var_14<var_26::type_8*,var_11>var_3>var_3>
                   ._M_impl._M_finish;
              var_23._M_h._M_bucket_count =
                   var_35(var_23._M_h._M_bucket_count._4_4_,var_82);
              if (__position._M_current ==
                  (this->id_section_).
                  super__Vector_base<var_9::var_14<var_26::type_8*,var_11>,var_27::var_1<var_9::var_14<var_26::type_8*,var_11>var_3>var_3>
                  ._M_impl._M_end_of_storage) {
                var_9::
                vector<var_9::var_14<var_26::type_8*,var_11>,var_27::var_1<var_9::var_14<var_26::type_8*,var_11>var_3>var_3>
                ::_M_realloc_insert<var_9::var_14<var_26::type_8*,var_11>var_3>
                          (&this->id_section_,__position,
                           (var_14<var_26::type_8*,var_11> *)local_1a8);
              }
              else {
                (__position._M_current)->first = (type_8 *)var_23._M_h._M_buckets;
                (__position._M_current)->second = var_82;
                (this->id_section_).
                super__Vector_base<var_9::var_14<var_26::type_8*,var_11>,var_27::var_1<var_9::var_14<var_26::type_8*,var_11>var_3>var_3>
                ._M_impl._M_finish = __position._M_current + 1;
              }
              var_23._M_h._M_buckets = (type_12 *)*var_28;
              var_23._M_h._M_bucket_count =
                   var_35(var_23._M_h._M_bucket_count._4_4_,var_82);
              var_65 = (type_11 *)((type_22)var_23._M_h._M_buckets ^ var_33);
              var_64 = (type_22)var_65 % (this->section_id_)._M_h._M_bucket_count;
              var_50 = var_9::
                        var_86<var_9::var_14<var_26::type_8*,var_11>,var_27::var_14<var_56::var_14<var_26::type_8*,var_11>,var_11>,var_27::var_1<var_9::var_14<var_56::var_14<var_26::type_8*,var_11>,var_11>var_3>,var_27::__detail::_Select1st,var_27::equal_to<var_9::var_14<var_26::type_8*,var_11>var_3>,_gold::Section_id_hash,var_27::__detail::_Mod_range_hashing,var_27::__detail::_Default_ranged_hash,var_27::__detail::_Prime_rehash_policy,var_27::__detail::var_36<true,var_12,var_6>var_3>
                        ::var_49
                                  ((var_86<var_9::var_14<var_26::type_8*,var_11>,var_27::var_14<var_56::var_14<var_26::type_8*,var_11>,var_11>,var_27::var_1<var_9::var_14<var_56::var_14<var_26::type_8*,var_11>,var_11>var_3>,var_27::__detail::_Select1st,var_27::equal_to<var_9::var_14<var_26::type_8*,var_11>var_3>,_gold::Section_id_hash,var_27::__detail::_Mod_range_hashing,var_27::__detail::_Default_ranged_hash,var_27::__detail::_Prime_rehash_policy,var_27::__detail::var_36<true,var_12,var_6>var_3>
                                    *)&this->section_id_,var_64,(type_31 *)local_1a8,
                                   (type_33)var_65);
              if ((var_50 == (type_20 *)0x0) ||
                 (var_51 = var_50->_M_nxt, var_51 == (type_11 *)0x0)) {
                    /* try { // try from 00180cad to 00180cec has its CatchHandler @ 00181f61 */
                var_51 = (type_11 *)var_52(0x28);
                var_67 = (this->section_id_)._M_h._M_element_count;
                var_51->_M_nxt = (type_11 *)0x0;
                var_60 = (this->section_id_)._M_h._M_bucket_count;
                *(type_21 *)&var_51[3]._M_nxt = 0;
                var_51[1]._M_nxt = (type_11 *)var_23._M_h._M_buckets;
                var_51[2]._M_nxt = (type_11 *)var_23._M_h._M_bucket_count;
                var_48 = var_9::__detail::_Prime_rehash_policy::var_53
                                   (&(this->section_id_)._M_h._M_rehash_policy,var_60,var_67,1);
                if (var_48 == '\0') {
                  var_59 = (this->section_id_)._M_h._M_buckets;
                }
                else {
                  if (var_54 ==
                      (var_55<var_9::var_1<var_9::__detail::_Hash_node<var_9::var_14<var_56::var_14<var_26::type_8*,var_11>,var_11>,var_6>var_3>var_3>
                       *)0x1) {
                    var_59 = &(this->section_id_)._M_h._M_single_bucket;
                    (this->section_id_)._M_h._M_single_bucket = (type_12)0x0;
                  }
                  else {
                    /* try { // try from 00180d0d to 00180d11 has its CatchHandler @ 00181f10 */
                    var_59 = var_9::__detail::
                               var_55<var_9::var_1<var_9::__detail::_Hash_node<var_9::var_14<var_56::var_14<var_26::type_8*,var_11>,var_11>,var_6>var_3>var_3>
                               ::var_57(var_54,var_60);
                  }
                  var_58 = (this->section_id_)._M_h._M_before_begin._M_nxt;
                  (this->section_id_)._M_h._M_before_begin._M_nxt = (type_11 *)0x0;
                  if (var_58 != (type_11 *)0x0) {
                    var_67 = 0;
                    do {
                      while( true ) {
                        var_61 = var_58->_M_nxt;
                        var_60 = (type_22)var_58[4]._M_nxt % (type_22)var_54;
                        var_62 = var_59 + var_60;
                        if (*var_62 == (type_12)0x0) break;
                        var_58->_M_nxt = (*var_62)->_M_nxt;
                        (*var_62)->_M_nxt = var_58;
                        var_60 = var_67;
LAB_00180d64:
                        var_58 = var_61;
                        var_67 = var_60;
                        if (var_61 == (type_11 *)0x0) goto LAB_00180dc0;
                      }
                      var_58->_M_nxt = (this->section_id_)._M_h._M_before_begin._M_nxt;
                      (this->section_id_)._M_h._M_before_begin._M_nxt = var_58;
                      *var_62 = &(this->section_id_)._M_h._M_before_begin;
                      if (var_58->_M_nxt == (type_11 *)0x0) goto LAB_00180d64;
                      var_59[var_67] = var_58;
                      var_58 = var_61;
                      var_67 = var_60;
                    } while (var_61 != (type_11 *)0x0);
                  }
LAB_00180dc0:
                  var_62 = (this->section_id_)._M_h._M_buckets;
                  if (var_62 != &(this->section_id_)._M_h._M_single_bucket) {
                    var_63(var_62);
                  }
                  (this->section_id_)._M_h._M_buckets = var_59;
                  var_64 = (type_22)var_65 % (type_22)var_54;
                  (this->section_id_)._M_h._M_bucket_count = (type_4)var_54;
                }
                var_51[4]._M_nxt = var_65;
                var_62 = var_59 + var_64;
                if (*var_62 == (type_12)0x0) {
                  var_65 = (this->section_id_)._M_h._M_before_begin._M_nxt;
                  (this->section_id_)._M_h._M_before_begin._M_nxt = var_51;
                  var_51->_M_nxt = var_65;
                  if (var_65 != (type_11 *)0x0) {
                    var_59[(type_22)var_65[4]._M_nxt % (this->section_id_)._M_h._M_bucket_count] =
                         var_51;
                  }
                  *var_62 = &(this->section_id_)._M_h._M_before_begin;
                }
                else {
                  var_51->_M_nxt = (*var_62)->_M_nxt;
                  (*var_62)->_M_nxt = var_51;
                }
                psVar1 = &(this->section_id_)._M_h._M_element_count;
                *psVar1 = *psVar1 + 1;
              }
              var_70 = (this->kept_section_id_).
                        super__Vector_base<var_66,var_27::var_1<var_66>var_3>._M_impl.
                        _M_finish;
              *(type_6 *)&var_51[3]._M_nxt = var_81;
              if (var_70 ==
                  (this->kept_section_id_).
                  super__Vector_base<var_66,var_27::var_1<var_66>var_3>._M_impl.
                  _M_end_of_storage) {
                var_71 = (this->kept_section_id_).
                        super__Vector_base<var_66,var_27::var_1<var_66>var_3>._M_impl.
                        _M_start;
                var_69 = (long)var_70 - (long)var_71;
                var_67 = (long)var_69 >> 2;
                if (var_67 == 0) {
                  var_68 = 4;
LAB_00181065:
                  __dest = (type_5)var_52(var_68);
                  local_1e8 = (type_5)(var_68 + (long)__dest);
                }
                else {
                  var_60 = var_67 * 2;
                  if (var_60 < var_67) {
                    var_68 = 0xfffffffffffffffc;
                    goto LAB_00181065;
                  }
                  var_68 = 0xfffffffffffffffc;
                  if (0x3fffffffffffffff < var_60) goto LAB_00181065;
                  if (var_60 != 0) {
                    var_68 = var_67 << 3;
                    goto LAB_00181065;
                  }
                  local_1e8 = (type_5)0x0;
                  __dest = (type_5)0x0;
                }
                *(type_6 *)((long)__dest + var_69) = var_81;
                puVar3 = (type_5)((long)__dest + var_69 + 4);
                if (var_70 == var_71) {
                  if (var_71 != (type_5)0x0) goto LAB_001810bd;
                }
                else {
                  __dest = (type_5)var_72(__dest,var_71,var_69);
LAB_001810bd:
                  var_63(var_71);
                }
                (this->kept_section_id_).
                super__Vector_base<var_66,var_27::var_1<var_66>var_3>._M_impl._M_start =
                     __dest;
                (this->kept_section_id_).
                super__Vector_base<var_66,var_27::var_1<var_66>var_3>._M_impl._M_finish =
                     puVar3;
                (this->kept_section_id_).
                super__Vector_base<var_66,var_27::var_1<var_66>var_3>._M_impl.
                _M_end_of_storage = local_1e8;
                if (var_73 == var_74) goto LAB_00181108;
LAB_00180b52:
                *var_74 = 0;
                var_74 = var_74 + 1;
                __dest_00 = var_76;
              }
              else {
                *var_70 = var_81;
                (this->kept_section_id_).
                super__Vector_base<var_66,var_27::var_1<var_66>var_3>._M_impl._M_finish =
                     var_70 + 1;
                if (var_73 != var_74) goto LAB_00180b52;
LAB_00181108:
                var_69 = (long)var_74 - (long)var_76;
                var_67 = (long)var_69 >> 2;
                if (var_67 == 0) {
                  var_60 = 4;
LAB_0018114e:
                  __dest_00 = (type_21 *)var_52(var_60);
                  var_73 = (type_21 *)((long)__dest_00 + var_60);
                }
                else {
                  var_75 = var_67 * 2;
                  if (var_75 < var_67) {
                    var_60 = 0xfffffffffffffffc;
                    goto LAB_0018114e;
                  }
                  var_60 = 0xfffffffffffffffc;
                  if (0x3fffffffffffffff < var_75) goto LAB_0018114e;
                  if (var_75 != 0) {
                    var_60 = var_67 * 8;
                    goto LAB_0018114e;
                  }
                  var_73 = (type_21 *)0x0;
                  __dest_00 = (type_21 *)0x0;
                }
                *(type_21 *)((long)__dest_00 + var_69) = 0;
                if (var_74 == var_76) {
                  var_74 = (type_21 *)((long)__dest_00 + var_69 + 4);
                  if (var_76 != (type_21 *)0x0) goto LAB_001811a1;
                }
                else {
                  __dest_00 = (type_21 *)var_72(__dest_00,var_76,var_69);
                  var_74 = (type_21 *)((long)__dest_00 + var_69 + 4);
LAB_001811a1:
                  var_63(var_76);
                }
              }
              var_76 = __dest_00;
                    /* try { // try from 00180b6b to 00180bee has its CatchHandler @ 00181f61 */
              var_101 = (*((*var_28)->super_Object)._vptr_Object[0x17])(*var_28,var_33);
              var_23._M_h._M_buckets = (type_12 *)var_35(extraout_var,var_101);
              if (var_18.
                  super__Vector_base<var_17,var_27::var_1<var_17>var_3>._M_impl.
                  _M_finish ==
                  var_18.
                  super__Vector_base<var_17,var_27::var_1<var_17>var_3>._M_impl.
                  _M_end_of_storage) {
                std::vector<var_17,var_27::var_1<var_17>var_3>::
                _M_realloc_insert<var_17>
                          (&var_18,
                           (type_10)
                           var_18.
                           super__Vector_base<var_17,var_27::var_1<var_17>var_3>
                           ._M_impl._M_finish,(type_22 *)local_1a8);
              }
              else {
                *var_18.
                 super__Vector_base<var_17,var_27::var_1<var_17>var_3>._M_impl.
                 _M_finish = (type_22)var_23._M_h._M_buckets;
                var_18.
                super__Vector_base<var_17,var_27::var_1<var_17>var_3>._M_impl.
                _M_finish = var_18.
                            super__Vector_base<var_17,var_27::var_1<var_17>var_3>
                            ._M_impl._M_finish + 1;
              }
              var_83 = var_22.super__Bvector_base<var_9::var_1<var_7>var_3>._M_impl.
                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset;
              p_Var18 = var_22.super__Bvector_base<var_9::var_1<var_7>var_3>._M_impl.
                        super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p;
              if (var_22.super__Bvector_base<var_9::var_1<var_7>var_3>._M_impl.
                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p ==
                  var_22.super__Bvector_base<var_9::var_1<var_7>var_3>._M_impl.
                  super__Bvector_impl_data._M_end_of_storage) {
                local_180 = var_22.super__Bvector_base<var_9::var_1<var_7>var_3>.
                            _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base.
                            _M_offset;
                __position_00.super__Bit_iterator_base._12_4_ = uStack_17c;
                __position_00.super__Bit_iterator_base._M_offset =
                     var_22.super__Bvector_base<var_9::var_1<var_7>var_3>._M_impl.
                     super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset;
                local_188 = var_22.super__Bvector_base<var_9::var_1<var_7>var_3>.
                            _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p
                ;
                __position_00.super__Bit_iterator_base._M_p =
                     var_22.super__Bvector_base<var_9::var_1<var_7>var_3>._M_impl.
                     super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p;
                std::vector<var_7,var_27::var_1<var_7>var_3>::var_77
                          (&var_22,__position_00,false);
              }
              else {
                if (var_22.super__Bvector_base<var_9::var_1<var_7>var_3>._M_impl.
                    super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset == 0x3f) {
                  var_22.super__Bvector_base<var_9::var_1<var_7>var_3>._M_impl.
                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset = 0;
                  var_22.super__Bvector_base<var_9::var_1<var_7>var_3>._M_impl.
                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p =
                       var_22.super__Bvector_base<var_9::var_1<var_7>var_3>._M_impl.
                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p + 1;
                }
                else {
                  var_22.super__Bvector_base<var_9::var_1<var_7>var_3>._M_impl.
                  super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset =
                       var_22.super__Bvector_base<var_9::var_1<var_7>var_3>._M_impl.
                       super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset + 1;
                }
                var_78 = (type_13)var_83 & 0x3f;
                *p_Var18 = *p_Var18 & (-2L << var_78 | 0xfffffffffffffffeU >> 0x40 - var_78);
              }
              var_23._M_h._M_buckets = &var_23._M_h._M_before_begin._M_nxt;
              std::__cxx11::var_109<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>::
              var_79<var_80*>(local_1a8,"");
                    /* try { // try from 00180c00 to 00180c04 has its CatchHandler @ 00181f59 */
              var_9::
              vector<var_9::__cxx11::var_109<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>,var_27::var_1<var_9::__cxx11::var_109<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>var_3>var_3>
              ::
              emplace_back<var_9::__cxx11::var_109<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>var_3>
                        (&var_19,local_1a8);
              if ((type_20 *)var_23._M_h._M_buckets !=
                  &var_23._M_h._M_before_begin) {
                var_63(var_23._M_h._M_buckets);
              }
              var_81 = var_81 + 1;
              if ((anon_union_16_2_edb7204a_for_basic_string<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>var_4
                   *)var_87._M_dataplus._M_p != &var_87.field_2) goto LAB_00180c31;
            }
            else {
              var_31 = 0xf;
              var_32 = (type_13 *)".gnu.linkonce.t";
              _Var50 = var_87._M_dataplus;
              do {
                if (var_31 == 0) break;
                var_31 = var_31 + -1;
                var_42 = *var_32 < (type_13)*_Var50._M_p;
                bVar60 = *var_32 == *_Var50._M_p;
                var_32 = var_32 + (type_22)bVar61 * -2 + 1;
                _Var50._M_p = (type_5)((type_13 *)_Var50._M_p + (type_22)bVar61 * -2 + 1);
              } while (bVar60);
              if ((!var_42 && !bVar60) == var_42) goto LAB_00180a28;
LAB_00180c96:
              if ((anon_union_16_2_edb7204a_for_basic_string<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>var_4
                   *)var_87._M_dataplus._M_p != &var_87.field_2) {
LAB_00180c31:
                var_63(var_87._M_dataplus._M_p);
              }
            }
            pRVar48 = *var_28;
            var_82 = var_82 + 1;
            var_33 = (type_22)var_82;
            var_83 = (pRVar48->super_Object).shnum_;
            uVar56 = var_82 < var_83;
            uVar59 = var_82 == var_83;
          } while ((bool)uVar56);
        }
        var_29 = (pRVar6->super_Object).input_file_;
        if (var_29 != (type_9 *)0x0) {
          File_read::var_84(&var_29->file_,(type_29 *)0xffffffffffffffff);
        }
      }
      var_28 = var_28 + 1;
    } while ((input_objects->relobj_list_).
             super__Vector_base<var_26::type_8*,var_27::var_1<var_26::type_8*>var_3>._M_impl._M_finish !=
             var_28);
  }
  if (parameters->options_ == (type_19 *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_25("../../gold/parameters.h",0x5c,"options");
  }
  var_81 = 0;
  var_82 = (parameters->options_->icf_iterations_).value;
  var_83 = 2;
  if (0 < (int)var_82) {
    var_83 = var_82;
  }
  var_5 = &var_104.field_2;
  do {
    var_81 = var_81 + 1;
    var_23._M_h._M_bucket_count = 1;
    var_23._M_h._M_buckets = &var_23._M_h._M_single_bucket;
    var_23._M_h._M_before_begin._M_nxt = (type_11 *)0x0;
    var_23._M_h._M_element_count = 0;
    var_23._M_h._M_rehash_policy._M_max_load_factor = 1.0;
    var_23._M_h._M_rehash_policy._M_next_resize = 0;
    var_23._M_h._M_single_bucket = (type_12)0x0;
    if (var_81 == 1) {
      pvVar51 = &var_22;
                    /* try { // try from 00181c11 to 00181c15 has its CatchHandler @ 00181f8d */
      var_85
                (&this->id_section_,&var_22,
                 (vector<var_9::__cxx11::var_109<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>,var_27::var_1<var_9::__cxx11::var_109<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>var_3>var_3>
                  *)0x0);
      var_101 = (int)pvVar51;
    }
    else {
      pvVar51 = &var_22;
                    /* try { // try from 00181355 to 00181359 has its CatchHandler @ 00181f8d */
      var_85(&this->id_section_,&var_22,&var_19);
      var_101 = (int)pvVar51;
    }
    var_20.
    super__Vector_base<var_9::__cxx11::var_109<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>,var_27::var_1<var_9::__cxx11::var_109<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>var_3>var_3>
    ._M_impl._M_start = (type_5)0x0;
    var_20.
    super__Vector_base<var_9::__cxx11::var_109<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>,var_27::var_1<var_9::__cxx11::var_109<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>var_3>var_3>
    ._M_impl._M_finish = (type_5)0x0;
    var_20.
    super__Vector_base<var_9::__cxx11::var_109<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>,var_27::var_1<var_9::__cxx11::var_109<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>var_3>var_3>
    ._M_impl._M_end_of_storage = (type_5)0x0;
    if ((this->id_section_).
        super__Vector_base<var_9::var_14<var_26::type_8*,var_11>,var_27::var_1<var_9::var_14<var_26::type_8*,var_11>var_3>var_3>
        ._M_impl._M_finish ==
        (this->id_section_).
        super__Vector_base<var_9::var_14<var_26::type_8*,var_11>,var_27::var_1<var_9::var_14<var_26::type_8*,var_11>var_3>var_3>
        ._M_impl._M_start) {
      var_9::
      var_86<var_66,var_27::var_14<var_10,var_11>,var_27::var_1<var_9::var_14<var_10,var_11>var_3>,var_27::__detail::_Select1st,var_27::equal_to<var_66>,var_27::hash<var_66>,var_27::__detail::_Mod_range_hashing,var_27::__detail::_Default_ranged_hash,var_27::__detail::_Prime_rehash_policy,var_27::__detail::var_36<false,var_12,var_12>var_3>
      ::~var_86(&var_23._M_h,var_101);
      var_42 = true;
      break;
    }
    var_33 = 0;
    var_42 = true;
    var_82 = 0;
    do {
      var_87._M_dataplus._M_p = (type_5)&var_87.field_2;
                    /* try { // try from 00181402 to 00181406 has its CatchHandler @ 00181f77 */
      std::__cxx11::var_109<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>::
      var_79<var_80*>(&var_87,"");
      _Var50._M_p = (type_5)&var_87;
                    /* try { // try from 00181411 to 00181415 has its CatchHandler @ 00181f51 */
      var_9::
      vector<var_9::__cxx11::var_109<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>,var_27::var_1<var_9::__cxx11::var_109<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>var_3>var_3>
      ::
      emplace_back<var_9::__cxx11::var_109<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>var_3>
                (&var_20,&var_87);
      if ((anon_union_16_2_edb7204a_for_basic_string<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>var_4
           *)var_87._M_dataplus._M_p != &var_87.field_2) {
        var_63(var_87._M_dataplus._M_p);
      }
      var_64._0_1_ = (type_13)var_82;
      var_67 = 1L << ((type_13)var_64 & 0x3f);
      var_88 = (this->id_section_).
                super__Vector_base<var_9::var_14<var_26::type_8*,var_11>,var_27::var_1<var_9::var_14<var_26::type_8*,var_11>var_3>var_3>
                ._M_impl._M_start;
      if ((var_67 & var_22.super__Bvector_base<var_9::var_1<var_7>var_3>._M_impl.
                    super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[var_33 >> 6]) ==
          0) {
        ppVar2 = var_88 + var_33;
        secn.first = ppVar2->first;
        secn.second = ppVar2->second;
        secn._12_4_ = *(type_21 *)&ppVar2->field_0xc;
        var_104._M_string_length = 0;
        var_104.field_2._M_allocated_capacity =
             var_104.field_2._M_allocated_capacity & 0xffffffffffffff00;
        var_104._M_dataplus._M_p = (type_5)var_5;
        if (var_81 == 1) {
          var_89 = var_89 & 0xffffffff00000000;
          var_90
                    (&var_87,true,&secn,var_82,&num_relocs,symtab,&this->kept_section_id_,
                     &var_19);
          uVar17 = var_104.field_2._M_allocated_capacity;
          _Var50._M_p = var_104._M_dataplus._M_p;
          if ((anon_union_16_2_edb7204a_for_basic_string<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>var_4
               *)var_87._M_dataplus._M_p == &var_87.field_2) {
            var_99 = var_87._M_string_length;
            if (var_87._M_string_length != 0) {
              if (var_87._M_string_length == 1) {
                *var_104._M_dataplus._M_p = var_87.field_2._M_local_buf[0];
                var_99 = var_87._M_string_length;
              }
              else {
                var_91(var_104._M_dataplus._M_p,var_87._M_dataplus._M_p,
                       var_87._M_string_length);
                var_99 = var_87._M_string_length;
              }
            }
            var_104._M_dataplus._M_p[var_99] = '\0';
            var_104._M_string_length = var_99;
          }
          else {
            if ((anon_union_16_2_edb7204a_for_basic_string<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>var_4
                 *)var_104._M_dataplus._M_p != var_5) {
              var_104._M_dataplus = var_87._M_dataplus;
              var_104._M_string_length = var_87._M_string_length;
              var_104.field_2._M_allocated_capacity =
                   var_87.field_2._M_allocated_capacity;
              if (_Var50._M_p != (type_5)0x0) {
                var_87._M_dataplus = _Var50;
                var_87.field_2._M_allocated_capacity = uVar17;
                goto LAB_00181993;
              }
            }
            var_104.field_2._M_allocated_capacity =
                 var_87.field_2._M_allocated_capacity;
            var_104._M_string_length = var_87._M_string_length;
            var_104._M_dataplus = var_87._M_dataplus;
            var_87._M_dataplus._M_p = (type_5)&var_87.field_2;
          }
LAB_00181993:
          var_87._M_string_length = 0;
          *var_87._M_dataplus._M_p = '\0';
          if ((anon_union_16_2_edb7204a_for_basic_string<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>var_4
               *)var_87._M_dataplus._M_p != &var_87.field_2) {
            var_63(var_87._M_dataplus._M_p);
          }
          var_76[var_33] = num_relocs;
        }
        else {
          if (var_82 != (this->kept_section_id_).
                        super__Vector_base<var_66,var_27::var_1<var_66>var_3>._M_impl.
                        _M_start[var_33]) goto LAB_001813c8;
                    /* try { // try from 001814fb to 00181926 has its CatchHandler @ 00181f49 */
          var_90
                    ((type_27 *)&num_relocs,false,&secn,var_82,(type_6 *)0x0,symtab,
                     &this->kept_section_id_,&var_19);
          uVar17 = var_104.field_2._M_allocated_capacity;
          _Var50._M_p = var_104._M_dataplus._M_p;
          if ((anon_union_16_2_edb7204a_for_basic_string<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>var_4
               *)var_89 == &var_21) {
            var_69 = var_92;
            if (var_92 != 0) {
              if (var_92 == 1) {
                *var_104._M_dataplus._M_p = var_21._M_local_buf[0];
                var_69 = var_92;
              }
              else {
                var_91(var_104._M_dataplus._M_p,var_89,var_92);
                var_69 = var_92;
              }
            }
            var_104._M_dataplus._M_p[var_69] = '\0';
            var_104._M_string_length = var_69;
          }
          else {
            if ((anon_union_16_2_edb7204a_for_basic_string<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>var_4
                 *)var_104._M_dataplus._M_p != var_5) {
              var_104._M_dataplus._M_p = var_89;
              var_104._M_string_length = var_92;
              var_104.field_2._M_allocated_capacity = var_21._M_allocated_capacity;
              if (_Var50._M_p != (type_5)0x0) {
                var_89 = _Var50._M_p;
                var_21._M_allocated_capacity = uVar17;
                goto LAB_0018156c;
              }
            }
            var_104.field_2._M_allocated_capacity = var_21._M_allocated_capacity;
            var_104._M_string_length = var_92;
            var_104._M_dataplus._M_p = var_89;
            var_89 = (type_5)&var_21;
          }
LAB_0018156c:
          var_92 = 0;
          *var_89 = '\0';
          if ((anon_union_16_2_edb7204a_for_basic_string<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>var_4
               *)var_89 != &var_21) {
            var_63(var_89);
          }
        }
        var_95 = var_93((type_34 *)var_104._M_dataplus._M_p,
                        (int)var_104._M_string_length,0xffffffff);
        var_60 = (type_22)var_95 % var_23._M_h._M_bucket_count;
        cksum = var_95;
        if ((var_23._M_h._M_buckets[var_60] == (type_12)0x0) ||
           (var_65 = var_23._M_h._M_buckets[var_60]->_M_nxt,
           var_65 == (type_11 *)0x0)) {
LAB_00181638:
          p_Var35 = (type_23 *)var_52(0x10);
          *(type_6 *)&(p_Var35->
                    super__Hash_node_value_base<var_9::var_14<var_10,var_11>var_3>).
                    _M_storage._M_storage = var_95;
          (p_Var35->super__Hash_node_value_base<var_9::var_14<var_10,var_11>var_3>).
          super__Hash_node_base._M_nxt = (type_11 *)0x0;
          *(type_6 *)((long)&(p_Var35->
                           super__Hash_node_value_base<var_9::var_14<var_10,var_11>var_3>
                           )._M_storage._M_storage + 4) = var_82;
          var_9::
          var_86<var_66,var_27::var_14<var_10,var_11>,var_27::var_1<var_9::var_14<var_10,var_11>var_3>,var_27::__detail::_Select1st,var_27::equal_to<var_66>,var_27::hash<var_66>,var_27::__detail::_Mod_range_hashing,var_27::__detail::_Default_ranged_hash,var_27::__detail::_Prime_rehash_policy,var_27::__detail::var_36<false,var_12,var_12>var_3>
          ::var_94(&var_23._M_h,(type_23 *)0x0,(type_22)var_95,p_Var35);
        }
        else {
          var_75 = (type_22)*(type_6 *)&var_65[1]._M_nxt;
          var_31 = 0;
          do {
            if (var_95 == (type_6)var_75) {
              var_65 = var_65->_M_nxt;
              var_31 = var_31 + 1;
              var_96 = var_31;
            }
            else {
              if (var_31 != 0) goto LAB_00181742;
              var_65 = var_65->_M_nxt;
              var_96 = 0;
            }
          } while ((var_65 != (type_11 *)0x0) &&
                  (var_75 = (type_22)*(type_6 *)&var_65[1]._M_nxt, var_96 = var_31,
                  var_60 == var_75 % var_23._M_h._M_bucket_count));
          if (var_96 == 0) goto LAB_00181638;
LAB_00181742:
          var_15 = var_9::
                   var_86<var_66,var_27::var_14<var_10,var_11>,var_27::var_1<var_9::var_14<var_10,var_11>var_3>,var_27::__detail::_Select1st,var_27::equal_to<var_66>,var_27::hash<var_66>,var_27::__detail::_Mod_range_hashing,var_27::__detail::_Default_ranged_hash,var_27::__detail::_Prime_rehash_policy,var_27::__detail::var_36<false,var_12,var_12>var_3>
                   ::var_97(&var_23._M_h,&cksum);
          var_99 = var_104._M_string_length;
          __s2 = var_104._M_dataplus;
          var_98 = var_20.
                    super__Vector_base<var_9::__cxx11::var_109<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>,var_27::var_1<var_9::__cxx11::var_109<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>var_3>var_3>
                    ._M_impl._M_start;
          if ((type_23 *)var_15.first !=
              var_15.second.
              super__Node_iterator_base<var_9::var_14<var_10,var_11>,var_12>) {
            do {
              var_16 = var_15.second;
              var_13 = var_15.first;
              var_95 = *(type_6 *)((long)var_13.
                                       super__Node_iterator_base<var_9::var_14<var_10,var_11>,var_12>
                                       ._M_cur + 0xc);
              var_106 = var_98 + var_95;
              if ((var_106->_M_string_length == var_99) &&
                 (_Var50 = __s2, var_101 = var_100((var_106->_M_dataplus)._M_p,__s2._M_p,var_99),
                 var_101 == 0)) {
                var_70 = (this->kept_section_id_).
                          super__Vector_base<var_66,var_27::var_1<var_66>var_3>._M_impl.
                          _M_start;
                if (var_18.
                    super__Vector_base<var_17,var_27::var_1<var_17>var_3>.
                    _M_impl._M_start[var_95] <
                    var_18.
                    super__Vector_base<var_17,var_27::var_1<var_17>var_3>.
                    _M_impl._M_start[var_33]) {
                  var_70[var_95] = var_82;
                  _Var50._M_p = (type_5)(var_98 + var_33);
                  *(type_6 *)((long)var_13.
                                  super__Node_iterator_base<var_9::var_14<var_10,var_11>,var_12>
                                  ._M_cur + 0xc) = var_82;
                  std::string::var_102((type_27 *)var_106,(type_27 *)_Var50._M_p);
                  var_42 = false;
                }
                else {
                  var_70[var_33] = var_95;
                  var_42 = false;
                }
                goto joined_r0x00181835;
              }
              var_15.second.
              super__Node_iterator_base<var_9::var_14<var_10,var_11>,var_12>._M_cur =
                   var_16.
                   super__Node_iterator_base<var_9::var_14<var_10,var_11>,var_12>.
                   _M_cur;
              var_15.first.
              super__Node_iterator_base<var_9::var_14<var_10,var_11>,var_12>._M_cur =
                   (var_103<var_9::var_14<var_10,var_11>,var_12>)
                   (var_103<var_9::var_14<var_10,var_11>,var_12>)
                   *(type_23 **)
                    var_13.
                    super__Node_iterator_base<var_9::var_14<var_10,var_11>,var_12>.
                    _M_cur;
            } while (var_16.
                     super__Node_iterator_base<var_9::var_14<var_10,var_11>,var_12>.
                     _M_cur != (var_103<var_9::var_14<var_10,var_11>,var_12>
                                )*(type_23 **)
                                  var_13.
                                  super__Node_iterator_base<var_9::var_14<var_10,var_11>,var_12>
                                  ._M_cur);
          }
          uVar16 = cksum;
          p_Var35 = (type_23 *)var_52(0x10);
          (p_Var35->super__Hash_node_value_base<var_9::var_14<var_10,var_11>var_3>).
          _M_storage._M_storage.__align = (type_35)uVar16;
          (p_Var35->super__Hash_node_value_base<var_9::var_14<var_10,var_11>var_3>).
          super__Hash_node_base._M_nxt = (type_11 *)0x0;
          *(type_6 *)((long)&(p_Var35->
                           super__Hash_node_value_base<var_9::var_14<var_10,var_11>var_3>
                           )._M_storage._M_storage + 4) = var_82;
          var_9::
          var_86<var_66,var_27::var_14<var_10,var_11>,var_27::var_1<var_9::var_14<var_10,var_11>var_3>,var_27::__detail::_Select1st,var_27::equal_to<var_66>,var_27::hash<var_66>,var_27::__detail::_Mod_range_hashing,var_27::__detail::_Default_ranged_hash,var_27::__detail::_Prime_rehash_policy,var_27::__detail::var_36<false,var_12,var_12>var_3>
          ::var_94(&var_23._M_h,(type_23 *)0x0,(type_22)uVar16,p_Var35);
        }
        _Var50._M_p = (type_5)&var_104;
        std::string::var_105
                  ((type_27 *)
                   (var_20.
                    super__Vector_base<var_9::__cxx11::var_109<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>,var_27::var_1<var_9::__cxx11::var_109<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>var_3>var_3>
                    ._M_impl._M_start + var_33),(type_27 *)&var_104);
joined_r0x00181835:
        if ((var_81 == 1) && (var_76[var_33] == 0)) {
          var_22.super__Bvector_base<var_9::var_1<var_7>var_3>._M_impl.
          super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[var_33 >> 6] =
               var_22.super__Bvector_base<var_9::var_1<var_7>var_3>._M_impl.
               super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[var_33 >> 6] | var_67
          ;
        }
        if ((anon_union_16_2_edb7204a_for_basic_string<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>var_4
             *)var_104._M_dataplus._M_p != var_5) {
          var_63(var_104._M_dataplus._M_p);
        }
        var_88 = (this->id_section_).
                  super__Vector_base<var_9::var_14<var_26::type_8*,var_11>,var_27::var_1<var_9::var_14<var_26::type_8*,var_11>var_3>var_3>
                  ._M_impl._M_start;
      }
LAB_001813c8:
      var_98 = var_20.
                super__Vector_base<var_9::__cxx11::var_109<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>,var_27::var_1<var_9::__cxx11::var_109<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>var_3>var_3>
                ._M_impl._M_finish;
      var_82 = var_82 + 1;
      var_33 = (type_22)var_82;
      var_67 = (long)(this->id_section_).
                     super__Vector_base<var_9::var_14<var_26::type_8*,var_11>,var_27::var_1<var_9::var_14<var_26::type_8*,var_11>var_3>var_3>
                     ._M_impl._M_finish - (long)var_88 >> 4;
    } while (var_33 < var_67);
    if (var_67 != 0) {
      _Var50._M_p = (type_5)(this->kept_section_id_).
                             super__Vector_base<var_66,var_27::var_1<var_66>var_3>._M_impl
                             ._M_start;
      var_60 = 0;
      var_33 = var_60;
      do {
        do {
          var_95 = (type_6)var_60;
          var_82 = *(type_6 *)((long)&(((type_27 *)_Var50._M_p)->_M_dataplus)._M_p + var_60 * 4);
          var_60 = (type_22)var_82;
        } while (var_95 != var_82);
        puVar14 = (type_6 *)((long)&(((type_27 *)_Var50._M_p)->_M_dataplus)._M_p + var_33 * 4);
        var_95 = *puVar14;
        while (var_95 != var_82) {
          *puVar14 = var_82;
          puVar14 = (type_6 *)((long)&(((type_27 *)_Var50._M_p)->_M_dataplus)._M_p + (type_22)var_95 * 4)
          ;
          var_95 = *puVar14;
        }
        var_60 = (type_22)((int)var_33 + 1);
        var_33 = var_60;
      } while (var_60 < var_67);
    }
    var_101 = (int)_Var50._M_p;
    for (var_106 = var_20.
                   super__Vector_base<var_9::__cxx11::var_109<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>,var_27::var_1<var_9::__cxx11::var_109<char,var_27::var_108<char>,var_27::var_1<char>var_3>var_3>var_3>
                   ._M_impl._M_start; var_106 != var_98; var_106 = var_106 + 1) {
      var_107 = (var_106->_M_dataplus)._M_p;
      if ((anon_union_16_2_edb7204a_for_basic_string<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>var_4
           *)var_107 != &var_106->field_2) {
        var_63(var_107);
      }
      var_101 = (int)_Var50._M_p;
    }
    if (var_20.
        super__Vector_base<var_9::__cxx11::var_109<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>,var_27::var_1<var_9::__cxx11::var_109<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>var_3>var_3>
        ._M_impl._M_start != (type_5)0x0) {
      var_63(var_20.
                      super__Vector_base<var_9::__cxx11::var_109<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>,var_27::var_1<var_9::__cxx11::var_109<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>var_3>var_3>
                      ._M_impl._M_start);
    }
    var_9::
    var_86<var_66,var_27::var_14<var_10,var_11>,var_27::var_1<var_9::var_14<var_10,var_11>var_3>,var_27::__detail::_Select1st,var_27::equal_to<var_66>,var_27::hash<var_66>,var_27::__detail::_Mod_range_hashing,var_27::__detail::_Default_ranged_hash,var_27::__detail::_Prime_rehash_policy,var_27::__detail::var_36<false,var_12,var_12>var_3>
    ::~var_86(&var_23._M_h,var_101);
  } while (var_81 < var_83 && !var_42);
  pcVar37 = program_name;
  var_34 = parameters->options_;
  if (var_34 == (type_19 *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_25("../../gold/parameters.h",0x5c,"options");
  }
  if ((var_34->print_icf_sections_).value != false) {
    pcVar53 = "%s: ICF Converged after %u iteration(s)";
    if (!var_42) {
      pcVar53 = "%s: ICF stopped after %u iteration(s)";
    }
    pcVar53 = (char *)var_110(pcVar53);
                    /* try { // try from 00181db6 to 00181de6 has its CatchHandler @ 00181f33 */
    var_111(pcVar53,pcVar37,var_81);
    var_34 = parameters->options_;
    if (var_34 == (type_19 *)0x0) {
                    /* WARNING: Subroutine does not return */
      var_25("../../gold/parameters.h",0x5c,"options");
    }
  }
  var_65 = (var_34->keep_unique_).value._M_h._M_before_begin._M_nxt;
  var_98 = var_19.
            super__Vector_base<var_9::__cxx11::var_109<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>,var_27::var_1<var_9::__cxx11::var_109<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>var_3>var_3>
            ._M_impl._M_finish;
  do {
    var_19.
    super__Vector_base<var_9::__cxx11::var_109<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>,var_27::var_1<var_9::__cxx11::var_109<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>var_3>var_3>
    ._M_impl._M_finish = var_98;
    if (var_65 == (type_11 *)0x0) {
      this->icf_ready_ = true;
      for (var_106 = var_19.
                     super__Vector_base<var_9::__cxx11::var_109<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>,var_27::var_1<var_9::__cxx11::var_109<char,var_27::var_108<char>,var_27::var_1<char>var_3>var_3>var_3>
                     ._M_impl._M_start; var_98 != var_106; var_106 = var_106 + 1) {
        var_107 = (var_106->_M_dataplus)._M_p;
        if ((anon_union_16_2_edb7204a_for_basic_string<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>var_4
             *)var_107 != &var_106->field_2) {
          var_63(var_107);
        }
      }
      if (var_19.
          super__Vector_base<var_9::__cxx11::var_109<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>,var_27::var_1<var_9::__cxx11::var_109<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>var_3>var_3>
          ._M_impl._M_start != (type_5)0x0) {
        var_63(var_19.
                        super__Vector_base<var_9::__cxx11::var_109<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>,var_27::var_1<var_9::__cxx11::var_109<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>var_3>var_3>
                        ._M_impl._M_start);
      }
      if (var_22.super__Bvector_base<var_9::var_1<var_7>var_3>._M_impl.
          super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p != (type_16 *)0x0) {
        var_63(var_22.super__Bvector_base<var_9::var_1<var_7>var_3>._M_impl.
                        super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p);
      }
      if (var_18.
          super__Vector_base<var_17,var_27::var_1<var_17>var_3>._M_impl._M_start
          != (type_5)0x0) {
        var_63(var_18.
                        super__Vector_base<var_17,var_27::var_1<var_17>var_3>.
                        _M_impl._M_start);
      }
      if (var_76 != (type_21 *)0x0) {
        var_63(var_76);
      }
      return;
    }
    var_51 = var_65[1]._M_nxt;
                    /* try { // try from 00181b61 to 00181b7f has its CatchHandler @ 00181f33 */
    var_113 = type_3::var_112(symtab,(char *)var_51,(char *)0x0);
    if (var_113 == (type_24 *)0x0) {
      pcVar37 = (char *)var_110("Could not find symbol %s to unfold\n");
      var_114(pcVar37,var_51);
    }
    else if ((((var_113->field_0x3a & 7) == 0) &&
             ((((type_36 *)((var_113->u1_).output_segment)->output_lists_)->field_0x3c & 1) == 0)) &&
            ((var_113->field_0x3b & 0x20) != 0)) {
      var_115(this,(type_8 *)(var_113->u1_).output_segment,(var_113->u2_).shndx);
    }
    var_65 = var_65->_M_nxt;
    var_98 = var_19.
              super__Vector_base<var_9::__cxx11::var_109<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>,var_27::var_1<var_9::__cxx11::var_109<var_2,var_27::var_108<var_2>,var_27::var_1<var_2>var_3>var_3>var_3>
              ._M_impl._M_finish;
  } while (parameters->options_ != (type_19 *)0x0);
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00181eab to 00181edf has its CatchHandler @ 00181f33 */
  var_25("../../gold/parameters.h",0x5c,"options");
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (sized_type_specifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (sized_type_specifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (sized_type_specifier) declarator: (identifier)))) body: (compound_statement (declaration type: (sized_type_specifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (sized_type_specifier) 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: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (sized_type_specifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) 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: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator 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: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (sized_type_specifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (sized_type_specifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (sized_type_specifier) 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: (array_declarator declarator: (identifier) size: (number_literal))) (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: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (sized_type_specifier) 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: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (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: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (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: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (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: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal) (string_literal (string_content))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (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))))) 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: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))) index: (number_literal))) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (false)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (true))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (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 (pointer_expression argument: (identifier)) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (string_literal (string_content))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (parenthesized_expression (identifier)) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (parenthesized_expression (identifier)) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (unary_expression argument: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (unary_expression argument: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (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: (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal))))) right: (number_literal)))) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal) (string_literal (string_content))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal) (string_literal (string_content))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (field_expression argument: (identifier) field: (field_identifier)) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal) (string_literal (string_content))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (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 (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal) (string_literal (string_content))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (identifier))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (unary_expression argument: (identifier)))) right: (identifier)))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))))) (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: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (unary_expression argument: (identifier)))) right: (identifier))) consequence: (goto_statement label: (statement_identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) right: (identifier))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (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)))) right: (binary_expression left: (identifier) 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: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (field_expression argument: (identifier) field: (field_identifier)) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (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: (subscript_expression argument: (identifier) index: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (field_expression argument: (identifier) field: (field_identifier)) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier) (identifier) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier) (identifier) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))) right: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (break_statement)) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (pointer_expression argument: (identifier)))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (identifier)) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))) right: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))))) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (pointer_expression argument: (identifier)))) right: (identifier)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_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: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (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: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (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: (binary_expression left: (identifier) right: (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (identifier))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (identifier)) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (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: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier))))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (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))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (identifier))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (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: (binary_expression left: (identifier) right: (number_literal)))) (goto_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)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (identifier))))) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (identifier)) right: (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)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (identifier)) right: (number_literal)))))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier))))))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))) right: (number_literal))))))) arguments: (argument_list (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (identifier) (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (identifier) (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))) (number_literal))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (parenthesized_expression (binary_expression left: (binary_expression left: (number_literal) right: (identifier)) right: (binary_expression left: (number_literal) right: (binary_expression left: (number_literal) right: (identifier))))))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (string_literal (string_content))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (parenthesized_expression (identifier)) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (parenthesized_expression (identifier)) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (unary_expression argument: (identifier)))) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier))))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) condition: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)) (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal) (string_literal (string_content))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_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))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (true))) (break_statement))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (true))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (string_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (number_literal) (pointer_expression argument: (identifier)) (identifier) (pointer_expression argument: (identifier)) (identifier) (binary_expression left: (identifier) right: (number_literal)) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (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)) value: (identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (identifier))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (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: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (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: (identifier)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (identifier)) right: (field_expression argument: (identifier) field: (field_identifier))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (number_literal) (pointer_expression argument: (identifier)) (identifier) (number_literal) (identifier) (binary_expression left: (identifier) right: (number_literal)) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (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)) value: (identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (identifier))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (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: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (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: (identifier)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list)))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (identifier))) right: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (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: (subscript_expression argument: (identifier) index: (identifier))))) right: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (number_literal))))) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (number_literal) (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) 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: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (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: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (for_statement initializer: (assignment_expression left: (identifier) right: (field_expression argument: (identifier) field: (field_identifier))) condition: (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (field_expression argument: (identifier) field: (field_identifier)))) update: (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))) (identifier) (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (number_literal))))) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (false)))) 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)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (false)))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (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 (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (number_literal))))) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (number_literal) (identifier) (identifier))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) (pointer_expression argument: (identifier))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (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: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (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: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (do_statement body: (compound_statement (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)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (while_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (for_statement condition: (binary_expression left: (identifier) right: (identifier)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)))))) condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (unary_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal) (string_literal (string_content))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (if_statement condition: (parenthesized_expression (unary_expression argument: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal) (string_literal (string_content))))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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 (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (for_statement initializer: (assignment_expression left: (identifier) right: (identifier)) condition: (binary_expression left: (identifier) right: (identifier)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (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 (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content) (escape_sequence)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal))) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (number_literal))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal) (string_literal (string_content))))))))

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

{
  long *plVar1;
  uint *puVar2;
  uint uVar3;
  long *plVar4;
  int *piVar5;
  long *plVar6;
  int *__src;
  undefined8 uVar7;
  byte bVar8;
  char cVar9;
  int iVar10;
  uint uVar11;
  uint uVar12;
  int iVar13;
  long *plVar14;
  long *plVar15;
  byte *pbVar16;
  void *__dest;
  size_t sVar17;
  undefined4 *__dest_00;
  undefined8 *puVar18;
  ulong *puVar19;
  undefined8 uVar20;
  long lVar21;
  long *plVar22;
  ulong extraout_RDX;
  ulong uVar23;
  ulong uVar24;
  ulong uVar25;
  uint uVar26;
  int iVar27;
  ulong uVar28;
  long lVar29;
  long *plVar30;
  byte *pbVar31;
  ulong *puVar32;
  byte *pbVar33;
  char *pcVar34;
  undefined1 uVar35;
  bool bVar36;
  bool bVar37;
  undefined1 uVar38;
  bool bVar39;
  byte bVar40;
  undefined1 auVar41 [16];
  long local_1e8;
  undefined4 *local_1d8;
  long local_1d0;
  undefined4 *local_1c8;
  undefined4 *local_1b0;
  undefined8 **local_1a8;
  ulong local_1a0;
  uint local_18c;
  ulong *local_188;
  int local_180;
  undefined4 uStack_17c;
  undefined8 local_178;
  undefined8 uStack_170;
  long local_168;
  undefined8 *local_160;
  undefined8 *local_158;
  long *local_148;
  long *local_140;
  undefined8 local_138;
  long *local_128;
  long *local_120;
  undefined8 local_118;
  ulong *local_108;
  ulong local_100;
  ulong local_f8 [2];
  ulong *local_e8;
  size_t local_e0;
  ulong local_d8 [2];
  ulong *local_c8;
  size_t local_c0;
  ulong local_b8 [2];
  long local_a8;
  undefined4 local_a0;
  ulong *local_98;
  int local_90;
  ulong *local_88;
  undefined8 *local_78;
  ulong uStack_70;
  undefined8 local_68;
  undefined8 local_60;
  undefined4 local_58;
  undefined8 local_50;
  undefined8 local_48 [3];
  
  bVar40 = 0;
  plVar4 = *(long **)(PTR_DAT_0043e6b0 + 0x18);
  local_168 = 0;
  local_160 = (undefined8 *)0x0;
  local_158 = (undefined8 *)0x0;
  local_a8 = 0;
  local_a0 = 0;
  local_98 = (ulong *)0x0;
  local_90 = 0;
  local_88 = (ulong *)0x0;
  local_148 = (long *)0x0;
  local_140 = (long *)0x0;
  local_138 = 0;
  if (plVar4 == (long *)0x0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00181f0b to 00181f0f has its CatchHandler @ 00181f15 */
    FUN_0017c650("../../gold/parameters.h",0x69,"target");
  }
  puVar19 = (ulong *)*param_2;
  if (puVar19 == (ulong *)param_2[1]) {
    local_1d8 = (undefined4 *)0x0;
  }
  else {
    local_1c8 = (undefined4 *)0x0;
    local_1b0 = (undefined4 *)0x0;
    local_1d8 = (undefined4 *)0x0;
    iVar13 = 0;
    do {
      plVar30 = (long *)*puVar19;
      if (plVar30[5] == 0) {
        plVar14 = plVar30;
        if ((int)plVar30[7] != 0) goto LAB_00180a17;
      }
      else {
                    /* try { // try from 00180a02 to 00180a06 has its CatchHandler @ 00181f33 */
        FUN_00179ad0(plVar30[5] + 0x28,0xffffffffffffffff);
        plVar14 = (long *)*puVar19;
        if ((int)((long *)*puVar19)[7] != 0) {
LAB_00180a17:
          uVar35 = false;
          uVar28 = 0;
          uVar38 = true;
          do {
            iVar27 = (int)uVar28;
                    /* try { // try from 00180c4d to 00180c52 has its CatchHandler @ 00181f1d */
            (**(code **)(*plVar14 + 0x80))(&local_c8,plVar14,uVar28);
            lVar21 = 5;
            pbVar16 = (byte *)".text";
            puVar32 = local_c8;
            do {
              if (lVar21 == 0) break;
              lVar21 = lVar21 + -1;
              uVar35 = *pbVar16 < (byte)*puVar32;
              uVar38 = *pbVar16 == (byte)*puVar32;
              pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;
              puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);
            } while ((bool)uVar38);
            bVar36 = false;
            bVar39 = (!(bool)uVar35 && !(bool)uVar38) == (bool)uVar35;
            if (bVar39) {
LAB_00180a28:
              puVar18 = (undefined8 *)*puVar19;
              if ((ulong)((long)(puVar18[0xb] - puVar18[10]) >> 3) <= uVar28) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00181e47 to 00181e63 has its CatchHandler @ 00181f61 */
                FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");
              }
              if (*(long *)(puVar18[10] + uVar28 * 8) == 0) goto LAB_00180c96;
              lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);
              if (lVar21 == 0) {
                    /* WARNING: Subroutine does not return */
                FUN_0017c650("../../gold/parameters.h",0x5c,"options");
              }
              if (*(char *)(lVar21 + 0x2809) != '\0') {
                uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);
                local_78 = puVar18;
                lVar21 = FUN_001820f0(*(long *)(param_3 + 0x290) + 0x50,&local_78);
                if (lVar21 == 0) goto LAB_00180c96;
                lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);
                if (lVar21 == 0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00180e61 to 001811fa has its CatchHandler @ 00181f61 */
                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");
                }
              }
              if (*(int *)(lVar21 + 0x9050) == 2) {
                pbVar16 = (byte *)strrchr((char *)local_c8,0x2e);
                bVar36 = false;
                bVar39 = pbVar16 == (byte *)0x0;
                if (bVar39) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00181ef3 to 00181ef7 has its CatchHandler @ 00181f61 */
                  FUN_0017c650("../../gold/icf.cc",0x2f6,"is_function_ctor_or_dtor");
                }
                lVar21 = 4;
                pbVar31 = &DAT_00373305;
                pbVar33 = pbVar16;
                do {
                  if (lVar21 == 0) break;
                  lVar21 = lVar21 + -1;
                  bVar36 = *pbVar31 < *pbVar33;
                  bVar39 = *pbVar31 == *pbVar33;
                  pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;
                  pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;
                } while (bVar39);
                bVar37 = false;
                bVar36 = (!bVar36 && !bVar39) == bVar36;
                if (bVar36) {
LAB_00180f58:
                  iVar10 = FUN_002d2ef0(pbVar16 + 1);
                  if ((iVar10 != 0) || (iVar10 = FUN_002d2f20(pbVar16 + 1), iVar10 != 0))
                  goto LAB_00180a97;
                }
                else {
                  lVar21 = 4;
                  pbVar31 = &DAT_0037330a;
                  pbVar33 = pbVar16;
                  do {
                    if (lVar21 == 0) break;
                    lVar21 = lVar21 + -1;
                    bVar37 = *pbVar31 < *pbVar33;
                    bVar36 = *pbVar31 == *pbVar33;
                    pbVar31 = pbVar31 + (ulong)bVar40 * -2 + 1;
                    pbVar33 = pbVar33 + (ulong)bVar40 * -2 + 1;
                  } while (bVar36);
                  if ((!bVar37 && !bVar36) == bVar37) goto LAB_00180f58;
                }
                if ((*(code **)(*plVar4 + 0x90) != FUN_00181fa0) &&
                   (cVar9 = (**(code **)(*plVar4 + 0x90))(plVar4), cVar9 != '\0')) {
                  local_78 = (undefined8 *)*puVar19;
                  uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);
                  lVar21 = FUN_001820f0(param_1 + 0xd,&local_78);
                  if (lVar21 == 0) goto LAB_00180a97;
                }
                goto LAB_00180c96;
              }
LAB_00180a97:
              local_1a8 = &local_78;
              local_78 = (undefined8 *)*puVar19;
              puVar32 = (ulong *)param_1[1];
              if (puVar32 == (ulong *)param_1[2]) {
                uStack_70._0_4_ = iVar27;
                FUN_001825a0(param_1,puVar32,local_1a8);
              }
              else {
                *puVar32 = (ulong)local_78;
                *(int *)(puVar32 + 1) = iVar27;
                param_1[1] = (long)(puVar32 + 2);
              }
              local_78 = (undefined8 *)*puVar19;
              uStack_70 = CONCAT44(uStack_70._4_4_,iVar27);
              uVar24 = (ulong)local_78 ^ uVar28;
              local_1a0 = uVar24 % (ulong)param_1[4];
              puVar18 = (undefined8 *)FUN_00182860(param_1 + 3,local_1a0,local_1a8,uVar24);
              if ((puVar18 == (undefined8 *)0x0) ||
                 (plVar14 = (long *)*puVar18, plVar14 == (long *)0x0)) {
                    /* try { // try from 00180cad to 00180cec has its CatchHandler @ 00181f61 */
                plVar14 = (long *)FUN_002d94a0(0x28);
                lVar21 = param_1[6];
                *plVar14 = 0;
                lVar29 = param_1[4];
                *(undefined4 *)(plVar14 + 3) = 0;
                plVar14[1] = (long)local_78;
                plVar14[2] = uStack_70;
                cVar9 = FUN_00319200(param_1 + 7,lVar29,lVar21,1);
                if (cVar9 == '\0') {
                  plVar15 = (long *)param_1[3];
                }
                else {
                  if (extraout_RDX == 1) {
                    plVar15 = param_1 + 9;
                    param_1[9] = 0;
                  }
                  else {
                    /* try { // try from 00180d0d to 00180d11 has its CatchHandler @ 00181f10 */
                    plVar15 = (long *)FUN_0017f5b0();
                  }
                  plVar22 = (long *)param_1[5];
                  param_1[5] = 0;
                  if (plVar22 != (long *)0x0) {
                    uVar25 = 0;
                    do {
                      while( true ) {
                        plVar6 = (long *)*plVar22;
                        uVar23 = (ulong)plVar22[4] % extraout_RDX;
                        plVar1 = plVar15 + uVar23;
                        if ((long *)*plVar1 == (long *)0x0) break;
                        *plVar22 = *(long *)*plVar1;
                        *(long **)*plVar1 = plVar22;
                        uVar23 = uVar25;
LAB_00180d64:
                        plVar22 = plVar6;
                        uVar25 = uVar23;
                        if (plVar6 == (long *)0x0) goto LAB_00180dc0;
                      }
                      *plVar22 = param_1[5];
                      param_1[5] = (long)plVar22;
                      *plVar1 = (long)(param_1 + 5);
                      if (*plVar22 == 0) goto LAB_00180d64;
                      plVar15[uVar25] = (long)plVar22;
                      plVar22 = plVar6;
                      uVar25 = uVar23;
                    } while (plVar6 != (long *)0x0);
                  }
LAB_00180dc0:
                  if ((long *)param_1[3] != param_1 + 9) {
                    FUN_002dac70();
                  }
                  param_1[3] = (long)plVar15;
                  local_1a0 = uVar24 % extraout_RDX;
                  param_1[4] = extraout_RDX;
                }
                plVar14[4] = uVar24;
                plVar22 = plVar15 + local_1a0;
                if ((long *)*plVar22 == (long *)0x0) {
                  lVar21 = param_1[5];
                  param_1[5] = (long)plVar14;
                  *plVar14 = lVar21;
                  if (lVar21 != 0) {
                    plVar15[*(ulong *)(lVar21 + 0x20) % (ulong)param_1[4]] = (long)plVar14;
                  }
                  *plVar22 = (long)(param_1 + 5);
                }
                else {
                  *plVar14 = *(long *)*plVar22;
                  *(long **)*plVar22 = plVar14;
                }
                param_1[6] = param_1[6] + 1;
              }
              piVar5 = (int *)param_1[0xb];
              *(int *)(plVar14 + 3) = iVar13;
              if (piVar5 == (int *)param_1[0xc]) {
                __src = (int *)param_1[10];
                sVar17 = (long)piVar5 - (long)__src;
                uVar24 = (long)sVar17 >> 2;
                if (uVar24 == 0) {
                  local_1d0 = 4;
LAB_00181065:
                  __dest = (void *)FUN_002d94a0(local_1d0);
                  local_1e8 = local_1d0 + (long)__dest;
                }
                else {
                  uVar25 = uVar24 * 2;
                  if (uVar25 < uVar24) {
                    local_1d0 = -4;
                    goto LAB_00181065;
                  }
                  local_1d0 = -4;
                  if (0x3fffffffffffffff < uVar25) goto LAB_00181065;
                  if (uVar25 != 0) {
                    local_1d0 = uVar24 << 3;
                    goto LAB_00181065;
                  }
                  local_1e8 = 0;
                  __dest = (void *)0x0;
                }
                *(int *)((long)__dest + sVar17) = iVar13;
                lVar21 = (long)__dest + sVar17 + 4;
                if (piVar5 == __src) {
                  if (__src != (int *)0x0) goto LAB_001810bd;
                }
                else {
                  __dest = memmove(__dest,__src,sVar17);
LAB_001810bd:
                  FUN_002dac70(__src);
                }
                param_1[10] = (long)__dest;
                param_1[0xb] = lVar21;
                param_1[0xc] = local_1e8;
                if (local_1c8 == local_1b0) goto LAB_00181108;
LAB_00180b52:
                *local_1b0 = 0;
                local_1b0 = local_1b0 + 1;
                __dest_00 = local_1d8;
              }
              else {
                *piVar5 = iVar13;
                param_1[0xb] = (long)(piVar5 + 1);
                if (local_1c8 != local_1b0) goto LAB_00180b52;
LAB_00181108:
                sVar17 = (long)local_1b0 - (long)local_1d8;
                uVar24 = (long)sVar17 >> 2;
                if (uVar24 == 0) {
                  lVar21 = 4;
LAB_0018114e:
                  __dest_00 = (undefined4 *)FUN_002d94a0(lVar21);
                  local_1c8 = (undefined4 *)((long)__dest_00 + lVar21);
                }
                else {
                  uVar25 = uVar24 * 2;
                  if (uVar25 < uVar24) {
                    lVar21 = -4;
                    goto LAB_0018114e;
                  }
                  lVar21 = -4;
                  if (0x3fffffffffffffff < uVar25) goto LAB_0018114e;
                  if (uVar25 != 0) {
                    lVar21 = uVar24 * 8;
                    goto LAB_0018114e;
                  }
                  local_1c8 = (undefined4 *)0x0;
                  __dest_00 = (undefined4 *)0x0;
                }
                *(undefined4 *)((long)__dest_00 + sVar17) = 0;
                if (local_1b0 == local_1d8) {
                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);
                  if (local_1d8 != (undefined4 *)0x0) goto LAB_001811a1;
                }
                else {
                  __dest_00 = (undefined4 *)memmove(__dest_00,local_1d8,sVar17);
                  local_1b0 = (undefined4 *)((long)__dest_00 + sVar17 + 4);
LAB_001811a1:
                  FUN_002dac70(local_1d8);
                }
              }
              local_1d8 = __dest_00;
                    /* try { // try from 00180b6b to 00180bee has its CatchHandler @ 00181f61 */
              local_78 = (undefined8 *)
                         (**(code **)(*(long *)*puVar19 + 0xb8))((long *)*puVar19,uVar28);
              if (local_160 == local_158) {
                FUN_00182710(&local_168,local_160,local_1a8);
              }
              else {
                *local_160 = local_78;
                local_160 = local_160 + 1;
              }
              iVar10 = local_90;
              puVar32 = local_98;
              if (local_98 == local_88) {
                local_180 = local_90;
                local_188 = local_98;
                FUN_00182220(&local_a8,local_98,CONCAT44(uStack_17c,local_90),0);
              }
              else {
                if (local_90 == 0x3f) {
                  local_90 = 0;
                  local_98 = local_98 + 1;
                }
                else {
                  local_90 = local_90 + 1;
                }
                bVar8 = (byte)iVar10 & 0x3f;
                *puVar32 = *puVar32 & (-2L << bVar8 | 0xfffffffffffffffeU >> 0x40 - bVar8);
              }
              local_78 = &local_68;
              FUN_001665c0(local_1a8,"");
                    /* try { // try from 00180c00 to 00180c04 has its CatchHandler @ 00181f59 */
              FUN_0016f840(&local_148,local_1a8);
              if (local_78 != &local_68) {
                FUN_002dac70();
              }
              iVar13 = iVar13 + 1;
              if (local_c8 != local_b8) goto LAB_00180c31;
            }
            else {
              lVar21 = 0xf;
              pbVar16 = (byte *)".gnu.linkonce.t";
              puVar32 = local_c8;
              do {
                if (lVar21 == 0) break;
                lVar21 = lVar21 + -1;
                bVar36 = *pbVar16 < (byte)*puVar32;
                bVar39 = *pbVar16 == (byte)*puVar32;
                pbVar16 = pbVar16 + (ulong)bVar40 * -2 + 1;
                puVar32 = (ulong *)((long)puVar32 + (ulong)bVar40 * -2 + 1);
              } while (bVar39);
              if ((!bVar36 && !bVar39) == bVar36) goto LAB_00180a28;
LAB_00180c96:
              if (local_c8 != local_b8) {
LAB_00180c31:
                FUN_002dac70(local_c8);
              }
            }
            plVar14 = (long *)*puVar19;
            uVar26 = iVar27 + 1;
            uVar28 = (ulong)uVar26;
            uVar35 = uVar26 < *(uint *)(plVar14 + 7);
            uVar38 = uVar26 == *(uint *)(plVar14 + 7);
          } while ((bool)uVar35);
        }
        if (plVar30[5] != 0) {
          FUN_0017a690(plVar30[5] + 0x28,0xffffffffffffffff);
        }
      }
      puVar19 = puVar19 + 1;
    } while ((ulong *)param_2[1] != puVar19);
  }
  if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {
                    /* WARNING: Subroutine does not return */
    FUN_0017c650("../../gold/parameters.h",0x5c,"options");
  }
  uVar26 = 0;
  uVar3 = *(uint *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2dac);
  uVar11 = 2;
  if (0 < (int)uVar3) {
    uVar11 = uVar3;
  }
  do {
    uVar26 = uVar26 + 1;
    uStack_70 = 1;
    local_78 = local_48;
    local_68 = 0;
    local_60 = 0;
    local_58 = 0x3f800000;
    local_50 = 0;
    local_48[0] = 0;
    if (uVar26 == 1) {
                    /* try { // try from 00181c11 to 00181c15 has its CatchHandler @ 00181f8d */
      FUN_00180660(param_1,&local_a8,0);
    }
    else {
                    /* try { // try from 00181355 to 00181359 has its CatchHandler @ 00181f8d */
      FUN_00180660(param_1,&local_a8,&local_148);
    }
    local_128 = (long *)0x0;
    local_120 = (long *)0x0;
    local_118 = 0;
    if (param_1[1] == *param_1) {
      FUN_00182070(&local_78);
      bVar36 = true;
      break;
    }
    uVar28 = 0;
    bVar36 = true;
    uVar3 = 0;
    do {
      local_c8 = local_b8;
                    /* try { // try from 00181402 to 00181406 has its CatchHandler @ 00181f77 */
      FUN_001665c0(&local_c8,"");
                    /* try { // try from 00181411 to 00181415 has its CatchHandler @ 00181f51 */
      FUN_0016f840(&local_128,&local_c8);
      if (local_c8 != local_b8) {
        FUN_002dac70();
      }
      local_1a0._0_1_ = (byte)uVar3;
      uVar24 = 1L << ((byte)local_1a0 & 0x3f);
      lVar21 = *param_1;
      if ((uVar24 & *(ulong *)(local_a8 + (uVar28 >> 6) * 8)) == 0) {
        puVar18 = (undefined8 *)(lVar21 + uVar28 * 0x10);
        local_178 = *puVar18;
        uStack_170 = puVar18[1];
        local_100 = 0;
        local_f8[0] = local_f8[0] & 0xffffffffffffff00;
        local_108 = local_f8;
        if (uVar26 == 1) {
          local_e8 = (ulong *)((ulong)local_e8 & 0xffffffff00000000);
          FUN_0017f6d0(&local_c8,1,&local_178,uVar3,&local_e8,param_3,param_1 + 10,&local_148);
          uVar25 = local_f8[0];
          puVar19 = local_108;
          if (local_c8 == local_b8) {
            sVar17 = local_c0;
            if (local_c0 != 0) {
              if (local_c0 == 1) {
                *(byte *)local_108 = (byte)local_b8[0];
                sVar17 = local_c0;
              }
              else {
                memcpy(local_108,local_c8,local_c0);
                sVar17 = local_c0;
              }
            }
            *(byte *)((long)local_108 + sVar17) = 0;
            local_100 = sVar17;
          }
          else {
            if (local_108 != local_f8) {
              local_108 = local_c8;
              local_100 = local_c0;
              local_f8[0] = local_b8[0];
              if (puVar19 != (ulong *)0x0) {
                local_c8 = puVar19;
                local_b8[0] = uVar25;
                goto LAB_00181993;
              }
            }
            local_f8[0] = local_b8[0];
            local_100 = local_c0;
            local_108 = local_c8;
            local_c8 = local_b8;
          }
LAB_00181993:
          local_c0 = 0;
          *(byte *)local_c8 = 0;
          if (local_c8 != local_b8) {
            FUN_002dac70();
          }
          local_1d8[uVar28] = local_e8._0_4_;
        }
        else {
          if (uVar3 != *(uint *)(param_1[10] + uVar28 * 4)) goto LAB_001813c8;
                    /* try { // try from 001814fb to 00181926 has its CatchHandler @ 00181f49 */
          FUN_0017f6d0(&local_e8,0,&local_178,uVar3,0,param_3,param_1 + 10,&local_148);
          uVar25 = local_f8[0];
          puVar19 = local_108;
          if (local_e8 == local_d8) {
            sVar17 = local_e0;
            if (local_e0 != 0) {
              if (local_e0 == 1) {
                *(byte *)local_108 = (byte)local_d8[0];
                sVar17 = local_e0;
              }
              else {
                memcpy(local_108,local_e8,local_e0);
                sVar17 = local_e0;
              }
            }
            *(byte *)((long)local_108 + sVar17) = 0;
            local_100 = sVar17;
          }
          else {
            if (local_108 != local_f8) {
              local_108 = local_e8;
              local_100 = local_e0;
              local_f8[0] = local_d8[0];
              if (puVar19 != (ulong *)0x0) {
                local_e8 = puVar19;
                local_d8[0] = uVar25;
                goto LAB_0018156c;
              }
            }
            local_f8[0] = local_d8[0];
            local_100 = local_e0;
            local_108 = local_e8;
            local_e8 = local_d8;
          }
LAB_0018156c:
          local_e0 = 0;
          *(byte *)local_e8 = 0;
          if (local_e8 != local_d8) {
            FUN_002dac70();
          }
        }
        uVar12 = FUN_002d5ef0(local_108,local_100 & 0xffffffff,0xffffffff);
        uVar25 = (ulong)uVar12 % uStack_70;
        local_18c = uVar12;
        if (((long *)local_78[uVar25] == (long *)0x0) ||
           (puVar18 = *(undefined8 **)local_78[uVar25], puVar18 == (undefined8 *)0x0)) {
LAB_00181638:
          puVar18 = (undefined8 *)FUN_002d94a0(0x10);
          *(uint *)(puVar18 + 1) = uVar12;
          *puVar18 = 0;
          *(uint *)((long)puVar18 + 0xc) = uVar3;
          FUN_00182c70(&local_78,0,(ulong)uVar12,puVar18);
        }
        else {
          uVar23 = (ulong)*(uint *)(puVar18 + 1);
          lVar21 = 0;
          do {
            if (uVar12 == (uint)uVar23) {
              puVar18 = (undefined8 *)*puVar18;
              lVar21 = lVar21 + 1;
              lVar29 = lVar21;
            }
            else {
              if (lVar21 != 0) goto LAB_00181742;
              puVar18 = (undefined8 *)*puVar18;
              lVar29 = 0;
            }
          } while ((puVar18 != (undefined8 *)0x0) &&
                  (uVar23 = (ulong)*(uint *)(puVar18 + 1), lVar29 = lVar21,
                  uVar25 == uVar23 % uStack_70));
          if (lVar29 == 0) goto LAB_00181638;
LAB_00181742:
          auVar41 = FUN_00182170(&local_78,&local_18c);
          uVar25 = local_100;
          puVar19 = local_108;
          plVar4 = local_128;
          uVar12 = local_18c;
          for (puVar18 = auVar41._0_8_; local_18c = uVar12, puVar18 != auVar41._8_8_;
              puVar18 = (undefined8 *)*puVar18) {
            uVar12 = *(uint *)((long)puVar18 + 0xc);
            uVar23 = (ulong)uVar12;
            plVar30 = plVar4 + uVar23 * 4;
            if ((plVar30[1] == uVar25) &&
               (iVar13 = memcmp((void *)*plVar30,puVar19,uVar25), iVar13 == 0)) {
              if (*(ulong *)(local_168 + uVar23 * 8) < *(ulong *)(local_168 + uVar28 * 8)) {
                *(uint *)(param_1[10] + uVar23 * 4) = uVar3;
                *(uint *)((long)puVar18 + 0xc) = uVar3;
                FUN_002e3180(plVar30,plVar4 + uVar28 * 4);
                bVar36 = false;
              }
              else {
                *(uint *)(param_1[10] + uVar28 * 4) = uVar12;
                bVar36 = false;
              }
              goto joined_r0x00181835;
            }
            uVar12 = local_18c;
          }
          puVar18 = (undefined8 *)FUN_002d94a0(0x10);
          *(uint *)(puVar18 + 1) = uVar12;
          *puVar18 = 0;
          *(uint *)((long)puVar18 + 0xc) = uVar3;
          FUN_00182c70(&local_78,0,uVar12,puVar18);
        }
        FUN_002e1890(local_128 + uVar28 * 4,&local_108);
joined_r0x00181835:
        if ((uVar26 == 1) && (local_1d8[uVar28] == 0)) {
          puVar19 = (ulong *)((uVar28 >> 6) * 8 + local_a8);
          *puVar19 = *puVar19 | uVar24;
        }
        if (local_108 != local_f8) {
          FUN_002dac70();
        }
        lVar21 = *param_1;
      }
LAB_001813c8:
      plVar4 = local_120;
      uVar3 = uVar3 + 1;
      uVar28 = (ulong)uVar3;
      uVar24 = param_1[1] - lVar21 >> 4;
    } while (uVar28 < uVar24);
    plVar30 = local_128;
    if (uVar24 != 0) {
      lVar21 = param_1[10];
      uVar25 = 0;
      uVar28 = uVar25;
      do {
        do {
          uVar12 = (uint)uVar25;
          uVar3 = *(uint *)(lVar21 + uVar25 * 4);
          uVar25 = (ulong)uVar3;
        } while (uVar12 != uVar3);
        puVar2 = (uint *)(lVar21 + uVar28 * 4);
        uVar12 = *puVar2;
        while (uVar12 != uVar3) {
          *puVar2 = uVar3;
          puVar2 = (uint *)(lVar21 + (ulong)uVar12 * 4);
          uVar12 = *puVar2;
        }
        uVar25 = (ulong)((int)uVar28 + 1);
        uVar28 = uVar25;
      } while (uVar25 < uVar24);
    }
    for (; plVar30 != plVar4; plVar30 = plVar30 + 4) {
      if ((long *)*plVar30 != plVar30 + 2) {
        FUN_002dac70();
      }
    }
    if (local_128 != (long *)0x0) {
      FUN_002dac70(local_128);
    }
    FUN_00182070(&local_78);
  } while (uVar26 < uVar11 && !bVar36);
  uVar7 = DAT_0043e8e8;
  lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);
  if (lVar21 == 0) {
                    /* WARNING: Subroutine does not return */
    FUN_0017c650("../../gold/parameters.h",0x5c,"options");
  }
  if (*(char *)(lVar21 + 0x4be1) != '\0') {
    pcVar34 = "%s: ICF Converged after %u iteration(s)";
    if (!bVar36) {
      pcVar34 = "%s: ICF stopped after %u iteration(s)";
    }
    uVar20 = gettext(pcVar34);
                    /* try { // try from 00181db6 to 00181de6 has its CatchHandler @ 00181f33 */
    FUN_00178480(uVar20,uVar7,uVar26);
    lVar21 = *(long *)(PTR_DAT_0043e6b0 + 0x10);
    if (lVar21 == 0) {
                    /* WARNING: Subroutine does not return */
      FUN_0017c650("../../gold/parameters.h",0x5c,"options");
    }
  }
  puVar18 = *(undefined8 **)(lVar21 + 0x34a0);
  plVar4 = local_140;
  do {
    local_140 = plVar4;
    if (puVar18 == (undefined8 *)0x0) {
      *(undefined1 *)(param_1 + 0x14) = 1;
      for (plVar30 = local_148; plVar4 != plVar30; plVar30 = plVar30 + 4) {
        if ((long *)*plVar30 != plVar30 + 2) {
          FUN_002dac70();
        }
      }
      if (local_148 != (long *)0x0) {
        FUN_002dac70(local_148);
      }
      if (local_a8 != 0) {
        FUN_002dac70(local_a8);
      }
      if (local_168 != 0) {
        FUN_002dac70();
      }
      if (local_1d8 != (undefined4 *)0x0) {
        FUN_002dac70(local_1d8);
      }
      return;
    }
    uVar7 = puVar18[1];
                    /* try { // try from 00181b61 to 00181b7f has its CatchHandler @ 00181f33 */
    lVar21 = FUN_002732b0(param_3,uVar7,0);
    if (lVar21 == 0) {
      uVar20 = gettext("Could not find symbol %s to unfold\n");
      FUN_001783d0(uVar20,uVar7);
    }
    else if ((((*(byte *)(lVar21 + 0x3a) & 7) == 0) &&
             ((*(byte *)(*(long *)(lVar21 + 0x10) + 0x3c) & 1) == 0)) &&
            ((*(byte *)(lVar21 + 0x3b) & 0x20) != 0)) {
      FUN_0017f5f0(param_1,*(long *)(lVar21 + 0x10),*(undefined4 *)(lVar21 + 0x18));
    }
    puVar18 = (undefined8 *)*puVar18;
    plVar4 = local_140;
  } while (*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0);
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00181eab to 00181edf has its CatchHandler @ 00181f33 */
  FUN_0017c650("../../gold/parameters.h",0x5c,"options");
}

