
/* WARNING: Removing unreachable block (ram,0x00192c13) */
/* WARNING: Removing unreachable block (ram,0x00192c1d) */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Struct "Scan": ignoring overlapping field "issued_non_pic_error_" */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* DWARF original name: gc_process_relocs<32, false, (anonymous namespace)::Target_powerpc<32,
   false>, (anonymous namespace)::Target_powerpc<32, false>::Scan, gold::Default_classify_reloc<4,
   32, false> > */

void gold::
     gc_process_relocs<32,_false,_(anonymous_namespace)::Target_powerpc<32,_false>,_(anonymous_namespace)::Target_powerpc<32,_false>::Scan,_gold::Default_classify_reloc<4,_32,_false>_>
               (Symbol_table *symtab,Layout *param_2,Target_powerpc<32,_false> *target,
               Sized_relobj_file<32,_false> *src_obj,uint src_indx,uchar *prelocs,size_t reloc_count
               ,Output_section *param_8,bool param_9,size_t param_10,uchar *plocal_syms)

{
  _Rb_tree_header *p_Var1;
  _Base_ptr *pp_Var2;
  ushort uVar3;
  uint uVar4;
  uint uVar5;
  iterator iVar6;
  Garbage_collection *pGVar7;
  _Base_ptr p_Var8;
  Target *pTVar9;
  _Base_ptr p_Var10;
  _func_int_varargs **pp_Var11;
  iterator __position;
  code *pcVar12;
  uint uVar13;
  char cVar14;
  ulong to;
  const_iterator cVar15;
  size_t sVar16;
  iterator iVar17;
  _Base_ptr p_Var18;
  Output_data_brlt_powerpc<32,_false> *this;
  uint shndx;
  long lVar19;
  byte bVar20;
  pointer pcVar21;
  byte bVar22;
  uint uVar23;
  byte *pbVar24;
  _func_int_varargs **pp_Var25;
  _Alloc_hider _Var26;
  Relobj *pRVar27;
  undefined4 in_register_00000084;
  ulong uVar28;
  uint uVar29;
  Output_segment *pOVar30;
  undefined1 uVar31;
  bool bVar32;
  bool bVar33;
  bool bVar34;
  undefined1 uVar35;
  bool bVar36;
  byte bVar37;
  Reloc_addend_size_info *local_188;
  Addend_info *local_180;
  mapped_type *local_178;
  Symbol_info *local_170;
  Offset_info *local_168;
  _func_int_varargs **local_158;
  uint local_150;
  char local_136;
  uint local_134;
  uint *local_128;
  uchar *local_120;
  tuple<> local_10a;
  tuple<> local_109;
  __node_gen_type __node_gen_2;
  __node_gen_type __node_gen_3;
  __node_gen_type __node_gen;
  __node_gen_type __node_gen_1;
  _Head_base<0,_const_std::pair<gold::Relobj*,_unsigned_int>&,_false> local_e8;
  _Head_base<0,_const_std::pair<gold::Relobj*,_unsigned_int>&,_false> local_e0;
  Output_segment *local_d8;
  uint local_d0;
  Target_powerpc<32,_false> *local_c8;
  uint local_c0;
  Section_id src_id_2;
  Section_id dst_id;
  Scan scan;
  string src_section_name;
  Section_id src_id;
  
  local_128 = (uint *)CONCAT44(in_register_00000084,src_indx);
  bVar37 = 0;
  shndx = (uint)src_obj;
  if (parameters->options_ == (General_options *)0x0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00192fa2 to 00192fa6 has its CatchHandler @ 00192fdf */
    do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
  }
  if (parameters->options_->icf_status_ == ICF_NONE) {
    src_section_name._M_dataplus._M_p = (pointer)&src_section_name.field_2;
                    /* try { // try from 00192ecc to 00192eeb has its CatchHandler @ 00192fdf */
    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
    _M_construct<char_const*>(&src_section_name,"");
  }
  else if (*(code **)(*(long *)target + 0x80) == Sized_relobj_file<32,_false>::do_section_name) {
                    /* try { // try from 001922c4 to 001922c8 has its CatchHandler @ 00192fdf */
    elfcpp::Elf_file<32,_false,_gold::Object>::section_name
              (&src_section_name,(Elf_file<32,_false,_gold::Object> *)&target->tocsave_loc_,shndx);
  }
  else {
    (**(code **)(*(long *)target + 0x80))(&src_section_name,target,(ulong)src_obj & 0xffffffff);
  }
  _Var26._M_p = src_section_name._M_dataplus._M_p;
  if (parameters->options_ == (General_options *)0x0) {
                    /* WARNING: Subroutine does not return */
    do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
  }
  if (parameters->options_->icf_status_ == ICF_NONE) {
LAB_001922eb:
    bVar34 = false;
    local_188 = (Reloc_addend_size_info *)0x0;
    local_168 = (Offset_info *)0x0;
    local_180 = (Addend_info *)0x0;
    local_170 = (Symbol_info *)0x0;
    local_178 = (mapped_type *)0x0;
  }
  else {
    pcVar21 = (pointer)0xffffffffffffffff;
    src_id.first = (Relobj *)&stack0xffffffffffffffb8;
    uVar31 = 0;
    uVar35 = src_section_name._M_dataplus._M_p == (pointer)0x0;
    if (!(bool)uVar35) {
      sVar16 = strlen(src_section_name._M_dataplus._M_p);
      pcVar21 = _Var26._M_p + sVar16;
    }
    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
    _M_construct<char_const*>
              ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&src_id,
               _Var26._M_p,pcVar21);
    lVar19 = 5;
    pbVar24 = (byte *)".text";
    pRVar27 = src_id.first;
    do {
      if (lVar19 == 0) break;
      lVar19 = lVar19 + -1;
      bVar22 = *(byte *)&(pRVar27->super_Object)._vptr_Object;
      uVar31 = *pbVar24 < bVar22;
      uVar35 = *pbVar24 == bVar22;
      pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;
      pRVar27 = (Relobj *)((long)pRVar27 + (ulong)bVar37 * -2 + 1);
    } while ((bool)uVar35);
    bVar34 = false;
    bVar32 = (!(bool)uVar31 && !(bool)uVar35) == (bool)uVar31;
    if (!bVar32) {
      lVar19 = 0xf;
      pbVar24 = (byte *)".gnu.linkonce.t";
      pRVar27 = src_id.first;
      do {
        if (lVar19 == 0) break;
        lVar19 = lVar19 + -1;
        bVar22 = *(byte *)&(pRVar27->super_Object)._vptr_Object;
        bVar34 = *pbVar24 < bVar22;
        bVar32 = *pbVar24 == bVar22;
        pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;
        pRVar27 = (Relobj *)((long)pRVar27 + (ulong)bVar37 * -2 + 1);
      } while (bVar32);
      if ((!bVar34 && !bVar32) != bVar34) {
        if (src_id.first != (Relobj *)&stack0xffffffffffffffb8) {
          operator_delete(src_id.first);
        }
        goto LAB_001922eb;
      }
    }
    if (src_id.first != (Relobj *)&stack0xffffffffffffffb8) {
      operator_delete(src_id.first);
    }
    src_id.second = shndx;
    src_id.first = (Relobj *)target;
    local_178 = std::__detail::
                _Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>_>,_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>,_true>
                ::operator[]((_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>_>,_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>,_true>
                              *)&symtab->icf_->reloc_info_list_,(key_type *)&src_id);
    local_170 = &local_178->symbol_info;
    local_180 = &local_178->addend_info;
    local_168 = &local_178->offset_info;
    local_188 = &local_178->reloc_addend_size_info;
    bVar34 = true;
  }
  if (parameters->options_ == (General_options *)0x0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00192fba to 00192fd6 has its CatchHandler @ 00192fd7 */
    do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
  }
  if ((parameters->options_->icf_status_ == ICF_SAFE) &&
     (cVar14 = (**(code **)(*(long *)param_2 + 0x90))(param_2), cVar14 != '\0')) {
    pcVar12 = *(code **)(*(long *)param_2 + 0x10);
    if (pcVar12 != Target::section_may_have_icf_unsafe_pointers) {
                    /* try { // try from 00192f0b to 00192f8e has its CatchHandler @ 00192fd7 */
      local_136 = (*pcVar12)(param_2,src_section_name._M_dataplus._M_p);
      goto LAB_0019234a;
    }
    pcVar12 = *(code **)(*(long *)param_2 + 0x98);
    bVar32 = pcVar12 < Target::do_section_may_have_icf_unsafe_pointers;
    bVar36 = pcVar12 == Target::do_section_may_have_icf_unsafe_pointers;
    if (!bVar36) {
      local_136 = (*pcVar12)(param_2,src_section_name._M_dataplus._M_p);
      goto LAB_0019234a;
    }
    lVar19 = 0xc;
    pbVar24 = (byte *)".rodata._ZTV";
    _Var26 = src_section_name._M_dataplus;
    do {
      if (lVar19 == 0) break;
      lVar19 = lVar19 + -1;
      bVar32 = *pbVar24 < (byte)*_Var26._M_p;
      bVar36 = *pbVar24 == *_Var26._M_p;
      pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;
      _Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1);
    } while (bVar36);
    bVar33 = false;
    bVar32 = (!bVar32 && !bVar36) == bVar32;
    if (!bVar32) {
      lVar19 = 0x11;
      pbVar24 = (byte *)".data.rel.ro._ZTV";
      _Var26 = src_section_name._M_dataplus;
      do {
        if (lVar19 == 0) break;
        lVar19 = lVar19 + -1;
        bVar33 = *pbVar24 < (byte)*_Var26._M_p;
        bVar32 = *pbVar24 == *_Var26._M_p;
        pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;
        _Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1);
      } while (bVar32);
      bVar36 = false;
      bVar32 = (!bVar33 && !bVar32) == bVar33;
      if (!bVar32) {
        lVar19 = 0xc;
        pbVar24 = (byte *)".rodata._ZTC";
        _Var26 = src_section_name._M_dataplus;
        do {
          if (lVar19 == 0) break;
          lVar19 = lVar19 + -1;
          bVar36 = *pbVar24 < (byte)*_Var26._M_p;
          bVar32 = *pbVar24 == *_Var26._M_p;
          pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;
          _Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1);
        } while (bVar32);
        bVar33 = false;
        bVar32 = (!bVar36 && !bVar32) == bVar36;
        if (!bVar32) {
          lVar19 = 0x11;
          pbVar24 = (byte *)".data.rel.ro._ZTC";
          _Var26 = src_section_name._M_dataplus;
          do {
            if (lVar19 == 0) break;
            lVar19 = lVar19 + -1;
            bVar33 = *pbVar24 < (byte)*_Var26._M_p;
            bVar32 = *pbVar24 == *_Var26._M_p;
            pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;
            _Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1);
          } while (bVar32);
          bVar36 = false;
          bVar32 = (!bVar33 && !bVar32) == bVar33;
          if (!bVar32) {
            lVar19 = 9;
            pbVar24 = (byte *)".eh_frame";
            _Var26 = src_section_name._M_dataplus;
            do {
              if (lVar19 == 0) break;
              lVar19 = lVar19 + -1;
              bVar36 = *pbVar24 < (byte)*_Var26._M_p;
              bVar32 = *pbVar24 == *_Var26._M_p;
              pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;
              _Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1);
            } while (bVar32);
            local_136 = (!bVar36 && !bVar32) != bVar36;
            goto LAB_0019234a;
          }
        }
      }
    }
  }
  local_136 = '\0';
LAB_0019234a:
  if (prelocs != (uchar *)0x0) {
    local_158 = (_func_int_varargs **)0x0;
    local_120 = (uchar *)0x0;
    do {
      uVar4 = local_128[1];
      uVar5 = local_128[2];
      uVar29 = uVar4 >> 8;
      uVar13 = uVar4 & 0xff;
      if (uVar29 < reloc_count) {
        if (param_8 == (Output_section *)0x0) {
                    /* WARNING: Subroutine does not return */
          do_gold_unreachable("../../gold/gc.h",0xea,"gc_process_relocs");
        }
        uVar23 = uVar29 << 4;
        uVar3 = *(ushort *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 6);
        uVar28 = (ulong)uVar3;
        if (uVar3 < 0xff00) {
LAB_001924f6:
          local_134 = *(uint *)((long)&(param_8->super_Output_data)._vptr_Output_data +
                               (ulong)uVar23 + 4);
          pRVar27 = (Relobj *)(ulong)local_134;
          local_134 = uVar5 + local_134;
          if (bVar34) {
            src_id.second = (uint)uVar28;
            src_id.first = (Relobj *)target;
            std::
            vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>
            ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>
                      (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);
            bVar32 = true;
            if ((*(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4) & 0xf)
                != 3) goto LAB_001923f0;
LAB_0019253e:
            src_id.first = (Relobj *)0xffffffffffffffff;
            std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::emplace_back<gold::Symbol*>
                      (local_170,(Symbol **)&src_id);
            goto LAB_0019240b;
          }
        }
        else {
          if (uVar3 == 0xffff) {
            this = target->brlt_section_;
            if (this == (Output_data_brlt_powerpc<32,_false> *)0x0) {
              this = (Output_data_brlt_powerpc<32,_false> *)
                     (**(code **)(*(long *)target + 0xd8))(target);
              target->brlt_section_ = this;
            }
            uVar29 = Xindex::sym_xindex_to_shndx((Xindex *)this,(Object *)target,uVar29);
            uVar28 = (ulong)uVar29;
            goto LAB_001924f6;
          }
          local_134 = *(uint *)((long)&(param_8->super_Output_data)._vptr_Output_data +
                               (ulong)uVar23 + 4);
          pRVar27 = (Relobj *)(ulong)local_134;
          local_134 = uVar5 + local_134;
          if (!bVar34) goto LAB_00192480;
          src_id.first = (Relobj *)0x0;
          src_id._8_8_ = src_id._8_8_ & 0xffffffff00000000;
                    /* try { // try from 001923d5 to 00192be2 has its CatchHandler @ 00192fd7 */
          std::
          vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>
          ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>
                    (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);
          bVar32 = false;
          if ((*(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4) & 0xf) ==
              3) goto LAB_0019253e;
LAB_001923f0:
          src_id.first = (Relobj *)0x0;
          std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::emplace_back<gold::Symbol*>
                    (local_170,(Symbol **)&src_id);
LAB_0019240b:
          src_id.first = pRVar27;
          src_id._8_8_ = (long)(int)uVar5;
          std::
          vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>
          ::emplace_back<std::pair<long_long_int,_long_long_int>_>
                    (local_180,(pair<long_long_int,_long_long_int> *)&src_id);
          src_id.first = (Relobj *)(ulong)*local_128;
          iVar6._M_current =
               (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>
               )._M_impl._M_finish;
          if (iVar6._M_current ==
              (local_168->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_const&>(local_168,iVar6,(ulong *)&src_id);
          }
          else {
            *iVar6._M_current = (ulong)src_id.first;
            (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>).
            _M_impl._M_finish = iVar6._M_current + 1;
          }
          dst_id.first = (Relobj *)((ulong)dst_id.first & 0xffffffff00000000);
          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::emplace_back<unsigned_int>
                    (local_188,(uint *)&dst_id);
          if (!bVar32) goto LAB_00192480;
        }
        if (((local_136 != '\0') &&
            ((*(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4) & 0xf) !=
             1)) && ((0x17 < uVar13 || ((0x843f84UL >> ((ulong)uVar4 & 0x3f) & 1) == 0)))) {
          local_c0 = (uint)*(ushort *)
                            ((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 6);
          __node_gen_2._M_h = (__hashtable_alloc *)&symtab->icf_->fptr_section_id_;
          local_c8 = target;
          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>_>
          ::
          _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>
                    ((_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>_>
                      *)__node_gen_2._M_h,&local_c8,&__node_gen_2,1);
        }
        pOVar30 = (Output_segment *)target;
        if (shndx != (uint)uVar28) {
LAB_001925a8:
          if (parameters->options_ == (General_options *)0x0) {
                    /* WARNING: Subroutine does not return */
            do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
          }
          if ((parameters->options_->gc_sections_).value != false) {
            pGVar7 = symtab->gc_;
            dst_id.second = (uint)uVar28;
            p_Var8 = (pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.
                     _M_parent;
            p_Var1 = &(pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header;
            p_Var18 = &p_Var1->_M_header;
            cVar15._M_node = &p_Var1->_M_header;
            src_id_2.first = (Relobj *)target;
            src_id_2.second = shndx;
            dst_id.first = (Relobj *)pOVar30;
            if (p_Var8 == (_Base_ptr)0x0) {
LAB_00192660:
              local_e8._M_head_impl = &src_id_2;
              cVar15._M_node =
                   (_Base_ptr)
                   std::
                   _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>
                   ::
                   _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::pair<gold::Relobj*,_unsigned_int>&>,_std::tuple<>_>
                             (&(pGVar7->section_reloc_map_)._M_t,cVar15,
                              (piecewise_construct_t *)&std::piecewise_construct,
                              (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)&local_e8,
                              &local_10a);
            }
            else {
              do {
                while ((cVar15._M_node = p_Var8,
                       target <= *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&
                       ((target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) ||
                        (shndx <= *(uint *)&cVar15._M_node[1]._M_parent))))) {
                  p_Var18 = cVar15._M_node;
                  p_Var8 = (cVar15._M_node)->_M_left;
                  if ((cVar15._M_node)->_M_left == (_Base_ptr)0x0) goto LAB_0019263a;
                }
                pp_Var2 = &(cVar15._M_node)->_M_right;
                cVar15._M_node = p_Var18;
                p_Var8 = *pp_Var2;
              } while (*pp_Var2 != (_Base_ptr)0x0);
LAB_0019263a:
              if ((((_Rb_tree_header *)cVar15._M_node == p_Var1) ||
                  (target < *(Target_powerpc<32,_false> **)(cVar15._M_node + 1))) ||
                 ((target == *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&
                  (shndx < *(uint *)&cVar15._M_node[1]._M_parent)))) goto LAB_00192660;
            }
            __node_gen_1._M_h = (__hashtable_alloc *)&cVar15._M_node[1]._M_left;
            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>_>
            ::
            _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>
                      ((_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>_>
                        *)__node_gen_1._M_h,&dst_id,&__node_gen_1,1);
            pTVar9 = parameters->target_;
            if (pTVar9 == (Target *)0x0) {
                    /* WARNING: Subroutine does not return */
              do_gold_unreachable("../../gold/parameters.h",0x73,"sized_target");
            }
            (*pTVar9->_vptr_Target[0x41])
                      (pTVar9,symtab,target,(ulong)src_obj & 0xffffffff,pOVar30,uVar28,
                       (ulong)local_134);
            if (local_158 != (_func_int_varargs **)0x0) {
              pGVar7 = symtab->gc_;
              src_id.first = (Relobj *)&stack0xffffffffffffffb8;
              sVar16 = strlen((char *)local_158);
              std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
              _M_construct<char_const*>
                        ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)
                         &src_id,local_158,(byte *)((long)local_158 + sVar16));
              iVar17 = std::
                       _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>
                       ::find(&(pGVar7->cident_sections_)._M_t,
                              (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)
                              &src_id);
              if (src_id.first != (Relobj *)&stack0xffffffffffffffb8) {
                operator_delete(src_id.first);
              }
              pGVar7 = symtab->gc_;
              if ((_Rb_tree_header *)iVar17._M_node !=
                  &(pGVar7->cident_sections_)._M_t._M_impl.super__Rb_tree_header) {
                p_Var8 = (pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.
                         _M_parent;
                p_Var1 = &(pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header;
                src_id.second = shndx;
                p_Var18 = &p_Var1->_M_header;
                cVar15._M_node = &p_Var1->_M_header;
                if (p_Var8 == (_Base_ptr)0x0) {
LAB_00192b80:
                  local_e0._M_head_impl = (pair<gold::Relobj*,_unsigned_int> *)&src_id;
                  src_id.first = (Relobj *)target;
                  cVar15._M_node =
                       (_Base_ptr)
                       std::
                       _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>
                       ::
                       _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::pair<gold::Relobj*,_unsigned_int>&>,_std::tuple<>_>
                                 (&(pGVar7->section_reloc_map_)._M_t,cVar15,
                                  (piecewise_construct_t *)&std::piecewise_construct,
                                  (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)&local_e0,
                                  &local_109);
                }
                else {
                  do {
                    while ((cVar15._M_node = p_Var8,
                           target <= *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&
                           ((target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) ||
                            (shndx <= *(uint *)&cVar15._M_node[1]._M_parent))))) {
                      p_Var18 = cVar15._M_node;
                      p_Var8 = (cVar15._M_node)->_M_left;
                      if ((cVar15._M_node)->_M_left == (_Base_ptr)0x0) goto LAB_001927c2;
                    }
                    pp_Var2 = &(cVar15._M_node)->_M_right;
                    cVar15._M_node = p_Var18;
                    p_Var8 = *pp_Var2;
                  } while (*pp_Var2 != (_Base_ptr)0x0);
LAB_001927c2:
                  if ((((_Rb_tree_header *)cVar15._M_node == p_Var1) ||
                      (target < *(Target_powerpc<32,_false> **)(cVar15._M_node + 1))) ||
                     ((src_id.first = (Relobj *)target,
                      target == *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&
                      (shndx < *(uint *)&cVar15._M_node[1]._M_parent)))) goto LAB_00192b80;
                }
                for (p_Var10 = iVar17._M_node[2]._M_left; p_Var10 != (_Base_ptr)0x0;
                    p_Var10 = *(_Base_ptr *)p_Var10) {
                  __node_gen._M_h = (__hashtable_alloc *)&cVar15._M_node[1]._M_left;
                  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>_>
                  ::
                  _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>
                            ((_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>_>
                              *)&cVar15._M_node[1]._M_left,&p_Var10->_M_parent,&__node_gen,1);
                }
              }
            }
          }
        }
      }
      else {
        uVar23 = (uint)(target->tocsave_loc_)._M_h._M_rehash_policy._M_next_resize;
        if (uVar29 < uVar23) {
          dst_id.first = (Relobj *)0x0;
LAB_00192adb:
                    /* WARNING: Subroutine does not return */
          do_gold_unreachable("../../gold/gc.h",0x11c,"gc_process_relocs");
        }
        uVar28 = (ulong)(uVar29 - uVar23);
        if ((ulong)(*(long *)&target->relax_fail_count_ - *(long *)&target->plt_thread_safe_ >> 3)
            <= uVar28) {
                    /* WARNING: Subroutine does not return */
          do_gold_unreachable("../../gold/object.h",0x8ad,"global_symbol");
        }
        dst_id.first = *(Relobj **)(*(long *)&target->plt_thread_safe_ + uVar28 * 8);
        if (dst_id.first == (Relobj *)0x0) goto LAB_00192adb;
        if ((((dst_id.first)->super_Object).shnum_ & 0x100000) != 0) {
          dst_id.first = (Relobj *)Symbol_table::resolve_forwards(symtab,(Symbol *)dst_id.first);
        }
        if ((((dst_id.first)->super_Object).shnum_ & 0x70000) == 0) {
          local_150 = *(uint *)&((dst_id.first)->super_Object).xindex_;
          pOVar30 = ((anon_union_8_3_b0f6f408_for_u1_ *)
                    &((dst_id.first)->super_Object).name_._M_string_length)->output_segment;
          local_134 = uVar5 + local_150;
          if (((ulong)pOVar30->output_lists_[2].
                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.
                      _M_impl._M_finish & 0x100000000) == 0) {
            uVar29 = *(uint *)&((dst_id.first)->super_Object).name_.field_2;
            uVar28 = (ulong)uVar29;
            bVar20 = (byte)((dst_id.first)->super_Object).shnum_ & 0xf;
            bVar22 = *(byte *)((long)&((dst_id.first)->super_Object).shnum_ + 3) >> 5 & 1;
            uVar31 = bVar20 < 2;
            uVar35 = bVar20 == 2;
            if ((bool)uVar35) {
              uVar31 = 0;
              uVar35 = local_136 == '\0';
              if (!(bool)uVar35) {
                uVar31 = false;
                uVar35 = bVar22 == 0;
                if (!(bool)uVar35) {
                  uVar31 = uVar13 < 0x17;
                  uVar35 = uVar13 == 0x17;
                  if ((uVar13 < 0x18) &&
                     (uVar31 = (0x843f84UL >> ((ulong)uVar4 & 0x3f) & 1) != 0, (bool)uVar31))
                  goto LAB_00192930;
                }
                __node_gen_3._M_h = (__hashtable_alloc *)&symtab->icf_->fptr_section_id_;
                local_d8 = pOVar30;
                local_d0 = uVar29;
                    /* try { // try from 00192ca4 to 00192e68 has its CatchHandler @ 00192fd7 */
                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>_>
                ::
                _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>
                          ((_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>_>
                            *)__node_gen_3._M_h,&local_d8,&__node_gen_3,1);
              }
            }
          }
          else {
            bVar22 = 0;
            uVar28 = 0;
            uVar31 = 0;
            pOVar30 = (Output_segment *)0x0;
            uVar35 = 1;
          }
        }
        else {
          local_150 = *(uint *)&((dst_id.first)->super_Object).xindex_;
          bVar22 = 0;
          uVar28 = 0;
          uVar31 = 0;
          pOVar30 = (Output_segment *)0x0;
          uVar35 = 1;
          local_134 = uVar5 + local_150;
        }
LAB_00192930:
        pp_Var11 = ((dst_id.first)->super_Object)._vptr_Object;
        lVar19 = 8;
        pbVar24 = (byte *)"__start_";
        pp_Var25 = pp_Var11;
        do {
          if (lVar19 == 0) break;
          lVar19 = lVar19 + -1;
          uVar31 = *pbVar24 < *(byte *)pp_Var25;
          uVar35 = *pbVar24 == *(byte *)pp_Var25;
          pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;
          pp_Var25 = (_func_int_varargs **)((long)pp_Var25 + (ulong)bVar37 * -2 + 1);
        } while ((bool)uVar35);
        bVar32 = false;
        bVar36 = (!(bool)uVar31 && !(bool)uVar35) == (bool)uVar31;
        if (bVar36) {
          pp_Var11 = pp_Var11 + 1;
        }
        else {
          lVar19 = 7;
          pbVar24 = (byte *)"__stop_";
          pp_Var25 = pp_Var11;
          do {
            if (lVar19 == 0) break;
            lVar19 = lVar19 + -1;
            bVar32 = *pbVar24 < *(byte *)pp_Var25;
            bVar36 = *pbVar24 == *(byte *)pp_Var25;
            pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;
            pp_Var25 = (_func_int_varargs **)((long)pp_Var25 + (ulong)bVar37 * -2 + 1);
          } while (bVar36);
          pp_Var11 = (_func_int_varargs **)((long)pp_Var11 + 7);
          if ((!bVar32 && !bVar36) != bVar32) {
            pp_Var11 = local_158;
          }
        }
        local_158 = pp_Var11;
        if (bVar34) {
          if (bVar22 == 0) {
            src_id.first = (Relobj *)0x0;
            src_id._8_8_ = (ulong)(uint)src_id._12_4_ << 0x20;
            std::
            vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>
            ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>
                      (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);
          }
          else {
            src_id.second = (uint)uVar28;
            src_id.first = (Relobj *)pOVar30;
            std::
            vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>
            ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>
                      (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);
          }
          __position._M_current =
               (local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).
               _M_impl._M_finish;
          if (__position._M_current ==
              (local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl
              ._M_end_of_storage) {
            std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::
            _M_realloc_insert<gold::Symbol*_const&>(local_170,__position,(Symbol **)&dst_id);
          }
          else {
            *__position._M_current = (Symbol *)dst_id.first;
            (local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.
            _M_finish = __position._M_current + 1;
          }
          src_id.first = (Relobj *)(ulong)local_150;
          src_id._8_8_ = (long)(int)uVar5;
          std::
          vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>
          ::emplace_back<std::pair<long_long_int,_long_long_int>_>
                    (local_180,(pair<long_long_int,_long_long_int> *)&src_id);
          src_id.first = (Relobj *)(ulong)*local_128;
          iVar6._M_current =
               (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>
               )._M_impl._M_finish;
          if (iVar6._M_current ==
              (local_168->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_const&>(local_168,iVar6,(ulong *)&src_id);
          }
          else {
            *iVar6._M_current = (ulong)src_id.first;
            (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>).
            _M_impl._M_finish = iVar6._M_current + 1;
          }
          src_id_2.first = (Relobj *)((ulong)src_id_2.first & 0xffffffff00000000);
          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::emplace_back<unsigned_int>
                    (local_188,(uint *)&src_id_2);
        }
        if (bVar22 != 0) goto LAB_001925a8;
      }
LAB_00192480:
      local_120 = local_120 + 1;
      local_128 = local_128 + 3;
    } while (prelocs != local_120);
  }
  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
       *)src_section_name._M_dataplus._M_p != &src_section_name.field_2) {
    operator_delete(src_section_name._M_dataplus._M_p);
  }
  return;
}



void FUN_00192210(long param_1,long *param_2,byte *param_3,uint param_4,uint *param_5,long param_6,
                 ulong param_7,long param_8)

{
  long *plVar1;
  ushort uVar2;
  uint uVar3;
  uint uVar4;
  undefined8 *puVar5;
  code *pcVar6;
  uint uVar7;
  long lVar8;
  char cVar9;
  uint uVar10;
  long lVar11;
  long lVar12;
  size_t sVar13;
  long lVar14;
  long lVar15;
  undefined8 uVar16;
  byte *pbVar17;
  byte bVar18;
  long lVar19;
  byte *pbVar20;
  byte *pbVar21;
  uint uVar22;
  ulong uVar23;
  byte *pbVar24;
  undefined1 uVar25;
  bool bVar26;
  bool bVar27;
  bool bVar28;
  undefined1 uVar29;
  bool bVar30;
  byte bVar31;
  long local_188;
  long local_180;
  long local_178;
  long local_170;
  long local_168;
  byte *local_158;
  uint local_150;
  char local_136;
  int local_134;
  uint *local_128;
  long local_120;
  undefined1 local_10a;
  undefined1 local_109;
  long local_108;
  long local_100;
  long local_f8;
  long local_f0;
  byte **local_e8;
  byte **local_e0;
  byte *local_d8;
  uint local_d0;
  byte *local_c8;
  uint local_c0;
  byte *local_b8;
  uint local_b0;
  byte *local_a8;
  uint local_a0;
  int local_98;
  long local_90;
  undefined8 local_88;
  undefined4 local_80;
  undefined1 local_7c;
  byte *local_78 [2];
  byte local_68 [16];
  byte *local_58;
  undefined8 local_50;
  byte local_48 [24];
  
  bVar31 = 0;
  local_7c = 0;
  local_98 = 0;
  local_90 = 0;
  local_88 = 0;
  local_80 = 0;
  if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00192fa2 to 00192fa6 has its CatchHandler @ 00192fdf */
    FUN_001e9890("../../gold/parameters.h",0x5c,"options");
  }
  if (*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 0) {
    local_78[0] = local_68;
                    /* try { // try from 00192ecc to 00192eeb has its CatchHandler @ 00192fdf */
    FUN_001bc4c0(local_78,"");
  }
  else if (*(code **)(*(long *)param_3 + 0x80) == FUN_001c3900) {
                    /* try { // try from 001922c4 to 001922c8 has its CatchHandler @ 00192fdf */
    FUN_001c3780(local_78,param_3 + 0xf8,param_4);
  }
  else {
    (**(code **)(*(long *)param_3 + 0x80))(local_78,param_3,param_4);
  }
  pbVar24 = local_78[0];
  if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {
                    /* WARNING: Subroutine does not return */
    FUN_001e9890("../../gold/parameters.h",0x5c,"options");
  }
  if (*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 0) {
LAB_001922eb:
    bVar28 = false;
    local_188 = 0;
    local_168 = 0;
    local_180 = 0;
    local_170 = 0;
    local_178 = 0;
  }
  else {
    pbVar17 = (byte *)0xffffffffffffffff;
    local_58 = local_48;
    uVar25 = 0;
    uVar29 = local_78[0] == (byte *)0x0;
    if (!(bool)uVar29) {
      sVar13 = strlen((char *)local_78[0]);
      pbVar17 = pbVar24 + sVar13;
    }
    FUN_001bc4c0(&local_58,pbVar24,pbVar17);
    lVar19 = 5;
    pbVar24 = (byte *)".text";
    pbVar17 = local_58;
    do {
      if (lVar19 == 0) break;
      lVar19 = lVar19 + -1;
      uVar25 = *pbVar24 < *pbVar17;
      uVar29 = *pbVar24 == *pbVar17;
      pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;
      pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;
    } while ((bool)uVar29);
    bVar28 = false;
    bVar26 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;
    if (!bVar26) {
      lVar19 = 0xf;
      pbVar24 = (byte *)".gnu.linkonce.t";
      pbVar17 = local_58;
      do {
        if (lVar19 == 0) break;
        lVar19 = lVar19 + -1;
        bVar28 = *pbVar24 < *pbVar17;
        bVar26 = *pbVar24 == *pbVar17;
        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;
        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;
      } while (bVar26);
      if ((!bVar28 && !bVar26) != bVar28) {
        if (local_58 != local_48) {
          FUN_00338a40(local_58);
        }
        goto LAB_001922eb;
      }
    }
    if (local_58 != local_48) {
      FUN_00338a40(local_58);
    }
    local_50 = CONCAT44(local_50._4_4_,param_4);
    local_58 = param_3;
    local_178 = FUN_001c0160(*(long *)(param_1 + 0x298) + 0xa8,&local_58);
    local_170 = local_178 + 0x18;
    local_180 = local_178 + 0x30;
    local_168 = local_178 + 0x48;
    local_188 = local_178 + 0x60;
    bVar28 = true;
  }
  if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00192fba to 00192fd6 has its CatchHandler @ 00192fd7 */
    FUN_001e9890("../../gold/parameters.h",0x5c,"options");
  }
  if ((*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 2) &&
     (cVar9 = (**(code **)(*param_2 + 0x90))(param_2), cVar9 != '\0')) {
    pcVar6 = *(code **)(*param_2 + 0x10);
    if (pcVar6 != FUN_001ba9d0) {
                    /* try { // try from 00192f0b to 00192f8e has its CatchHandler @ 00192fd7 */
      local_136 = (*pcVar6)(param_2,local_78[0]);
      goto LAB_0019234a;
    }
    pcVar6 = *(code **)(*param_2 + 0x98);
    bVar26 = pcVar6 < FUN_001baa90;
    bVar30 = pcVar6 == FUN_001baa90;
    if (!bVar30) {
      local_136 = (*pcVar6)(param_2,local_78[0]);
      goto LAB_0019234a;
    }
    lVar19 = 0xc;
    pbVar24 = (byte *)".rodata._ZTV";
    pbVar17 = local_78[0];
    do {
      if (lVar19 == 0) break;
      lVar19 = lVar19 + -1;
      bVar26 = *pbVar24 < *pbVar17;
      bVar30 = *pbVar24 == *pbVar17;
      pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;
      pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;
    } while (bVar30);
    bVar27 = false;
    bVar26 = (!bVar26 && !bVar30) == bVar26;
    if (!bVar26) {
      lVar19 = 0x11;
      pbVar24 = (byte *)".data.rel.ro._ZTV";
      pbVar17 = local_78[0];
      do {
        if (lVar19 == 0) break;
        lVar19 = lVar19 + -1;
        bVar27 = *pbVar24 < *pbVar17;
        bVar26 = *pbVar24 == *pbVar17;
        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;
        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;
      } while (bVar26);
      bVar30 = false;
      bVar26 = (!bVar27 && !bVar26) == bVar27;
      if (!bVar26) {
        lVar19 = 0xc;
        pbVar24 = (byte *)".rodata._ZTC";
        pbVar17 = local_78[0];
        do {
          if (lVar19 == 0) break;
          lVar19 = lVar19 + -1;
          bVar30 = *pbVar24 < *pbVar17;
          bVar26 = *pbVar24 == *pbVar17;
          pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;
          pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;
        } while (bVar26);
        bVar27 = false;
        bVar26 = (!bVar30 && !bVar26) == bVar30;
        if (!bVar26) {
          lVar19 = 0x11;
          pbVar24 = (byte *)".data.rel.ro._ZTC";
          pbVar17 = local_78[0];
          do {
            if (lVar19 == 0) break;
            lVar19 = lVar19 + -1;
            bVar27 = *pbVar24 < *pbVar17;
            bVar26 = *pbVar24 == *pbVar17;
            pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;
            pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;
          } while (bVar26);
          bVar30 = false;
          bVar26 = (!bVar27 && !bVar26) == bVar27;
          if (!bVar26) {
            lVar19 = 9;
            pbVar24 = (byte *)".eh_frame";
            pbVar17 = local_78[0];
            do {
              if (lVar19 == 0) break;
              lVar19 = lVar19 + -1;
              bVar30 = *pbVar24 < *pbVar17;
              bVar26 = *pbVar24 == *pbVar17;
              pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;
              pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;
            } while (bVar26);
            local_136 = (!bVar30 && !bVar26) != bVar30;
            goto LAB_0019234a;
          }
        }
      }
    }
  }
  local_136 = '\0';
LAB_0019234a:
  if (param_6 != 0) {
    local_158 = (byte *)0x0;
    local_120 = 0;
    local_128 = param_5;
    do {
      uVar3 = local_128[1];
      uVar4 = local_128[2];
      uVar22 = uVar3 >> 8;
      uVar7 = uVar3 & 0xff;
      if (uVar22 < param_7) {
        if (param_8 == 0) {
                    /* WARNING: Subroutine does not return */
          FUN_001e9890("../../gold/gc.h",0xea,"gc_process_relocs");
        }
        lVar19 = (ulong)(uVar22 << 4) + param_8;
        uVar2 = *(ushort *)(lVar19 + 0xe);
        uVar10 = (uint)uVar2;
        if (uVar2 < 0xff00) {
LAB_001924f6:
          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);
          local_134 = uVar4 + *(uint *)(lVar19 + 4);
          if (bVar28) {
            local_50 = CONCAT44(local_50._4_4_,uVar10);
            local_58 = param_3;
            FUN_001bdee0(local_178,&local_58);
            bVar26 = true;
            if ((*(byte *)(lVar19 + 0xc) & 0xf) == 3) goto LAB_0019253e;
LAB_001923f0:
            local_58 = (byte *)0x0;
            FUN_001be560(local_170,&local_58);
            goto LAB_0019240b;
          }
        }
        else {
          if (uVar2 == 0xffff) {
            lVar14 = *(long *)(param_3 + 0x40);
            if (lVar14 == 0) {
              lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3);
              *(long *)(param_3 + 0x40) = lVar14;
            }
            uVar10 = FUN_0022a020(lVar14,param_3,uVar22);
            goto LAB_001924f6;
          }
          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);
          local_134 = uVar4 + *(uint *)(lVar19 + 4);
          if (!bVar28) goto LAB_00192480;
          local_58 = (byte *)0x0;
          local_50 = local_50 & 0xffffffff00000000;
                    /* try { // try from 001923d5 to 00192be2 has its CatchHandler @ 00192fd7 */
          FUN_001bdee0(local_178,&local_58);
          bVar26 = false;
          if ((*(byte *)(lVar19 + 0xc) & 0xf) != 3) goto LAB_001923f0;
LAB_0019253e:
          local_58 = (byte *)0xffffffffffffffff;
          FUN_001be560(local_170,&local_58);
LAB_0019240b:
          local_58 = pbVar24;
          local_50 = (long)(int)uVar4;
          FUN_001be700(local_180,&local_58);
          local_58 = (byte *)(ulong)*local_128;
          puVar5 = *(undefined8 **)(local_168 + 8);
          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {
            FUN_001bdf10(local_168,puVar5,&local_58);
          }
          else {
            *puVar5 = local_58;
            *(undefined8 **)(local_168 + 8) = puVar5 + 1;
          }
          local_a8 = (byte *)((ulong)local_a8 & 0xffffffff00000000);
          FUN_001be890(local_188,&local_a8);
          if (!bVar26) goto LAB_00192480;
        }
        if (((local_136 != '\0') && ((*(byte *)(lVar19 + 0xc) & 0xf) != 1)) &&
           ((0x17 < uVar7 || ((0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) == 0)))) {
          local_c0 = (uint)*(ushort *)(lVar19 + 0xe);
          local_108 = *(long *)(param_1 + 0x298) + 0x68;
          local_c8 = param_3;
          FUN_001bcb90(local_108,&local_c8,&local_108,1);
        }
        pbVar24 = param_3;
        if (param_4 != uVar10) {
LAB_001925a8:
          if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {
                    /* WARNING: Subroutine does not return */
            FUN_001e9890("../../gold/parameters.h",0x5c,"options");
          }
          if (*(char *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809) != '\0') {
            lVar14 = *(long *)(param_1 + 0x290);
            lVar19 = lVar14 + 0x28;
            lVar11 = lVar19;
            lVar12 = lVar19;
            lVar15 = *(long *)(lVar14 + 0x30);
            local_b8 = param_3;
            local_b0 = param_4;
            local_a8 = pbVar24;
            local_a0 = uVar10;
            if (*(long *)(lVar14 + 0x30) == 0) {
LAB_00192660:
              local_e8 = &local_b8;
              lVar12 = FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a);
            }
            else {
              do {
                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||
                       ((param_3 == *(byte **)(lVar12 + 0x20) &&
                        (*(uint *)(lVar12 + 0x28) < param_4))))) {
                  plVar1 = (long *)(lVar12 + 0x18);
                  lVar12 = lVar11;
                  lVar15 = *plVar1;
                  if (*plVar1 == 0) goto LAB_0019263a;
                }
                lVar11 = lVar12;
                lVar15 = *(long *)(lVar12 + 0x10);
              } while (*(long *)(lVar12 + 0x10) != 0);
LAB_0019263a:
              if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||
                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))
              goto LAB_00192660;
            }
            local_f0 = lVar12 + 0x30;
            FUN_001bcaf0(local_f0,&local_a8,&local_f0,1);
            plVar1 = *(long **)(PTR_DAT_004ba7c8 + 0x18);
            if (plVar1 == (long *)0x0) {
                    /* WARNING: Subroutine does not return */
              FUN_001e9890("../../gold/parameters.h",0x73,"sized_target");
            }
            (**(code **)(*plVar1 + 0x208))(plVar1,param_1,param_3,param_4,pbVar24,uVar10,local_134);
            if (local_158 != (byte *)0x0) {
              lVar19 = *(long *)(param_1 + 0x290);
              local_58 = local_48;
              sVar13 = strlen((char *)local_158);
              FUN_001bc4c0(&local_58,local_158,local_158 + sVar13);
              lVar19 = FUN_001be060(lVar19 + 0x88,&local_58);
              if (local_58 != local_48) {
                FUN_00338a40();
              }
              lVar14 = *(long *)(param_1 + 0x290);
              if (lVar19 != lVar14 + 0x90) {
                lVar11 = lVar14 + 0x28;
                local_50 = CONCAT44(local_50._4_4_,param_4);
                lVar12 = lVar11;
                lVar15 = lVar11;
                lVar8 = *(long *)(lVar14 + 0x30);
                if (*(long *)(lVar14 + 0x30) == 0) {
LAB_00192b80:
                  local_e0 = &local_58;
                  local_58 = param_3;
                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);
                }
                else {
                  do {
                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||
                           ((param_3 == *(byte **)(lVar15 + 0x20) &&
                            (*(uint *)(lVar15 + 0x28) < param_4))))) {
                      plVar1 = (long *)(lVar15 + 0x18);
                      lVar15 = lVar12;
                      lVar8 = *plVar1;
                      if (*plVar1 == 0) goto LAB_001927c2;
                    }
                    lVar12 = lVar15;
                    lVar8 = *(long *)(lVar15 + 0x10);
                  } while (*(long *)(lVar15 + 0x10) != 0);
LAB_001927c2:
                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||
                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&
                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;
                }
                for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;
                    puVar5 = (undefined8 *)*puVar5) {
                  local_f8 = lVar15 + 0x30;
                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);
                }
              }
            }
          }
        }
      }
      else {
        if (uVar22 < *(uint *)(param_3 + 0x120)) {
          local_a8 = (byte *)0x0;
LAB_00192adb:
                    /* WARNING: Subroutine does not return */
          FUN_001e9890("../../gold/gc.h",0x11c,"gc_process_relocs");
        }
        uVar23 = (ulong)(uVar22 - *(uint *)(param_3 + 0x120));
        if ((ulong)(*(long *)(param_3 + 0x138) - *(long *)(param_3 + 0x130) >> 3) <= uVar23) {
                    /* WARNING: Subroutine does not return */
          FUN_001e9890("../../gold/object.h",0x8ad,"global_symbol");
        }
        local_a8 = *(byte **)(*(long *)(param_3 + 0x130) + uVar23 * 8);
        if (local_a8 == (byte *)0x0) goto LAB_00192adb;
        if ((local_a8[0x3a] & 0x10) != 0) {
          local_a8 = (byte *)FUN_002ddad0(param_1,local_a8);
        }
        if ((local_a8[0x3a] & 7) == 0) {
          local_150 = *(uint *)(local_a8 + 0x40);
          pbVar24 = *(byte **)(local_a8 + 0x10);
          local_134 = uVar4 + local_150;
          if ((pbVar24[0x3c] & 1) == 0) {
            uVar10 = *(uint *)(local_a8 + 0x18);
            bVar18 = local_a8[0x3b] >> 5 & 1;
            uVar25 = (local_a8[0x38] & 0xf) < 2;
            uVar29 = (local_a8[0x38] & 0xf) == 2;
            if ((bool)uVar29) {
              uVar25 = 0;
              uVar29 = local_136 == '\0';
              if (!(bool)uVar29) {
                uVar25 = false;
                uVar29 = bVar18 == 0;
                if (!(bool)uVar29) {
                  uVar25 = uVar7 < 0x17;
                  uVar29 = uVar7 == 0x17;
                  if ((uVar7 < 0x18) &&
                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))
                  goto LAB_00192930;
                }
                local_100 = *(long *)(param_1 + 0x298) + 0x68;
                local_d8 = pbVar24;
                local_d0 = uVar10;
                    /* try { // try from 00192ca4 to 00192e68 has its CatchHandler @ 00192fd7 */
                FUN_001bcb90(local_100,&local_d8,&local_100,1);
              }
            }
          }
          else {
            bVar18 = 0;
            uVar10 = 0;
            uVar25 = 0;
            pbVar24 = (byte *)0x0;
            uVar29 = 1;
          }
        }
        else {
          local_150 = *(uint *)(local_a8 + 0x40);
          bVar18 = 0;
          uVar10 = 0;
          uVar25 = 0;
          pbVar24 = (byte *)0x0;
          uVar29 = 1;
          local_134 = uVar4 + local_150;
        }
LAB_00192930:
        pbVar17 = *(byte **)local_a8;
        lVar19 = 8;
        pbVar20 = (byte *)"__start_";
        pbVar21 = pbVar17;
        do {
          if (lVar19 == 0) break;
          lVar19 = lVar19 + -1;
          uVar25 = *pbVar20 < *pbVar21;
          uVar29 = *pbVar20 == *pbVar21;
          pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;
          pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;
        } while ((bool)uVar29);
        bVar26 = false;
        bVar30 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;
        if (bVar30) {
          pbVar17 = pbVar17 + 8;
        }
        else {
          lVar19 = 7;
          pbVar20 = (byte *)"__stop_";
          pbVar21 = pbVar17;
          do {
            if (lVar19 == 0) break;
            lVar19 = lVar19 + -1;
            bVar26 = *pbVar20 < *pbVar21;
            bVar30 = *pbVar20 == *pbVar21;
            pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;
            pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;
          } while (bVar30);
          pbVar17 = pbVar17 + 7;
          if ((!bVar26 && !bVar30) != bVar26) {
            pbVar17 = local_158;
          }
        }
        local_158 = pbVar17;
        if (bVar28) {
          if (bVar18 == 0) {
            local_58 = (byte *)0x0;
            local_50 = (ulong)local_50._4_4_ << 0x20;
            FUN_001bdee0(local_178,&local_58);
          }
          else {
            local_50 = CONCAT44(local_50._4_4_,uVar10);
            local_58 = pbVar24;
            FUN_001bdee0(local_178,&local_58);
          }
          puVar5 = *(undefined8 **)(local_170 + 8);
          if (puVar5 == *(undefined8 **)(local_170 + 0x10)) {
            FUN_001bbf50(local_170,puVar5,&local_a8);
          }
          else {
            *puVar5 = local_a8;
            *(undefined8 **)(local_170 + 8) = puVar5 + 1;
          }
          local_58 = (byte *)(ulong)local_150;
          local_50 = (long)(int)uVar4;
          FUN_001be700(local_180,&local_58);
          local_58 = (byte *)(ulong)*local_128;
          puVar5 = *(undefined8 **)(local_168 + 8);
          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {
            FUN_001bdf10(local_168,puVar5,&local_58);
          }
          else {
            *puVar5 = local_58;
            *(undefined8 **)(local_168 + 8) = puVar5 + 1;
          }
          local_b8 = (byte *)((ulong)local_b8 & 0xffffffff00000000);
          FUN_001be890(local_188,&local_b8);
        }
        if (bVar18 != 0) goto LAB_001925a8;
      }
LAB_00192480:
      local_120 = local_120 + 1;
      local_128 = local_128 + 3;
    } while (param_6 != local_120);
  }
  if (local_78[0] != local_68) {
    FUN_00338a40();
  }
  if ((local_98 != 0) && (local_90 != 0)) {
    uVar16 = gettext("missing expected __tls_get_addr call");
    FUN_001e1b30(local_90,local_88,local_80,uVar16);
  }
  return;
}


PUSH RBP
MOV RBP,RSP
PUSH R15
PUSH R14
PUSH R13
PUSH R12
PUSH RBX
SUB RSP,0x168
MOV RAX,qword ptr [0x004ba7c8]
MOV qword ptr [RBP + -0x158],RDI
MOV dword ptr [RBP + -0x144],ECX
MOV RAX,qword ptr [RAX + 0x10]
MOV byte ptr [RBP + -0x74],0x0
MOV qword ptr [RBP + -0x120],R8
MOV qword ptr [RBP + -0x140],R9
MOV dword ptr [RBP + -0x90],0x0
MOV qword ptr [RBP + -0x88],0x0
MOV qword ptr [RBP + -0x80],0x0
MOV dword ptr [RBP + -0x78],0x0
TEST RAX,RAX
JZ 0x00192f8f
MOV EDI,dword ptr [RAX + 0x9050]
MOV R12,RSI
MOV R15,RDX
TEST EDI,EDI
JZ 0x00192eaf
MOV RAX,qword ptr [RDX]
LEA RDX,[0x1c3900]
MOV RAX,qword ptr [RAX + 0x80]
CMP RAX,RDX
JNZ 0x00192ed6
LEA RAX,[RBP + -0x70]
MOV EDX,dword ptr [RBP + -0x144]
LEA RSI,[R15 + 0xf8]
MOV RDI,RAX
MOV qword ptr [RBP + -0x190],RAX
CALL 0x001c3780
MOV RAX,qword ptr [0x004ba7c8]
MOV RDX,qword ptr [RAX + 0x10]
TEST RDX,RDX
JZ 0x00192fbf
MOV ESI,dword ptr [RDX + 0x9050]
TEST ESI,ESI
JNZ 0x00192da0
MOV byte ptr [RBP + -0x12d],0x0
MOV qword ptr [RBP + -0x180],0x0
MOV qword ptr [RBP + -0x160],0x0
MOV qword ptr [RBP + -0x178],0x0
MOV qword ptr [RBP + -0x168],0x0
MOV qword ptr [RBP + -0x170],0x0
MOV RAX,qword ptr [RAX + 0x10]
TEST RAX,RAX
JZ 0x00192fa7
CMP dword ptr [RAX + 0x9050],0x2
JZ 0x00192cb5
MOV byte ptr [RBP + -0x12e],0x0
CMP qword ptr [RBP + -0x140],0x0
JZ 0x00192bf0
MOV qword ptr [RBP + -0x150],0x0
LEA RAX,[RBP + -0x50]
MOV qword ptr [RBP + -0x128],RAX
ADD RAX,0x10
MOV qword ptr [RBP + -0x118],0x0
MOV qword ptr [RBP + -0x188],RAX
JMP 0x001924a4
CMP R13D,0xffff
JZ 0x00192a90
MOV R14D,dword ptr [RBX + 0x4]
CMP byte ptr [RBP + -0x12d],0x0
LEA EAX,[R12 + R14*0x1]
MOV dword ptr [RBP + -0x12c],EAX
JZ 0x00192480
MOV RSI,qword ptr [RBP + -0x128]
MOV RDI,qword ptr [RBP + -0x170]
MOV qword ptr [RBP + -0x50],0x0
MOV dword ptr [RBP + -0x48],0x0
CALL 0x001bdee0
MOVZX EAX,byte ptr [RBX + 0xc]
MOV byte ptr [RBP + -0x148],0x0
AND EAX,0xf
CMP AL,0x3
JZ 0x0019253e
MOV RSI,qword ptr [RBP + -0x128]
MOV RDI,qword ptr [RBP + -0x168]
MOV qword ptr [RBP + -0x50],0x0
CALL 0x001be560
MOV RSI,qword ptr [RBP + -0x128]
MOV RDI,qword ptr [RBP + -0x178]
MOV EAX,R14D
MOV qword ptr [RBP + -0x48],R12
MOV qword ptr [RBP + -0x50],RAX
CALL 0x001be700
MOV RAX,qword ptr [RBP + -0x120]
MOV RCX,qword ptr [RBP + -0x160]
MOV EAX,dword ptr [RAX]
MOV RSI,qword ptr [RCX + 0x8]
MOV qword ptr [RBP + -0x50],RAX
CMP RSI,qword ptr [RCX + 0x10]
JZ 0x00192b30
MOV qword ptr [RSI],RAX
ADD RSI,0x8
MOV qword ptr [RCX + 0x8],RSI
MOV RDI,qword ptr [RBP + -0x180]
LEA RSI,[RBP + -0xa0]
MOV dword ptr [RBP + -0xa0],0x0
CALL 0x001be890
CMP byte ptr [RBP + -0x148],0x0
JNZ 0x00192560
ADD qword ptr [RBP + -0x118],0x1
MOV RAX,qword ptr [RBP + -0x118]
ADD qword ptr [RBP + -0x120],0xc
CMP qword ptr [RBP + -0x140],RAX
JZ 0x00192bf0
MOV RCX,qword ptr [RBP + -0x120]
MOV EAX,dword ptr [RCX + 0x4]
MOVSXD R12,dword ptr [RCX + 0x8]
MOV R14D,EAX
MOVZX EAX,AL
SHR R14D,0x8
MOV dword ptr [RBP + -0x138],EAX
MOV EAX,R14D
CMP RAX,qword ptr [RBP + 0x10]
JNC 0x00192888
CMP qword ptr [RBP + 0x18],0x0
JZ 0x00192f2f
MOV EBX,R14D
SHL EBX,0x4
ADD RBX,qword ptr [RBP + 0x18]
MOVZX R13D,word ptr [RBX + 0xe]
CMP R13D,0xfeff
JA 0x00192390
MOV R14D,dword ptr [RBX + 0x4]
CMP byte ptr [RBP + -0x12d],0x0
LEA EAX,[R12 + R14*0x1]
MOV dword ptr [RBP + -0x12c],EAX
JZ 0x00192560
MOV RSI,qword ptr [RBP + -0x128]
MOV RDI,qword ptr [RBP + -0x170]
MOV qword ptr [RBP + -0x50],R15
MOV dword ptr [RBP + -0x48],R13D
CALL 0x001bdee0
MOVZX EAX,byte ptr [RBX + 0xc]
MOV byte ptr [RBP + -0x148],0x1
AND EAX,0xf
CMP AL,0x3
JNZ 0x001923f0
MOV RSI,qword ptr [RBP + -0x128]
MOV RDI,qword ptr [RBP + -0x168]
MOV qword ptr [RBP + -0x50],-0x1
CALL 0x001be560
JMP 0x0019240b
CMP byte ptr [RBP + -0x12e],0x0
JZ 0x00192598
MOVZX EAX,byte ptr [RBX + 0xc]
AND EAX,0xf
CMP AL,0x1
JZ 0x00192598
MOV EDI,dword ptr [RBP + -0x138]
CMP EDI,0x17
JA 0x00192830
MOV EAX,0x843f84
BT RAX,RDI
JNC 0x00192830
NOP word ptr [RAX + RAX*0x1]
CMP dword ptr [RBP + -0x144],R13D
JZ 0x00192480
MOV R14,R15
MOV RAX,qword ptr [0x004ba7c8]
MOV RAX,qword ptr [RAX + 0x10]
TEST RAX,RAX
JZ 0x00192f47
CMP byte ptr [RAX + 0x2809],0x0
JZ 0x00192480
MOV RAX,qword ptr [RBP + -0x158]
MOV ESI,dword ptr [RBP + -0x144]
MOV qword ptr [RBP + -0xb0],R15
MOV qword ptr [RBP + -0xa0],R14
MOV RDI,qword ptr [RAX + 0x290]
MOV dword ptr [RBP + -0xa8],ESI
MOV dword ptr [RBP + -0x98],R13D
MOV RDX,qword ptr [RDI + 0x30]
LEA RCX,[RDI + 0x28]
MOV RAX,RCX
TEST RDX,RDX
JZ 0x00192660
MOV RBX,qword ptr [RBP + -0x120]
JMP 0x0019262b
JNZ 0x0019261f
CMP ESI,dword ptr [RDX + 0x28]
JA 0x00192631
MOV RAX,RDX
MOV RDX,qword ptr [RDX + 0x10]
TEST RDX,RDX
JZ 0x0019263a
CMP R15,qword ptr [RDX + 0x20]
JBE 0x00192618
MOV RDX,qword ptr [RDX + 0x18]
TEST RDX,RDX
JNZ 0x0019262b
MOV qword ptr [RBP + -0x120],RBX
CMP RAX,RCX
JZ 0x00192660
CMP R15,qword ptr [RAX + 0x20]
JC 0x00192660
JNZ 0x0019268f
MOV EDX,dword ptr [RBP + -0x144]
CMP EDX,dword ptr [RAX + 0x28]
JNC 0x0019268f
NOP dword ptr [RAX]
LEA RDX,[RBP + -0xb0]
ADD RDI,0x20
MOV RSI,RAX
MOV qword ptr [RBP + -0xe0],RDX
LEA RCX,[RBP + -0xe0]
LEA R8,[RBP + -0x102]
LEA RDX,[0x3de3e0]
CALL 0x001bc7f0
LEA RDI,[RAX + 0x30]
LEA RDX,[RBP + -0xe8]
MOV ECX,0x1
LEA RSI,[RBP + -0xa0]
MOV qword ptr [RBP + -0xe8],RDI
CALL 0x001bcaf0
MOV RAX,qword ptr [0x004ba7c8]
MOV RDI,qword ptr [RAX + 0x18]
TEST RDI,RDI
JZ 0x00192f77
MOV ESI,dword ptr [RBP + -0x12c]
MOV RAX,qword ptr [RDI]
SUB RSP,0x8
MOV R9D,R13D
MOV RBX,qword ptr [RBP + -0x158]
MOV R8,R14
MOV ECX,dword ptr [RBP + -0x144]
MOV RDX,R15
PUSH RSI
MOV RSI,RBX
CALL qword ptr [RAX + 0x208]
MOV R14,qword ptr [RBP + -0x150]
POP RDX
POP RCX
TEST R14,R14
JZ 0x00192480
MOV R13,qword ptr [RBP + -0x188]
MOV RDI,R14
MOV RBX,qword ptr [RBX + 0x290]
MOV qword ptr [RBP + -0x50],R13
CALL 0x00150490
MOV RSI,R14
LEA RDX,[R14 + RAX*0x1]
MOV R14,qword ptr [RBP + -0x128]
MOV RDI,R14
CALL 0x001bc4c0
LEA RDI,[RBX + 0x88]
MOV RSI,R14
CALL 0x001be060
MOV RDI,qword ptr [RBP + -0x50]
MOV RBX,RAX
CMP RDI,R13
JZ 0x00192755
CALL 0x00338a40
MOV RAX,qword ptr [RBP + -0x158]
MOV RDI,qword ptr [RAX + 0x290]
LEA RAX,[RDI + 0x90]
CMP RBX,RAX
JZ 0x00192480
MOV ESI,dword ptr [RBP + -0x144]
MOV RDX,qword ptr [RDI + 0x30]
LEA RCX,[RDI + 0x28]
MOV qword ptr [RBP + -0x50],R15
MOV RAX,RCX
MOV dword ptr [RBP + -0x48],ESI
TEST RDX,RDX
JZ 0x00192b80
MOV R10,qword ptr [RBP + -0x120]
MOV R11,R10
JMP 0x001927b3
JNZ 0x001927a7
CMP ESI,dword ptr [RDX + 0x28]
JA 0x001927b9
MOV RAX,RDX
MOV RDX,qword ptr [RDX + 0x10]
TEST RDX,RDX
JZ 0x001927c2
CMP R15,qword ptr [RDX + 0x20]
JBE 0x001927a0
MOV RDX,qword ptr [RDX + 0x18]
TEST RDX,RDX
JNZ 0x001927b3
MOV qword ptr [RBP + -0x120],R11
CMP RAX,RCX
JZ 0x00192b80
CMP R15,qword ptr [RAX + 0x20]
JC 0x00192b80
JZ 0x00192b68
MOV RBX,qword ptr [RBX + 0x50]
LEA R12,[RAX + 0x30]
LEA R13,[RBP + -0xf0]
TEST RBX,RBX
JZ 0x00192480
NOP word ptr [RAX + RAX*0x1]
LEA RSI,[RBX + 0x8]
MOV ECX,0x1
MOV RDX,R13
MOV RDI,R12
MOV qword ptr [RBP + -0xf0],R12
CALL 0x001bcaf0
MOV RBX,qword ptr [RBX]
TEST RBX,RBX
JNZ 0x00192800
JMP 0x00192480
MOV RAX,qword ptr [RBP + -0x158]
LEA RDX,[RBP + -0x100]
LEA RSI,[RBP + -0xc0]
MOV ECX,0x1
MOV qword ptr [RBP + -0xc0],R15
MOV RAX,qword ptr [RAX + 0x298]
MOV qword ptr [RBP + -0x138],RAX
MOVZX EAX,word ptr [RBX + 0xe]
MOV dword ptr [RBP + -0xb8],EAX
MOV RAX,qword ptr [RBP + -0x138]
LEA RDI,[RAX + 0x68]
MOV qword ptr [RBP + -0x100],RDI
CALL 0x001bcb90
JMP 0x00192598
MOV EAX,dword ptr [R15 + 0x120]
CMP R14D,EAX
JC 0x00192ad0
SUB R14D,EAX
MOV RDX,qword ptr [R15 + 0x130]
MOV RAX,qword ptr [R15 + 0x138]
SUB RAX,RDX
SAR RAX,0x3
CMP R14,RAX
JNC 0x00192f5f
MOV RAX,qword ptr [RDX + R14*0x8]
MOV qword ptr [RBP + -0xa0],RAX
TEST RAX,RAX
JZ 0x00192adb
TEST byte ptr [RAX + 0x3a],0x10
JNZ 0x00192ab0
TEST byte ptr [RAX + 0x3a],0x7
JNZ 0x00192a70
MOV ESI,dword ptr [RAX + 0x40]
MOV R14,qword ptr [RAX + 0x10]
LEA EBX,[R12 + RSI*0x1]
MOV dword ptr [RBP + -0x148],ESI
MOV dword ptr [RBP + -0x12c],EBX
TEST byte ptr [R14 + 0x3c],0x1
JNZ 0x00192af8
MOVZX EBX,byte ptr [RAX + 0x3b]
MOVZX EDX,byte ptr [RAX + 0x38]
MOV R13D,dword ptr [RAX + 0x18]
SHR BL,0x5
AND EDX,0xf
AND EBX,0x1
CMP DL,0x2
JNZ 0x00192930
CMP byte ptr [RBP + -0x12e],0x0
JNZ 0x00192c50
NOP word ptr [RAX + RAX*0x1]
MOV RAX,qword ptr [RAX]
MOV ECX,0x8
LEA RSI,[0x3de729]
MOV RDI,RAX
CMPSB.REPE RDI,RSI
SETA DL
SBB DL,0x0
TEST DL,DL
JNZ 0x00192a38
ADD RAX,0x8
MOV qword ptr [RBP + -0x150],RAX
CMP byte ptr [RBP + -0x12d],0x0
JZ 0x00192a27
TEST BL,BL
JNZ 0x00192b08
MOV RSI,qword ptr [RBP + -0x128]
MOV RDI,qword ptr [RBP + -0x170]
MOV qword ptr [RBP + -0x50],0x0
MOV dword ptr [RBP + -0x48],0x0
CALL 0x001bdee0
MOV RDI,qword ptr [RBP + -0x168]
MOV RSI,qword ptr [RDI + 0x8]
CMP RSI,qword ptr [RDI + 0x10]
JZ 0x00192bd0
MOV RAX,qword ptr [RBP + -0xa0]
ADD RSI,0x8
MOV qword ptr [RSI + -0x8],RAX
MOV qword ptr [RDI + 0x8],RSI
MOV EAX,dword ptr [RBP + -0x148]
MOV RSI,qword ptr [RBP + -0x128]
MOV qword ptr [RBP + -0x48],R12
MOV RDI,qword ptr [RBP + -0x178]
MOV qword ptr [RBP + -0x50],RAX
CALL 0x001be700
MOV RAX,qword ptr [RBP + -0x120]
MOV RDX,qword ptr [RBP + -0x160]
MOV EAX,dword ptr [RAX]
MOV RSI,qword ptr [RDX + 0x8]
MOV qword ptr [RBP + -0x50],RAX
CMP RSI,qword ptr [RDX + 0x10]
JZ 0x00192bb8
MOV qword ptr [RSI],RAX
ADD RSI,0x8
MOV qword ptr [RDX + 0x8],RSI
MOV RDI,qword ptr [RBP + -0x180]
LEA RSI,[RBP + -0xb0]
MOV dword ptr [RBP + -0xb0],0x0
CALL 0x001be890
TEST BL,BL
JNZ 0x001925a8
JMP 0x00192480
MOV RDI,RAX
MOV ECX,0x7
LEA RSI,[0x3de732]
CMPSB.REPE RDI,RSI
SETA DL
SBB DL,0x0
ADD RAX,0x7
TEST DL,DL
CMOVNZ RAX,qword ptr [RBP + -0x150]
MOV qword ptr [RBP + -0x150],RAX
JMP 0x0019295d
MOV EDI,dword ptr [RAX + 0x40]
XOR EBX,EBX
XOR R13D,R13D
XOR R14D,R14D
LEA EDX,[R12 + RDI*0x1]
MOV dword ptr [RBP + -0x148],EDI
MOV dword ptr [RBP + -0x12c],EDX
JMP 0x00192930
MOV RDI,qword ptr [R15 + 0x40]
TEST RDI,RDI
JZ 0x00192b50
MOV EDX,R14D
MOV RSI,R15
CALL 0x0022a020
MOV R13D,EAX
JMP 0x001924f6
MOV RDI,qword ptr [RBP + -0x158]
MOV RSI,RAX
CALL 0x002ddad0
MOV qword ptr [RBP + -0xa0],RAX
JMP 0x001928d7
MOV qword ptr [RBP + -0xa0],0x0
LEA RDX,[0x3dc330]
MOV ESI,0x11c
LEA RDI,[0x3de719]
CALL 0x001e9890
XOR EBX,EBX
XOR R13D,R13D
XOR R14D,R14D
JMP 0x00192930
MOV RSI,qword ptr [RBP + -0x128]
MOV RDI,qword ptr [RBP + -0x170]
MOV qword ptr [RBP + -0x50],R14
MOV dword ptr [RBP + -0x48],R13D
CALL 0x001bdee0
JMP 0x00192994
MOV RDX,qword ptr [RBP + -0x128]
MOV RDI,qword ptr [RBP + -0x160]
CALL 0x001bdf10
JMP 0x00192456
MOV RAX,qword ptr [R15]
MOV RDI,R15
CALL qword ptr [RAX + 0xd8]
MOV RDI,RAX
MOV qword ptr [R15 + 0x40],RAX
JMP 0x00192a9d
MOV ECX,dword ptr [RBP + -0x144]
CMP ECX,dword ptr [RAX + 0x28]
JNC 0x001927e2
NOP word ptr [RAX + RAX*0x1]
MOV RDX,qword ptr [RBP + -0x128]
ADD RDI,0x20
MOV RSI,RAX
LEA RCX,[RBP + -0xd8]
LEA R8,[RBP + -0x101]
MOV qword ptr [RBP + -0xd8],RDX
LEA RDX,[0x3de3e0]
CALL 0x001bc7f0
JMP 0x001927e2
MOV RDX,qword ptr [RBP + -0x128]
MOV RDI,qword ptr [RBP + -0x160]
CALL 0x001bdf10
JMP 0x00192a0a
MOV RDI,qword ptr [RBP + -0x168]
LEA RDX,[RBP + -0xa0]
CALL 0x001bbf50
JMP 0x001929bc
MOV RAX,qword ptr [RBP + -0x190]
MOV RDI,qword ptr [RBP + -0x70]
ADD RAX,0x10
CMP RDI,RAX
JZ 0x00192c09
CALL 0x00338a40
MOV EAX,dword ptr [RBP + -0x90]
TEST EAX,EAX
JZ 0x00192c41
CMP qword ptr [RBP + -0x88],0x0
JZ 0x00192c41
LEA RDI,[0x3debc0]
CALL 0x00150320
MOV EDX,dword ptr [RBP + -0x78]
MOV RSI,qword ptr [RBP + -0x80]
MOV RDI,qword ptr [RBP + -0x88]
MOV RCX,RAX
XOR EAX,EAX
CALL 0x001e1b30
LEA RSP,[RBP + -0x28]
POP RBX
POP R12
POP R13
POP R14
POP R15
POP RBP
RET
TEST BL,BL
JZ 0x00192c63
MOV EDI,dword ptr [RBP + -0x138]
CMP EDI,0x17
JBE 0x00192ef1
MOV RAX,qword ptr [RBP + -0x158]
LEA RDX,[RBP + -0xf8]
LEA RSI,[RBP + -0xd0]
MOV ECX,0x1
MOV qword ptr [RBP + -0xd0],R14
MOV RAX,qword ptr [RAX + 0x298]
MOV dword ptr [RBP + -0xc8],R13D
LEA RDI,[RAX + 0x68]
MOV qword ptr [RBP + -0x138],RAX
MOV qword ptr [RBP + -0xf8],RDI
CALL 0x001bcb90
MOV RAX,qword ptr [RBP + -0xa0]
JMP 0x00192930
MOV RAX,qword ptr [R12]
MOV RDI,R12
CALL qword ptr [RAX + 0x90]
TEST AL,AL
JZ 0x00192343
MOV RDX,qword ptr [R12]
LEA RSI,[0x1ba9d0]
MOV RAX,qword ptr [RBP + -0x70]
MOV RCX,qword ptr [RDX + 0x10]
CMP RCX,RSI
JNZ 0x00192f05
MOV RDX,qword ptr [RDX + 0x98]
LEA RCX,[0x1baa90]
CMP RDX,RCX
JNZ 0x00192f18
MOV ECX,0xc
LEA RSI,[0x3df262]
MOV RDI,RAX
CMPSB.REPE RDI,RSI
SETA DL
SBB DL,0x0
TEST DL,DL
JZ 0x00192343
MOV ECX,0x11
LEA RSI,[0x3df26f]
MOV RDI,RAX
CMPSB.REPE RDI,RSI
SETA DL
SBB DL,0x0
TEST DL,DL
JZ 0x00192343
MOV ECX,0xc
LEA RSI,[0x3df281]
MOV RDI,RAX
CMPSB.REPE RDI,RSI
SETA DL
SBB DL,0x0
TEST DL,DL
JZ 0x00192343
MOV ECX,0x11
LEA RSI,[0x3df28e]
MOV RDI,RAX
CMPSB.REPE RDI,RSI
SETA DL
SBB DL,0x0
TEST DL,DL
JZ 0x00192343
MOV RDI,RAX
MOV ECX,0x9
LEA RSI,[0x3df2a0]
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
TEST AL,AL
SETNZ byte ptr [RBP + -0x12e]
JMP 0x0019234a
LEA RBX,[RBP + -0x50]
MOV R13,qword ptr [RBP + -0x70]
MOV RDX,-0x1
LEA RAX,[RBX + 0x10]
MOV qword ptr [RBP + -0x50],RAX
TEST R13,R13
JZ 0x00192dc9
MOV RDI,R13
CALL 0x00150490
LEA RDX,[R13 + RAX*0x1]
MOV RSI,R13
MOV RDI,RBX
CALL 0x001bc4c0
MOV RAX,qword ptr [RBP + -0x50]
MOV ECX,0x5
LEA RSI,[0x3de570]
MOV RDI,RAX
CMPSB.REPE RDI,RSI
SETA DL
SBB DL,0x0
TEST DL,DL
JZ 0x00192e2b
MOV ECX,0xf
LEA RSI,[0x3de709]
MOV RDI,RAX
CMPSB.REPE RDI,RSI
SETA DL
SBB DL,0x0
TEST DL,DL
JZ 0x00192e2b
ADD RBX,0x10
CMP RAX,RBX
JZ 0x00192e1f
MOV RDI,RAX
CALL 0x00338a40
MOV RAX,qword ptr [0x004ba7c8]
JMP 0x001922eb
LEA RDX,[RBX + 0x10]
CMP RAX,RDX
JNZ 0x00192f22
MOV EAX,dword ptr [RBP + -0x144]
MOV RSI,RBX
MOV qword ptr [RBP + -0x50],R15
MOV dword ptr [RBP + -0x48],EAX
MOV RAX,qword ptr [RBP + -0x158]
MOV RAX,qword ptr [RAX + 0x298]
LEA RDI,[RAX + 0xa8]
MOV qword ptr [RBP + -0x118],RAX
CALL 0x001c0160
LEA RBX,[RAX + 0x18]
MOV qword ptr [RBP + -0x170],RAX
MOV qword ptr [RBP + -0x168],RBX
LEA RBX,[RAX + 0x30]
MOV qword ptr [RBP + -0x178],RBX
LEA RBX,[RAX + 0x48]
ADD RAX,0x60
MOV qword ptr [RBP + -0x180],RAX
MOV RAX,qword ptr [0x004ba7c8]
MOV qword ptr [RBP + -0x160],RBX
MOV byte ptr [RBP + -0x12d],0x1
JMP 0x00192329
LEA RDI,[RBP + -0x70]
LEA RDX,[0x3fa696]
LEA RAX,[RDI + 0x10]
MOV RSI,RDX
MOV qword ptr [RBP + -0x190],RDI
MOV qword ptr [RBP + -0x70],RAX
CALL 0x001bc4c0
JMP 0x001922c9
LEA RDI,[RBP + -0x70]
MOV EDX,dword ptr [RBP + -0x144]
MOV RSI,R15
MOV qword ptr [RBP + -0x190],RDI
CALL RAX
JMP 0x001922c9
MOV EDX,0x843f84
BT RDX,RDI
JC 0x00192930
JMP 0x00192c63
MOV RSI,RAX
MOV RDI,R12
CALL RCX
MOV byte ptr [RBP + -0x12e],AL
JMP 0x0019234a
MOV RSI,RAX
MOV RDI,R12
CALL RDX
JMP 0x00192f0d
MOV RDI,RAX
CALL 0x00338a40
JMP 0x00192e38
LEA RDX,[0x3dc330]
MOV ESI,0xea
LEA RDI,[0x3de719]
CALL 0x001e9890
LEA RDX,[0x3dd908]
MOV ESI,0x5c
LEA RDI,[0x3c9279]
CALL 0x001e9890
LEA RDX,[0x3dc5a8]
MOV ESI,0x8ad
LEA RDI,[0x3de3f5]
CALL 0x001e9890
LEA RDX,[0x3dc400]
MOV ESI,0x73
LEA RDI,[0x3c9279]
CALL 0x001e9890
LEA RDX,[0x3dd908]
MOV ESI,0x5c
LEA RDI,[0x3c9279]
CALL 0x001e9890
LEA RDX,[0x3dd908]
MOV ESI,0x5c
LEA RDI,[0x3c9279]
CALL 0x001e9890
LEA RDX,[0x3dd908]
MOV ESI,0x5c
LEA RDI,[0x3c9279]
CALL 0x001e9890
(translation_unit "void FUN_00192210(long param_1,long *param_2,byte *param_3,uint param_4,uint *param_5,long param_6,\n                 ulong param_7,long param_8)\n\n{\n  long *plVar1;\n  ushort uVar2;\n  uint uVar3;\n  uint uVar4;\n  undefined8 *puVar5;\n  code *pcVar6;\n  uint uVar7;\n  long lVar8;\n  char cVar9;\n  uint uVar10;\n  long lVar11;\n  long lVar12;\n  size_t sVar13;\n  long lVar14;\n  long lVar15;\n  undefined8 uVar16;\n  byte *pbVar17;\n  byte bVar18;\n  long lVar19;\n  byte *pbVar20;\n  byte *pbVar21;\n  uint uVar22;\n  ulong uVar23;\n  byte *pbVar24;\n  undefined1 uVar25;\n  bool bVar26;\n  bool bVar27;\n  bool bVar28;\n  undefined1 uVar29;\n  bool bVar30;\n  byte bVar31;\n  long local_188;\n  long local_180;\n  long local_178;\n  long local_170;\n  long local_168;\n  byte *local_158;\n  uint local_150;\n  char local_136;\n  int local_134;\n  uint *local_128;\n  long local_120;\n  undefined1 local_10a;\n  undefined1 local_109;\n  long local_108;\n  long local_100;\n  long local_f8;\n  long local_f0;\n  byte **local_e8;\n  byte **local_e0;\n  byte *local_d8;\n  uint local_d0;\n  byte *local_c8;\n  uint local_c0;\n  byte *local_b8;\n  uint local_b0;\n  byte *local_a8;\n  uint local_a0;\n  int local_98;\n  long local_90;\n  undefined8 local_88;\n  undefined4 local_80;\n  undefined1 local_7c;\n  byte *local_78 [2];\n  byte local_68 [16];\n  byte *local_58;\n  undefined8 local_50;\n  byte local_48 [24];\n  \n  bVar31 = 0;\n  local_7c = 0;\n  local_98 = 0;\n  local_90 = 0;\n  local_88 = 0;\n  local_80 = 0;\n  if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00192fa2 to 00192fa6 has its CatchHandler @ 00192fdf */\n    FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n  }\n  if (*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 0) {\n    local_78[0] = local_68;\n                    /* try { // try from 00192ecc to 00192eeb has its CatchHandler @ 00192fdf */\n    FUN_001bc4c0(local_78,"");\n  }\n  else if (*(code **)(*(long *)param_3 + 0x80) == FUN_001c3900) {\n                    /* try { // try from 001922c4 to 001922c8 has its CatchHandler @ 00192fdf */\n    FUN_001c3780(local_78,param_3 + 0xf8,param_4);\n  }\n  else {\n    (**(code **)(*(long *)param_3 + 0x80))(local_78,param_3,param_4);\n  }\n  pbVar24 = local_78[0];\n  if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n  }\n  if (*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 0) {\nLAB_001922eb:\n    bVar28 = false;\n    local_188 = 0;\n    local_168 = 0;\n    local_180 = 0;\n    local_170 = 0;\n    local_178 = 0;\n  }\n  else {\n    pbVar17 = (byte *)0xffffffffffffffff;\n    local_58 = local_48;\n    uVar25 = 0;\n    uVar29 = local_78[0] == (byte *)0x0;\n    if (!(bool)uVar29) {\n      sVar13 = strlen((char *)local_78[0]);\n      pbVar17 = pbVar24 + sVar13;\n    }\n    FUN_001bc4c0(&local_58,pbVar24,pbVar17);\n    lVar19 = 5;\n    pbVar24 = (byte *)".text";\n    pbVar17 = local_58;\n    do {\n      if (lVar19 == 0) break;\n      lVar19 = lVar19 + -1;\n      uVar25 = *pbVar24 < *pbVar17;\n      uVar29 = *pbVar24 == *pbVar17;\n      pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n      pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n    } while ((bool)uVar29);\n    bVar28 = false;\n    bVar26 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;\n    if (!bVar26) {\n      lVar19 = 0xf;\n      pbVar24 = (byte *)".gnu.linkonce.t";\n      pbVar17 = local_58;\n      do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar28 = *pbVar24 < *pbVar17;\n        bVar26 = *pbVar24 == *pbVar17;\n        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n      } while (bVar26);\n      if ((!bVar28 && !bVar26) != bVar28) {\n        if (local_58 != local_48) {\n          FUN_00338a40(local_58);\n        }\n        goto LAB_001922eb;\n      }\n    }\n    if (local_58 != local_48) {\n      FUN_00338a40(local_58);\n    }\n    local_50 = CONCAT44(local_50._4_4_,param_4);\n    local_58 = param_3;\n    local_178 = FUN_001c0160(*(long *)(param_1 + 0x298) + 0xa8,&local_58);\n    local_170 = local_178 + 0x18;\n    local_180 = local_178 + 0x30;\n    local_168 = local_178 + 0x48;\n    local_188 = local_178 + 0x60;\n    bVar28 = true;\n  }\n  if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00192fba to 00192fd6 has its CatchHandler @ 00192fd7 */\n    FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n  }\n  if ((*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 2) &&\n     (cVar9 = (**(code **)(*param_2 + 0x90))(param_2), cVar9 != '\0')) {\n    pcVar6 = *(code **)(*param_2 + 0x10);\n    if (pcVar6 != FUN_001ba9d0) {\n                    /* try { // try from 00192f0b to 00192f8e has its CatchHandler @ 00192fd7 */\n      local_136 = (*pcVar6)(param_2,local_78[0]);\n      goto LAB_0019234a;\n    }\n    pcVar6 = *(code **)(*param_2 + 0x98);\n    bVar26 = pcVar6 < FUN_001baa90;\n    bVar30 = pcVar6 == FUN_001baa90;\n    if (!bVar30) {\n      local_136 = (*pcVar6)(param_2,local_78[0]);\n      goto LAB_0019234a;\n    }\n    lVar19 = 0xc;\n    pbVar24 = (byte *)".rodata._ZTV";\n    pbVar17 = local_78[0];\n    do {\n      if (lVar19 == 0) break;\n      lVar19 = lVar19 + -1;\n      bVar26 = *pbVar24 < *pbVar17;\n      bVar30 = *pbVar24 == *pbVar17;\n      pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n      pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n    } while (bVar30);\n    bVar27 = false;\n    bVar26 = (!bVar26 && !bVar30) == bVar26;\n    if (!bVar26) {\n      lVar19 = 0x11;\n      pbVar24 = (byte *)".data.rel.ro._ZTV";\n      pbVar17 = local_78[0];\n      do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar27 = *pbVar24 < *pbVar17;\n        bVar26 = *pbVar24 == *pbVar17;\n        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n      } while (bVar26);\n      bVar30 = false;\n      bVar26 = (!bVar27 && !bVar26) == bVar27;\n      if (!bVar26) {\n        lVar19 = 0xc;\n        pbVar24 = (byte *)".rodata._ZTC";\n        pbVar17 = local_78[0];\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          bVar30 = *pbVar24 < *pbVar17;\n          bVar26 = *pbVar24 == *pbVar17;\n          pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n          pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n        } while (bVar26);\n        bVar27 = false;\n        bVar26 = (!bVar30 && !bVar26) == bVar30;\n        if (!bVar26) {\n          lVar19 = 0x11;\n          pbVar24 = (byte *)".data.rel.ro._ZTC";\n          pbVar17 = local_78[0];\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar27 = *pbVar24 < *pbVar17;\n            bVar26 = *pbVar24 == *pbVar17;\n            pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n            pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n          } while (bVar26);\n          bVar30 = false;\n          bVar26 = (!bVar27 && !bVar26) == bVar27;\n          if (!bVar26) {\n            lVar19 = 9;\n            pbVar24 = (byte *)".eh_frame";\n            pbVar17 = local_78[0];\n            do {\n              if (lVar19 == 0) break;\n              lVar19 = lVar19 + -1;\n              bVar30 = *pbVar24 < *pbVar17;\n              bVar26 = *pbVar24 == *pbVar17;\n              pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n              pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n            } while (bVar26);\n            local_136 = (!bVar30 && !bVar26) != bVar30;\n            goto LAB_0019234a;\n          }\n        }\n      }\n    }\n  }\n  local_136 = '\0';\nLAB_0019234a:\n  if (param_6 != 0) {\n    local_158 = (byte *)0x0;\n    local_120 = 0;\n    local_128 = param_5;\n    do {\n      uVar3 = local_128[1];\n      uVar4 = local_128[2];\n      uVar22 = uVar3 >> 8;\n      uVar7 = uVar3 & 0xff;\n      if (uVar22 < param_7) {\n        if (param_8 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/gc.h",0xea,"gc_process_relocs");\n        }\n        lVar19 = (ulong)(uVar22 << 4) + param_8;\n        uVar2 = *(ushort *)(lVar19 + 0xe);\n        uVar10 = (uint)uVar2;\n        if (uVar2 < 0xff00) {\nLAB_001924f6:\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (bVar28) {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = param_3;\n            FUN_001bdee0(local_178,&local_58);\n            bVar26 = true;\n            if ((*(byte *)(lVar19 + 0xc) & 0xf) == 3) goto LAB_0019253e;\nLAB_001923f0:\n            local_58 = (byte *)0x0;\n            FUN_001be560(local_170,&local_58);\n            goto LAB_0019240b;\n          }\n        }\n        else {\n          if (uVar2 == 0xffff) {\n            lVar14 = *(long *)(param_3 + 0x40);\n            if (lVar14 == 0) {\n              lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3);\n              *(long *)(param_3 + 0x40) = lVar14;\n            }\n            uVar10 = FUN_0022a020(lVar14,param_3,uVar22);\n            goto LAB_001924f6;\n          }\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (!bVar28) goto LAB_00192480;\n          local_58 = (byte *)0x0;\n          local_50 = local_50 & 0xffffffff00000000;\n                    /* try { // try from 001923d5 to 00192be2 has its CatchHandler @ 00192fd7 */\n          FUN_001bdee0(local_178,&local_58);\n          bVar26 = false;\n          if ((*(byte *)(lVar19 + 0xc) & 0xf) != 3) goto LAB_001923f0;\nLAB_0019253e:\n          local_58 = (byte *)0xffffffffffffffff;\n          FUN_001be560(local_170,&local_58);\nLAB_0019240b:\n          local_58 = pbVar24;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_a8 = (byte *)((ulong)local_a8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_a8);\n          if (!bVar26) goto LAB_00192480;\n        }\n        if (((local_136 != '\0') && ((*(byte *)(lVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar7 || ((0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) == 0)))) {\n          local_c0 = (uint)*(ushort *)(lVar19 + 0xe);\n          local_108 = *(long *)(param_1 + 0x298) + 0x68;\n          local_c8 = param_3;\n          FUN_001bcb90(local_108,&local_c8,&local_108,1);\n        }\n        pbVar24 = param_3;\n        if (param_4 != uVar10) {\nLAB_001925a8:\n          if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n          }\n          if (*(char *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809) != '\0') {\n            lVar14 = *(long *)(param_1 + 0x290);\n            lVar19 = lVar14 + 0x28;\n            lVar11 = lVar19;\n            lVar12 = lVar19;\n            lVar15 = *(long *)(lVar14 + 0x30);\n            local_b8 = param_3;\n            local_b0 = param_4;\n            local_a8 = pbVar24;\n            local_a0 = uVar10;\n            if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192660:\n              local_e8 = &local_b8;\n              lVar12 = FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a);\n            }\n            else {\n              do {\n                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }\n                lVar11 = lVar12;\n                lVar15 = *(long *)(lVar12 + 0x10);\n              } while (*(long *)(lVar12 + 0x10) != 0);\nLAB_0019263a:\n              if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))\n              goto LAB_00192660;\n            }\n            local_f0 = lVar12 + 0x30;\n            FUN_001bcaf0(local_f0,&local_a8,&local_f0,1);\n            plVar1 = *(long **)(PTR_DAT_004ba7c8 + 0x18);\n            if (plVar1 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_001e9890("../../gold/parameters.h",0x73,"sized_target");\n            }\n            (**(code **)(*plVar1 + 0x208))(plVar1,param_1,param_3,param_4,pbVar24,uVar10,local_134);\n            if (local_158 != (byte *)0x0) {\n              lVar19 = *(long *)(param_1 + 0x290);\n              local_58 = local_48;\n              sVar13 = strlen((char *)local_158);\n              FUN_001bc4c0(&local_58,local_158,local_158 + sVar13);\n              lVar19 = FUN_001be060(lVar19 + 0x88,&local_58);\n              if (local_58 != local_48) {\n                FUN_00338a40();\n              }\n              lVar14 = *(long *)(param_1 + 0x290);\n              if (lVar19 != lVar14 + 0x90) {\n                lVar11 = lVar14 + 0x28;\n                local_50 = CONCAT44(local_50._4_4_,param_4);\n                lVar12 = lVar11;\n                lVar15 = lVar11;\n                lVar8 = *(long *)(lVar14 + 0x30);\n                if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }\n                else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }\n                for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;\n                    puVar5 = (undefined8 *)*puVar5) {\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (uVar22 < *(uint *)(param_3 + 0x120)) {\n          local_a8 = (byte *)0x0;\nLAB_00192adb:\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/gc.h",0x11c,"gc_process_relocs");\n        }\n        uVar23 = (ulong)(uVar22 - *(uint *)(param_3 + 0x120));\n        if ((ulong)(*(long *)(param_3 + 0x138) - *(long *)(param_3 + 0x130) >> 3) <= uVar23) {\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/object.h",0x8ad,"global_symbol");\n        }\n        local_a8 = *(byte **)(*(long *)(param_3 + 0x130) + uVar23 * 8);\n        if (local_a8 == (byte *)0x0) goto LAB_00192adb;\n        if ((local_a8[0x3a] & 0x10) != 0) {\n          local_a8 = (byte *)FUN_002ddad0(param_1,local_a8);\n        }\n        if ((local_a8[0x3a] & 7) == 0) {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          pbVar24 = *(byte **)(local_a8 + 0x10);\n          local_134 = uVar4 + local_150;\n          if ((pbVar24[0x3c] & 1) == 0) {\n            uVar10 = *(uint *)(local_a8 + 0x18);\n            bVar18 = local_a8[0x3b] >> 5 & 1;\n            uVar25 = (local_a8[0x38] & 0xf) < 2;\n            uVar29 = (local_a8[0x38] & 0xf) == 2;\n            if ((bool)uVar29) {\n              uVar25 = 0;\n              uVar29 = local_136 == '\0';\n              if (!(bool)uVar29) {\n                uVar25 = false;\n                uVar29 = bVar18 == 0;\n                if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }\n                local_100 = *(long *)(param_1 + 0x298) + 0x68;\n                local_d8 = pbVar24;\n                local_d0 = uVar10;\n                    /* try { // try from 00192ca4 to 00192e68 has its CatchHandler @ 00192fd7 */\n                FUN_001bcb90(local_100,&local_d8,&local_100,1);\n              }\n            }\n          }\n          else {\n            bVar18 = 0;\n            uVar10 = 0;\n            uVar25 = 0;\n            pbVar24 = (byte *)0x0;\n            uVar29 = 1;\n          }\n        }\n        else {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          bVar18 = 0;\n          uVar10 = 0;\n          uVar25 = 0;\n          pbVar24 = (byte *)0x0;\n          uVar29 = 1;\n          local_134 = uVar4 + local_150;\n        }\nLAB_00192930:\n        pbVar17 = *(byte **)local_a8;\n        lVar19 = 8;\n        pbVar20 = (byte *)"__start_";\n        pbVar21 = pbVar17;\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          uVar25 = *pbVar20 < *pbVar21;\n          uVar29 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n          pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n        } while ((bool)uVar29);\n        bVar26 = false;\n        bVar30 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;\n        if (bVar30) {\n          pbVar17 = pbVar17 + 8;\n        }\n        else {\n          lVar19 = 7;\n          pbVar20 = (byte *)"__stop_";\n          pbVar21 = pbVar17;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar21;\n            bVar30 = *pbVar20 == *pbVar21;\n            pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n            pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n          } while (bVar30);\n          pbVar17 = pbVar17 + 7;\n          if ((!bVar26 && !bVar30) != bVar26) {\n            pbVar17 = local_158;\n          }\n        }\n        local_158 = pbVar17;\n        if (bVar28) {\n          if (bVar18 == 0) {\n            local_58 = (byte *)0x0;\n            local_50 = (ulong)local_50._4_4_ << 0x20;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          else {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = pbVar24;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          puVar5 = *(undefined8 **)(local_170 + 8);\n          if (puVar5 == *(undefined8 **)(local_170 + 0x10)) {\n            FUN_001bbf50(local_170,puVar5,&local_a8);\n          }\n          else {\n            *puVar5 = local_a8;\n            *(undefined8 **)(local_170 + 8) = puVar5 + 1;\n          }\n          local_58 = (byte *)(ulong)local_150;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_b8 = (byte *)((ulong)local_b8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_b8);\n        }\n        if (bVar18 != 0) goto LAB_001925a8;\n      }\nLAB_00192480:\n      local_120 = local_120 + 1;\n      local_128 = local_128 + 3;\n    } while (param_6 != local_120);\n  }\n  if (local_78[0] != local_68) {\n    FUN_00338a40();\n  }\n  if ((local_98 != 0) && (local_90 != 0)) {\n    uVar16 = gettext("missing expected __tls_get_addr call");\n    FUN_001e1b30(local_90,local_88,local_80,uVar16);\n  }\n  return;\n}\n\n" (function_definition "void FUN_00192210(long param_1,long *param_2,byte *param_3,uint param_4,uint *param_5,long param_6,\n                 ulong param_7,long param_8)\n\n{\n  long *plVar1;\n  ushort uVar2;\n  uint uVar3;\n  uint uVar4;\n  undefined8 *puVar5;\n  code *pcVar6;\n  uint uVar7;\n  long lVar8;\n  char cVar9;\n  uint uVar10;\n  long lVar11;\n  long lVar12;\n  size_t sVar13;\n  long lVar14;\n  long lVar15;\n  undefined8 uVar16;\n  byte *pbVar17;\n  byte bVar18;\n  long lVar19;\n  byte *pbVar20;\n  byte *pbVar21;\n  uint uVar22;\n  ulong uVar23;\n  byte *pbVar24;\n  undefined1 uVar25;\n  bool bVar26;\n  bool bVar27;\n  bool bVar28;\n  undefined1 uVar29;\n  bool bVar30;\n  byte bVar31;\n  long local_188;\n  long local_180;\n  long local_178;\n  long local_170;\n  long local_168;\n  byte *local_158;\n  uint local_150;\n  char local_136;\n  int local_134;\n  uint *local_128;\n  long local_120;\n  undefined1 local_10a;\n  undefined1 local_109;\n  long local_108;\n  long local_100;\n  long local_f8;\n  long local_f0;\n  byte **local_e8;\n  byte **local_e0;\n  byte *local_d8;\n  uint local_d0;\n  byte *local_c8;\n  uint local_c0;\n  byte *local_b8;\n  uint local_b0;\n  byte *local_a8;\n  uint local_a0;\n  int local_98;\n  long local_90;\n  undefined8 local_88;\n  undefined4 local_80;\n  undefined1 local_7c;\n  byte *local_78 [2];\n  byte local_68 [16];\n  byte *local_58;\n  undefined8 local_50;\n  byte local_48 [24];\n  \n  bVar31 = 0;\n  local_7c = 0;\n  local_98 = 0;\n  local_90 = 0;\n  local_88 = 0;\n  local_80 = 0;\n  if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00192fa2 to 00192fa6 has its CatchHandler @ 00192fdf */\n    FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n  }\n  if (*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 0) {\n    local_78[0] = local_68;\n                    /* try { // try from 00192ecc to 00192eeb has its CatchHandler @ 00192fdf */\n    FUN_001bc4c0(local_78,"");\n  }\n  else if (*(code **)(*(long *)param_3 + 0x80) == FUN_001c3900) {\n                    /* try { // try from 001922c4 to 001922c8 has its CatchHandler @ 00192fdf */\n    FUN_001c3780(local_78,param_3 + 0xf8,param_4);\n  }\n  else {\n    (**(code **)(*(long *)param_3 + 0x80))(local_78,param_3,param_4);\n  }\n  pbVar24 = local_78[0];\n  if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n  }\n  if (*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 0) {\nLAB_001922eb:\n    bVar28 = false;\n    local_188 = 0;\n    local_168 = 0;\n    local_180 = 0;\n    local_170 = 0;\n    local_178 = 0;\n  }\n  else {\n    pbVar17 = (byte *)0xffffffffffffffff;\n    local_58 = local_48;\n    uVar25 = 0;\n    uVar29 = local_78[0] == (byte *)0x0;\n    if (!(bool)uVar29) {\n      sVar13 = strlen((char *)local_78[0]);\n      pbVar17 = pbVar24 + sVar13;\n    }\n    FUN_001bc4c0(&local_58,pbVar24,pbVar17);\n    lVar19 = 5;\n    pbVar24 = (byte *)".text";\n    pbVar17 = local_58;\n    do {\n      if (lVar19 == 0) break;\n      lVar19 = lVar19 + -1;\n      uVar25 = *pbVar24 < *pbVar17;\n      uVar29 = *pbVar24 == *pbVar17;\n      pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n      pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n    } while ((bool)uVar29);\n    bVar28 = false;\n    bVar26 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;\n    if (!bVar26) {\n      lVar19 = 0xf;\n      pbVar24 = (byte *)".gnu.linkonce.t";\n      pbVar17 = local_58;\n      do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar28 = *pbVar24 < *pbVar17;\n        bVar26 = *pbVar24 == *pbVar17;\n        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n      } while (bVar26);\n      if ((!bVar28 && !bVar26) != bVar28) {\n        if (local_58 != local_48) {\n          FUN_00338a40(local_58);\n        }\n        goto LAB_001922eb;\n      }\n    }\n    if (local_58 != local_48) {\n      FUN_00338a40(local_58);\n    }\n    local_50 = CONCAT44(local_50._4_4_,param_4);\n    local_58 = param_3;\n    local_178 = FUN_001c0160(*(long *)(param_1 + 0x298) + 0xa8,&local_58);\n    local_170 = local_178 + 0x18;\n    local_180 = local_178 + 0x30;\n    local_168 = local_178 + 0x48;\n    local_188 = local_178 + 0x60;\n    bVar28 = true;\n  }\n  if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00192fba to 00192fd6 has its CatchHandler @ 00192fd7 */\n    FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n  }\n  if ((*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 2) &&\n     (cVar9 = (**(code **)(*param_2 + 0x90))(param_2), cVar9 != '\0')) {\n    pcVar6 = *(code **)(*param_2 + 0x10);\n    if (pcVar6 != FUN_001ba9d0) {\n                    /* try { // try from 00192f0b to 00192f8e has its CatchHandler @ 00192fd7 */\n      local_136 = (*pcVar6)(param_2,local_78[0]);\n      goto LAB_0019234a;\n    }\n    pcVar6 = *(code **)(*param_2 + 0x98);\n    bVar26 = pcVar6 < FUN_001baa90;\n    bVar30 = pcVar6 == FUN_001baa90;\n    if (!bVar30) {\n      local_136 = (*pcVar6)(param_2,local_78[0]);\n      goto LAB_0019234a;\n    }\n    lVar19 = 0xc;\n    pbVar24 = (byte *)".rodata._ZTV";\n    pbVar17 = local_78[0];\n    do {\n      if (lVar19 == 0) break;\n      lVar19 = lVar19 + -1;\n      bVar26 = *pbVar24 < *pbVar17;\n      bVar30 = *pbVar24 == *pbVar17;\n      pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n      pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n    } while (bVar30);\n    bVar27 = false;\n    bVar26 = (!bVar26 && !bVar30) == bVar26;\n    if (!bVar26) {\n      lVar19 = 0x11;\n      pbVar24 = (byte *)".data.rel.ro._ZTV";\n      pbVar17 = local_78[0];\n      do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar27 = *pbVar24 < *pbVar17;\n        bVar26 = *pbVar24 == *pbVar17;\n        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n      } while (bVar26);\n      bVar30 = false;\n      bVar26 = (!bVar27 && !bVar26) == bVar27;\n      if (!bVar26) {\n        lVar19 = 0xc;\n        pbVar24 = (byte *)".rodata._ZTC";\n        pbVar17 = local_78[0];\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          bVar30 = *pbVar24 < *pbVar17;\n          bVar26 = *pbVar24 == *pbVar17;\n          pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n          pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n        } while (bVar26);\n        bVar27 = false;\n        bVar26 = (!bVar30 && !bVar26) == bVar30;\n        if (!bVar26) {\n          lVar19 = 0x11;\n          pbVar24 = (byte *)".data.rel.ro._ZTC";\n          pbVar17 = local_78[0];\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar27 = *pbVar24 < *pbVar17;\n            bVar26 = *pbVar24 == *pbVar17;\n            pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n            pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n          } while (bVar26);\n          bVar30 = false;\n          bVar26 = (!bVar27 && !bVar26) == bVar27;\n          if (!bVar26) {\n            lVar19 = 9;\n            pbVar24 = (byte *)".eh_frame";\n            pbVar17 = local_78[0];\n            do {\n              if (lVar19 == 0) break;\n              lVar19 = lVar19 + -1;\n              bVar30 = *pbVar24 < *pbVar17;\n              bVar26 = *pbVar24 == *pbVar17;\n              pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n              pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n            } while (bVar26);\n            local_136 = (!bVar30 && !bVar26) != bVar30;\n            goto LAB_0019234a;\n          }\n        }\n      }\n    }\n  }\n  local_136 = '\0';\nLAB_0019234a:\n  if (param_6 != 0) {\n    local_158 = (byte *)0x0;\n    local_120 = 0;\n    local_128 = param_5;\n    do {\n      uVar3 = local_128[1];\n      uVar4 = local_128[2];\n      uVar22 = uVar3 >> 8;\n      uVar7 = uVar3 & 0xff;\n      if (uVar22 < param_7) {\n        if (param_8 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/gc.h",0xea,"gc_process_relocs");\n        }\n        lVar19 = (ulong)(uVar22 << 4) + param_8;\n        uVar2 = *(ushort *)(lVar19 + 0xe);\n        uVar10 = (uint)uVar2;\n        if (uVar2 < 0xff00) {\nLAB_001924f6:\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (bVar28) {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = param_3;\n            FUN_001bdee0(local_178,&local_58);\n            bVar26 = true;\n            if ((*(byte *)(lVar19 + 0xc) & 0xf) == 3) goto LAB_0019253e;\nLAB_001923f0:\n            local_58 = (byte *)0x0;\n            FUN_001be560(local_170,&local_58);\n            goto LAB_0019240b;\n          }\n        }\n        else {\n          if (uVar2 == 0xffff) {\n            lVar14 = *(long *)(param_3 + 0x40);\n            if (lVar14 == 0) {\n              lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3);\n              *(long *)(param_3 + 0x40) = lVar14;\n            }\n            uVar10 = FUN_0022a020(lVar14,param_3,uVar22);\n            goto LAB_001924f6;\n          }\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (!bVar28) goto LAB_00192480;\n          local_58 = (byte *)0x0;\n          local_50 = local_50 & 0xffffffff00000000;\n                    /* try { // try from 001923d5 to 00192be2 has its CatchHandler @ 00192fd7 */\n          FUN_001bdee0(local_178,&local_58);\n          bVar26 = false;\n          if ((*(byte *)(lVar19 + 0xc) & 0xf) != 3) goto LAB_001923f0;\nLAB_0019253e:\n          local_58 = (byte *)0xffffffffffffffff;\n          FUN_001be560(local_170,&local_58);\nLAB_0019240b:\n          local_58 = pbVar24;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_a8 = (byte *)((ulong)local_a8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_a8);\n          if (!bVar26) goto LAB_00192480;\n        }\n        if (((local_136 != '\0') && ((*(byte *)(lVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar7 || ((0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) == 0)))) {\n          local_c0 = (uint)*(ushort *)(lVar19 + 0xe);\n          local_108 = *(long *)(param_1 + 0x298) + 0x68;\n          local_c8 = param_3;\n          FUN_001bcb90(local_108,&local_c8,&local_108,1);\n        }\n        pbVar24 = param_3;\n        if (param_4 != uVar10) {\nLAB_001925a8:\n          if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n          }\n          if (*(char *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809) != '\0') {\n            lVar14 = *(long *)(param_1 + 0x290);\n            lVar19 = lVar14 + 0x28;\n            lVar11 = lVar19;\n            lVar12 = lVar19;\n            lVar15 = *(long *)(lVar14 + 0x30);\n            local_b8 = param_3;\n            local_b0 = param_4;\n            local_a8 = pbVar24;\n            local_a0 = uVar10;\n            if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192660:\n              local_e8 = &local_b8;\n              lVar12 = FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a);\n            }\n            else {\n              do {\n                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }\n                lVar11 = lVar12;\n                lVar15 = *(long *)(lVar12 + 0x10);\n              } while (*(long *)(lVar12 + 0x10) != 0);\nLAB_0019263a:\n              if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))\n              goto LAB_00192660;\n            }\n            local_f0 = lVar12 + 0x30;\n            FUN_001bcaf0(local_f0,&local_a8,&local_f0,1);\n            plVar1 = *(long **)(PTR_DAT_004ba7c8 + 0x18);\n            if (plVar1 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_001e9890("../../gold/parameters.h",0x73,"sized_target");\n            }\n            (**(code **)(*plVar1 + 0x208))(plVar1,param_1,param_3,param_4,pbVar24,uVar10,local_134);\n            if (local_158 != (byte *)0x0) {\n              lVar19 = *(long *)(param_1 + 0x290);\n              local_58 = local_48;\n              sVar13 = strlen((char *)local_158);\n              FUN_001bc4c0(&local_58,local_158,local_158 + sVar13);\n              lVar19 = FUN_001be060(lVar19 + 0x88,&local_58);\n              if (local_58 != local_48) {\n                FUN_00338a40();\n              }\n              lVar14 = *(long *)(param_1 + 0x290);\n              if (lVar19 != lVar14 + 0x90) {\n                lVar11 = lVar14 + 0x28;\n                local_50 = CONCAT44(local_50._4_4_,param_4);\n                lVar12 = lVar11;\n                lVar15 = lVar11;\n                lVar8 = *(long *)(lVar14 + 0x30);\n                if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }\n                else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }\n                for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;\n                    puVar5 = (undefined8 *)*puVar5) {\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (uVar22 < *(uint *)(param_3 + 0x120)) {\n          local_a8 = (byte *)0x0;\nLAB_00192adb:\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/gc.h",0x11c,"gc_process_relocs");\n        }\n        uVar23 = (ulong)(uVar22 - *(uint *)(param_3 + 0x120));\n        if ((ulong)(*(long *)(param_3 + 0x138) - *(long *)(param_3 + 0x130) >> 3) <= uVar23) {\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/object.h",0x8ad,"global_symbol");\n        }\n        local_a8 = *(byte **)(*(long *)(param_3 + 0x130) + uVar23 * 8);\n        if (local_a8 == (byte *)0x0) goto LAB_00192adb;\n        if ((local_a8[0x3a] & 0x10) != 0) {\n          local_a8 = (byte *)FUN_002ddad0(param_1,local_a8);\n        }\n        if ((local_a8[0x3a] & 7) == 0) {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          pbVar24 = *(byte **)(local_a8 + 0x10);\n          local_134 = uVar4 + local_150;\n          if ((pbVar24[0x3c] & 1) == 0) {\n            uVar10 = *(uint *)(local_a8 + 0x18);\n            bVar18 = local_a8[0x3b] >> 5 & 1;\n            uVar25 = (local_a8[0x38] & 0xf) < 2;\n            uVar29 = (local_a8[0x38] & 0xf) == 2;\n            if ((bool)uVar29) {\n              uVar25 = 0;\n              uVar29 = local_136 == '\0';\n              if (!(bool)uVar29) {\n                uVar25 = false;\n                uVar29 = bVar18 == 0;\n                if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }\n                local_100 = *(long *)(param_1 + 0x298) + 0x68;\n                local_d8 = pbVar24;\n                local_d0 = uVar10;\n                    /* try { // try from 00192ca4 to 00192e68 has its CatchHandler @ 00192fd7 */\n                FUN_001bcb90(local_100,&local_d8,&local_100,1);\n              }\n            }\n          }\n          else {\n            bVar18 = 0;\n            uVar10 = 0;\n            uVar25 = 0;\n            pbVar24 = (byte *)0x0;\n            uVar29 = 1;\n          }\n        }\n        else {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          bVar18 = 0;\n          uVar10 = 0;\n          uVar25 = 0;\n          pbVar24 = (byte *)0x0;\n          uVar29 = 1;\n          local_134 = uVar4 + local_150;\n        }\nLAB_00192930:\n        pbVar17 = *(byte **)local_a8;\n        lVar19 = 8;\n        pbVar20 = (byte *)"__start_";\n        pbVar21 = pbVar17;\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          uVar25 = *pbVar20 < *pbVar21;\n          uVar29 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n          pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n        } while ((bool)uVar29);\n        bVar26 = false;\n        bVar30 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;\n        if (bVar30) {\n          pbVar17 = pbVar17 + 8;\n        }\n        else {\n          lVar19 = 7;\n          pbVar20 = (byte *)"__stop_";\n          pbVar21 = pbVar17;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar21;\n            bVar30 = *pbVar20 == *pbVar21;\n            pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n            pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n          } while (bVar30);\n          pbVar17 = pbVar17 + 7;\n          if ((!bVar26 && !bVar30) != bVar26) {\n            pbVar17 = local_158;\n          }\n        }\n        local_158 = pbVar17;\n        if (bVar28) {\n          if (bVar18 == 0) {\n            local_58 = (byte *)0x0;\n            local_50 = (ulong)local_50._4_4_ << 0x20;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          else {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = pbVar24;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          puVar5 = *(undefined8 **)(local_170 + 8);\n          if (puVar5 == *(undefined8 **)(local_170 + 0x10)) {\n            FUN_001bbf50(local_170,puVar5,&local_a8);\n          }\n          else {\n            *puVar5 = local_a8;\n            *(undefined8 **)(local_170 + 8) = puVar5 + 1;\n          }\n          local_58 = (byte *)(ulong)local_150;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_b8 = (byte *)((ulong)local_b8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_b8);\n        }\n        if (bVar18 != 0) goto LAB_001925a8;\n      }\nLAB_00192480:\n      local_120 = local_120 + 1;\n      local_128 = local_128 + 3;\n    } while (param_6 != local_120);\n  }\n  if (local_78[0] != local_68) {\n    FUN_00338a40();\n  }\n  if ((local_98 != 0) && (local_90 != 0)) {\n    uVar16 = gettext("missing expected __tls_get_addr call");\n    FUN_001e1b30(local_90,local_88,local_80,uVar16);\n  }\n  return;\n}" primitive_type (function_declarator "FUN_00192210(long param_1,long *param_2,byte *param_3,uint param_4,uint *param_5,long param_6,\n                 ulong param_7,long param_8)" identifier (parameter_list "(long param_1,long *param_2,byte *param_3,uint param_4,uint *param_5,long param_6,\n                 ulong param_7,long param_8)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long *param_2" (sized_type_specifier "long" long) (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "byte *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "uint param_4" type_identifier identifier) , (parameter_declaration "uint *param_5" type_identifier (pointer_declarator "*param_5" * identifier)) , (parameter_declaration "long param_6" (sized_type_specifier "long" long) identifier) , (parameter_declaration "ulong param_7" type_identifier identifier) , (parameter_declaration "long param_8" (sized_type_specifier "long" long) identifier) ))) (compound_statement "{\n  long *plVar1;\n  ushort uVar2;\n  uint uVar3;\n  uint uVar4;\n  undefined8 *puVar5;\n  code *pcVar6;\n  uint uVar7;\n  long lVar8;\n  char cVar9;\n  uint uVar10;\n  long lVar11;\n  long lVar12;\n  size_t sVar13;\n  long lVar14;\n  long lVar15;\n  undefined8 uVar16;\n  byte *pbVar17;\n  byte bVar18;\n  long lVar19;\n  byte *pbVar20;\n  byte *pbVar21;\n  uint uVar22;\n  ulong uVar23;\n  byte *pbVar24;\n  undefined1 uVar25;\n  bool bVar26;\n  bool bVar27;\n  bool bVar28;\n  undefined1 uVar29;\n  bool bVar30;\n  byte bVar31;\n  long local_188;\n  long local_180;\n  long local_178;\n  long local_170;\n  long local_168;\n  byte *local_158;\n  uint local_150;\n  char local_136;\n  int local_134;\n  uint *local_128;\n  long local_120;\n  undefined1 local_10a;\n  undefined1 local_109;\n  long local_108;\n  long local_100;\n  long local_f8;\n  long local_f0;\n  byte **local_e8;\n  byte **local_e0;\n  byte *local_d8;\n  uint local_d0;\n  byte *local_c8;\n  uint local_c0;\n  byte *local_b8;\n  uint local_b0;\n  byte *local_a8;\n  uint local_a0;\n  int local_98;\n  long local_90;\n  undefined8 local_88;\n  undefined4 local_80;\n  undefined1 local_7c;\n  byte *local_78 [2];\n  byte local_68 [16];\n  byte *local_58;\n  undefined8 local_50;\n  byte local_48 [24];\n  \n  bVar31 = 0;\n  local_7c = 0;\n  local_98 = 0;\n  local_90 = 0;\n  local_88 = 0;\n  local_80 = 0;\n  if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00192fa2 to 00192fa6 has its CatchHandler @ 00192fdf */\n    FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n  }\n  if (*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 0) {\n    local_78[0] = local_68;\n                    /* try { // try from 00192ecc to 00192eeb has its CatchHandler @ 00192fdf */\n    FUN_001bc4c0(local_78,"");\n  }\n  else if (*(code **)(*(long *)param_3 + 0x80) == FUN_001c3900) {\n                    /* try { // try from 001922c4 to 001922c8 has its CatchHandler @ 00192fdf */\n    FUN_001c3780(local_78,param_3 + 0xf8,param_4);\n  }\n  else {\n    (**(code **)(*(long *)param_3 + 0x80))(local_78,param_3,param_4);\n  }\n  pbVar24 = local_78[0];\n  if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n  }\n  if (*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 0) {\nLAB_001922eb:\n    bVar28 = false;\n    local_188 = 0;\n    local_168 = 0;\n    local_180 = 0;\n    local_170 = 0;\n    local_178 = 0;\n  }\n  else {\n    pbVar17 = (byte *)0xffffffffffffffff;\n    local_58 = local_48;\n    uVar25 = 0;\n    uVar29 = local_78[0] == (byte *)0x0;\n    if (!(bool)uVar29) {\n      sVar13 = strlen((char *)local_78[0]);\n      pbVar17 = pbVar24 + sVar13;\n    }\n    FUN_001bc4c0(&local_58,pbVar24,pbVar17);\n    lVar19 = 5;\n    pbVar24 = (byte *)".text";\n    pbVar17 = local_58;\n    do {\n      if (lVar19 == 0) break;\n      lVar19 = lVar19 + -1;\n      uVar25 = *pbVar24 < *pbVar17;\n      uVar29 = *pbVar24 == *pbVar17;\n      pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n      pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n    } while ((bool)uVar29);\n    bVar28 = false;\n    bVar26 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;\n    if (!bVar26) {\n      lVar19 = 0xf;\n      pbVar24 = (byte *)".gnu.linkonce.t";\n      pbVar17 = local_58;\n      do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar28 = *pbVar24 < *pbVar17;\n        bVar26 = *pbVar24 == *pbVar17;\n        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n      } while (bVar26);\n      if ((!bVar28 && !bVar26) != bVar28) {\n        if (local_58 != local_48) {\n          FUN_00338a40(local_58);\n        }\n        goto LAB_001922eb;\n      }\n    }\n    if (local_58 != local_48) {\n      FUN_00338a40(local_58);\n    }\n    local_50 = CONCAT44(local_50._4_4_,param_4);\n    local_58 = param_3;\n    local_178 = FUN_001c0160(*(long *)(param_1 + 0x298) + 0xa8,&local_58);\n    local_170 = local_178 + 0x18;\n    local_180 = local_178 + 0x30;\n    local_168 = local_178 + 0x48;\n    local_188 = local_178 + 0x60;\n    bVar28 = true;\n  }\n  if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00192fba to 00192fd6 has its CatchHandler @ 00192fd7 */\n    FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n  }\n  if ((*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 2) &&\n     (cVar9 = (**(code **)(*param_2 + 0x90))(param_2), cVar9 != '\0')) {\n    pcVar6 = *(code **)(*param_2 + 0x10);\n    if (pcVar6 != FUN_001ba9d0) {\n                    /* try { // try from 00192f0b to 00192f8e has its CatchHandler @ 00192fd7 */\n      local_136 = (*pcVar6)(param_2,local_78[0]);\n      goto LAB_0019234a;\n    }\n    pcVar6 = *(code **)(*param_2 + 0x98);\n    bVar26 = pcVar6 < FUN_001baa90;\n    bVar30 = pcVar6 == FUN_001baa90;\n    if (!bVar30) {\n      local_136 = (*pcVar6)(param_2,local_78[0]);\n      goto LAB_0019234a;\n    }\n    lVar19 = 0xc;\n    pbVar24 = (byte *)".rodata._ZTV";\n    pbVar17 = local_78[0];\n    do {\n      if (lVar19 == 0) break;\n      lVar19 = lVar19 + -1;\n      bVar26 = *pbVar24 < *pbVar17;\n      bVar30 = *pbVar24 == *pbVar17;\n      pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n      pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n    } while (bVar30);\n    bVar27 = false;\n    bVar26 = (!bVar26 && !bVar30) == bVar26;\n    if (!bVar26) {\n      lVar19 = 0x11;\n      pbVar24 = (byte *)".data.rel.ro._ZTV";\n      pbVar17 = local_78[0];\n      do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar27 = *pbVar24 < *pbVar17;\n        bVar26 = *pbVar24 == *pbVar17;\n        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n      } while (bVar26);\n      bVar30 = false;\n      bVar26 = (!bVar27 && !bVar26) == bVar27;\n      if (!bVar26) {\n        lVar19 = 0xc;\n        pbVar24 = (byte *)".rodata._ZTC";\n        pbVar17 = local_78[0];\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          bVar30 = *pbVar24 < *pbVar17;\n          bVar26 = *pbVar24 == *pbVar17;\n          pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n          pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n        } while (bVar26);\n        bVar27 = false;\n        bVar26 = (!bVar30 && !bVar26) == bVar30;\n        if (!bVar26) {\n          lVar19 = 0x11;\n          pbVar24 = (byte *)".data.rel.ro._ZTC";\n          pbVar17 = local_78[0];\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar27 = *pbVar24 < *pbVar17;\n            bVar26 = *pbVar24 == *pbVar17;\n            pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n            pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n          } while (bVar26);\n          bVar30 = false;\n          bVar26 = (!bVar27 && !bVar26) == bVar27;\n          if (!bVar26) {\n            lVar19 = 9;\n            pbVar24 = (byte *)".eh_frame";\n            pbVar17 = local_78[0];\n            do {\n              if (lVar19 == 0) break;\n              lVar19 = lVar19 + -1;\n              bVar30 = *pbVar24 < *pbVar17;\n              bVar26 = *pbVar24 == *pbVar17;\n              pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n              pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n            } while (bVar26);\n            local_136 = (!bVar30 && !bVar26) != bVar30;\n            goto LAB_0019234a;\n          }\n        }\n      }\n    }\n  }\n  local_136 = '\0';\nLAB_0019234a:\n  if (param_6 != 0) {\n    local_158 = (byte *)0x0;\n    local_120 = 0;\n    local_128 = param_5;\n    do {\n      uVar3 = local_128[1];\n      uVar4 = local_128[2];\n      uVar22 = uVar3 >> 8;\n      uVar7 = uVar3 & 0xff;\n      if (uVar22 < param_7) {\n        if (param_8 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/gc.h",0xea,"gc_process_relocs");\n        }\n        lVar19 = (ulong)(uVar22 << 4) + param_8;\n        uVar2 = *(ushort *)(lVar19 + 0xe);\n        uVar10 = (uint)uVar2;\n        if (uVar2 < 0xff00) {\nLAB_001924f6:\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (bVar28) {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = param_3;\n            FUN_001bdee0(local_178,&local_58);\n            bVar26 = true;\n            if ((*(byte *)(lVar19 + 0xc) & 0xf) == 3) goto LAB_0019253e;\nLAB_001923f0:\n            local_58 = (byte *)0x0;\n            FUN_001be560(local_170,&local_58);\n            goto LAB_0019240b;\n          }\n        }\n        else {\n          if (uVar2 == 0xffff) {\n            lVar14 = *(long *)(param_3 + 0x40);\n            if (lVar14 == 0) {\n              lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3);\n              *(long *)(param_3 + 0x40) = lVar14;\n            }\n            uVar10 = FUN_0022a020(lVar14,param_3,uVar22);\n            goto LAB_001924f6;\n          }\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (!bVar28) goto LAB_00192480;\n          local_58 = (byte *)0x0;\n          local_50 = local_50 & 0xffffffff00000000;\n                    /* try { // try from 001923d5 to 00192be2 has its CatchHandler @ 00192fd7 */\n          FUN_001bdee0(local_178,&local_58);\n          bVar26 = false;\n          if ((*(byte *)(lVar19 + 0xc) & 0xf) != 3) goto LAB_001923f0;\nLAB_0019253e:\n          local_58 = (byte *)0xffffffffffffffff;\n          FUN_001be560(local_170,&local_58);\nLAB_0019240b:\n          local_58 = pbVar24;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_a8 = (byte *)((ulong)local_a8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_a8);\n          if (!bVar26) goto LAB_00192480;\n        }\n        if (((local_136 != '\0') && ((*(byte *)(lVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar7 || ((0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) == 0)))) {\n          local_c0 = (uint)*(ushort *)(lVar19 + 0xe);\n          local_108 = *(long *)(param_1 + 0x298) + 0x68;\n          local_c8 = param_3;\n          FUN_001bcb90(local_108,&local_c8,&local_108,1);\n        }\n        pbVar24 = param_3;\n        if (param_4 != uVar10) {\nLAB_001925a8:\n          if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n          }\n          if (*(char *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809) != '\0') {\n            lVar14 = *(long *)(param_1 + 0x290);\n            lVar19 = lVar14 + 0x28;\n            lVar11 = lVar19;\n            lVar12 = lVar19;\n            lVar15 = *(long *)(lVar14 + 0x30);\n            local_b8 = param_3;\n            local_b0 = param_4;\n            local_a8 = pbVar24;\n            local_a0 = uVar10;\n            if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192660:\n              local_e8 = &local_b8;\n              lVar12 = FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a);\n            }\n            else {\n              do {\n                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }\n                lVar11 = lVar12;\n                lVar15 = *(long *)(lVar12 + 0x10);\n              } while (*(long *)(lVar12 + 0x10) != 0);\nLAB_0019263a:\n              if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))\n              goto LAB_00192660;\n            }\n            local_f0 = lVar12 + 0x30;\n            FUN_001bcaf0(local_f0,&local_a8,&local_f0,1);\n            plVar1 = *(long **)(PTR_DAT_004ba7c8 + 0x18);\n            if (plVar1 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_001e9890("../../gold/parameters.h",0x73,"sized_target");\n            }\n            (**(code **)(*plVar1 + 0x208))(plVar1,param_1,param_3,param_4,pbVar24,uVar10,local_134);\n            if (local_158 != (byte *)0x0) {\n              lVar19 = *(long *)(param_1 + 0x290);\n              local_58 = local_48;\n              sVar13 = strlen((char *)local_158);\n              FUN_001bc4c0(&local_58,local_158,local_158 + sVar13);\n              lVar19 = FUN_001be060(lVar19 + 0x88,&local_58);\n              if (local_58 != local_48) {\n                FUN_00338a40();\n              }\n              lVar14 = *(long *)(param_1 + 0x290);\n              if (lVar19 != lVar14 + 0x90) {\n                lVar11 = lVar14 + 0x28;\n                local_50 = CONCAT44(local_50._4_4_,param_4);\n                lVar12 = lVar11;\n                lVar15 = lVar11;\n                lVar8 = *(long *)(lVar14 + 0x30);\n                if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }\n                else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }\n                for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;\n                    puVar5 = (undefined8 *)*puVar5) {\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (uVar22 < *(uint *)(param_3 + 0x120)) {\n          local_a8 = (byte *)0x0;\nLAB_00192adb:\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/gc.h",0x11c,"gc_process_relocs");\n        }\n        uVar23 = (ulong)(uVar22 - *(uint *)(param_3 + 0x120));\n        if ((ulong)(*(long *)(param_3 + 0x138) - *(long *)(param_3 + 0x130) >> 3) <= uVar23) {\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/object.h",0x8ad,"global_symbol");\n        }\n        local_a8 = *(byte **)(*(long *)(param_3 + 0x130) + uVar23 * 8);\n        if (local_a8 == (byte *)0x0) goto LAB_00192adb;\n        if ((local_a8[0x3a] & 0x10) != 0) {\n          local_a8 = (byte *)FUN_002ddad0(param_1,local_a8);\n        }\n        if ((local_a8[0x3a] & 7) == 0) {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          pbVar24 = *(byte **)(local_a8 + 0x10);\n          local_134 = uVar4 + local_150;\n          if ((pbVar24[0x3c] & 1) == 0) {\n            uVar10 = *(uint *)(local_a8 + 0x18);\n            bVar18 = local_a8[0x3b] >> 5 & 1;\n            uVar25 = (local_a8[0x38] & 0xf) < 2;\n            uVar29 = (local_a8[0x38] & 0xf) == 2;\n            if ((bool)uVar29) {\n              uVar25 = 0;\n              uVar29 = local_136 == '\0';\n              if (!(bool)uVar29) {\n                uVar25 = false;\n                uVar29 = bVar18 == 0;\n                if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }\n                local_100 = *(long *)(param_1 + 0x298) + 0x68;\n                local_d8 = pbVar24;\n                local_d0 = uVar10;\n                    /* try { // try from 00192ca4 to 00192e68 has its CatchHandler @ 00192fd7 */\n                FUN_001bcb90(local_100,&local_d8,&local_100,1);\n              }\n            }\n          }\n          else {\n            bVar18 = 0;\n            uVar10 = 0;\n            uVar25 = 0;\n            pbVar24 = (byte *)0x0;\n            uVar29 = 1;\n          }\n        }\n        else {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          bVar18 = 0;\n          uVar10 = 0;\n          uVar25 = 0;\n          pbVar24 = (byte *)0x0;\n          uVar29 = 1;\n          local_134 = uVar4 + local_150;\n        }\nLAB_00192930:\n        pbVar17 = *(byte **)local_a8;\n        lVar19 = 8;\n        pbVar20 = (byte *)"__start_";\n        pbVar21 = pbVar17;\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          uVar25 = *pbVar20 < *pbVar21;\n          uVar29 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n          pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n        } while ((bool)uVar29);\n        bVar26 = false;\n        bVar30 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;\n        if (bVar30) {\n          pbVar17 = pbVar17 + 8;\n        }\n        else {\n          lVar19 = 7;\n          pbVar20 = (byte *)"__stop_";\n          pbVar21 = pbVar17;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar21;\n            bVar30 = *pbVar20 == *pbVar21;\n            pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n            pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n          } while (bVar30);\n          pbVar17 = pbVar17 + 7;\n          if ((!bVar26 && !bVar30) != bVar26) {\n            pbVar17 = local_158;\n          }\n        }\n        local_158 = pbVar17;\n        if (bVar28) {\n          if (bVar18 == 0) {\n            local_58 = (byte *)0x0;\n            local_50 = (ulong)local_50._4_4_ << 0x20;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          else {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = pbVar24;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          puVar5 = *(undefined8 **)(local_170 + 8);\n          if (puVar5 == *(undefined8 **)(local_170 + 0x10)) {\n            FUN_001bbf50(local_170,puVar5,&local_a8);\n          }\n          else {\n            *puVar5 = local_a8;\n            *(undefined8 **)(local_170 + 8) = puVar5 + 1;\n          }\n          local_58 = (byte *)(ulong)local_150;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_b8 = (byte *)((ulong)local_b8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_b8);\n        }\n        if (bVar18 != 0) goto LAB_001925a8;\n      }\nLAB_00192480:\n      local_120 = local_120 + 1;\n      local_128 = local_128 + 3;\n    } while (param_6 != local_120);\n  }\n  if (local_78[0] != local_68) {\n    FUN_00338a40();\n  }\n  if ((local_98 != 0) && (local_90 != 0)) {\n    uVar16 = gettext("missing expected __tls_get_addr call");\n    FUN_001e1b30(local_90,local_88,local_80,uVar16);\n  }\n  return;\n}" { (declaration "long *plVar1;" (sized_type_specifier "long" long) (pointer_declarator "*plVar1" * identifier) ;) (declaration "ushort uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "undefined8 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "code *pcVar6;" type_identifier (pointer_declarator "*pcVar6" * identifier) ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "long lVar8;" (sized_type_specifier "long" long) identifier ;) (declaration "char cVar9;" primitive_type identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "long lVar11;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar12;" (sized_type_specifier "long" long) identifier ;) (declaration "size_t sVar13;" primitive_type identifier ;) (declaration "long lVar14;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar15;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 uVar16;" type_identifier identifier ;) (declaration "byte *pbVar17;" type_identifier (pointer_declarator "*pbVar17" * identifier) ;) (declaration "byte bVar18;" type_identifier identifier ;) (declaration "long lVar19;" (sized_type_specifier "long" long) identifier ;) (declaration "byte *pbVar20;" type_identifier (pointer_declarator "*pbVar20" * identifier) ;) (declaration "byte *pbVar21;" type_identifier (pointer_declarator "*pbVar21" * identifier) ;) (declaration "uint uVar22;" type_identifier identifier ;) (declaration "ulong uVar23;" type_identifier identifier ;) (declaration "byte *pbVar24;" type_identifier (pointer_declarator "*pbVar24" * identifier) ;) (declaration "undefined1 uVar25;" type_identifier identifier ;) (declaration "bool bVar26;" primitive_type identifier ;) (declaration "bool bVar27;" primitive_type identifier ;) (declaration "bool bVar28;" primitive_type identifier ;) (declaration "undefined1 uVar29;" type_identifier identifier ;) (declaration "bool bVar30;" primitive_type identifier ;) (declaration "byte bVar31;" type_identifier identifier ;) (declaration "long local_188;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_180;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_178;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_170;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_168;" (sized_type_specifier "long" long) identifier ;) (declaration "byte *local_158;" type_identifier (pointer_declarator "*local_158" * identifier) ;) (declaration "uint local_150;" type_identifier identifier ;) (declaration "char local_136;" primitive_type identifier ;) (declaration "int local_134;" primitive_type identifier ;) (declaration "uint *local_128;" type_identifier (pointer_declarator "*local_128" * identifier) ;) (declaration "long local_120;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined1 local_10a;" type_identifier identifier ;) (declaration "undefined1 local_109;" type_identifier identifier ;) (declaration "long local_108;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_100;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_f8;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_f0;" (sized_type_specifier "long" long) identifier ;) (declaration "byte **local_e8;" type_identifier (pointer_declarator "**local_e8" * (pointer_declarator "*local_e8" * identifier)) ;) (declaration "byte **local_e0;" type_identifier (pointer_declarator "**local_e0" * (pointer_declarator "*local_e0" * identifier)) ;) (declaration "byte *local_d8;" type_identifier (pointer_declarator "*local_d8" * identifier) ;) (declaration "uint local_d0;" type_identifier identifier ;) (declaration "byte *local_c8;" type_identifier (pointer_declarator "*local_c8" * identifier) ;) (declaration "uint local_c0;" type_identifier identifier ;) (declaration "byte *local_b8;" type_identifier (pointer_declarator "*local_b8" * identifier) ;) (declaration "uint local_b0;" type_identifier identifier ;) (declaration "byte *local_a8;" type_identifier (pointer_declarator "*local_a8" * identifier) ;) (declaration "uint local_a0;" type_identifier identifier ;) (declaration "int local_98;" primitive_type identifier ;) (declaration "long local_90;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 local_88;" type_identifier identifier ;) (declaration "undefined4 local_80;" type_identifier identifier ;) (declaration "undefined1 local_7c;" type_identifier identifier ;) (declaration "byte *local_78 [2];" type_identifier (pointer_declarator "*local_78 [2]" * (array_declarator "local_78 [2]" identifier [ number_literal ])) ;) (declaration "byte local_68 [16];" type_identifier (array_declarator "local_68 [16]" identifier [ number_literal ]) ;) (declaration "byte *local_58;" type_identifier (pointer_declarator "*local_58" * identifier) ;) (declaration "undefined8 local_50;" type_identifier identifier ;) (declaration "byte local_48 [24];" type_identifier (array_declarator "local_48 [24]" identifier [ number_literal ]) ;) (expression_statement "bVar31 = 0;" (assignment_expression "bVar31 = 0" identifier = number_literal) ;) (expression_statement "local_7c = 0;" (assignment_expression "local_7c = 0" identifier = number_literal) ;) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" identifier = number_literal) ;) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;) (expression_statement "local_88 = 0;" (assignment_expression "local_88 = 0" identifier = number_literal) ;) (expression_statement "local_80 = 0;" (assignment_expression "local_80 = 0" identifier = number_literal) ;) (if_statement "if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00192fa2 to 00192fa6 has its CatchHandler @ 00192fdf */\n    FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n  }" if (parenthesized_expression "(*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0)" ( (binary_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0" (pointer_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10)" * (cast_expression "(long *)(PTR_DAT_004ba7c8 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_004ba7c8 + 0x10)" ( (binary_expression "PTR_DAT_004ba7c8 + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00192fa2 to 00192fa6 has its CatchHandler @ 00192fdf */\n    FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n  }" { comment comment (expression_statement "FUN_001e9890("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_001e9890("../../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 *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 0) {\n    local_78[0] = local_68;\n                    /* try { // try from 00192ecc to 00192eeb has its CatchHandler @ 00192fdf */\n    FUN_001bc4c0(local_78,"");\n  }\n  else if (*(code **)(*(long *)param_3 + 0x80) == FUN_001c3900) {\n                    /* try { // try from 001922c4 to 001922c8 has its CatchHandler @ 00192fdf */\n    FUN_001c3780(local_78,param_3 + 0xf8,param_4);\n  }\n  else {\n    (**(code **)(*(long *)param_3 + 0x80))(local_78,param_3,param_4);\n  }" if (parenthesized_expression "(*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 0)" ( (binary_expression "*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 0" (pointer_expression "*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050)" * (cast_expression "(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050)" ( (binary_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050" (pointer_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10)" * (cast_expression "(long *)(PTR_DAT_004ba7c8 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_004ba7c8 + 0x10)" ( (binary_expression "PTR_DAT_004ba7c8 + 0x10" identifier + number_literal) )))) + number_literal) )))) == number_literal) )) (compound_statement "{\n    local_78[0] = local_68;\n                    /* try { // try from 00192ecc to 00192eeb has its CatchHandler @ 00192fdf */\n    FUN_001bc4c0(local_78,"");\n  }" { (expression_statement "local_78[0] = local_68;" (assignment_expression "local_78[0] = local_68" (subscript_expression "local_78[0]" identifier [ number_literal ]) = identifier) ;) comment (expression_statement "FUN_001bc4c0(local_78,"");" (call_expression "FUN_001bc4c0(local_78,"")" identifier (argument_list "(local_78,"")" ( identifier , (string_literal """" " ") ))) ;) }) (else_clause "else if (*(code **)(*(long *)param_3 + 0x80) == FUN_001c3900) {\n                    /* try { // try from 001922c4 to 001922c8 has its CatchHandler @ 00192fdf */\n    FUN_001c3780(local_78,param_3 + 0xf8,param_4);\n  }\n  else {\n    (**(code **)(*(long *)param_3 + 0x80))(local_78,param_3,param_4);\n  }" else (if_statement "if (*(code **)(*(long *)param_3 + 0x80) == FUN_001c3900) {\n                    /* try { // try from 001922c4 to 001922c8 has its CatchHandler @ 00192fdf */\n    FUN_001c3780(local_78,param_3 + 0xf8,param_4);\n  }\n  else {\n    (**(code **)(*(long *)param_3 + 0x80))(local_78,param_3,param_4);\n  }" if (parenthesized_expression "(*(code **)(*(long *)param_3 + 0x80) == FUN_001c3900)" ( (binary_expression "*(code **)(*(long *)param_3 + 0x80) == FUN_001c3900" (pointer_expression "*(code **)(*(long *)param_3 + 0x80)" * (cast_expression "(code **)(*(long *)param_3 + 0x80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)param_3 + 0x80)" ( (binary_expression "*(long *)param_3 + 0x80" (pointer_expression "*(long *)param_3" * (cast_expression "(long *)param_3" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) == identifier) )) (compound_statement "{\n                    /* try { // try from 001922c4 to 001922c8 has its CatchHandler @ 00192fdf */\n    FUN_001c3780(local_78,param_3 + 0xf8,param_4);\n  }" { comment (expression_statement "FUN_001c3780(local_78,param_3 + 0xf8,param_4);" (call_expression "FUN_001c3780(local_78,param_3 + 0xf8,param_4)" identifier (argument_list "(local_78,param_3 + 0xf8,param_4)" ( identifier , (binary_expression "param_3 + 0xf8" identifier + number_literal) , identifier ))) ;) }) (else_clause "else {\n    (**(code **)(*(long *)param_3 + 0x80))(local_78,param_3,param_4);\n  }" else (compound_statement "{\n    (**(code **)(*(long *)param_3 + 0x80))(local_78,param_3,param_4);\n  }" { (expression_statement "(**(code **)(*(long *)param_3 + 0x80))(local_78,param_3,param_4);" (call_expression "(**(code **)(*(long *)param_3 + 0x80))(local_78,param_3,param_4)" (parenthesized_expression "(**(code **)(*(long *)param_3 + 0x80))" ( (pointer_expression "**(code **)(*(long *)param_3 + 0x80)" * (pointer_expression "*(code **)(*(long *)param_3 + 0x80)" * (cast_expression "(code **)(*(long *)param_3 + 0x80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)param_3 + 0x80)" ( (binary_expression "*(long *)param_3 + 0x80" (pointer_expression "*(long *)param_3" * (cast_expression "(long *)param_3" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) )) (argument_list "(local_78,param_3,param_4)" ( identifier , identifier , identifier ))) ;) }))))) (expression_statement "pbVar24 = local_78[0];" (assignment_expression "pbVar24 = local_78[0]" identifier = (subscript_expression "local_78[0]" identifier [ number_literal ])) ;) (if_statement "if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n  }" if (parenthesized_expression "(*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0)" ( (binary_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0" (pointer_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10)" * (cast_expression "(long *)(PTR_DAT_004ba7c8 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_004ba7c8 + 0x10)" ( (binary_expression "PTR_DAT_004ba7c8 + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n  }" { comment (expression_statement "FUN_001e9890("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_001e9890("../../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 *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 0) {\nLAB_001922eb:\n    bVar28 = false;\n    local_188 = 0;\n    local_168 = 0;\n    local_180 = 0;\n    local_170 = 0;\n    local_178 = 0;\n  }\n  else {\n    pbVar17 = (byte *)0xffffffffffffffff;\n    local_58 = local_48;\n    uVar25 = 0;\n    uVar29 = local_78[0] == (byte *)0x0;\n    if (!(bool)uVar29) {\n      sVar13 = strlen((char *)local_78[0]);\n      pbVar17 = pbVar24 + sVar13;\n    }\n    FUN_001bc4c0(&local_58,pbVar24,pbVar17);\n    lVar19 = 5;\n    pbVar24 = (byte *)".text";\n    pbVar17 = local_58;\n    do {\n      if (lVar19 == 0) break;\n      lVar19 = lVar19 + -1;\n      uVar25 = *pbVar24 < *pbVar17;\n      uVar29 = *pbVar24 == *pbVar17;\n      pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n      pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n    } while ((bool)uVar29);\n    bVar28 = false;\n    bVar26 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;\n    if (!bVar26) {\n      lVar19 = 0xf;\n      pbVar24 = (byte *)".gnu.linkonce.t";\n      pbVar17 = local_58;\n      do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar28 = *pbVar24 < *pbVar17;\n        bVar26 = *pbVar24 == *pbVar17;\n        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n      } while (bVar26);\n      if ((!bVar28 && !bVar26) != bVar28) {\n        if (local_58 != local_48) {\n          FUN_00338a40(local_58);\n        }\n        goto LAB_001922eb;\n      }\n    }\n    if (local_58 != local_48) {\n      FUN_00338a40(local_58);\n    }\n    local_50 = CONCAT44(local_50._4_4_,param_4);\n    local_58 = param_3;\n    local_178 = FUN_001c0160(*(long *)(param_1 + 0x298) + 0xa8,&local_58);\n    local_170 = local_178 + 0x18;\n    local_180 = local_178 + 0x30;\n    local_168 = local_178 + 0x48;\n    local_188 = local_178 + 0x60;\n    bVar28 = true;\n  }" if (parenthesized_expression "(*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 0)" ( (binary_expression "*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 0" (pointer_expression "*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050)" * (cast_expression "(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050)" ( (binary_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050" (pointer_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10)" * (cast_expression "(long *)(PTR_DAT_004ba7c8 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_004ba7c8 + 0x10)" ( (binary_expression "PTR_DAT_004ba7c8 + 0x10" identifier + number_literal) )))) + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_001922eb:\n    bVar28 = false;\n    local_188 = 0;\n    local_168 = 0;\n    local_180 = 0;\n    local_170 = 0;\n    local_178 = 0;\n  }" { (labeled_statement "LAB_001922eb:\n    bVar28 = false;" statement_identifier : (expression_statement "bVar28 = false;" (assignment_expression "bVar28 = false" identifier = false) ;)) (expression_statement "local_188 = 0;" (assignment_expression "local_188 = 0" identifier = number_literal) ;) (expression_statement "local_168 = 0;" (assignment_expression "local_168 = 0" identifier = number_literal) ;) (expression_statement "local_180 = 0;" (assignment_expression "local_180 = 0" identifier = number_literal) ;) (expression_statement "local_170 = 0;" (assignment_expression "local_170 = 0" identifier = number_literal) ;) (expression_statement "local_178 = 0;" (assignment_expression "local_178 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    pbVar17 = (byte *)0xffffffffffffffff;\n    local_58 = local_48;\n    uVar25 = 0;\n    uVar29 = local_78[0] == (byte *)0x0;\n    if (!(bool)uVar29) {\n      sVar13 = strlen((char *)local_78[0]);\n      pbVar17 = pbVar24 + sVar13;\n    }\n    FUN_001bc4c0(&local_58,pbVar24,pbVar17);\n    lVar19 = 5;\n    pbVar24 = (byte *)".text";\n    pbVar17 = local_58;\n    do {\n      if (lVar19 == 0) break;\n      lVar19 = lVar19 + -1;\n      uVar25 = *pbVar24 < *pbVar17;\n      uVar29 = *pbVar24 == *pbVar17;\n      pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n      pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n    } while ((bool)uVar29);\n    bVar28 = false;\n    bVar26 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;\n    if (!bVar26) {\n      lVar19 = 0xf;\n      pbVar24 = (byte *)".gnu.linkonce.t";\n      pbVar17 = local_58;\n      do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar28 = *pbVar24 < *pbVar17;\n        bVar26 = *pbVar24 == *pbVar17;\n        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n      } while (bVar26);\n      if ((!bVar28 && !bVar26) != bVar28) {\n        if (local_58 != local_48) {\n          FUN_00338a40(local_58);\n        }\n        goto LAB_001922eb;\n      }\n    }\n    if (local_58 != local_48) {\n      FUN_00338a40(local_58);\n    }\n    local_50 = CONCAT44(local_50._4_4_,param_4);\n    local_58 = param_3;\n    local_178 = FUN_001c0160(*(long *)(param_1 + 0x298) + 0xa8,&local_58);\n    local_170 = local_178 + 0x18;\n    local_180 = local_178 + 0x30;\n    local_168 = local_178 + 0x48;\n    local_188 = local_178 + 0x60;\n    bVar28 = true;\n  }" else (compound_statement "{\n    pbVar17 = (byte *)0xffffffffffffffff;\n    local_58 = local_48;\n    uVar25 = 0;\n    uVar29 = local_78[0] == (byte *)0x0;\n    if (!(bool)uVar29) {\n      sVar13 = strlen((char *)local_78[0]);\n      pbVar17 = pbVar24 + sVar13;\n    }\n    FUN_001bc4c0(&local_58,pbVar24,pbVar17);\n    lVar19 = 5;\n    pbVar24 = (byte *)".text";\n    pbVar17 = local_58;\n    do {\n      if (lVar19 == 0) break;\n      lVar19 = lVar19 + -1;\n      uVar25 = *pbVar24 < *pbVar17;\n      uVar29 = *pbVar24 == *pbVar17;\n      pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n      pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n    } while ((bool)uVar29);\n    bVar28 = false;\n    bVar26 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;\n    if (!bVar26) {\n      lVar19 = 0xf;\n      pbVar24 = (byte *)".gnu.linkonce.t";\n      pbVar17 = local_58;\n      do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar28 = *pbVar24 < *pbVar17;\n        bVar26 = *pbVar24 == *pbVar17;\n        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n      } while (bVar26);\n      if ((!bVar28 && !bVar26) != bVar28) {\n        if (local_58 != local_48) {\n          FUN_00338a40(local_58);\n        }\n        goto LAB_001922eb;\n      }\n    }\n    if (local_58 != local_48) {\n      FUN_00338a40(local_58);\n    }\n    local_50 = CONCAT44(local_50._4_4_,param_4);\n    local_58 = param_3;\n    local_178 = FUN_001c0160(*(long *)(param_1 + 0x298) + 0xa8,&local_58);\n    local_170 = local_178 + 0x18;\n    local_180 = local_178 + 0x30;\n    local_168 = local_178 + 0x48;\n    local_188 = local_178 + 0x60;\n    bVar28 = true;\n  }" { (expression_statement "pbVar17 = (byte *)0xffffffffffffffff;" (assignment_expression "pbVar17 = (byte *)0xffffffffffffffff" identifier = (cast_expression "(byte *)0xffffffffffffffff" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_58 = local_48;" (assignment_expression "local_58 = local_48" identifier = identifier) ;) (expression_statement "uVar25 = 0;" (assignment_expression "uVar25 = 0" identifier = number_literal) ;) (expression_statement "uVar29 = local_78[0] == (byte *)0x0;" (assignment_expression "uVar29 = local_78[0] == (byte *)0x0" identifier = (binary_expression "local_78[0] == (byte *)0x0" (subscript_expression "local_78[0]" identifier [ number_literal ]) == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (if_statement "if (!(bool)uVar29) {\n      sVar13 = strlen((char *)local_78[0]);\n      pbVar17 = pbVar24 + sVar13;\n    }" if (parenthesized_expression "(!(bool)uVar29)" ( (unary_expression "!(bool)uVar29" ! (cast_expression "(bool)uVar29" ( (type_descriptor "bool" primitive_type) ) identifier)) )) (compound_statement "{\n      sVar13 = strlen((char *)local_78[0]);\n      pbVar17 = pbVar24 + sVar13;\n    }" { (expression_statement "sVar13 = strlen((char *)local_78[0]);" (assignment_expression "sVar13 = strlen((char *)local_78[0])" identifier = (call_expression "strlen((char *)local_78[0])" identifier (argument_list "((char *)local_78[0])" ( (cast_expression "(char *)local_78[0]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_78[0]" identifier [ number_literal ])) )))) ;) (expression_statement "pbVar17 = pbVar24 + sVar13;" (assignment_expression "pbVar17 = pbVar24 + sVar13" identifier = (binary_expression "pbVar24 + sVar13" identifier + identifier)) ;) })) (expression_statement "FUN_001bc4c0(&local_58,pbVar24,pbVar17);" (call_expression "FUN_001bc4c0(&local_58,pbVar24,pbVar17)" identifier (argument_list "(&local_58,pbVar24,pbVar17)" ( (pointer_expression "&local_58" & identifier) , identifier , identifier ))) ;) (expression_statement "lVar19 = 5;" (assignment_expression "lVar19 = 5" identifier = number_literal) ;) (expression_statement "pbVar24 = (byte *)".text";" (assignment_expression "pbVar24 = (byte *)".text"" identifier = (cast_expression "(byte *)".text"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".text"" " string_content "))) ;) (expression_statement "pbVar17 = local_58;" (assignment_expression "pbVar17 = local_58" identifier = identifier) ;) (do_statement "do {\n      if (lVar19 == 0) break;\n      lVar19 = lVar19 + -1;\n      uVar25 = *pbVar24 < *pbVar17;\n      uVar29 = *pbVar24 == *pbVar17;\n      pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n      pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n    } while ((bool)uVar29);" do (compound_statement "{\n      if (lVar19 == 0) break;\n      lVar19 = lVar19 + -1;\n      uVar25 = *pbVar24 < *pbVar17;\n      uVar29 = *pbVar24 == *pbVar17;\n      pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n      pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n    }" { (if_statement "if (lVar19 == 0) break;" if (parenthesized_expression "(lVar19 == 0)" ( (binary_expression "lVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar19 = lVar19 + -1;" (assignment_expression "lVar19 = lVar19 + -1" identifier = (binary_expression "lVar19 + -1" identifier + number_literal)) ;) (expression_statement "uVar25 = *pbVar24 < *pbVar17;" (assignment_expression "uVar25 = *pbVar24 < *pbVar17" identifier = (binary_expression "*pbVar24 < *pbVar17" (pointer_expression "*pbVar24" * identifier) < (pointer_expression "*pbVar17" * identifier))) ;) (expression_statement "uVar29 = *pbVar24 == *pbVar17;" (assignment_expression "uVar29 = *pbVar24 == *pbVar17" identifier = (binary_expression "*pbVar24 == *pbVar17" (pointer_expression "*pbVar24" * identifier) == (pointer_expression "*pbVar17" * identifier))) ;) (expression_statement "pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1" identifier = (binary_expression "pbVar24 + (ulong)bVar31 * -2 + 1" (binary_expression "pbVar24 + (ulong)bVar31 * -2" identifier + (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;" (assignment_expression "pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1" identifier = (binary_expression "pbVar17 + (ulong)bVar31 * -2 + 1" (binary_expression "pbVar17 + (ulong)bVar31 * -2" identifier + (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "((bool)uVar29)" ( (cast_expression "(bool)uVar29" ( (type_descriptor "bool" primitive_type) ) identifier) )) ;) (expression_statement "bVar28 = false;" (assignment_expression "bVar28 = false" identifier = false) ;) (expression_statement "bVar26 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;" (assignment_expression "bVar26 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25" identifier = (binary_expression "(!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25" (parenthesized_expression "(!(bool)uVar25 && !(bool)uVar29)" ( (binary_expression "!(bool)uVar25 && !(bool)uVar29" (unary_expression "!(bool)uVar25" ! (cast_expression "(bool)uVar25" ( (type_descriptor "bool" primitive_type) ) identifier)) && (unary_expression "!(bool)uVar29" ! (cast_expression "(bool)uVar29" ( (type_descriptor "bool" primitive_type) ) identifier))) )) == (cast_expression "(bool)uVar25" ( (type_descriptor "bool" primitive_type) ) identifier))) ;) (if_statement "if (!bVar26) {\n      lVar19 = 0xf;\n      pbVar24 = (byte *)".gnu.linkonce.t";\n      pbVar17 = local_58;\n      do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar28 = *pbVar24 < *pbVar17;\n        bVar26 = *pbVar24 == *pbVar17;\n        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n      } while (bVar26);\n      if ((!bVar28 && !bVar26) != bVar28) {\n        if (local_58 != local_48) {\n          FUN_00338a40(local_58);\n        }\n        goto LAB_001922eb;\n      }\n    }" if (parenthesized_expression "(!bVar26)" ( (unary_expression "!bVar26" ! identifier) )) (compound_statement "{\n      lVar19 = 0xf;\n      pbVar24 = (byte *)".gnu.linkonce.t";\n      pbVar17 = local_58;\n      do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar28 = *pbVar24 < *pbVar17;\n        bVar26 = *pbVar24 == *pbVar17;\n        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n      } while (bVar26);\n      if ((!bVar28 && !bVar26) != bVar28) {\n        if (local_58 != local_48) {\n          FUN_00338a40(local_58);\n        }\n        goto LAB_001922eb;\n      }\n    }" { (expression_statement "lVar19 = 0xf;" (assignment_expression "lVar19 = 0xf" identifier = number_literal) ;) (expression_statement "pbVar24 = (byte *)".gnu.linkonce.t";" (assignment_expression "pbVar24 = (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 "pbVar17 = local_58;" (assignment_expression "pbVar17 = local_58" identifier = identifier) ;) (do_statement "do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar28 = *pbVar24 < *pbVar17;\n        bVar26 = *pbVar24 == *pbVar17;\n        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n      } while (bVar26);" do (compound_statement "{\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar28 = *pbVar24 < *pbVar17;\n        bVar26 = *pbVar24 == *pbVar17;\n        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n      }" { (if_statement "if (lVar19 == 0) break;" if (parenthesized_expression "(lVar19 == 0)" ( (binary_expression "lVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar19 = lVar19 + -1;" (assignment_expression "lVar19 = lVar19 + -1" identifier = (binary_expression "lVar19 + -1" identifier + number_literal)) ;) (expression_statement "bVar28 = *pbVar24 < *pbVar17;" (assignment_expression "bVar28 = *pbVar24 < *pbVar17" identifier = (binary_expression "*pbVar24 < *pbVar17" (pointer_expression "*pbVar24" * identifier) < (pointer_expression "*pbVar17" * identifier))) ;) (expression_statement "bVar26 = *pbVar24 == *pbVar17;" (assignment_expression "bVar26 = *pbVar24 == *pbVar17" identifier = (binary_expression "*pbVar24 == *pbVar17" (pointer_expression "*pbVar24" * identifier) == (pointer_expression "*pbVar17" * identifier))) ;) (expression_statement "pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1" identifier = (binary_expression "pbVar24 + (ulong)bVar31 * -2 + 1" (binary_expression "pbVar24 + (ulong)bVar31 * -2" identifier + (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;" (assignment_expression "pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1" identifier = (binary_expression "pbVar17 + (ulong)bVar31 * -2 + 1" (binary_expression "pbVar17 + (ulong)bVar31 * -2" identifier + (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar26)" ( identifier )) ;) (if_statement "if ((!bVar28 && !bVar26) != bVar28) {\n        if (local_58 != local_48) {\n          FUN_00338a40(local_58);\n        }\n        goto LAB_001922eb;\n      }" if (parenthesized_expression "((!bVar28 && !bVar26) != bVar28)" ( (binary_expression "(!bVar28 && !bVar26) != bVar28" (parenthesized_expression "(!bVar28 && !bVar26)" ( (binary_expression "!bVar28 && !bVar26" (unary_expression "!bVar28" ! identifier) && (unary_expression "!bVar26" ! identifier)) )) != identifier) )) (compound_statement "{\n        if (local_58 != local_48) {\n          FUN_00338a40(local_58);\n        }\n        goto LAB_001922eb;\n      }" { (if_statement "if (local_58 != local_48) {\n          FUN_00338a40(local_58);\n        }" if (parenthesized_expression "(local_58 != local_48)" ( (binary_expression "local_58 != local_48" identifier != identifier) )) (compound_statement "{\n          FUN_00338a40(local_58);\n        }" { (expression_statement "FUN_00338a40(local_58);" (call_expression "FUN_00338a40(local_58)" identifier (argument_list "(local_58)" ( identifier ))) ;) })) (goto_statement "goto LAB_001922eb;" goto statement_identifier ;) })) })) (if_statement "if (local_58 != local_48) {\n      FUN_00338a40(local_58);\n    }" if (parenthesized_expression "(local_58 != local_48)" ( (binary_expression "local_58 != local_48" identifier != identifier) )) (compound_statement "{\n      FUN_00338a40(local_58);\n    }" { (expression_statement "FUN_00338a40(local_58);" (call_expression "FUN_00338a40(local_58)" identifier (argument_list "(local_58)" ( identifier ))) ;) })) (expression_statement "local_50 = CONCAT44(local_50._4_4_,param_4);" (assignment_expression "local_50 = CONCAT44(local_50._4_4_,param_4)" identifier = (call_expression "CONCAT44(local_50._4_4_,param_4)" identifier (argument_list "(local_50._4_4_,param_4)" ( (field_expression "local_50._4_4_" identifier . field_identifier) , identifier )))) ;) (expression_statement "local_58 = param_3;" (assignment_expression "local_58 = param_3" identifier = identifier) ;) (expression_statement "local_178 = FUN_001c0160(*(long *)(param_1 + 0x298) + 0xa8,&local_58);" (assignment_expression "local_178 = FUN_001c0160(*(long *)(param_1 + 0x298) + 0xa8,&local_58)" identifier = (call_expression "FUN_001c0160(*(long *)(param_1 + 0x298) + 0xa8,&local_58)" identifier (argument_list "(*(long *)(param_1 + 0x298) + 0xa8,&local_58)" ( (binary_expression "*(long *)(param_1 + 0x298) + 0xa8" (pointer_expression "*(long *)(param_1 + 0x298)" * (cast_expression "(long *)(param_1 + 0x298)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x298)" ( (binary_expression "param_1 + 0x298" identifier + number_literal) )))) + number_literal) , (pointer_expression "&local_58" & identifier) )))) ;) (expression_statement "local_170 = local_178 + 0x18;" (assignment_expression "local_170 = local_178 + 0x18" identifier = (binary_expression "local_178 + 0x18" identifier + number_literal)) ;) (expression_statement "local_180 = local_178 + 0x30;" (assignment_expression "local_180 = local_178 + 0x30" identifier = (binary_expression "local_178 + 0x30" identifier + number_literal)) ;) (expression_statement "local_168 = local_178 + 0x48;" (assignment_expression "local_168 = local_178 + 0x48" identifier = (binary_expression "local_178 + 0x48" identifier + number_literal)) ;) (expression_statement "local_188 = local_178 + 0x60;" (assignment_expression "local_188 = local_178 + 0x60" identifier = (binary_expression "local_178 + 0x60" identifier + number_literal)) ;) (expression_statement "bVar28 = true;" (assignment_expression "bVar28 = true" identifier = true) ;) }))) (if_statement "if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00192fba to 00192fd6 has its CatchHandler @ 00192fd7 */\n    FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n  }" if (parenthesized_expression "(*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0)" ( (binary_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0" (pointer_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10)" * (cast_expression "(long *)(PTR_DAT_004ba7c8 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_004ba7c8 + 0x10)" ( (binary_expression "PTR_DAT_004ba7c8 + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00192fba to 00192fd6 has its CatchHandler @ 00192fd7 */\n    FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n  }" { comment comment (expression_statement "FUN_001e9890("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_001e9890("../../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 *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 2) &&\n     (cVar9 = (**(code **)(*param_2 + 0x90))(param_2), cVar9 != '\0')) {\n    pcVar6 = *(code **)(*param_2 + 0x10);\n    if (pcVar6 != FUN_001ba9d0) {\n                    /* try { // try from 00192f0b to 00192f8e has its CatchHandler @ 00192fd7 */\n      local_136 = (*pcVar6)(param_2,local_78[0]);\n      goto LAB_0019234a;\n    }\n    pcVar6 = *(code **)(*param_2 + 0x98);\n    bVar26 = pcVar6 < FUN_001baa90;\n    bVar30 = pcVar6 == FUN_001baa90;\n    if (!bVar30) {\n      local_136 = (*pcVar6)(param_2,local_78[0]);\n      goto LAB_0019234a;\n    }\n    lVar19 = 0xc;\n    pbVar24 = (byte *)".rodata._ZTV";\n    pbVar17 = local_78[0];\n    do {\n      if (lVar19 == 0) break;\n      lVar19 = lVar19 + -1;\n      bVar26 = *pbVar24 < *pbVar17;\n      bVar30 = *pbVar24 == *pbVar17;\n      pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n      pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n    } while (bVar30);\n    bVar27 = false;\n    bVar26 = (!bVar26 && !bVar30) == bVar26;\n    if (!bVar26) {\n      lVar19 = 0x11;\n      pbVar24 = (byte *)".data.rel.ro._ZTV";\n      pbVar17 = local_78[0];\n      do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar27 = *pbVar24 < *pbVar17;\n        bVar26 = *pbVar24 == *pbVar17;\n        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n      } while (bVar26);\n      bVar30 = false;\n      bVar26 = (!bVar27 && !bVar26) == bVar27;\n      if (!bVar26) {\n        lVar19 = 0xc;\n        pbVar24 = (byte *)".rodata._ZTC";\n        pbVar17 = local_78[0];\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          bVar30 = *pbVar24 < *pbVar17;\n          bVar26 = *pbVar24 == *pbVar17;\n          pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n          pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n        } while (bVar26);\n        bVar27 = false;\n        bVar26 = (!bVar30 && !bVar26) == bVar30;\n        if (!bVar26) {\n          lVar19 = 0x11;\n          pbVar24 = (byte *)".data.rel.ro._ZTC";\n          pbVar17 = local_78[0];\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar27 = *pbVar24 < *pbVar17;\n            bVar26 = *pbVar24 == *pbVar17;\n            pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n            pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n          } while (bVar26);\n          bVar30 = false;\n          bVar26 = (!bVar27 && !bVar26) == bVar27;\n          if (!bVar26) {\n            lVar19 = 9;\n            pbVar24 = (byte *)".eh_frame";\n            pbVar17 = local_78[0];\n            do {\n              if (lVar19 == 0) break;\n              lVar19 = lVar19 + -1;\n              bVar30 = *pbVar24 < *pbVar17;\n              bVar26 = *pbVar24 == *pbVar17;\n              pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n              pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n            } while (bVar26);\n            local_136 = (!bVar30 && !bVar26) != bVar30;\n            goto LAB_0019234a;\n          }\n        }\n      }\n    }\n  }" if (parenthesized_expression "((*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 2) &&\n     (cVar9 = (**(code **)(*param_2 + 0x90))(param_2), cVar9 != '\0'))" ( (binary_expression "(*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 2) &&\n     (cVar9 = (**(code **)(*param_2 + 0x90))(param_2), cVar9 != '\0')" (parenthesized_expression "(*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 2)" ( (binary_expression "*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 2" (pointer_expression "*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050)" * (cast_expression "(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050)" ( (binary_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050" (pointer_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10)" * (cast_expression "(long *)(PTR_DAT_004ba7c8 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_004ba7c8 + 0x10)" ( (binary_expression "PTR_DAT_004ba7c8 + 0x10" identifier + number_literal) )))) + number_literal) )))) == number_literal) )) && (parenthesized_expression "(cVar9 = (**(code **)(*param_2 + 0x90))(param_2), cVar9 != '\0')" ( (comma_expression "cVar9 = (**(code **)(*param_2 + 0x90))(param_2), cVar9 != '\0'" (assignment_expression "cVar9 = (**(code **)(*param_2 + 0x90))(param_2)" identifier = (call_expression "(**(code **)(*param_2 + 0x90))(param_2)" (parenthesized_expression "(**(code **)(*param_2 + 0x90))" ( (pointer_expression "**(code **)(*param_2 + 0x90)" * (pointer_expression "*(code **)(*param_2 + 0x90)" * (cast_expression "(code **)(*param_2 + 0x90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_2 + 0x90)" ( (binary_expression "*param_2 + 0x90" (pointer_expression "*param_2" * identifier) + number_literal) ))))) )) (argument_list "(param_2)" ( identifier )))) , (binary_expression "cVar9 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n    pcVar6 = *(code **)(*param_2 + 0x10);\n    if (pcVar6 != FUN_001ba9d0) {\n                    /* try { // try from 00192f0b to 00192f8e has its CatchHandler @ 00192fd7 */\n      local_136 = (*pcVar6)(param_2,local_78[0]);\n      goto LAB_0019234a;\n    }\n    pcVar6 = *(code **)(*param_2 + 0x98);\n    bVar26 = pcVar6 < FUN_001baa90;\n    bVar30 = pcVar6 == FUN_001baa90;\n    if (!bVar30) {\n      local_136 = (*pcVar6)(param_2,local_78[0]);\n      goto LAB_0019234a;\n    }\n    lVar19 = 0xc;\n    pbVar24 = (byte *)".rodata._ZTV";\n    pbVar17 = local_78[0];\n    do {\n      if (lVar19 == 0) break;\n      lVar19 = lVar19 + -1;\n      bVar26 = *pbVar24 < *pbVar17;\n      bVar30 = *pbVar24 == *pbVar17;\n      pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n      pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n    } while (bVar30);\n    bVar27 = false;\n    bVar26 = (!bVar26 && !bVar30) == bVar26;\n    if (!bVar26) {\n      lVar19 = 0x11;\n      pbVar24 = (byte *)".data.rel.ro._ZTV";\n      pbVar17 = local_78[0];\n      do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar27 = *pbVar24 < *pbVar17;\n        bVar26 = *pbVar24 == *pbVar17;\n        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n      } while (bVar26);\n      bVar30 = false;\n      bVar26 = (!bVar27 && !bVar26) == bVar27;\n      if (!bVar26) {\n        lVar19 = 0xc;\n        pbVar24 = (byte *)".rodata._ZTC";\n        pbVar17 = local_78[0];\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          bVar30 = *pbVar24 < *pbVar17;\n          bVar26 = *pbVar24 == *pbVar17;\n          pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n          pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n        } while (bVar26);\n        bVar27 = false;\n        bVar26 = (!bVar30 && !bVar26) == bVar30;\n        if (!bVar26) {\n          lVar19 = 0x11;\n          pbVar24 = (byte *)".data.rel.ro._ZTC";\n          pbVar17 = local_78[0];\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar27 = *pbVar24 < *pbVar17;\n            bVar26 = *pbVar24 == *pbVar17;\n            pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n            pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n          } while (bVar26);\n          bVar30 = false;\n          bVar26 = (!bVar27 && !bVar26) == bVar27;\n          if (!bVar26) {\n            lVar19 = 9;\n            pbVar24 = (byte *)".eh_frame";\n            pbVar17 = local_78[0];\n            do {\n              if (lVar19 == 0) break;\n              lVar19 = lVar19 + -1;\n              bVar30 = *pbVar24 < *pbVar17;\n              bVar26 = *pbVar24 == *pbVar17;\n              pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n              pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n            } while (bVar26);\n            local_136 = (!bVar30 && !bVar26) != bVar30;\n            goto LAB_0019234a;\n          }\n        }\n      }\n    }\n  }" { (expression_statement "pcVar6 = *(code **)(*param_2 + 0x10);" (assignment_expression "pcVar6 = *(code **)(*param_2 + 0x10)" identifier = (pointer_expression "*(code **)(*param_2 + 0x10)" * (cast_expression "(code **)(*param_2 + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_2 + 0x10)" ( (binary_expression "*param_2 + 0x10" (pointer_expression "*param_2" * identifier) + number_literal) ))))) ;) (if_statement "if (pcVar6 != FUN_001ba9d0) {\n                    /* try { // try from 00192f0b to 00192f8e has its CatchHandler @ 00192fd7 */\n      local_136 = (*pcVar6)(param_2,local_78[0]);\n      goto LAB_0019234a;\n    }" if (parenthesized_expression "(pcVar6 != FUN_001ba9d0)" ( (binary_expression "pcVar6 != FUN_001ba9d0" identifier != identifier) )) (compound_statement "{\n                    /* try { // try from 00192f0b to 00192f8e has its CatchHandler @ 00192fd7 */\n      local_136 = (*pcVar6)(param_2,local_78[0]);\n      goto LAB_0019234a;\n    }" { comment (expression_statement "local_136 = (*pcVar6)(param_2,local_78[0]);" (assignment_expression "local_136 = (*pcVar6)(param_2,local_78[0])" identifier = (call_expression "(*pcVar6)(param_2,local_78[0])" (parenthesized_expression "(*pcVar6)" ( (pointer_expression "*pcVar6" * identifier) )) (argument_list "(param_2,local_78[0])" ( identifier , (subscript_expression "local_78[0]" identifier [ number_literal ]) )))) ;) (goto_statement "goto LAB_0019234a;" goto statement_identifier ;) })) (expression_statement "pcVar6 = *(code **)(*param_2 + 0x98);" (assignment_expression "pcVar6 = *(code **)(*param_2 + 0x98)" identifier = (pointer_expression "*(code **)(*param_2 + 0x98)" * (cast_expression "(code **)(*param_2 + 0x98)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_2 + 0x98)" ( (binary_expression "*param_2 + 0x98" (pointer_expression "*param_2" * identifier) + number_literal) ))))) ;) (expression_statement "bVar26 = pcVar6 < FUN_001baa90;" (assignment_expression "bVar26 = pcVar6 < FUN_001baa90" identifier = (binary_expression "pcVar6 < FUN_001baa90" identifier < identifier)) ;) (expression_statement "bVar30 = pcVar6 == FUN_001baa90;" (assignment_expression "bVar30 = pcVar6 == FUN_001baa90" identifier = (binary_expression "pcVar6 == FUN_001baa90" identifier == identifier)) ;) (if_statement "if (!bVar30) {\n      local_136 = (*pcVar6)(param_2,local_78[0]);\n      goto LAB_0019234a;\n    }" if (parenthesized_expression "(!bVar30)" ( (unary_expression "!bVar30" ! identifier) )) (compound_statement "{\n      local_136 = (*pcVar6)(param_2,local_78[0]);\n      goto LAB_0019234a;\n    }" { (expression_statement "local_136 = (*pcVar6)(param_2,local_78[0]);" (assignment_expression "local_136 = (*pcVar6)(param_2,local_78[0])" identifier = (call_expression "(*pcVar6)(param_2,local_78[0])" (parenthesized_expression "(*pcVar6)" ( (pointer_expression "*pcVar6" * identifier) )) (argument_list "(param_2,local_78[0])" ( identifier , (subscript_expression "local_78[0]" identifier [ number_literal ]) )))) ;) (goto_statement "goto LAB_0019234a;" goto statement_identifier ;) })) (expression_statement "lVar19 = 0xc;" (assignment_expression "lVar19 = 0xc" identifier = number_literal) ;) (expression_statement "pbVar24 = (byte *)".rodata._ZTV";" (assignment_expression "pbVar24 = (byte *)".rodata._ZTV"" identifier = (cast_expression "(byte *)".rodata._ZTV"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".rodata._ZTV"" " string_content "))) ;) (expression_statement "pbVar17 = local_78[0];" (assignment_expression "pbVar17 = local_78[0]" identifier = (subscript_expression "local_78[0]" identifier [ number_literal ])) ;) (do_statement "do {\n      if (lVar19 == 0) break;\n      lVar19 = lVar19 + -1;\n      bVar26 = *pbVar24 < *pbVar17;\n      bVar30 = *pbVar24 == *pbVar17;\n      pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n      pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n    } while (bVar30);" do (compound_statement "{\n      if (lVar19 == 0) break;\n      lVar19 = lVar19 + -1;\n      bVar26 = *pbVar24 < *pbVar17;\n      bVar30 = *pbVar24 == *pbVar17;\n      pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n      pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n    }" { (if_statement "if (lVar19 == 0) break;" if (parenthesized_expression "(lVar19 == 0)" ( (binary_expression "lVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar19 = lVar19 + -1;" (assignment_expression "lVar19 = lVar19 + -1" identifier = (binary_expression "lVar19 + -1" identifier + number_literal)) ;) (expression_statement "bVar26 = *pbVar24 < *pbVar17;" (assignment_expression "bVar26 = *pbVar24 < *pbVar17" identifier = (binary_expression "*pbVar24 < *pbVar17" (pointer_expression "*pbVar24" * identifier) < (pointer_expression "*pbVar17" * identifier))) ;) (expression_statement "bVar30 = *pbVar24 == *pbVar17;" (assignment_expression "bVar30 = *pbVar24 == *pbVar17" identifier = (binary_expression "*pbVar24 == *pbVar17" (pointer_expression "*pbVar24" * identifier) == (pointer_expression "*pbVar17" * identifier))) ;) (expression_statement "pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1" identifier = (binary_expression "pbVar24 + (ulong)bVar31 * -2 + 1" (binary_expression "pbVar24 + (ulong)bVar31 * -2" identifier + (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;" (assignment_expression "pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1" identifier = (binary_expression "pbVar17 + (ulong)bVar31 * -2 + 1" (binary_expression "pbVar17 + (ulong)bVar31 * -2" identifier + (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar30)" ( identifier )) ;) (expression_statement "bVar27 = false;" (assignment_expression "bVar27 = false" identifier = false) ;) (expression_statement "bVar26 = (!bVar26 && !bVar30) == bVar26;" (assignment_expression "bVar26 = (!bVar26 && !bVar30) == bVar26" identifier = (binary_expression "(!bVar26 && !bVar30) == bVar26" (parenthesized_expression "(!bVar26 && !bVar30)" ( (binary_expression "!bVar26 && !bVar30" (unary_expression "!bVar26" ! identifier) && (unary_expression "!bVar30" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar26) {\n      lVar19 = 0x11;\n      pbVar24 = (byte *)".data.rel.ro._ZTV";\n      pbVar17 = local_78[0];\n      do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar27 = *pbVar24 < *pbVar17;\n        bVar26 = *pbVar24 == *pbVar17;\n        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n      } while (bVar26);\n      bVar30 = false;\n      bVar26 = (!bVar27 && !bVar26) == bVar27;\n      if (!bVar26) {\n        lVar19 = 0xc;\n        pbVar24 = (byte *)".rodata._ZTC";\n        pbVar17 = local_78[0];\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          bVar30 = *pbVar24 < *pbVar17;\n          bVar26 = *pbVar24 == *pbVar17;\n          pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n          pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n        } while (bVar26);\n        bVar27 = false;\n        bVar26 = (!bVar30 && !bVar26) == bVar30;\n        if (!bVar26) {\n          lVar19 = 0x11;\n          pbVar24 = (byte *)".data.rel.ro._ZTC";\n          pbVar17 = local_78[0];\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar27 = *pbVar24 < *pbVar17;\n            bVar26 = *pbVar24 == *pbVar17;\n            pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n            pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n          } while (bVar26);\n          bVar30 = false;\n          bVar26 = (!bVar27 && !bVar26) == bVar27;\n          if (!bVar26) {\n            lVar19 = 9;\n            pbVar24 = (byte *)".eh_frame";\n            pbVar17 = local_78[0];\n            do {\n              if (lVar19 == 0) break;\n              lVar19 = lVar19 + -1;\n              bVar30 = *pbVar24 < *pbVar17;\n              bVar26 = *pbVar24 == *pbVar17;\n              pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n              pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n            } while (bVar26);\n            local_136 = (!bVar30 && !bVar26) != bVar30;\n            goto LAB_0019234a;\n          }\n        }\n      }\n    }" if (parenthesized_expression "(!bVar26)" ( (unary_expression "!bVar26" ! identifier) )) (compound_statement "{\n      lVar19 = 0x11;\n      pbVar24 = (byte *)".data.rel.ro._ZTV";\n      pbVar17 = local_78[0];\n      do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar27 = *pbVar24 < *pbVar17;\n        bVar26 = *pbVar24 == *pbVar17;\n        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n      } while (bVar26);\n      bVar30 = false;\n      bVar26 = (!bVar27 && !bVar26) == bVar27;\n      if (!bVar26) {\n        lVar19 = 0xc;\n        pbVar24 = (byte *)".rodata._ZTC";\n        pbVar17 = local_78[0];\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          bVar30 = *pbVar24 < *pbVar17;\n          bVar26 = *pbVar24 == *pbVar17;\n          pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n          pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n        } while (bVar26);\n        bVar27 = false;\n        bVar26 = (!bVar30 && !bVar26) == bVar30;\n        if (!bVar26) {\n          lVar19 = 0x11;\n          pbVar24 = (byte *)".data.rel.ro._ZTC";\n          pbVar17 = local_78[0];\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar27 = *pbVar24 < *pbVar17;\n            bVar26 = *pbVar24 == *pbVar17;\n            pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n            pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n          } while (bVar26);\n          bVar30 = false;\n          bVar26 = (!bVar27 && !bVar26) == bVar27;\n          if (!bVar26) {\n            lVar19 = 9;\n            pbVar24 = (byte *)".eh_frame";\n            pbVar17 = local_78[0];\n            do {\n              if (lVar19 == 0) break;\n              lVar19 = lVar19 + -1;\n              bVar30 = *pbVar24 < *pbVar17;\n              bVar26 = *pbVar24 == *pbVar17;\n              pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n              pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n            } while (bVar26);\n            local_136 = (!bVar30 && !bVar26) != bVar30;\n            goto LAB_0019234a;\n          }\n        }\n      }\n    }" { (expression_statement "lVar19 = 0x11;" (assignment_expression "lVar19 = 0x11" identifier = number_literal) ;) (expression_statement "pbVar24 = (byte *)".data.rel.ro._ZTV";" (assignment_expression "pbVar24 = (byte *)".data.rel.ro._ZTV"" identifier = (cast_expression "(byte *)".data.rel.ro._ZTV"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".data.rel.ro._ZTV"" " string_content "))) ;) (expression_statement "pbVar17 = local_78[0];" (assignment_expression "pbVar17 = local_78[0]" identifier = (subscript_expression "local_78[0]" identifier [ number_literal ])) ;) (do_statement "do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar27 = *pbVar24 < *pbVar17;\n        bVar26 = *pbVar24 == *pbVar17;\n        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n      } while (bVar26);" do (compound_statement "{\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar27 = *pbVar24 < *pbVar17;\n        bVar26 = *pbVar24 == *pbVar17;\n        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n      }" { (if_statement "if (lVar19 == 0) break;" if (parenthesized_expression "(lVar19 == 0)" ( (binary_expression "lVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar19 = lVar19 + -1;" (assignment_expression "lVar19 = lVar19 + -1" identifier = (binary_expression "lVar19 + -1" identifier + number_literal)) ;) (expression_statement "bVar27 = *pbVar24 < *pbVar17;" (assignment_expression "bVar27 = *pbVar24 < *pbVar17" identifier = (binary_expression "*pbVar24 < *pbVar17" (pointer_expression "*pbVar24" * identifier) < (pointer_expression "*pbVar17" * identifier))) ;) (expression_statement "bVar26 = *pbVar24 == *pbVar17;" (assignment_expression "bVar26 = *pbVar24 == *pbVar17" identifier = (binary_expression "*pbVar24 == *pbVar17" (pointer_expression "*pbVar24" * identifier) == (pointer_expression "*pbVar17" * identifier))) ;) (expression_statement "pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1" identifier = (binary_expression "pbVar24 + (ulong)bVar31 * -2 + 1" (binary_expression "pbVar24 + (ulong)bVar31 * -2" identifier + (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;" (assignment_expression "pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1" identifier = (binary_expression "pbVar17 + (ulong)bVar31 * -2 + 1" (binary_expression "pbVar17 + (ulong)bVar31 * -2" identifier + (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar26)" ( identifier )) ;) (expression_statement "bVar30 = false;" (assignment_expression "bVar30 = false" identifier = false) ;) (expression_statement "bVar26 = (!bVar27 && !bVar26) == bVar27;" (assignment_expression "bVar26 = (!bVar27 && !bVar26) == bVar27" identifier = (binary_expression "(!bVar27 && !bVar26) == bVar27" (parenthesized_expression "(!bVar27 && !bVar26)" ( (binary_expression "!bVar27 && !bVar26" (unary_expression "!bVar27" ! identifier) && (unary_expression "!bVar26" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar26) {\n        lVar19 = 0xc;\n        pbVar24 = (byte *)".rodata._ZTC";\n        pbVar17 = local_78[0];\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          bVar30 = *pbVar24 < *pbVar17;\n          bVar26 = *pbVar24 == *pbVar17;\n          pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n          pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n        } while (bVar26);\n        bVar27 = false;\n        bVar26 = (!bVar30 && !bVar26) == bVar30;\n        if (!bVar26) {\n          lVar19 = 0x11;\n          pbVar24 = (byte *)".data.rel.ro._ZTC";\n          pbVar17 = local_78[0];\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar27 = *pbVar24 < *pbVar17;\n            bVar26 = *pbVar24 == *pbVar17;\n            pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n            pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n          } while (bVar26);\n          bVar30 = false;\n          bVar26 = (!bVar27 && !bVar26) == bVar27;\n          if (!bVar26) {\n            lVar19 = 9;\n            pbVar24 = (byte *)".eh_frame";\n            pbVar17 = local_78[0];\n            do {\n              if (lVar19 == 0) break;\n              lVar19 = lVar19 + -1;\n              bVar30 = *pbVar24 < *pbVar17;\n              bVar26 = *pbVar24 == *pbVar17;\n              pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n              pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n            } while (bVar26);\n            local_136 = (!bVar30 && !bVar26) != bVar30;\n            goto LAB_0019234a;\n          }\n        }\n      }" if (parenthesized_expression "(!bVar26)" ( (unary_expression "!bVar26" ! identifier) )) (compound_statement "{\n        lVar19 = 0xc;\n        pbVar24 = (byte *)".rodata._ZTC";\n        pbVar17 = local_78[0];\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          bVar30 = *pbVar24 < *pbVar17;\n          bVar26 = *pbVar24 == *pbVar17;\n          pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n          pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n        } while (bVar26);\n        bVar27 = false;\n        bVar26 = (!bVar30 && !bVar26) == bVar30;\n        if (!bVar26) {\n          lVar19 = 0x11;\n          pbVar24 = (byte *)".data.rel.ro._ZTC";\n          pbVar17 = local_78[0];\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar27 = *pbVar24 < *pbVar17;\n            bVar26 = *pbVar24 == *pbVar17;\n            pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n            pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n          } while (bVar26);\n          bVar30 = false;\n          bVar26 = (!bVar27 && !bVar26) == bVar27;\n          if (!bVar26) {\n            lVar19 = 9;\n            pbVar24 = (byte *)".eh_frame";\n            pbVar17 = local_78[0];\n            do {\n              if (lVar19 == 0) break;\n              lVar19 = lVar19 + -1;\n              bVar30 = *pbVar24 < *pbVar17;\n              bVar26 = *pbVar24 == *pbVar17;\n              pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n              pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n            } while (bVar26);\n            local_136 = (!bVar30 && !bVar26) != bVar30;\n            goto LAB_0019234a;\n          }\n        }\n      }" { (expression_statement "lVar19 = 0xc;" (assignment_expression "lVar19 = 0xc" identifier = number_literal) ;) (expression_statement "pbVar24 = (byte *)".rodata._ZTC";" (assignment_expression "pbVar24 = (byte *)".rodata._ZTC"" identifier = (cast_expression "(byte *)".rodata._ZTC"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".rodata._ZTC"" " string_content "))) ;) (expression_statement "pbVar17 = local_78[0];" (assignment_expression "pbVar17 = local_78[0]" identifier = (subscript_expression "local_78[0]" identifier [ number_literal ])) ;) (do_statement "do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          bVar30 = *pbVar24 < *pbVar17;\n          bVar26 = *pbVar24 == *pbVar17;\n          pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n          pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n        } while (bVar26);" do (compound_statement "{\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          bVar30 = *pbVar24 < *pbVar17;\n          bVar26 = *pbVar24 == *pbVar17;\n          pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n          pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n        }" { (if_statement "if (lVar19 == 0) break;" if (parenthesized_expression "(lVar19 == 0)" ( (binary_expression "lVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar19 = lVar19 + -1;" (assignment_expression "lVar19 = lVar19 + -1" identifier = (binary_expression "lVar19 + -1" identifier + number_literal)) ;) (expression_statement "bVar30 = *pbVar24 < *pbVar17;" (assignment_expression "bVar30 = *pbVar24 < *pbVar17" identifier = (binary_expression "*pbVar24 < *pbVar17" (pointer_expression "*pbVar24" * identifier) < (pointer_expression "*pbVar17" * identifier))) ;) (expression_statement "bVar26 = *pbVar24 == *pbVar17;" (assignment_expression "bVar26 = *pbVar24 == *pbVar17" identifier = (binary_expression "*pbVar24 == *pbVar17" (pointer_expression "*pbVar24" * identifier) == (pointer_expression "*pbVar17" * identifier))) ;) (expression_statement "pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1" identifier = (binary_expression "pbVar24 + (ulong)bVar31 * -2 + 1" (binary_expression "pbVar24 + (ulong)bVar31 * -2" identifier + (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;" (assignment_expression "pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1" identifier = (binary_expression "pbVar17 + (ulong)bVar31 * -2 + 1" (binary_expression "pbVar17 + (ulong)bVar31 * -2" identifier + (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar26)" ( identifier )) ;) (expression_statement "bVar27 = false;" (assignment_expression "bVar27 = false" identifier = false) ;) (expression_statement "bVar26 = (!bVar30 && !bVar26) == bVar30;" (assignment_expression "bVar26 = (!bVar30 && !bVar26) == bVar30" identifier = (binary_expression "(!bVar30 && !bVar26) == bVar30" (parenthesized_expression "(!bVar30 && !bVar26)" ( (binary_expression "!bVar30 && !bVar26" (unary_expression "!bVar30" ! identifier) && (unary_expression "!bVar26" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar26) {\n          lVar19 = 0x11;\n          pbVar24 = (byte *)".data.rel.ro._ZTC";\n          pbVar17 = local_78[0];\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar27 = *pbVar24 < *pbVar17;\n            bVar26 = *pbVar24 == *pbVar17;\n            pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n            pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n          } while (bVar26);\n          bVar30 = false;\n          bVar26 = (!bVar27 && !bVar26) == bVar27;\n          if (!bVar26) {\n            lVar19 = 9;\n            pbVar24 = (byte *)".eh_frame";\n            pbVar17 = local_78[0];\n            do {\n              if (lVar19 == 0) break;\n              lVar19 = lVar19 + -1;\n              bVar30 = *pbVar24 < *pbVar17;\n              bVar26 = *pbVar24 == *pbVar17;\n              pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n              pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n            } while (bVar26);\n            local_136 = (!bVar30 && !bVar26) != bVar30;\n            goto LAB_0019234a;\n          }\n        }" if (parenthesized_expression "(!bVar26)" ( (unary_expression "!bVar26" ! identifier) )) (compound_statement "{\n          lVar19 = 0x11;\n          pbVar24 = (byte *)".data.rel.ro._ZTC";\n          pbVar17 = local_78[0];\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar27 = *pbVar24 < *pbVar17;\n            bVar26 = *pbVar24 == *pbVar17;\n            pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n            pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n          } while (bVar26);\n          bVar30 = false;\n          bVar26 = (!bVar27 && !bVar26) == bVar27;\n          if (!bVar26) {\n            lVar19 = 9;\n            pbVar24 = (byte *)".eh_frame";\n            pbVar17 = local_78[0];\n            do {\n              if (lVar19 == 0) break;\n              lVar19 = lVar19 + -1;\n              bVar30 = *pbVar24 < *pbVar17;\n              bVar26 = *pbVar24 == *pbVar17;\n              pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n              pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n            } while (bVar26);\n            local_136 = (!bVar30 && !bVar26) != bVar30;\n            goto LAB_0019234a;\n          }\n        }" { (expression_statement "lVar19 = 0x11;" (assignment_expression "lVar19 = 0x11" identifier = number_literal) ;) (expression_statement "pbVar24 = (byte *)".data.rel.ro._ZTC";" (assignment_expression "pbVar24 = (byte *)".data.rel.ro._ZTC"" identifier = (cast_expression "(byte *)".data.rel.ro._ZTC"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".data.rel.ro._ZTC"" " string_content "))) ;) (expression_statement "pbVar17 = local_78[0];" (assignment_expression "pbVar17 = local_78[0]" identifier = (subscript_expression "local_78[0]" identifier [ number_literal ])) ;) (do_statement "do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar27 = *pbVar24 < *pbVar17;\n            bVar26 = *pbVar24 == *pbVar17;\n            pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n            pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n          } while (bVar26);" do (compound_statement "{\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar27 = *pbVar24 < *pbVar17;\n            bVar26 = *pbVar24 == *pbVar17;\n            pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n            pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n          }" { (if_statement "if (lVar19 == 0) break;" if (parenthesized_expression "(lVar19 == 0)" ( (binary_expression "lVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar19 = lVar19 + -1;" (assignment_expression "lVar19 = lVar19 + -1" identifier = (binary_expression "lVar19 + -1" identifier + number_literal)) ;) (expression_statement "bVar27 = *pbVar24 < *pbVar17;" (assignment_expression "bVar27 = *pbVar24 < *pbVar17" identifier = (binary_expression "*pbVar24 < *pbVar17" (pointer_expression "*pbVar24" * identifier) < (pointer_expression "*pbVar17" * identifier))) ;) (expression_statement "bVar26 = *pbVar24 == *pbVar17;" (assignment_expression "bVar26 = *pbVar24 == *pbVar17" identifier = (binary_expression "*pbVar24 == *pbVar17" (pointer_expression "*pbVar24" * identifier) == (pointer_expression "*pbVar17" * identifier))) ;) (expression_statement "pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1" identifier = (binary_expression "pbVar24 + (ulong)bVar31 * -2 + 1" (binary_expression "pbVar24 + (ulong)bVar31 * -2" identifier + (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;" (assignment_expression "pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1" identifier = (binary_expression "pbVar17 + (ulong)bVar31 * -2 + 1" (binary_expression "pbVar17 + (ulong)bVar31 * -2" identifier + (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar26)" ( identifier )) ;) (expression_statement "bVar30 = false;" (assignment_expression "bVar30 = false" identifier = false) ;) (expression_statement "bVar26 = (!bVar27 && !bVar26) == bVar27;" (assignment_expression "bVar26 = (!bVar27 && !bVar26) == bVar27" identifier = (binary_expression "(!bVar27 && !bVar26) == bVar27" (parenthesized_expression "(!bVar27 && !bVar26)" ( (binary_expression "!bVar27 && !bVar26" (unary_expression "!bVar27" ! identifier) && (unary_expression "!bVar26" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar26) {\n            lVar19 = 9;\n            pbVar24 = (byte *)".eh_frame";\n            pbVar17 = local_78[0];\n            do {\n              if (lVar19 == 0) break;\n              lVar19 = lVar19 + -1;\n              bVar30 = *pbVar24 < *pbVar17;\n              bVar26 = *pbVar24 == *pbVar17;\n              pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n              pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n            } while (bVar26);\n            local_136 = (!bVar30 && !bVar26) != bVar30;\n            goto LAB_0019234a;\n          }" if (parenthesized_expression "(!bVar26)" ( (unary_expression "!bVar26" ! identifier) )) (compound_statement "{\n            lVar19 = 9;\n            pbVar24 = (byte *)".eh_frame";\n            pbVar17 = local_78[0];\n            do {\n              if (lVar19 == 0) break;\n              lVar19 = lVar19 + -1;\n              bVar30 = *pbVar24 < *pbVar17;\n              bVar26 = *pbVar24 == *pbVar17;\n              pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n              pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n            } while (bVar26);\n            local_136 = (!bVar30 && !bVar26) != bVar30;\n            goto LAB_0019234a;\n          }" { (expression_statement "lVar19 = 9;" (assignment_expression "lVar19 = 9" identifier = number_literal) ;) (expression_statement "pbVar24 = (byte *)".eh_frame";" (assignment_expression "pbVar24 = (byte *)".eh_frame"" identifier = (cast_expression "(byte *)".eh_frame"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".eh_frame"" " string_content "))) ;) (expression_statement "pbVar17 = local_78[0];" (assignment_expression "pbVar17 = local_78[0]" identifier = (subscript_expression "local_78[0]" identifier [ number_literal ])) ;) (do_statement "do {\n              if (lVar19 == 0) break;\n              lVar19 = lVar19 + -1;\n              bVar30 = *pbVar24 < *pbVar17;\n              bVar26 = *pbVar24 == *pbVar17;\n              pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n              pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n            } while (bVar26);" do (compound_statement "{\n              if (lVar19 == 0) break;\n              lVar19 = lVar19 + -1;\n              bVar30 = *pbVar24 < *pbVar17;\n              bVar26 = *pbVar24 == *pbVar17;\n              pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n              pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n            }" { (if_statement "if (lVar19 == 0) break;" if (parenthesized_expression "(lVar19 == 0)" ( (binary_expression "lVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar19 = lVar19 + -1;" (assignment_expression "lVar19 = lVar19 + -1" identifier = (binary_expression "lVar19 + -1" identifier + number_literal)) ;) (expression_statement "bVar30 = *pbVar24 < *pbVar17;" (assignment_expression "bVar30 = *pbVar24 < *pbVar17" identifier = (binary_expression "*pbVar24 < *pbVar17" (pointer_expression "*pbVar24" * identifier) < (pointer_expression "*pbVar17" * identifier))) ;) (expression_statement "bVar26 = *pbVar24 == *pbVar17;" (assignment_expression "bVar26 = *pbVar24 == *pbVar17" identifier = (binary_expression "*pbVar24 == *pbVar17" (pointer_expression "*pbVar24" * identifier) == (pointer_expression "*pbVar17" * identifier))) ;) (expression_statement "pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1" identifier = (binary_expression "pbVar24 + (ulong)bVar31 * -2 + 1" (binary_expression "pbVar24 + (ulong)bVar31 * -2" identifier + (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;" (assignment_expression "pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1" identifier = (binary_expression "pbVar17 + (ulong)bVar31 * -2 + 1" (binary_expression "pbVar17 + (ulong)bVar31 * -2" identifier + (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar26)" ( identifier )) ;) (expression_statement "local_136 = (!bVar30 && !bVar26) != bVar30;" (assignment_expression "local_136 = (!bVar30 && !bVar26) != bVar30" identifier = (binary_expression "(!bVar30 && !bVar26) != bVar30" (parenthesized_expression "(!bVar30 && !bVar26)" ( (binary_expression "!bVar30 && !bVar26" (unary_expression "!bVar30" ! identifier) && (unary_expression "!bVar26" ! identifier)) )) != identifier)) ;) (goto_statement "goto LAB_0019234a;" goto statement_identifier ;) })) })) })) })) })) (expression_statement "local_136 = '\0';" (assignment_expression "local_136 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (labeled_statement "LAB_0019234a:\n  if (param_6 != 0) {\n    local_158 = (byte *)0x0;\n    local_120 = 0;\n    local_128 = param_5;\n    do {\n      uVar3 = local_128[1];\n      uVar4 = local_128[2];\n      uVar22 = uVar3 >> 8;\n      uVar7 = uVar3 & 0xff;\n      if (uVar22 < param_7) {\n        if (param_8 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/gc.h",0xea,"gc_process_relocs");\n        }\n        lVar19 = (ulong)(uVar22 << 4) + param_8;\n        uVar2 = *(ushort *)(lVar19 + 0xe);\n        uVar10 = (uint)uVar2;\n        if (uVar2 < 0xff00) {\nLAB_001924f6:\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (bVar28) {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = param_3;\n            FUN_001bdee0(local_178,&local_58);\n            bVar26 = true;\n            if ((*(byte *)(lVar19 + 0xc) & 0xf) == 3) goto LAB_0019253e;\nLAB_001923f0:\n            local_58 = (byte *)0x0;\n            FUN_001be560(local_170,&local_58);\n            goto LAB_0019240b;\n          }\n        }\n        else {\n          if (uVar2 == 0xffff) {\n            lVar14 = *(long *)(param_3 + 0x40);\n            if (lVar14 == 0) {\n              lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3);\n              *(long *)(param_3 + 0x40) = lVar14;\n            }\n            uVar10 = FUN_0022a020(lVar14,param_3,uVar22);\n            goto LAB_001924f6;\n          }\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (!bVar28) goto LAB_00192480;\n          local_58 = (byte *)0x0;\n          local_50 = local_50 & 0xffffffff00000000;\n                    /* try { // try from 001923d5 to 00192be2 has its CatchHandler @ 00192fd7 */\n          FUN_001bdee0(local_178,&local_58);\n          bVar26 = false;\n          if ((*(byte *)(lVar19 + 0xc) & 0xf) != 3) goto LAB_001923f0;\nLAB_0019253e:\n          local_58 = (byte *)0xffffffffffffffff;\n          FUN_001be560(local_170,&local_58);\nLAB_0019240b:\n          local_58 = pbVar24;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_a8 = (byte *)((ulong)local_a8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_a8);\n          if (!bVar26) goto LAB_00192480;\n        }\n        if (((local_136 != '\0') && ((*(byte *)(lVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar7 || ((0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) == 0)))) {\n          local_c0 = (uint)*(ushort *)(lVar19 + 0xe);\n          local_108 = *(long *)(param_1 + 0x298) + 0x68;\n          local_c8 = param_3;\n          FUN_001bcb90(local_108,&local_c8,&local_108,1);\n        }\n        pbVar24 = param_3;\n        if (param_4 != uVar10) {\nLAB_001925a8:\n          if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n          }\n          if (*(char *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809) != '\0') {\n            lVar14 = *(long *)(param_1 + 0x290);\n            lVar19 = lVar14 + 0x28;\n            lVar11 = lVar19;\n            lVar12 = lVar19;\n            lVar15 = *(long *)(lVar14 + 0x30);\n            local_b8 = param_3;\n            local_b0 = param_4;\n            local_a8 = pbVar24;\n            local_a0 = uVar10;\n            if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192660:\n              local_e8 = &local_b8;\n              lVar12 = FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a);\n            }\n            else {\n              do {\n                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }\n                lVar11 = lVar12;\n                lVar15 = *(long *)(lVar12 + 0x10);\n              } while (*(long *)(lVar12 + 0x10) != 0);\nLAB_0019263a:\n              if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))\n              goto LAB_00192660;\n            }\n            local_f0 = lVar12 + 0x30;\n            FUN_001bcaf0(local_f0,&local_a8,&local_f0,1);\n            plVar1 = *(long **)(PTR_DAT_004ba7c8 + 0x18);\n            if (plVar1 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_001e9890("../../gold/parameters.h",0x73,"sized_target");\n            }\n            (**(code **)(*plVar1 + 0x208))(plVar1,param_1,param_3,param_4,pbVar24,uVar10,local_134);\n            if (local_158 != (byte *)0x0) {\n              lVar19 = *(long *)(param_1 + 0x290);\n              local_58 = local_48;\n              sVar13 = strlen((char *)local_158);\n              FUN_001bc4c0(&local_58,local_158,local_158 + sVar13);\n              lVar19 = FUN_001be060(lVar19 + 0x88,&local_58);\n              if (local_58 != local_48) {\n                FUN_00338a40();\n              }\n              lVar14 = *(long *)(param_1 + 0x290);\n              if (lVar19 != lVar14 + 0x90) {\n                lVar11 = lVar14 + 0x28;\n                local_50 = CONCAT44(local_50._4_4_,param_4);\n                lVar12 = lVar11;\n                lVar15 = lVar11;\n                lVar8 = *(long *)(lVar14 + 0x30);\n                if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }\n                else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }\n                for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;\n                    puVar5 = (undefined8 *)*puVar5) {\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (uVar22 < *(uint *)(param_3 + 0x120)) {\n          local_a8 = (byte *)0x0;\nLAB_00192adb:\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/gc.h",0x11c,"gc_process_relocs");\n        }\n        uVar23 = (ulong)(uVar22 - *(uint *)(param_3 + 0x120));\n        if ((ulong)(*(long *)(param_3 + 0x138) - *(long *)(param_3 + 0x130) >> 3) <= uVar23) {\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/object.h",0x8ad,"global_symbol");\n        }\n        local_a8 = *(byte **)(*(long *)(param_3 + 0x130) + uVar23 * 8);\n        if (local_a8 == (byte *)0x0) goto LAB_00192adb;\n        if ((local_a8[0x3a] & 0x10) != 0) {\n          local_a8 = (byte *)FUN_002ddad0(param_1,local_a8);\n        }\n        if ((local_a8[0x3a] & 7) == 0) {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          pbVar24 = *(byte **)(local_a8 + 0x10);\n          local_134 = uVar4 + local_150;\n          if ((pbVar24[0x3c] & 1) == 0) {\n            uVar10 = *(uint *)(local_a8 + 0x18);\n            bVar18 = local_a8[0x3b] >> 5 & 1;\n            uVar25 = (local_a8[0x38] & 0xf) < 2;\n            uVar29 = (local_a8[0x38] & 0xf) == 2;\n            if ((bool)uVar29) {\n              uVar25 = 0;\n              uVar29 = local_136 == '\0';\n              if (!(bool)uVar29) {\n                uVar25 = false;\n                uVar29 = bVar18 == 0;\n                if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }\n                local_100 = *(long *)(param_1 + 0x298) + 0x68;\n                local_d8 = pbVar24;\n                local_d0 = uVar10;\n                    /* try { // try from 00192ca4 to 00192e68 has its CatchHandler @ 00192fd7 */\n                FUN_001bcb90(local_100,&local_d8,&local_100,1);\n              }\n            }\n          }\n          else {\n            bVar18 = 0;\n            uVar10 = 0;\n            uVar25 = 0;\n            pbVar24 = (byte *)0x0;\n            uVar29 = 1;\n          }\n        }\n        else {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          bVar18 = 0;\n          uVar10 = 0;\n          uVar25 = 0;\n          pbVar24 = (byte *)0x0;\n          uVar29 = 1;\n          local_134 = uVar4 + local_150;\n        }\nLAB_00192930:\n        pbVar17 = *(byte **)local_a8;\n        lVar19 = 8;\n        pbVar20 = (byte *)"__start_";\n        pbVar21 = pbVar17;\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          uVar25 = *pbVar20 < *pbVar21;\n          uVar29 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n          pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n        } while ((bool)uVar29);\n        bVar26 = false;\n        bVar30 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;\n        if (bVar30) {\n          pbVar17 = pbVar17 + 8;\n        }\n        else {\n          lVar19 = 7;\n          pbVar20 = (byte *)"__stop_";\n          pbVar21 = pbVar17;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar21;\n            bVar30 = *pbVar20 == *pbVar21;\n            pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n            pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n          } while (bVar30);\n          pbVar17 = pbVar17 + 7;\n          if ((!bVar26 && !bVar30) != bVar26) {\n            pbVar17 = local_158;\n          }\n        }\n        local_158 = pbVar17;\n        if (bVar28) {\n          if (bVar18 == 0) {\n            local_58 = (byte *)0x0;\n            local_50 = (ulong)local_50._4_4_ << 0x20;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          else {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = pbVar24;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          puVar5 = *(undefined8 **)(local_170 + 8);\n          if (puVar5 == *(undefined8 **)(local_170 + 0x10)) {\n            FUN_001bbf50(local_170,puVar5,&local_a8);\n          }\n          else {\n            *puVar5 = local_a8;\n            *(undefined8 **)(local_170 + 8) = puVar5 + 1;\n          }\n          local_58 = (byte *)(ulong)local_150;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_b8 = (byte *)((ulong)local_b8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_b8);\n        }\n        if (bVar18 != 0) goto LAB_001925a8;\n      }\nLAB_00192480:\n      local_120 = local_120 + 1;\n      local_128 = local_128 + 3;\n    } while (param_6 != local_120);\n  }" statement_identifier : (if_statement "if (param_6 != 0) {\n    local_158 = (byte *)0x0;\n    local_120 = 0;\n    local_128 = param_5;\n    do {\n      uVar3 = local_128[1];\n      uVar4 = local_128[2];\n      uVar22 = uVar3 >> 8;\n      uVar7 = uVar3 & 0xff;\n      if (uVar22 < param_7) {\n        if (param_8 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/gc.h",0xea,"gc_process_relocs");\n        }\n        lVar19 = (ulong)(uVar22 << 4) + param_8;\n        uVar2 = *(ushort *)(lVar19 + 0xe);\n        uVar10 = (uint)uVar2;\n        if (uVar2 < 0xff00) {\nLAB_001924f6:\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (bVar28) {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = param_3;\n            FUN_001bdee0(local_178,&local_58);\n            bVar26 = true;\n            if ((*(byte *)(lVar19 + 0xc) & 0xf) == 3) goto LAB_0019253e;\nLAB_001923f0:\n            local_58 = (byte *)0x0;\n            FUN_001be560(local_170,&local_58);\n            goto LAB_0019240b;\n          }\n        }\n        else {\n          if (uVar2 == 0xffff) {\n            lVar14 = *(long *)(param_3 + 0x40);\n            if (lVar14 == 0) {\n              lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3);\n              *(long *)(param_3 + 0x40) = lVar14;\n            }\n            uVar10 = FUN_0022a020(lVar14,param_3,uVar22);\n            goto LAB_001924f6;\n          }\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (!bVar28) goto LAB_00192480;\n          local_58 = (byte *)0x0;\n          local_50 = local_50 & 0xffffffff00000000;\n                    /* try { // try from 001923d5 to 00192be2 has its CatchHandler @ 00192fd7 */\n          FUN_001bdee0(local_178,&local_58);\n          bVar26 = false;\n          if ((*(byte *)(lVar19 + 0xc) & 0xf) != 3) goto LAB_001923f0;\nLAB_0019253e:\n          local_58 = (byte *)0xffffffffffffffff;\n          FUN_001be560(local_170,&local_58);\nLAB_0019240b:\n          local_58 = pbVar24;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_a8 = (byte *)((ulong)local_a8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_a8);\n          if (!bVar26) goto LAB_00192480;\n        }\n        if (((local_136 != '\0') && ((*(byte *)(lVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar7 || ((0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) == 0)))) {\n          local_c0 = (uint)*(ushort *)(lVar19 + 0xe);\n          local_108 = *(long *)(param_1 + 0x298) + 0x68;\n          local_c8 = param_3;\n          FUN_001bcb90(local_108,&local_c8,&local_108,1);\n        }\n        pbVar24 = param_3;\n        if (param_4 != uVar10) {\nLAB_001925a8:\n          if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n          }\n          if (*(char *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809) != '\0') {\n            lVar14 = *(long *)(param_1 + 0x290);\n            lVar19 = lVar14 + 0x28;\n            lVar11 = lVar19;\n            lVar12 = lVar19;\n            lVar15 = *(long *)(lVar14 + 0x30);\n            local_b8 = param_3;\n            local_b0 = param_4;\n            local_a8 = pbVar24;\n            local_a0 = uVar10;\n            if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192660:\n              local_e8 = &local_b8;\n              lVar12 = FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a);\n            }\n            else {\n              do {\n                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }\n                lVar11 = lVar12;\n                lVar15 = *(long *)(lVar12 + 0x10);\n              } while (*(long *)(lVar12 + 0x10) != 0);\nLAB_0019263a:\n              if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))\n              goto LAB_00192660;\n            }\n            local_f0 = lVar12 + 0x30;\n            FUN_001bcaf0(local_f0,&local_a8,&local_f0,1);\n            plVar1 = *(long **)(PTR_DAT_004ba7c8 + 0x18);\n            if (plVar1 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_001e9890("../../gold/parameters.h",0x73,"sized_target");\n            }\n            (**(code **)(*plVar1 + 0x208))(plVar1,param_1,param_3,param_4,pbVar24,uVar10,local_134);\n            if (local_158 != (byte *)0x0) {\n              lVar19 = *(long *)(param_1 + 0x290);\n              local_58 = local_48;\n              sVar13 = strlen((char *)local_158);\n              FUN_001bc4c0(&local_58,local_158,local_158 + sVar13);\n              lVar19 = FUN_001be060(lVar19 + 0x88,&local_58);\n              if (local_58 != local_48) {\n                FUN_00338a40();\n              }\n              lVar14 = *(long *)(param_1 + 0x290);\n              if (lVar19 != lVar14 + 0x90) {\n                lVar11 = lVar14 + 0x28;\n                local_50 = CONCAT44(local_50._4_4_,param_4);\n                lVar12 = lVar11;\n                lVar15 = lVar11;\n                lVar8 = *(long *)(lVar14 + 0x30);\n                if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }\n                else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }\n                for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;\n                    puVar5 = (undefined8 *)*puVar5) {\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (uVar22 < *(uint *)(param_3 + 0x120)) {\n          local_a8 = (byte *)0x0;\nLAB_00192adb:\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/gc.h",0x11c,"gc_process_relocs");\n        }\n        uVar23 = (ulong)(uVar22 - *(uint *)(param_3 + 0x120));\n        if ((ulong)(*(long *)(param_3 + 0x138) - *(long *)(param_3 + 0x130) >> 3) <= uVar23) {\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/object.h",0x8ad,"global_symbol");\n        }\n        local_a8 = *(byte **)(*(long *)(param_3 + 0x130) + uVar23 * 8);\n        if (local_a8 == (byte *)0x0) goto LAB_00192adb;\n        if ((local_a8[0x3a] & 0x10) != 0) {\n          local_a8 = (byte *)FUN_002ddad0(param_1,local_a8);\n        }\n        if ((local_a8[0x3a] & 7) == 0) {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          pbVar24 = *(byte **)(local_a8 + 0x10);\n          local_134 = uVar4 + local_150;\n          if ((pbVar24[0x3c] & 1) == 0) {\n            uVar10 = *(uint *)(local_a8 + 0x18);\n            bVar18 = local_a8[0x3b] >> 5 & 1;\n            uVar25 = (local_a8[0x38] & 0xf) < 2;\n            uVar29 = (local_a8[0x38] & 0xf) == 2;\n            if ((bool)uVar29) {\n              uVar25 = 0;\n              uVar29 = local_136 == '\0';\n              if (!(bool)uVar29) {\n                uVar25 = false;\n                uVar29 = bVar18 == 0;\n                if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }\n                local_100 = *(long *)(param_1 + 0x298) + 0x68;\n                local_d8 = pbVar24;\n                local_d0 = uVar10;\n                    /* try { // try from 00192ca4 to 00192e68 has its CatchHandler @ 00192fd7 */\n                FUN_001bcb90(local_100,&local_d8,&local_100,1);\n              }\n            }\n          }\n          else {\n            bVar18 = 0;\n            uVar10 = 0;\n            uVar25 = 0;\n            pbVar24 = (byte *)0x0;\n            uVar29 = 1;\n          }\n        }\n        else {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          bVar18 = 0;\n          uVar10 = 0;\n          uVar25 = 0;\n          pbVar24 = (byte *)0x0;\n          uVar29 = 1;\n          local_134 = uVar4 + local_150;\n        }\nLAB_00192930:\n        pbVar17 = *(byte **)local_a8;\n        lVar19 = 8;\n        pbVar20 = (byte *)"__start_";\n        pbVar21 = pbVar17;\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          uVar25 = *pbVar20 < *pbVar21;\n          uVar29 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n          pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n        } while ((bool)uVar29);\n        bVar26 = false;\n        bVar30 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;\n        if (bVar30) {\n          pbVar17 = pbVar17 + 8;\n        }\n        else {\n          lVar19 = 7;\n          pbVar20 = (byte *)"__stop_";\n          pbVar21 = pbVar17;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar21;\n            bVar30 = *pbVar20 == *pbVar21;\n            pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n            pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n          } while (bVar30);\n          pbVar17 = pbVar17 + 7;\n          if ((!bVar26 && !bVar30) != bVar26) {\n            pbVar17 = local_158;\n          }\n        }\n        local_158 = pbVar17;\n        if (bVar28) {\n          if (bVar18 == 0) {\n            local_58 = (byte *)0x0;\n            local_50 = (ulong)local_50._4_4_ << 0x20;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          else {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = pbVar24;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          puVar5 = *(undefined8 **)(local_170 + 8);\n          if (puVar5 == *(undefined8 **)(local_170 + 0x10)) {\n            FUN_001bbf50(local_170,puVar5,&local_a8);\n          }\n          else {\n            *puVar5 = local_a8;\n            *(undefined8 **)(local_170 + 8) = puVar5 + 1;\n          }\n          local_58 = (byte *)(ulong)local_150;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_b8 = (byte *)((ulong)local_b8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_b8);\n        }\n        if (bVar18 != 0) goto LAB_001925a8;\n      }\nLAB_00192480:\n      local_120 = local_120 + 1;\n      local_128 = local_128 + 3;\n    } while (param_6 != local_120);\n  }" if (parenthesized_expression "(param_6 != 0)" ( (binary_expression "param_6 != 0" identifier != number_literal) )) (compound_statement "{\n    local_158 = (byte *)0x0;\n    local_120 = 0;\n    local_128 = param_5;\n    do {\n      uVar3 = local_128[1];\n      uVar4 = local_128[2];\n      uVar22 = uVar3 >> 8;\n      uVar7 = uVar3 & 0xff;\n      if (uVar22 < param_7) {\n        if (param_8 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/gc.h",0xea,"gc_process_relocs");\n        }\n        lVar19 = (ulong)(uVar22 << 4) + param_8;\n        uVar2 = *(ushort *)(lVar19 + 0xe);\n        uVar10 = (uint)uVar2;\n        if (uVar2 < 0xff00) {\nLAB_001924f6:\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (bVar28) {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = param_3;\n            FUN_001bdee0(local_178,&local_58);\n            bVar26 = true;\n            if ((*(byte *)(lVar19 + 0xc) & 0xf) == 3) goto LAB_0019253e;\nLAB_001923f0:\n            local_58 = (byte *)0x0;\n            FUN_001be560(local_170,&local_58);\n            goto LAB_0019240b;\n          }\n        }\n        else {\n          if (uVar2 == 0xffff) {\n            lVar14 = *(long *)(param_3 + 0x40);\n            if (lVar14 == 0) {\n              lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3);\n              *(long *)(param_3 + 0x40) = lVar14;\n            }\n            uVar10 = FUN_0022a020(lVar14,param_3,uVar22);\n            goto LAB_001924f6;\n          }\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (!bVar28) goto LAB_00192480;\n          local_58 = (byte *)0x0;\n          local_50 = local_50 & 0xffffffff00000000;\n                    /* try { // try from 001923d5 to 00192be2 has its CatchHandler @ 00192fd7 */\n          FUN_001bdee0(local_178,&local_58);\n          bVar26 = false;\n          if ((*(byte *)(lVar19 + 0xc) & 0xf) != 3) goto LAB_001923f0;\nLAB_0019253e:\n          local_58 = (byte *)0xffffffffffffffff;\n          FUN_001be560(local_170,&local_58);\nLAB_0019240b:\n          local_58 = pbVar24;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_a8 = (byte *)((ulong)local_a8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_a8);\n          if (!bVar26) goto LAB_00192480;\n        }\n        if (((local_136 != '\0') && ((*(byte *)(lVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar7 || ((0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) == 0)))) {\n          local_c0 = (uint)*(ushort *)(lVar19 + 0xe);\n          local_108 = *(long *)(param_1 + 0x298) + 0x68;\n          local_c8 = param_3;\n          FUN_001bcb90(local_108,&local_c8,&local_108,1);\n        }\n        pbVar24 = param_3;\n        if (param_4 != uVar10) {\nLAB_001925a8:\n          if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n          }\n          if (*(char *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809) != '\0') {\n            lVar14 = *(long *)(param_1 + 0x290);\n            lVar19 = lVar14 + 0x28;\n            lVar11 = lVar19;\n            lVar12 = lVar19;\n            lVar15 = *(long *)(lVar14 + 0x30);\n            local_b8 = param_3;\n            local_b0 = param_4;\n            local_a8 = pbVar24;\n            local_a0 = uVar10;\n            if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192660:\n              local_e8 = &local_b8;\n              lVar12 = FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a);\n            }\n            else {\n              do {\n                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }\n                lVar11 = lVar12;\n                lVar15 = *(long *)(lVar12 + 0x10);\n              } while (*(long *)(lVar12 + 0x10) != 0);\nLAB_0019263a:\n              if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))\n              goto LAB_00192660;\n            }\n            local_f0 = lVar12 + 0x30;\n            FUN_001bcaf0(local_f0,&local_a8,&local_f0,1);\n            plVar1 = *(long **)(PTR_DAT_004ba7c8 + 0x18);\n            if (plVar1 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_001e9890("../../gold/parameters.h",0x73,"sized_target");\n            }\n            (**(code **)(*plVar1 + 0x208))(plVar1,param_1,param_3,param_4,pbVar24,uVar10,local_134);\n            if (local_158 != (byte *)0x0) {\n              lVar19 = *(long *)(param_1 + 0x290);\n              local_58 = local_48;\n              sVar13 = strlen((char *)local_158);\n              FUN_001bc4c0(&local_58,local_158,local_158 + sVar13);\n              lVar19 = FUN_001be060(lVar19 + 0x88,&local_58);\n              if (local_58 != local_48) {\n                FUN_00338a40();\n              }\n              lVar14 = *(long *)(param_1 + 0x290);\n              if (lVar19 != lVar14 + 0x90) {\n                lVar11 = lVar14 + 0x28;\n                local_50 = CONCAT44(local_50._4_4_,param_4);\n                lVar12 = lVar11;\n                lVar15 = lVar11;\n                lVar8 = *(long *)(lVar14 + 0x30);\n                if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }\n                else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }\n                for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;\n                    puVar5 = (undefined8 *)*puVar5) {\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (uVar22 < *(uint *)(param_3 + 0x120)) {\n          local_a8 = (byte *)0x0;\nLAB_00192adb:\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/gc.h",0x11c,"gc_process_relocs");\n        }\n        uVar23 = (ulong)(uVar22 - *(uint *)(param_3 + 0x120));\n        if ((ulong)(*(long *)(param_3 + 0x138) - *(long *)(param_3 + 0x130) >> 3) <= uVar23) {\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/object.h",0x8ad,"global_symbol");\n        }\n        local_a8 = *(byte **)(*(long *)(param_3 + 0x130) + uVar23 * 8);\n        if (local_a8 == (byte *)0x0) goto LAB_00192adb;\n        if ((local_a8[0x3a] & 0x10) != 0) {\n          local_a8 = (byte *)FUN_002ddad0(param_1,local_a8);\n        }\n        if ((local_a8[0x3a] & 7) == 0) {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          pbVar24 = *(byte **)(local_a8 + 0x10);\n          local_134 = uVar4 + local_150;\n          if ((pbVar24[0x3c] & 1) == 0) {\n            uVar10 = *(uint *)(local_a8 + 0x18);\n            bVar18 = local_a8[0x3b] >> 5 & 1;\n            uVar25 = (local_a8[0x38] & 0xf) < 2;\n            uVar29 = (local_a8[0x38] & 0xf) == 2;\n            if ((bool)uVar29) {\n              uVar25 = 0;\n              uVar29 = local_136 == '\0';\n              if (!(bool)uVar29) {\n                uVar25 = false;\n                uVar29 = bVar18 == 0;\n                if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }\n                local_100 = *(long *)(param_1 + 0x298) + 0x68;\n                local_d8 = pbVar24;\n                local_d0 = uVar10;\n                    /* try { // try from 00192ca4 to 00192e68 has its CatchHandler @ 00192fd7 */\n                FUN_001bcb90(local_100,&local_d8,&local_100,1);\n              }\n            }\n          }\n          else {\n            bVar18 = 0;\n            uVar10 = 0;\n            uVar25 = 0;\n            pbVar24 = (byte *)0x0;\n            uVar29 = 1;\n          }\n        }\n        else {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          bVar18 = 0;\n          uVar10 = 0;\n          uVar25 = 0;\n          pbVar24 = (byte *)0x0;\n          uVar29 = 1;\n          local_134 = uVar4 + local_150;\n        }\nLAB_00192930:\n        pbVar17 = *(byte **)local_a8;\n        lVar19 = 8;\n        pbVar20 = (byte *)"__start_";\n        pbVar21 = pbVar17;\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          uVar25 = *pbVar20 < *pbVar21;\n          uVar29 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n          pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n        } while ((bool)uVar29);\n        bVar26 = false;\n        bVar30 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;\n        if (bVar30) {\n          pbVar17 = pbVar17 + 8;\n        }\n        else {\n          lVar19 = 7;\n          pbVar20 = (byte *)"__stop_";\n          pbVar21 = pbVar17;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar21;\n            bVar30 = *pbVar20 == *pbVar21;\n            pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n            pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n          } while (bVar30);\n          pbVar17 = pbVar17 + 7;\n          if ((!bVar26 && !bVar30) != bVar26) {\n            pbVar17 = local_158;\n          }\n        }\n        local_158 = pbVar17;\n        if (bVar28) {\n          if (bVar18 == 0) {\n            local_58 = (byte *)0x0;\n            local_50 = (ulong)local_50._4_4_ << 0x20;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          else {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = pbVar24;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          puVar5 = *(undefined8 **)(local_170 + 8);\n          if (puVar5 == *(undefined8 **)(local_170 + 0x10)) {\n            FUN_001bbf50(local_170,puVar5,&local_a8);\n          }\n          else {\n            *puVar5 = local_a8;\n            *(undefined8 **)(local_170 + 8) = puVar5 + 1;\n          }\n          local_58 = (byte *)(ulong)local_150;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_b8 = (byte *)((ulong)local_b8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_b8);\n        }\n        if (bVar18 != 0) goto LAB_001925a8;\n      }\nLAB_00192480:\n      local_120 = local_120 + 1;\n      local_128 = local_128 + 3;\n    } while (param_6 != local_120);\n  }" { (expression_statement "local_158 = (byte *)0x0;" (assignment_expression "local_158 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_120 = 0;" (assignment_expression "local_120 = 0" identifier = number_literal) ;) (expression_statement "local_128 = param_5;" (assignment_expression "local_128 = param_5" identifier = identifier) ;) (do_statement "do {\n      uVar3 = local_128[1];\n      uVar4 = local_128[2];\n      uVar22 = uVar3 >> 8;\n      uVar7 = uVar3 & 0xff;\n      if (uVar22 < param_7) {\n        if (param_8 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/gc.h",0xea,"gc_process_relocs");\n        }\n        lVar19 = (ulong)(uVar22 << 4) + param_8;\n        uVar2 = *(ushort *)(lVar19 + 0xe);\n        uVar10 = (uint)uVar2;\n        if (uVar2 < 0xff00) {\nLAB_001924f6:\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (bVar28) {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = param_3;\n            FUN_001bdee0(local_178,&local_58);\n            bVar26 = true;\n            if ((*(byte *)(lVar19 + 0xc) & 0xf) == 3) goto LAB_0019253e;\nLAB_001923f0:\n            local_58 = (byte *)0x0;\n            FUN_001be560(local_170,&local_58);\n            goto LAB_0019240b;\n          }\n        }\n        else {\n          if (uVar2 == 0xffff) {\n            lVar14 = *(long *)(param_3 + 0x40);\n            if (lVar14 == 0) {\n              lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3);\n              *(long *)(param_3 + 0x40) = lVar14;\n            }\n            uVar10 = FUN_0022a020(lVar14,param_3,uVar22);\n            goto LAB_001924f6;\n          }\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (!bVar28) goto LAB_00192480;\n          local_58 = (byte *)0x0;\n          local_50 = local_50 & 0xffffffff00000000;\n                    /* try { // try from 001923d5 to 00192be2 has its CatchHandler @ 00192fd7 */\n          FUN_001bdee0(local_178,&local_58);\n          bVar26 = false;\n          if ((*(byte *)(lVar19 + 0xc) & 0xf) != 3) goto LAB_001923f0;\nLAB_0019253e:\n          local_58 = (byte *)0xffffffffffffffff;\n          FUN_001be560(local_170,&local_58);\nLAB_0019240b:\n          local_58 = pbVar24;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_a8 = (byte *)((ulong)local_a8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_a8);\n          if (!bVar26) goto LAB_00192480;\n        }\n        if (((local_136 != '\0') && ((*(byte *)(lVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar7 || ((0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) == 0)))) {\n          local_c0 = (uint)*(ushort *)(lVar19 + 0xe);\n          local_108 = *(long *)(param_1 + 0x298) + 0x68;\n          local_c8 = param_3;\n          FUN_001bcb90(local_108,&local_c8,&local_108,1);\n        }\n        pbVar24 = param_3;\n        if (param_4 != uVar10) {\nLAB_001925a8:\n          if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n          }\n          if (*(char *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809) != '\0') {\n            lVar14 = *(long *)(param_1 + 0x290);\n            lVar19 = lVar14 + 0x28;\n            lVar11 = lVar19;\n            lVar12 = lVar19;\n            lVar15 = *(long *)(lVar14 + 0x30);\n            local_b8 = param_3;\n            local_b0 = param_4;\n            local_a8 = pbVar24;\n            local_a0 = uVar10;\n            if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192660:\n              local_e8 = &local_b8;\n              lVar12 = FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a);\n            }\n            else {\n              do {\n                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }\n                lVar11 = lVar12;\n                lVar15 = *(long *)(lVar12 + 0x10);\n              } while (*(long *)(lVar12 + 0x10) != 0);\nLAB_0019263a:\n              if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))\n              goto LAB_00192660;\n            }\n            local_f0 = lVar12 + 0x30;\n            FUN_001bcaf0(local_f0,&local_a8,&local_f0,1);\n            plVar1 = *(long **)(PTR_DAT_004ba7c8 + 0x18);\n            if (plVar1 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_001e9890("../../gold/parameters.h",0x73,"sized_target");\n            }\n            (**(code **)(*plVar1 + 0x208))(plVar1,param_1,param_3,param_4,pbVar24,uVar10,local_134);\n            if (local_158 != (byte *)0x0) {\n              lVar19 = *(long *)(param_1 + 0x290);\n              local_58 = local_48;\n              sVar13 = strlen((char *)local_158);\n              FUN_001bc4c0(&local_58,local_158,local_158 + sVar13);\n              lVar19 = FUN_001be060(lVar19 + 0x88,&local_58);\n              if (local_58 != local_48) {\n                FUN_00338a40();\n              }\n              lVar14 = *(long *)(param_1 + 0x290);\n              if (lVar19 != lVar14 + 0x90) {\n                lVar11 = lVar14 + 0x28;\n                local_50 = CONCAT44(local_50._4_4_,param_4);\n                lVar12 = lVar11;\n                lVar15 = lVar11;\n                lVar8 = *(long *)(lVar14 + 0x30);\n                if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }\n                else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }\n                for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;\n                    puVar5 = (undefined8 *)*puVar5) {\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (uVar22 < *(uint *)(param_3 + 0x120)) {\n          local_a8 = (byte *)0x0;\nLAB_00192adb:\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/gc.h",0x11c,"gc_process_relocs");\n        }\n        uVar23 = (ulong)(uVar22 - *(uint *)(param_3 + 0x120));\n        if ((ulong)(*(long *)(param_3 + 0x138) - *(long *)(param_3 + 0x130) >> 3) <= uVar23) {\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/object.h",0x8ad,"global_symbol");\n        }\n        local_a8 = *(byte **)(*(long *)(param_3 + 0x130) + uVar23 * 8);\n        if (local_a8 == (byte *)0x0) goto LAB_00192adb;\n        if ((local_a8[0x3a] & 0x10) != 0) {\n          local_a8 = (byte *)FUN_002ddad0(param_1,local_a8);\n        }\n        if ((local_a8[0x3a] & 7) == 0) {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          pbVar24 = *(byte **)(local_a8 + 0x10);\n          local_134 = uVar4 + local_150;\n          if ((pbVar24[0x3c] & 1) == 0) {\n            uVar10 = *(uint *)(local_a8 + 0x18);\n            bVar18 = local_a8[0x3b] >> 5 & 1;\n            uVar25 = (local_a8[0x38] & 0xf) < 2;\n            uVar29 = (local_a8[0x38] & 0xf) == 2;\n            if ((bool)uVar29) {\n              uVar25 = 0;\n              uVar29 = local_136 == '\0';\n              if (!(bool)uVar29) {\n                uVar25 = false;\n                uVar29 = bVar18 == 0;\n                if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }\n                local_100 = *(long *)(param_1 + 0x298) + 0x68;\n                local_d8 = pbVar24;\n                local_d0 = uVar10;\n                    /* try { // try from 00192ca4 to 00192e68 has its CatchHandler @ 00192fd7 */\n                FUN_001bcb90(local_100,&local_d8,&local_100,1);\n              }\n            }\n          }\n          else {\n            bVar18 = 0;\n            uVar10 = 0;\n            uVar25 = 0;\n            pbVar24 = (byte *)0x0;\n            uVar29 = 1;\n          }\n        }\n        else {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          bVar18 = 0;\n          uVar10 = 0;\n          uVar25 = 0;\n          pbVar24 = (byte *)0x0;\n          uVar29 = 1;\n          local_134 = uVar4 + local_150;\n        }\nLAB_00192930:\n        pbVar17 = *(byte **)local_a8;\n        lVar19 = 8;\n        pbVar20 = (byte *)"__start_";\n        pbVar21 = pbVar17;\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          uVar25 = *pbVar20 < *pbVar21;\n          uVar29 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n          pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n        } while ((bool)uVar29);\n        bVar26 = false;\n        bVar30 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;\n        if (bVar30) {\n          pbVar17 = pbVar17 + 8;\n        }\n        else {\n          lVar19 = 7;\n          pbVar20 = (byte *)"__stop_";\n          pbVar21 = pbVar17;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar21;\n            bVar30 = *pbVar20 == *pbVar21;\n            pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n            pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n          } while (bVar30);\n          pbVar17 = pbVar17 + 7;\n          if ((!bVar26 && !bVar30) != bVar26) {\n            pbVar17 = local_158;\n          }\n        }\n        local_158 = pbVar17;\n        if (bVar28) {\n          if (bVar18 == 0) {\n            local_58 = (byte *)0x0;\n            local_50 = (ulong)local_50._4_4_ << 0x20;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          else {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = pbVar24;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          puVar5 = *(undefined8 **)(local_170 + 8);\n          if (puVar5 == *(undefined8 **)(local_170 + 0x10)) {\n            FUN_001bbf50(local_170,puVar5,&local_a8);\n          }\n          else {\n            *puVar5 = local_a8;\n            *(undefined8 **)(local_170 + 8) = puVar5 + 1;\n          }\n          local_58 = (byte *)(ulong)local_150;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_b8 = (byte *)((ulong)local_b8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_b8);\n        }\n        if (bVar18 != 0) goto LAB_001925a8;\n      }\nLAB_00192480:\n      local_120 = local_120 + 1;\n      local_128 = local_128 + 3;\n    } while (param_6 != local_120);" do (compound_statement "{\n      uVar3 = local_128[1];\n      uVar4 = local_128[2];\n      uVar22 = uVar3 >> 8;\n      uVar7 = uVar3 & 0xff;\n      if (uVar22 < param_7) {\n        if (param_8 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/gc.h",0xea,"gc_process_relocs");\n        }\n        lVar19 = (ulong)(uVar22 << 4) + param_8;\n        uVar2 = *(ushort *)(lVar19 + 0xe);\n        uVar10 = (uint)uVar2;\n        if (uVar2 < 0xff00) {\nLAB_001924f6:\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (bVar28) {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = param_3;\n            FUN_001bdee0(local_178,&local_58);\n            bVar26 = true;\n            if ((*(byte *)(lVar19 + 0xc) & 0xf) == 3) goto LAB_0019253e;\nLAB_001923f0:\n            local_58 = (byte *)0x0;\n            FUN_001be560(local_170,&local_58);\n            goto LAB_0019240b;\n          }\n        }\n        else {\n          if (uVar2 == 0xffff) {\n            lVar14 = *(long *)(param_3 + 0x40);\n            if (lVar14 == 0) {\n              lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3);\n              *(long *)(param_3 + 0x40) = lVar14;\n            }\n            uVar10 = FUN_0022a020(lVar14,param_3,uVar22);\n            goto LAB_001924f6;\n          }\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (!bVar28) goto LAB_00192480;\n          local_58 = (byte *)0x0;\n          local_50 = local_50 & 0xffffffff00000000;\n                    /* try { // try from 001923d5 to 00192be2 has its CatchHandler @ 00192fd7 */\n          FUN_001bdee0(local_178,&local_58);\n          bVar26 = false;\n          if ((*(byte *)(lVar19 + 0xc) & 0xf) != 3) goto LAB_001923f0;\nLAB_0019253e:\n          local_58 = (byte *)0xffffffffffffffff;\n          FUN_001be560(local_170,&local_58);\nLAB_0019240b:\n          local_58 = pbVar24;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_a8 = (byte *)((ulong)local_a8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_a8);\n          if (!bVar26) goto LAB_00192480;\n        }\n        if (((local_136 != '\0') && ((*(byte *)(lVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar7 || ((0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) == 0)))) {\n          local_c0 = (uint)*(ushort *)(lVar19 + 0xe);\n          local_108 = *(long *)(param_1 + 0x298) + 0x68;\n          local_c8 = param_3;\n          FUN_001bcb90(local_108,&local_c8,&local_108,1);\n        }\n        pbVar24 = param_3;\n        if (param_4 != uVar10) {\nLAB_001925a8:\n          if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n          }\n          if (*(char *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809) != '\0') {\n            lVar14 = *(long *)(param_1 + 0x290);\n            lVar19 = lVar14 + 0x28;\n            lVar11 = lVar19;\n            lVar12 = lVar19;\n            lVar15 = *(long *)(lVar14 + 0x30);\n            local_b8 = param_3;\n            local_b0 = param_4;\n            local_a8 = pbVar24;\n            local_a0 = uVar10;\n            if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192660:\n              local_e8 = &local_b8;\n              lVar12 = FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a);\n            }\n            else {\n              do {\n                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }\n                lVar11 = lVar12;\n                lVar15 = *(long *)(lVar12 + 0x10);\n              } while (*(long *)(lVar12 + 0x10) != 0);\nLAB_0019263a:\n              if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))\n              goto LAB_00192660;\n            }\n            local_f0 = lVar12 + 0x30;\n            FUN_001bcaf0(local_f0,&local_a8,&local_f0,1);\n            plVar1 = *(long **)(PTR_DAT_004ba7c8 + 0x18);\n            if (plVar1 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_001e9890("../../gold/parameters.h",0x73,"sized_target");\n            }\n            (**(code **)(*plVar1 + 0x208))(plVar1,param_1,param_3,param_4,pbVar24,uVar10,local_134);\n            if (local_158 != (byte *)0x0) {\n              lVar19 = *(long *)(param_1 + 0x290);\n              local_58 = local_48;\n              sVar13 = strlen((char *)local_158);\n              FUN_001bc4c0(&local_58,local_158,local_158 + sVar13);\n              lVar19 = FUN_001be060(lVar19 + 0x88,&local_58);\n              if (local_58 != local_48) {\n                FUN_00338a40();\n              }\n              lVar14 = *(long *)(param_1 + 0x290);\n              if (lVar19 != lVar14 + 0x90) {\n                lVar11 = lVar14 + 0x28;\n                local_50 = CONCAT44(local_50._4_4_,param_4);\n                lVar12 = lVar11;\n                lVar15 = lVar11;\n                lVar8 = *(long *)(lVar14 + 0x30);\n                if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }\n                else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }\n                for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;\n                    puVar5 = (undefined8 *)*puVar5) {\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (uVar22 < *(uint *)(param_3 + 0x120)) {\n          local_a8 = (byte *)0x0;\nLAB_00192adb:\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/gc.h",0x11c,"gc_process_relocs");\n        }\n        uVar23 = (ulong)(uVar22 - *(uint *)(param_3 + 0x120));\n        if ((ulong)(*(long *)(param_3 + 0x138) - *(long *)(param_3 + 0x130) >> 3) <= uVar23) {\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/object.h",0x8ad,"global_symbol");\n        }\n        local_a8 = *(byte **)(*(long *)(param_3 + 0x130) + uVar23 * 8);\n        if (local_a8 == (byte *)0x0) goto LAB_00192adb;\n        if ((local_a8[0x3a] & 0x10) != 0) {\n          local_a8 = (byte *)FUN_002ddad0(param_1,local_a8);\n        }\n        if ((local_a8[0x3a] & 7) == 0) {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          pbVar24 = *(byte **)(local_a8 + 0x10);\n          local_134 = uVar4 + local_150;\n          if ((pbVar24[0x3c] & 1) == 0) {\n            uVar10 = *(uint *)(local_a8 + 0x18);\n            bVar18 = local_a8[0x3b] >> 5 & 1;\n            uVar25 = (local_a8[0x38] & 0xf) < 2;\n            uVar29 = (local_a8[0x38] & 0xf) == 2;\n            if ((bool)uVar29) {\n              uVar25 = 0;\n              uVar29 = local_136 == '\0';\n              if (!(bool)uVar29) {\n                uVar25 = false;\n                uVar29 = bVar18 == 0;\n                if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }\n                local_100 = *(long *)(param_1 + 0x298) + 0x68;\n                local_d8 = pbVar24;\n                local_d0 = uVar10;\n                    /* try { // try from 00192ca4 to 00192e68 has its CatchHandler @ 00192fd7 */\n                FUN_001bcb90(local_100,&local_d8,&local_100,1);\n              }\n            }\n          }\n          else {\n            bVar18 = 0;\n            uVar10 = 0;\n            uVar25 = 0;\n            pbVar24 = (byte *)0x0;\n            uVar29 = 1;\n          }\n        }\n        else {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          bVar18 = 0;\n          uVar10 = 0;\n          uVar25 = 0;\n          pbVar24 = (byte *)0x0;\n          uVar29 = 1;\n          local_134 = uVar4 + local_150;\n        }\nLAB_00192930:\n        pbVar17 = *(byte **)local_a8;\n        lVar19 = 8;\n        pbVar20 = (byte *)"__start_";\n        pbVar21 = pbVar17;\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          uVar25 = *pbVar20 < *pbVar21;\n          uVar29 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n          pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n        } while ((bool)uVar29);\n        bVar26 = false;\n        bVar30 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;\n        if (bVar30) {\n          pbVar17 = pbVar17 + 8;\n        }\n        else {\n          lVar19 = 7;\n          pbVar20 = (byte *)"__stop_";\n          pbVar21 = pbVar17;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar21;\n            bVar30 = *pbVar20 == *pbVar21;\n            pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n            pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n          } while (bVar30);\n          pbVar17 = pbVar17 + 7;\n          if ((!bVar26 && !bVar30) != bVar26) {\n            pbVar17 = local_158;\n          }\n        }\n        local_158 = pbVar17;\n        if (bVar28) {\n          if (bVar18 == 0) {\n            local_58 = (byte *)0x0;\n            local_50 = (ulong)local_50._4_4_ << 0x20;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          else {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = pbVar24;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          puVar5 = *(undefined8 **)(local_170 + 8);\n          if (puVar5 == *(undefined8 **)(local_170 + 0x10)) {\n            FUN_001bbf50(local_170,puVar5,&local_a8);\n          }\n          else {\n            *puVar5 = local_a8;\n            *(undefined8 **)(local_170 + 8) = puVar5 + 1;\n          }\n          local_58 = (byte *)(ulong)local_150;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_b8 = (byte *)((ulong)local_b8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_b8);\n        }\n        if (bVar18 != 0) goto LAB_001925a8;\n      }\nLAB_00192480:\n      local_120 = local_120 + 1;\n      local_128 = local_128 + 3;\n    }" { (expression_statement "uVar3 = local_128[1];" (assignment_expression "uVar3 = local_128[1]" identifier = (subscript_expression "local_128[1]" identifier [ number_literal ])) ;) (expression_statement "uVar4 = local_128[2];" (assignment_expression "uVar4 = local_128[2]" identifier = (subscript_expression "local_128[2]" identifier [ number_literal ])) ;) (expression_statement "uVar22 = uVar3 >> 8;" (assignment_expression "uVar22 = uVar3 >> 8" identifier = (binary_expression "uVar3 >> 8" identifier >> number_literal)) ;) (expression_statement "uVar7 = uVar3 & 0xff;" (assignment_expression "uVar7 = uVar3 & 0xff" identifier = (binary_expression "uVar3 & 0xff" identifier & number_literal)) ;) (if_statement "if (uVar22 < param_7) {\n        if (param_8 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/gc.h",0xea,"gc_process_relocs");\n        }\n        lVar19 = (ulong)(uVar22 << 4) + param_8;\n        uVar2 = *(ushort *)(lVar19 + 0xe);\n        uVar10 = (uint)uVar2;\n        if (uVar2 < 0xff00) {\nLAB_001924f6:\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (bVar28) {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = param_3;\n            FUN_001bdee0(local_178,&local_58);\n            bVar26 = true;\n            if ((*(byte *)(lVar19 + 0xc) & 0xf) == 3) goto LAB_0019253e;\nLAB_001923f0:\n            local_58 = (byte *)0x0;\n            FUN_001be560(local_170,&local_58);\n            goto LAB_0019240b;\n          }\n        }\n        else {\n          if (uVar2 == 0xffff) {\n            lVar14 = *(long *)(param_3 + 0x40);\n            if (lVar14 == 0) {\n              lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3);\n              *(long *)(param_3 + 0x40) = lVar14;\n            }\n            uVar10 = FUN_0022a020(lVar14,param_3,uVar22);\n            goto LAB_001924f6;\n          }\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (!bVar28) goto LAB_00192480;\n          local_58 = (byte *)0x0;\n          local_50 = local_50 & 0xffffffff00000000;\n                    /* try { // try from 001923d5 to 00192be2 has its CatchHandler @ 00192fd7 */\n          FUN_001bdee0(local_178,&local_58);\n          bVar26 = false;\n          if ((*(byte *)(lVar19 + 0xc) & 0xf) != 3) goto LAB_001923f0;\nLAB_0019253e:\n          local_58 = (byte *)0xffffffffffffffff;\n          FUN_001be560(local_170,&local_58);\nLAB_0019240b:\n          local_58 = pbVar24;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_a8 = (byte *)((ulong)local_a8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_a8);\n          if (!bVar26) goto LAB_00192480;\n        }\n        if (((local_136 != '\0') && ((*(byte *)(lVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar7 || ((0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) == 0)))) {\n          local_c0 = (uint)*(ushort *)(lVar19 + 0xe);\n          local_108 = *(long *)(param_1 + 0x298) + 0x68;\n          local_c8 = param_3;\n          FUN_001bcb90(local_108,&local_c8,&local_108,1);\n        }\n        pbVar24 = param_3;\n        if (param_4 != uVar10) {\nLAB_001925a8:\n          if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n          }\n          if (*(char *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809) != '\0') {\n            lVar14 = *(long *)(param_1 + 0x290);\n            lVar19 = lVar14 + 0x28;\n            lVar11 = lVar19;\n            lVar12 = lVar19;\n            lVar15 = *(long *)(lVar14 + 0x30);\n            local_b8 = param_3;\n            local_b0 = param_4;\n            local_a8 = pbVar24;\n            local_a0 = uVar10;\n            if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192660:\n              local_e8 = &local_b8;\n              lVar12 = FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a);\n            }\n            else {\n              do {\n                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }\n                lVar11 = lVar12;\n                lVar15 = *(long *)(lVar12 + 0x10);\n              } while (*(long *)(lVar12 + 0x10) != 0);\nLAB_0019263a:\n              if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))\n              goto LAB_00192660;\n            }\n            local_f0 = lVar12 + 0x30;\n            FUN_001bcaf0(local_f0,&local_a8,&local_f0,1);\n            plVar1 = *(long **)(PTR_DAT_004ba7c8 + 0x18);\n            if (plVar1 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_001e9890("../../gold/parameters.h",0x73,"sized_target");\n            }\n            (**(code **)(*plVar1 + 0x208))(plVar1,param_1,param_3,param_4,pbVar24,uVar10,local_134);\n            if (local_158 != (byte *)0x0) {\n              lVar19 = *(long *)(param_1 + 0x290);\n              local_58 = local_48;\n              sVar13 = strlen((char *)local_158);\n              FUN_001bc4c0(&local_58,local_158,local_158 + sVar13);\n              lVar19 = FUN_001be060(lVar19 + 0x88,&local_58);\n              if (local_58 != local_48) {\n                FUN_00338a40();\n              }\n              lVar14 = *(long *)(param_1 + 0x290);\n              if (lVar19 != lVar14 + 0x90) {\n                lVar11 = lVar14 + 0x28;\n                local_50 = CONCAT44(local_50._4_4_,param_4);\n                lVar12 = lVar11;\n                lVar15 = lVar11;\n                lVar8 = *(long *)(lVar14 + 0x30);\n                if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }\n                else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }\n                for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;\n                    puVar5 = (undefined8 *)*puVar5) {\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (uVar22 < *(uint *)(param_3 + 0x120)) {\n          local_a8 = (byte *)0x0;\nLAB_00192adb:\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/gc.h",0x11c,"gc_process_relocs");\n        }\n        uVar23 = (ulong)(uVar22 - *(uint *)(param_3 + 0x120));\n        if ((ulong)(*(long *)(param_3 + 0x138) - *(long *)(param_3 + 0x130) >> 3) <= uVar23) {\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/object.h",0x8ad,"global_symbol");\n        }\n        local_a8 = *(byte **)(*(long *)(param_3 + 0x130) + uVar23 * 8);\n        if (local_a8 == (byte *)0x0) goto LAB_00192adb;\n        if ((local_a8[0x3a] & 0x10) != 0) {\n          local_a8 = (byte *)FUN_002ddad0(param_1,local_a8);\n        }\n        if ((local_a8[0x3a] & 7) == 0) {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          pbVar24 = *(byte **)(local_a8 + 0x10);\n          local_134 = uVar4 + local_150;\n          if ((pbVar24[0x3c] & 1) == 0) {\n            uVar10 = *(uint *)(local_a8 + 0x18);\n            bVar18 = local_a8[0x3b] >> 5 & 1;\n            uVar25 = (local_a8[0x38] & 0xf) < 2;\n            uVar29 = (local_a8[0x38] & 0xf) == 2;\n            if ((bool)uVar29) {\n              uVar25 = 0;\n              uVar29 = local_136 == '\0';\n              if (!(bool)uVar29) {\n                uVar25 = false;\n                uVar29 = bVar18 == 0;\n                if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }\n                local_100 = *(long *)(param_1 + 0x298) + 0x68;\n                local_d8 = pbVar24;\n                local_d0 = uVar10;\n                    /* try { // try from 00192ca4 to 00192e68 has its CatchHandler @ 00192fd7 */\n                FUN_001bcb90(local_100,&local_d8,&local_100,1);\n              }\n            }\n          }\n          else {\n            bVar18 = 0;\n            uVar10 = 0;\n            uVar25 = 0;\n            pbVar24 = (byte *)0x0;\n            uVar29 = 1;\n          }\n        }\n        else {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          bVar18 = 0;\n          uVar10 = 0;\n          uVar25 = 0;\n          pbVar24 = (byte *)0x0;\n          uVar29 = 1;\n          local_134 = uVar4 + local_150;\n        }\nLAB_00192930:\n        pbVar17 = *(byte **)local_a8;\n        lVar19 = 8;\n        pbVar20 = (byte *)"__start_";\n        pbVar21 = pbVar17;\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          uVar25 = *pbVar20 < *pbVar21;\n          uVar29 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n          pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n        } while ((bool)uVar29);\n        bVar26 = false;\n        bVar30 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;\n        if (bVar30) {\n          pbVar17 = pbVar17 + 8;\n        }\n        else {\n          lVar19 = 7;\n          pbVar20 = (byte *)"__stop_";\n          pbVar21 = pbVar17;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar21;\n            bVar30 = *pbVar20 == *pbVar21;\n            pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n            pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n          } while (bVar30);\n          pbVar17 = pbVar17 + 7;\n          if ((!bVar26 && !bVar30) != bVar26) {\n            pbVar17 = local_158;\n          }\n        }\n        local_158 = pbVar17;\n        if (bVar28) {\n          if (bVar18 == 0) {\n            local_58 = (byte *)0x0;\n            local_50 = (ulong)local_50._4_4_ << 0x20;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          else {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = pbVar24;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          puVar5 = *(undefined8 **)(local_170 + 8);\n          if (puVar5 == *(undefined8 **)(local_170 + 0x10)) {\n            FUN_001bbf50(local_170,puVar5,&local_a8);\n          }\n          else {\n            *puVar5 = local_a8;\n            *(undefined8 **)(local_170 + 8) = puVar5 + 1;\n          }\n          local_58 = (byte *)(ulong)local_150;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_b8 = (byte *)((ulong)local_b8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_b8);\n        }\n        if (bVar18 != 0) goto LAB_001925a8;\n      }" if (parenthesized_expression "(uVar22 < param_7)" ( (binary_expression "uVar22 < param_7" identifier < identifier) )) (compound_statement "{\n        if (param_8 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/gc.h",0xea,"gc_process_relocs");\n        }\n        lVar19 = (ulong)(uVar22 << 4) + param_8;\n        uVar2 = *(ushort *)(lVar19 + 0xe);\n        uVar10 = (uint)uVar2;\n        if (uVar2 < 0xff00) {\nLAB_001924f6:\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (bVar28) {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = param_3;\n            FUN_001bdee0(local_178,&local_58);\n            bVar26 = true;\n            if ((*(byte *)(lVar19 + 0xc) & 0xf) == 3) goto LAB_0019253e;\nLAB_001923f0:\n            local_58 = (byte *)0x0;\n            FUN_001be560(local_170,&local_58);\n            goto LAB_0019240b;\n          }\n        }\n        else {\n          if (uVar2 == 0xffff) {\n            lVar14 = *(long *)(param_3 + 0x40);\n            if (lVar14 == 0) {\n              lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3);\n              *(long *)(param_3 + 0x40) = lVar14;\n            }\n            uVar10 = FUN_0022a020(lVar14,param_3,uVar22);\n            goto LAB_001924f6;\n          }\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (!bVar28) goto LAB_00192480;\n          local_58 = (byte *)0x0;\n          local_50 = local_50 & 0xffffffff00000000;\n                    /* try { // try from 001923d5 to 00192be2 has its CatchHandler @ 00192fd7 */\n          FUN_001bdee0(local_178,&local_58);\n          bVar26 = false;\n          if ((*(byte *)(lVar19 + 0xc) & 0xf) != 3) goto LAB_001923f0;\nLAB_0019253e:\n          local_58 = (byte *)0xffffffffffffffff;\n          FUN_001be560(local_170,&local_58);\nLAB_0019240b:\n          local_58 = pbVar24;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_a8 = (byte *)((ulong)local_a8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_a8);\n          if (!bVar26) goto LAB_00192480;\n        }\n        if (((local_136 != '\0') && ((*(byte *)(lVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar7 || ((0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) == 0)))) {\n          local_c0 = (uint)*(ushort *)(lVar19 + 0xe);\n          local_108 = *(long *)(param_1 + 0x298) + 0x68;\n          local_c8 = param_3;\n          FUN_001bcb90(local_108,&local_c8,&local_108,1);\n        }\n        pbVar24 = param_3;\n        if (param_4 != uVar10) {\nLAB_001925a8:\n          if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n          }\n          if (*(char *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809) != '\0') {\n            lVar14 = *(long *)(param_1 + 0x290);\n            lVar19 = lVar14 + 0x28;\n            lVar11 = lVar19;\n            lVar12 = lVar19;\n            lVar15 = *(long *)(lVar14 + 0x30);\n            local_b8 = param_3;\n            local_b0 = param_4;\n            local_a8 = pbVar24;\n            local_a0 = uVar10;\n            if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192660:\n              local_e8 = &local_b8;\n              lVar12 = FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a);\n            }\n            else {\n              do {\n                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }\n                lVar11 = lVar12;\n                lVar15 = *(long *)(lVar12 + 0x10);\n              } while (*(long *)(lVar12 + 0x10) != 0);\nLAB_0019263a:\n              if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))\n              goto LAB_00192660;\n            }\n            local_f0 = lVar12 + 0x30;\n            FUN_001bcaf0(local_f0,&local_a8,&local_f0,1);\n            plVar1 = *(long **)(PTR_DAT_004ba7c8 + 0x18);\n            if (plVar1 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_001e9890("../../gold/parameters.h",0x73,"sized_target");\n            }\n            (**(code **)(*plVar1 + 0x208))(plVar1,param_1,param_3,param_4,pbVar24,uVar10,local_134);\n            if (local_158 != (byte *)0x0) {\n              lVar19 = *(long *)(param_1 + 0x290);\n              local_58 = local_48;\n              sVar13 = strlen((char *)local_158);\n              FUN_001bc4c0(&local_58,local_158,local_158 + sVar13);\n              lVar19 = FUN_001be060(lVar19 + 0x88,&local_58);\n              if (local_58 != local_48) {\n                FUN_00338a40();\n              }\n              lVar14 = *(long *)(param_1 + 0x290);\n              if (lVar19 != lVar14 + 0x90) {\n                lVar11 = lVar14 + 0x28;\n                local_50 = CONCAT44(local_50._4_4_,param_4);\n                lVar12 = lVar11;\n                lVar15 = lVar11;\n                lVar8 = *(long *)(lVar14 + 0x30);\n                if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }\n                else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }\n                for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;\n                    puVar5 = (undefined8 *)*puVar5) {\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }\n              }\n            }\n          }\n        }\n      }" { (if_statement "if (param_8 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/gc.h",0xea,"gc_process_relocs");\n        }" if (parenthesized_expression "(param_8 == 0)" ( (binary_expression "param_8 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/gc.h",0xea,"gc_process_relocs");\n        }" { comment (expression_statement "FUN_001e9890("../../gold/gc.h",0xea,"gc_process_relocs");" (call_expression "FUN_001e9890("../../gold/gc.h",0xea,"gc_process_relocs")" identifier (argument_list "("../../gold/gc.h",0xea,"gc_process_relocs")" ( (string_literal ""../../gold/gc.h"" " string_content ") , number_literal , (string_literal ""gc_process_relocs"" " string_content ") ))) ;) })) (expression_statement "lVar19 = (ulong)(uVar22 << 4) + param_8;" (assignment_expression "lVar19 = (ulong)(uVar22 << 4) + param_8" identifier = (binary_expression "(ulong)(uVar22 << 4) + param_8" (call_expression "(ulong)(uVar22 << 4)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar22 << 4)" ( (binary_expression "uVar22 << 4" identifier << number_literal) ))) + identifier)) ;) (expression_statement "uVar2 = *(ushort *)(lVar19 + 0xe);" (assignment_expression "uVar2 = *(ushort *)(lVar19 + 0xe)" identifier = (pointer_expression "*(ushort *)(lVar19 + 0xe)" * (cast_expression "(ushort *)(lVar19 + 0xe)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar19 + 0xe)" ( (binary_expression "lVar19 + 0xe" identifier + number_literal) ))))) ;) (expression_statement "uVar10 = (uint)uVar2;" (assignment_expression "uVar10 = (uint)uVar2" identifier = (cast_expression "(uint)uVar2" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (uVar2 < 0xff00) {\nLAB_001924f6:\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (bVar28) {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = param_3;\n            FUN_001bdee0(local_178,&local_58);\n            bVar26 = true;\n            if ((*(byte *)(lVar19 + 0xc) & 0xf) == 3) goto LAB_0019253e;\nLAB_001923f0:\n            local_58 = (byte *)0x0;\n            FUN_001be560(local_170,&local_58);\n            goto LAB_0019240b;\n          }\n        }\n        else {\n          if (uVar2 == 0xffff) {\n            lVar14 = *(long *)(param_3 + 0x40);\n            if (lVar14 == 0) {\n              lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3);\n              *(long *)(param_3 + 0x40) = lVar14;\n            }\n            uVar10 = FUN_0022a020(lVar14,param_3,uVar22);\n            goto LAB_001924f6;\n          }\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (!bVar28) goto LAB_00192480;\n          local_58 = (byte *)0x0;\n          local_50 = local_50 & 0xffffffff00000000;\n                    /* try { // try from 001923d5 to 00192be2 has its CatchHandler @ 00192fd7 */\n          FUN_001bdee0(local_178,&local_58);\n          bVar26 = false;\n          if ((*(byte *)(lVar19 + 0xc) & 0xf) != 3) goto LAB_001923f0;\nLAB_0019253e:\n          local_58 = (byte *)0xffffffffffffffff;\n          FUN_001be560(local_170,&local_58);\nLAB_0019240b:\n          local_58 = pbVar24;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_a8 = (byte *)((ulong)local_a8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_a8);\n          if (!bVar26) goto LAB_00192480;\n        }" if (parenthesized_expression "(uVar2 < 0xff00)" ( (binary_expression "uVar2 < 0xff00" identifier < number_literal) )) (compound_statement "{\nLAB_001924f6:\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (bVar28) {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = param_3;\n            FUN_001bdee0(local_178,&local_58);\n            bVar26 = true;\n            if ((*(byte *)(lVar19 + 0xc) & 0xf) == 3) goto LAB_0019253e;\nLAB_001923f0:\n            local_58 = (byte *)0x0;\n            FUN_001be560(local_170,&local_58);\n            goto LAB_0019240b;\n          }\n        }" { (labeled_statement "LAB_001924f6:\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);" statement_identifier : (expression_statement "pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);" (assignment_expression "pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4)" identifier = (binary_expression "(byte *)(ulong)*(uint *)(lVar19 + 4)" (cast_expression "(byte *)(ulong)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ulong)" ( identifier ))) * (cast_expression "(uint *)(lVar19 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar19 + 4)" ( (binary_expression "lVar19 + 4" identifier + number_literal) ))))) ;)) (expression_statement "local_134 = uVar4 + *(uint *)(lVar19 + 4);" (assignment_expression "local_134 = uVar4 + *(uint *)(lVar19 + 4)" identifier = (binary_expression "uVar4 + *(uint *)(lVar19 + 4)" identifier + (pointer_expression "*(uint *)(lVar19 + 4)" * (cast_expression "(uint *)(lVar19 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar19 + 4)" ( (binary_expression "lVar19 + 4" identifier + number_literal) )))))) ;) (if_statement "if (bVar28) {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = param_3;\n            FUN_001bdee0(local_178,&local_58);\n            bVar26 = true;\n            if ((*(byte *)(lVar19 + 0xc) & 0xf) == 3) goto LAB_0019253e;\nLAB_001923f0:\n            local_58 = (byte *)0x0;\n            FUN_001be560(local_170,&local_58);\n            goto LAB_0019240b;\n          }" if (parenthesized_expression "(bVar28)" ( identifier )) (compound_statement "{\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = param_3;\n            FUN_001bdee0(local_178,&local_58);\n            bVar26 = true;\n            if ((*(byte *)(lVar19 + 0xc) & 0xf) == 3) goto LAB_0019253e;\nLAB_001923f0:\n            local_58 = (byte *)0x0;\n            FUN_001be560(local_170,&local_58);\n            goto LAB_0019240b;\n          }" { (expression_statement "local_50 = CONCAT44(local_50._4_4_,uVar10);" (assignment_expression "local_50 = CONCAT44(local_50._4_4_,uVar10)" identifier = (call_expression "CONCAT44(local_50._4_4_,uVar10)" identifier (argument_list "(local_50._4_4_,uVar10)" ( (field_expression "local_50._4_4_" identifier . field_identifier) , identifier )))) ;) (expression_statement "local_58 = param_3;" (assignment_expression "local_58 = param_3" identifier = identifier) ;) (expression_statement "FUN_001bdee0(local_178,&local_58);" (call_expression "FUN_001bdee0(local_178,&local_58)" identifier (argument_list "(local_178,&local_58)" ( identifier , (pointer_expression "&local_58" & identifier) ))) ;) (expression_statement "bVar26 = true;" (assignment_expression "bVar26 = true" identifier = true) ;) (if_statement "if ((*(byte *)(lVar19 + 0xc) & 0xf) == 3) goto LAB_0019253e;" if (parenthesized_expression "((*(byte *)(lVar19 + 0xc) & 0xf) == 3)" ( (binary_expression "(*(byte *)(lVar19 + 0xc) & 0xf) == 3" (parenthesized_expression "(*(byte *)(lVar19 + 0xc) & 0xf)" ( (binary_expression "*(byte *)(lVar19 + 0xc) & 0xf" (pointer_expression "*(byte *)(lVar19 + 0xc)" * (cast_expression "(byte *)(lVar19 + 0xc)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar19 + 0xc)" ( (binary_expression "lVar19 + 0xc" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0019253e;" goto statement_identifier ;)) (labeled_statement "LAB_001923f0:\n            local_58 = (byte *)0x0;" statement_identifier : (expression_statement "local_58 = (byte *)0x0;" (assignment_expression "local_58 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "FUN_001be560(local_170,&local_58);" (call_expression "FUN_001be560(local_170,&local_58)" identifier (argument_list "(local_170,&local_58)" ( identifier , (pointer_expression "&local_58" & identifier) ))) ;) (goto_statement "goto LAB_0019240b;" goto statement_identifier ;) })) }) (else_clause "else {\n          if (uVar2 == 0xffff) {\n            lVar14 = *(long *)(param_3 + 0x40);\n            if (lVar14 == 0) {\n              lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3);\n              *(long *)(param_3 + 0x40) = lVar14;\n            }\n            uVar10 = FUN_0022a020(lVar14,param_3,uVar22);\n            goto LAB_001924f6;\n          }\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (!bVar28) goto LAB_00192480;\n          local_58 = (byte *)0x0;\n          local_50 = local_50 & 0xffffffff00000000;\n                    /* try { // try from 001923d5 to 00192be2 has its CatchHandler @ 00192fd7 */\n          FUN_001bdee0(local_178,&local_58);\n          bVar26 = false;\n          if ((*(byte *)(lVar19 + 0xc) & 0xf) != 3) goto LAB_001923f0;\nLAB_0019253e:\n          local_58 = (byte *)0xffffffffffffffff;\n          FUN_001be560(local_170,&local_58);\nLAB_0019240b:\n          local_58 = pbVar24;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_a8 = (byte *)((ulong)local_a8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_a8);\n          if (!bVar26) goto LAB_00192480;\n        }" else (compound_statement "{\n          if (uVar2 == 0xffff) {\n            lVar14 = *(long *)(param_3 + 0x40);\n            if (lVar14 == 0) {\n              lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3);\n              *(long *)(param_3 + 0x40) = lVar14;\n            }\n            uVar10 = FUN_0022a020(lVar14,param_3,uVar22);\n            goto LAB_001924f6;\n          }\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (!bVar28) goto LAB_00192480;\n          local_58 = (byte *)0x0;\n          local_50 = local_50 & 0xffffffff00000000;\n                    /* try { // try from 001923d5 to 00192be2 has its CatchHandler @ 00192fd7 */\n          FUN_001bdee0(local_178,&local_58);\n          bVar26 = false;\n          if ((*(byte *)(lVar19 + 0xc) & 0xf) != 3) goto LAB_001923f0;\nLAB_0019253e:\n          local_58 = (byte *)0xffffffffffffffff;\n          FUN_001be560(local_170,&local_58);\nLAB_0019240b:\n          local_58 = pbVar24;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_a8 = (byte *)((ulong)local_a8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_a8);\n          if (!bVar26) goto LAB_00192480;\n        }" { (if_statement "if (uVar2 == 0xffff) {\n            lVar14 = *(long *)(param_3 + 0x40);\n            if (lVar14 == 0) {\n              lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3);\n              *(long *)(param_3 + 0x40) = lVar14;\n            }\n            uVar10 = FUN_0022a020(lVar14,param_3,uVar22);\n            goto LAB_001924f6;\n          }" if (parenthesized_expression "(uVar2 == 0xffff)" ( (binary_expression "uVar2 == 0xffff" identifier == number_literal) )) (compound_statement "{\n            lVar14 = *(long *)(param_3 + 0x40);\n            if (lVar14 == 0) {\n              lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3);\n              *(long *)(param_3 + 0x40) = lVar14;\n            }\n            uVar10 = FUN_0022a020(lVar14,param_3,uVar22);\n            goto LAB_001924f6;\n          }" { (expression_statement "lVar14 = *(long *)(param_3 + 0x40);" (assignment_expression "lVar14 = *(long *)(param_3 + 0x40)" identifier = (pointer_expression "*(long *)(param_3 + 0x40)" * (cast_expression "(long *)(param_3 + 0x40)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x40)" ( (binary_expression "param_3 + 0x40" identifier + number_literal) ))))) ;) (if_statement "if (lVar14 == 0) {\n              lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3);\n              *(long *)(param_3 + 0x40) = lVar14;\n            }" if (parenthesized_expression "(lVar14 == 0)" ( (binary_expression "lVar14 == 0" identifier == number_literal) )) (compound_statement "{\n              lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3);\n              *(long *)(param_3 + 0x40) = lVar14;\n            }" { (expression_statement "lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3);" (assignment_expression "lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3)" identifier = (call_expression "(**(code **)(*(long *)param_3 + 0xd8))(param_3)" (parenthesized_expression "(**(code **)(*(long *)param_3 + 0xd8))" ( (pointer_expression "**(code **)(*(long *)param_3 + 0xd8)" * (pointer_expression "*(code **)(*(long *)param_3 + 0xd8)" * (cast_expression "(code **)(*(long *)param_3 + 0xd8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)param_3 + 0xd8)" ( (binary_expression "*(long *)param_3 + 0xd8" (pointer_expression "*(long *)param_3" * (cast_expression "(long *)param_3" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) )) (argument_list "(param_3)" ( identifier )))) ;) (expression_statement "*(long *)(param_3 + 0x40) = lVar14;" (assignment_expression "*(long *)(param_3 + 0x40) = lVar14" (pointer_expression "*(long *)(param_3 + 0x40)" * (cast_expression "(long *)(param_3 + 0x40)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x40)" ( (binary_expression "param_3 + 0x40" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "uVar10 = FUN_0022a020(lVar14,param_3,uVar22);" (assignment_expression "uVar10 = FUN_0022a020(lVar14,param_3,uVar22)" identifier = (call_expression "FUN_0022a020(lVar14,param_3,uVar22)" identifier (argument_list "(lVar14,param_3,uVar22)" ( identifier , identifier , identifier )))) ;) (goto_statement "goto LAB_001924f6;" goto statement_identifier ;) })) (expression_statement "pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);" (assignment_expression "pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4)" identifier = (binary_expression "(byte *)(ulong)*(uint *)(lVar19 + 4)" (cast_expression "(byte *)(ulong)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ulong)" ( identifier ))) * (cast_expression "(uint *)(lVar19 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar19 + 4)" ( (binary_expression "lVar19 + 4" identifier + number_literal) ))))) ;) (expression_statement "local_134 = uVar4 + *(uint *)(lVar19 + 4);" (assignment_expression "local_134 = uVar4 + *(uint *)(lVar19 + 4)" identifier = (binary_expression "uVar4 + *(uint *)(lVar19 + 4)" identifier + (pointer_expression "*(uint *)(lVar19 + 4)" * (cast_expression "(uint *)(lVar19 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar19 + 4)" ( (binary_expression "lVar19 + 4" identifier + number_literal) )))))) ;) (if_statement "if (!bVar28) goto LAB_00192480;" if (parenthesized_expression "(!bVar28)" ( (unary_expression "!bVar28" ! identifier) )) (goto_statement "goto LAB_00192480;" goto statement_identifier ;)) (expression_statement "local_58 = (byte *)0x0;" (assignment_expression "local_58 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_50 = local_50 & 0xffffffff00000000;" (assignment_expression "local_50 = local_50 & 0xffffffff00000000" identifier = (binary_expression "local_50 & 0xffffffff00000000" identifier & number_literal)) ;) comment (expression_statement "FUN_001bdee0(local_178,&local_58);" (call_expression "FUN_001bdee0(local_178,&local_58)" identifier (argument_list "(local_178,&local_58)" ( identifier , (pointer_expression "&local_58" & identifier) ))) ;) (expression_statement "bVar26 = false;" (assignment_expression "bVar26 = false" identifier = false) ;) (if_statement "if ((*(byte *)(lVar19 + 0xc) & 0xf) != 3) goto LAB_001923f0;" if (parenthesized_expression "((*(byte *)(lVar19 + 0xc) & 0xf) != 3)" ( (binary_expression "(*(byte *)(lVar19 + 0xc) & 0xf) != 3" (parenthesized_expression "(*(byte *)(lVar19 + 0xc) & 0xf)" ( (binary_expression "*(byte *)(lVar19 + 0xc) & 0xf" (pointer_expression "*(byte *)(lVar19 + 0xc)" * (cast_expression "(byte *)(lVar19 + 0xc)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar19 + 0xc)" ( (binary_expression "lVar19 + 0xc" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_001923f0;" goto statement_identifier ;)) (labeled_statement "LAB_0019253e:\n          local_58 = (byte *)0xffffffffffffffff;" statement_identifier : (expression_statement "local_58 = (byte *)0xffffffffffffffff;" (assignment_expression "local_58 = (byte *)0xffffffffffffffff" identifier = (cast_expression "(byte *)0xffffffffffffffff" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "FUN_001be560(local_170,&local_58);" (call_expression "FUN_001be560(local_170,&local_58)" identifier (argument_list "(local_170,&local_58)" ( identifier , (pointer_expression "&local_58" & identifier) ))) ;) (labeled_statement "LAB_0019240b:\n          local_58 = pbVar24;" statement_identifier : (expression_statement "local_58 = pbVar24;" (assignment_expression "local_58 = pbVar24" identifier = identifier) ;)) (expression_statement "local_50 = (long)(int)uVar4;" (assignment_expression "local_50 = (long)(int)uVar4" identifier = (cast_expression "(long)(int)uVar4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)uVar4" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "FUN_001be700(local_180,&local_58);" (call_expression "FUN_001be700(local_180,&local_58)" identifier (argument_list "(local_180,&local_58)" ( identifier , (pointer_expression "&local_58" & identifier) ))) ;) (expression_statement "local_58 = (byte *)(ulong)*local_128;" (assignment_expression "local_58 = (byte *)(ulong)*local_128" identifier = (binary_expression "(byte *)(ulong)*local_128" (cast_expression "(byte *)(ulong)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ulong)" ( identifier ))) * identifier)) ;) (expression_statement "puVar5 = *(undefined8 **)(local_168 + 8);" (assignment_expression "puVar5 = *(undefined8 **)(local_168 + 8)" identifier = (pointer_expression "*(undefined8 **)(local_168 + 8)" * (cast_expression "(undefined8 **)(local_168 + 8)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_168 + 8)" ( (binary_expression "local_168 + 8" identifier + number_literal) ))))) ;) (if_statement "if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }" if (parenthesized_expression "(puVar5 == *(undefined8 **)(local_168 + 0x10))" ( (binary_expression "puVar5 == *(undefined8 **)(local_168 + 0x10)" identifier == (pointer_expression "*(undefined8 **)(local_168 + 0x10)" * (cast_expression "(undefined8 **)(local_168 + 0x10)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_168 + 0x10)" ( (binary_expression "local_168 + 0x10" identifier + number_literal) ))))) )) (compound_statement "{\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }" { (expression_statement "FUN_001bdf10(local_168,puVar5,&local_58);" (call_expression "FUN_001bdf10(local_168,puVar5,&local_58)" identifier (argument_list "(local_168,puVar5,&local_58)" ( identifier , identifier , (pointer_expression "&local_58" & identifier) ))) ;) }) (else_clause "else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }" else (compound_statement "{\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }" { (expression_statement "*puVar5 = local_58;" (assignment_expression "*puVar5 = local_58" (pointer_expression "*puVar5" * identifier) = identifier) ;) (expression_statement "*(undefined8 **)(local_168 + 8) = puVar5 + 1;" (assignment_expression "*(undefined8 **)(local_168 + 8) = puVar5 + 1" (pointer_expression "*(undefined8 **)(local_168 + 8)" * (cast_expression "(undefined8 **)(local_168 + 8)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_168 + 8)" ( (binary_expression "local_168 + 8" identifier + number_literal) )))) = (binary_expression "puVar5 + 1" identifier + number_literal)) ;) }))) (expression_statement "local_a8 = (byte *)((ulong)local_a8 & 0xffffffff00000000);" (assignment_expression "local_a8 = (byte *)((ulong)local_a8 & 0xffffffff00000000)" identifier = (cast_expression "(byte *)((ulong)local_a8 & 0xffffffff00000000)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)local_a8 & 0xffffffff00000000)" ( (binary_expression "(ulong)local_a8 & 0xffffffff00000000" (cast_expression "(ulong)local_a8" ( (type_descriptor "ulong" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "FUN_001be890(local_188,&local_a8);" (call_expression "FUN_001be890(local_188,&local_a8)" identifier (argument_list "(local_188,&local_a8)" ( identifier , (pointer_expression "&local_a8" & identifier) ))) ;) (if_statement "if (!bVar26) goto LAB_00192480;" if (parenthesized_expression "(!bVar26)" ( (unary_expression "!bVar26" ! identifier) )) (goto_statement "goto LAB_00192480;" goto statement_identifier ;)) }))) (if_statement "if (((local_136 != '\0') && ((*(byte *)(lVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar7 || ((0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) == 0)))) {\n          local_c0 = (uint)*(ushort *)(lVar19 + 0xe);\n          local_108 = *(long *)(param_1 + 0x298) + 0x68;\n          local_c8 = param_3;\n          FUN_001bcb90(local_108,&local_c8,&local_108,1);\n        }" if (parenthesized_expression "(((local_136 != '\0') && ((*(byte *)(lVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar7 || ((0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) == 0))))" ( (binary_expression "((local_136 != '\0') && ((*(byte *)(lVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar7 || ((0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) == 0)))" (parenthesized_expression "((local_136 != '\0') && ((*(byte *)(lVar19 + 0xc) & 0xf) != 1))" ( (binary_expression "(local_136 != '\0') && ((*(byte *)(lVar19 + 0xc) & 0xf) != 1)" (parenthesized_expression "(local_136 != '\0')" ( (binary_expression "local_136 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "((*(byte *)(lVar19 + 0xc) & 0xf) != 1)" ( (binary_expression "(*(byte *)(lVar19 + 0xc) & 0xf) != 1" (parenthesized_expression "(*(byte *)(lVar19 + 0xc) & 0xf)" ( (binary_expression "*(byte *)(lVar19 + 0xc) & 0xf" (pointer_expression "*(byte *)(lVar19 + 0xc)" * (cast_expression "(byte *)(lVar19 + 0xc)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar19 + 0xc)" ( (binary_expression "lVar19 + 0xc" identifier + number_literal) )))) & number_literal) )) != number_literal) ))) )) && (parenthesized_expression "((0x17 < uVar7 || ((0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) == 0)))" ( (parenthesized_expression "(0x17 < uVar7 || ((0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) == 0))" ( (binary_expression "0x17 < uVar7 || ((0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) == 0)" (binary_expression "0x17 < uVar7" number_literal < identifier) || (parenthesized_expression "((0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) == 0)" ( (binary_expression "(0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) == 0" (parenthesized_expression "(0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1)" ( (binary_expression "0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1" (binary_expression "0x843f84UL >> ((ulong)uVar3 & 0x3f)" number_literal >> (parenthesized_expression "((ulong)uVar3 & 0x3f)" ( (binary_expression "(ulong)uVar3 & 0x3f" (cast_expression "(ulong)uVar3" ( (type_descriptor "ulong" type_identifier) ) identifier) & number_literal) ))) & number_literal) )) == number_literal) ))) )) ))) )) (compound_statement "{\n          local_c0 = (uint)*(ushort *)(lVar19 + 0xe);\n          local_108 = *(long *)(param_1 + 0x298) + 0x68;\n          local_c8 = param_3;\n          FUN_001bcb90(local_108,&local_c8,&local_108,1);\n        }" { (expression_statement "local_c0 = (uint)*(ushort *)(lVar19 + 0xe);" (assignment_expression "local_c0 = (uint)*(ushort *)(lVar19 + 0xe)" identifier = (binary_expression "(uint)*(ushort *)(lVar19 + 0xe)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)(lVar19 + 0xe)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar19 + 0xe)" ( (binary_expression "lVar19 + 0xe" identifier + number_literal) ))))) ;) (expression_statement "local_108 = *(long *)(param_1 + 0x298) + 0x68;" (assignment_expression "local_108 = *(long *)(param_1 + 0x298) + 0x68" identifier = (binary_expression "*(long *)(param_1 + 0x298) + 0x68" (pointer_expression "*(long *)(param_1 + 0x298)" * (cast_expression "(long *)(param_1 + 0x298)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x298)" ( (binary_expression "param_1 + 0x298" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "local_c8 = param_3;" (assignment_expression "local_c8 = param_3" identifier = identifier) ;) (expression_statement "FUN_001bcb90(local_108,&local_c8,&local_108,1);" (call_expression "FUN_001bcb90(local_108,&local_c8,&local_108,1)" identifier (argument_list "(local_108,&local_c8,&local_108,1)" ( identifier , (pointer_expression "&local_c8" & identifier) , (pointer_expression "&local_108" & identifier) , number_literal ))) ;) })) (expression_statement "pbVar24 = param_3;" (assignment_expression "pbVar24 = param_3" identifier = identifier) ;) (if_statement "if (param_4 != uVar10) {\nLAB_001925a8:\n          if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n          }\n          if (*(char *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809) != '\0') {\n            lVar14 = *(long *)(param_1 + 0x290);\n            lVar19 = lVar14 + 0x28;\n            lVar11 = lVar19;\n            lVar12 = lVar19;\n            lVar15 = *(long *)(lVar14 + 0x30);\n            local_b8 = param_3;\n            local_b0 = param_4;\n            local_a8 = pbVar24;\n            local_a0 = uVar10;\n            if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192660:\n              local_e8 = &local_b8;\n              lVar12 = FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a);\n            }\n            else {\n              do {\n                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }\n                lVar11 = lVar12;\n                lVar15 = *(long *)(lVar12 + 0x10);\n              } while (*(long *)(lVar12 + 0x10) != 0);\nLAB_0019263a:\n              if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))\n              goto LAB_00192660;\n            }\n            local_f0 = lVar12 + 0x30;\n            FUN_001bcaf0(local_f0,&local_a8,&local_f0,1);\n            plVar1 = *(long **)(PTR_DAT_004ba7c8 + 0x18);\n            if (plVar1 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_001e9890("../../gold/parameters.h",0x73,"sized_target");\n            }\n            (**(code **)(*plVar1 + 0x208))(plVar1,param_1,param_3,param_4,pbVar24,uVar10,local_134);\n            if (local_158 != (byte *)0x0) {\n              lVar19 = *(long *)(param_1 + 0x290);\n              local_58 = local_48;\n              sVar13 = strlen((char *)local_158);\n              FUN_001bc4c0(&local_58,local_158,local_158 + sVar13);\n              lVar19 = FUN_001be060(lVar19 + 0x88,&local_58);\n              if (local_58 != local_48) {\n                FUN_00338a40();\n              }\n              lVar14 = *(long *)(param_1 + 0x290);\n              if (lVar19 != lVar14 + 0x90) {\n                lVar11 = lVar14 + 0x28;\n                local_50 = CONCAT44(local_50._4_4_,param_4);\n                lVar12 = lVar11;\n                lVar15 = lVar11;\n                lVar8 = *(long *)(lVar14 + 0x30);\n                if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }\n                else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }\n                for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;\n                    puVar5 = (undefined8 *)*puVar5) {\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }\n              }\n            }\n          }\n        }" if (parenthesized_expression "(param_4 != uVar10)" ( (binary_expression "param_4 != uVar10" identifier != identifier) )) (compound_statement "{\nLAB_001925a8:\n          if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n          }\n          if (*(char *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809) != '\0') {\n            lVar14 = *(long *)(param_1 + 0x290);\n            lVar19 = lVar14 + 0x28;\n            lVar11 = lVar19;\n            lVar12 = lVar19;\n            lVar15 = *(long *)(lVar14 + 0x30);\n            local_b8 = param_3;\n            local_b0 = param_4;\n            local_a8 = pbVar24;\n            local_a0 = uVar10;\n            if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192660:\n              local_e8 = &local_b8;\n              lVar12 = FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a);\n            }\n            else {\n              do {\n                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }\n                lVar11 = lVar12;\n                lVar15 = *(long *)(lVar12 + 0x10);\n              } while (*(long *)(lVar12 + 0x10) != 0);\nLAB_0019263a:\n              if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))\n              goto LAB_00192660;\n            }\n            local_f0 = lVar12 + 0x30;\n            FUN_001bcaf0(local_f0,&local_a8,&local_f0,1);\n            plVar1 = *(long **)(PTR_DAT_004ba7c8 + 0x18);\n            if (plVar1 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_001e9890("../../gold/parameters.h",0x73,"sized_target");\n            }\n            (**(code **)(*plVar1 + 0x208))(plVar1,param_1,param_3,param_4,pbVar24,uVar10,local_134);\n            if (local_158 != (byte *)0x0) {\n              lVar19 = *(long *)(param_1 + 0x290);\n              local_58 = local_48;\n              sVar13 = strlen((char *)local_158);\n              FUN_001bc4c0(&local_58,local_158,local_158 + sVar13);\n              lVar19 = FUN_001be060(lVar19 + 0x88,&local_58);\n              if (local_58 != local_48) {\n                FUN_00338a40();\n              }\n              lVar14 = *(long *)(param_1 + 0x290);\n              if (lVar19 != lVar14 + 0x90) {\n                lVar11 = lVar14 + 0x28;\n                local_50 = CONCAT44(local_50._4_4_,param_4);\n                lVar12 = lVar11;\n                lVar15 = lVar11;\n                lVar8 = *(long *)(lVar14 + 0x30);\n                if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }\n                else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }\n                for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;\n                    puVar5 = (undefined8 *)*puVar5) {\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }\n              }\n            }\n          }\n        }" { (labeled_statement "LAB_001925a8:\n          if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n          }" statement_identifier : (if_statement "if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n          }" if (parenthesized_expression "(*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0)" ( (binary_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0" (pointer_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10)" * (cast_expression "(long *)(PTR_DAT_004ba7c8 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_004ba7c8 + 0x10)" ( (binary_expression "PTR_DAT_004ba7c8 + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n          }" { comment (expression_statement "FUN_001e9890("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_001e9890("../../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 *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809) != '\0') {\n            lVar14 = *(long *)(param_1 + 0x290);\n            lVar19 = lVar14 + 0x28;\n            lVar11 = lVar19;\n            lVar12 = lVar19;\n            lVar15 = *(long *)(lVar14 + 0x30);\n            local_b8 = param_3;\n            local_b0 = param_4;\n            local_a8 = pbVar24;\n            local_a0 = uVar10;\n            if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192660:\n              local_e8 = &local_b8;\n              lVar12 = FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a);\n            }\n            else {\n              do {\n                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }\n                lVar11 = lVar12;\n                lVar15 = *(long *)(lVar12 + 0x10);\n              } while (*(long *)(lVar12 + 0x10) != 0);\nLAB_0019263a:\n              if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))\n              goto LAB_00192660;\n            }\n            local_f0 = lVar12 + 0x30;\n            FUN_001bcaf0(local_f0,&local_a8,&local_f0,1);\n            plVar1 = *(long **)(PTR_DAT_004ba7c8 + 0x18);\n            if (plVar1 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_001e9890("../../gold/parameters.h",0x73,"sized_target");\n            }\n            (**(code **)(*plVar1 + 0x208))(plVar1,param_1,param_3,param_4,pbVar24,uVar10,local_134);\n            if (local_158 != (byte *)0x0) {\n              lVar19 = *(long *)(param_1 + 0x290);\n              local_58 = local_48;\n              sVar13 = strlen((char *)local_158);\n              FUN_001bc4c0(&local_58,local_158,local_158 + sVar13);\n              lVar19 = FUN_001be060(lVar19 + 0x88,&local_58);\n              if (local_58 != local_48) {\n                FUN_00338a40();\n              }\n              lVar14 = *(long *)(param_1 + 0x290);\n              if (lVar19 != lVar14 + 0x90) {\n                lVar11 = lVar14 + 0x28;\n                local_50 = CONCAT44(local_50._4_4_,param_4);\n                lVar12 = lVar11;\n                lVar15 = lVar11;\n                lVar8 = *(long *)(lVar14 + 0x30);\n                if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }\n                else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }\n                for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;\n                    puVar5 = (undefined8 *)*puVar5) {\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }\n              }\n            }\n          }" if (parenthesized_expression "(*(char *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809) != '\0')" ( (binary_expression "*(char *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809) != '\0'" (pointer_expression "*(char *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809)" * (cast_expression "(char *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809)" ( (binary_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809" (pointer_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10)" * (cast_expression "(long *)(PTR_DAT_004ba7c8 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_004ba7c8 + 0x10)" ( (binary_expression "PTR_DAT_004ba7c8 + 0x10" identifier + number_literal) )))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            lVar14 = *(long *)(param_1 + 0x290);\n            lVar19 = lVar14 + 0x28;\n            lVar11 = lVar19;\n            lVar12 = lVar19;\n            lVar15 = *(long *)(lVar14 + 0x30);\n            local_b8 = param_3;\n            local_b0 = param_4;\n            local_a8 = pbVar24;\n            local_a0 = uVar10;\n            if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192660:\n              local_e8 = &local_b8;\n              lVar12 = FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a);\n            }\n            else {\n              do {\n                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }\n                lVar11 = lVar12;\n                lVar15 = *(long *)(lVar12 + 0x10);\n              } while (*(long *)(lVar12 + 0x10) != 0);\nLAB_0019263a:\n              if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))\n              goto LAB_00192660;\n            }\n            local_f0 = lVar12 + 0x30;\n            FUN_001bcaf0(local_f0,&local_a8,&local_f0,1);\n            plVar1 = *(long **)(PTR_DAT_004ba7c8 + 0x18);\n            if (plVar1 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_001e9890("../../gold/parameters.h",0x73,"sized_target");\n            }\n            (**(code **)(*plVar1 + 0x208))(plVar1,param_1,param_3,param_4,pbVar24,uVar10,local_134);\n            if (local_158 != (byte *)0x0) {\n              lVar19 = *(long *)(param_1 + 0x290);\n              local_58 = local_48;\n              sVar13 = strlen((char *)local_158);\n              FUN_001bc4c0(&local_58,local_158,local_158 + sVar13);\n              lVar19 = FUN_001be060(lVar19 + 0x88,&local_58);\n              if (local_58 != local_48) {\n                FUN_00338a40();\n              }\n              lVar14 = *(long *)(param_1 + 0x290);\n              if (lVar19 != lVar14 + 0x90) {\n                lVar11 = lVar14 + 0x28;\n                local_50 = CONCAT44(local_50._4_4_,param_4);\n                lVar12 = lVar11;\n                lVar15 = lVar11;\n                lVar8 = *(long *)(lVar14 + 0x30);\n                if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }\n                else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }\n                for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;\n                    puVar5 = (undefined8 *)*puVar5) {\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }\n              }\n            }\n          }" { (expression_statement "lVar14 = *(long *)(param_1 + 0x290);" (assignment_expression "lVar14 = *(long *)(param_1 + 0x290)" identifier = (pointer_expression "*(long *)(param_1 + 0x290)" * (cast_expression "(long *)(param_1 + 0x290)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x290)" ( (binary_expression "param_1 + 0x290" identifier + number_literal) ))))) ;) (expression_statement "lVar19 = lVar14 + 0x28;" (assignment_expression "lVar19 = lVar14 + 0x28" identifier = (binary_expression "lVar14 + 0x28" identifier + number_literal)) ;) (expression_statement "lVar11 = lVar19;" (assignment_expression "lVar11 = lVar19" identifier = identifier) ;) (expression_statement "lVar12 = lVar19;" (assignment_expression "lVar12 = lVar19" identifier = identifier) ;) (expression_statement "lVar15 = *(long *)(lVar14 + 0x30);" (assignment_expression "lVar15 = *(long *)(lVar14 + 0x30)" identifier = (pointer_expression "*(long *)(lVar14 + 0x30)" * (cast_expression "(long *)(lVar14 + 0x30)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar14 + 0x30)" ( (binary_expression "lVar14 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "local_b8 = param_3;" (assignment_expression "local_b8 = param_3" identifier = identifier) ;) (expression_statement "local_b0 = param_4;" (assignment_expression "local_b0 = param_4" identifier = identifier) ;) (expression_statement "local_a8 = pbVar24;" (assignment_expression "local_a8 = pbVar24" identifier = identifier) ;) (expression_statement "local_a0 = uVar10;" (assignment_expression "local_a0 = uVar10" identifier = identifier) ;) (if_statement "if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192660:\n              local_e8 = &local_b8;\n              lVar12 = FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a);\n            }\n            else {\n              do {\n                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }\n                lVar11 = lVar12;\n                lVar15 = *(long *)(lVar12 + 0x10);\n              } while (*(long *)(lVar12 + 0x10) != 0);\nLAB_0019263a:\n              if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))\n              goto LAB_00192660;\n            }" if (parenthesized_expression "(*(long *)(lVar14 + 0x30) == 0)" ( (binary_expression "*(long *)(lVar14 + 0x30) == 0" (pointer_expression "*(long *)(lVar14 + 0x30)" * (cast_expression "(long *)(lVar14 + 0x30)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar14 + 0x30)" ( (binary_expression "lVar14 + 0x30" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_00192660:\n              local_e8 = &local_b8;\n              lVar12 = FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a);\n            }" { (labeled_statement "LAB_00192660:\n              local_e8 = &local_b8;" statement_identifier : (expression_statement "local_e8 = &local_b8;" (assignment_expression "local_e8 = &local_b8" identifier = (pointer_expression "&local_b8" & identifier)) ;)) (expression_statement "lVar12 = FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a);" (assignment_expression "lVar12 = FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a)" identifier = (call_expression "FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a)" identifier (argument_list "(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a)" ( (binary_expression "lVar14 + 0x20" identifier + number_literal) , identifier , (pointer_expression "&DAT_003de3e0" & identifier) , (pointer_expression "&local_e8" & identifier) , (pointer_expression "&local_10a" & identifier) )))) ;) }) (else_clause "else {\n              do {\n                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }\n                lVar11 = lVar12;\n                lVar15 = *(long *)(lVar12 + 0x10);\n              } while (*(long *)(lVar12 + 0x10) != 0);\nLAB_0019263a:\n              if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))\n              goto LAB_00192660;\n            }" else (compound_statement "{\n              do {\n                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }\n                lVar11 = lVar12;\n                lVar15 = *(long *)(lVar12 + 0x10);\n              } while (*(long *)(lVar12 + 0x10) != 0);\nLAB_0019263a:\n              if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))\n              goto LAB_00192660;\n            }" { (do_statement "do {\n                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }\n                lVar11 = lVar12;\n                lVar15 = *(long *)(lVar12 + 0x10);\n              } while (*(long *)(lVar12 + 0x10) != 0);" do (compound_statement "{\n                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }\n                lVar11 = lVar12;\n                lVar15 = *(long *)(lVar12 + 0x10);\n              }" { (while_statement "while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }" while (parenthesized_expression "((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4)))))" ( (parenthesized_expression "(lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))" ( (comma_expression "lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4)))" (assignment_expression "lVar12 = lVar15" identifier = identifier) , (binary_expression "*(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4)))" (binary_expression "*(byte **)(lVar12 + 0x20) < param_3" (pointer_expression "*(byte **)(lVar12 + 0x20)" * (cast_expression "(byte **)(lVar12 + 0x20)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar12 + 0x20)" ( (binary_expression "lVar12 + 0x20" identifier + number_literal) )))) < identifier) || (parenthesized_expression "((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4)))" ( (parenthesized_expression "(param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))" ( (binary_expression "param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4)" (binary_expression "param_3 == *(byte **)(lVar12 + 0x20)" identifier == (pointer_expression "*(byte **)(lVar12 + 0x20)" * (cast_expression "(byte **)(lVar12 + 0x20)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar12 + 0x20)" ( (binary_expression "lVar12 + 0x20" identifier + number_literal) ))))) && (parenthesized_expression "(*(uint *)(lVar12 + 0x28) < param_4)" ( (binary_expression "*(uint *)(lVar12 + 0x28) < param_4" (pointer_expression "*(uint *)(lVar12 + 0x28)" * (cast_expression "(uint *)(lVar12 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar12 + 0x28)" ( (binary_expression "lVar12 + 0x28" identifier + number_literal) )))) < identifier) ))) )) )))) )) )) (compound_statement "{\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }" { (expression_statement "plVar1 = (long *)(lVar12 + 0x18);" (assignment_expression "plVar1 = (long *)(lVar12 + 0x18)" identifier = (cast_expression "(long *)(lVar12 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar12 + 0x18)" ( (binary_expression "lVar12 + 0x18" identifier + number_literal) )))) ;) (expression_statement "lVar12 = lVar11;" (assignment_expression "lVar12 = lVar11" identifier = identifier) ;) (expression_statement "lVar15 = *plVar1;" (assignment_expression "lVar15 = *plVar1" identifier = (pointer_expression "*plVar1" * identifier)) ;) (if_statement "if (*plVar1 == 0) goto LAB_0019263a;" if (parenthesized_expression "(*plVar1 == 0)" ( (binary_expression "*plVar1 == 0" (pointer_expression "*plVar1" * identifier) == number_literal) )) (goto_statement "goto LAB_0019263a;" goto statement_identifier ;)) })) (expression_statement "lVar11 = lVar12;" (assignment_expression "lVar11 = lVar12" identifier = identifier) ;) (expression_statement "lVar15 = *(long *)(lVar12 + 0x10);" (assignment_expression "lVar15 = *(long *)(lVar12 + 0x10)" identifier = (pointer_expression "*(long *)(lVar12 + 0x10)" * (cast_expression "(long *)(lVar12 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar12 + 0x10)" ( (binary_expression "lVar12 + 0x10" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(*(long *)(lVar12 + 0x10) != 0)" ( (binary_expression "*(long *)(lVar12 + 0x10) != 0" (pointer_expression "*(long *)(lVar12 + 0x10)" * (cast_expression "(long *)(lVar12 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar12 + 0x10)" ( (binary_expression "lVar12 + 0x10" identifier + number_literal) )))) != number_literal) )) ;) (labeled_statement "LAB_0019263a:\n              if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))\n              goto LAB_00192660;" statement_identifier : (if_statement "if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))\n              goto LAB_00192660;" if (parenthesized_expression "(((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))" ( (binary_expression "((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28))))" (parenthesized_expression "((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20)))" ( (binary_expression "(lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))" (parenthesized_expression "(lVar12 == lVar19)" ( (binary_expression "lVar12 == lVar19" identifier == identifier) )) || (parenthesized_expression "(param_3 < *(byte **)(lVar12 + 0x20))" ( (binary_expression "param_3 < *(byte **)(lVar12 + 0x20)" identifier < (pointer_expression "*(byte **)(lVar12 + 0x20)" * (cast_expression "(byte **)(lVar12 + 0x20)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar12 + 0x20)" ( (binary_expression "lVar12 + 0x20" identifier + number_literal) ))))) ))) )) || (parenthesized_expression "((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28))))" ( (parenthesized_expression "(param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))" ( (binary_expression "param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28))" (binary_expression "param_3 == *(byte **)(lVar12 + 0x20)" identifier == (pointer_expression "*(byte **)(lVar12 + 0x20)" * (cast_expression "(byte **)(lVar12 + 0x20)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar12 + 0x20)" ( (binary_expression "lVar12 + 0x20" identifier + number_literal) ))))) && (parenthesized_expression "(param_4 < *(uint *)(lVar12 + 0x28))" ( (binary_expression "param_4 < *(uint *)(lVar12 + 0x28)" identifier < (pointer_expression "*(uint *)(lVar12 + 0x28)" * (cast_expression "(uint *)(lVar12 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar12 + 0x28)" ( (binary_expression "lVar12 + 0x28" identifier + number_literal) ))))) ))) )) ))) )) (goto_statement "goto LAB_00192660;" goto statement_identifier ;))) }))) (expression_statement "local_f0 = lVar12 + 0x30;" (assignment_expression "local_f0 = lVar12 + 0x30" identifier = (binary_expression "lVar12 + 0x30" identifier + number_literal)) ;) (expression_statement "FUN_001bcaf0(local_f0,&local_a8,&local_f0,1);" (call_expression "FUN_001bcaf0(local_f0,&local_a8,&local_f0,1)" identifier (argument_list "(local_f0,&local_a8,&local_f0,1)" ( identifier , (pointer_expression "&local_a8" & identifier) , (pointer_expression "&local_f0" & identifier) , number_literal ))) ;) (expression_statement "plVar1 = *(long **)(PTR_DAT_004ba7c8 + 0x18);" (assignment_expression "plVar1 = *(long **)(PTR_DAT_004ba7c8 + 0x18)" identifier = (pointer_expression "*(long **)(PTR_DAT_004ba7c8 + 0x18)" * (cast_expression "(long **)(PTR_DAT_004ba7c8 + 0x18)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_DAT_004ba7c8 + 0x18)" ( (binary_expression "PTR_DAT_004ba7c8 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (plVar1 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_001e9890("../../gold/parameters.h",0x73,"sized_target");\n            }" if (parenthesized_expression "(plVar1 == (long *)0x0)" ( (binary_expression "plVar1 == (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              FUN_001e9890("../../gold/parameters.h",0x73,"sized_target");\n            }" { comment (expression_statement "FUN_001e9890("../../gold/parameters.h",0x73,"sized_target");" (call_expression "FUN_001e9890("../../gold/parameters.h",0x73,"sized_target")" identifier (argument_list "("../../gold/parameters.h",0x73,"sized_target")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""sized_target"" " string_content ") ))) ;) })) (expression_statement "(**(code **)(*plVar1 + 0x208))(plVar1,param_1,param_3,param_4,pbVar24,uVar10,local_134);" (call_expression "(**(code **)(*plVar1 + 0x208))(plVar1,param_1,param_3,param_4,pbVar24,uVar10,local_134)" (parenthesized_expression "(**(code **)(*plVar1 + 0x208))" ( (pointer_expression "**(code **)(*plVar1 + 0x208)" * (pointer_expression "*(code **)(*plVar1 + 0x208)" * (cast_expression "(code **)(*plVar1 + 0x208)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar1 + 0x208)" ( (binary_expression "*plVar1 + 0x208" (pointer_expression "*plVar1" * identifier) + number_literal) ))))) )) (argument_list "(plVar1,param_1,param_3,param_4,pbVar24,uVar10,local_134)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (if_statement "if (local_158 != (byte *)0x0) {\n              lVar19 = *(long *)(param_1 + 0x290);\n              local_58 = local_48;\n              sVar13 = strlen((char *)local_158);\n              FUN_001bc4c0(&local_58,local_158,local_158 + sVar13);\n              lVar19 = FUN_001be060(lVar19 + 0x88,&local_58);\n              if (local_58 != local_48) {\n                FUN_00338a40();\n              }\n              lVar14 = *(long *)(param_1 + 0x290);\n              if (lVar19 != lVar14 + 0x90) {\n                lVar11 = lVar14 + 0x28;\n                local_50 = CONCAT44(local_50._4_4_,param_4);\n                lVar12 = lVar11;\n                lVar15 = lVar11;\n                lVar8 = *(long *)(lVar14 + 0x30);\n                if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }\n                else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }\n                for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;\n                    puVar5 = (undefined8 *)*puVar5) {\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }\n              }\n            }" if (parenthesized_expression "(local_158 != (byte *)0x0)" ( (binary_expression "local_158 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              lVar19 = *(long *)(param_1 + 0x290);\n              local_58 = local_48;\n              sVar13 = strlen((char *)local_158);\n              FUN_001bc4c0(&local_58,local_158,local_158 + sVar13);\n              lVar19 = FUN_001be060(lVar19 + 0x88,&local_58);\n              if (local_58 != local_48) {\n                FUN_00338a40();\n              }\n              lVar14 = *(long *)(param_1 + 0x290);\n              if (lVar19 != lVar14 + 0x90) {\n                lVar11 = lVar14 + 0x28;\n                local_50 = CONCAT44(local_50._4_4_,param_4);\n                lVar12 = lVar11;\n                lVar15 = lVar11;\n                lVar8 = *(long *)(lVar14 + 0x30);\n                if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }\n                else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }\n                for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;\n                    puVar5 = (undefined8 *)*puVar5) {\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }\n              }\n            }" { (expression_statement "lVar19 = *(long *)(param_1 + 0x290);" (assignment_expression "lVar19 = *(long *)(param_1 + 0x290)" identifier = (pointer_expression "*(long *)(param_1 + 0x290)" * (cast_expression "(long *)(param_1 + 0x290)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x290)" ( (binary_expression "param_1 + 0x290" identifier + number_literal) ))))) ;) (expression_statement "local_58 = local_48;" (assignment_expression "local_58 = local_48" identifier = identifier) ;) (expression_statement "sVar13 = strlen((char *)local_158);" (assignment_expression "sVar13 = strlen((char *)local_158)" identifier = (call_expression "strlen((char *)local_158)" identifier (argument_list "((char *)local_158)" ( (cast_expression "(char *)local_158" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "FUN_001bc4c0(&local_58,local_158,local_158 + sVar13);" (call_expression "FUN_001bc4c0(&local_58,local_158,local_158 + sVar13)" identifier (argument_list "(&local_58,local_158,local_158 + sVar13)" ( (pointer_expression "&local_58" & identifier) , identifier , (binary_expression "local_158 + sVar13" identifier + identifier) ))) ;) (expression_statement "lVar19 = FUN_001be060(lVar19 + 0x88,&local_58);" (assignment_expression "lVar19 = FUN_001be060(lVar19 + 0x88,&local_58)" identifier = (call_expression "FUN_001be060(lVar19 + 0x88,&local_58)" identifier (argument_list "(lVar19 + 0x88,&local_58)" ( (binary_expression "lVar19 + 0x88" identifier + number_literal) , (pointer_expression "&local_58" & identifier) )))) ;) (if_statement "if (local_58 != local_48) {\n                FUN_00338a40();\n              }" if (parenthesized_expression "(local_58 != local_48)" ( (binary_expression "local_58 != local_48" identifier != identifier) )) (compound_statement "{\n                FUN_00338a40();\n              }" { (expression_statement "FUN_00338a40();" (call_expression "FUN_00338a40()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "lVar14 = *(long *)(param_1 + 0x290);" (assignment_expression "lVar14 = *(long *)(param_1 + 0x290)" identifier = (pointer_expression "*(long *)(param_1 + 0x290)" * (cast_expression "(long *)(param_1 + 0x290)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x290)" ( (binary_expression "param_1 + 0x290" identifier + number_literal) ))))) ;) (if_statement "if (lVar19 != lVar14 + 0x90) {\n                lVar11 = lVar14 + 0x28;\n                local_50 = CONCAT44(local_50._4_4_,param_4);\n                lVar12 = lVar11;\n                lVar15 = lVar11;\n                lVar8 = *(long *)(lVar14 + 0x30);\n                if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }\n                else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }\n                for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;\n                    puVar5 = (undefined8 *)*puVar5) {\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }\n              }" if (parenthesized_expression "(lVar19 != lVar14 + 0x90)" ( (binary_expression "lVar19 != lVar14 + 0x90" identifier != (binary_expression "lVar14 + 0x90" identifier + number_literal)) )) (compound_statement "{\n                lVar11 = lVar14 + 0x28;\n                local_50 = CONCAT44(local_50._4_4_,param_4);\n                lVar12 = lVar11;\n                lVar15 = lVar11;\n                lVar8 = *(long *)(lVar14 + 0x30);\n                if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }\n                else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }\n                for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;\n                    puVar5 = (undefined8 *)*puVar5) {\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }\n              }" { (expression_statement "lVar11 = lVar14 + 0x28;" (assignment_expression "lVar11 = lVar14 + 0x28" identifier = (binary_expression "lVar14 + 0x28" identifier + number_literal)) ;) (expression_statement "local_50 = CONCAT44(local_50._4_4_,param_4);" (assignment_expression "local_50 = CONCAT44(local_50._4_4_,param_4)" identifier = (call_expression "CONCAT44(local_50._4_4_,param_4)" identifier (argument_list "(local_50._4_4_,param_4)" ( (field_expression "local_50._4_4_" identifier . field_identifier) , identifier )))) ;) (expression_statement "lVar12 = lVar11;" (assignment_expression "lVar12 = lVar11" identifier = identifier) ;) (expression_statement "lVar15 = lVar11;" (assignment_expression "lVar15 = lVar11" identifier = identifier) ;) (expression_statement "lVar8 = *(long *)(lVar14 + 0x30);" (assignment_expression "lVar8 = *(long *)(lVar14 + 0x30)" identifier = (pointer_expression "*(long *)(lVar14 + 0x30)" * (cast_expression "(long *)(lVar14 + 0x30)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar14 + 0x30)" ( (binary_expression "lVar14 + 0x30" identifier + number_literal) ))))) ;) (if_statement "if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }\n                else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }" if (parenthesized_expression "(*(long *)(lVar14 + 0x30) == 0)" ( (binary_expression "*(long *)(lVar14 + 0x30) == 0" (pointer_expression "*(long *)(lVar14 + 0x30)" * (cast_expression "(long *)(lVar14 + 0x30)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar14 + 0x30)" ( (binary_expression "lVar14 + 0x30" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }" { (labeled_statement "LAB_00192b80:\n                  local_e0 = &local_58;" statement_identifier : (expression_statement "local_e0 = &local_58;" (assignment_expression "local_e0 = &local_58" identifier = (pointer_expression "&local_58" & identifier)) ;)) (expression_statement "local_58 = param_3;" (assignment_expression "local_58 = param_3" identifier = identifier) ;) (expression_statement "lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);" (assignment_expression "lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109)" identifier = (call_expression "FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109)" identifier (argument_list "(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109)" ( (binary_expression "lVar14 + 0x20" identifier + number_literal) , identifier , (pointer_expression "&DAT_003de3e0" & identifier) , (pointer_expression "&local_e0" & identifier) , (pointer_expression "&local_109" & identifier) )))) ;) }) (else_clause "else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }" else (compound_statement "{\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }" { (do_statement "do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);" do (compound_statement "{\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  }" { (while_statement "while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }" while (parenthesized_expression "((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4)))))" ( (parenthesized_expression "(lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))" ( (comma_expression "lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4)))" (assignment_expression "lVar15 = lVar8" identifier = identifier) , (binary_expression "*(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4)))" (binary_expression "*(byte **)(lVar15 + 0x20) < param_3" (pointer_expression "*(byte **)(lVar15 + 0x20)" * (cast_expression "(byte **)(lVar15 + 0x20)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar15 + 0x20)" ( (binary_expression "lVar15 + 0x20" identifier + number_literal) )))) < identifier) || (parenthesized_expression "((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4)))" ( (parenthesized_expression "(param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))" ( (binary_expression "param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4)" (binary_expression "param_3 == *(byte **)(lVar15 + 0x20)" identifier == (pointer_expression "*(byte **)(lVar15 + 0x20)" * (cast_expression "(byte **)(lVar15 + 0x20)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar15 + 0x20)" ( (binary_expression "lVar15 + 0x20" identifier + number_literal) ))))) && (parenthesized_expression "(*(uint *)(lVar15 + 0x28) < param_4)" ( (binary_expression "*(uint *)(lVar15 + 0x28) < param_4" (pointer_expression "*(uint *)(lVar15 + 0x28)" * (cast_expression "(uint *)(lVar15 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x28)" ( (binary_expression "lVar15 + 0x28" identifier + number_literal) )))) < identifier) ))) )) )))) )) )) (compound_statement "{\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }" { (expression_statement "plVar1 = (long *)(lVar15 + 0x18);" (assignment_expression "plVar1 = (long *)(lVar15 + 0x18)" identifier = (cast_expression "(long *)(lVar15 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x18)" ( (binary_expression "lVar15 + 0x18" identifier + number_literal) )))) ;) (expression_statement "lVar15 = lVar12;" (assignment_expression "lVar15 = lVar12" identifier = identifier) ;) (expression_statement "lVar8 = *plVar1;" (assignment_expression "lVar8 = *plVar1" identifier = (pointer_expression "*plVar1" * identifier)) ;) (if_statement "if (*plVar1 == 0) goto LAB_001927c2;" if (parenthesized_expression "(*plVar1 == 0)" ( (binary_expression "*plVar1 == 0" (pointer_expression "*plVar1" * identifier) == number_literal) )) (goto_statement "goto LAB_001927c2;" goto statement_identifier ;)) })) (expression_statement "lVar12 = lVar15;" (assignment_expression "lVar12 = lVar15" identifier = identifier) ;) (expression_statement "lVar8 = *(long *)(lVar15 + 0x10);" (assignment_expression "lVar8 = *(long *)(lVar15 + 0x10)" identifier = (pointer_expression "*(long *)(lVar15 + 0x10)" * (cast_expression "(long *)(lVar15 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x10)" ( (binary_expression "lVar15 + 0x10" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(*(long *)(lVar15 + 0x10) != 0)" ( (binary_expression "*(long *)(lVar15 + 0x10) != 0" (pointer_expression "*(long *)(lVar15 + 0x10)" * (cast_expression "(long *)(lVar15 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x10)" ( (binary_expression "lVar15 + 0x10" identifier + number_literal) )))) != number_literal) )) ;) (labeled_statement "LAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;" statement_identifier : (if_statement "if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;" if (parenthesized_expression "(((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28)))))" ( (binary_expression "((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))" (parenthesized_expression "((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20)))" ( (binary_expression "(lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))" (parenthesized_expression "(lVar15 == lVar11)" ( (binary_expression "lVar15 == lVar11" identifier == identifier) )) || (parenthesized_expression "(param_3 < *(byte **)(lVar15 + 0x20))" ( (binary_expression "param_3 < *(byte **)(lVar15 + 0x20)" identifier < (pointer_expression "*(byte **)(lVar15 + 0x20)" * (cast_expression "(byte **)(lVar15 + 0x20)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar15 + 0x20)" ( (binary_expression "lVar15 + 0x20" identifier + number_literal) ))))) ))) )) || (parenthesized_expression "((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))" ( (parenthesized_expression "(local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28)))" ( (comma_expression "local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))" (assignment_expression "local_58 = param_3" identifier = identifier) , (binary_expression "param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))" (binary_expression "param_3 == *(byte **)(lVar15 + 0x20)" identifier == (pointer_expression "*(byte **)(lVar15 + 0x20)" * (cast_expression "(byte **)(lVar15 + 0x20)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar15 + 0x20)" ( (binary_expression "lVar15 + 0x20" identifier + number_literal) ))))) && (parenthesized_expression "(param_4 < *(uint *)(lVar15 + 0x28))" ( (binary_expression "param_4 < *(uint *)(lVar15 + 0x28)" identifier < (pointer_expression "*(uint *)(lVar15 + 0x28)" * (cast_expression "(uint *)(lVar15 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x28)" ( (binary_expression "lVar15 + 0x28" identifier + number_literal) ))))) )))) )) ))) )) (goto_statement "goto LAB_00192b80;" goto statement_identifier ;))) }))) (for_statement "for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;\n                    puVar5 = (undefined8 *)*puVar5) {\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }" for ( (assignment_expression "puVar5 = *(undefined8 **)(lVar19 + 0x50)" identifier = (pointer_expression "*(undefined8 **)(lVar19 + 0x50)" * (cast_expression "(undefined8 **)(lVar19 + 0x50)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar19 + 0x50)" ( (binary_expression "lVar19 + 0x50" identifier + number_literal) ))))) ; (binary_expression "puVar5 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "puVar5 = (undefined8 *)*puVar5" identifier = (cast_expression "(undefined8 *)*puVar5" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) ) (compound_statement "{\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }" { (expression_statement "local_f8 = lVar15 + 0x30;" (assignment_expression "local_f8 = lVar15 + 0x30" identifier = (binary_expression "lVar15 + 0x30" identifier + number_literal)) ;) (expression_statement "FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);" (call_expression "FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1)" identifier (argument_list "(lVar15 + 0x30,puVar5 + 1,&local_f8,1)" ( (binary_expression "lVar15 + 0x30" identifier + number_literal) , (binary_expression "puVar5 + 1" identifier + number_literal) , (pointer_expression "&local_f8" & identifier) , number_literal ))) ;) })) })) })) })) })) }) (else_clause "else {\n        if (uVar22 < *(uint *)(param_3 + 0x120)) {\n          local_a8 = (byte *)0x0;\nLAB_00192adb:\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/gc.h",0x11c,"gc_process_relocs");\n        }\n        uVar23 = (ulong)(uVar22 - *(uint *)(param_3 + 0x120));\n        if ((ulong)(*(long *)(param_3 + 0x138) - *(long *)(param_3 + 0x130) >> 3) <= uVar23) {\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/object.h",0x8ad,"global_symbol");\n        }\n        local_a8 = *(byte **)(*(long *)(param_3 + 0x130) + uVar23 * 8);\n        if (local_a8 == (byte *)0x0) goto LAB_00192adb;\n        if ((local_a8[0x3a] & 0x10) != 0) {\n          local_a8 = (byte *)FUN_002ddad0(param_1,local_a8);\n        }\n        if ((local_a8[0x3a] & 7) == 0) {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          pbVar24 = *(byte **)(local_a8 + 0x10);\n          local_134 = uVar4 + local_150;\n          if ((pbVar24[0x3c] & 1) == 0) {\n            uVar10 = *(uint *)(local_a8 + 0x18);\n            bVar18 = local_a8[0x3b] >> 5 & 1;\n            uVar25 = (local_a8[0x38] & 0xf) < 2;\n            uVar29 = (local_a8[0x38] & 0xf) == 2;\n            if ((bool)uVar29) {\n              uVar25 = 0;\n              uVar29 = local_136 == '\0';\n              if (!(bool)uVar29) {\n                uVar25 = false;\n                uVar29 = bVar18 == 0;\n                if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }\n                local_100 = *(long *)(param_1 + 0x298) + 0x68;\n                local_d8 = pbVar24;\n                local_d0 = uVar10;\n                    /* try { // try from 00192ca4 to 00192e68 has its CatchHandler @ 00192fd7 */\n                FUN_001bcb90(local_100,&local_d8,&local_100,1);\n              }\n            }\n          }\n          else {\n            bVar18 = 0;\n            uVar10 = 0;\n            uVar25 = 0;\n            pbVar24 = (byte *)0x0;\n            uVar29 = 1;\n          }\n        }\n        else {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          bVar18 = 0;\n          uVar10 = 0;\n          uVar25 = 0;\n          pbVar24 = (byte *)0x0;\n          uVar29 = 1;\n          local_134 = uVar4 + local_150;\n        }\nLAB_00192930:\n        pbVar17 = *(byte **)local_a8;\n        lVar19 = 8;\n        pbVar20 = (byte *)"__start_";\n        pbVar21 = pbVar17;\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          uVar25 = *pbVar20 < *pbVar21;\n          uVar29 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n          pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n        } while ((bool)uVar29);\n        bVar26 = false;\n        bVar30 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;\n        if (bVar30) {\n          pbVar17 = pbVar17 + 8;\n        }\n        else {\n          lVar19 = 7;\n          pbVar20 = (byte *)"__stop_";\n          pbVar21 = pbVar17;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar21;\n            bVar30 = *pbVar20 == *pbVar21;\n            pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n            pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n          } while (bVar30);\n          pbVar17 = pbVar17 + 7;\n          if ((!bVar26 && !bVar30) != bVar26) {\n            pbVar17 = local_158;\n          }\n        }\n        local_158 = pbVar17;\n        if (bVar28) {\n          if (bVar18 == 0) {\n            local_58 = (byte *)0x0;\n            local_50 = (ulong)local_50._4_4_ << 0x20;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          else {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = pbVar24;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          puVar5 = *(undefined8 **)(local_170 + 8);\n          if (puVar5 == *(undefined8 **)(local_170 + 0x10)) {\n            FUN_001bbf50(local_170,puVar5,&local_a8);\n          }\n          else {\n            *puVar5 = local_a8;\n            *(undefined8 **)(local_170 + 8) = puVar5 + 1;\n          }\n          local_58 = (byte *)(ulong)local_150;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_b8 = (byte *)((ulong)local_b8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_b8);\n        }\n        if (bVar18 != 0) goto LAB_001925a8;\n      }" else (compound_statement "{\n        if (uVar22 < *(uint *)(param_3 + 0x120)) {\n          local_a8 = (byte *)0x0;\nLAB_00192adb:\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/gc.h",0x11c,"gc_process_relocs");\n        }\n        uVar23 = (ulong)(uVar22 - *(uint *)(param_3 + 0x120));\n        if ((ulong)(*(long *)(param_3 + 0x138) - *(long *)(param_3 + 0x130) >> 3) <= uVar23) {\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/object.h",0x8ad,"global_symbol");\n        }\n        local_a8 = *(byte **)(*(long *)(param_3 + 0x130) + uVar23 * 8);\n        if (local_a8 == (byte *)0x0) goto LAB_00192adb;\n        if ((local_a8[0x3a] & 0x10) != 0) {\n          local_a8 = (byte *)FUN_002ddad0(param_1,local_a8);\n        }\n        if ((local_a8[0x3a] & 7) == 0) {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          pbVar24 = *(byte **)(local_a8 + 0x10);\n          local_134 = uVar4 + local_150;\n          if ((pbVar24[0x3c] & 1) == 0) {\n            uVar10 = *(uint *)(local_a8 + 0x18);\n            bVar18 = local_a8[0x3b] >> 5 & 1;\n            uVar25 = (local_a8[0x38] & 0xf) < 2;\n            uVar29 = (local_a8[0x38] & 0xf) == 2;\n            if ((bool)uVar29) {\n              uVar25 = 0;\n              uVar29 = local_136 == '\0';\n              if (!(bool)uVar29) {\n                uVar25 = false;\n                uVar29 = bVar18 == 0;\n                if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }\n                local_100 = *(long *)(param_1 + 0x298) + 0x68;\n                local_d8 = pbVar24;\n                local_d0 = uVar10;\n                    /* try { // try from 00192ca4 to 00192e68 has its CatchHandler @ 00192fd7 */\n                FUN_001bcb90(local_100,&local_d8,&local_100,1);\n              }\n            }\n          }\n          else {\n            bVar18 = 0;\n            uVar10 = 0;\n            uVar25 = 0;\n            pbVar24 = (byte *)0x0;\n            uVar29 = 1;\n          }\n        }\n        else {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          bVar18 = 0;\n          uVar10 = 0;\n          uVar25 = 0;\n          pbVar24 = (byte *)0x0;\n          uVar29 = 1;\n          local_134 = uVar4 + local_150;\n        }\nLAB_00192930:\n        pbVar17 = *(byte **)local_a8;\n        lVar19 = 8;\n        pbVar20 = (byte *)"__start_";\n        pbVar21 = pbVar17;\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          uVar25 = *pbVar20 < *pbVar21;\n          uVar29 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n          pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n        } while ((bool)uVar29);\n        bVar26 = false;\n        bVar30 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;\n        if (bVar30) {\n          pbVar17 = pbVar17 + 8;\n        }\n        else {\n          lVar19 = 7;\n          pbVar20 = (byte *)"__stop_";\n          pbVar21 = pbVar17;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar21;\n            bVar30 = *pbVar20 == *pbVar21;\n            pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n            pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n          } while (bVar30);\n          pbVar17 = pbVar17 + 7;\n          if ((!bVar26 && !bVar30) != bVar26) {\n            pbVar17 = local_158;\n          }\n        }\n        local_158 = pbVar17;\n        if (bVar28) {\n          if (bVar18 == 0) {\n            local_58 = (byte *)0x0;\n            local_50 = (ulong)local_50._4_4_ << 0x20;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          else {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = pbVar24;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          puVar5 = *(undefined8 **)(local_170 + 8);\n          if (puVar5 == *(undefined8 **)(local_170 + 0x10)) {\n            FUN_001bbf50(local_170,puVar5,&local_a8);\n          }\n          else {\n            *puVar5 = local_a8;\n            *(undefined8 **)(local_170 + 8) = puVar5 + 1;\n          }\n          local_58 = (byte *)(ulong)local_150;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_b8 = (byte *)((ulong)local_b8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_b8);\n        }\n        if (bVar18 != 0) goto LAB_001925a8;\n      }" { (if_statement "if (uVar22 < *(uint *)(param_3 + 0x120)) {\n          local_a8 = (byte *)0x0;\nLAB_00192adb:\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/gc.h",0x11c,"gc_process_relocs");\n        }" if (parenthesized_expression "(uVar22 < *(uint *)(param_3 + 0x120))" ( (binary_expression "uVar22 < *(uint *)(param_3 + 0x120)" identifier < (pointer_expression "*(uint *)(param_3 + 0x120)" * (cast_expression "(uint *)(param_3 + 0x120)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x120)" ( (binary_expression "param_3 + 0x120" identifier + number_literal) ))))) )) (compound_statement "{\n          local_a8 = (byte *)0x0;\nLAB_00192adb:\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/gc.h",0x11c,"gc_process_relocs");\n        }" { (expression_statement "local_a8 = (byte *)0x0;" (assignment_expression "local_a8 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00192adb:\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/gc.h",0x11c,"gc_process_relocs");" statement_identifier : comment (expression_statement "FUN_001e9890("../../gold/gc.h",0x11c,"gc_process_relocs");" (call_expression "FUN_001e9890("../../gold/gc.h",0x11c,"gc_process_relocs")" identifier (argument_list "("../../gold/gc.h",0x11c,"gc_process_relocs")" ( (string_literal ""../../gold/gc.h"" " string_content ") , number_literal , (string_literal ""gc_process_relocs"" " string_content ") ))) ;)) })) (expression_statement "uVar23 = (ulong)(uVar22 - *(uint *)(param_3 + 0x120));" (assignment_expression "uVar23 = (ulong)(uVar22 - *(uint *)(param_3 + 0x120))" identifier = (call_expression "(ulong)(uVar22 - *(uint *)(param_3 + 0x120))" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar22 - *(uint *)(param_3 + 0x120))" ( (binary_expression "uVar22 - *(uint *)(param_3 + 0x120)" identifier - (pointer_expression "*(uint *)(param_3 + 0x120)" * (cast_expression "(uint *)(param_3 + 0x120)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x120)" ( (binary_expression "param_3 + 0x120" identifier + number_literal) ))))) )))) ;) (if_statement "if ((ulong)(*(long *)(param_3 + 0x138) - *(long *)(param_3 + 0x130) >> 3) <= uVar23) {\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/object.h",0x8ad,"global_symbol");\n        }" if (parenthesized_expression "((ulong)(*(long *)(param_3 + 0x138) - *(long *)(param_3 + 0x130) >> 3) <= uVar23)" ( (binary_expression "(ulong)(*(long *)(param_3 + 0x138) - *(long *)(param_3 + 0x130) >> 3) <= uVar23" (call_expression "(ulong)(*(long *)(param_3 + 0x138) - *(long *)(param_3 + 0x130) >> 3)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(*(long *)(param_3 + 0x138) - *(long *)(param_3 + 0x130) >> 3)" ( (binary_expression "*(long *)(param_3 + 0x138) - *(long *)(param_3 + 0x130) >> 3" (binary_expression "*(long *)(param_3 + 0x138) - *(long *)(param_3 + 0x130)" (pointer_expression "*(long *)(param_3 + 0x138)" * (cast_expression "(long *)(param_3 + 0x138)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x138)" ( (binary_expression "param_3 + 0x138" identifier + number_literal) )))) - (pointer_expression "*(long *)(param_3 + 0x130)" * (cast_expression "(long *)(param_3 + 0x130)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x130)" ( (binary_expression "param_3 + 0x130" identifier + number_literal) ))))) >> number_literal) ))) <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          FUN_001e9890("../../gold/object.h",0x8ad,"global_symbol");\n        }" { comment (expression_statement "FUN_001e9890("../../gold/object.h",0x8ad,"global_symbol");" (call_expression "FUN_001e9890("../../gold/object.h",0x8ad,"global_symbol")" identifier (argument_list "("../../gold/object.h",0x8ad,"global_symbol")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""global_symbol"" " string_content ") ))) ;) })) (expression_statement "local_a8 = *(byte **)(*(long *)(param_3 + 0x130) + uVar23 * 8);" (assignment_expression "local_a8 = *(byte **)(*(long *)(param_3 + 0x130) + uVar23 * 8)" identifier = (pointer_expression "*(byte **)(*(long *)(param_3 + 0x130) + uVar23 * 8)" * (cast_expression "(byte **)(*(long *)(param_3 + 0x130) + uVar23 * 8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)(param_3 + 0x130) + uVar23 * 8)" ( (binary_expression "*(long *)(param_3 + 0x130) + uVar23 * 8" (pointer_expression "*(long *)(param_3 + 0x130)" * (cast_expression "(long *)(param_3 + 0x130)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x130)" ( (binary_expression "param_3 + 0x130" identifier + number_literal) )))) + (binary_expression "uVar23 * 8" identifier * number_literal)) ))))) ;) (if_statement "if (local_a8 == (byte *)0x0) goto LAB_00192adb;" if (parenthesized_expression "(local_a8 == (byte *)0x0)" ( (binary_expression "local_a8 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00192adb;" goto statement_identifier ;)) (if_statement "if ((local_a8[0x3a] & 0x10) != 0) {\n          local_a8 = (byte *)FUN_002ddad0(param_1,local_a8);\n        }" if (parenthesized_expression "((local_a8[0x3a] & 0x10) != 0)" ( (binary_expression "(local_a8[0x3a] & 0x10) != 0" (parenthesized_expression "(local_a8[0x3a] & 0x10)" ( (binary_expression "local_a8[0x3a] & 0x10" (subscript_expression "local_a8[0x3a]" identifier [ number_literal ]) & number_literal) )) != number_literal) )) (compound_statement "{\n          local_a8 = (byte *)FUN_002ddad0(param_1,local_a8);\n        }" { (expression_statement "local_a8 = (byte *)FUN_002ddad0(param_1,local_a8);" (assignment_expression "local_a8 = (byte *)FUN_002ddad0(param_1,local_a8)" identifier = (cast_expression "(byte *)FUN_002ddad0(param_1,local_a8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002ddad0(param_1,local_a8)" identifier (argument_list "(param_1,local_a8)" ( identifier , identifier ))))) ;) })) (if_statement "if ((local_a8[0x3a] & 7) == 0) {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          pbVar24 = *(byte **)(local_a8 + 0x10);\n          local_134 = uVar4 + local_150;\n          if ((pbVar24[0x3c] & 1) == 0) {\n            uVar10 = *(uint *)(local_a8 + 0x18);\n            bVar18 = local_a8[0x3b] >> 5 & 1;\n            uVar25 = (local_a8[0x38] & 0xf) < 2;\n            uVar29 = (local_a8[0x38] & 0xf) == 2;\n            if ((bool)uVar29) {\n              uVar25 = 0;\n              uVar29 = local_136 == '\0';\n              if (!(bool)uVar29) {\n                uVar25 = false;\n                uVar29 = bVar18 == 0;\n                if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }\n                local_100 = *(long *)(param_1 + 0x298) + 0x68;\n                local_d8 = pbVar24;\n                local_d0 = uVar10;\n                    /* try { // try from 00192ca4 to 00192e68 has its CatchHandler @ 00192fd7 */\n                FUN_001bcb90(local_100,&local_d8,&local_100,1);\n              }\n            }\n          }\n          else {\n            bVar18 = 0;\n            uVar10 = 0;\n            uVar25 = 0;\n            pbVar24 = (byte *)0x0;\n            uVar29 = 1;\n          }\n        }\n        else {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          bVar18 = 0;\n          uVar10 = 0;\n          uVar25 = 0;\n          pbVar24 = (byte *)0x0;\n          uVar29 = 1;\n          local_134 = uVar4 + local_150;\n        }" if (parenthesized_expression "((local_a8[0x3a] & 7) == 0)" ( (binary_expression "(local_a8[0x3a] & 7) == 0" (parenthesized_expression "(local_a8[0x3a] & 7)" ( (binary_expression "local_a8[0x3a] & 7" (subscript_expression "local_a8[0x3a]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) (compound_statement "{\n          local_150 = *(uint *)(local_a8 + 0x40);\n          pbVar24 = *(byte **)(local_a8 + 0x10);\n          local_134 = uVar4 + local_150;\n          if ((pbVar24[0x3c] & 1) == 0) {\n            uVar10 = *(uint *)(local_a8 + 0x18);\n            bVar18 = local_a8[0x3b] >> 5 & 1;\n            uVar25 = (local_a8[0x38] & 0xf) < 2;\n            uVar29 = (local_a8[0x38] & 0xf) == 2;\n            if ((bool)uVar29) {\n              uVar25 = 0;\n              uVar29 = local_136 == '\0';\n              if (!(bool)uVar29) {\n                uVar25 = false;\n                uVar29 = bVar18 == 0;\n                if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }\n                local_100 = *(long *)(param_1 + 0x298) + 0x68;\n                local_d8 = pbVar24;\n                local_d0 = uVar10;\n                    /* try { // try from 00192ca4 to 00192e68 has its CatchHandler @ 00192fd7 */\n                FUN_001bcb90(local_100,&local_d8,&local_100,1);\n              }\n            }\n          }\n          else {\n            bVar18 = 0;\n            uVar10 = 0;\n            uVar25 = 0;\n            pbVar24 = (byte *)0x0;\n            uVar29 = 1;\n          }\n        }" { (expression_statement "local_150 = *(uint *)(local_a8 + 0x40);" (assignment_expression "local_150 = *(uint *)(local_a8 + 0x40)" identifier = (pointer_expression "*(uint *)(local_a8 + 0x40)" * (cast_expression "(uint *)(local_a8 + 0x40)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a8 + 0x40)" ( (binary_expression "local_a8 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "pbVar24 = *(byte **)(local_a8 + 0x10);" (assignment_expression "pbVar24 = *(byte **)(local_a8 + 0x10)" identifier = (pointer_expression "*(byte **)(local_a8 + 0x10)" * (cast_expression "(byte **)(local_a8 + 0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_a8 + 0x10)" ( (binary_expression "local_a8 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "local_134 = uVar4 + local_150;" (assignment_expression "local_134 = uVar4 + local_150" identifier = (binary_expression "uVar4 + local_150" identifier + identifier)) ;) (if_statement "if ((pbVar24[0x3c] & 1) == 0) {\n            uVar10 = *(uint *)(local_a8 + 0x18);\n            bVar18 = local_a8[0x3b] >> 5 & 1;\n            uVar25 = (local_a8[0x38] & 0xf) < 2;\n            uVar29 = (local_a8[0x38] & 0xf) == 2;\n            if ((bool)uVar29) {\n              uVar25 = 0;\n              uVar29 = local_136 == '\0';\n              if (!(bool)uVar29) {\n                uVar25 = false;\n                uVar29 = bVar18 == 0;\n                if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }\n                local_100 = *(long *)(param_1 + 0x298) + 0x68;\n                local_d8 = pbVar24;\n                local_d0 = uVar10;\n                    /* try { // try from 00192ca4 to 00192e68 has its CatchHandler @ 00192fd7 */\n                FUN_001bcb90(local_100,&local_d8,&local_100,1);\n              }\n            }\n          }\n          else {\n            bVar18 = 0;\n            uVar10 = 0;\n            uVar25 = 0;\n            pbVar24 = (byte *)0x0;\n            uVar29 = 1;\n          }" if (parenthesized_expression "((pbVar24[0x3c] & 1) == 0)" ( (binary_expression "(pbVar24[0x3c] & 1) == 0" (parenthesized_expression "(pbVar24[0x3c] & 1)" ( (binary_expression "pbVar24[0x3c] & 1" (subscript_expression "pbVar24[0x3c]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) (compound_statement "{\n            uVar10 = *(uint *)(local_a8 + 0x18);\n            bVar18 = local_a8[0x3b] >> 5 & 1;\n            uVar25 = (local_a8[0x38] & 0xf) < 2;\n            uVar29 = (local_a8[0x38] & 0xf) == 2;\n            if ((bool)uVar29) {\n              uVar25 = 0;\n              uVar29 = local_136 == '\0';\n              if (!(bool)uVar29) {\n                uVar25 = false;\n                uVar29 = bVar18 == 0;\n                if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }\n                local_100 = *(long *)(param_1 + 0x298) + 0x68;\n                local_d8 = pbVar24;\n                local_d0 = uVar10;\n                    /* try { // try from 00192ca4 to 00192e68 has its CatchHandler @ 00192fd7 */\n                FUN_001bcb90(local_100,&local_d8,&local_100,1);\n              }\n            }\n          }" { (expression_statement "uVar10 = *(uint *)(local_a8 + 0x18);" (assignment_expression "uVar10 = *(uint *)(local_a8 + 0x18)" identifier = (pointer_expression "*(uint *)(local_a8 + 0x18)" * (cast_expression "(uint *)(local_a8 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a8 + 0x18)" ( (binary_expression "local_a8 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "bVar18 = local_a8[0x3b] >> 5 & 1;" (assignment_expression "bVar18 = local_a8[0x3b] >> 5 & 1" identifier = (binary_expression "local_a8[0x3b] >> 5 & 1" (binary_expression "local_a8[0x3b] >> 5" (subscript_expression "local_a8[0x3b]" identifier [ number_literal ]) >> number_literal) & number_literal)) ;) (expression_statement "uVar25 = (local_a8[0x38] & 0xf) < 2;" (assignment_expression "uVar25 = (local_a8[0x38] & 0xf) < 2" identifier = (binary_expression "(local_a8[0x38] & 0xf) < 2" (parenthesized_expression "(local_a8[0x38] & 0xf)" ( (binary_expression "local_a8[0x38] & 0xf" (subscript_expression "local_a8[0x38]" identifier [ number_literal ]) & number_literal) )) < number_literal)) ;) (expression_statement "uVar29 = (local_a8[0x38] & 0xf) == 2;" (assignment_expression "uVar29 = (local_a8[0x38] & 0xf) == 2" identifier = (binary_expression "(local_a8[0x38] & 0xf) == 2" (parenthesized_expression "(local_a8[0x38] & 0xf)" ( (binary_expression "local_a8[0x38] & 0xf" (subscript_expression "local_a8[0x38]" identifier [ number_literal ]) & number_literal) )) == number_literal)) ;) (if_statement "if ((bool)uVar29) {\n              uVar25 = 0;\n              uVar29 = local_136 == '\0';\n              if (!(bool)uVar29) {\n                uVar25 = false;\n                uVar29 = bVar18 == 0;\n                if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }\n                local_100 = *(long *)(param_1 + 0x298) + 0x68;\n                local_d8 = pbVar24;\n                local_d0 = uVar10;\n                    /* try { // try from 00192ca4 to 00192e68 has its CatchHandler @ 00192fd7 */\n                FUN_001bcb90(local_100,&local_d8,&local_100,1);\n              }\n            }" if (parenthesized_expression "((bool)uVar29)" ( (cast_expression "(bool)uVar29" ( (type_descriptor "bool" primitive_type) ) identifier) )) (compound_statement "{\n              uVar25 = 0;\n              uVar29 = local_136 == '\0';\n              if (!(bool)uVar29) {\n                uVar25 = false;\n                uVar29 = bVar18 == 0;\n                if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }\n                local_100 = *(long *)(param_1 + 0x298) + 0x68;\n                local_d8 = pbVar24;\n                local_d0 = uVar10;\n                    /* try { // try from 00192ca4 to 00192e68 has its CatchHandler @ 00192fd7 */\n                FUN_001bcb90(local_100,&local_d8,&local_100,1);\n              }\n            }" { (expression_statement "uVar25 = 0;" (assignment_expression "uVar25 = 0" identifier = number_literal) ;) (expression_statement "uVar29 = local_136 == '\0';" (assignment_expression "uVar29 = local_136 == '\0'" identifier = (binary_expression "local_136 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence '))) ;) (if_statement "if (!(bool)uVar29) {\n                uVar25 = false;\n                uVar29 = bVar18 == 0;\n                if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }\n                local_100 = *(long *)(param_1 + 0x298) + 0x68;\n                local_d8 = pbVar24;\n                local_d0 = uVar10;\n                    /* try { // try from 00192ca4 to 00192e68 has its CatchHandler @ 00192fd7 */\n                FUN_001bcb90(local_100,&local_d8,&local_100,1);\n              }" if (parenthesized_expression "(!(bool)uVar29)" ( (unary_expression "!(bool)uVar29" ! (cast_expression "(bool)uVar29" ( (type_descriptor "bool" primitive_type) ) identifier)) )) (compound_statement "{\n                uVar25 = false;\n                uVar29 = bVar18 == 0;\n                if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }\n                local_100 = *(long *)(param_1 + 0x298) + 0x68;\n                local_d8 = pbVar24;\n                local_d0 = uVar10;\n                    /* try { // try from 00192ca4 to 00192e68 has its CatchHandler @ 00192fd7 */\n                FUN_001bcb90(local_100,&local_d8,&local_100,1);\n              }" { (expression_statement "uVar25 = false;" (assignment_expression "uVar25 = false" identifier = false) ;) (expression_statement "uVar29 = bVar18 == 0;" (assignment_expression "uVar29 = bVar18 == 0" identifier = (binary_expression "bVar18 == 0" identifier == number_literal)) ;) (if_statement "if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }" if (parenthesized_expression "(!(bool)uVar29)" ( (unary_expression "!(bool)uVar29" ! (cast_expression "(bool)uVar29" ( (type_descriptor "bool" primitive_type) ) identifier)) )) (compound_statement "{\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }" { (expression_statement "uVar25 = uVar7 < 0x17;" (assignment_expression "uVar25 = uVar7 < 0x17" identifier = (binary_expression "uVar7 < 0x17" identifier < number_literal)) ;) (expression_statement "uVar29 = uVar7 == 0x17;" (assignment_expression "uVar29 = uVar7 == 0x17" identifier = (binary_expression "uVar7 == 0x17" identifier == number_literal)) ;) (if_statement "if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;" if (parenthesized_expression "((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))" ( (binary_expression "(uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25)" (parenthesized_expression "(uVar7 < 0x18)" ( (binary_expression "uVar7 < 0x18" identifier < number_literal) )) && (parenthesized_expression "(uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25)" ( (comma_expression "uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25" (assignment_expression "uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0" identifier = (binary_expression "(0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0" (parenthesized_expression "(0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1)" ( (binary_expression "0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1" (binary_expression "0x843f84UL >> ((ulong)uVar3 & 0x3f)" number_literal >> (parenthesized_expression "((ulong)uVar3 & 0x3f)" ( (binary_expression "(ulong)uVar3 & 0x3f" (cast_expression "(ulong)uVar3" ( (type_descriptor "ulong" type_identifier) ) identifier) & number_literal) ))) & number_literal) )) != number_literal)) , (cast_expression "(bool)uVar25" ( (type_descriptor "bool" primitive_type) ) identifier)) ))) )) (goto_statement "goto LAB_00192930;" goto statement_identifier ;)) })) (expression_statement "local_100 = *(long *)(param_1 + 0x298) + 0x68;" (assignment_expression "local_100 = *(long *)(param_1 + 0x298) + 0x68" identifier = (binary_expression "*(long *)(param_1 + 0x298) + 0x68" (pointer_expression "*(long *)(param_1 + 0x298)" * (cast_expression "(long *)(param_1 + 0x298)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x298)" ( (binary_expression "param_1 + 0x298" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "local_d8 = pbVar24;" (assignment_expression "local_d8 = pbVar24" identifier = identifier) ;) (expression_statement "local_d0 = uVar10;" (assignment_expression "local_d0 = uVar10" identifier = identifier) ;) comment (expression_statement "FUN_001bcb90(local_100,&local_d8,&local_100,1);" (call_expression "FUN_001bcb90(local_100,&local_d8,&local_100,1)" identifier (argument_list "(local_100,&local_d8,&local_100,1)" ( identifier , (pointer_expression "&local_d8" & identifier) , (pointer_expression "&local_100" & identifier) , number_literal ))) ;) })) })) }) (else_clause "else {\n            bVar18 = 0;\n            uVar10 = 0;\n            uVar25 = 0;\n            pbVar24 = (byte *)0x0;\n            uVar29 = 1;\n          }" else (compound_statement "{\n            bVar18 = 0;\n            uVar10 = 0;\n            uVar25 = 0;\n            pbVar24 = (byte *)0x0;\n            uVar29 = 1;\n          }" { (expression_statement "bVar18 = 0;" (assignment_expression "bVar18 = 0" identifier = number_literal) ;) (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) (expression_statement "uVar25 = 0;" (assignment_expression "uVar25 = 0" identifier = number_literal) ;) (expression_statement "pbVar24 = (byte *)0x0;" (assignment_expression "pbVar24 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar29 = 1;" (assignment_expression "uVar29 = 1" identifier = number_literal) ;) }))) }) (else_clause "else {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          bVar18 = 0;\n          uVar10 = 0;\n          uVar25 = 0;\n          pbVar24 = (byte *)0x0;\n          uVar29 = 1;\n          local_134 = uVar4 + local_150;\n        }" else (compound_statement "{\n          local_150 = *(uint *)(local_a8 + 0x40);\n          bVar18 = 0;\n          uVar10 = 0;\n          uVar25 = 0;\n          pbVar24 = (byte *)0x0;\n          uVar29 = 1;\n          local_134 = uVar4 + local_150;\n        }" { (expression_statement "local_150 = *(uint *)(local_a8 + 0x40);" (assignment_expression "local_150 = *(uint *)(local_a8 + 0x40)" identifier = (pointer_expression "*(uint *)(local_a8 + 0x40)" * (cast_expression "(uint *)(local_a8 + 0x40)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a8 + 0x40)" ( (binary_expression "local_a8 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "bVar18 = 0;" (assignment_expression "bVar18 = 0" identifier = number_literal) ;) (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) (expression_statement "uVar25 = 0;" (assignment_expression "uVar25 = 0" identifier = number_literal) ;) (expression_statement "pbVar24 = (byte *)0x0;" (assignment_expression "pbVar24 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar29 = 1;" (assignment_expression "uVar29 = 1" identifier = number_literal) ;) (expression_statement "local_134 = uVar4 + local_150;" (assignment_expression "local_134 = uVar4 + local_150" identifier = (binary_expression "uVar4 + local_150" identifier + identifier)) ;) }))) (labeled_statement "LAB_00192930:\n        pbVar17 = *(byte **)local_a8;" statement_identifier : (expression_statement "pbVar17 = *(byte **)local_a8;" (assignment_expression "pbVar17 = *(byte **)local_a8" identifier = (pointer_expression "*(byte **)local_a8" * (cast_expression "(byte **)local_a8" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;)) (expression_statement "lVar19 = 8;" (assignment_expression "lVar19 = 8" identifier = number_literal) ;) (expression_statement "pbVar20 = (byte *)"__start_";" (assignment_expression "pbVar20 = (byte *)"__start_"" identifier = (cast_expression "(byte *)"__start_"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""__start_"" " string_content "))) ;) (expression_statement "pbVar21 = pbVar17;" (assignment_expression "pbVar21 = pbVar17" identifier = identifier) ;) (do_statement "do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          uVar25 = *pbVar20 < *pbVar21;\n          uVar29 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n          pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n        } while ((bool)uVar29);" do (compound_statement "{\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          uVar25 = *pbVar20 < *pbVar21;\n          uVar29 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n          pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n        }" { (if_statement "if (lVar19 == 0) break;" if (parenthesized_expression "(lVar19 == 0)" ( (binary_expression "lVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar19 = lVar19 + -1;" (assignment_expression "lVar19 = lVar19 + -1" identifier = (binary_expression "lVar19 + -1" identifier + number_literal)) ;) (expression_statement "uVar25 = *pbVar20 < *pbVar21;" (assignment_expression "uVar25 = *pbVar20 < *pbVar21" identifier = (binary_expression "*pbVar20 < *pbVar21" (pointer_expression "*pbVar20" * identifier) < (pointer_expression "*pbVar21" * identifier))) ;) (expression_statement "uVar29 = *pbVar20 == *pbVar21;" (assignment_expression "uVar29 = *pbVar20 == *pbVar21" identifier = (binary_expression "*pbVar20 == *pbVar21" (pointer_expression "*pbVar20" * identifier) == (pointer_expression "*pbVar21" * identifier))) ;) (expression_statement "pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1" identifier = (binary_expression "pbVar20 + (ulong)bVar31 * -2 + 1" (binary_expression "pbVar20 + (ulong)bVar31 * -2" identifier + (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1" identifier = (binary_expression "pbVar21 + (ulong)bVar31 * -2 + 1" (binary_expression "pbVar21 + (ulong)bVar31 * -2" identifier + (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "((bool)uVar29)" ( (cast_expression "(bool)uVar29" ( (type_descriptor "bool" primitive_type) ) identifier) )) ;) (expression_statement "bVar26 = false;" (assignment_expression "bVar26 = false" identifier = false) ;) (expression_statement "bVar30 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;" (assignment_expression "bVar30 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25" identifier = (binary_expression "(!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25" (parenthesized_expression "(!(bool)uVar25 && !(bool)uVar29)" ( (binary_expression "!(bool)uVar25 && !(bool)uVar29" (unary_expression "!(bool)uVar25" ! (cast_expression "(bool)uVar25" ( (type_descriptor "bool" primitive_type) ) identifier)) && (unary_expression "!(bool)uVar29" ! (cast_expression "(bool)uVar29" ( (type_descriptor "bool" primitive_type) ) identifier))) )) == (cast_expression "(bool)uVar25" ( (type_descriptor "bool" primitive_type) ) identifier))) ;) (if_statement "if (bVar30) {\n          pbVar17 = pbVar17 + 8;\n        }\n        else {\n          lVar19 = 7;\n          pbVar20 = (byte *)"__stop_";\n          pbVar21 = pbVar17;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar21;\n            bVar30 = *pbVar20 == *pbVar21;\n            pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n            pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n          } while (bVar30);\n          pbVar17 = pbVar17 + 7;\n          if ((!bVar26 && !bVar30) != bVar26) {\n            pbVar17 = local_158;\n          }\n        }" if (parenthesized_expression "(bVar30)" ( identifier )) (compound_statement "{\n          pbVar17 = pbVar17 + 8;\n        }" { (expression_statement "pbVar17 = pbVar17 + 8;" (assignment_expression "pbVar17 = pbVar17 + 8" identifier = (binary_expression "pbVar17 + 8" identifier + number_literal)) ;) }) (else_clause "else {\n          lVar19 = 7;\n          pbVar20 = (byte *)"__stop_";\n          pbVar21 = pbVar17;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar21;\n            bVar30 = *pbVar20 == *pbVar21;\n            pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n            pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n          } while (bVar30);\n          pbVar17 = pbVar17 + 7;\n          if ((!bVar26 && !bVar30) != bVar26) {\n            pbVar17 = local_158;\n          }\n        }" else (compound_statement "{\n          lVar19 = 7;\n          pbVar20 = (byte *)"__stop_";\n          pbVar21 = pbVar17;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar21;\n            bVar30 = *pbVar20 == *pbVar21;\n            pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n            pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n          } while (bVar30);\n          pbVar17 = pbVar17 + 7;\n          if ((!bVar26 && !bVar30) != bVar26) {\n            pbVar17 = local_158;\n          }\n        }" { (expression_statement "lVar19 = 7;" (assignment_expression "lVar19 = 7" identifier = number_literal) ;) (expression_statement "pbVar20 = (byte *)"__stop_";" (assignment_expression "pbVar20 = (byte *)"__stop_"" identifier = (cast_expression "(byte *)"__stop_"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""__stop_"" " string_content "))) ;) (expression_statement "pbVar21 = pbVar17;" (assignment_expression "pbVar21 = pbVar17" identifier = identifier) ;) (do_statement "do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar21;\n            bVar30 = *pbVar20 == *pbVar21;\n            pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n            pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n          } while (bVar30);" do (compound_statement "{\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar21;\n            bVar30 = *pbVar20 == *pbVar21;\n            pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n            pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n          }" { (if_statement "if (lVar19 == 0) break;" if (parenthesized_expression "(lVar19 == 0)" ( (binary_expression "lVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar19 = lVar19 + -1;" (assignment_expression "lVar19 = lVar19 + -1" identifier = (binary_expression "lVar19 + -1" identifier + number_literal)) ;) (expression_statement "bVar26 = *pbVar20 < *pbVar21;" (assignment_expression "bVar26 = *pbVar20 < *pbVar21" identifier = (binary_expression "*pbVar20 < *pbVar21" (pointer_expression "*pbVar20" * identifier) < (pointer_expression "*pbVar21" * identifier))) ;) (expression_statement "bVar30 = *pbVar20 == *pbVar21;" (assignment_expression "bVar30 = *pbVar20 == *pbVar21" identifier = (binary_expression "*pbVar20 == *pbVar21" (pointer_expression "*pbVar20" * identifier) == (pointer_expression "*pbVar21" * identifier))) ;) (expression_statement "pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1" identifier = (binary_expression "pbVar20 + (ulong)bVar31 * -2 + 1" (binary_expression "pbVar20 + (ulong)bVar31 * -2" identifier + (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1" identifier = (binary_expression "pbVar21 + (ulong)bVar31 * -2 + 1" (binary_expression "pbVar21 + (ulong)bVar31 * -2" identifier + (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar30)" ( identifier )) ;) (expression_statement "pbVar17 = pbVar17 + 7;" (assignment_expression "pbVar17 = pbVar17 + 7" identifier = (binary_expression "pbVar17 + 7" identifier + number_literal)) ;) (if_statement "if ((!bVar26 && !bVar30) != bVar26) {\n            pbVar17 = local_158;\n          }" if (parenthesized_expression "((!bVar26 && !bVar30) != bVar26)" ( (binary_expression "(!bVar26 && !bVar30) != bVar26" (parenthesized_expression "(!bVar26 && !bVar30)" ( (binary_expression "!bVar26 && !bVar30" (unary_expression "!bVar26" ! identifier) && (unary_expression "!bVar30" ! identifier)) )) != identifier) )) (compound_statement "{\n            pbVar17 = local_158;\n          }" { (expression_statement "pbVar17 = local_158;" (assignment_expression "pbVar17 = local_158" identifier = identifier) ;) })) }))) (expression_statement "local_158 = pbVar17;" (assignment_expression "local_158 = pbVar17" identifier = identifier) ;) (if_statement "if (bVar28) {\n          if (bVar18 == 0) {\n            local_58 = (byte *)0x0;\n            local_50 = (ulong)local_50._4_4_ << 0x20;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          else {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = pbVar24;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          puVar5 = *(undefined8 **)(local_170 + 8);\n          if (puVar5 == *(undefined8 **)(local_170 + 0x10)) {\n            FUN_001bbf50(local_170,puVar5,&local_a8);\n          }\n          else {\n            *puVar5 = local_a8;\n            *(undefined8 **)(local_170 + 8) = puVar5 + 1;\n          }\n          local_58 = (byte *)(ulong)local_150;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_b8 = (byte *)((ulong)local_b8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_b8);\n        }" if (parenthesized_expression "(bVar28)" ( identifier )) (compound_statement "{\n          if (bVar18 == 0) {\n            local_58 = (byte *)0x0;\n            local_50 = (ulong)local_50._4_4_ << 0x20;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          else {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = pbVar24;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          puVar5 = *(undefined8 **)(local_170 + 8);\n          if (puVar5 == *(undefined8 **)(local_170 + 0x10)) {\n            FUN_001bbf50(local_170,puVar5,&local_a8);\n          }\n          else {\n            *puVar5 = local_a8;\n            *(undefined8 **)(local_170 + 8) = puVar5 + 1;\n          }\n          local_58 = (byte *)(ulong)local_150;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_b8 = (byte *)((ulong)local_b8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_b8);\n        }" { (if_statement "if (bVar18 == 0) {\n            local_58 = (byte *)0x0;\n            local_50 = (ulong)local_50._4_4_ << 0x20;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          else {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = pbVar24;\n            FUN_001bdee0(local_178,&local_58);\n          }" if (parenthesized_expression "(bVar18 == 0)" ( (binary_expression "bVar18 == 0" identifier == number_literal) )) (compound_statement "{\n            local_58 = (byte *)0x0;\n            local_50 = (ulong)local_50._4_4_ << 0x20;\n            FUN_001bdee0(local_178,&local_58);\n          }" { (expression_statement "local_58 = (byte *)0x0;" (assignment_expression "local_58 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_50 = (ulong)local_50._4_4_ << 0x20;" (assignment_expression "local_50 = (ulong)local_50._4_4_ << 0x20" identifier = (binary_expression "(ulong)local_50._4_4_ << 0x20" (cast_expression "(ulong)local_50._4_4_" ( (type_descriptor "ulong" type_identifier) ) (field_expression "local_50._4_4_" identifier . field_identifier)) << number_literal)) ;) (expression_statement "FUN_001bdee0(local_178,&local_58);" (call_expression "FUN_001bdee0(local_178,&local_58)" identifier (argument_list "(local_178,&local_58)" ( identifier , (pointer_expression "&local_58" & identifier) ))) ;) }) (else_clause "else {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = pbVar24;\n            FUN_001bdee0(local_178,&local_58);\n          }" else (compound_statement "{\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = pbVar24;\n            FUN_001bdee0(local_178,&local_58);\n          }" { (expression_statement "local_50 = CONCAT44(local_50._4_4_,uVar10);" (assignment_expression "local_50 = CONCAT44(local_50._4_4_,uVar10)" identifier = (call_expression "CONCAT44(local_50._4_4_,uVar10)" identifier (argument_list "(local_50._4_4_,uVar10)" ( (field_expression "local_50._4_4_" identifier . field_identifier) , identifier )))) ;) (expression_statement "local_58 = pbVar24;" (assignment_expression "local_58 = pbVar24" identifier = identifier) ;) (expression_statement "FUN_001bdee0(local_178,&local_58);" (call_expression "FUN_001bdee0(local_178,&local_58)" identifier (argument_list "(local_178,&local_58)" ( identifier , (pointer_expression "&local_58" & identifier) ))) ;) }))) (expression_statement "puVar5 = *(undefined8 **)(local_170 + 8);" (assignment_expression "puVar5 = *(undefined8 **)(local_170 + 8)" identifier = (pointer_expression "*(undefined8 **)(local_170 + 8)" * (cast_expression "(undefined8 **)(local_170 + 8)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_170 + 8)" ( (binary_expression "local_170 + 8" identifier + number_literal) ))))) ;) (if_statement "if (puVar5 == *(undefined8 **)(local_170 + 0x10)) {\n            FUN_001bbf50(local_170,puVar5,&local_a8);\n          }\n          else {\n            *puVar5 = local_a8;\n            *(undefined8 **)(local_170 + 8) = puVar5 + 1;\n          }" if (parenthesized_expression "(puVar5 == *(undefined8 **)(local_170 + 0x10))" ( (binary_expression "puVar5 == *(undefined8 **)(local_170 + 0x10)" identifier == (pointer_expression "*(undefined8 **)(local_170 + 0x10)" * (cast_expression "(undefined8 **)(local_170 + 0x10)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_170 + 0x10)" ( (binary_expression "local_170 + 0x10" identifier + number_literal) ))))) )) (compound_statement "{\n            FUN_001bbf50(local_170,puVar5,&local_a8);\n          }" { (expression_statement "FUN_001bbf50(local_170,puVar5,&local_a8);" (call_expression "FUN_001bbf50(local_170,puVar5,&local_a8)" identifier (argument_list "(local_170,puVar5,&local_a8)" ( identifier , identifier , (pointer_expression "&local_a8" & identifier) ))) ;) }) (else_clause "else {\n            *puVar5 = local_a8;\n            *(undefined8 **)(local_170 + 8) = puVar5 + 1;\n          }" else (compound_statement "{\n            *puVar5 = local_a8;\n            *(undefined8 **)(local_170 + 8) = puVar5 + 1;\n          }" { (expression_statement "*puVar5 = local_a8;" (assignment_expression "*puVar5 = local_a8" (pointer_expression "*puVar5" * identifier) = identifier) ;) (expression_statement "*(undefined8 **)(local_170 + 8) = puVar5 + 1;" (assignment_expression "*(undefined8 **)(local_170 + 8) = puVar5 + 1" (pointer_expression "*(undefined8 **)(local_170 + 8)" * (cast_expression "(undefined8 **)(local_170 + 8)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_170 + 8)" ( (binary_expression "local_170 + 8" identifier + number_literal) )))) = (binary_expression "puVar5 + 1" identifier + number_literal)) ;) }))) (expression_statement "local_58 = (byte *)(ulong)local_150;" (assignment_expression "local_58 = (byte *)(ulong)local_150" identifier = (cast_expression "(byte *)(ulong)local_150" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(ulong)local_150" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) (expression_statement "local_50 = (long)(int)uVar4;" (assignment_expression "local_50 = (long)(int)uVar4" identifier = (cast_expression "(long)(int)uVar4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)uVar4" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "FUN_001be700(local_180,&local_58);" (call_expression "FUN_001be700(local_180,&local_58)" identifier (argument_list "(local_180,&local_58)" ( identifier , (pointer_expression "&local_58" & identifier) ))) ;) (expression_statement "local_58 = (byte *)(ulong)*local_128;" (assignment_expression "local_58 = (byte *)(ulong)*local_128" identifier = (binary_expression "(byte *)(ulong)*local_128" (cast_expression "(byte *)(ulong)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ulong)" ( identifier ))) * identifier)) ;) (expression_statement "puVar5 = *(undefined8 **)(local_168 + 8);" (assignment_expression "puVar5 = *(undefined8 **)(local_168 + 8)" identifier = (pointer_expression "*(undefined8 **)(local_168 + 8)" * (cast_expression "(undefined8 **)(local_168 + 8)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_168 + 8)" ( (binary_expression "local_168 + 8" identifier + number_literal) ))))) ;) (if_statement "if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }" if (parenthesized_expression "(puVar5 == *(undefined8 **)(local_168 + 0x10))" ( (binary_expression "puVar5 == *(undefined8 **)(local_168 + 0x10)" identifier == (pointer_expression "*(undefined8 **)(local_168 + 0x10)" * (cast_expression "(undefined8 **)(local_168 + 0x10)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_168 + 0x10)" ( (binary_expression "local_168 + 0x10" identifier + number_literal) ))))) )) (compound_statement "{\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }" { (expression_statement "FUN_001bdf10(local_168,puVar5,&local_58);" (call_expression "FUN_001bdf10(local_168,puVar5,&local_58)" identifier (argument_list "(local_168,puVar5,&local_58)" ( identifier , identifier , (pointer_expression "&local_58" & identifier) ))) ;) }) (else_clause "else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }" else (compound_statement "{\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }" { (expression_statement "*puVar5 = local_58;" (assignment_expression "*puVar5 = local_58" (pointer_expression "*puVar5" * identifier) = identifier) ;) (expression_statement "*(undefined8 **)(local_168 + 8) = puVar5 + 1;" (assignment_expression "*(undefined8 **)(local_168 + 8) = puVar5 + 1" (pointer_expression "*(undefined8 **)(local_168 + 8)" * (cast_expression "(undefined8 **)(local_168 + 8)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_168 + 8)" ( (binary_expression "local_168 + 8" identifier + number_literal) )))) = (binary_expression "puVar5 + 1" identifier + number_literal)) ;) }))) (expression_statement "local_b8 = (byte *)((ulong)local_b8 & 0xffffffff00000000);" (assignment_expression "local_b8 = (byte *)((ulong)local_b8 & 0xffffffff00000000)" identifier = (cast_expression "(byte *)((ulong)local_b8 & 0xffffffff00000000)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)local_b8 & 0xffffffff00000000)" ( (binary_expression "(ulong)local_b8 & 0xffffffff00000000" (cast_expression "(ulong)local_b8" ( (type_descriptor "ulong" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "FUN_001be890(local_188,&local_b8);" (call_expression "FUN_001be890(local_188,&local_b8)" identifier (argument_list "(local_188,&local_b8)" ( identifier , (pointer_expression "&local_b8" & identifier) ))) ;) })) (if_statement "if (bVar18 != 0) goto LAB_001925a8;" if (parenthesized_expression "(bVar18 != 0)" ( (binary_expression "bVar18 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001925a8;" goto statement_identifier ;)) }))) (labeled_statement "LAB_00192480:\n      local_120 = local_120 + 1;" statement_identifier : (expression_statement "local_120 = local_120 + 1;" (assignment_expression "local_120 = local_120 + 1" identifier = (binary_expression "local_120 + 1" identifier + number_literal)) ;)) (expression_statement "local_128 = local_128 + 3;" (assignment_expression "local_128 = local_128 + 3" identifier = (binary_expression "local_128 + 3" identifier + number_literal)) ;) }) while (parenthesized_expression "(param_6 != local_120)" ( (binary_expression "param_6 != local_120" identifier != identifier) )) ;) }))) (if_statement "if (local_78[0] != local_68) {\n    FUN_00338a40();\n  }" if (parenthesized_expression "(local_78[0] != local_68)" ( (binary_expression "local_78[0] != local_68" (subscript_expression "local_78[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n    FUN_00338a40();\n  }" { (expression_statement "FUN_00338a40();" (call_expression "FUN_00338a40()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if ((local_98 != 0) && (local_90 != 0)) {\n    uVar16 = gettext("missing expected __tls_get_addr call");\n    FUN_001e1b30(local_90,local_88,local_80,uVar16);\n  }" if (parenthesized_expression "((local_98 != 0) && (local_90 != 0))" ( (binary_expression "(local_98 != 0) && (local_90 != 0)" (parenthesized_expression "(local_98 != 0)" ( (binary_expression "local_98 != 0" identifier != number_literal) )) && (parenthesized_expression "(local_90 != 0)" ( (binary_expression "local_90 != 0" identifier != number_literal) ))) )) (compound_statement "{\n    uVar16 = gettext("missing expected __tls_get_addr call");\n    FUN_001e1b30(local_90,local_88,local_80,uVar16);\n  }" { (expression_statement "uVar16 = gettext("missing expected __tls_get_addr call");" (assignment_expression "uVar16 = gettext("missing expected __tls_get_addr call")" identifier = (call_expression "gettext("missing expected __tls_get_addr call")" identifier (argument_list "("missing expected __tls_get_addr call")" ( (string_literal ""missing expected __tls_get_addr call"" " string_content ") )))) ;) (expression_statement "FUN_001e1b30(local_90,local_88,local_80,uVar16);" (call_expression "FUN_001e1b30(local_90,local_88,local_80,uVar16)" identifier (argument_list "(local_90,local_88,local_80,uVar16)" ( identifier , identifier , identifier , identifier ))) ;) })) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Removing unreachable block (ram,0x00192c13) */\n/* WARNING: Removing unreachable block (ram,0x00192c1d) */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* WARNING: Struct "Scan": ignoring overlapping field "issued_non_pic_error_" */\n/* WARNING: Enum "ELFOSABI": Some values do not have unique names */\n/* DWARF original name: gc_process_relocs<32, false, (anonymous namespace)::Target_powerpc<32,\n   false>, (anonymous namespace)::Target_powerpc<32, false>::Scan, gold::Default_classify_reloc<4,\n   32, false> > */\n\nvoid gold::\n     gc_process_relocs<32,_false,_(anonymous_namespace)::Target_powerpc<32,_false>,_(anonymous_namespace)::Target_powerpc<32,_false>::Scan,_gold::Default_classify_reloc<4,_32,_false>_>\n               (Symbol_table *symtab,Layout *param_2,Target_powerpc<32,_false> *target,\n               Sized_relobj_file<32,_false> *src_obj,uint src_indx,uchar *prelocs,size_t reloc_count\n               ,Output_section *param_8,bool param_9,size_t param_10,uchar *plocal_syms)\n\n{\n  _Rb_tree_header *p_Var1;\n  _Base_ptr *pp_Var2;\n  ushort uVar3;\n  uint uVar4;\n  uint uVar5;\n  iterator iVar6;\n  Garbage_collection *pGVar7;\n  _Base_ptr p_Var8;\n  Target *pTVar9;\n  _Base_ptr p_Var10;\n  _func_int_varargs **pp_Var11;\n  iterator __position;\n  code *pcVar12;\n  uint uVar13;\n  char cVar14;\n  ulong to;\n  const_iterator cVar15;\n  size_t sVar16;\n  iterator iVar17;\n  _Base_ptr p_Var18;\n  Output_data_brlt_powerpc<32,_false> *this;\n  uint shndx;\n  long lVar19;\n  byte bVar20;\n  pointer pcVar21;\n  byte bVar22;\n  uint uVar23;\n  byte *pbVar24;\n  _func_int_varargs **pp_Var25;\n  _Alloc_hider _Var26;\n  Relobj *pRVar27;\n  undefined4 in_register_00000084;\n  ulong uVar28;\n  uint uVar29;\n  Output_segment *pOVar30;\n  undefined1 uVar31;\n  bool bVar32;\n  bool bVar33;\n  bool bVar34;\n  undefined1 uVar35;\n  bool bVar36;\n  byte bVar37;\n  Reloc_addend_size_info *local_188;\n  Addend_info *local_180;\n  mapped_type *local_178;\n  Symbol_info *local_170;\n  Offset_info *local_168;\n  _func_int_varargs **local_158;\n  uint local_150;\n  char local_136;\n  uint local_134;\n  uint *local_128;\n  uchar *local_120;\n  tuple<> local_10a;\n  tuple<> local_109;\n  __node_gen_type __node_gen_2;\n  __node_gen_type __node_gen_3;\n  __node_gen_type __node_gen;\n  __node_gen_type __node_gen_1;\n  _Head_base<0,_const_std::pair<gold::Relobj*,_unsigned_int>&,_false> local_e8;\n  _Head_base<0,_const_std::pair<gold::Relobj*,_unsigned_int>&,_false> local_e0;\n  Output_segment *local_d8;\n  uint local_d0;\n  Target_powerpc<32,_false> *local_c8;\n  uint local_c0;\n  Section_id src_id_2;\n  Section_id dst_id;\n  Scan scan;\n  string src_section_name;\n  Section_id src_id;\n  \n  local_128 = (uint *)CONCAT44(in_register_00000084,src_indx);\n  bVar37 = 0;\n  shndx = (uint)src_obj;\n  if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00192fa2 to 00192fa6 has its CatchHandler @ 00192fdf */\n    do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n  }\n  if (parameters->options_->icf_status_ == ICF_NONE) {\n    src_section_name._M_dataplus._M_p = (pointer)&src_section_name.field_2;\n                    /* try { // try from 00192ecc to 00192eeb has its CatchHandler @ 00192fdf */\n    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char_const*>(&src_section_name,"");\n  }\n  else if (*(code **)(*(long *)target + 0x80) == Sized_relobj_file<32,_false>::do_section_name) {\n                    /* try { // try from 001922c4 to 001922c8 has its CatchHandler @ 00192fdf */\n    elfcpp::Elf_file<32,_false,_gold::Object>::section_name\n              (&src_section_name,(Elf_file<32,_false,_gold::Object> *)&target->tocsave_loc_,shndx);\n  }\n  else {\n    (**(code **)(*(long *)target + 0x80))(&src_section_name,target,(ulong)src_obj & 0xffffffff);\n  }\n  _Var26._M_p = src_section_name._M_dataplus._M_p;\n  if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n  }\n  if (parameters->options_->icf_status_ == ICF_NONE) {\nLAB_001922eb:\n    bVar34 = false;\n    local_188 = (Reloc_addend_size_info *)0x0;\n    local_168 = (Offset_info *)0x0;\n    local_180 = (Addend_info *)0x0;\n    local_170 = (Symbol_info *)0x0;\n    local_178 = (mapped_type *)0x0;\n  }\n  else {\n    pcVar21 = (pointer)0xffffffffffffffff;\n    src_id.first = (Relobj *)&stack0xffffffffffffffb8;\n    uVar31 = 0;\n    uVar35 = src_section_name._M_dataplus._M_p == (pointer)0x0;\n    if (!(bool)uVar35) {\n      sVar16 = strlen(src_section_name._M_dataplus._M_p);\n      pcVar21 = _Var26._M_p + sVar16;\n    }\n    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char_const*>\n              ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&src_id,\n               _Var26._M_p,pcVar21);\n    lVar19 = 5;\n    pbVar24 = (byte *)".text";\n    pRVar27 = src_id.first;\n    do {\n      if (lVar19 == 0) break;\n      lVar19 = lVar19 + -1;\n      bVar22 = *(byte *)&(pRVar27->super_Object)._vptr_Object;\n      uVar31 = *pbVar24 < bVar22;\n      uVar35 = *pbVar24 == bVar22;\n      pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n      pRVar27 = (Relobj *)((long)pRVar27 + (ulong)bVar37 * -2 + 1);\n    } while ((bool)uVar35);\n    bVar34 = false;\n    bVar32 = (!(bool)uVar31 && !(bool)uVar35) == (bool)uVar31;\n    if (!bVar32) {\n      lVar19 = 0xf;\n      pbVar24 = (byte *)".gnu.linkonce.t";\n      pRVar27 = src_id.first;\n      do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar22 = *(byte *)&(pRVar27->super_Object)._vptr_Object;\n        bVar34 = *pbVar24 < bVar22;\n        bVar32 = *pbVar24 == bVar22;\n        pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n        pRVar27 = (Relobj *)((long)pRVar27 + (ulong)bVar37 * -2 + 1);\n      } while (bVar32);\n      if ((!bVar34 && !bVar32) != bVar34) {\n        if (src_id.first != (Relobj *)&stack0xffffffffffffffb8) {\n          operator_delete(src_id.first);\n        }\n        goto LAB_001922eb;\n      }\n    }\n    if (src_id.first != (Relobj *)&stack0xffffffffffffffb8) {\n      operator_delete(src_id.first);\n    }\n    src_id.second = shndx;\n    src_id.first = (Relobj *)target;\n    local_178 = std::__detail::\n                _Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>_>,_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>,_true>\n                ::operator[]((_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>_>,_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>,_true>\n                              *)&symtab->icf_->reloc_info_list_,(key_type *)&src_id);\n    local_170 = &local_178->symbol_info;\n    local_180 = &local_178->addend_info;\n    local_168 = &local_178->offset_info;\n    local_188 = &local_178->reloc_addend_size_info;\n    bVar34 = true;\n  }\n  if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00192fba to 00192fd6 has its CatchHandler @ 00192fd7 */\n    do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n  }\n  if ((parameters->options_->icf_status_ == ICF_SAFE) &&\n     (cVar14 = (**(code **)(*(long *)param_2 + 0x90))(param_2), cVar14 != '\0')) {\n    pcVar12 = *(code **)(*(long *)param_2 + 0x10);\n    if (pcVar12 != Target::section_may_have_icf_unsafe_pointers) {\n                    /* try { // try from 00192f0b to 00192f8e has its CatchHandler @ 00192fd7 */\n      local_136 = (*pcVar12)(param_2,src_section_name._M_dataplus._M_p);\n      goto LAB_0019234a;\n    }\n    pcVar12 = *(code **)(*(long *)param_2 + 0x98);\n    bVar32 = pcVar12 < Target::do_section_may_have_icf_unsafe_pointers;\n    bVar36 = pcVar12 == Target::do_section_may_have_icf_unsafe_pointers;\n    if (!bVar36) {\n      local_136 = (*pcVar12)(param_2,src_section_name._M_dataplus._M_p);\n      goto LAB_0019234a;\n    }\n    lVar19 = 0xc;\n    pbVar24 = (byte *)".rodata._ZTV";\n    _Var26 = src_section_name._M_dataplus;\n    do {\n      if (lVar19 == 0) break;\n      lVar19 = lVar19 + -1;\n      bVar32 = *pbVar24 < (byte)*_Var26._M_p;\n      bVar36 = *pbVar24 == *_Var26._M_p;\n      pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n      _Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1);\n    } while (bVar36);\n    bVar33 = false;\n    bVar32 = (!bVar32 && !bVar36) == bVar32;\n    if (!bVar32) {\n      lVar19 = 0x11;\n      pbVar24 = (byte *)".data.rel.ro._ZTV";\n      _Var26 = src_section_name._M_dataplus;\n      do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar33 = *pbVar24 < (byte)*_Var26._M_p;\n        bVar32 = *pbVar24 == *_Var26._M_p;\n        pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n        _Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1);\n      } while (bVar32);\n      bVar36 = false;\n      bVar32 = (!bVar33 && !bVar32) == bVar33;\n      if (!bVar32) {\n        lVar19 = 0xc;\n        pbVar24 = (byte *)".rodata._ZTC";\n        _Var26 = src_section_name._M_dataplus;\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          bVar36 = *pbVar24 < (byte)*_Var26._M_p;\n          bVar32 = *pbVar24 == *_Var26._M_p;\n          pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n          _Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1);\n        } while (bVar32);\n        bVar33 = false;\n        bVar32 = (!bVar36 && !bVar32) == bVar36;\n        if (!bVar32) {\n          lVar19 = 0x11;\n          pbVar24 = (byte *)".data.rel.ro._ZTC";\n          _Var26 = src_section_name._M_dataplus;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar33 = *pbVar24 < (byte)*_Var26._M_p;\n            bVar32 = *pbVar24 == *_Var26._M_p;\n            pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n            _Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1);\n          } while (bVar32);\n          bVar36 = false;\n          bVar32 = (!bVar33 && !bVar32) == bVar33;\n          if (!bVar32) {\n            lVar19 = 9;\n            pbVar24 = (byte *)".eh_frame";\n            _Var26 = src_section_name._M_dataplus;\n            do {\n              if (lVar19 == 0) break;\n              lVar19 = lVar19 + -1;\n              bVar36 = *pbVar24 < (byte)*_Var26._M_p;\n              bVar32 = *pbVar24 == *_Var26._M_p;\n              pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n              _Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1);\n            } while (bVar32);\n            local_136 = (!bVar36 && !bVar32) != bVar36;\n            goto LAB_0019234a;\n          }\n        }\n      }\n    }\n  }\n  local_136 = '\0';\nLAB_0019234a:\n  if (prelocs != (uchar *)0x0) {\n    local_158 = (_func_int_varargs **)0x0;\n    local_120 = (uchar *)0x0;\n    do {\n      uVar4 = local_128[1];\n      uVar5 = local_128[2];\n      uVar29 = uVar4 >> 8;\n      uVar13 = uVar4 & 0xff;\n      if (uVar29 < reloc_count) {\n        if (param_8 == (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/gc.h",0xea,"gc_process_relocs");\n        }\n        uVar23 = uVar29 << 4;\n        uVar3 = *(ushort *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 6);\n        uVar28 = (ulong)uVar3;\n        if (uVar3 < 0xff00) {\nLAB_001924f6:\n          local_134 = *(uint *)((long)&(param_8->super_Output_data)._vptr_Output_data +\n                               (ulong)uVar23 + 4);\n          pRVar27 = (Relobj *)(ulong)local_134;\n          local_134 = uVar5 + local_134;\n          if (bVar34) {\n            src_id.second = (uint)uVar28;\n            src_id.first = (Relobj *)target;\n            std::\n            vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n            ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                      (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);\n            bVar32 = true;\n            if ((*(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4) & 0xf)\n                != 3) goto LAB_001923f0;\nLAB_0019253e:\n            src_id.first = (Relobj *)0xffffffffffffffff;\n            std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::emplace_back<gold::Symbol*>\n                      (local_170,(Symbol **)&src_id);\n            goto LAB_0019240b;\n          }\n        }\n        else {\n          if (uVar3 == 0xffff) {\n            this = target->brlt_section_;\n            if (this == (Output_data_brlt_powerpc<32,_false> *)0x0) {\n              this = (Output_data_brlt_powerpc<32,_false> *)\n                     (**(code **)(*(long *)target + 0xd8))(target);\n              target->brlt_section_ = this;\n            }\n            uVar29 = Xindex::sym_xindex_to_shndx((Xindex *)this,(Object *)target,uVar29);\n            uVar28 = (ulong)uVar29;\n            goto LAB_001924f6;\n          }\n          local_134 = *(uint *)((long)&(param_8->super_Output_data)._vptr_Output_data +\n                               (ulong)uVar23 + 4);\n          pRVar27 = (Relobj *)(ulong)local_134;\n          local_134 = uVar5 + local_134;\n          if (!bVar34) goto LAB_00192480;\n          src_id.first = (Relobj *)0x0;\n          src_id._8_8_ = src_id._8_8_ & 0xffffffff00000000;\n                    /* try { // try from 001923d5 to 00192be2 has its CatchHandler @ 00192fd7 */\n          std::\n          vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n          ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                    (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);\n          bVar32 = false;\n          if ((*(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4) & 0xf) ==\n              3) goto LAB_0019253e;\nLAB_001923f0:\n          src_id.first = (Relobj *)0x0;\n          std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::emplace_back<gold::Symbol*>\n                    (local_170,(Symbol **)&src_id);\nLAB_0019240b:\n          src_id.first = pRVar27;\n          src_id._8_8_ = (long)(int)uVar5;\n          std::\n          vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n          ::emplace_back<std::pair<long_long_int,_long_long_int>_>\n                    (local_180,(pair<long_long_int,_long_long_int> *)&src_id);\n          src_id.first = (Relobj *)(ulong)*local_128;\n          iVar6._M_current =\n               (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n               )._M_impl._M_finish;\n          if (iVar6._M_current ==\n              (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>)\n              ._M_impl._M_end_of_storage) {\n            std::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>::\n            _M_realloc_insert<long_unsigned_int_const&>(local_168,iVar6,(ulong *)&src_id);\n          }\n          else {\n            *iVar6._M_current = (ulong)src_id.first;\n            (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>).\n            _M_impl._M_finish = iVar6._M_current + 1;\n          }\n          dst_id.first = (Relobj *)((ulong)dst_id.first & 0xffffffff00000000);\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::emplace_back<unsigned_int>\n                    (local_188,(uint *)&dst_id);\n          if (!bVar32) goto LAB_00192480;\n        }\n        if (((local_136 != '\0') &&\n            ((*(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4) & 0xf) !=\n             1)) && ((0x17 < uVar13 || ((0x843f84UL >> ((ulong)uVar4 & 0x3f) & 1) == 0)))) {\n          local_c0 = (uint)*(ushort *)\n                            ((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 6);\n          __node_gen_2._M_h = (__hashtable_alloc *)&symtab->icf_->fptr_section_id_;\n          local_c8 = target;\n          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          ::\n          _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                      *)__node_gen_2._M_h,&local_c8,&__node_gen_2,1);\n        }\n        pOVar30 = (Output_segment *)target;\n        if (shndx != (uint)uVar28) {\nLAB_001925a8:\n          if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n          }\n          if ((parameters->options_->gc_sections_).value != false) {\n            pGVar7 = symtab->gc_;\n            dst_id.second = (uint)uVar28;\n            p_Var8 = (pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                     _M_parent;\n            p_Var1 = &(pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header;\n            p_Var18 = &p_Var1->_M_header;\n            cVar15._M_node = &p_Var1->_M_header;\n            src_id_2.first = (Relobj *)target;\n            src_id_2.second = shndx;\n            dst_id.first = (Relobj *)pOVar30;\n            if (p_Var8 == (_Base_ptr)0x0) {\nLAB_00192660:\n              local_e8._M_head_impl = &src_id_2;\n              cVar15._M_node =\n                   (_Base_ptr)\n                   std::\n                   _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                   ::\n                   _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::pair<gold::Relobj*,_unsigned_int>&>,_std::tuple<>_>\n                             (&(pGVar7->section_reloc_map_)._M_t,cVar15,\n                              (piecewise_construct_t *)&std::piecewise_construct,\n                              (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)&local_e8,\n                              &local_10a);\n            }\n            else {\n              do {\n                while ((cVar15._M_node = p_Var8,\n                       target <= *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                       ((target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) ||\n                        (shndx <= *(uint *)&cVar15._M_node[1]._M_parent))))) {\n                  p_Var18 = cVar15._M_node;\n                  p_Var8 = (cVar15._M_node)->_M_left;\n                  if ((cVar15._M_node)->_M_left == (_Base_ptr)0x0) goto LAB_0019263a;\n                }\n                pp_Var2 = &(cVar15._M_node)->_M_right;\n                cVar15._M_node = p_Var18;\n                p_Var8 = *pp_Var2;\n              } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_0019263a:\n              if ((((_Rb_tree_header *)cVar15._M_node == p_Var1) ||\n                  (target < *(Target_powerpc<32,_false> **)(cVar15._M_node + 1))) ||\n                 ((target == *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                  (shndx < *(uint *)&cVar15._M_node[1]._M_parent)))) goto LAB_00192660;\n            }\n            __node_gen_1._M_h = (__hashtable_alloc *)&cVar15._M_node[1]._M_left;\n            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            ::\n            _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                        *)__node_gen_1._M_h,&dst_id,&__node_gen_1,1);\n            pTVar9 = parameters->target_;\n            if (pTVar9 == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x73,"sized_target");\n            }\n            (*pTVar9->_vptr_Target[0x41])\n                      (pTVar9,symtab,target,(ulong)src_obj & 0xffffffff,pOVar30,uVar28,\n                       (ulong)local_134);\n            if (local_158 != (_func_int_varargs **)0x0) {\n              pGVar7 = symtab->gc_;\n              src_id.first = (Relobj *)&stack0xffffffffffffffb8;\n              sVar16 = strlen((char *)local_158);\n              std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n              _M_construct<char_const*>\n                        ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                         &src_id,local_158,(byte *)((long)local_158 + sVar16));\n              iVar17 = std::\n                       _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                       ::find(&(pGVar7->cident_sections_)._M_t,\n                              (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                              &src_id);\n              if (src_id.first != (Relobj *)&stack0xffffffffffffffb8) {\n                operator_delete(src_id.first);\n              }\n              pGVar7 = symtab->gc_;\n              if ((_Rb_tree_header *)iVar17._M_node !=\n                  &(pGVar7->cident_sections_)._M_t._M_impl.super__Rb_tree_header) {\n                p_Var8 = (pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                         _M_parent;\n                p_Var1 = &(pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header;\n                src_id.second = shndx;\n                p_Var18 = &p_Var1->_M_header;\n                cVar15._M_node = &p_Var1->_M_header;\n                if (p_Var8 == (_Base_ptr)0x0) {\nLAB_00192b80:\n                  local_e0._M_head_impl = (pair<gold::Relobj*,_unsigned_int> *)&src_id;\n                  src_id.first = (Relobj *)target;\n                  cVar15._M_node =\n                       (_Base_ptr)\n                       std::\n                       _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                       ::\n                       _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::pair<gold::Relobj*,_unsigned_int>&>,_std::tuple<>_>\n                                 (&(pGVar7->section_reloc_map_)._M_t,cVar15,\n                                  (piecewise_construct_t *)&std::piecewise_construct,\n                                  (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)&local_e0,\n                                  &local_109);\n                }\n                else {\n                  do {\n                    while ((cVar15._M_node = p_Var8,\n                           target <= *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                           ((target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) ||\n                            (shndx <= *(uint *)&cVar15._M_node[1]._M_parent))))) {\n                      p_Var18 = cVar15._M_node;\n                      p_Var8 = (cVar15._M_node)->_M_left;\n                      if ((cVar15._M_node)->_M_left == (_Base_ptr)0x0) goto LAB_001927c2;\n                    }\n                    pp_Var2 = &(cVar15._M_node)->_M_right;\n                    cVar15._M_node = p_Var18;\n                    p_Var8 = *pp_Var2;\n                  } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_001927c2:\n                  if ((((_Rb_tree_header *)cVar15._M_node == p_Var1) ||\n                      (target < *(Target_powerpc<32,_false> **)(cVar15._M_node + 1))) ||\n                     ((src_id.first = (Relobj *)target,\n                      target == *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                      (shndx < *(uint *)&cVar15._M_node[1]._M_parent)))) goto LAB_00192b80;\n                }\n                for (p_Var10 = iVar17._M_node[2]._M_left; p_Var10 != (_Base_ptr)0x0;\n                    p_Var10 = *(_Base_ptr *)p_Var10) {\n                  __node_gen._M_h = (__hashtable_alloc *)&cVar15._M_node[1]._M_left;\n                  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                  ::\n                  _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                              *)&cVar15._M_node[1]._M_left,&p_Var10->_M_parent,&__node_gen,1);\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        uVar23 = (uint)(target->tocsave_loc_)._M_h._M_rehash_policy._M_next_resize;\n        if (uVar29 < uVar23) {\n          dst_id.first = (Relobj *)0x0;\nLAB_00192adb:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/gc.h",0x11c,"gc_process_relocs");\n        }\n        uVar28 = (ulong)(uVar29 - uVar23);\n        if ((ulong)(*(long *)&target->relax_fail_count_ - *(long *)&target->plt_thread_safe_ >> 3)\n            <= uVar28) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.h",0x8ad,"global_symbol");\n        }\n        dst_id.first = *(Relobj **)(*(long *)&target->plt_thread_safe_ + uVar28 * 8);\n        if (dst_id.first == (Relobj *)0x0) goto LAB_00192adb;\n        if ((((dst_id.first)->super_Object).shnum_ & 0x100000) != 0) {\n          dst_id.first = (Relobj *)Symbol_table::resolve_forwards(symtab,(Symbol *)dst_id.first);\n        }\n        if ((((dst_id.first)->super_Object).shnum_ & 0x70000) == 0) {\n          local_150 = *(uint *)&((dst_id.first)->super_Object).xindex_;\n          pOVar30 = ((anon_union_8_3_b0f6f408_for_u1_ *)\n                    &((dst_id.first)->super_Object).name_._M_string_length)->output_segment;\n          local_134 = uVar5 + local_150;\n          if (((ulong)pOVar30->output_lists_[2].\n                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                      _M_impl._M_finish & 0x100000000) == 0) {\n            uVar29 = *(uint *)&((dst_id.first)->super_Object).name_.field_2;\n            uVar28 = (ulong)uVar29;\n            bVar20 = (byte)((dst_id.first)->super_Object).shnum_ & 0xf;\n            bVar22 = *(byte *)((long)&((dst_id.first)->super_Object).shnum_ + 3) >> 5 & 1;\n            uVar31 = bVar20 < 2;\n            uVar35 = bVar20 == 2;\n            if ((bool)uVar35) {\n              uVar31 = 0;\n              uVar35 = local_136 == '\0';\n              if (!(bool)uVar35) {\n                uVar31 = false;\n                uVar35 = bVar22 == 0;\n                if (!(bool)uVar35) {\n                  uVar31 = uVar13 < 0x17;\n                  uVar35 = uVar13 == 0x17;\n                  if ((uVar13 < 0x18) &&\n                     (uVar31 = (0x843f84UL >> ((ulong)uVar4 & 0x3f) & 1) != 0, (bool)uVar31))\n                  goto LAB_00192930;\n                }\n                __node_gen_3._M_h = (__hashtable_alloc *)&symtab->icf_->fptr_section_id_;\n                local_d8 = pOVar30;\n                local_d0 = uVar29;\n                    /* try { // try from 00192ca4 to 00192e68 has its CatchHandler @ 00192fd7 */\n                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                ::\n                _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                            *)__node_gen_3._M_h,&local_d8,&__node_gen_3,1);\n              }\n            }\n          }\n          else {\n            bVar22 = 0;\n            uVar28 = 0;\n            uVar31 = 0;\n            pOVar30 = (Output_segment *)0x0;\n            uVar35 = 1;\n          }\n        }\n        else {\n          local_150 = *(uint *)&((dst_id.first)->super_Object).xindex_;\n          bVar22 = 0;\n          uVar28 = 0;\n          uVar31 = 0;\n          pOVar30 = (Output_segment *)0x0;\n          uVar35 = 1;\n          local_134 = uVar5 + local_150;\n        }\nLAB_00192930:\n        pp_Var11 = ((dst_id.first)->super_Object)._vptr_Object;\n        lVar19 = 8;\n        pbVar24 = (byte *)"__start_";\n        pp_Var25 = pp_Var11;\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          uVar31 = *pbVar24 < *(byte *)pp_Var25;\n          uVar35 = *pbVar24 == *(byte *)pp_Var25;\n          pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n          pp_Var25 = (_func_int_varargs **)((long)pp_Var25 + (ulong)bVar37 * -2 + 1);\n        } while ((bool)uVar35);\n        bVar32 = false;\n        bVar36 = (!(bool)uVar31 && !(bool)uVar35) == (bool)uVar31;\n        if (bVar36) {\n          pp_Var11 = pp_Var11 + 1;\n        }\n        else {\n          lVar19 = 7;\n          pbVar24 = (byte *)"__stop_";\n          pp_Var25 = pp_Var11;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar32 = *pbVar24 < *(byte *)pp_Var25;\n            bVar36 = *pbVar24 == *(byte *)pp_Var25;\n            pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n            pp_Var25 = (_func_int_varargs **)((long)pp_Var25 + (ulong)bVar37 * -2 + 1);\n          } while (bVar36);\n          pp_Var11 = (_func_int_varargs **)((long)pp_Var11 + 7);\n          if ((!bVar32 && !bVar36) != bVar32) {\n            pp_Var11 = local_158;\n          }\n        }\n        local_158 = pp_Var11;\n        if (bVar34) {\n          if (bVar22 == 0) {\n            src_id.first = (Relobj *)0x0;\n            src_id._8_8_ = (ulong)(uint)src_id._12_4_ << 0x20;\n            std::\n            vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n            ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                      (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);\n          }\n          else {\n            src_id.second = (uint)uVar28;\n            src_id.first = (Relobj *)pOVar30;\n            std::\n            vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n            ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                      (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);\n          }\n          __position._M_current =\n               (local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n               _M_impl._M_finish;\n          if (__position._M_current ==\n              (local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl\n              ._M_end_of_storage) {\n            std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::\n            _M_realloc_insert<gold::Symbol*_const&>(local_170,__position,(Symbol **)&dst_id);\n          }\n          else {\n            *__position._M_current = (Symbol *)dst_id.first;\n            (local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n            _M_finish = __position._M_current + 1;\n          }\n          src_id.first = (Relobj *)(ulong)local_150;\n          src_id._8_8_ = (long)(int)uVar5;\n          std::\n          vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n          ::emplace_back<std::pair<long_long_int,_long_long_int>_>\n                    (local_180,(pair<long_long_int,_long_long_int> *)&src_id);\n          src_id.first = (Relobj *)(ulong)*local_128;\n          iVar6._M_current =\n               (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n               )._M_impl._M_finish;\n          if (iVar6._M_current ==\n              (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>)\n              ._M_impl._M_end_of_storage) {\n            std::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>::\n            _M_realloc_insert<long_unsigned_int_const&>(local_168,iVar6,(ulong *)&src_id);\n          }\n          else {\n            *iVar6._M_current = (ulong)src_id.first;\n            (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>).\n            _M_impl._M_finish = iVar6._M_current + 1;\n          }\n          src_id_2.first = (Relobj *)((ulong)src_id_2.first & 0xffffffff00000000);\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::emplace_back<unsigned_int>\n                    (local_188,(uint *)&src_id_2);\n        }\n        if (bVar22 != 0) goto LAB_001925a8;\n      }\nLAB_00192480:\n      local_120 = local_120 + 1;\n      local_128 = local_128 + 3;\n    } while (prelocs != local_120);\n  }\n  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)src_section_name._M_dataplus._M_p != &src_section_name.field_2) {\n    operator_delete(src_section_name._M_dataplus._M_p);\n  }\n  return;\n}\n\n" comment comment comment comment comment comment (declaration "void gold::\n     gc_process_relocs<32,_false,_(anonymous_namespace)::Target_powerpc<32,_false>,_(anonymous_namespace)::Target_powerpc<32,_false>::Scan,_gold::Default_classify_reloc<4,_32,_false>_>\n               (Symbol_table *symtab,Layout *param_2,Target_powerpc<32,_false> *target,\n               Sized_relobj_file<32,_false> *src_obj,uint src_indx,uchar *prelocs,size_t reloc_count\n               ,Output_section *param_8,bool param_9,size_t param_10,uchar *plocal_syms)\n\n{\n  _Rb_tree_header *p_Var1;" primitive_type (ERROR "gold::" identifier : :) identifier (ERROR "<32" < number_literal) , identifier (ERROR ",_(anonymous_namespace)::Target_powerpc<32,_false>,_(anonymous_namespace)::Target_powerpc<32,_false>::Scan,_gold::Default_classify_reloc<4" , (function_declarator "_(anonymous_namespace)::Target_powerpc<32,_false>,_(anonymous_namespace)::Target_powerpc<32,_false>::Scan" identifier (parameter_list "(anonymous_namespace)" ( (parameter_declaration "anonymous_namespace" type_identifier) )) (ERROR "::" : :) identifier (ERROR "<32," < number_literal ,) identifier (ERROR ">," > ,) (call_expression "_(anonymous_namespace)" identifier (argument_list "(anonymous_namespace)" ( identifier ))) (ERROR "::" : :) identifier (ERROR "<32," < number_literal ,) identifier (ERROR ">::" > : :) identifier) , identifier : : identifier < number_literal) , identifier , (ERROR "_false>_>\n               (Symbol_table *symtab,Layout *param_2,Target_powerpc<32,_false> *target,\n               Sized_relobj_file<32,_false> *src_obj,uint src_indx,uchar *prelocs,size_t reloc_count\n               ,Output_section *param_8,bool param_9,size_t param_10,uchar *plocal_syms)\n\n{\n  _Rb_tree_header" (function_declarator "_false>_>\n               (Symbol_table *symtab,Layout *param_2,Target_powerpc<32,_false> *target,\n               Sized_relobj_file<32,_false> *src_obj,uint src_indx,uchar *prelocs,size_t reloc_count\n               ,Output_section *param_8,bool param_9,size_t param_10,uchar *plocal_syms)" identifier (ERROR ">_>" > identifier >) (parameter_list "(Symbol_table *symtab,Layout *param_2,Target_powerpc<32,_false> *target,\n               Sized_relobj_file<32,_false> *src_obj,uint src_indx,uchar *prelocs,size_t reloc_count\n               ,Output_section *param_8,bool param_9,size_t param_10,uchar *plocal_syms)" ( (parameter_declaration "Symbol_table *symtab" type_identifier (pointer_declarator "*symtab" * identifier)) , (parameter_declaration "Layout *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "Target_powerpc" type_identifier) (ERROR "<32" < number_literal) , (parameter_declaration "_false> *target" type_identifier (ERROR ">" >) (pointer_declarator "*target" * identifier)) , (parameter_declaration "Sized_relobj_file" type_identifier) (ERROR "<32" < number_literal) , (parameter_declaration "_false> *src_obj" type_identifier (ERROR ">" >) (pointer_declarator "*src_obj" * identifier)) , (parameter_declaration "uint src_indx" type_identifier identifier) , (parameter_declaration "uchar *prelocs" type_identifier (pointer_declarator "*prelocs" * identifier)) , (parameter_declaration "size_t reloc_count" primitive_type identifier) , (parameter_declaration "Output_section *param_8" type_identifier (pointer_declarator "*param_8" * identifier)) , (parameter_declaration "bool param_9" primitive_type identifier) , (parameter_declaration "size_t param_10" primitive_type identifier) , (parameter_declaration "uchar *plocal_syms" type_identifier (pointer_declarator "*plocal_syms" * identifier)) ))) { identifier) (pointer_declarator "*p_Var1" * identifier) ;) (declaration "_Base_ptr *pp_Var2;" type_identifier (pointer_declarator "*pp_Var2" * identifier) ;) (declaration "ushort uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "iterator iVar6;" type_identifier identifier ;) (declaration "Garbage_collection *pGVar7;" type_identifier (pointer_declarator "*pGVar7" * identifier) ;) (declaration "_Base_ptr p_Var8;" type_identifier identifier ;) (declaration "Target *pTVar9;" type_identifier (pointer_declarator "*pTVar9" * identifier) ;) (declaration "_Base_ptr p_Var10;" type_identifier identifier ;) (declaration "_func_int_varargs **pp_Var11;" type_identifier (pointer_declarator "**pp_Var11" * (pointer_declarator "*pp_Var11" * identifier)) ;) (declaration "iterator __position;" type_identifier identifier ;) (declaration "code *pcVar12;" type_identifier (pointer_declarator "*pcVar12" * identifier) ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "char cVar14;" primitive_type identifier ;) (declaration "ulong to;" type_identifier identifier ;) (declaration "const_iterator cVar15;" type_identifier identifier ;) (declaration "size_t sVar16;" primitive_type identifier ;) (declaration "iterator iVar17;" type_identifier identifier ;) (declaration "_Base_ptr p_Var18;" type_identifier identifier ;) (expression_statement "Output_data_brlt_powerpc<32,_false> *this;" (update_expression "Output_data_brlt_powerpc<32,_false> *this" (binary_expression "Output_data_brlt_powerpc<32,_false> *this" (binary_expression "Output_data_brlt_powerpc<32" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*this" * identifier)) --) ;) (declaration "uint shndx;" type_identifier identifier ;) (declaration "long lVar19;" (sized_type_specifier "long" long) identifier ;) (declaration "byte bVar20;" type_identifier identifier ;) (declaration "pointer pcVar21;" type_identifier identifier ;) (declaration "byte bVar22;" type_identifier identifier ;) (declaration "uint uVar23;" type_identifier identifier ;) (declaration "byte *pbVar24;" type_identifier (pointer_declarator "*pbVar24" * identifier) ;) (declaration "_func_int_varargs **pp_Var25;" type_identifier (pointer_declarator "**pp_Var25" * (pointer_declarator "*pp_Var25" * identifier)) ;) (declaration "_Alloc_hider _Var26;" type_identifier identifier ;) (declaration "Relobj *pRVar27;" type_identifier (pointer_declarator "*pRVar27" * identifier) ;) (declaration "undefined4 in_register_00000084;" type_identifier identifier ;) (declaration "ulong uVar28;" type_identifier identifier ;) (declaration "uint uVar29;" type_identifier identifier ;) (declaration "Output_segment *pOVar30;" type_identifier (pointer_declarator "*pOVar30" * identifier) ;) (declaration "undefined1 uVar31;" type_identifier identifier ;) (declaration "bool bVar32;" primitive_type identifier ;) (declaration "bool bVar33;" primitive_type identifier ;) (declaration "bool bVar34;" primitive_type identifier ;) (declaration "undefined1 uVar35;" type_identifier identifier ;) (declaration "bool bVar36;" primitive_type identifier ;) (declaration "byte bVar37;" type_identifier identifier ;) (declaration "Reloc_addend_size_info *local_188;" type_identifier (pointer_declarator "*local_188" * identifier) ;) (declaration "Addend_info *local_180;" type_identifier (pointer_declarator "*local_180" * identifier) ;) (declaration "mapped_type *local_178;" type_identifier (pointer_declarator "*local_178" * identifier) ;) (declaration "Symbol_info *local_170;" type_identifier (pointer_declarator "*local_170" * identifier) ;) (declaration "Offset_info *local_168;" type_identifier (pointer_declarator "*local_168" * identifier) ;) (declaration "_func_int_varargs **local_158;" type_identifier (pointer_declarator "**local_158" * (pointer_declarator "*local_158" * identifier)) ;) (declaration "uint local_150;" type_identifier identifier ;) (declaration "char local_136;" primitive_type identifier ;) (declaration "uint local_134;" type_identifier identifier ;) (declaration "uint *local_128;" type_identifier (pointer_declarator "*local_128" * identifier) ;) (declaration "uchar *local_120;" type_identifier (pointer_declarator "*local_120" * identifier) ;) (expression_statement "tuple<> local_10a;" (update_expression "tuple<> local_10a" (binary_expression "tuple<> local_10a" identifier < (ERROR ">" >) identifier) --) ;) (expression_statement "tuple<> local_109;" (update_expression "tuple<> local_109" (binary_expression "tuple<> local_109" identifier < (ERROR ">" >) identifier) --) ;) (declaration "__node_gen_type __node_gen_2;" type_identifier identifier ;) (declaration "__node_gen_type __node_gen_3;" type_identifier identifier ;) (declaration "__node_gen_type __node_gen;" type_identifier identifier ;) (declaration "__node_gen_type __node_gen_1;" type_identifier identifier ;) (ERROR "_Head_base<0," (binary_expression "_Head_base<0" identifier < number_literal) ,) (labeled_statement "_const_std::pair<gold::Relobj*,_unsigned_int>&,_false> local_e8;" statement_identifier (ERROR "::pair<gold:" : : (binary_expression "pair<gold" identifier < identifier) :) : (expression_statement "Relobj*,_unsigned_int>&,_false> local_e8;" (binary_expression "Relobj*,_unsigned_int>&,_false> local_e8" (binary_expression "Relobj*,_unsigned_int>&,_false" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > (pointer_expression "&,_false" & (ERROR "," ,) identifier)) > identifier) ;)) (ERROR "_Head_base<0," (binary_expression "_Head_base<0" identifier < number_literal) ,) (labeled_statement "_const_std::pair<gold::Relobj*,_unsigned_int>&,_false> local_e0;" statement_identifier (ERROR "::pair<gold:" : : (binary_expression "pair<gold" identifier < identifier) :) : (expression_statement "Relobj*,_unsigned_int>&,_false> local_e0;" (binary_expression "Relobj*,_unsigned_int>&,_false> local_e0" (binary_expression "Relobj*,_unsigned_int>&,_false" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > (pointer_expression "&,_false" & (ERROR "," ,) identifier)) > identifier) ;)) (declaration "Output_segment *local_d8;" type_identifier (pointer_declarator "*local_d8" * identifier) ;) (declaration "uint local_d0;" type_identifier identifier ;) (expression_statement "Target_powerpc<32,_false> *local_c8;" (update_expression "Target_powerpc<32,_false> *local_c8" (binary_expression "Target_powerpc<32,_false> *local_c8" (binary_expression "Target_powerpc<32" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*local_c8" * identifier)) --) ;) (declaration "uint local_c0;" type_identifier identifier ;) (declaration "Section_id src_id_2;" type_identifier identifier ;) (declaration "Section_id dst_id;" type_identifier identifier ;) (declaration "Scan scan;" type_identifier identifier ;) (declaration "string src_section_name;" type_identifier identifier ;) (declaration "Section_id src_id;" type_identifier identifier ;) (expression_statement "local_128 = (uint *)CONCAT44(in_register_00000084,src_indx);" (assignment_expression "local_128 = (uint *)CONCAT44(in_register_00000084,src_indx)" identifier = (cast_expression "(uint *)CONCAT44(in_register_00000084,src_indx)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT44(in_register_00000084,src_indx)" identifier (argument_list "(in_register_00000084,src_indx)" ( identifier , identifier ))))) ;) (expression_statement "bVar37 = 0;" (assignment_expression "bVar37 = 0" identifier = number_literal) ;) (expression_statement "shndx = (uint)src_obj;" (assignment_expression "shndx = (uint)src_obj" identifier = (cast_expression "(uint)src_obj" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00192fa2 to 00192fa6 has its CatchHandler @ 00192fdf */\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                    /* try { // try from 00192fa2 to 00192fa6 has its CatchHandler @ 00192fdf */\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 (parameters->options_->icf_status_ == ICF_NONE) {\n    src_section_name._M_dataplus._M_p = (pointer)&src_section_name.field_2;\n                    /* try { // try from 00192ecc to 00192eeb has its CatchHandler @ 00192fdf */\n    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char_const*>(&src_section_name,"");\n  }\n  else if (*(code **)(*(long *)target + 0x80) == Sized_relobj_file<32,_false>::do_section_name) {\n                    /* try { // try from 001922c4 to 001922c8 has its CatchHandler @ 00192fdf */\n    elfcpp::Elf_file<32,_false,_gold::Object>::section_name\n              (&src_section_name,(Elf_file<32,_false,_gold::Object> *)&target->tocsave_loc_,shndx);\n  }\n  else {\n    (**(code **)(*(long *)target + 0x80))(&src_section_name,target,(ulong)src_obj & 0xffffffff);\n  }" if (parenthesized_expression "(parameters->options_->icf_status_ == ICF_NONE)" ( (binary_expression "parameters->options_->icf_status_ == ICF_NONE" (field_expression "parameters->options_->icf_status_" (field_expression "parameters->options_" identifier -> field_identifier) -> field_identifier) == identifier) )) (compound_statement "{\n    src_section_name._M_dataplus._M_p = (pointer)&src_section_name.field_2;\n                    /* try { // try from 00192ecc to 00192eeb has its CatchHandler @ 00192fdf */\n    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char_const*>(&src_section_name,"");\n  }" { (expression_statement "src_section_name._M_dataplus._M_p = (pointer)&src_section_name.field_2;" (assignment_expression "src_section_name._M_dataplus._M_p = (pointer)&src_section_name.field_2" (field_expression "src_section_name._M_dataplus._M_p" (field_expression "src_section_name._M_dataplus" identifier . field_identifier) . field_identifier) = (binary_expression "(pointer)&src_section_name.field_2" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "src_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*>(&src_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*>(&src_section_name,"");" (binary_expression "_M_construct<char_const*>(&src_section_name,"")" (binary_expression "_M_construct<char_const" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "(&src_section_name,"")" ( (comma_expression "&src_section_name,""" (pointer_expression "&src_section_name" & identifier) , (string_literal """" " ")) ))) ;)) }) (else_clause "else if (*(code **)(*(long *)target + 0x80) == Sized_relobj_file<32,_false>::do_section_name) {\n                    /* try { // try from 001922c4 to 001922c8 has its CatchHandler @ 00192fdf */\n    elfcpp::Elf_file<32,_false,_gold::Object>::section_name\n              (&src_section_name,(Elf_file<32,_false,_gold::Object> *)&target->tocsave_loc_,shndx);\n  }\n  else {\n    (**(code **)(*(long *)target + 0x80))(&src_section_name,target,(ulong)src_obj & 0xffffffff);\n  }" else (if_statement "if (*(code **)(*(long *)target + 0x80) == Sized_relobj_file<32,_false>::do_section_name) {\n                    /* try { // try from 001922c4 to 001922c8 has its CatchHandler @ 00192fdf */\n    elfcpp::Elf_file<32,_false,_gold::Object>::section_name\n              (&src_section_name,(Elf_file<32,_false,_gold::Object> *)&target->tocsave_loc_,shndx);\n  }\n  else {\n    (**(code **)(*(long *)target + 0x80))(&src_section_name,target,(ulong)src_obj & 0xffffffff);\n  }" if (parenthesized_expression "(*(code **)(*(long *)target + 0x80) == Sized_relobj_file<32,_false>::do_section_name)" ( (comma_expression "*(code **)(*(long *)target + 0x80) == Sized_relobj_file<32,_false>::do_section_name" (binary_expression "*(code **)(*(long *)target + 0x80) == Sized_relobj_file<32" (pointer_expression "*(code **)(*(long *)target + 0x80)" * (cast_expression "(code **)(*(long *)target + 0x80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)target + 0x80)" ( (binary_expression "*(long *)target + 0x80" (pointer_expression "*(long *)target" * (cast_expression "(long *)target" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) == (binary_expression "Sized_relobj_file<32" identifier < number_literal)) , (binary_expression "_false>::do_section_name" identifier > (ERROR "::" : :) identifier)) )) (compound_statement "{\n                    /* try { // try from 001922c4 to 001922c8 has its CatchHandler @ 00192fdf */\n    elfcpp::Elf_file<32,_false,_gold::Object>::section_name\n              (&src_section_name,(Elf_file<32,_false,_gold::Object> *)&target->tocsave_loc_,shndx);\n  }" { comment (labeled_statement "elfcpp::Elf_file<32,_false,_gold::Object>::section_name\n              (&src_section_name,(Elf_file<32,_false,_gold::Object> *)&target->tocsave_loc_,shndx);" statement_identifier (ERROR "::Elf_file<32,_false,_gold::Object>:" : : (comma_expression "Elf_file<32,_false,_gold" (binary_expression "Elf_file<32" identifier < number_literal) , (comma_expression "_false,_gold" identifier , identifier)) : : identifier > :) : (expression_statement "section_name\n              (&src_section_name,(Elf_file<32,_false,_gold::Object> *)&target->tocsave_loc_,shndx);" (call_expression "section_name\n              (&src_section_name,(Elf_file<32,_false,_gold::Object> *)&target->tocsave_loc_,shndx)" identifier (argument_list "(&src_section_name,(Elf_file<32,_false,_gold::Object> *)&target->tocsave_loc_,shndx)" ( (pointer_expression "&src_section_name" & identifier) , (binary_expression "(Elf_file<32,_false,_gold::Object> *)&target->tocsave_loc_" (parenthesized_expression "(Elf_file<32,_false,_gold::Object> *)" ( (ERROR "Elf_file<32,_false,_gold::" (comma_expression "Elf_file<32,_false,_gold" (binary_expression "Elf_file<32" identifier < number_literal) , (comma_expression "_false,_gold" identifier , identifier)) : :) (binary_expression "Object> *" identifier > (pointer_expression "*" * identifier)) )) & (field_expression "target->tocsave_loc_" identifier -> field_identifier)) , identifier ))) ;)) }) (else_clause "else {\n    (**(code **)(*(long *)target + 0x80))(&src_section_name,target,(ulong)src_obj & 0xffffffff);\n  }" else (compound_statement "{\n    (**(code **)(*(long *)target + 0x80))(&src_section_name,target,(ulong)src_obj & 0xffffffff);\n  }" { (expression_statement "(**(code **)(*(long *)target + 0x80))(&src_section_name,target,(ulong)src_obj & 0xffffffff);" (call_expression "(**(code **)(*(long *)target + 0x80))(&src_section_name,target,(ulong)src_obj & 0xffffffff)" (parenthesized_expression "(**(code **)(*(long *)target + 0x80))" ( (pointer_expression "**(code **)(*(long *)target + 0x80)" * (pointer_expression "*(code **)(*(long *)target + 0x80)" * (cast_expression "(code **)(*(long *)target + 0x80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)target + 0x80)" ( (binary_expression "*(long *)target + 0x80" (pointer_expression "*(long *)target" * (cast_expression "(long *)target" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) )) (argument_list "(&src_section_name,target,(ulong)src_obj & 0xffffffff)" ( (pointer_expression "&src_section_name" & identifier) , identifier , (binary_expression "(ulong)src_obj & 0xffffffff" (cast_expression "(ulong)src_obj" ( (type_descriptor "ulong" type_identifier) ) identifier) & number_literal) ))) ;) }))))) (expression_statement "_Var26._M_p = src_section_name._M_dataplus._M_p;" (assignment_expression "_Var26._M_p = src_section_name._M_dataplus._M_p" (field_expression "_Var26._M_p" identifier . field_identifier) = (field_expression "src_section_name._M_dataplus._M_p" (field_expression "src_section_name._M_dataplus" identifier . field_identifier) . field_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 ") ))) ;) })) (if_statement "if (parameters->options_->icf_status_ == ICF_NONE) {\nLAB_001922eb:\n    bVar34 = false;\n    local_188 = (Reloc_addend_size_info *)0x0;\n    local_168 = (Offset_info *)0x0;\n    local_180 = (Addend_info *)0x0;\n    local_170 = (Symbol_info *)0x0;\n    local_178 = (mapped_type *)0x0;\n  }\n  else {\n    pcVar21 = (pointer)0xffffffffffffffff;\n    src_id.first = (Relobj *)&stack0xffffffffffffffb8;\n    uVar31 = 0;\n    uVar35 = src_section_name._M_dataplus._M_p == (pointer)0x0;\n    if (!(bool)uVar35) {\n      sVar16 = strlen(src_section_name._M_dataplus._M_p);\n      pcVar21 = _Var26._M_p + sVar16;\n    }\n    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char_const*>\n              ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&src_id,\n               _Var26._M_p,pcVar21);\n    lVar19 = 5;\n    pbVar24 = (byte *)".text";\n    pRVar27 = src_id.first;\n    do {\n      if (lVar19 == 0) break;\n      lVar19 = lVar19 + -1;\n      bVar22 = *(byte *)&(pRVar27->super_Object)._vptr_Object;\n      uVar31 = *pbVar24 < bVar22;\n      uVar35 = *pbVar24 == bVar22;\n      pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n      pRVar27 = (Relobj *)((long)pRVar27 + (ulong)bVar37 * -2 + 1);\n    } while ((bool)uVar35);\n    bVar34 = false;\n    bVar32 = (!(bool)uVar31 && !(bool)uVar35) == (bool)uVar31;\n    if (!bVar32) {\n      lVar19 = 0xf;\n      pbVar24 = (byte *)".gnu.linkonce.t";\n      pRVar27 = src_id.first;\n      do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar22 = *(byte *)&(pRVar27->super_Object)._vptr_Object;\n        bVar34 = *pbVar24 < bVar22;\n        bVar32 = *pbVar24 == bVar22;\n        pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n        pRVar27 = (Relobj *)((long)pRVar27 + (ulong)bVar37 * -2 + 1);\n      } while (bVar32);\n      if ((!bVar34 && !bVar32) != bVar34) {\n        if (src_id.first != (Relobj *)&stack0xffffffffffffffb8) {\n          operator_delete(src_id.first);\n        }\n        goto LAB_001922eb;\n      }\n    }\n    if (src_id.first != (Relobj *)&stack0xffffffffffffffb8) {\n      operator_delete(src_id.first);\n    }\n    src_id.second = shndx;\n    src_id.first = (Relobj *)target;\n    local_178 = std::__detail::\n                _Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>_>,_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>,_true>\n                ::operator[]((_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>_>,_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>,_true>\n                              *)&symtab->icf_->reloc_info_list_,(key_type *)&src_id);\n    local_170 = &local_178->symbol_info;\n    local_180 = &local_178->addend_info;\n    local_168 = &local_178->offset_info;\n    local_188 = &local_178->reloc_addend_size_info;\n    bVar34 = true;\n  }" if (parenthesized_expression "(parameters->options_->icf_status_ == ICF_NONE)" ( (binary_expression "parameters->options_->icf_status_ == ICF_NONE" (field_expression "parameters->options_->icf_status_" (field_expression "parameters->options_" identifier -> field_identifier) -> field_identifier) == identifier) )) (compound_statement "{\nLAB_001922eb:\n    bVar34 = false;\n    local_188 = (Reloc_addend_size_info *)0x0;\n    local_168 = (Offset_info *)0x0;\n    local_180 = (Addend_info *)0x0;\n    local_170 = (Symbol_info *)0x0;\n    local_178 = (mapped_type *)0x0;\n  }" { (labeled_statement "LAB_001922eb:\n    bVar34 = false;" statement_identifier : (expression_statement "bVar34 = false;" (assignment_expression "bVar34 = false" identifier = false) ;)) (expression_statement "local_188 = (Reloc_addend_size_info *)0x0;" (assignment_expression "local_188 = (Reloc_addend_size_info *)0x0" identifier = (cast_expression "(Reloc_addend_size_info *)0x0" ( (type_descriptor "Reloc_addend_size_info *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_168 = (Offset_info *)0x0;" (assignment_expression "local_168 = (Offset_info *)0x0" identifier = (cast_expression "(Offset_info *)0x0" ( (type_descriptor "Offset_info *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_180 = (Addend_info *)0x0;" (assignment_expression "local_180 = (Addend_info *)0x0" identifier = (cast_expression "(Addend_info *)0x0" ( (type_descriptor "Addend_info *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_170 = (Symbol_info *)0x0;" (assignment_expression "local_170 = (Symbol_info *)0x0" identifier = (cast_expression "(Symbol_info *)0x0" ( (type_descriptor "Symbol_info *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_178 = (mapped_type *)0x0;" (assignment_expression "local_178 = (mapped_type *)0x0" identifier = (cast_expression "(mapped_type *)0x0" ( (type_descriptor "mapped_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    pcVar21 = (pointer)0xffffffffffffffff;\n    src_id.first = (Relobj *)&stack0xffffffffffffffb8;\n    uVar31 = 0;\n    uVar35 = src_section_name._M_dataplus._M_p == (pointer)0x0;\n    if (!(bool)uVar35) {\n      sVar16 = strlen(src_section_name._M_dataplus._M_p);\n      pcVar21 = _Var26._M_p + sVar16;\n    }\n    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char_const*>\n              ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&src_id,\n               _Var26._M_p,pcVar21);\n    lVar19 = 5;\n    pbVar24 = (byte *)".text";\n    pRVar27 = src_id.first;\n    do {\n      if (lVar19 == 0) break;\n      lVar19 = lVar19 + -1;\n      bVar22 = *(byte *)&(pRVar27->super_Object)._vptr_Object;\n      uVar31 = *pbVar24 < bVar22;\n      uVar35 = *pbVar24 == bVar22;\n      pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n      pRVar27 = (Relobj *)((long)pRVar27 + (ulong)bVar37 * -2 + 1);\n    } while ((bool)uVar35);\n    bVar34 = false;\n    bVar32 = (!(bool)uVar31 && !(bool)uVar35) == (bool)uVar31;\n    if (!bVar32) {\n      lVar19 = 0xf;\n      pbVar24 = (byte *)".gnu.linkonce.t";\n      pRVar27 = src_id.first;\n      do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar22 = *(byte *)&(pRVar27->super_Object)._vptr_Object;\n        bVar34 = *pbVar24 < bVar22;\n        bVar32 = *pbVar24 == bVar22;\n        pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n        pRVar27 = (Relobj *)((long)pRVar27 + (ulong)bVar37 * -2 + 1);\n      } while (bVar32);\n      if ((!bVar34 && !bVar32) != bVar34) {\n        if (src_id.first != (Relobj *)&stack0xffffffffffffffb8) {\n          operator_delete(src_id.first);\n        }\n        goto LAB_001922eb;\n      }\n    }\n    if (src_id.first != (Relobj *)&stack0xffffffffffffffb8) {\n      operator_delete(src_id.first);\n    }\n    src_id.second = shndx;\n    src_id.first = (Relobj *)target;\n    local_178 = std::__detail::\n                _Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>_>,_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>,_true>\n                ::operator[]((_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>_>,_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>,_true>\n                              *)&symtab->icf_->reloc_info_list_,(key_type *)&src_id);\n    local_170 = &local_178->symbol_info;\n    local_180 = &local_178->addend_info;\n    local_168 = &local_178->offset_info;\n    local_188 = &local_178->reloc_addend_size_info;\n    bVar34 = true;\n  }" else (compound_statement "{\n    pcVar21 = (pointer)0xffffffffffffffff;\n    src_id.first = (Relobj *)&stack0xffffffffffffffb8;\n    uVar31 = 0;\n    uVar35 = src_section_name._M_dataplus._M_p == (pointer)0x0;\n    if (!(bool)uVar35) {\n      sVar16 = strlen(src_section_name._M_dataplus._M_p);\n      pcVar21 = _Var26._M_p + sVar16;\n    }\n    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char_const*>\n              ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&src_id,\n               _Var26._M_p,pcVar21);\n    lVar19 = 5;\n    pbVar24 = (byte *)".text";\n    pRVar27 = src_id.first;\n    do {\n      if (lVar19 == 0) break;\n      lVar19 = lVar19 + -1;\n      bVar22 = *(byte *)&(pRVar27->super_Object)._vptr_Object;\n      uVar31 = *pbVar24 < bVar22;\n      uVar35 = *pbVar24 == bVar22;\n      pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n      pRVar27 = (Relobj *)((long)pRVar27 + (ulong)bVar37 * -2 + 1);\n    } while ((bool)uVar35);\n    bVar34 = false;\n    bVar32 = (!(bool)uVar31 && !(bool)uVar35) == (bool)uVar31;\n    if (!bVar32) {\n      lVar19 = 0xf;\n      pbVar24 = (byte *)".gnu.linkonce.t";\n      pRVar27 = src_id.first;\n      do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar22 = *(byte *)&(pRVar27->super_Object)._vptr_Object;\n        bVar34 = *pbVar24 < bVar22;\n        bVar32 = *pbVar24 == bVar22;\n        pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n        pRVar27 = (Relobj *)((long)pRVar27 + (ulong)bVar37 * -2 + 1);\n      } while (bVar32);\n      if ((!bVar34 && !bVar32) != bVar34) {\n        if (src_id.first != (Relobj *)&stack0xffffffffffffffb8) {\n          operator_delete(src_id.first);\n        }\n        goto LAB_001922eb;\n      }\n    }\n    if (src_id.first != (Relobj *)&stack0xffffffffffffffb8) {\n      operator_delete(src_id.first);\n    }\n    src_id.second = shndx;\n    src_id.first = (Relobj *)target;\n    local_178 = std::__detail::\n                _Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>_>,_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>,_true>\n                ::operator[]((_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>_>,_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>,_true>\n                              *)&symtab->icf_->reloc_info_list_,(key_type *)&src_id);\n    local_170 = &local_178->symbol_info;\n    local_180 = &local_178->addend_info;\n    local_168 = &local_178->offset_info;\n    local_188 = &local_178->reloc_addend_size_info;\n    bVar34 = true;\n  }" { (expression_statement "pcVar21 = (pointer)0xffffffffffffffff;" (assignment_expression "pcVar21 = (pointer)0xffffffffffffffff" identifier = (cast_expression "(pointer)0xffffffffffffffff" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "src_id.first = (Relobj *)&stack0xffffffffffffffb8;" (assignment_expression "src_id.first = (Relobj *)&stack0xffffffffffffffb8" (field_expression "src_id.first" identifier . field_identifier) = (cast_expression "(Relobj *)&stack0xffffffffffffffb8" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&stack0xffffffffffffffb8" & identifier))) ;) (expression_statement "uVar31 = 0;" (assignment_expression "uVar31 = 0" identifier = number_literal) ;) (expression_statement "uVar35 = src_section_name._M_dataplus._M_p == (pointer)0x0;" (assignment_expression "uVar35 = src_section_name._M_dataplus._M_p == (pointer)0x0" identifier = (binary_expression "src_section_name._M_dataplus._M_p == (pointer)0x0" (field_expression "src_section_name._M_dataplus._M_p" (field_expression "src_section_name._M_dataplus" identifier . field_identifier) . field_identifier) == (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal))) ;) (if_statement "if (!(bool)uVar35) {\n      sVar16 = strlen(src_section_name._M_dataplus._M_p);\n      pcVar21 = _Var26._M_p + sVar16;\n    }" if (parenthesized_expression "(!(bool)uVar35)" ( (unary_expression "!(bool)uVar35" ! (cast_expression "(bool)uVar35" ( (type_descriptor "bool" primitive_type) ) identifier)) )) (compound_statement "{\n      sVar16 = strlen(src_section_name._M_dataplus._M_p);\n      pcVar21 = _Var26._M_p + sVar16;\n    }" { (expression_statement "sVar16 = strlen(src_section_name._M_dataplus._M_p);" (assignment_expression "sVar16 = strlen(src_section_name._M_dataplus._M_p)" identifier = (call_expression "strlen(src_section_name._M_dataplus._M_p)" identifier (argument_list "(src_section_name._M_dataplus._M_p)" ( (field_expression "src_section_name._M_dataplus._M_p" (field_expression "src_section_name._M_dataplus" identifier . field_identifier) . field_identifier) )))) ;) (expression_statement "pcVar21 = _Var26._M_p + sVar16;" (assignment_expression "pcVar21 = _Var26._M_p + sVar16" identifier = (binary_expression "_Var26._M_p + sVar16" (field_expression "_Var26._M_p" identifier . field_identifier) + identifier)) ;) })) (labeled_statement "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char_const*>\n              ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&src_id,\n               _Var26._M_p,pcVar21);" 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*>\n              ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&src_id,\n               _Var26._M_p,pcVar21);" (binary_expression "_M_construct<char_const*>\n              ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&src_id,\n               _Var26._M_p,pcVar21)" (binary_expression "_M_construct<char_const" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&src_id,\n               _Var26._M_p,pcVar21)" ( (comma_expression "(basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&src_id,\n               _Var26._M_p,pcVar21" (binary_expression "(basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&src_id" (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) , (comma_expression "_Var26._M_p,pcVar21" (field_expression "_Var26._M_p" identifier . field_identifier) , identifier)) ))) ;)) (expression_statement "lVar19 = 5;" (assignment_expression "lVar19 = 5" identifier = number_literal) ;) (expression_statement "pbVar24 = (byte *)".text";" (assignment_expression "pbVar24 = (byte *)".text"" identifier = (cast_expression "(byte *)".text"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".text"" " string_content "))) ;) (expression_statement "pRVar27 = src_id.first;" (assignment_expression "pRVar27 = src_id.first" identifier = (field_expression "src_id.first" identifier . field_identifier)) ;) (do_statement "do {\n      if (lVar19 == 0) break;\n      lVar19 = lVar19 + -1;\n      bVar22 = *(byte *)&(pRVar27->super_Object)._vptr_Object;\n      uVar31 = *pbVar24 < bVar22;\n      uVar35 = *pbVar24 == bVar22;\n      pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n      pRVar27 = (Relobj *)((long)pRVar27 + (ulong)bVar37 * -2 + 1);\n    } while ((bool)uVar35);" do (compound_statement "{\n      if (lVar19 == 0) break;\n      lVar19 = lVar19 + -1;\n      bVar22 = *(byte *)&(pRVar27->super_Object)._vptr_Object;\n      uVar31 = *pbVar24 < bVar22;\n      uVar35 = *pbVar24 == bVar22;\n      pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n      pRVar27 = (Relobj *)((long)pRVar27 + (ulong)bVar37 * -2 + 1);\n    }" { (if_statement "if (lVar19 == 0) break;" if (parenthesized_expression "(lVar19 == 0)" ( (binary_expression "lVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar19 = lVar19 + -1;" (assignment_expression "lVar19 = lVar19 + -1" identifier = (binary_expression "lVar19 + -1" identifier + number_literal)) ;) (expression_statement "bVar22 = *(byte *)&(pRVar27->super_Object)._vptr_Object;" (assignment_expression "bVar22 = *(byte *)&(pRVar27->super_Object)._vptr_Object" identifier = (pointer_expression "*(byte *)&(pRVar27->super_Object)._vptr_Object" * (cast_expression "(byte *)&(pRVar27->super_Object)._vptr_Object" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pRVar27->super_Object)._vptr_Object" & (field_expression "(pRVar27->super_Object)._vptr_Object" (parenthesized_expression "(pRVar27->super_Object)" ( (field_expression "pRVar27->super_Object" identifier -> field_identifier) )) . field_identifier))))) ;) (expression_statement "uVar31 = *pbVar24 < bVar22;" (assignment_expression "uVar31 = *pbVar24 < bVar22" identifier = (binary_expression "*pbVar24 < bVar22" (pointer_expression "*pbVar24" * identifier) < identifier)) ;) (expression_statement "uVar35 = *pbVar24 == bVar22;" (assignment_expression "uVar35 = *pbVar24 == bVar22" identifier = (binary_expression "*pbVar24 == bVar22" (pointer_expression "*pbVar24" * identifier) == identifier)) ;) (expression_statement "pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1" identifier = (binary_expression "pbVar24 + (ulong)bVar37 * -2 + 1" (binary_expression "pbVar24 + (ulong)bVar37 * -2" identifier + (binary_expression "(ulong)bVar37 * -2" (cast_expression "(ulong)bVar37" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pRVar27 = (Relobj *)((long)pRVar27 + (ulong)bVar37 * -2 + 1);" (assignment_expression "pRVar27 = (Relobj *)((long)pRVar27 + (ulong)bVar37 * -2 + 1)" identifier = (cast_expression "(Relobj *)((long)pRVar27 + (ulong)bVar37 * -2 + 1)" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pRVar27 + (ulong)bVar37 * -2 + 1)" ( (binary_expression "(long)pRVar27 + (ulong)bVar37 * -2 + 1" (binary_expression "(long)pRVar27 + (ulong)bVar37 * -2" (cast_expression "(long)pRVar27" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "(ulong)bVar37 * -2" (cast_expression "(ulong)bVar37" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) }) while (parenthesized_expression "((bool)uVar35)" ( (cast_expression "(bool)uVar35" ( (type_descriptor "bool" primitive_type) ) identifier) )) ;) (expression_statement "bVar34 = false;" (assignment_expression "bVar34 = false" identifier = false) ;) (expression_statement "bVar32 = (!(bool)uVar31 && !(bool)uVar35) == (bool)uVar31;" (assignment_expression "bVar32 = (!(bool)uVar31 && !(bool)uVar35) == (bool)uVar31" identifier = (binary_expression "(!(bool)uVar31 && !(bool)uVar35) == (bool)uVar31" (parenthesized_expression "(!(bool)uVar31 && !(bool)uVar35)" ( (binary_expression "!(bool)uVar31 && !(bool)uVar35" (unary_expression "!(bool)uVar31" ! (cast_expression "(bool)uVar31" ( (type_descriptor "bool" primitive_type) ) identifier)) && (unary_expression "!(bool)uVar35" ! (cast_expression "(bool)uVar35" ( (type_descriptor "bool" primitive_type) ) identifier))) )) == (cast_expression "(bool)uVar31" ( (type_descriptor "bool" primitive_type) ) identifier))) ;) (if_statement "if (!bVar32) {\n      lVar19 = 0xf;\n      pbVar24 = (byte *)".gnu.linkonce.t";\n      pRVar27 = src_id.first;\n      do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar22 = *(byte *)&(pRVar27->super_Object)._vptr_Object;\n        bVar34 = *pbVar24 < bVar22;\n        bVar32 = *pbVar24 == bVar22;\n        pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n        pRVar27 = (Relobj *)((long)pRVar27 + (ulong)bVar37 * -2 + 1);\n      } while (bVar32);\n      if ((!bVar34 && !bVar32) != bVar34) {\n        if (src_id.first != (Relobj *)&stack0xffffffffffffffb8) {\n          operator_delete(src_id.first);\n        }\n        goto LAB_001922eb;\n      }\n    }" if (parenthesized_expression "(!bVar32)" ( (unary_expression "!bVar32" ! identifier) )) (compound_statement "{\n      lVar19 = 0xf;\n      pbVar24 = (byte *)".gnu.linkonce.t";\n      pRVar27 = src_id.first;\n      do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar22 = *(byte *)&(pRVar27->super_Object)._vptr_Object;\n        bVar34 = *pbVar24 < bVar22;\n        bVar32 = *pbVar24 == bVar22;\n        pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n        pRVar27 = (Relobj *)((long)pRVar27 + (ulong)bVar37 * -2 + 1);\n      } while (bVar32);\n      if ((!bVar34 && !bVar32) != bVar34) {\n        if (src_id.first != (Relobj *)&stack0xffffffffffffffb8) {\n          operator_delete(src_id.first);\n        }\n        goto LAB_001922eb;\n      }\n    }" { (expression_statement "lVar19 = 0xf;" (assignment_expression "lVar19 = 0xf" identifier = number_literal) ;) (expression_statement "pbVar24 = (byte *)".gnu.linkonce.t";" (assignment_expression "pbVar24 = (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 "pRVar27 = src_id.first;" (assignment_expression "pRVar27 = src_id.first" identifier = (field_expression "src_id.first" identifier . field_identifier)) ;) (do_statement "do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar22 = *(byte *)&(pRVar27->super_Object)._vptr_Object;\n        bVar34 = *pbVar24 < bVar22;\n        bVar32 = *pbVar24 == bVar22;\n        pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n        pRVar27 = (Relobj *)((long)pRVar27 + (ulong)bVar37 * -2 + 1);\n      } while (bVar32);" do (compound_statement "{\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar22 = *(byte *)&(pRVar27->super_Object)._vptr_Object;\n        bVar34 = *pbVar24 < bVar22;\n        bVar32 = *pbVar24 == bVar22;\n        pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n        pRVar27 = (Relobj *)((long)pRVar27 + (ulong)bVar37 * -2 + 1);\n      }" { (if_statement "if (lVar19 == 0) break;" if (parenthesized_expression "(lVar19 == 0)" ( (binary_expression "lVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar19 = lVar19 + -1;" (assignment_expression "lVar19 = lVar19 + -1" identifier = (binary_expression "lVar19 + -1" identifier + number_literal)) ;) (expression_statement "bVar22 = *(byte *)&(pRVar27->super_Object)._vptr_Object;" (assignment_expression "bVar22 = *(byte *)&(pRVar27->super_Object)._vptr_Object" identifier = (pointer_expression "*(byte *)&(pRVar27->super_Object)._vptr_Object" * (cast_expression "(byte *)&(pRVar27->super_Object)._vptr_Object" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pRVar27->super_Object)._vptr_Object" & (field_expression "(pRVar27->super_Object)._vptr_Object" (parenthesized_expression "(pRVar27->super_Object)" ( (field_expression "pRVar27->super_Object" identifier -> field_identifier) )) . field_identifier))))) ;) (expression_statement "bVar34 = *pbVar24 < bVar22;" (assignment_expression "bVar34 = *pbVar24 < bVar22" identifier = (binary_expression "*pbVar24 < bVar22" (pointer_expression "*pbVar24" * identifier) < identifier)) ;) (expression_statement "bVar32 = *pbVar24 == bVar22;" (assignment_expression "bVar32 = *pbVar24 == bVar22" identifier = (binary_expression "*pbVar24 == bVar22" (pointer_expression "*pbVar24" * identifier) == identifier)) ;) (expression_statement "pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1" identifier = (binary_expression "pbVar24 + (ulong)bVar37 * -2 + 1" (binary_expression "pbVar24 + (ulong)bVar37 * -2" identifier + (binary_expression "(ulong)bVar37 * -2" (cast_expression "(ulong)bVar37" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pRVar27 = (Relobj *)((long)pRVar27 + (ulong)bVar37 * -2 + 1);" (assignment_expression "pRVar27 = (Relobj *)((long)pRVar27 + (ulong)bVar37 * -2 + 1)" identifier = (cast_expression "(Relobj *)((long)pRVar27 + (ulong)bVar37 * -2 + 1)" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pRVar27 + (ulong)bVar37 * -2 + 1)" ( (binary_expression "(long)pRVar27 + (ulong)bVar37 * -2 + 1" (binary_expression "(long)pRVar27 + (ulong)bVar37 * -2" (cast_expression "(long)pRVar27" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "(ulong)bVar37 * -2" (cast_expression "(ulong)bVar37" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) }) while (parenthesized_expression "(bVar32)" ( identifier )) ;) (if_statement "if ((!bVar34 && !bVar32) != bVar34) {\n        if (src_id.first != (Relobj *)&stack0xffffffffffffffb8) {\n          operator_delete(src_id.first);\n        }\n        goto LAB_001922eb;\n      }" if (parenthesized_expression "((!bVar34 && !bVar32) != bVar34)" ( (binary_expression "(!bVar34 && !bVar32) != bVar34" (parenthesized_expression "(!bVar34 && !bVar32)" ( (binary_expression "!bVar34 && !bVar32" (unary_expression "!bVar34" ! identifier) && (unary_expression "!bVar32" ! identifier)) )) != identifier) )) (compound_statement "{\n        if (src_id.first != (Relobj *)&stack0xffffffffffffffb8) {\n          operator_delete(src_id.first);\n        }\n        goto LAB_001922eb;\n      }" { (if_statement "if (src_id.first != (Relobj *)&stack0xffffffffffffffb8) {\n          operator_delete(src_id.first);\n        }" if (parenthesized_expression "(src_id.first != (Relobj *)&stack0xffffffffffffffb8)" ( (binary_expression "src_id.first != (Relobj *)&stack0xffffffffffffffb8" (field_expression "src_id.first" identifier . field_identifier) != (cast_expression "(Relobj *)&stack0xffffffffffffffb8" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&stack0xffffffffffffffb8" & identifier))) )) (compound_statement "{\n          operator_delete(src_id.first);\n        }" { (expression_statement "operator_delete(src_id.first);" (call_expression "operator_delete(src_id.first)" identifier (argument_list "(src_id.first)" ( (field_expression "src_id.first" identifier . field_identifier) ))) ;) })) (goto_statement "goto LAB_001922eb;" goto statement_identifier ;) })) })) (if_statement "if (src_id.first != (Relobj *)&stack0xffffffffffffffb8) {\n      operator_delete(src_id.first);\n    }" if (parenthesized_expression "(src_id.first != (Relobj *)&stack0xffffffffffffffb8)" ( (binary_expression "src_id.first != (Relobj *)&stack0xffffffffffffffb8" (field_expression "src_id.first" identifier . field_identifier) != (cast_expression "(Relobj *)&stack0xffffffffffffffb8" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&stack0xffffffffffffffb8" & identifier))) )) (compound_statement "{\n      operator_delete(src_id.first);\n    }" { (expression_statement "operator_delete(src_id.first);" (call_expression "operator_delete(src_id.first)" identifier (argument_list "(src_id.first)" ( (field_expression "src_id.first" identifier . field_identifier) ))) ;) })) (expression_statement "src_id.second = shndx;" (assignment_expression "src_id.second = shndx" (field_expression "src_id.second" identifier . field_identifier) = identifier) ;) (expression_statement "src_id.first = (Relobj *)target;" (assignment_expression "src_id.first = (Relobj *)target" (field_expression "src_id.first" identifier . field_identifier) = (cast_expression "(Relobj *)target" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (ERROR "local_178 = std::__detail::\n                _Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::" (assignment_expression "local_178 = std" identifier = identifier) : : (comma_expression "__detail::\n                _Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std" identifier (ERROR "::\n                _Map_base<std::pair<gold::Relobj*,_unsigned_int>" : : (binary_expression "_Map_base<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : identifier * , identifier >) , identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>,_gold" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (comma_expression "Icf::Reloc_info>,_std" identifier (ERROR "::Reloc_info>" : : identifier >) , 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>,_gold" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (comma_expression "Icf::Reloc_info>_>,_std" identifier (ERROR "::Reloc_info>_>" : : (binary_expression "Reloc_info>_" identifier > identifier) >) , 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>,_true>\n                ::operator[]((_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>_>,_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>,_true>\n                              *)&symtab->icf_->reloc_info_list_,(key_type *)&src_id);" 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>,_true>\n                ::operator[]((_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>_>,_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>,_true>\n                              *)&symtab->icf_->reloc_info_list_,(key_type *)&src_id);" 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>,_true>\n                ::operator[]((_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>_>,_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>,_true>\n                              *)&symtab->icf_->reloc_info_list_,(key_type *)&src_id);" statement_identifier (ERROR "::_Prime_rehash_policy,_std:" : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) :) : (labeled_statement "__detail::_Hashtable_traits<true,_false,_true>,_true>\n                ::operator[]((_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>_>,_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>,_true>\n                              *)&symtab->icf_->reloc_info_list_,(key_type *)&src_id);" statement_identifier : (ERROR ":" :) (expression_statement "_Hashtable_traits<true,_false,_true>,_true>\n                ::operator[]((_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>_>,_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>,_true>\n                              *)&symtab->icf_->reloc_info_list_,(key_type *)&src_id);" (comma_expression "_Hashtable_traits<true,_false,_true>,_true>\n                ::operator[]((_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>_>,_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>,_true>\n                              *)&symtab->icf_->reloc_info_list_,(key_type *)&src_id)" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_false,_true>,_true>\n                ::operator[]((_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>_>,_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>,_true>\n                              *)&symtab->icf_->reloc_info_list_,(key_type *)&src_id)" identifier , (binary_expression "_true>,_true>\n                ::operator[]((_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>_>,_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>,_true>\n                              *)&symtab->icf_->reloc_info_list_,(key_type *)&src_id)" (binary_expression "_true>,_true" identifier > (ERROR "," ,) identifier) > (ERROR "::" : :) (call_expression "operator[]((_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>_>,_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>,_true>\n                              *)&symtab->icf_->reloc_info_list_,(key_type *)&src_id)" (subscript_expression "operator[]" identifier [ identifier ]) (argument_list "((_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>_>,_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>,_true>\n                              *)&symtab->icf_->reloc_info_list_,(key_type *)&src_id)" ( (binary_expression "(_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>_>,_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>,_true>\n                              *)&symtab->icf_->reloc_info_list_" (parenthesized_expression "(_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>_>,_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>,_true>\n                              *)" ( (ERROR "_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>_>,_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 "_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>_>,_std::__detail::_Select1st,_std" (binary_expression "_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>_>,_std" (binary_expression "_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>_" (binary_expression "_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold" (binary_expression "_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int" (binary_expression "_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold" (binary_expression "_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std" (binary_expression "_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std" (binary_expression "_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std" (binary_expression "_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold" (binary_expression "_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int" (binary_expression "_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold" (binary_expression "_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std" (binary_expression "_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std" (binary_expression "_Map_base<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "_Map_base<std::pair<gold" (binary_expression "_Map_base<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 "::Icf::Reloc_info" : : identifier : : identifier) > (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) (ERROR "::Icf::Reloc_info" : : identifier : : 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>,_true>\n                              *" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_false,_true>,_true>\n                              *" identifier , (binary_expression "_true>,_true>\n                              *" (binary_expression "_true>,_true" identifier > (ERROR "," ,) identifier) > (pointer_expression "*" * identifier)))) )) & (field_expression "symtab->icf_->reloc_info_list_" (field_expression "symtab->icf_" identifier -> field_identifier) -> field_identifier)) , (cast_expression "(key_type *)&src_id" ( (type_descriptor "key_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&src_id" & identifier)) )))))) ;))))) (expression_statement "local_170 = &local_178->symbol_info;" (assignment_expression "local_170 = &local_178->symbol_info" identifier = (pointer_expression "&local_178->symbol_info" & (field_expression "local_178->symbol_info" identifier -> field_identifier))) ;) (expression_statement "local_180 = &local_178->addend_info;" (assignment_expression "local_180 = &local_178->addend_info" identifier = (pointer_expression "&local_178->addend_info" & (field_expression "local_178->addend_info" identifier -> field_identifier))) ;) (expression_statement "local_168 = &local_178->offset_info;" (assignment_expression "local_168 = &local_178->offset_info" identifier = (pointer_expression "&local_178->offset_info" & (field_expression "local_178->offset_info" identifier -> field_identifier))) ;) (expression_statement "local_188 = &local_178->reloc_addend_size_info;" (assignment_expression "local_188 = &local_178->reloc_addend_size_info" identifier = (pointer_expression "&local_178->reloc_addend_size_info" & (field_expression "local_178->reloc_addend_size_info" identifier -> field_identifier))) ;) (expression_statement "bVar34 = true;" (assignment_expression "bVar34 = true" identifier = true) ;) }))) (if_statement "if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00192fba to 00192fd6 has its CatchHandler @ 00192fd7 */\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                    /* try { // try from 00192fba to 00192fd6 has its CatchHandler @ 00192fd7 */\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 ((parameters->options_->icf_status_ == ICF_SAFE) &&\n     (cVar14 = (**(code **)(*(long *)param_2 + 0x90))(param_2), cVar14 != '\0')) {\n    pcVar12 = *(code **)(*(long *)param_2 + 0x10);\n    if (pcVar12 != Target::section_may_have_icf_unsafe_pointers) {\n                    /* try { // try from 00192f0b to 00192f8e has its CatchHandler @ 00192fd7 */\n      local_136 = (*pcVar12)(param_2,src_section_name._M_dataplus._M_p);\n      goto LAB_0019234a;\n    }\n    pcVar12 = *(code **)(*(long *)param_2 + 0x98);\n    bVar32 = pcVar12 < Target::do_section_may_have_icf_unsafe_pointers;\n    bVar36 = pcVar12 == Target::do_section_may_have_icf_unsafe_pointers;\n    if (!bVar36) {\n      local_136 = (*pcVar12)(param_2,src_section_name._M_dataplus._M_p);\n      goto LAB_0019234a;\n    }\n    lVar19 = 0xc;\n    pbVar24 = (byte *)".rodata._ZTV";\n    _Var26 = src_section_name._M_dataplus;\n    do {\n      if (lVar19 == 0) break;\n      lVar19 = lVar19 + -1;\n      bVar32 = *pbVar24 < (byte)*_Var26._M_p;\n      bVar36 = *pbVar24 == *_Var26._M_p;\n      pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n      _Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1);\n    } while (bVar36);\n    bVar33 = false;\n    bVar32 = (!bVar32 && !bVar36) == bVar32;\n    if (!bVar32) {\n      lVar19 = 0x11;\n      pbVar24 = (byte *)".data.rel.ro._ZTV";\n      _Var26 = src_section_name._M_dataplus;\n      do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar33 = *pbVar24 < (byte)*_Var26._M_p;\n        bVar32 = *pbVar24 == *_Var26._M_p;\n        pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n        _Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1);\n      } while (bVar32);\n      bVar36 = false;\n      bVar32 = (!bVar33 && !bVar32) == bVar33;\n      if (!bVar32) {\n        lVar19 = 0xc;\n        pbVar24 = (byte *)".rodata._ZTC";\n        _Var26 = src_section_name._M_dataplus;\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          bVar36 = *pbVar24 < (byte)*_Var26._M_p;\n          bVar32 = *pbVar24 == *_Var26._M_p;\n          pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n          _Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1);\n        } while (bVar32);\n        bVar33 = false;\n        bVar32 = (!bVar36 && !bVar32) == bVar36;\n        if (!bVar32) {\n          lVar19 = 0x11;\n          pbVar24 = (byte *)".data.rel.ro._ZTC";\n          _Var26 = src_section_name._M_dataplus;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar33 = *pbVar24 < (byte)*_Var26._M_p;\n            bVar32 = *pbVar24 == *_Var26._M_p;\n            pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n            _Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1);\n          } while (bVar32);\n          bVar36 = false;\n          bVar32 = (!bVar33 && !bVar32) == bVar33;\n          if (!bVar32) {\n            lVar19 = 9;\n            pbVar24 = (byte *)".eh_frame";\n            _Var26 = src_section_name._M_dataplus;\n            do {\n              if (lVar19 == 0) break;\n              lVar19 = lVar19 + -1;\n              bVar36 = *pbVar24 < (byte)*_Var26._M_p;\n              bVar32 = *pbVar24 == *_Var26._M_p;\n              pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n              _Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1);\n            } while (bVar32);\n            local_136 = (!bVar36 && !bVar32) != bVar36;\n            goto LAB_0019234a;\n          }\n        }\n      }\n    }\n  }" if (parenthesized_expression "((parameters->options_->icf_status_ == ICF_SAFE) &&\n     (cVar14 = (**(code **)(*(long *)param_2 + 0x90))(param_2), cVar14 != '\0'))" ( (binary_expression "(parameters->options_->icf_status_ == ICF_SAFE) &&\n     (cVar14 = (**(code **)(*(long *)param_2 + 0x90))(param_2), cVar14 != '\0')" (parenthesized_expression "(parameters->options_->icf_status_ == ICF_SAFE)" ( (binary_expression "parameters->options_->icf_status_ == ICF_SAFE" (field_expression "parameters->options_->icf_status_" (field_expression "parameters->options_" identifier -> field_identifier) -> field_identifier) == identifier) )) && (parenthesized_expression "(cVar14 = (**(code **)(*(long *)param_2 + 0x90))(param_2), cVar14 != '\0')" ( (comma_expression "cVar14 = (**(code **)(*(long *)param_2 + 0x90))(param_2), cVar14 != '\0'" (assignment_expression "cVar14 = (**(code **)(*(long *)param_2 + 0x90))(param_2)" identifier = (call_expression "(**(code **)(*(long *)param_2 + 0x90))(param_2)" (parenthesized_expression "(**(code **)(*(long *)param_2 + 0x90))" ( (pointer_expression "**(code **)(*(long *)param_2 + 0x90)" * (pointer_expression "*(code **)(*(long *)param_2 + 0x90)" * (cast_expression "(code **)(*(long *)param_2 + 0x90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)param_2 + 0x90)" ( (binary_expression "*(long *)param_2 + 0x90" (pointer_expression "*(long *)param_2" * (cast_expression "(long *)param_2" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) )) (argument_list "(param_2)" ( identifier )))) , (binary_expression "cVar14 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n    pcVar12 = *(code **)(*(long *)param_2 + 0x10);\n    if (pcVar12 != Target::section_may_have_icf_unsafe_pointers) {\n                    /* try { // try from 00192f0b to 00192f8e has its CatchHandler @ 00192fd7 */\n      local_136 = (*pcVar12)(param_2,src_section_name._M_dataplus._M_p);\n      goto LAB_0019234a;\n    }\n    pcVar12 = *(code **)(*(long *)param_2 + 0x98);\n    bVar32 = pcVar12 < Target::do_section_may_have_icf_unsafe_pointers;\n    bVar36 = pcVar12 == Target::do_section_may_have_icf_unsafe_pointers;\n    if (!bVar36) {\n      local_136 = (*pcVar12)(param_2,src_section_name._M_dataplus._M_p);\n      goto LAB_0019234a;\n    }\n    lVar19 = 0xc;\n    pbVar24 = (byte *)".rodata._ZTV";\n    _Var26 = src_section_name._M_dataplus;\n    do {\n      if (lVar19 == 0) break;\n      lVar19 = lVar19 + -1;\n      bVar32 = *pbVar24 < (byte)*_Var26._M_p;\n      bVar36 = *pbVar24 == *_Var26._M_p;\n      pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n      _Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1);\n    } while (bVar36);\n    bVar33 = false;\n    bVar32 = (!bVar32 && !bVar36) == bVar32;\n    if (!bVar32) {\n      lVar19 = 0x11;\n      pbVar24 = (byte *)".data.rel.ro._ZTV";\n      _Var26 = src_section_name._M_dataplus;\n      do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar33 = *pbVar24 < (byte)*_Var26._M_p;\n        bVar32 = *pbVar24 == *_Var26._M_p;\n        pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n        _Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1);\n      } while (bVar32);\n      bVar36 = false;\n      bVar32 = (!bVar33 && !bVar32) == bVar33;\n      if (!bVar32) {\n        lVar19 = 0xc;\n        pbVar24 = (byte *)".rodata._ZTC";\n        _Var26 = src_section_name._M_dataplus;\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          bVar36 = *pbVar24 < (byte)*_Var26._M_p;\n          bVar32 = *pbVar24 == *_Var26._M_p;\n          pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n          _Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1);\n        } while (bVar32);\n        bVar33 = false;\n        bVar32 = (!bVar36 && !bVar32) == bVar36;\n        if (!bVar32) {\n          lVar19 = 0x11;\n          pbVar24 = (byte *)".data.rel.ro._ZTC";\n          _Var26 = src_section_name._M_dataplus;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar33 = *pbVar24 < (byte)*_Var26._M_p;\n            bVar32 = *pbVar24 == *_Var26._M_p;\n            pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n            _Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1);\n          } while (bVar32);\n          bVar36 = false;\n          bVar32 = (!bVar33 && !bVar32) == bVar33;\n          if (!bVar32) {\n            lVar19 = 9;\n            pbVar24 = (byte *)".eh_frame";\n            _Var26 = src_section_name._M_dataplus;\n            do {\n              if (lVar19 == 0) break;\n              lVar19 = lVar19 + -1;\n              bVar36 = *pbVar24 < (byte)*_Var26._M_p;\n              bVar32 = *pbVar24 == *_Var26._M_p;\n              pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n              _Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1);\n            } while (bVar32);\n            local_136 = (!bVar36 && !bVar32) != bVar36;\n            goto LAB_0019234a;\n          }\n        }\n      }\n    }\n  }" { (expression_statement "pcVar12 = *(code **)(*(long *)param_2 + 0x10);" (assignment_expression "pcVar12 = *(code **)(*(long *)param_2 + 0x10)" identifier = (pointer_expression "*(code **)(*(long *)param_2 + 0x10)" * (cast_expression "(code **)(*(long *)param_2 + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)param_2 + 0x10)" ( (binary_expression "*(long *)param_2 + 0x10" (pointer_expression "*(long *)param_2" * (cast_expression "(long *)param_2" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) ;) (if_statement "if (pcVar12 != Target::section_may_have_icf_unsafe_pointers) {\n                    /* try { // try from 00192f0b to 00192f8e has its CatchHandler @ 00192fd7 */\n      local_136 = (*pcVar12)(param_2,src_section_name._M_dataplus._M_p);\n      goto LAB_0019234a;\n    }" if (parenthesized_expression "(pcVar12 != Target::section_may_have_icf_unsafe_pointers)" ( (ERROR "pcVar12 != Target::" (binary_expression "pcVar12 != Target" identifier != identifier) : :) identifier )) (compound_statement "{\n                    /* try { // try from 00192f0b to 00192f8e has its CatchHandler @ 00192fd7 */\n      local_136 = (*pcVar12)(param_2,src_section_name._M_dataplus._M_p);\n      goto LAB_0019234a;\n    }" { comment (expression_statement "local_136 = (*pcVar12)(param_2,src_section_name._M_dataplus._M_p);" (assignment_expression "local_136 = (*pcVar12)(param_2,src_section_name._M_dataplus._M_p)" identifier = (call_expression "(*pcVar12)(param_2,src_section_name._M_dataplus._M_p)" (parenthesized_expression "(*pcVar12)" ( (pointer_expression "*pcVar12" * identifier) )) (argument_list "(param_2,src_section_name._M_dataplus._M_p)" ( identifier , (field_expression "src_section_name._M_dataplus._M_p" (field_expression "src_section_name._M_dataplus" identifier . field_identifier) . field_identifier) )))) ;) (goto_statement "goto LAB_0019234a;" goto statement_identifier ;) })) (expression_statement "pcVar12 = *(code **)(*(long *)param_2 + 0x98);" (assignment_expression "pcVar12 = *(code **)(*(long *)param_2 + 0x98)" identifier = (pointer_expression "*(code **)(*(long *)param_2 + 0x98)" * (cast_expression "(code **)(*(long *)param_2 + 0x98)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)param_2 + 0x98)" ( (binary_expression "*(long *)param_2 + 0x98" (pointer_expression "*(long *)param_2" * (cast_expression "(long *)param_2" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) ;) (ERROR "bVar32 = pcVar12 < Target::" (assignment_expression "bVar32 = pcVar12 < Target" identifier = (binary_expression "pcVar12 < Target" identifier < identifier)) : :) (expression_statement "do_section_may_have_icf_unsafe_pointers;" identifier ;) (ERROR "bVar36 = pcVar12 == Target::" (assignment_expression "bVar36 = pcVar12 == Target" identifier = (binary_expression "pcVar12 == Target" identifier == identifier)) : :) (expression_statement "do_section_may_have_icf_unsafe_pointers;" identifier ;) (if_statement "if (!bVar36) {\n      local_136 = (*pcVar12)(param_2,src_section_name._M_dataplus._M_p);\n      goto LAB_0019234a;\n    }" if (parenthesized_expression "(!bVar36)" ( (unary_expression "!bVar36" ! identifier) )) (compound_statement "{\n      local_136 = (*pcVar12)(param_2,src_section_name._M_dataplus._M_p);\n      goto LAB_0019234a;\n    }" { (expression_statement "local_136 = (*pcVar12)(param_2,src_section_name._M_dataplus._M_p);" (assignment_expression "local_136 = (*pcVar12)(param_2,src_section_name._M_dataplus._M_p)" identifier = (call_expression "(*pcVar12)(param_2,src_section_name._M_dataplus._M_p)" (parenthesized_expression "(*pcVar12)" ( (pointer_expression "*pcVar12" * identifier) )) (argument_list "(param_2,src_section_name._M_dataplus._M_p)" ( identifier , (field_expression "src_section_name._M_dataplus._M_p" (field_expression "src_section_name._M_dataplus" identifier . field_identifier) . field_identifier) )))) ;) (goto_statement "goto LAB_0019234a;" goto statement_identifier ;) })) (expression_statement "lVar19 = 0xc;" (assignment_expression "lVar19 = 0xc" identifier = number_literal) ;) (expression_statement "pbVar24 = (byte *)".rodata._ZTV";" (assignment_expression "pbVar24 = (byte *)".rodata._ZTV"" identifier = (cast_expression "(byte *)".rodata._ZTV"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".rodata._ZTV"" " string_content "))) ;) (expression_statement "_Var26 = src_section_name._M_dataplus;" (assignment_expression "_Var26 = src_section_name._M_dataplus" identifier = (field_expression "src_section_name._M_dataplus" identifier . field_identifier)) ;) (do_statement "do {\n      if (lVar19 == 0) break;\n      lVar19 = lVar19 + -1;\n      bVar32 = *pbVar24 < (byte)*_Var26._M_p;\n      bVar36 = *pbVar24 == *_Var26._M_p;\n      pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n      _Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1);\n    } while (bVar36);" do (compound_statement "{\n      if (lVar19 == 0) break;\n      lVar19 = lVar19 + -1;\n      bVar32 = *pbVar24 < (byte)*_Var26._M_p;\n      bVar36 = *pbVar24 == *_Var26._M_p;\n      pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n      _Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1);\n    }" { (if_statement "if (lVar19 == 0) break;" if (parenthesized_expression "(lVar19 == 0)" ( (binary_expression "lVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar19 = lVar19 + -1;" (assignment_expression "lVar19 = lVar19 + -1" identifier = (binary_expression "lVar19 + -1" identifier + number_literal)) ;) (expression_statement "bVar32 = *pbVar24 < (byte)*_Var26._M_p;" (assignment_expression "bVar32 = *pbVar24 < (byte)*_Var26._M_p" identifier = (binary_expression "*pbVar24 < (byte)*_Var26._M_p" (pointer_expression "*pbVar24" * identifier) < (binary_expression "(byte)*_Var26._M_p" (parenthesized_expression "(byte)" ( identifier )) * (field_expression "_Var26._M_p" identifier . field_identifier)))) ;) (expression_statement "bVar36 = *pbVar24 == *_Var26._M_p;" (assignment_expression "bVar36 = *pbVar24 == *_Var26._M_p" identifier = (binary_expression "*pbVar24 == *_Var26._M_p" (pointer_expression "*pbVar24" * identifier) == (pointer_expression "*_Var26._M_p" * (field_expression "_Var26._M_p" identifier . field_identifier)))) ;) (expression_statement "pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1" identifier = (binary_expression "pbVar24 + (ulong)bVar37 * -2 + 1" (binary_expression "pbVar24 + (ulong)bVar37 * -2" identifier + (binary_expression "(ulong)bVar37 * -2" (cast_expression "(ulong)bVar37" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "_Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1);" (assignment_expression "_Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1)" (field_expression "_Var26._M_p" identifier . field_identifier) = (call_expression "(pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1)" ( (binary_expression "(byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1" (binary_expression "(byte *)_Var26._M_p + (ulong)bVar37 * -2" (cast_expression "(byte *)_Var26._M_p" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "_Var26._M_p" identifier . field_identifier)) + (binary_expression "(ulong)bVar37 * -2" (cast_expression "(ulong)bVar37" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) }) while (parenthesized_expression "(bVar36)" ( identifier )) ;) (expression_statement "bVar33 = false;" (assignment_expression "bVar33 = false" identifier = false) ;) (expression_statement "bVar32 = (!bVar32 && !bVar36) == bVar32;" (assignment_expression "bVar32 = (!bVar32 && !bVar36) == bVar32" identifier = (binary_expression "(!bVar32 && !bVar36) == bVar32" (parenthesized_expression "(!bVar32 && !bVar36)" ( (binary_expression "!bVar32 && !bVar36" (unary_expression "!bVar32" ! identifier) && (unary_expression "!bVar36" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar32) {\n      lVar19 = 0x11;\n      pbVar24 = (byte *)".data.rel.ro._ZTV";\n      _Var26 = src_section_name._M_dataplus;\n      do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar33 = *pbVar24 < (byte)*_Var26._M_p;\n        bVar32 = *pbVar24 == *_Var26._M_p;\n        pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n        _Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1);\n      } while (bVar32);\n      bVar36 = false;\n      bVar32 = (!bVar33 && !bVar32) == bVar33;\n      if (!bVar32) {\n        lVar19 = 0xc;\n        pbVar24 = (byte *)".rodata._ZTC";\n        _Var26 = src_section_name._M_dataplus;\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          bVar36 = *pbVar24 < (byte)*_Var26._M_p;\n          bVar32 = *pbVar24 == *_Var26._M_p;\n          pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n          _Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1);\n        } while (bVar32);\n        bVar33 = false;\n        bVar32 = (!bVar36 && !bVar32) == bVar36;\n        if (!bVar32) {\n          lVar19 = 0x11;\n          pbVar24 = (byte *)".data.rel.ro._ZTC";\n          _Var26 = src_section_name._M_dataplus;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar33 = *pbVar24 < (byte)*_Var26._M_p;\n            bVar32 = *pbVar24 == *_Var26._M_p;\n            pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n            _Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1);\n          } while (bVar32);\n          bVar36 = false;\n          bVar32 = (!bVar33 && !bVar32) == bVar33;\n          if (!bVar32) {\n            lVar19 = 9;\n            pbVar24 = (byte *)".eh_frame";\n            _Var26 = src_section_name._M_dataplus;\n            do {\n              if (lVar19 == 0) break;\n              lVar19 = lVar19 + -1;\n              bVar36 = *pbVar24 < (byte)*_Var26._M_p;\n              bVar32 = *pbVar24 == *_Var26._M_p;\n              pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n              _Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1);\n            } while (bVar32);\n            local_136 = (!bVar36 && !bVar32) != bVar36;\n            goto LAB_0019234a;\n          }\n        }\n      }\n    }" if (parenthesized_expression "(!bVar32)" ( (unary_expression "!bVar32" ! identifier) )) (compound_statement "{\n      lVar19 = 0x11;\n      pbVar24 = (byte *)".data.rel.ro._ZTV";\n      _Var26 = src_section_name._M_dataplus;\n      do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar33 = *pbVar24 < (byte)*_Var26._M_p;\n        bVar32 = *pbVar24 == *_Var26._M_p;\n        pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n        _Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1);\n      } while (bVar32);\n      bVar36 = false;\n      bVar32 = (!bVar33 && !bVar32) == bVar33;\n      if (!bVar32) {\n        lVar19 = 0xc;\n        pbVar24 = (byte *)".rodata._ZTC";\n        _Var26 = src_section_name._M_dataplus;\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          bVar36 = *pbVar24 < (byte)*_Var26._M_p;\n          bVar32 = *pbVar24 == *_Var26._M_p;\n          pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n          _Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1);\n        } while (bVar32);\n        bVar33 = false;\n        bVar32 = (!bVar36 && !bVar32) == bVar36;\n        if (!bVar32) {\n          lVar19 = 0x11;\n          pbVar24 = (byte *)".data.rel.ro._ZTC";\n          _Var26 = src_section_name._M_dataplus;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar33 = *pbVar24 < (byte)*_Var26._M_p;\n            bVar32 = *pbVar24 == *_Var26._M_p;\n            pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n            _Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1);\n          } while (bVar32);\n          bVar36 = false;\n          bVar32 = (!bVar33 && !bVar32) == bVar33;\n          if (!bVar32) {\n            lVar19 = 9;\n            pbVar24 = (byte *)".eh_frame";\n            _Var26 = src_section_name._M_dataplus;\n            do {\n              if (lVar19 == 0) break;\n              lVar19 = lVar19 + -1;\n              bVar36 = *pbVar24 < (byte)*_Var26._M_p;\n              bVar32 = *pbVar24 == *_Var26._M_p;\n              pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n              _Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1);\n            } while (bVar32);\n            local_136 = (!bVar36 && !bVar32) != bVar36;\n            goto LAB_0019234a;\n          }\n        }\n      }\n    }" { (expression_statement "lVar19 = 0x11;" (assignment_expression "lVar19 = 0x11" identifier = number_literal) ;) (expression_statement "pbVar24 = (byte *)".data.rel.ro._ZTV";" (assignment_expression "pbVar24 = (byte *)".data.rel.ro._ZTV"" identifier = (cast_expression "(byte *)".data.rel.ro._ZTV"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".data.rel.ro._ZTV"" " string_content "))) ;) (expression_statement "_Var26 = src_section_name._M_dataplus;" (assignment_expression "_Var26 = src_section_name._M_dataplus" identifier = (field_expression "src_section_name._M_dataplus" identifier . field_identifier)) ;) (do_statement "do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar33 = *pbVar24 < (byte)*_Var26._M_p;\n        bVar32 = *pbVar24 == *_Var26._M_p;\n        pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n        _Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1);\n      } while (bVar32);" do (compound_statement "{\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar33 = *pbVar24 < (byte)*_Var26._M_p;\n        bVar32 = *pbVar24 == *_Var26._M_p;\n        pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n        _Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1);\n      }" { (if_statement "if (lVar19 == 0) break;" if (parenthesized_expression "(lVar19 == 0)" ( (binary_expression "lVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar19 = lVar19 + -1;" (assignment_expression "lVar19 = lVar19 + -1" identifier = (binary_expression "lVar19 + -1" identifier + number_literal)) ;) (expression_statement "bVar33 = *pbVar24 < (byte)*_Var26._M_p;" (assignment_expression "bVar33 = *pbVar24 < (byte)*_Var26._M_p" identifier = (binary_expression "*pbVar24 < (byte)*_Var26._M_p" (pointer_expression "*pbVar24" * identifier) < (binary_expression "(byte)*_Var26._M_p" (parenthesized_expression "(byte)" ( identifier )) * (field_expression "_Var26._M_p" identifier . field_identifier)))) ;) (expression_statement "bVar32 = *pbVar24 == *_Var26._M_p;" (assignment_expression "bVar32 = *pbVar24 == *_Var26._M_p" identifier = (binary_expression "*pbVar24 == *_Var26._M_p" (pointer_expression "*pbVar24" * identifier) == (pointer_expression "*_Var26._M_p" * (field_expression "_Var26._M_p" identifier . field_identifier)))) ;) (expression_statement "pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1" identifier = (binary_expression "pbVar24 + (ulong)bVar37 * -2 + 1" (binary_expression "pbVar24 + (ulong)bVar37 * -2" identifier + (binary_expression "(ulong)bVar37 * -2" (cast_expression "(ulong)bVar37" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "_Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1);" (assignment_expression "_Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1)" (field_expression "_Var26._M_p" identifier . field_identifier) = (call_expression "(pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1)" ( (binary_expression "(byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1" (binary_expression "(byte *)_Var26._M_p + (ulong)bVar37 * -2" (cast_expression "(byte *)_Var26._M_p" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "_Var26._M_p" identifier . field_identifier)) + (binary_expression "(ulong)bVar37 * -2" (cast_expression "(ulong)bVar37" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) }) while (parenthesized_expression "(bVar32)" ( identifier )) ;) (expression_statement "bVar36 = false;" (assignment_expression "bVar36 = false" identifier = false) ;) (expression_statement "bVar32 = (!bVar33 && !bVar32) == bVar33;" (assignment_expression "bVar32 = (!bVar33 && !bVar32) == bVar33" identifier = (binary_expression "(!bVar33 && !bVar32) == bVar33" (parenthesized_expression "(!bVar33 && !bVar32)" ( (binary_expression "!bVar33 && !bVar32" (unary_expression "!bVar33" ! identifier) && (unary_expression "!bVar32" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar32) {\n        lVar19 = 0xc;\n        pbVar24 = (byte *)".rodata._ZTC";\n        _Var26 = src_section_name._M_dataplus;\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          bVar36 = *pbVar24 < (byte)*_Var26._M_p;\n          bVar32 = *pbVar24 == *_Var26._M_p;\n          pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n          _Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1);\n        } while (bVar32);\n        bVar33 = false;\n        bVar32 = (!bVar36 && !bVar32) == bVar36;\n        if (!bVar32) {\n          lVar19 = 0x11;\n          pbVar24 = (byte *)".data.rel.ro._ZTC";\n          _Var26 = src_section_name._M_dataplus;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar33 = *pbVar24 < (byte)*_Var26._M_p;\n            bVar32 = *pbVar24 == *_Var26._M_p;\n            pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n            _Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1);\n          } while (bVar32);\n          bVar36 = false;\n          bVar32 = (!bVar33 && !bVar32) == bVar33;\n          if (!bVar32) {\n            lVar19 = 9;\n            pbVar24 = (byte *)".eh_frame";\n            _Var26 = src_section_name._M_dataplus;\n            do {\n              if (lVar19 == 0) break;\n              lVar19 = lVar19 + -1;\n              bVar36 = *pbVar24 < (byte)*_Var26._M_p;\n              bVar32 = *pbVar24 == *_Var26._M_p;\n              pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n              _Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1);\n            } while (bVar32);\n            local_136 = (!bVar36 && !bVar32) != bVar36;\n            goto LAB_0019234a;\n          }\n        }\n      }" if (parenthesized_expression "(!bVar32)" ( (unary_expression "!bVar32" ! identifier) )) (compound_statement "{\n        lVar19 = 0xc;\n        pbVar24 = (byte *)".rodata._ZTC";\n        _Var26 = src_section_name._M_dataplus;\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          bVar36 = *pbVar24 < (byte)*_Var26._M_p;\n          bVar32 = *pbVar24 == *_Var26._M_p;\n          pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n          _Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1);\n        } while (bVar32);\n        bVar33 = false;\n        bVar32 = (!bVar36 && !bVar32) == bVar36;\n        if (!bVar32) {\n          lVar19 = 0x11;\n          pbVar24 = (byte *)".data.rel.ro._ZTC";\n          _Var26 = src_section_name._M_dataplus;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar33 = *pbVar24 < (byte)*_Var26._M_p;\n            bVar32 = *pbVar24 == *_Var26._M_p;\n            pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n            _Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1);\n          } while (bVar32);\n          bVar36 = false;\n          bVar32 = (!bVar33 && !bVar32) == bVar33;\n          if (!bVar32) {\n            lVar19 = 9;\n            pbVar24 = (byte *)".eh_frame";\n            _Var26 = src_section_name._M_dataplus;\n            do {\n              if (lVar19 == 0) break;\n              lVar19 = lVar19 + -1;\n              bVar36 = *pbVar24 < (byte)*_Var26._M_p;\n              bVar32 = *pbVar24 == *_Var26._M_p;\n              pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n              _Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1);\n            } while (bVar32);\n            local_136 = (!bVar36 && !bVar32) != bVar36;\n            goto LAB_0019234a;\n          }\n        }\n      }" { (expression_statement "lVar19 = 0xc;" (assignment_expression "lVar19 = 0xc" identifier = number_literal) ;) (expression_statement "pbVar24 = (byte *)".rodata._ZTC";" (assignment_expression "pbVar24 = (byte *)".rodata._ZTC"" identifier = (cast_expression "(byte *)".rodata._ZTC"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".rodata._ZTC"" " string_content "))) ;) (expression_statement "_Var26 = src_section_name._M_dataplus;" (assignment_expression "_Var26 = src_section_name._M_dataplus" identifier = (field_expression "src_section_name._M_dataplus" identifier . field_identifier)) ;) (do_statement "do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          bVar36 = *pbVar24 < (byte)*_Var26._M_p;\n          bVar32 = *pbVar24 == *_Var26._M_p;\n          pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n          _Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1);\n        } while (bVar32);" do (compound_statement "{\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          bVar36 = *pbVar24 < (byte)*_Var26._M_p;\n          bVar32 = *pbVar24 == *_Var26._M_p;\n          pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n          _Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1);\n        }" { (if_statement "if (lVar19 == 0) break;" if (parenthesized_expression "(lVar19 == 0)" ( (binary_expression "lVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar19 = lVar19 + -1;" (assignment_expression "lVar19 = lVar19 + -1" identifier = (binary_expression "lVar19 + -1" identifier + number_literal)) ;) (expression_statement "bVar36 = *pbVar24 < (byte)*_Var26._M_p;" (assignment_expression "bVar36 = *pbVar24 < (byte)*_Var26._M_p" identifier = (binary_expression "*pbVar24 < (byte)*_Var26._M_p" (pointer_expression "*pbVar24" * identifier) < (binary_expression "(byte)*_Var26._M_p" (parenthesized_expression "(byte)" ( identifier )) * (field_expression "_Var26._M_p" identifier . field_identifier)))) ;) (expression_statement "bVar32 = *pbVar24 == *_Var26._M_p;" (assignment_expression "bVar32 = *pbVar24 == *_Var26._M_p" identifier = (binary_expression "*pbVar24 == *_Var26._M_p" (pointer_expression "*pbVar24" * identifier) == (pointer_expression "*_Var26._M_p" * (field_expression "_Var26._M_p" identifier . field_identifier)))) ;) (expression_statement "pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1" identifier = (binary_expression "pbVar24 + (ulong)bVar37 * -2 + 1" (binary_expression "pbVar24 + (ulong)bVar37 * -2" identifier + (binary_expression "(ulong)bVar37 * -2" (cast_expression "(ulong)bVar37" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "_Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1);" (assignment_expression "_Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1)" (field_expression "_Var26._M_p" identifier . field_identifier) = (call_expression "(pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1)" ( (binary_expression "(byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1" (binary_expression "(byte *)_Var26._M_p + (ulong)bVar37 * -2" (cast_expression "(byte *)_Var26._M_p" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "_Var26._M_p" identifier . field_identifier)) + (binary_expression "(ulong)bVar37 * -2" (cast_expression "(ulong)bVar37" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) }) while (parenthesized_expression "(bVar32)" ( identifier )) ;) (expression_statement "bVar33 = false;" (assignment_expression "bVar33 = false" identifier = false) ;) (expression_statement "bVar32 = (!bVar36 && !bVar32) == bVar36;" (assignment_expression "bVar32 = (!bVar36 && !bVar32) == bVar36" identifier = (binary_expression "(!bVar36 && !bVar32) == bVar36" (parenthesized_expression "(!bVar36 && !bVar32)" ( (binary_expression "!bVar36 && !bVar32" (unary_expression "!bVar36" ! identifier) && (unary_expression "!bVar32" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar32) {\n          lVar19 = 0x11;\n          pbVar24 = (byte *)".data.rel.ro._ZTC";\n          _Var26 = src_section_name._M_dataplus;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar33 = *pbVar24 < (byte)*_Var26._M_p;\n            bVar32 = *pbVar24 == *_Var26._M_p;\n            pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n            _Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1);\n          } while (bVar32);\n          bVar36 = false;\n          bVar32 = (!bVar33 && !bVar32) == bVar33;\n          if (!bVar32) {\n            lVar19 = 9;\n            pbVar24 = (byte *)".eh_frame";\n            _Var26 = src_section_name._M_dataplus;\n            do {\n              if (lVar19 == 0) break;\n              lVar19 = lVar19 + -1;\n              bVar36 = *pbVar24 < (byte)*_Var26._M_p;\n              bVar32 = *pbVar24 == *_Var26._M_p;\n              pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n              _Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1);\n            } while (bVar32);\n            local_136 = (!bVar36 && !bVar32) != bVar36;\n            goto LAB_0019234a;\n          }\n        }" if (parenthesized_expression "(!bVar32)" ( (unary_expression "!bVar32" ! identifier) )) (compound_statement "{\n          lVar19 = 0x11;\n          pbVar24 = (byte *)".data.rel.ro._ZTC";\n          _Var26 = src_section_name._M_dataplus;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar33 = *pbVar24 < (byte)*_Var26._M_p;\n            bVar32 = *pbVar24 == *_Var26._M_p;\n            pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n            _Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1);\n          } while (bVar32);\n          bVar36 = false;\n          bVar32 = (!bVar33 && !bVar32) == bVar33;\n          if (!bVar32) {\n            lVar19 = 9;\n            pbVar24 = (byte *)".eh_frame";\n            _Var26 = src_section_name._M_dataplus;\n            do {\n              if (lVar19 == 0) break;\n              lVar19 = lVar19 + -1;\n              bVar36 = *pbVar24 < (byte)*_Var26._M_p;\n              bVar32 = *pbVar24 == *_Var26._M_p;\n              pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n              _Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1);\n            } while (bVar32);\n            local_136 = (!bVar36 && !bVar32) != bVar36;\n            goto LAB_0019234a;\n          }\n        }" { (expression_statement "lVar19 = 0x11;" (assignment_expression "lVar19 = 0x11" identifier = number_literal) ;) (expression_statement "pbVar24 = (byte *)".data.rel.ro._ZTC";" (assignment_expression "pbVar24 = (byte *)".data.rel.ro._ZTC"" identifier = (cast_expression "(byte *)".data.rel.ro._ZTC"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".data.rel.ro._ZTC"" " string_content "))) ;) (expression_statement "_Var26 = src_section_name._M_dataplus;" (assignment_expression "_Var26 = src_section_name._M_dataplus" identifier = (field_expression "src_section_name._M_dataplus" identifier . field_identifier)) ;) (do_statement "do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar33 = *pbVar24 < (byte)*_Var26._M_p;\n            bVar32 = *pbVar24 == *_Var26._M_p;\n            pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n            _Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1);\n          } while (bVar32);" do (compound_statement "{\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar33 = *pbVar24 < (byte)*_Var26._M_p;\n            bVar32 = *pbVar24 == *_Var26._M_p;\n            pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n            _Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1);\n          }" { (if_statement "if (lVar19 == 0) break;" if (parenthesized_expression "(lVar19 == 0)" ( (binary_expression "lVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar19 = lVar19 + -1;" (assignment_expression "lVar19 = lVar19 + -1" identifier = (binary_expression "lVar19 + -1" identifier + number_literal)) ;) (expression_statement "bVar33 = *pbVar24 < (byte)*_Var26._M_p;" (assignment_expression "bVar33 = *pbVar24 < (byte)*_Var26._M_p" identifier = (binary_expression "*pbVar24 < (byte)*_Var26._M_p" (pointer_expression "*pbVar24" * identifier) < (binary_expression "(byte)*_Var26._M_p" (parenthesized_expression "(byte)" ( identifier )) * (field_expression "_Var26._M_p" identifier . field_identifier)))) ;) (expression_statement "bVar32 = *pbVar24 == *_Var26._M_p;" (assignment_expression "bVar32 = *pbVar24 == *_Var26._M_p" identifier = (binary_expression "*pbVar24 == *_Var26._M_p" (pointer_expression "*pbVar24" * identifier) == (pointer_expression "*_Var26._M_p" * (field_expression "_Var26._M_p" identifier . field_identifier)))) ;) (expression_statement "pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1" identifier = (binary_expression "pbVar24 + (ulong)bVar37 * -2 + 1" (binary_expression "pbVar24 + (ulong)bVar37 * -2" identifier + (binary_expression "(ulong)bVar37 * -2" (cast_expression "(ulong)bVar37" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "_Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1);" (assignment_expression "_Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1)" (field_expression "_Var26._M_p" identifier . field_identifier) = (call_expression "(pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1)" ( (binary_expression "(byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1" (binary_expression "(byte *)_Var26._M_p + (ulong)bVar37 * -2" (cast_expression "(byte *)_Var26._M_p" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "_Var26._M_p" identifier . field_identifier)) + (binary_expression "(ulong)bVar37 * -2" (cast_expression "(ulong)bVar37" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) }) while (parenthesized_expression "(bVar32)" ( identifier )) ;) (expression_statement "bVar36 = false;" (assignment_expression "bVar36 = false" identifier = false) ;) (expression_statement "bVar32 = (!bVar33 && !bVar32) == bVar33;" (assignment_expression "bVar32 = (!bVar33 && !bVar32) == bVar33" identifier = (binary_expression "(!bVar33 && !bVar32) == bVar33" (parenthesized_expression "(!bVar33 && !bVar32)" ( (binary_expression "!bVar33 && !bVar32" (unary_expression "!bVar33" ! identifier) && (unary_expression "!bVar32" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar32) {\n            lVar19 = 9;\n            pbVar24 = (byte *)".eh_frame";\n            _Var26 = src_section_name._M_dataplus;\n            do {\n              if (lVar19 == 0) break;\n              lVar19 = lVar19 + -1;\n              bVar36 = *pbVar24 < (byte)*_Var26._M_p;\n              bVar32 = *pbVar24 == *_Var26._M_p;\n              pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n              _Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1);\n            } while (bVar32);\n            local_136 = (!bVar36 && !bVar32) != bVar36;\n            goto LAB_0019234a;\n          }" if (parenthesized_expression "(!bVar32)" ( (unary_expression "!bVar32" ! identifier) )) (compound_statement "{\n            lVar19 = 9;\n            pbVar24 = (byte *)".eh_frame";\n            _Var26 = src_section_name._M_dataplus;\n            do {\n              if (lVar19 == 0) break;\n              lVar19 = lVar19 + -1;\n              bVar36 = *pbVar24 < (byte)*_Var26._M_p;\n              bVar32 = *pbVar24 == *_Var26._M_p;\n              pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n              _Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1);\n            } while (bVar32);\n            local_136 = (!bVar36 && !bVar32) != bVar36;\n            goto LAB_0019234a;\n          }" { (expression_statement "lVar19 = 9;" (assignment_expression "lVar19 = 9" identifier = number_literal) ;) (expression_statement "pbVar24 = (byte *)".eh_frame";" (assignment_expression "pbVar24 = (byte *)".eh_frame"" identifier = (cast_expression "(byte *)".eh_frame"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".eh_frame"" " string_content "))) ;) (expression_statement "_Var26 = src_section_name._M_dataplus;" (assignment_expression "_Var26 = src_section_name._M_dataplus" identifier = (field_expression "src_section_name._M_dataplus" identifier . field_identifier)) ;) (do_statement "do {\n              if (lVar19 == 0) break;\n              lVar19 = lVar19 + -1;\n              bVar36 = *pbVar24 < (byte)*_Var26._M_p;\n              bVar32 = *pbVar24 == *_Var26._M_p;\n              pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n              _Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1);\n            } while (bVar32);" do (compound_statement "{\n              if (lVar19 == 0) break;\n              lVar19 = lVar19 + -1;\n              bVar36 = *pbVar24 < (byte)*_Var26._M_p;\n              bVar32 = *pbVar24 == *_Var26._M_p;\n              pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n              _Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1);\n            }" { (if_statement "if (lVar19 == 0) break;" if (parenthesized_expression "(lVar19 == 0)" ( (binary_expression "lVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar19 = lVar19 + -1;" (assignment_expression "lVar19 = lVar19 + -1" identifier = (binary_expression "lVar19 + -1" identifier + number_literal)) ;) (expression_statement "bVar36 = *pbVar24 < (byte)*_Var26._M_p;" (assignment_expression "bVar36 = *pbVar24 < (byte)*_Var26._M_p" identifier = (binary_expression "*pbVar24 < (byte)*_Var26._M_p" (pointer_expression "*pbVar24" * identifier) < (binary_expression "(byte)*_Var26._M_p" (parenthesized_expression "(byte)" ( identifier )) * (field_expression "_Var26._M_p" identifier . field_identifier)))) ;) (expression_statement "bVar32 = *pbVar24 == *_Var26._M_p;" (assignment_expression "bVar32 = *pbVar24 == *_Var26._M_p" identifier = (binary_expression "*pbVar24 == *_Var26._M_p" (pointer_expression "*pbVar24" * identifier) == (pointer_expression "*_Var26._M_p" * (field_expression "_Var26._M_p" identifier . field_identifier)))) ;) (expression_statement "pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1" identifier = (binary_expression "pbVar24 + (ulong)bVar37 * -2 + 1" (binary_expression "pbVar24 + (ulong)bVar37 * -2" identifier + (binary_expression "(ulong)bVar37 * -2" (cast_expression "(ulong)bVar37" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "_Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1);" (assignment_expression "_Var26._M_p = (pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1)" (field_expression "_Var26._M_p" identifier . field_identifier) = (call_expression "(pointer)((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1)" ( (binary_expression "(byte *)_Var26._M_p + (ulong)bVar37 * -2 + 1" (binary_expression "(byte *)_Var26._M_p + (ulong)bVar37 * -2" (cast_expression "(byte *)_Var26._M_p" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "_Var26._M_p" identifier . field_identifier)) + (binary_expression "(ulong)bVar37 * -2" (cast_expression "(ulong)bVar37" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) }) while (parenthesized_expression "(bVar32)" ( identifier )) ;) (expression_statement "local_136 = (!bVar36 && !bVar32) != bVar36;" (assignment_expression "local_136 = (!bVar36 && !bVar32) != bVar36" identifier = (binary_expression "(!bVar36 && !bVar32) != bVar36" (parenthesized_expression "(!bVar36 && !bVar32)" ( (binary_expression "!bVar36 && !bVar32" (unary_expression "!bVar36" ! identifier) && (unary_expression "!bVar32" ! identifier)) )) != identifier)) ;) (goto_statement "goto LAB_0019234a;" goto statement_identifier ;) })) })) })) })) })) (expression_statement "local_136 = '\0';" (assignment_expression "local_136 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (labeled_statement "LAB_0019234a:\n  if (prelocs != (uchar *)0x0) {\n    local_158 = (_func_int_varargs **)0x0;\n    local_120 = (uchar *)0x0;\n    do {\n      uVar4 = local_128[1];\n      uVar5 = local_128[2];\n      uVar29 = uVar4 >> 8;\n      uVar13 = uVar4 & 0xff;\n      if (uVar29 < reloc_count) {\n        if (param_8 == (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/gc.h",0xea,"gc_process_relocs");\n        }\n        uVar23 = uVar29 << 4;\n        uVar3 = *(ushort *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 6);\n        uVar28 = (ulong)uVar3;\n        if (uVar3 < 0xff00) {\nLAB_001924f6:\n          local_134 = *(uint *)((long)&(param_8->super_Output_data)._vptr_Output_data +\n                               (ulong)uVar23 + 4);\n          pRVar27 = (Relobj *)(ulong)local_134;\n          local_134 = uVar5 + local_134;\n          if (bVar34) {\n            src_id.second = (uint)uVar28;\n            src_id.first = (Relobj *)target;\n            std::\n            vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n            ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                      (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);\n            bVar32 = true;\n            if ((*(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4) & 0xf)\n                != 3) goto LAB_001923f0;\nLAB_0019253e:\n            src_id.first = (Relobj *)0xffffffffffffffff;\n            std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::emplace_back<gold::Symbol*>\n                      (local_170,(Symbol **)&src_id);\n            goto LAB_0019240b;\n          }\n        }\n        else {\n          if (uVar3 == 0xffff) {\n            this = target->brlt_section_;\n            if (this == (Output_data_brlt_powerpc<32,_false> *)0x0) {\n              this = (Output_data_brlt_powerpc<32,_false> *)\n                     (**(code **)(*(long *)target + 0xd8))(target);\n              target->brlt_section_ = this;\n            }\n            uVar29 = Xindex::sym_xindex_to_shndx((Xindex *)this,(Object *)target,uVar29);\n            uVar28 = (ulong)uVar29;\n            goto LAB_001924f6;\n          }\n          local_134 = *(uint *)((long)&(param_8->super_Output_data)._vptr_Output_data +\n                               (ulong)uVar23 + 4);\n          pRVar27 = (Relobj *)(ulong)local_134;\n          local_134 = uVar5 + local_134;\n          if (!bVar34) goto LAB_00192480;\n          src_id.first = (Relobj *)0x0;\n          src_id._8_8_ = src_id._8_8_ & 0xffffffff00000000;\n                    /* try { // try from 001923d5 to 00192be2 has its CatchHandler @ 00192fd7 */\n          std::\n          vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n          ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                    (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);\n          bVar32 = false;\n          if ((*(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4) & 0xf) ==\n              3) goto LAB_0019253e;\nLAB_001923f0:\n          src_id.first = (Relobj *)0x0;\n          std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::emplace_back<gold::Symbol*>\n                    (local_170,(Symbol **)&src_id);\nLAB_0019240b:\n          src_id.first = pRVar27;\n          src_id._8_8_ = (long)(int)uVar5;\n          std::\n          vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n          ::emplace_back<std::pair<long_long_int,_long_long_int>_>\n                    (local_180,(pair<long_long_int,_long_long_int> *)&src_id);\n          src_id.first = (Relobj *)(ulong)*local_128;\n          iVar6._M_current =\n               (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n               )._M_impl._M_finish;\n          if (iVar6._M_current ==\n              (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>)\n              ._M_impl._M_end_of_storage) {\n            std::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>::\n            _M_realloc_insert<long_unsigned_int_const&>(local_168,iVar6,(ulong *)&src_id);\n          }\n          else {\n            *iVar6._M_current = (ulong)src_id.first;\n            (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>).\n            _M_impl._M_finish = iVar6._M_current + 1;\n          }\n          dst_id.first = (Relobj *)((ulong)dst_id.first & 0xffffffff00000000);\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::emplace_back<unsigned_int>\n                    (local_188,(uint *)&dst_id);\n          if (!bVar32) goto LAB_00192480;\n        }\n        if (((local_136 != '\0') &&\n            ((*(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4) & 0xf) !=\n             1)) && ((0x17 < uVar13 || ((0x843f84UL >> ((ulong)uVar4 & 0x3f) & 1) == 0)))) {\n          local_c0 = (uint)*(ushort *)\n                            ((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 6);\n          __node_gen_2._M_h = (__hashtable_alloc *)&symtab->icf_->fptr_section_id_;\n          local_c8 = target;\n          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          ::\n          _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                      *)__node_gen_2._M_h,&local_c8,&__node_gen_2,1);\n        }\n        pOVar30 = (Output_segment *)target;\n        if (shndx != (uint)uVar28) {\nLAB_001925a8:\n          if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n          }\n          if ((parameters->options_->gc_sections_).value != false) {\n            pGVar7 = symtab->gc_;\n            dst_id.second = (uint)uVar28;\n            p_Var8 = (pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                     _M_parent;\n            p_Var1 = &(pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header;\n            p_Var18 = &p_Var1->_M_header;\n            cVar15._M_node = &p_Var1->_M_header;\n            src_id_2.first = (Relobj *)target;\n            src_id_2.second = shndx;\n            dst_id.first = (Relobj *)pOVar30;\n            if (p_Var8 == (_Base_ptr)0x0) {\nLAB_00192660:\n              local_e8._M_head_impl = &src_id_2;\n              cVar15._M_node =\n                   (_Base_ptr)\n                   std::\n                   _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                   ::\n                   _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::pair<gold::Relobj*,_unsigned_int>&>,_std::tuple<>_>\n                             (&(pGVar7->section_reloc_map_)._M_t,cVar15,\n                              (piecewise_construct_t *)&std::piecewise_construct,\n                              (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)&local_e8,\n                              &local_10a);\n            }\n            else {\n              do {\n                while ((cVar15._M_node = p_Var8,\n                       target <= *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                       ((target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) ||\n                        (shndx <= *(uint *)&cVar15._M_node[1]._M_parent))))) {\n                  p_Var18 = cVar15._M_node;\n                  p_Var8 = (cVar15._M_node)->_M_left;\n                  if ((cVar15._M_node)->_M_left == (_Base_ptr)0x0) goto LAB_0019263a;\n                }\n                pp_Var2 = &(cVar15._M_node)->_M_right;\n                cVar15._M_node = p_Var18;\n                p_Var8 = *pp_Var2;\n              } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_0019263a:\n              if ((((_Rb_tree_header *)cVar15._M_node == p_Var1) ||\n                  (target < *(Target_powerpc<32,_false> **)(cVar15._M_node + 1))) ||\n                 ((target == *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                  (shndx < *(uint *)&cVar15._M_node[1]._M_parent)))) goto LAB_00192660;\n            }\n            __node_gen_1._M_h = (__hashtable_alloc *)&cVar15._M_node[1]._M_left;\n            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            ::\n            _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                        *)__node_gen_1._M_h,&dst_id,&__node_gen_1,1);\n            pTVar9 = parameters->target_;\n            if (pTVar9 == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x73,"sized_target");\n            }\n            (*pTVar9->_vptr_Target[0x41])\n                      (pTVar9,symtab,target,(ulong)src_obj & 0xffffffff,pOVar30,uVar28,\n                       (ulong)local_134);\n            if (local_158 != (_func_int_varargs **)0x0) {\n              pGVar7 = symtab->gc_;\n              src_id.first = (Relobj *)&stack0xffffffffffffffb8;\n              sVar16 = strlen((char *)local_158);\n              std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n              _M_construct<char_const*>\n                        ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                         &src_id,local_158,(byte *)((long)local_158 + sVar16));\n              iVar17 = std::\n                       _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                       ::find(&(pGVar7->cident_sections_)._M_t,\n                              (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                              &src_id);\n              if (src_id.first != (Relobj *)&stack0xffffffffffffffb8) {\n                operator_delete(src_id.first);\n              }\n              pGVar7 = symtab->gc_;\n              if ((_Rb_tree_header *)iVar17._M_node !=\n                  &(pGVar7->cident_sections_)._M_t._M_impl.super__Rb_tree_header) {\n                p_Var8 = (pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                         _M_parent;\n                p_Var1 = &(pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header;\n                src_id.second = shndx;\n                p_Var18 = &p_Var1->_M_header;\n                cVar15._M_node = &p_Var1->_M_header;\n                if (p_Var8 == (_Base_ptr)0x0) {\nLAB_00192b80:\n                  local_e0._M_head_impl = (pair<gold::Relobj*,_unsigned_int> *)&src_id;\n                  src_id.first = (Relobj *)target;\n                  cVar15._M_node =\n                       (_Base_ptr)\n                       std::\n                       _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                       ::\n                       _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::pair<gold::Relobj*,_unsigned_int>&>,_std::tuple<>_>\n                                 (&(pGVar7->section_reloc_map_)._M_t,cVar15,\n                                  (piecewise_construct_t *)&std::piecewise_construct,\n                                  (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)&local_e0,\n                                  &local_109);\n                }\n                else {\n                  do {\n                    while ((cVar15._M_node = p_Var8,\n                           target <= *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                           ((target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) ||\n                            (shndx <= *(uint *)&cVar15._M_node[1]._M_parent))))) {\n                      p_Var18 = cVar15._M_node;\n                      p_Var8 = (cVar15._M_node)->_M_left;\n                      if ((cVar15._M_node)->_M_left == (_Base_ptr)0x0) goto LAB_001927c2;\n                    }\n                    pp_Var2 = &(cVar15._M_node)->_M_right;\n                    cVar15._M_node = p_Var18;\n                    p_Var8 = *pp_Var2;\n                  } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_001927c2:\n                  if ((((_Rb_tree_header *)cVar15._M_node == p_Var1) ||\n                      (target < *(Target_powerpc<32,_false> **)(cVar15._M_node + 1))) ||\n                     ((src_id.first = (Relobj *)target,\n                      target == *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                      (shndx < *(uint *)&cVar15._M_node[1]._M_parent)))) goto LAB_00192b80;\n                }\n                for (p_Var10 = iVar17._M_node[2]._M_left; p_Var10 != (_Base_ptr)0x0;\n                    p_Var10 = *(_Base_ptr *)p_Var10) {\n                  __node_gen._M_h = (__hashtable_alloc *)&cVar15._M_node[1]._M_left;\n                  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                  ::\n                  _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                              *)&cVar15._M_node[1]._M_left,&p_Var10->_M_parent,&__node_gen,1);\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        uVar23 = (uint)(target->tocsave_loc_)._M_h._M_rehash_policy._M_next_resize;\n        if (uVar29 < uVar23) {\n          dst_id.first = (Relobj *)0x0;\nLAB_00192adb:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/gc.h",0x11c,"gc_process_relocs");\n        }\n        uVar28 = (ulong)(uVar29 - uVar23);\n        if ((ulong)(*(long *)&target->relax_fail_count_ - *(long *)&target->plt_thread_safe_ >> 3)\n            <= uVar28) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.h",0x8ad,"global_symbol");\n        }\n        dst_id.first = *(Relobj **)(*(long *)&target->plt_thread_safe_ + uVar28 * 8);\n        if (dst_id.first == (Relobj *)0x0) goto LAB_00192adb;\n        if ((((dst_id.first)->super_Object).shnum_ & 0x100000) != 0) {\n          dst_id.first = (Relobj *)Symbol_table::resolve_forwards(symtab,(Symbol *)dst_id.first);\n        }\n        if ((((dst_id.first)->super_Object).shnum_ & 0x70000) == 0) {\n          local_150 = *(uint *)&((dst_id.first)->super_Object).xindex_;\n          pOVar30 = ((anon_union_8_3_b0f6f408_for_u1_ *)\n                    &((dst_id.first)->super_Object).name_._M_string_length)->output_segment;\n          local_134 = uVar5 + local_150;\n          if (((ulong)pOVar30->output_lists_[2].\n                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                      _M_impl._M_finish & 0x100000000) == 0) {\n            uVar29 = *(uint *)&((dst_id.first)->super_Object).name_.field_2;\n            uVar28 = (ulong)uVar29;\n            bVar20 = (byte)((dst_id.first)->super_Object).shnum_ & 0xf;\n            bVar22 = *(byte *)((long)&((dst_id.first)->super_Object).shnum_ + 3) >> 5 & 1;\n            uVar31 = bVar20 < 2;\n            uVar35 = bVar20 == 2;\n            if ((bool)uVar35) {\n              uVar31 = 0;\n              uVar35 = local_136 == '\0';\n              if (!(bool)uVar35) {\n                uVar31 = false;\n                uVar35 = bVar22 == 0;\n                if (!(bool)uVar35) {\n                  uVar31 = uVar13 < 0x17;\n                  uVar35 = uVar13 == 0x17;\n                  if ((uVar13 < 0x18) &&\n                     (uVar31 = (0x843f84UL >> ((ulong)uVar4 & 0x3f) & 1) != 0, (bool)uVar31))\n                  goto LAB_00192930;\n                }\n                __node_gen_3._M_h = (__hashtable_alloc *)&symtab->icf_->fptr_section_id_;\n                local_d8 = pOVar30;\n                local_d0 = uVar29;\n                    /* try { // try from 00192ca4 to 00192e68 has its CatchHandler @ 00192fd7 */\n                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                ::\n                _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                            *)__node_gen_3._M_h,&local_d8,&__node_gen_3,1);\n              }\n            }\n          }\n          else {\n            bVar22 = 0;\n            uVar28 = 0;\n            uVar31 = 0;\n            pOVar30 = (Output_segment *)0x0;\n            uVar35 = 1;\n          }\n        }\n        else {\n          local_150 = *(uint *)&((dst_id.first)->super_Object).xindex_;\n          bVar22 = 0;\n          uVar28 = 0;\n          uVar31 = 0;\n          pOVar30 = (Output_segment *)0x0;\n          uVar35 = 1;\n          local_134 = uVar5 + local_150;\n        }\nLAB_00192930:\n        pp_Var11 = ((dst_id.first)->super_Object)._vptr_Object;\n        lVar19 = 8;\n        pbVar24 = (byte *)"__start_";\n        pp_Var25 = pp_Var11;\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          uVar31 = *pbVar24 < *(byte *)pp_Var25;\n          uVar35 = *pbVar24 == *(byte *)pp_Var25;\n          pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n          pp_Var25 = (_func_int_varargs **)((long)pp_Var25 + (ulong)bVar37 * -2 + 1);\n        } while ((bool)uVar35);\n        bVar32 = false;\n        bVar36 = (!(bool)uVar31 && !(bool)uVar35) == (bool)uVar31;\n        if (bVar36) {\n          pp_Var11 = pp_Var11 + 1;\n        }\n        else {\n          lVar19 = 7;\n          pbVar24 = (byte *)"__stop_";\n          pp_Var25 = pp_Var11;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar32 = *pbVar24 < *(byte *)pp_Var25;\n            bVar36 = *pbVar24 == *(byte *)pp_Var25;\n            pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n            pp_Var25 = (_func_int_varargs **)((long)pp_Var25 + (ulong)bVar37 * -2 + 1);\n          } while (bVar36);\n          pp_Var11 = (_func_int_varargs **)((long)pp_Var11 + 7);\n          if ((!bVar32 && !bVar36) != bVar32) {\n            pp_Var11 = local_158;\n          }\n        }\n        local_158 = pp_Var11;\n        if (bVar34) {\n          if (bVar22 == 0) {\n            src_id.first = (Relobj *)0x0;\n            src_id._8_8_ = (ulong)(uint)src_id._12_4_ << 0x20;\n            std::\n            vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n            ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                      (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);\n          }\n          else {\n            src_id.second = (uint)uVar28;\n            src_id.first = (Relobj *)pOVar30;\n            std::\n            vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n            ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                      (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);\n          }\n          __position._M_current =\n               (local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n               _M_impl._M_finish;\n          if (__position._M_current ==\n              (local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl\n              ._M_end_of_storage) {\n            std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::\n            _M_realloc_insert<gold::Symbol*_const&>(local_170,__position,(Symbol **)&dst_id);\n          }\n          else {\n            *__position._M_current = (Symbol *)dst_id.first;\n            (local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n            _M_finish = __position._M_current + 1;\n          }\n          src_id.first = (Relobj *)(ulong)local_150;\n          src_id._8_8_ = (long)(int)uVar5;\n          std::\n          vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n          ::emplace_back<std::pair<long_long_int,_long_long_int>_>\n                    (local_180,(pair<long_long_int,_long_long_int> *)&src_id);\n          src_id.first = (Relobj *)(ulong)*local_128;\n          iVar6._M_current =\n               (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n               )._M_impl._M_finish;\n          if (iVar6._M_current ==\n              (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>)\n              ._M_impl._M_end_of_storage) {\n            std::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>::\n            _M_realloc_insert<long_unsigned_int_const&>(local_168,iVar6,(ulong *)&src_id);\n          }\n          else {\n            *iVar6._M_current = (ulong)src_id.first;\n            (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>).\n            _M_impl._M_finish = iVar6._M_current + 1;\n          }\n          src_id_2.first = (Relobj *)((ulong)src_id_2.first & 0xffffffff00000000);\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::emplace_back<unsigned_int>\n                    (local_188,(uint *)&src_id_2);\n        }\n        if (bVar22 != 0) goto LAB_001925a8;\n      }\nLAB_00192480:\n      local_120 = local_120 + 1;\n      local_128 = local_128 + 3;\n    } while (prelocs != local_120);\n  }" statement_identifier : (if_statement "if (prelocs != (uchar *)0x0) {\n    local_158 = (_func_int_varargs **)0x0;\n    local_120 = (uchar *)0x0;\n    do {\n      uVar4 = local_128[1];\n      uVar5 = local_128[2];\n      uVar29 = uVar4 >> 8;\n      uVar13 = uVar4 & 0xff;\n      if (uVar29 < reloc_count) {\n        if (param_8 == (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/gc.h",0xea,"gc_process_relocs");\n        }\n        uVar23 = uVar29 << 4;\n        uVar3 = *(ushort *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 6);\n        uVar28 = (ulong)uVar3;\n        if (uVar3 < 0xff00) {\nLAB_001924f6:\n          local_134 = *(uint *)((long)&(param_8->super_Output_data)._vptr_Output_data +\n                               (ulong)uVar23 + 4);\n          pRVar27 = (Relobj *)(ulong)local_134;\n          local_134 = uVar5 + local_134;\n          if (bVar34) {\n            src_id.second = (uint)uVar28;\n            src_id.first = (Relobj *)target;\n            std::\n            vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n            ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                      (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);\n            bVar32 = true;\n            if ((*(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4) & 0xf)\n                != 3) goto LAB_001923f0;\nLAB_0019253e:\n            src_id.first = (Relobj *)0xffffffffffffffff;\n            std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::emplace_back<gold::Symbol*>\n                      (local_170,(Symbol **)&src_id);\n            goto LAB_0019240b;\n          }\n        }\n        else {\n          if (uVar3 == 0xffff) {\n            this = target->brlt_section_;\n            if (this == (Output_data_brlt_powerpc<32,_false> *)0x0) {\n              this = (Output_data_brlt_powerpc<32,_false> *)\n                     (**(code **)(*(long *)target + 0xd8))(target);\n              target->brlt_section_ = this;\n            }\n            uVar29 = Xindex::sym_xindex_to_shndx((Xindex *)this,(Object *)target,uVar29);\n            uVar28 = (ulong)uVar29;\n            goto LAB_001924f6;\n          }\n          local_134 = *(uint *)((long)&(param_8->super_Output_data)._vptr_Output_data +\n                               (ulong)uVar23 + 4);\n          pRVar27 = (Relobj *)(ulong)local_134;\n          local_134 = uVar5 + local_134;\n          if (!bVar34) goto LAB_00192480;\n          src_id.first = (Relobj *)0x0;\n          src_id._8_8_ = src_id._8_8_ & 0xffffffff00000000;\n                    /* try { // try from 001923d5 to 00192be2 has its CatchHandler @ 00192fd7 */\n          std::\n          vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n          ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                    (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);\n          bVar32 = false;\n          if ((*(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4) & 0xf) ==\n              3) goto LAB_0019253e;\nLAB_001923f0:\n          src_id.first = (Relobj *)0x0;\n          std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::emplace_back<gold::Symbol*>\n                    (local_170,(Symbol **)&src_id);\nLAB_0019240b:\n          src_id.first = pRVar27;\n          src_id._8_8_ = (long)(int)uVar5;\n          std::\n          vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n          ::emplace_back<std::pair<long_long_int,_long_long_int>_>\n                    (local_180,(pair<long_long_int,_long_long_int> *)&src_id);\n          src_id.first = (Relobj *)(ulong)*local_128;\n          iVar6._M_current =\n               (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n               )._M_impl._M_finish;\n          if (iVar6._M_current ==\n              (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>)\n              ._M_impl._M_end_of_storage) {\n            std::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>::\n            _M_realloc_insert<long_unsigned_int_const&>(local_168,iVar6,(ulong *)&src_id);\n          }\n          else {\n            *iVar6._M_current = (ulong)src_id.first;\n            (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>).\n            _M_impl._M_finish = iVar6._M_current + 1;\n          }\n          dst_id.first = (Relobj *)((ulong)dst_id.first & 0xffffffff00000000);\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::emplace_back<unsigned_int>\n                    (local_188,(uint *)&dst_id);\n          if (!bVar32) goto LAB_00192480;\n        }\n        if (((local_136 != '\0') &&\n            ((*(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4) & 0xf) !=\n             1)) && ((0x17 < uVar13 || ((0x843f84UL >> ((ulong)uVar4 & 0x3f) & 1) == 0)))) {\n          local_c0 = (uint)*(ushort *)\n                            ((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 6);\n          __node_gen_2._M_h = (__hashtable_alloc *)&symtab->icf_->fptr_section_id_;\n          local_c8 = target;\n          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          ::\n          _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                      *)__node_gen_2._M_h,&local_c8,&__node_gen_2,1);\n        }\n        pOVar30 = (Output_segment *)target;\n        if (shndx != (uint)uVar28) {\nLAB_001925a8:\n          if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n          }\n          if ((parameters->options_->gc_sections_).value != false) {\n            pGVar7 = symtab->gc_;\n            dst_id.second = (uint)uVar28;\n            p_Var8 = (pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                     _M_parent;\n            p_Var1 = &(pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header;\n            p_Var18 = &p_Var1->_M_header;\n            cVar15._M_node = &p_Var1->_M_header;\n            src_id_2.first = (Relobj *)target;\n            src_id_2.second = shndx;\n            dst_id.first = (Relobj *)pOVar30;\n            if (p_Var8 == (_Base_ptr)0x0) {\nLAB_00192660:\n              local_e8._M_head_impl = &src_id_2;\n              cVar15._M_node =\n                   (_Base_ptr)\n                   std::\n                   _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                   ::\n                   _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::pair<gold::Relobj*,_unsigned_int>&>,_std::tuple<>_>\n                             (&(pGVar7->section_reloc_map_)._M_t,cVar15,\n                              (piecewise_construct_t *)&std::piecewise_construct,\n                              (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)&local_e8,\n                              &local_10a);\n            }\n            else {\n              do {\n                while ((cVar15._M_node = p_Var8,\n                       target <= *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                       ((target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) ||\n                        (shndx <= *(uint *)&cVar15._M_node[1]._M_parent))))) {\n                  p_Var18 = cVar15._M_node;\n                  p_Var8 = (cVar15._M_node)->_M_left;\n                  if ((cVar15._M_node)->_M_left == (_Base_ptr)0x0) goto LAB_0019263a;\n                }\n                pp_Var2 = &(cVar15._M_node)->_M_right;\n                cVar15._M_node = p_Var18;\n                p_Var8 = *pp_Var2;\n              } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_0019263a:\n              if ((((_Rb_tree_header *)cVar15._M_node == p_Var1) ||\n                  (target < *(Target_powerpc<32,_false> **)(cVar15._M_node + 1))) ||\n                 ((target == *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                  (shndx < *(uint *)&cVar15._M_node[1]._M_parent)))) goto LAB_00192660;\n            }\n            __node_gen_1._M_h = (__hashtable_alloc *)&cVar15._M_node[1]._M_left;\n            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            ::\n            _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                        *)__node_gen_1._M_h,&dst_id,&__node_gen_1,1);\n            pTVar9 = parameters->target_;\n            if (pTVar9 == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x73,"sized_target");\n            }\n            (*pTVar9->_vptr_Target[0x41])\n                      (pTVar9,symtab,target,(ulong)src_obj & 0xffffffff,pOVar30,uVar28,\n                       (ulong)local_134);\n            if (local_158 != (_func_int_varargs **)0x0) {\n              pGVar7 = symtab->gc_;\n              src_id.first = (Relobj *)&stack0xffffffffffffffb8;\n              sVar16 = strlen((char *)local_158);\n              std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n              _M_construct<char_const*>\n                        ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                         &src_id,local_158,(byte *)((long)local_158 + sVar16));\n              iVar17 = std::\n                       _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                       ::find(&(pGVar7->cident_sections_)._M_t,\n                              (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                              &src_id);\n              if (src_id.first != (Relobj *)&stack0xffffffffffffffb8) {\n                operator_delete(src_id.first);\n              }\n              pGVar7 = symtab->gc_;\n              if ((_Rb_tree_header *)iVar17._M_node !=\n                  &(pGVar7->cident_sections_)._M_t._M_impl.super__Rb_tree_header) {\n                p_Var8 = (pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                         _M_parent;\n                p_Var1 = &(pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header;\n                src_id.second = shndx;\n                p_Var18 = &p_Var1->_M_header;\n                cVar15._M_node = &p_Var1->_M_header;\n                if (p_Var8 == (_Base_ptr)0x0) {\nLAB_00192b80:\n                  local_e0._M_head_impl = (pair<gold::Relobj*,_unsigned_int> *)&src_id;\n                  src_id.first = (Relobj *)target;\n                  cVar15._M_node =\n                       (_Base_ptr)\n                       std::\n                       _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                       ::\n                       _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::pair<gold::Relobj*,_unsigned_int>&>,_std::tuple<>_>\n                                 (&(pGVar7->section_reloc_map_)._M_t,cVar15,\n                                  (piecewise_construct_t *)&std::piecewise_construct,\n                                  (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)&local_e0,\n                                  &local_109);\n                }\n                else {\n                  do {\n                    while ((cVar15._M_node = p_Var8,\n                           target <= *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                           ((target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) ||\n                            (shndx <= *(uint *)&cVar15._M_node[1]._M_parent))))) {\n                      p_Var18 = cVar15._M_node;\n                      p_Var8 = (cVar15._M_node)->_M_left;\n                      if ((cVar15._M_node)->_M_left == (_Base_ptr)0x0) goto LAB_001927c2;\n                    }\n                    pp_Var2 = &(cVar15._M_node)->_M_right;\n                    cVar15._M_node = p_Var18;\n                    p_Var8 = *pp_Var2;\n                  } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_001927c2:\n                  if ((((_Rb_tree_header *)cVar15._M_node == p_Var1) ||\n                      (target < *(Target_powerpc<32,_false> **)(cVar15._M_node + 1))) ||\n                     ((src_id.first = (Relobj *)target,\n                      target == *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                      (shndx < *(uint *)&cVar15._M_node[1]._M_parent)))) goto LAB_00192b80;\n                }\n                for (p_Var10 = iVar17._M_node[2]._M_left; p_Var10 != (_Base_ptr)0x0;\n                    p_Var10 = *(_Base_ptr *)p_Var10) {\n                  __node_gen._M_h = (__hashtable_alloc *)&cVar15._M_node[1]._M_left;\n                  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                  ::\n                  _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                              *)&cVar15._M_node[1]._M_left,&p_Var10->_M_parent,&__node_gen,1);\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        uVar23 = (uint)(target->tocsave_loc_)._M_h._M_rehash_policy._M_next_resize;\n        if (uVar29 < uVar23) {\n          dst_id.first = (Relobj *)0x0;\nLAB_00192adb:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/gc.h",0x11c,"gc_process_relocs");\n        }\n        uVar28 = (ulong)(uVar29 - uVar23);\n        if ((ulong)(*(long *)&target->relax_fail_count_ - *(long *)&target->plt_thread_safe_ >> 3)\n            <= uVar28) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.h",0x8ad,"global_symbol");\n        }\n        dst_id.first = *(Relobj **)(*(long *)&target->plt_thread_safe_ + uVar28 * 8);\n        if (dst_id.first == (Relobj *)0x0) goto LAB_00192adb;\n        if ((((dst_id.first)->super_Object).shnum_ & 0x100000) != 0) {\n          dst_id.first = (Relobj *)Symbol_table::resolve_forwards(symtab,(Symbol *)dst_id.first);\n        }\n        if ((((dst_id.first)->super_Object).shnum_ & 0x70000) == 0) {\n          local_150 = *(uint *)&((dst_id.first)->super_Object).xindex_;\n          pOVar30 = ((anon_union_8_3_b0f6f408_for_u1_ *)\n                    &((dst_id.first)->super_Object).name_._M_string_length)->output_segment;\n          local_134 = uVar5 + local_150;\n          if (((ulong)pOVar30->output_lists_[2].\n                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                      _M_impl._M_finish & 0x100000000) == 0) {\n            uVar29 = *(uint *)&((dst_id.first)->super_Object).name_.field_2;\n            uVar28 = (ulong)uVar29;\n            bVar20 = (byte)((dst_id.first)->super_Object).shnum_ & 0xf;\n            bVar22 = *(byte *)((long)&((dst_id.first)->super_Object).shnum_ + 3) >> 5 & 1;\n            uVar31 = bVar20 < 2;\n            uVar35 = bVar20 == 2;\n            if ((bool)uVar35) {\n              uVar31 = 0;\n              uVar35 = local_136 == '\0';\n              if (!(bool)uVar35) {\n                uVar31 = false;\n                uVar35 = bVar22 == 0;\n                if (!(bool)uVar35) {\n                  uVar31 = uVar13 < 0x17;\n                  uVar35 = uVar13 == 0x17;\n                  if ((uVar13 < 0x18) &&\n                     (uVar31 = (0x843f84UL >> ((ulong)uVar4 & 0x3f) & 1) != 0, (bool)uVar31))\n                  goto LAB_00192930;\n                }\n                __node_gen_3._M_h = (__hashtable_alloc *)&symtab->icf_->fptr_section_id_;\n                local_d8 = pOVar30;\n                local_d0 = uVar29;\n                    /* try { // try from 00192ca4 to 00192e68 has its CatchHandler @ 00192fd7 */\n                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                ::\n                _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                            *)__node_gen_3._M_h,&local_d8,&__node_gen_3,1);\n              }\n            }\n          }\n          else {\n            bVar22 = 0;\n            uVar28 = 0;\n            uVar31 = 0;\n            pOVar30 = (Output_segment *)0x0;\n            uVar35 = 1;\n          }\n        }\n        else {\n          local_150 = *(uint *)&((dst_id.first)->super_Object).xindex_;\n          bVar22 = 0;\n          uVar28 = 0;\n          uVar31 = 0;\n          pOVar30 = (Output_segment *)0x0;\n          uVar35 = 1;\n          local_134 = uVar5 + local_150;\n        }\nLAB_00192930:\n        pp_Var11 = ((dst_id.first)->super_Object)._vptr_Object;\n        lVar19 = 8;\n        pbVar24 = (byte *)"__start_";\n        pp_Var25 = pp_Var11;\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          uVar31 = *pbVar24 < *(byte *)pp_Var25;\n          uVar35 = *pbVar24 == *(byte *)pp_Var25;\n          pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n          pp_Var25 = (_func_int_varargs **)((long)pp_Var25 + (ulong)bVar37 * -2 + 1);\n        } while ((bool)uVar35);\n        bVar32 = false;\n        bVar36 = (!(bool)uVar31 && !(bool)uVar35) == (bool)uVar31;\n        if (bVar36) {\n          pp_Var11 = pp_Var11 + 1;\n        }\n        else {\n          lVar19 = 7;\n          pbVar24 = (byte *)"__stop_";\n          pp_Var25 = pp_Var11;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar32 = *pbVar24 < *(byte *)pp_Var25;\n            bVar36 = *pbVar24 == *(byte *)pp_Var25;\n            pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n            pp_Var25 = (_func_int_varargs **)((long)pp_Var25 + (ulong)bVar37 * -2 + 1);\n          } while (bVar36);\n          pp_Var11 = (_func_int_varargs **)((long)pp_Var11 + 7);\n          if ((!bVar32 && !bVar36) != bVar32) {\n            pp_Var11 = local_158;\n          }\n        }\n        local_158 = pp_Var11;\n        if (bVar34) {\n          if (bVar22 == 0) {\n            src_id.first = (Relobj *)0x0;\n            src_id._8_8_ = (ulong)(uint)src_id._12_4_ << 0x20;\n            std::\n            vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n            ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                      (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);\n          }\n          else {\n            src_id.second = (uint)uVar28;\n            src_id.first = (Relobj *)pOVar30;\n            std::\n            vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n            ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                      (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);\n          }\n          __position._M_current =\n               (local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n               _M_impl._M_finish;\n          if (__position._M_current ==\n              (local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl\n              ._M_end_of_storage) {\n            std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::\n            _M_realloc_insert<gold::Symbol*_const&>(local_170,__position,(Symbol **)&dst_id);\n          }\n          else {\n            *__position._M_current = (Symbol *)dst_id.first;\n            (local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n            _M_finish = __position._M_current + 1;\n          }\n          src_id.first = (Relobj *)(ulong)local_150;\n          src_id._8_8_ = (long)(int)uVar5;\n          std::\n          vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n          ::emplace_back<std::pair<long_long_int,_long_long_int>_>\n                    (local_180,(pair<long_long_int,_long_long_int> *)&src_id);\n          src_id.first = (Relobj *)(ulong)*local_128;\n          iVar6._M_current =\n               (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n               )._M_impl._M_finish;\n          if (iVar6._M_current ==\n              (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>)\n              ._M_impl._M_end_of_storage) {\n            std::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>::\n            _M_realloc_insert<long_unsigned_int_const&>(local_168,iVar6,(ulong *)&src_id);\n          }\n          else {\n            *iVar6._M_current = (ulong)src_id.first;\n            (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>).\n            _M_impl._M_finish = iVar6._M_current + 1;\n          }\n          src_id_2.first = (Relobj *)((ulong)src_id_2.first & 0xffffffff00000000);\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::emplace_back<unsigned_int>\n                    (local_188,(uint *)&src_id_2);\n        }\n        if (bVar22 != 0) goto LAB_001925a8;\n      }\nLAB_00192480:\n      local_120 = local_120 + 1;\n      local_128 = local_128 + 3;\n    } while (prelocs != local_120);\n  }" if (parenthesized_expression "(prelocs != (uchar *)0x0)" ( (binary_expression "prelocs != (uchar *)0x0" identifier != (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    local_158 = (_func_int_varargs **)0x0;\n    local_120 = (uchar *)0x0;\n    do {\n      uVar4 = local_128[1];\n      uVar5 = local_128[2];\n      uVar29 = uVar4 >> 8;\n      uVar13 = uVar4 & 0xff;\n      if (uVar29 < reloc_count) {\n        if (param_8 == (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/gc.h",0xea,"gc_process_relocs");\n        }\n        uVar23 = uVar29 << 4;\n        uVar3 = *(ushort *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 6);\n        uVar28 = (ulong)uVar3;\n        if (uVar3 < 0xff00) {\nLAB_001924f6:\n          local_134 = *(uint *)((long)&(param_8->super_Output_data)._vptr_Output_data +\n                               (ulong)uVar23 + 4);\n          pRVar27 = (Relobj *)(ulong)local_134;\n          local_134 = uVar5 + local_134;\n          if (bVar34) {\n            src_id.second = (uint)uVar28;\n            src_id.first = (Relobj *)target;\n            std::\n            vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n            ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                      (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);\n            bVar32 = true;\n            if ((*(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4) & 0xf)\n                != 3) goto LAB_001923f0;\nLAB_0019253e:\n            src_id.first = (Relobj *)0xffffffffffffffff;\n            std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::emplace_back<gold::Symbol*>\n                      (local_170,(Symbol **)&src_id);\n            goto LAB_0019240b;\n          }\n        }\n        else {\n          if (uVar3 == 0xffff) {\n            this = target->brlt_section_;\n            if (this == (Output_data_brlt_powerpc<32,_false> *)0x0) {\n              this = (Output_data_brlt_powerpc<32,_false> *)\n                     (**(code **)(*(long *)target + 0xd8))(target);\n              target->brlt_section_ = this;\n            }\n            uVar29 = Xindex::sym_xindex_to_shndx((Xindex *)this,(Object *)target,uVar29);\n            uVar28 = (ulong)uVar29;\n            goto LAB_001924f6;\n          }\n          local_134 = *(uint *)((long)&(param_8->super_Output_data)._vptr_Output_data +\n                               (ulong)uVar23 + 4);\n          pRVar27 = (Relobj *)(ulong)local_134;\n          local_134 = uVar5 + local_134;\n          if (!bVar34) goto LAB_00192480;\n          src_id.first = (Relobj *)0x0;\n          src_id._8_8_ = src_id._8_8_ & 0xffffffff00000000;\n                    /* try { // try from 001923d5 to 00192be2 has its CatchHandler @ 00192fd7 */\n          std::\n          vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n          ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                    (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);\n          bVar32 = false;\n          if ((*(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4) & 0xf) ==\n              3) goto LAB_0019253e;\nLAB_001923f0:\n          src_id.first = (Relobj *)0x0;\n          std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::emplace_back<gold::Symbol*>\n                    (local_170,(Symbol **)&src_id);\nLAB_0019240b:\n          src_id.first = pRVar27;\n          src_id._8_8_ = (long)(int)uVar5;\n          std::\n          vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n          ::emplace_back<std::pair<long_long_int,_long_long_int>_>\n                    (local_180,(pair<long_long_int,_long_long_int> *)&src_id);\n          src_id.first = (Relobj *)(ulong)*local_128;\n          iVar6._M_current =\n               (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n               )._M_impl._M_finish;\n          if (iVar6._M_current ==\n              (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>)\n              ._M_impl._M_end_of_storage) {\n            std::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>::\n            _M_realloc_insert<long_unsigned_int_const&>(local_168,iVar6,(ulong *)&src_id);\n          }\n          else {\n            *iVar6._M_current = (ulong)src_id.first;\n            (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>).\n            _M_impl._M_finish = iVar6._M_current + 1;\n          }\n          dst_id.first = (Relobj *)((ulong)dst_id.first & 0xffffffff00000000);\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::emplace_back<unsigned_int>\n                    (local_188,(uint *)&dst_id);\n          if (!bVar32) goto LAB_00192480;\n        }\n        if (((local_136 != '\0') &&\n            ((*(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4) & 0xf) !=\n             1)) && ((0x17 < uVar13 || ((0x843f84UL >> ((ulong)uVar4 & 0x3f) & 1) == 0)))) {\n          local_c0 = (uint)*(ushort *)\n                            ((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 6);\n          __node_gen_2._M_h = (__hashtable_alloc *)&symtab->icf_->fptr_section_id_;\n          local_c8 = target;\n          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          ::\n          _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                      *)__node_gen_2._M_h,&local_c8,&__node_gen_2,1);\n        }\n        pOVar30 = (Output_segment *)target;\n        if (shndx != (uint)uVar28) {\nLAB_001925a8:\n          if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n          }\n          if ((parameters->options_->gc_sections_).value != false) {\n            pGVar7 = symtab->gc_;\n            dst_id.second = (uint)uVar28;\n            p_Var8 = (pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                     _M_parent;\n            p_Var1 = &(pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header;\n            p_Var18 = &p_Var1->_M_header;\n            cVar15._M_node = &p_Var1->_M_header;\n            src_id_2.first = (Relobj *)target;\n            src_id_2.second = shndx;\n            dst_id.first = (Relobj *)pOVar30;\n            if (p_Var8 == (_Base_ptr)0x0) {\nLAB_00192660:\n              local_e8._M_head_impl = &src_id_2;\n              cVar15._M_node =\n                   (_Base_ptr)\n                   std::\n                   _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                   ::\n                   _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::pair<gold::Relobj*,_unsigned_int>&>,_std::tuple<>_>\n                             (&(pGVar7->section_reloc_map_)._M_t,cVar15,\n                              (piecewise_construct_t *)&std::piecewise_construct,\n                              (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)&local_e8,\n                              &local_10a);\n            }\n            else {\n              do {\n                while ((cVar15._M_node = p_Var8,\n                       target <= *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                       ((target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) ||\n                        (shndx <= *(uint *)&cVar15._M_node[1]._M_parent))))) {\n                  p_Var18 = cVar15._M_node;\n                  p_Var8 = (cVar15._M_node)->_M_left;\n                  if ((cVar15._M_node)->_M_left == (_Base_ptr)0x0) goto LAB_0019263a;\n                }\n                pp_Var2 = &(cVar15._M_node)->_M_right;\n                cVar15._M_node = p_Var18;\n                p_Var8 = *pp_Var2;\n              } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_0019263a:\n              if ((((_Rb_tree_header *)cVar15._M_node == p_Var1) ||\n                  (target < *(Target_powerpc<32,_false> **)(cVar15._M_node + 1))) ||\n                 ((target == *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                  (shndx < *(uint *)&cVar15._M_node[1]._M_parent)))) goto LAB_00192660;\n            }\n            __node_gen_1._M_h = (__hashtable_alloc *)&cVar15._M_node[1]._M_left;\n            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            ::\n            _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                        *)__node_gen_1._M_h,&dst_id,&__node_gen_1,1);\n            pTVar9 = parameters->target_;\n            if (pTVar9 == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x73,"sized_target");\n            }\n            (*pTVar9->_vptr_Target[0x41])\n                      (pTVar9,symtab,target,(ulong)src_obj & 0xffffffff,pOVar30,uVar28,\n                       (ulong)local_134);\n            if (local_158 != (_func_int_varargs **)0x0) {\n              pGVar7 = symtab->gc_;\n              src_id.first = (Relobj *)&stack0xffffffffffffffb8;\n              sVar16 = strlen((char *)local_158);\n              std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n              _M_construct<char_const*>\n                        ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                         &src_id,local_158,(byte *)((long)local_158 + sVar16));\n              iVar17 = std::\n                       _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                       ::find(&(pGVar7->cident_sections_)._M_t,\n                              (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                              &src_id);\n              if (src_id.first != (Relobj *)&stack0xffffffffffffffb8) {\n                operator_delete(src_id.first);\n              }\n              pGVar7 = symtab->gc_;\n              if ((_Rb_tree_header *)iVar17._M_node !=\n                  &(pGVar7->cident_sections_)._M_t._M_impl.super__Rb_tree_header) {\n                p_Var8 = (pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                         _M_parent;\n                p_Var1 = &(pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header;\n                src_id.second = shndx;\n                p_Var18 = &p_Var1->_M_header;\n                cVar15._M_node = &p_Var1->_M_header;\n                if (p_Var8 == (_Base_ptr)0x0) {\nLAB_00192b80:\n                  local_e0._M_head_impl = (pair<gold::Relobj*,_unsigned_int> *)&src_id;\n                  src_id.first = (Relobj *)target;\n                  cVar15._M_node =\n                       (_Base_ptr)\n                       std::\n                       _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                       ::\n                       _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::pair<gold::Relobj*,_unsigned_int>&>,_std::tuple<>_>\n                                 (&(pGVar7->section_reloc_map_)._M_t,cVar15,\n                                  (piecewise_construct_t *)&std::piecewise_construct,\n                                  (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)&local_e0,\n                                  &local_109);\n                }\n                else {\n                  do {\n                    while ((cVar15._M_node = p_Var8,\n                           target <= *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                           ((target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) ||\n                            (shndx <= *(uint *)&cVar15._M_node[1]._M_parent))))) {\n                      p_Var18 = cVar15._M_node;\n                      p_Var8 = (cVar15._M_node)->_M_left;\n                      if ((cVar15._M_node)->_M_left == (_Base_ptr)0x0) goto LAB_001927c2;\n                    }\n                    pp_Var2 = &(cVar15._M_node)->_M_right;\n                    cVar15._M_node = p_Var18;\n                    p_Var8 = *pp_Var2;\n                  } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_001927c2:\n                  if ((((_Rb_tree_header *)cVar15._M_node == p_Var1) ||\n                      (target < *(Target_powerpc<32,_false> **)(cVar15._M_node + 1))) ||\n                     ((src_id.first = (Relobj *)target,\n                      target == *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                      (shndx < *(uint *)&cVar15._M_node[1]._M_parent)))) goto LAB_00192b80;\n                }\n                for (p_Var10 = iVar17._M_node[2]._M_left; p_Var10 != (_Base_ptr)0x0;\n                    p_Var10 = *(_Base_ptr *)p_Var10) {\n                  __node_gen._M_h = (__hashtable_alloc *)&cVar15._M_node[1]._M_left;\n                  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                  ::\n                  _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                              *)&cVar15._M_node[1]._M_left,&p_Var10->_M_parent,&__node_gen,1);\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        uVar23 = (uint)(target->tocsave_loc_)._M_h._M_rehash_policy._M_next_resize;\n        if (uVar29 < uVar23) {\n          dst_id.first = (Relobj *)0x0;\nLAB_00192adb:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/gc.h",0x11c,"gc_process_relocs");\n        }\n        uVar28 = (ulong)(uVar29 - uVar23);\n        if ((ulong)(*(long *)&target->relax_fail_count_ - *(long *)&target->plt_thread_safe_ >> 3)\n            <= uVar28) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.h",0x8ad,"global_symbol");\n        }\n        dst_id.first = *(Relobj **)(*(long *)&target->plt_thread_safe_ + uVar28 * 8);\n        if (dst_id.first == (Relobj *)0x0) goto LAB_00192adb;\n        if ((((dst_id.first)->super_Object).shnum_ & 0x100000) != 0) {\n          dst_id.first = (Relobj *)Symbol_table::resolve_forwards(symtab,(Symbol *)dst_id.first);\n        }\n        if ((((dst_id.first)->super_Object).shnum_ & 0x70000) == 0) {\n          local_150 = *(uint *)&((dst_id.first)->super_Object).xindex_;\n          pOVar30 = ((anon_union_8_3_b0f6f408_for_u1_ *)\n                    &((dst_id.first)->super_Object).name_._M_string_length)->output_segment;\n          local_134 = uVar5 + local_150;\n          if (((ulong)pOVar30->output_lists_[2].\n                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                      _M_impl._M_finish & 0x100000000) == 0) {\n            uVar29 = *(uint *)&((dst_id.first)->super_Object).name_.field_2;\n            uVar28 = (ulong)uVar29;\n            bVar20 = (byte)((dst_id.first)->super_Object).shnum_ & 0xf;\n            bVar22 = *(byte *)((long)&((dst_id.first)->super_Object).shnum_ + 3) >> 5 & 1;\n            uVar31 = bVar20 < 2;\n            uVar35 = bVar20 == 2;\n            if ((bool)uVar35) {\n              uVar31 = 0;\n              uVar35 = local_136 == '\0';\n              if (!(bool)uVar35) {\n                uVar31 = false;\n                uVar35 = bVar22 == 0;\n                if (!(bool)uVar35) {\n                  uVar31 = uVar13 < 0x17;\n                  uVar35 = uVar13 == 0x17;\n                  if ((uVar13 < 0x18) &&\n                     (uVar31 = (0x843f84UL >> ((ulong)uVar4 & 0x3f) & 1) != 0, (bool)uVar31))\n                  goto LAB_00192930;\n                }\n                __node_gen_3._M_h = (__hashtable_alloc *)&symtab->icf_->fptr_section_id_;\n                local_d8 = pOVar30;\n                local_d0 = uVar29;\n                    /* try { // try from 00192ca4 to 00192e68 has its CatchHandler @ 00192fd7 */\n                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                ::\n                _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                            *)__node_gen_3._M_h,&local_d8,&__node_gen_3,1);\n              }\n            }\n          }\n          else {\n            bVar22 = 0;\n            uVar28 = 0;\n            uVar31 = 0;\n            pOVar30 = (Output_segment *)0x0;\n            uVar35 = 1;\n          }\n        }\n        else {\n          local_150 = *(uint *)&((dst_id.first)->super_Object).xindex_;\n          bVar22 = 0;\n          uVar28 = 0;\n          uVar31 = 0;\n          pOVar30 = (Output_segment *)0x0;\n          uVar35 = 1;\n          local_134 = uVar5 + local_150;\n        }\nLAB_00192930:\n        pp_Var11 = ((dst_id.first)->super_Object)._vptr_Object;\n        lVar19 = 8;\n        pbVar24 = (byte *)"__start_";\n        pp_Var25 = pp_Var11;\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          uVar31 = *pbVar24 < *(byte *)pp_Var25;\n          uVar35 = *pbVar24 == *(byte *)pp_Var25;\n          pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n          pp_Var25 = (_func_int_varargs **)((long)pp_Var25 + (ulong)bVar37 * -2 + 1);\n        } while ((bool)uVar35);\n        bVar32 = false;\n        bVar36 = (!(bool)uVar31 && !(bool)uVar35) == (bool)uVar31;\n        if (bVar36) {\n          pp_Var11 = pp_Var11 + 1;\n        }\n        else {\n          lVar19 = 7;\n          pbVar24 = (byte *)"__stop_";\n          pp_Var25 = pp_Var11;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar32 = *pbVar24 < *(byte *)pp_Var25;\n            bVar36 = *pbVar24 == *(byte *)pp_Var25;\n            pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n            pp_Var25 = (_func_int_varargs **)((long)pp_Var25 + (ulong)bVar37 * -2 + 1);\n          } while (bVar36);\n          pp_Var11 = (_func_int_varargs **)((long)pp_Var11 + 7);\n          if ((!bVar32 && !bVar36) != bVar32) {\n            pp_Var11 = local_158;\n          }\n        }\n        local_158 = pp_Var11;\n        if (bVar34) {\n          if (bVar22 == 0) {\n            src_id.first = (Relobj *)0x0;\n            src_id._8_8_ = (ulong)(uint)src_id._12_4_ << 0x20;\n            std::\n            vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n            ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                      (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);\n          }\n          else {\n            src_id.second = (uint)uVar28;\n            src_id.first = (Relobj *)pOVar30;\n            std::\n            vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n            ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                      (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);\n          }\n          __position._M_current =\n               (local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n               _M_impl._M_finish;\n          if (__position._M_current ==\n              (local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl\n              ._M_end_of_storage) {\n            std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::\n            _M_realloc_insert<gold::Symbol*_const&>(local_170,__position,(Symbol **)&dst_id);\n          }\n          else {\n            *__position._M_current = (Symbol *)dst_id.first;\n            (local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n            _M_finish = __position._M_current + 1;\n          }\n          src_id.first = (Relobj *)(ulong)local_150;\n          src_id._8_8_ = (long)(int)uVar5;\n          std::\n          vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n          ::emplace_back<std::pair<long_long_int,_long_long_int>_>\n                    (local_180,(pair<long_long_int,_long_long_int> *)&src_id);\n          src_id.first = (Relobj *)(ulong)*local_128;\n          iVar6._M_current =\n               (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n               )._M_impl._M_finish;\n          if (iVar6._M_current ==\n              (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>)\n              ._M_impl._M_end_of_storage) {\n            std::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>::\n            _M_realloc_insert<long_unsigned_int_const&>(local_168,iVar6,(ulong *)&src_id);\n          }\n          else {\n            *iVar6._M_current = (ulong)src_id.first;\n            (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>).\n            _M_impl._M_finish = iVar6._M_current + 1;\n          }\n          src_id_2.first = (Relobj *)((ulong)src_id_2.first & 0xffffffff00000000);\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::emplace_back<unsigned_int>\n                    (local_188,(uint *)&src_id_2);\n        }\n        if (bVar22 != 0) goto LAB_001925a8;\n      }\nLAB_00192480:\n      local_120 = local_120 + 1;\n      local_128 = local_128 + 3;\n    } while (prelocs != local_120);\n  }" { (expression_statement "local_158 = (_func_int_varargs **)0x0;" (assignment_expression "local_158 = (_func_int_varargs **)0x0" identifier = (cast_expression "(_func_int_varargs **)0x0" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_120 = (uchar *)0x0;" (assignment_expression "local_120 = (uchar *)0x0" identifier = (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n      uVar4 = local_128[1];\n      uVar5 = local_128[2];\n      uVar29 = uVar4 >> 8;\n      uVar13 = uVar4 & 0xff;\n      if (uVar29 < reloc_count) {\n        if (param_8 == (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/gc.h",0xea,"gc_process_relocs");\n        }\n        uVar23 = uVar29 << 4;\n        uVar3 = *(ushort *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 6);\n        uVar28 = (ulong)uVar3;\n        if (uVar3 < 0xff00) {\nLAB_001924f6:\n          local_134 = *(uint *)((long)&(param_8->super_Output_data)._vptr_Output_data +\n                               (ulong)uVar23 + 4);\n          pRVar27 = (Relobj *)(ulong)local_134;\n          local_134 = uVar5 + local_134;\n          if (bVar34) {\n            src_id.second = (uint)uVar28;\n            src_id.first = (Relobj *)target;\n            std::\n            vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n            ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                      (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);\n            bVar32 = true;\n            if ((*(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4) & 0xf)\n                != 3) goto LAB_001923f0;\nLAB_0019253e:\n            src_id.first = (Relobj *)0xffffffffffffffff;\n            std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::emplace_back<gold::Symbol*>\n                      (local_170,(Symbol **)&src_id);\n            goto LAB_0019240b;\n          }\n        }\n        else {\n          if (uVar3 == 0xffff) {\n            this = target->brlt_section_;\n            if (this == (Output_data_brlt_powerpc<32,_false> *)0x0) {\n              this = (Output_data_brlt_powerpc<32,_false> *)\n                     (**(code **)(*(long *)target + 0xd8))(target);\n              target->brlt_section_ = this;\n            }\n            uVar29 = Xindex::sym_xindex_to_shndx((Xindex *)this,(Object *)target,uVar29);\n            uVar28 = (ulong)uVar29;\n            goto LAB_001924f6;\n          }\n          local_134 = *(uint *)((long)&(param_8->super_Output_data)._vptr_Output_data +\n                               (ulong)uVar23 + 4);\n          pRVar27 = (Relobj *)(ulong)local_134;\n          local_134 = uVar5 + local_134;\n          if (!bVar34) goto LAB_00192480;\n          src_id.first = (Relobj *)0x0;\n          src_id._8_8_ = src_id._8_8_ & 0xffffffff00000000;\n                    /* try { // try from 001923d5 to 00192be2 has its CatchHandler @ 00192fd7 */\n          std::\n          vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n          ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                    (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);\n          bVar32 = false;\n          if ((*(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4) & 0xf) ==\n              3) goto LAB_0019253e;\nLAB_001923f0:\n          src_id.first = (Relobj *)0x0;\n          std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::emplace_back<gold::Symbol*>\n                    (local_170,(Symbol **)&src_id);\nLAB_0019240b:\n          src_id.first = pRVar27;\n          src_id._8_8_ = (long)(int)uVar5;\n          std::\n          vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n          ::emplace_back<std::pair<long_long_int,_long_long_int>_>\n                    (local_180,(pair<long_long_int,_long_long_int> *)&src_id);\n          src_id.first = (Relobj *)(ulong)*local_128;\n          iVar6._M_current =\n               (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n               )._M_impl._M_finish;\n          if (iVar6._M_current ==\n              (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>)\n              ._M_impl._M_end_of_storage) {\n            std::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>::\n            _M_realloc_insert<long_unsigned_int_const&>(local_168,iVar6,(ulong *)&src_id);\n          }\n          else {\n            *iVar6._M_current = (ulong)src_id.first;\n            (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>).\n            _M_impl._M_finish = iVar6._M_current + 1;\n          }\n          dst_id.first = (Relobj *)((ulong)dst_id.first & 0xffffffff00000000);\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::emplace_back<unsigned_int>\n                    (local_188,(uint *)&dst_id);\n          if (!bVar32) goto LAB_00192480;\n        }\n        if (((local_136 != '\0') &&\n            ((*(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4) & 0xf) !=\n             1)) && ((0x17 < uVar13 || ((0x843f84UL >> ((ulong)uVar4 & 0x3f) & 1) == 0)))) {\n          local_c0 = (uint)*(ushort *)\n                            ((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 6);\n          __node_gen_2._M_h = (__hashtable_alloc *)&symtab->icf_->fptr_section_id_;\n          local_c8 = target;\n          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          ::\n          _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                      *)__node_gen_2._M_h,&local_c8,&__node_gen_2,1);\n        }\n        pOVar30 = (Output_segment *)target;\n        if (shndx != (uint)uVar28) {\nLAB_001925a8:\n          if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n          }\n          if ((parameters->options_->gc_sections_).value != false) {\n            pGVar7 = symtab->gc_;\n            dst_id.second = (uint)uVar28;\n            p_Var8 = (pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                     _M_parent;\n            p_Var1 = &(pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header;\n            p_Var18 = &p_Var1->_M_header;\n            cVar15._M_node = &p_Var1->_M_header;\n            src_id_2.first = (Relobj *)target;\n            src_id_2.second = shndx;\n            dst_id.first = (Relobj *)pOVar30;\n            if (p_Var8 == (_Base_ptr)0x0) {\nLAB_00192660:\n              local_e8._M_head_impl = &src_id_2;\n              cVar15._M_node =\n                   (_Base_ptr)\n                   std::\n                   _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                   ::\n                   _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::pair<gold::Relobj*,_unsigned_int>&>,_std::tuple<>_>\n                             (&(pGVar7->section_reloc_map_)._M_t,cVar15,\n                              (piecewise_construct_t *)&std::piecewise_construct,\n                              (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)&local_e8,\n                              &local_10a);\n            }\n            else {\n              do {\n                while ((cVar15._M_node = p_Var8,\n                       target <= *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                       ((target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) ||\n                        (shndx <= *(uint *)&cVar15._M_node[1]._M_parent))))) {\n                  p_Var18 = cVar15._M_node;\n                  p_Var8 = (cVar15._M_node)->_M_left;\n                  if ((cVar15._M_node)->_M_left == (_Base_ptr)0x0) goto LAB_0019263a;\n                }\n                pp_Var2 = &(cVar15._M_node)->_M_right;\n                cVar15._M_node = p_Var18;\n                p_Var8 = *pp_Var2;\n              } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_0019263a:\n              if ((((_Rb_tree_header *)cVar15._M_node == p_Var1) ||\n                  (target < *(Target_powerpc<32,_false> **)(cVar15._M_node + 1))) ||\n                 ((target == *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                  (shndx < *(uint *)&cVar15._M_node[1]._M_parent)))) goto LAB_00192660;\n            }\n            __node_gen_1._M_h = (__hashtable_alloc *)&cVar15._M_node[1]._M_left;\n            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            ::\n            _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                        *)__node_gen_1._M_h,&dst_id,&__node_gen_1,1);\n            pTVar9 = parameters->target_;\n            if (pTVar9 == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x73,"sized_target");\n            }\n            (*pTVar9->_vptr_Target[0x41])\n                      (pTVar9,symtab,target,(ulong)src_obj & 0xffffffff,pOVar30,uVar28,\n                       (ulong)local_134);\n            if (local_158 != (_func_int_varargs **)0x0) {\n              pGVar7 = symtab->gc_;\n              src_id.first = (Relobj *)&stack0xffffffffffffffb8;\n              sVar16 = strlen((char *)local_158);\n              std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n              _M_construct<char_const*>\n                        ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                         &src_id,local_158,(byte *)((long)local_158 + sVar16));\n              iVar17 = std::\n                       _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                       ::find(&(pGVar7->cident_sections_)._M_t,\n                              (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                              &src_id);\n              if (src_id.first != (Relobj *)&stack0xffffffffffffffb8) {\n                operator_delete(src_id.first);\n              }\n              pGVar7 = symtab->gc_;\n              if ((_Rb_tree_header *)iVar17._M_node !=\n                  &(pGVar7->cident_sections_)._M_t._M_impl.super__Rb_tree_header) {\n                p_Var8 = (pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                         _M_parent;\n                p_Var1 = &(pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header;\n                src_id.second = shndx;\n                p_Var18 = &p_Var1->_M_header;\n                cVar15._M_node = &p_Var1->_M_header;\n                if (p_Var8 == (_Base_ptr)0x0) {\nLAB_00192b80:\n                  local_e0._M_head_impl = (pair<gold::Relobj*,_unsigned_int> *)&src_id;\n                  src_id.first = (Relobj *)target;\n                  cVar15._M_node =\n                       (_Base_ptr)\n                       std::\n                       _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                       ::\n                       _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::pair<gold::Relobj*,_unsigned_int>&>,_std::tuple<>_>\n                                 (&(pGVar7->section_reloc_map_)._M_t,cVar15,\n                                  (piecewise_construct_t *)&std::piecewise_construct,\n                                  (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)&local_e0,\n                                  &local_109);\n                }\n                else {\n                  do {\n                    while ((cVar15._M_node = p_Var8,\n                           target <= *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                           ((target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) ||\n                            (shndx <= *(uint *)&cVar15._M_node[1]._M_parent))))) {\n                      p_Var18 = cVar15._M_node;\n                      p_Var8 = (cVar15._M_node)->_M_left;\n                      if ((cVar15._M_node)->_M_left == (_Base_ptr)0x0) goto LAB_001927c2;\n                    }\n                    pp_Var2 = &(cVar15._M_node)->_M_right;\n                    cVar15._M_node = p_Var18;\n                    p_Var8 = *pp_Var2;\n                  } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_001927c2:\n                  if ((((_Rb_tree_header *)cVar15._M_node == p_Var1) ||\n                      (target < *(Target_powerpc<32,_false> **)(cVar15._M_node + 1))) ||\n                     ((src_id.first = (Relobj *)target,\n                      target == *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                      (shndx < *(uint *)&cVar15._M_node[1]._M_parent)))) goto LAB_00192b80;\n                }\n                for (p_Var10 = iVar17._M_node[2]._M_left; p_Var10 != (_Base_ptr)0x0;\n                    p_Var10 = *(_Base_ptr *)p_Var10) {\n                  __node_gen._M_h = (__hashtable_alloc *)&cVar15._M_node[1]._M_left;\n                  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                  ::\n                  _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                              *)&cVar15._M_node[1]._M_left,&p_Var10->_M_parent,&__node_gen,1);\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        uVar23 = (uint)(target->tocsave_loc_)._M_h._M_rehash_policy._M_next_resize;\n        if (uVar29 < uVar23) {\n          dst_id.first = (Relobj *)0x0;\nLAB_00192adb:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/gc.h",0x11c,"gc_process_relocs");\n        }\n        uVar28 = (ulong)(uVar29 - uVar23);\n        if ((ulong)(*(long *)&target->relax_fail_count_ - *(long *)&target->plt_thread_safe_ >> 3)\n            <= uVar28) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.h",0x8ad,"global_symbol");\n        }\n        dst_id.first = *(Relobj **)(*(long *)&target->plt_thread_safe_ + uVar28 * 8);\n        if (dst_id.first == (Relobj *)0x0) goto LAB_00192adb;\n        if ((((dst_id.first)->super_Object).shnum_ & 0x100000) != 0) {\n          dst_id.first = (Relobj *)Symbol_table::resolve_forwards(symtab,(Symbol *)dst_id.first);\n        }\n        if ((((dst_id.first)->super_Object).shnum_ & 0x70000) == 0) {\n          local_150 = *(uint *)&((dst_id.first)->super_Object).xindex_;\n          pOVar30 = ((anon_union_8_3_b0f6f408_for_u1_ *)\n                    &((dst_id.first)->super_Object).name_._M_string_length)->output_segment;\n          local_134 = uVar5 + local_150;\n          if (((ulong)pOVar30->output_lists_[2].\n                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                      _M_impl._M_finish & 0x100000000) == 0) {\n            uVar29 = *(uint *)&((dst_id.first)->super_Object).name_.field_2;\n            uVar28 = (ulong)uVar29;\n            bVar20 = (byte)((dst_id.first)->super_Object).shnum_ & 0xf;\n            bVar22 = *(byte *)((long)&((dst_id.first)->super_Object).shnum_ + 3) >> 5 & 1;\n            uVar31 = bVar20 < 2;\n            uVar35 = bVar20 == 2;\n            if ((bool)uVar35) {\n              uVar31 = 0;\n              uVar35 = local_136 == '\0';\n              if (!(bool)uVar35) {\n                uVar31 = false;\n                uVar35 = bVar22 == 0;\n                if (!(bool)uVar35) {\n                  uVar31 = uVar13 < 0x17;\n                  uVar35 = uVar13 == 0x17;\n                  if ((uVar13 < 0x18) &&\n                     (uVar31 = (0x843f84UL >> ((ulong)uVar4 & 0x3f) & 1) != 0, (bool)uVar31))\n                  goto LAB_00192930;\n                }\n                __node_gen_3._M_h = (__hashtable_alloc *)&symtab->icf_->fptr_section_id_;\n                local_d8 = pOVar30;\n                local_d0 = uVar29;\n                    /* try { // try from 00192ca4 to 00192e68 has its CatchHandler @ 00192fd7 */\n                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                ::\n                _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                            *)__node_gen_3._M_h,&local_d8,&__node_gen_3,1);\n              }\n            }\n          }\n          else {\n            bVar22 = 0;\n            uVar28 = 0;\n            uVar31 = 0;\n            pOVar30 = (Output_segment *)0x0;\n            uVar35 = 1;\n          }\n        }\n        else {\n          local_150 = *(uint *)&((dst_id.first)->super_Object).xindex_;\n          bVar22 = 0;\n          uVar28 = 0;\n          uVar31 = 0;\n          pOVar30 = (Output_segment *)0x0;\n          uVar35 = 1;\n          local_134 = uVar5 + local_150;\n        }\nLAB_00192930:\n        pp_Var11 = ((dst_id.first)->super_Object)._vptr_Object;\n        lVar19 = 8;\n        pbVar24 = (byte *)"__start_";\n        pp_Var25 = pp_Var11;\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          uVar31 = *pbVar24 < *(byte *)pp_Var25;\n          uVar35 = *pbVar24 == *(byte *)pp_Var25;\n          pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n          pp_Var25 = (_func_int_varargs **)((long)pp_Var25 + (ulong)bVar37 * -2 + 1);\n        } while ((bool)uVar35);\n        bVar32 = false;\n        bVar36 = (!(bool)uVar31 && !(bool)uVar35) == (bool)uVar31;\n        if (bVar36) {\n          pp_Var11 = pp_Var11 + 1;\n        }\n        else {\n          lVar19 = 7;\n          pbVar24 = (byte *)"__stop_";\n          pp_Var25 = pp_Var11;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar32 = *pbVar24 < *(byte *)pp_Var25;\n            bVar36 = *pbVar24 == *(byte *)pp_Var25;\n            pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n            pp_Var25 = (_func_int_varargs **)((long)pp_Var25 + (ulong)bVar37 * -2 + 1);\n          } while (bVar36);\n          pp_Var11 = (_func_int_varargs **)((long)pp_Var11 + 7);\n          if ((!bVar32 && !bVar36) != bVar32) {\n            pp_Var11 = local_158;\n          }\n        }\n        local_158 = pp_Var11;\n        if (bVar34) {\n          if (bVar22 == 0) {\n            src_id.first = (Relobj *)0x0;\n            src_id._8_8_ = (ulong)(uint)src_id._12_4_ << 0x20;\n            std::\n            vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n            ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                      (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);\n          }\n          else {\n            src_id.second = (uint)uVar28;\n            src_id.first = (Relobj *)pOVar30;\n            std::\n            vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n            ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                      (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);\n          }\n          __position._M_current =\n               (local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n               _M_impl._M_finish;\n          if (__position._M_current ==\n              (local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl\n              ._M_end_of_storage) {\n            std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::\n            _M_realloc_insert<gold::Symbol*_const&>(local_170,__position,(Symbol **)&dst_id);\n          }\n          else {\n            *__position._M_current = (Symbol *)dst_id.first;\n            (local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n            _M_finish = __position._M_current + 1;\n          }\n          src_id.first = (Relobj *)(ulong)local_150;\n          src_id._8_8_ = (long)(int)uVar5;\n          std::\n          vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n          ::emplace_back<std::pair<long_long_int,_long_long_int>_>\n                    (local_180,(pair<long_long_int,_long_long_int> *)&src_id);\n          src_id.first = (Relobj *)(ulong)*local_128;\n          iVar6._M_current =\n               (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n               )._M_impl._M_finish;\n          if (iVar6._M_current ==\n              (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>)\n              ._M_impl._M_end_of_storage) {\n            std::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>::\n            _M_realloc_insert<long_unsigned_int_const&>(local_168,iVar6,(ulong *)&src_id);\n          }\n          else {\n            *iVar6._M_current = (ulong)src_id.first;\n            (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>).\n            _M_impl._M_finish = iVar6._M_current + 1;\n          }\n          src_id_2.first = (Relobj *)((ulong)src_id_2.first & 0xffffffff00000000);\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::emplace_back<unsigned_int>\n                    (local_188,(uint *)&src_id_2);\n        }\n        if (bVar22 != 0) goto LAB_001925a8;\n      }\nLAB_00192480:\n      local_120 = local_120 + 1;\n      local_128 = local_128 + 3;\n    } while (prelocs != local_120);" do (compound_statement "{\n      uVar4 = local_128[1];\n      uVar5 = local_128[2];\n      uVar29 = uVar4 >> 8;\n      uVar13 = uVar4 & 0xff;\n      if (uVar29 < reloc_count) {\n        if (param_8 == (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/gc.h",0xea,"gc_process_relocs");\n        }\n        uVar23 = uVar29 << 4;\n        uVar3 = *(ushort *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 6);\n        uVar28 = (ulong)uVar3;\n        if (uVar3 < 0xff00) {\nLAB_001924f6:\n          local_134 = *(uint *)((long)&(param_8->super_Output_data)._vptr_Output_data +\n                               (ulong)uVar23 + 4);\n          pRVar27 = (Relobj *)(ulong)local_134;\n          local_134 = uVar5 + local_134;\n          if (bVar34) {\n            src_id.second = (uint)uVar28;\n            src_id.first = (Relobj *)target;\n            std::\n            vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n            ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                      (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);\n            bVar32 = true;\n            if ((*(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4) & 0xf)\n                != 3) goto LAB_001923f0;\nLAB_0019253e:\n            src_id.first = (Relobj *)0xffffffffffffffff;\n            std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::emplace_back<gold::Symbol*>\n                      (local_170,(Symbol **)&src_id);\n            goto LAB_0019240b;\n          }\n        }\n        else {\n          if (uVar3 == 0xffff) {\n            this = target->brlt_section_;\n            if (this == (Output_data_brlt_powerpc<32,_false> *)0x0) {\n              this = (Output_data_brlt_powerpc<32,_false> *)\n                     (**(code **)(*(long *)target + 0xd8))(target);\n              target->brlt_section_ = this;\n            }\n            uVar29 = Xindex::sym_xindex_to_shndx((Xindex *)this,(Object *)target,uVar29);\n            uVar28 = (ulong)uVar29;\n            goto LAB_001924f6;\n          }\n          local_134 = *(uint *)((long)&(param_8->super_Output_data)._vptr_Output_data +\n                               (ulong)uVar23 + 4);\n          pRVar27 = (Relobj *)(ulong)local_134;\n          local_134 = uVar5 + local_134;\n          if (!bVar34) goto LAB_00192480;\n          src_id.first = (Relobj *)0x0;\n          src_id._8_8_ = src_id._8_8_ & 0xffffffff00000000;\n                    /* try { // try from 001923d5 to 00192be2 has its CatchHandler @ 00192fd7 */\n          std::\n          vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n          ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                    (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);\n          bVar32 = false;\n          if ((*(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4) & 0xf) ==\n              3) goto LAB_0019253e;\nLAB_001923f0:\n          src_id.first = (Relobj *)0x0;\n          std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::emplace_back<gold::Symbol*>\n                    (local_170,(Symbol **)&src_id);\nLAB_0019240b:\n          src_id.first = pRVar27;\n          src_id._8_8_ = (long)(int)uVar5;\n          std::\n          vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n          ::emplace_back<std::pair<long_long_int,_long_long_int>_>\n                    (local_180,(pair<long_long_int,_long_long_int> *)&src_id);\n          src_id.first = (Relobj *)(ulong)*local_128;\n          iVar6._M_current =\n               (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n               )._M_impl._M_finish;\n          if (iVar6._M_current ==\n              (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>)\n              ._M_impl._M_end_of_storage) {\n            std::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>::\n            _M_realloc_insert<long_unsigned_int_const&>(local_168,iVar6,(ulong *)&src_id);\n          }\n          else {\n            *iVar6._M_current = (ulong)src_id.first;\n            (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>).\n            _M_impl._M_finish = iVar6._M_current + 1;\n          }\n          dst_id.first = (Relobj *)((ulong)dst_id.first & 0xffffffff00000000);\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::emplace_back<unsigned_int>\n                    (local_188,(uint *)&dst_id);\n          if (!bVar32) goto LAB_00192480;\n        }\n        if (((local_136 != '\0') &&\n            ((*(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4) & 0xf) !=\n             1)) && ((0x17 < uVar13 || ((0x843f84UL >> ((ulong)uVar4 & 0x3f) & 1) == 0)))) {\n          local_c0 = (uint)*(ushort *)\n                            ((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 6);\n          __node_gen_2._M_h = (__hashtable_alloc *)&symtab->icf_->fptr_section_id_;\n          local_c8 = target;\n          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          ::\n          _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                      *)__node_gen_2._M_h,&local_c8,&__node_gen_2,1);\n        }\n        pOVar30 = (Output_segment *)target;\n        if (shndx != (uint)uVar28) {\nLAB_001925a8:\n          if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n          }\n          if ((parameters->options_->gc_sections_).value != false) {\n            pGVar7 = symtab->gc_;\n            dst_id.second = (uint)uVar28;\n            p_Var8 = (pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                     _M_parent;\n            p_Var1 = &(pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header;\n            p_Var18 = &p_Var1->_M_header;\n            cVar15._M_node = &p_Var1->_M_header;\n            src_id_2.first = (Relobj *)target;\n            src_id_2.second = shndx;\n            dst_id.first = (Relobj *)pOVar30;\n            if (p_Var8 == (_Base_ptr)0x0) {\nLAB_00192660:\n              local_e8._M_head_impl = &src_id_2;\n              cVar15._M_node =\n                   (_Base_ptr)\n                   std::\n                   _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                   ::\n                   _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::pair<gold::Relobj*,_unsigned_int>&>,_std::tuple<>_>\n                             (&(pGVar7->section_reloc_map_)._M_t,cVar15,\n                              (piecewise_construct_t *)&std::piecewise_construct,\n                              (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)&local_e8,\n                              &local_10a);\n            }\n            else {\n              do {\n                while ((cVar15._M_node = p_Var8,\n                       target <= *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                       ((target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) ||\n                        (shndx <= *(uint *)&cVar15._M_node[1]._M_parent))))) {\n                  p_Var18 = cVar15._M_node;\n                  p_Var8 = (cVar15._M_node)->_M_left;\n                  if ((cVar15._M_node)->_M_left == (_Base_ptr)0x0) goto LAB_0019263a;\n                }\n                pp_Var2 = &(cVar15._M_node)->_M_right;\n                cVar15._M_node = p_Var18;\n                p_Var8 = *pp_Var2;\n              } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_0019263a:\n              if ((((_Rb_tree_header *)cVar15._M_node == p_Var1) ||\n                  (target < *(Target_powerpc<32,_false> **)(cVar15._M_node + 1))) ||\n                 ((target == *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                  (shndx < *(uint *)&cVar15._M_node[1]._M_parent)))) goto LAB_00192660;\n            }\n            __node_gen_1._M_h = (__hashtable_alloc *)&cVar15._M_node[1]._M_left;\n            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            ::\n            _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                        *)__node_gen_1._M_h,&dst_id,&__node_gen_1,1);\n            pTVar9 = parameters->target_;\n            if (pTVar9 == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x73,"sized_target");\n            }\n            (*pTVar9->_vptr_Target[0x41])\n                      (pTVar9,symtab,target,(ulong)src_obj & 0xffffffff,pOVar30,uVar28,\n                       (ulong)local_134);\n            if (local_158 != (_func_int_varargs **)0x0) {\n              pGVar7 = symtab->gc_;\n              src_id.first = (Relobj *)&stack0xffffffffffffffb8;\n              sVar16 = strlen((char *)local_158);\n              std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n              _M_construct<char_const*>\n                        ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                         &src_id,local_158,(byte *)((long)local_158 + sVar16));\n              iVar17 = std::\n                       _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                       ::find(&(pGVar7->cident_sections_)._M_t,\n                              (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                              &src_id);\n              if (src_id.first != (Relobj *)&stack0xffffffffffffffb8) {\n                operator_delete(src_id.first);\n              }\n              pGVar7 = symtab->gc_;\n              if ((_Rb_tree_header *)iVar17._M_node !=\n                  &(pGVar7->cident_sections_)._M_t._M_impl.super__Rb_tree_header) {\n                p_Var8 = (pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                         _M_parent;\n                p_Var1 = &(pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header;\n                src_id.second = shndx;\n                p_Var18 = &p_Var1->_M_header;\n                cVar15._M_node = &p_Var1->_M_header;\n                if (p_Var8 == (_Base_ptr)0x0) {\nLAB_00192b80:\n                  local_e0._M_head_impl = (pair<gold::Relobj*,_unsigned_int> *)&src_id;\n                  src_id.first = (Relobj *)target;\n                  cVar15._M_node =\n                       (_Base_ptr)\n                       std::\n                       _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                       ::\n                       _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::pair<gold::Relobj*,_unsigned_int>&>,_std::tuple<>_>\n                                 (&(pGVar7->section_reloc_map_)._M_t,cVar15,\n                                  (piecewise_construct_t *)&std::piecewise_construct,\n                                  (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)&local_e0,\n                                  &local_109);\n                }\n                else {\n                  do {\n                    while ((cVar15._M_node = p_Var8,\n                           target <= *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                           ((target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) ||\n                            (shndx <= *(uint *)&cVar15._M_node[1]._M_parent))))) {\n                      p_Var18 = cVar15._M_node;\n                      p_Var8 = (cVar15._M_node)->_M_left;\n                      if ((cVar15._M_node)->_M_left == (_Base_ptr)0x0) goto LAB_001927c2;\n                    }\n                    pp_Var2 = &(cVar15._M_node)->_M_right;\n                    cVar15._M_node = p_Var18;\n                    p_Var8 = *pp_Var2;\n                  } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_001927c2:\n                  if ((((_Rb_tree_header *)cVar15._M_node == p_Var1) ||\n                      (target < *(Target_powerpc<32,_false> **)(cVar15._M_node + 1))) ||\n                     ((src_id.first = (Relobj *)target,\n                      target == *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                      (shndx < *(uint *)&cVar15._M_node[1]._M_parent)))) goto LAB_00192b80;\n                }\n                for (p_Var10 = iVar17._M_node[2]._M_left; p_Var10 != (_Base_ptr)0x0;\n                    p_Var10 = *(_Base_ptr *)p_Var10) {\n                  __node_gen._M_h = (__hashtable_alloc *)&cVar15._M_node[1]._M_left;\n                  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                  ::\n                  _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                              *)&cVar15._M_node[1]._M_left,&p_Var10->_M_parent,&__node_gen,1);\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        uVar23 = (uint)(target->tocsave_loc_)._M_h._M_rehash_policy._M_next_resize;\n        if (uVar29 < uVar23) {\n          dst_id.first = (Relobj *)0x0;\nLAB_00192adb:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/gc.h",0x11c,"gc_process_relocs");\n        }\n        uVar28 = (ulong)(uVar29 - uVar23);\n        if ((ulong)(*(long *)&target->relax_fail_count_ - *(long *)&target->plt_thread_safe_ >> 3)\n            <= uVar28) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.h",0x8ad,"global_symbol");\n        }\n        dst_id.first = *(Relobj **)(*(long *)&target->plt_thread_safe_ + uVar28 * 8);\n        if (dst_id.first == (Relobj *)0x0) goto LAB_00192adb;\n        if ((((dst_id.first)->super_Object).shnum_ & 0x100000) != 0) {\n          dst_id.first = (Relobj *)Symbol_table::resolve_forwards(symtab,(Symbol *)dst_id.first);\n        }\n        if ((((dst_id.first)->super_Object).shnum_ & 0x70000) == 0) {\n          local_150 = *(uint *)&((dst_id.first)->super_Object).xindex_;\n          pOVar30 = ((anon_union_8_3_b0f6f408_for_u1_ *)\n                    &((dst_id.first)->super_Object).name_._M_string_length)->output_segment;\n          local_134 = uVar5 + local_150;\n          if (((ulong)pOVar30->output_lists_[2].\n                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                      _M_impl._M_finish & 0x100000000) == 0) {\n            uVar29 = *(uint *)&((dst_id.first)->super_Object).name_.field_2;\n            uVar28 = (ulong)uVar29;\n            bVar20 = (byte)((dst_id.first)->super_Object).shnum_ & 0xf;\n            bVar22 = *(byte *)((long)&((dst_id.first)->super_Object).shnum_ + 3) >> 5 & 1;\n            uVar31 = bVar20 < 2;\n            uVar35 = bVar20 == 2;\n            if ((bool)uVar35) {\n              uVar31 = 0;\n              uVar35 = local_136 == '\0';\n              if (!(bool)uVar35) {\n                uVar31 = false;\n                uVar35 = bVar22 == 0;\n                if (!(bool)uVar35) {\n                  uVar31 = uVar13 < 0x17;\n                  uVar35 = uVar13 == 0x17;\n                  if ((uVar13 < 0x18) &&\n                     (uVar31 = (0x843f84UL >> ((ulong)uVar4 & 0x3f) & 1) != 0, (bool)uVar31))\n                  goto LAB_00192930;\n                }\n                __node_gen_3._M_h = (__hashtable_alloc *)&symtab->icf_->fptr_section_id_;\n                local_d8 = pOVar30;\n                local_d0 = uVar29;\n                    /* try { // try from 00192ca4 to 00192e68 has its CatchHandler @ 00192fd7 */\n                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                ::\n                _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                            *)__node_gen_3._M_h,&local_d8,&__node_gen_3,1);\n              }\n            }\n          }\n          else {\n            bVar22 = 0;\n            uVar28 = 0;\n            uVar31 = 0;\n            pOVar30 = (Output_segment *)0x0;\n            uVar35 = 1;\n          }\n        }\n        else {\n          local_150 = *(uint *)&((dst_id.first)->super_Object).xindex_;\n          bVar22 = 0;\n          uVar28 = 0;\n          uVar31 = 0;\n          pOVar30 = (Output_segment *)0x0;\n          uVar35 = 1;\n          local_134 = uVar5 + local_150;\n        }\nLAB_00192930:\n        pp_Var11 = ((dst_id.first)->super_Object)._vptr_Object;\n        lVar19 = 8;\n        pbVar24 = (byte *)"__start_";\n        pp_Var25 = pp_Var11;\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          uVar31 = *pbVar24 < *(byte *)pp_Var25;\n          uVar35 = *pbVar24 == *(byte *)pp_Var25;\n          pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n          pp_Var25 = (_func_int_varargs **)((long)pp_Var25 + (ulong)bVar37 * -2 + 1);\n        } while ((bool)uVar35);\n        bVar32 = false;\n        bVar36 = (!(bool)uVar31 && !(bool)uVar35) == (bool)uVar31;\n        if (bVar36) {\n          pp_Var11 = pp_Var11 + 1;\n        }\n        else {\n          lVar19 = 7;\n          pbVar24 = (byte *)"__stop_";\n          pp_Var25 = pp_Var11;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar32 = *pbVar24 < *(byte *)pp_Var25;\n            bVar36 = *pbVar24 == *(byte *)pp_Var25;\n            pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n            pp_Var25 = (_func_int_varargs **)((long)pp_Var25 + (ulong)bVar37 * -2 + 1);\n          } while (bVar36);\n          pp_Var11 = (_func_int_varargs **)((long)pp_Var11 + 7);\n          if ((!bVar32 && !bVar36) != bVar32) {\n            pp_Var11 = local_158;\n          }\n        }\n        local_158 = pp_Var11;\n        if (bVar34) {\n          if (bVar22 == 0) {\n            src_id.first = (Relobj *)0x0;\n            src_id._8_8_ = (ulong)(uint)src_id._12_4_ << 0x20;\n            std::\n            vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n            ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                      (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);\n          }\n          else {\n            src_id.second = (uint)uVar28;\n            src_id.first = (Relobj *)pOVar30;\n            std::\n            vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n            ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                      (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);\n          }\n          __position._M_current =\n               (local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n               _M_impl._M_finish;\n          if (__position._M_current ==\n              (local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl\n              ._M_end_of_storage) {\n            std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::\n            _M_realloc_insert<gold::Symbol*_const&>(local_170,__position,(Symbol **)&dst_id);\n          }\n          else {\n            *__position._M_current = (Symbol *)dst_id.first;\n            (local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n            _M_finish = __position._M_current + 1;\n          }\n          src_id.first = (Relobj *)(ulong)local_150;\n          src_id._8_8_ = (long)(int)uVar5;\n          std::\n          vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n          ::emplace_back<std::pair<long_long_int,_long_long_int>_>\n                    (local_180,(pair<long_long_int,_long_long_int> *)&src_id);\n          src_id.first = (Relobj *)(ulong)*local_128;\n          iVar6._M_current =\n               (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n               )._M_impl._M_finish;\n          if (iVar6._M_current ==\n              (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>)\n              ._M_impl._M_end_of_storage) {\n            std::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>::\n            _M_realloc_insert<long_unsigned_int_const&>(local_168,iVar6,(ulong *)&src_id);\n          }\n          else {\n            *iVar6._M_current = (ulong)src_id.first;\n            (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>).\n            _M_impl._M_finish = iVar6._M_current + 1;\n          }\n          src_id_2.first = (Relobj *)((ulong)src_id_2.first & 0xffffffff00000000);\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::emplace_back<unsigned_int>\n                    (local_188,(uint *)&src_id_2);\n        }\n        if (bVar22 != 0) goto LAB_001925a8;\n      }\nLAB_00192480:\n      local_120 = local_120 + 1;\n      local_128 = local_128 + 3;\n    }" { (expression_statement "uVar4 = local_128[1];" (assignment_expression "uVar4 = local_128[1]" identifier = (subscript_expression "local_128[1]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = local_128[2];" (assignment_expression "uVar5 = local_128[2]" identifier = (subscript_expression "local_128[2]" identifier [ number_literal ])) ;) (expression_statement "uVar29 = uVar4 >> 8;" (assignment_expression "uVar29 = uVar4 >> 8" identifier = (binary_expression "uVar4 >> 8" identifier >> number_literal)) ;) (expression_statement "uVar13 = uVar4 & 0xff;" (assignment_expression "uVar13 = uVar4 & 0xff" identifier = (binary_expression "uVar4 & 0xff" identifier & number_literal)) ;) (if_statement "if (uVar29 < reloc_count) {\n        if (param_8 == (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/gc.h",0xea,"gc_process_relocs");\n        }\n        uVar23 = uVar29 << 4;\n        uVar3 = *(ushort *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 6);\n        uVar28 = (ulong)uVar3;\n        if (uVar3 < 0xff00) {\nLAB_001924f6:\n          local_134 = *(uint *)((long)&(param_8->super_Output_data)._vptr_Output_data +\n                               (ulong)uVar23 + 4);\n          pRVar27 = (Relobj *)(ulong)local_134;\n          local_134 = uVar5 + local_134;\n          if (bVar34) {\n            src_id.second = (uint)uVar28;\n            src_id.first = (Relobj *)target;\n            std::\n            vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n            ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                      (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);\n            bVar32 = true;\n            if ((*(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4) & 0xf)\n                != 3) goto LAB_001923f0;\nLAB_0019253e:\n            src_id.first = (Relobj *)0xffffffffffffffff;\n            std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::emplace_back<gold::Symbol*>\n                      (local_170,(Symbol **)&src_id);\n            goto LAB_0019240b;\n          }\n        }\n        else {\n          if (uVar3 == 0xffff) {\n            this = target->brlt_section_;\n            if (this == (Output_data_brlt_powerpc<32,_false> *)0x0) {\n              this = (Output_data_brlt_powerpc<32,_false> *)\n                     (**(code **)(*(long *)target + 0xd8))(target);\n              target->brlt_section_ = this;\n            }\n            uVar29 = Xindex::sym_xindex_to_shndx((Xindex *)this,(Object *)target,uVar29);\n            uVar28 = (ulong)uVar29;\n            goto LAB_001924f6;\n          }\n          local_134 = *(uint *)((long)&(param_8->super_Output_data)._vptr_Output_data +\n                               (ulong)uVar23 + 4);\n          pRVar27 = (Relobj *)(ulong)local_134;\n          local_134 = uVar5 + local_134;\n          if (!bVar34) goto LAB_00192480;\n          src_id.first = (Relobj *)0x0;\n          src_id._8_8_ = src_id._8_8_ & 0xffffffff00000000;\n                    /* try { // try from 001923d5 to 00192be2 has its CatchHandler @ 00192fd7 */\n          std::\n          vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n          ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                    (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);\n          bVar32 = false;\n          if ((*(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4) & 0xf) ==\n              3) goto LAB_0019253e;\nLAB_001923f0:\n          src_id.first = (Relobj *)0x0;\n          std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::emplace_back<gold::Symbol*>\n                    (local_170,(Symbol **)&src_id);\nLAB_0019240b:\n          src_id.first = pRVar27;\n          src_id._8_8_ = (long)(int)uVar5;\n          std::\n          vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n          ::emplace_back<std::pair<long_long_int,_long_long_int>_>\n                    (local_180,(pair<long_long_int,_long_long_int> *)&src_id);\n          src_id.first = (Relobj *)(ulong)*local_128;\n          iVar6._M_current =\n               (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n               )._M_impl._M_finish;\n          if (iVar6._M_current ==\n              (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>)\n              ._M_impl._M_end_of_storage) {\n            std::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>::\n            _M_realloc_insert<long_unsigned_int_const&>(local_168,iVar6,(ulong *)&src_id);\n          }\n          else {\n            *iVar6._M_current = (ulong)src_id.first;\n            (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>).\n            _M_impl._M_finish = iVar6._M_current + 1;\n          }\n          dst_id.first = (Relobj *)((ulong)dst_id.first & 0xffffffff00000000);\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::emplace_back<unsigned_int>\n                    (local_188,(uint *)&dst_id);\n          if (!bVar32) goto LAB_00192480;\n        }\n        if (((local_136 != '\0') &&\n            ((*(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4) & 0xf) !=\n             1)) && ((0x17 < uVar13 || ((0x843f84UL >> ((ulong)uVar4 & 0x3f) & 1) == 0)))) {\n          local_c0 = (uint)*(ushort *)\n                            ((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 6);\n          __node_gen_2._M_h = (__hashtable_alloc *)&symtab->icf_->fptr_section_id_;\n          local_c8 = target;\n          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          ::\n          _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                      *)__node_gen_2._M_h,&local_c8,&__node_gen_2,1);\n        }\n        pOVar30 = (Output_segment *)target;\n        if (shndx != (uint)uVar28) {\nLAB_001925a8:\n          if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n          }\n          if ((parameters->options_->gc_sections_).value != false) {\n            pGVar7 = symtab->gc_;\n            dst_id.second = (uint)uVar28;\n            p_Var8 = (pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                     _M_parent;\n            p_Var1 = &(pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header;\n            p_Var18 = &p_Var1->_M_header;\n            cVar15._M_node = &p_Var1->_M_header;\n            src_id_2.first = (Relobj *)target;\n            src_id_2.second = shndx;\n            dst_id.first = (Relobj *)pOVar30;\n            if (p_Var8 == (_Base_ptr)0x0) {\nLAB_00192660:\n              local_e8._M_head_impl = &src_id_2;\n              cVar15._M_node =\n                   (_Base_ptr)\n                   std::\n                   _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                   ::\n                   _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::pair<gold::Relobj*,_unsigned_int>&>,_std::tuple<>_>\n                             (&(pGVar7->section_reloc_map_)._M_t,cVar15,\n                              (piecewise_construct_t *)&std::piecewise_construct,\n                              (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)&local_e8,\n                              &local_10a);\n            }\n            else {\n              do {\n                while ((cVar15._M_node = p_Var8,\n                       target <= *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                       ((target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) ||\n                        (shndx <= *(uint *)&cVar15._M_node[1]._M_parent))))) {\n                  p_Var18 = cVar15._M_node;\n                  p_Var8 = (cVar15._M_node)->_M_left;\n                  if ((cVar15._M_node)->_M_left == (_Base_ptr)0x0) goto LAB_0019263a;\n                }\n                pp_Var2 = &(cVar15._M_node)->_M_right;\n                cVar15._M_node = p_Var18;\n                p_Var8 = *pp_Var2;\n              } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_0019263a:\n              if ((((_Rb_tree_header *)cVar15._M_node == p_Var1) ||\n                  (target < *(Target_powerpc<32,_false> **)(cVar15._M_node + 1))) ||\n                 ((target == *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                  (shndx < *(uint *)&cVar15._M_node[1]._M_parent)))) goto LAB_00192660;\n            }\n            __node_gen_1._M_h = (__hashtable_alloc *)&cVar15._M_node[1]._M_left;\n            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            ::\n            _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                        *)__node_gen_1._M_h,&dst_id,&__node_gen_1,1);\n            pTVar9 = parameters->target_;\n            if (pTVar9 == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x73,"sized_target");\n            }\n            (*pTVar9->_vptr_Target[0x41])\n                      (pTVar9,symtab,target,(ulong)src_obj & 0xffffffff,pOVar30,uVar28,\n                       (ulong)local_134);\n            if (local_158 != (_func_int_varargs **)0x0) {\n              pGVar7 = symtab->gc_;\n              src_id.first = (Relobj *)&stack0xffffffffffffffb8;\n              sVar16 = strlen((char *)local_158);\n              std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n              _M_construct<char_const*>\n                        ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                         &src_id,local_158,(byte *)((long)local_158 + sVar16));\n              iVar17 = std::\n                       _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                       ::find(&(pGVar7->cident_sections_)._M_t,\n                              (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                              &src_id);\n              if (src_id.first != (Relobj *)&stack0xffffffffffffffb8) {\n                operator_delete(src_id.first);\n              }\n              pGVar7 = symtab->gc_;\n              if ((_Rb_tree_header *)iVar17._M_node !=\n                  &(pGVar7->cident_sections_)._M_t._M_impl.super__Rb_tree_header) {\n                p_Var8 = (pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                         _M_parent;\n                p_Var1 = &(pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header;\n                src_id.second = shndx;\n                p_Var18 = &p_Var1->_M_header;\n                cVar15._M_node = &p_Var1->_M_header;\n                if (p_Var8 == (_Base_ptr)0x0) {\nLAB_00192b80:\n                  local_e0._M_head_impl = (pair<gold::Relobj*,_unsigned_int> *)&src_id;\n                  src_id.first = (Relobj *)target;\n                  cVar15._M_node =\n                       (_Base_ptr)\n                       std::\n                       _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                       ::\n                       _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::pair<gold::Relobj*,_unsigned_int>&>,_std::tuple<>_>\n                                 (&(pGVar7->section_reloc_map_)._M_t,cVar15,\n                                  (piecewise_construct_t *)&std::piecewise_construct,\n                                  (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)&local_e0,\n                                  &local_109);\n                }\n                else {\n                  do {\n                    while ((cVar15._M_node = p_Var8,\n                           target <= *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                           ((target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) ||\n                            (shndx <= *(uint *)&cVar15._M_node[1]._M_parent))))) {\n                      p_Var18 = cVar15._M_node;\n                      p_Var8 = (cVar15._M_node)->_M_left;\n                      if ((cVar15._M_node)->_M_left == (_Base_ptr)0x0) goto LAB_001927c2;\n                    }\n                    pp_Var2 = &(cVar15._M_node)->_M_right;\n                    cVar15._M_node = p_Var18;\n                    p_Var8 = *pp_Var2;\n                  } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_001927c2:\n                  if ((((_Rb_tree_header *)cVar15._M_node == p_Var1) ||\n                      (target < *(Target_powerpc<32,_false> **)(cVar15._M_node + 1))) ||\n                     ((src_id.first = (Relobj *)target,\n                      target == *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                      (shndx < *(uint *)&cVar15._M_node[1]._M_parent)))) goto LAB_00192b80;\n                }\n                for (p_Var10 = iVar17._M_node[2]._M_left; p_Var10 != (_Base_ptr)0x0;\n                    p_Var10 = *(_Base_ptr *)p_Var10) {\n                  __node_gen._M_h = (__hashtable_alloc *)&cVar15._M_node[1]._M_left;\n                  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                  ::\n                  _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                              *)&cVar15._M_node[1]._M_left,&p_Var10->_M_parent,&__node_gen,1);\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        uVar23 = (uint)(target->tocsave_loc_)._M_h._M_rehash_policy._M_next_resize;\n        if (uVar29 < uVar23) {\n          dst_id.first = (Relobj *)0x0;\nLAB_00192adb:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/gc.h",0x11c,"gc_process_relocs");\n        }\n        uVar28 = (ulong)(uVar29 - uVar23);\n        if ((ulong)(*(long *)&target->relax_fail_count_ - *(long *)&target->plt_thread_safe_ >> 3)\n            <= uVar28) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.h",0x8ad,"global_symbol");\n        }\n        dst_id.first = *(Relobj **)(*(long *)&target->plt_thread_safe_ + uVar28 * 8);\n        if (dst_id.first == (Relobj *)0x0) goto LAB_00192adb;\n        if ((((dst_id.first)->super_Object).shnum_ & 0x100000) != 0) {\n          dst_id.first = (Relobj *)Symbol_table::resolve_forwards(symtab,(Symbol *)dst_id.first);\n        }\n        if ((((dst_id.first)->super_Object).shnum_ & 0x70000) == 0) {\n          local_150 = *(uint *)&((dst_id.first)->super_Object).xindex_;\n          pOVar30 = ((anon_union_8_3_b0f6f408_for_u1_ *)\n                    &((dst_id.first)->super_Object).name_._M_string_length)->output_segment;\n          local_134 = uVar5 + local_150;\n          if (((ulong)pOVar30->output_lists_[2].\n                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                      _M_impl._M_finish & 0x100000000) == 0) {\n            uVar29 = *(uint *)&((dst_id.first)->super_Object).name_.field_2;\n            uVar28 = (ulong)uVar29;\n            bVar20 = (byte)((dst_id.first)->super_Object).shnum_ & 0xf;\n            bVar22 = *(byte *)((long)&((dst_id.first)->super_Object).shnum_ + 3) >> 5 & 1;\n            uVar31 = bVar20 < 2;\n            uVar35 = bVar20 == 2;\n            if ((bool)uVar35) {\n              uVar31 = 0;\n              uVar35 = local_136 == '\0';\n              if (!(bool)uVar35) {\n                uVar31 = false;\n                uVar35 = bVar22 == 0;\n                if (!(bool)uVar35) {\n                  uVar31 = uVar13 < 0x17;\n                  uVar35 = uVar13 == 0x17;\n                  if ((uVar13 < 0x18) &&\n                     (uVar31 = (0x843f84UL >> ((ulong)uVar4 & 0x3f) & 1) != 0, (bool)uVar31))\n                  goto LAB_00192930;\n                }\n                __node_gen_3._M_h = (__hashtable_alloc *)&symtab->icf_->fptr_section_id_;\n                local_d8 = pOVar30;\n                local_d0 = uVar29;\n                    /* try { // try from 00192ca4 to 00192e68 has its CatchHandler @ 00192fd7 */\n                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                ::\n                _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                            *)__node_gen_3._M_h,&local_d8,&__node_gen_3,1);\n              }\n            }\n          }\n          else {\n            bVar22 = 0;\n            uVar28 = 0;\n            uVar31 = 0;\n            pOVar30 = (Output_segment *)0x0;\n            uVar35 = 1;\n          }\n        }\n        else {\n          local_150 = *(uint *)&((dst_id.first)->super_Object).xindex_;\n          bVar22 = 0;\n          uVar28 = 0;\n          uVar31 = 0;\n          pOVar30 = (Output_segment *)0x0;\n          uVar35 = 1;\n          local_134 = uVar5 + local_150;\n        }\nLAB_00192930:\n        pp_Var11 = ((dst_id.first)->super_Object)._vptr_Object;\n        lVar19 = 8;\n        pbVar24 = (byte *)"__start_";\n        pp_Var25 = pp_Var11;\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          uVar31 = *pbVar24 < *(byte *)pp_Var25;\n          uVar35 = *pbVar24 == *(byte *)pp_Var25;\n          pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n          pp_Var25 = (_func_int_varargs **)((long)pp_Var25 + (ulong)bVar37 * -2 + 1);\n        } while ((bool)uVar35);\n        bVar32 = false;\n        bVar36 = (!(bool)uVar31 && !(bool)uVar35) == (bool)uVar31;\n        if (bVar36) {\n          pp_Var11 = pp_Var11 + 1;\n        }\n        else {\n          lVar19 = 7;\n          pbVar24 = (byte *)"__stop_";\n          pp_Var25 = pp_Var11;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar32 = *pbVar24 < *(byte *)pp_Var25;\n            bVar36 = *pbVar24 == *(byte *)pp_Var25;\n            pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n            pp_Var25 = (_func_int_varargs **)((long)pp_Var25 + (ulong)bVar37 * -2 + 1);\n          } while (bVar36);\n          pp_Var11 = (_func_int_varargs **)((long)pp_Var11 + 7);\n          if ((!bVar32 && !bVar36) != bVar32) {\n            pp_Var11 = local_158;\n          }\n        }\n        local_158 = pp_Var11;\n        if (bVar34) {\n          if (bVar22 == 0) {\n            src_id.first = (Relobj *)0x0;\n            src_id._8_8_ = (ulong)(uint)src_id._12_4_ << 0x20;\n            std::\n            vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n            ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                      (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);\n          }\n          else {\n            src_id.second = (uint)uVar28;\n            src_id.first = (Relobj *)pOVar30;\n            std::\n            vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n            ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                      (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);\n          }\n          __position._M_current =\n               (local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n               _M_impl._M_finish;\n          if (__position._M_current ==\n              (local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl\n              ._M_end_of_storage) {\n            std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::\n            _M_realloc_insert<gold::Symbol*_const&>(local_170,__position,(Symbol **)&dst_id);\n          }\n          else {\n            *__position._M_current = (Symbol *)dst_id.first;\n            (local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n            _M_finish = __position._M_current + 1;\n          }\n          src_id.first = (Relobj *)(ulong)local_150;\n          src_id._8_8_ = (long)(int)uVar5;\n          std::\n          vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n          ::emplace_back<std::pair<long_long_int,_long_long_int>_>\n                    (local_180,(pair<long_long_int,_long_long_int> *)&src_id);\n          src_id.first = (Relobj *)(ulong)*local_128;\n          iVar6._M_current =\n               (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n               )._M_impl._M_finish;\n          if (iVar6._M_current ==\n              (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>)\n              ._M_impl._M_end_of_storage) {\n            std::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>::\n            _M_realloc_insert<long_unsigned_int_const&>(local_168,iVar6,(ulong *)&src_id);\n          }\n          else {\n            *iVar6._M_current = (ulong)src_id.first;\n            (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>).\n            _M_impl._M_finish = iVar6._M_current + 1;\n          }\n          src_id_2.first = (Relobj *)((ulong)src_id_2.first & 0xffffffff00000000);\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::emplace_back<unsigned_int>\n                    (local_188,(uint *)&src_id_2);\n        }\n        if (bVar22 != 0) goto LAB_001925a8;\n      }" if (parenthesized_expression "(uVar29 < reloc_count)" ( (binary_expression "uVar29 < reloc_count" identifier < identifier) )) (compound_statement "{\n        if (param_8 == (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/gc.h",0xea,"gc_process_relocs");\n        }\n        uVar23 = uVar29 << 4;\n        uVar3 = *(ushort *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 6);\n        uVar28 = (ulong)uVar3;\n        if (uVar3 < 0xff00) {\nLAB_001924f6:\n          local_134 = *(uint *)((long)&(param_8->super_Output_data)._vptr_Output_data +\n                               (ulong)uVar23 + 4);\n          pRVar27 = (Relobj *)(ulong)local_134;\n          local_134 = uVar5 + local_134;\n          if (bVar34) {\n            src_id.second = (uint)uVar28;\n            src_id.first = (Relobj *)target;\n            std::\n            vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n            ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                      (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);\n            bVar32 = true;\n            if ((*(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4) & 0xf)\n                != 3) goto LAB_001923f0;\nLAB_0019253e:\n            src_id.first = (Relobj *)0xffffffffffffffff;\n            std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::emplace_back<gold::Symbol*>\n                      (local_170,(Symbol **)&src_id);\n            goto LAB_0019240b;\n          }\n        }\n        else {\n          if (uVar3 == 0xffff) {\n            this = target->brlt_section_;\n            if (this == (Output_data_brlt_powerpc<32,_false> *)0x0) {\n              this = (Output_data_brlt_powerpc<32,_false> *)\n                     (**(code **)(*(long *)target + 0xd8))(target);\n              target->brlt_section_ = this;\n            }\n            uVar29 = Xindex::sym_xindex_to_shndx((Xindex *)this,(Object *)target,uVar29);\n            uVar28 = (ulong)uVar29;\n            goto LAB_001924f6;\n          }\n          local_134 = *(uint *)((long)&(param_8->super_Output_data)._vptr_Output_data +\n                               (ulong)uVar23 + 4);\n          pRVar27 = (Relobj *)(ulong)local_134;\n          local_134 = uVar5 + local_134;\n          if (!bVar34) goto LAB_00192480;\n          src_id.first = (Relobj *)0x0;\n          src_id._8_8_ = src_id._8_8_ & 0xffffffff00000000;\n                    /* try { // try from 001923d5 to 00192be2 has its CatchHandler @ 00192fd7 */\n          std::\n          vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n          ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                    (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);\n          bVar32 = false;\n          if ((*(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4) & 0xf) ==\n              3) goto LAB_0019253e;\nLAB_001923f0:\n          src_id.first = (Relobj *)0x0;\n          std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::emplace_back<gold::Symbol*>\n                    (local_170,(Symbol **)&src_id);\nLAB_0019240b:\n          src_id.first = pRVar27;\n          src_id._8_8_ = (long)(int)uVar5;\n          std::\n          vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n          ::emplace_back<std::pair<long_long_int,_long_long_int>_>\n                    (local_180,(pair<long_long_int,_long_long_int> *)&src_id);\n          src_id.first = (Relobj *)(ulong)*local_128;\n          iVar6._M_current =\n               (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n               )._M_impl._M_finish;\n          if (iVar6._M_current ==\n              (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>)\n              ._M_impl._M_end_of_storage) {\n            std::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>::\n            _M_realloc_insert<long_unsigned_int_const&>(local_168,iVar6,(ulong *)&src_id);\n          }\n          else {\n            *iVar6._M_current = (ulong)src_id.first;\n            (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>).\n            _M_impl._M_finish = iVar6._M_current + 1;\n          }\n          dst_id.first = (Relobj *)((ulong)dst_id.first & 0xffffffff00000000);\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::emplace_back<unsigned_int>\n                    (local_188,(uint *)&dst_id);\n          if (!bVar32) goto LAB_00192480;\n        }\n        if (((local_136 != '\0') &&\n            ((*(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4) & 0xf) !=\n             1)) && ((0x17 < uVar13 || ((0x843f84UL >> ((ulong)uVar4 & 0x3f) & 1) == 0)))) {\n          local_c0 = (uint)*(ushort *)\n                            ((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 6);\n          __node_gen_2._M_h = (__hashtable_alloc *)&symtab->icf_->fptr_section_id_;\n          local_c8 = target;\n          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          ::\n          _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                      *)__node_gen_2._M_h,&local_c8,&__node_gen_2,1);\n        }\n        pOVar30 = (Output_segment *)target;\n        if (shndx != (uint)uVar28) {\nLAB_001925a8:\n          if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n          }\n          if ((parameters->options_->gc_sections_).value != false) {\n            pGVar7 = symtab->gc_;\n            dst_id.second = (uint)uVar28;\n            p_Var8 = (pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                     _M_parent;\n            p_Var1 = &(pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header;\n            p_Var18 = &p_Var1->_M_header;\n            cVar15._M_node = &p_Var1->_M_header;\n            src_id_2.first = (Relobj *)target;\n            src_id_2.second = shndx;\n            dst_id.first = (Relobj *)pOVar30;\n            if (p_Var8 == (_Base_ptr)0x0) {\nLAB_00192660:\n              local_e8._M_head_impl = &src_id_2;\n              cVar15._M_node =\n                   (_Base_ptr)\n                   std::\n                   _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                   ::\n                   _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::pair<gold::Relobj*,_unsigned_int>&>,_std::tuple<>_>\n                             (&(pGVar7->section_reloc_map_)._M_t,cVar15,\n                              (piecewise_construct_t *)&std::piecewise_construct,\n                              (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)&local_e8,\n                              &local_10a);\n            }\n            else {\n              do {\n                while ((cVar15._M_node = p_Var8,\n                       target <= *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                       ((target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) ||\n                        (shndx <= *(uint *)&cVar15._M_node[1]._M_parent))))) {\n                  p_Var18 = cVar15._M_node;\n                  p_Var8 = (cVar15._M_node)->_M_left;\n                  if ((cVar15._M_node)->_M_left == (_Base_ptr)0x0) goto LAB_0019263a;\n                }\n                pp_Var2 = &(cVar15._M_node)->_M_right;\n                cVar15._M_node = p_Var18;\n                p_Var8 = *pp_Var2;\n              } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_0019263a:\n              if ((((_Rb_tree_header *)cVar15._M_node == p_Var1) ||\n                  (target < *(Target_powerpc<32,_false> **)(cVar15._M_node + 1))) ||\n                 ((target == *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                  (shndx < *(uint *)&cVar15._M_node[1]._M_parent)))) goto LAB_00192660;\n            }\n            __node_gen_1._M_h = (__hashtable_alloc *)&cVar15._M_node[1]._M_left;\n            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            ::\n            _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                        *)__node_gen_1._M_h,&dst_id,&__node_gen_1,1);\n            pTVar9 = parameters->target_;\n            if (pTVar9 == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x73,"sized_target");\n            }\n            (*pTVar9->_vptr_Target[0x41])\n                      (pTVar9,symtab,target,(ulong)src_obj & 0xffffffff,pOVar30,uVar28,\n                       (ulong)local_134);\n            if (local_158 != (_func_int_varargs **)0x0) {\n              pGVar7 = symtab->gc_;\n              src_id.first = (Relobj *)&stack0xffffffffffffffb8;\n              sVar16 = strlen((char *)local_158);\n              std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n              _M_construct<char_const*>\n                        ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                         &src_id,local_158,(byte *)((long)local_158 + sVar16));\n              iVar17 = std::\n                       _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                       ::find(&(pGVar7->cident_sections_)._M_t,\n                              (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                              &src_id);\n              if (src_id.first != (Relobj *)&stack0xffffffffffffffb8) {\n                operator_delete(src_id.first);\n              }\n              pGVar7 = symtab->gc_;\n              if ((_Rb_tree_header *)iVar17._M_node !=\n                  &(pGVar7->cident_sections_)._M_t._M_impl.super__Rb_tree_header) {\n                p_Var8 = (pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                         _M_parent;\n                p_Var1 = &(pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header;\n                src_id.second = shndx;\n                p_Var18 = &p_Var1->_M_header;\n                cVar15._M_node = &p_Var1->_M_header;\n                if (p_Var8 == (_Base_ptr)0x0) {\nLAB_00192b80:\n                  local_e0._M_head_impl = (pair<gold::Relobj*,_unsigned_int> *)&src_id;\n                  src_id.first = (Relobj *)target;\n                  cVar15._M_node =\n                       (_Base_ptr)\n                       std::\n                       _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                       ::\n                       _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::pair<gold::Relobj*,_unsigned_int>&>,_std::tuple<>_>\n                                 (&(pGVar7->section_reloc_map_)._M_t,cVar15,\n                                  (piecewise_construct_t *)&std::piecewise_construct,\n                                  (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)&local_e0,\n                                  &local_109);\n                }\n                else {\n                  do {\n                    while ((cVar15._M_node = p_Var8,\n                           target <= *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                           ((target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) ||\n                            (shndx <= *(uint *)&cVar15._M_node[1]._M_parent))))) {\n                      p_Var18 = cVar15._M_node;\n                      p_Var8 = (cVar15._M_node)->_M_left;\n                      if ((cVar15._M_node)->_M_left == (_Base_ptr)0x0) goto LAB_001927c2;\n                    }\n                    pp_Var2 = &(cVar15._M_node)->_M_right;\n                    cVar15._M_node = p_Var18;\n                    p_Var8 = *pp_Var2;\n                  } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_001927c2:\n                  if ((((_Rb_tree_header *)cVar15._M_node == p_Var1) ||\n                      (target < *(Target_powerpc<32,_false> **)(cVar15._M_node + 1))) ||\n                     ((src_id.first = (Relobj *)target,\n                      target == *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                      (shndx < *(uint *)&cVar15._M_node[1]._M_parent)))) goto LAB_00192b80;\n                }\n                for (p_Var10 = iVar17._M_node[2]._M_left; p_Var10 != (_Base_ptr)0x0;\n                    p_Var10 = *(_Base_ptr *)p_Var10) {\n                  __node_gen._M_h = (__hashtable_alloc *)&cVar15._M_node[1]._M_left;\n                  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                  ::\n                  _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                              *)&cVar15._M_node[1]._M_left,&p_Var10->_M_parent,&__node_gen,1);\n                }\n              }\n            }\n          }\n        }\n      }" { (if_statement "if (param_8 == (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/gc.h",0xea,"gc_process_relocs");\n        }" if (parenthesized_expression "(param_8 == (Output_section *)0x0)" ( (binary_expression "param_8 == (Output_section *)0x0" identifier == (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/gc.h",0xea,"gc_process_relocs");\n        }" { comment (expression_statement "do_gold_unreachable("../../gold/gc.h",0xea,"gc_process_relocs");" (call_expression "do_gold_unreachable("../../gold/gc.h",0xea,"gc_process_relocs")" identifier (argument_list "("../../gold/gc.h",0xea,"gc_process_relocs")" ( (string_literal ""../../gold/gc.h"" " string_content ") , number_literal , (string_literal ""gc_process_relocs"" " string_content ") ))) ;) })) (expression_statement "uVar23 = uVar29 << 4;" (assignment_expression "uVar23 = uVar29 << 4" identifier = (binary_expression "uVar29 << 4" identifier << number_literal)) ;) (expression_statement "uVar3 = *(ushort *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 6);" (assignment_expression "uVar3 = *(ushort *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 6)" identifier = (pointer_expression "*(ushort *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 6)" * (cast_expression "(ushort *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 6)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 6)" ( (binary_expression "(long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 6" (binary_expression "(long)&(param_8->super_Output_data).address_ + (ulong)uVar23" (cast_expression "(long)&(param_8->super_Output_data).address_" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&(param_8->super_Output_data).address_" & (field_expression "(param_8->super_Output_data).address_" (parenthesized_expression "(param_8->super_Output_data)" ( (field_expression "param_8->super_Output_data" identifier -> field_identifier) )) . field_identifier))) + (cast_expression "(ulong)uVar23" ( (type_descriptor "ulong" type_identifier) ) identifier)) + number_literal) ))))) ;) (expression_statement "uVar28 = (ulong)uVar3;" (assignment_expression "uVar28 = (ulong)uVar3" identifier = (cast_expression "(ulong)uVar3" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if (uVar3 < 0xff00) {\nLAB_001924f6:\n          local_134 = *(uint *)((long)&(param_8->super_Output_data)._vptr_Output_data +\n                               (ulong)uVar23 + 4);\n          pRVar27 = (Relobj *)(ulong)local_134;\n          local_134 = uVar5 + local_134;\n          if (bVar34) {\n            src_id.second = (uint)uVar28;\n            src_id.first = (Relobj *)target;\n            std::\n            vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n            ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                      (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);\n            bVar32 = true;\n            if ((*(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4) & 0xf)\n                != 3) goto LAB_001923f0;\nLAB_0019253e:\n            src_id.first = (Relobj *)0xffffffffffffffff;\n            std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::emplace_back<gold::Symbol*>\n                      (local_170,(Symbol **)&src_id);\n            goto LAB_0019240b;\n          }\n        }\n        else {\n          if (uVar3 == 0xffff) {\n            this = target->brlt_section_;\n            if (this == (Output_data_brlt_powerpc<32,_false> *)0x0) {\n              this = (Output_data_brlt_powerpc<32,_false> *)\n                     (**(code **)(*(long *)target + 0xd8))(target);\n              target->brlt_section_ = this;\n            }\n            uVar29 = Xindex::sym_xindex_to_shndx((Xindex *)this,(Object *)target,uVar29);\n            uVar28 = (ulong)uVar29;\n            goto LAB_001924f6;\n          }\n          local_134 = *(uint *)((long)&(param_8->super_Output_data)._vptr_Output_data +\n                               (ulong)uVar23 + 4);\n          pRVar27 = (Relobj *)(ulong)local_134;\n          local_134 = uVar5 + local_134;\n          if (!bVar34) goto LAB_00192480;\n          src_id.first = (Relobj *)0x0;\n          src_id._8_8_ = src_id._8_8_ & 0xffffffff00000000;\n                    /* try { // try from 001923d5 to 00192be2 has its CatchHandler @ 00192fd7 */\n          std::\n          vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n          ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                    (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);\n          bVar32 = false;\n          if ((*(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4) & 0xf) ==\n              3) goto LAB_0019253e;\nLAB_001923f0:\n          src_id.first = (Relobj *)0x0;\n          std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::emplace_back<gold::Symbol*>\n                    (local_170,(Symbol **)&src_id);\nLAB_0019240b:\n          src_id.first = pRVar27;\n          src_id._8_8_ = (long)(int)uVar5;\n          std::\n          vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n          ::emplace_back<std::pair<long_long_int,_long_long_int>_>\n                    (local_180,(pair<long_long_int,_long_long_int> *)&src_id);\n          src_id.first = (Relobj *)(ulong)*local_128;\n          iVar6._M_current =\n               (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n               )._M_impl._M_finish;\n          if (iVar6._M_current ==\n              (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>)\n              ._M_impl._M_end_of_storage) {\n            std::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>::\n            _M_realloc_insert<long_unsigned_int_const&>(local_168,iVar6,(ulong *)&src_id);\n          }\n          else {\n            *iVar6._M_current = (ulong)src_id.first;\n            (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>).\n            _M_impl._M_finish = iVar6._M_current + 1;\n          }\n          dst_id.first = (Relobj *)((ulong)dst_id.first & 0xffffffff00000000);\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::emplace_back<unsigned_int>\n                    (local_188,(uint *)&dst_id);\n          if (!bVar32) goto LAB_00192480;\n        }" if (parenthesized_expression "(uVar3 < 0xff00)" ( (binary_expression "uVar3 < 0xff00" identifier < number_literal) )) (compound_statement "{\nLAB_001924f6:\n          local_134 = *(uint *)((long)&(param_8->super_Output_data)._vptr_Output_data +\n                               (ulong)uVar23 + 4);\n          pRVar27 = (Relobj *)(ulong)local_134;\n          local_134 = uVar5 + local_134;\n          if (bVar34) {\n            src_id.second = (uint)uVar28;\n            src_id.first = (Relobj *)target;\n            std::\n            vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n            ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                      (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);\n            bVar32 = true;\n            if ((*(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4) & 0xf)\n                != 3) goto LAB_001923f0;\nLAB_0019253e:\n            src_id.first = (Relobj *)0xffffffffffffffff;\n            std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::emplace_back<gold::Symbol*>\n                      (local_170,(Symbol **)&src_id);\n            goto LAB_0019240b;\n          }\n        }" { (labeled_statement "LAB_001924f6:\n          local_134 = *(uint *)((long)&(param_8->super_Output_data)._vptr_Output_data +\n                               (ulong)uVar23 + 4);" statement_identifier : (expression_statement "local_134 = *(uint *)((long)&(param_8->super_Output_data)._vptr_Output_data +\n                               (ulong)uVar23 + 4);" (assignment_expression "local_134 = *(uint *)((long)&(param_8->super_Output_data)._vptr_Output_data +\n                               (ulong)uVar23 + 4)" identifier = (pointer_expression "*(uint *)((long)&(param_8->super_Output_data)._vptr_Output_data +\n                               (ulong)uVar23 + 4)" * (cast_expression "(uint *)((long)&(param_8->super_Output_data)._vptr_Output_data +\n                               (ulong)uVar23 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&(param_8->super_Output_data)._vptr_Output_data +\n                               (ulong)uVar23 + 4)" ( (binary_expression "(long)&(param_8->super_Output_data)._vptr_Output_data +\n                               (ulong)uVar23 + 4" (binary_expression "(long)&(param_8->super_Output_data)._vptr_Output_data +\n                               (ulong)uVar23" (cast_expression "(long)&(param_8->super_Output_data)._vptr_Output_data" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&(param_8->super_Output_data)._vptr_Output_data" & (field_expression "(param_8->super_Output_data)._vptr_Output_data" (parenthesized_expression "(param_8->super_Output_data)" ( (field_expression "param_8->super_Output_data" identifier -> field_identifier) )) . field_identifier))) + (cast_expression "(ulong)uVar23" ( (type_descriptor "ulong" type_identifier) ) identifier)) + number_literal) ))))) ;)) (expression_statement "pRVar27 = (Relobj *)(ulong)local_134;" (assignment_expression "pRVar27 = (Relobj *)(ulong)local_134" identifier = (cast_expression "(Relobj *)(ulong)local_134" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(ulong)local_134" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) (expression_statement "local_134 = uVar5 + local_134;" (assignment_expression "local_134 = uVar5 + local_134" identifier = (binary_expression "uVar5 + local_134" identifier + identifier)) ;) (if_statement "if (bVar34) {\n            src_id.second = (uint)uVar28;\n            src_id.first = (Relobj *)target;\n            std::\n            vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n            ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                      (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);\n            bVar32 = true;\n            if ((*(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4) & 0xf)\n                != 3) goto LAB_001923f0;\nLAB_0019253e:\n            src_id.first = (Relobj *)0xffffffffffffffff;\n            std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::emplace_back<gold::Symbol*>\n                      (local_170,(Symbol **)&src_id);\n            goto LAB_0019240b;\n          }" if (parenthesized_expression "(bVar34)" ( identifier )) (compound_statement "{\n            src_id.second = (uint)uVar28;\n            src_id.first = (Relobj *)target;\n            std::\n            vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n            ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                      (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);\n            bVar32 = true;\n            if ((*(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4) & 0xf)\n                != 3) goto LAB_001923f0;\nLAB_0019253e:\n            src_id.first = (Relobj *)0xffffffffffffffff;\n            std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::emplace_back<gold::Symbol*>\n                      (local_170,(Symbol **)&src_id);\n            goto LAB_0019240b;\n          }" { (expression_statement "src_id.second = (uint)uVar28;" (assignment_expression "src_id.second = (uint)uVar28" (field_expression "src_id.second" identifier . field_identifier) = (cast_expression "(uint)uVar28" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "src_id.first = (Relobj *)target;" (assignment_expression "src_id.first = (Relobj *)target" (field_expression "src_id.first" identifier . field_identifier) = (cast_expression "(Relobj *)target" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (ERROR "std::\n            vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n            ::emplace_back<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            ::emplace_back<std" (binary_expression "Relobj*,_unsigned_int>_>_>\n            ::emplace_back" (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                      (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);" (binary_expression "Relobj*,_unsigned_int>_>\n                      (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id)" (binary_expression "Relobj*,_unsigned_int>_" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > identifier) > (parenthesized_expression "(&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id)" ( (comma_expression "&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id" (pointer_expression "&local_178->section_info" & (field_expression "local_178->section_info" identifier -> field_identifier)) , (binary_expression "(pair<gold::Relobj*,_unsigned_int> *)&src_id" (parenthesized_expression "(pair<gold::Relobj*,_unsigned_int> *)" ( (binary_expression "pair<gold::Relobj*,_unsigned_int> *" (binary_expression "pair<gold::Relobj*,_unsigned_int" (binary_expression "pair<gold" identifier < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (pointer_expression "*" * identifier)) )) & identifier)) ))) ;) (expression_statement "bVar32 = true;" (assignment_expression "bVar32 = true" identifier = true) ;) (if_statement "if ((*(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4) & 0xf)\n                != 3) goto LAB_001923f0;" if (parenthesized_expression "((*(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4) & 0xf)\n                != 3)" ( (binary_expression "(*(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4) & 0xf)\n                != 3" (parenthesized_expression "(*(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4) & 0xf)" ( (binary_expression "*(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4) & 0xf" (pointer_expression "*(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4)" * (cast_expression "(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4)" ( (binary_expression "(long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4" (binary_expression "(long)&(param_8->super_Output_data).address_ + (ulong)uVar23" (cast_expression "(long)&(param_8->super_Output_data).address_" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&(param_8->super_Output_data).address_" & (field_expression "(param_8->super_Output_data).address_" (parenthesized_expression "(param_8->super_Output_data)" ( (field_expression "param_8->super_Output_data" identifier -> field_identifier) )) . field_identifier))) + (cast_expression "(ulong)uVar23" ( (type_descriptor "ulong" type_identifier) ) identifier)) + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_001923f0;" goto statement_identifier ;)) (labeled_statement "LAB_0019253e:\n            src_id.first = (Relobj *)0xffffffffffffffff;" statement_identifier : (expression_statement "src_id.first = (Relobj *)0xffffffffffffffff;" (assignment_expression "src_id.first = (Relobj *)0xffffffffffffffff" (field_expression "src_id.first" identifier . field_identifier) = (cast_expression "(Relobj *)0xffffffffffffffff" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (ERROR "std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::emplace_back<gold::" (comma_expression "std::vector<gold::Symbol*,_std" identifier (ERROR "::vector<gold::Symbol*" : : (binary_expression "vector<gold" identifier < identifier) : : identifier *) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : (binary_expression "Symbol*>_>::emplace_back<gold" (binary_expression "Symbol*>_>::emplace_back" (binary_expression "Symbol*>_" identifier * (ERROR ">" >) identifier) > (ERROR "::" : :) identifier) < identifier) : :) (expression_statement "Symbol*>\n                      (local_170,(Symbol **)&src_id);" (binary_expression "Symbol*>\n                      (local_170,(Symbol **)&src_id)" identifier * (ERROR ">" >) (parenthesized_expression "(local_170,(Symbol **)&src_id)" ( (comma_expression "local_170,(Symbol **)&src_id" identifier , (cast_expression "(Symbol **)&src_id" ( (type_descriptor "Symbol **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&src_id" & identifier))) ))) ;) (goto_statement "goto LAB_0019240b;" goto statement_identifier ;) })) }) (else_clause "else {\n          if (uVar3 == 0xffff) {\n            this = target->brlt_section_;\n            if (this == (Output_data_brlt_powerpc<32,_false> *)0x0) {\n              this = (Output_data_brlt_powerpc<32,_false> *)\n                     (**(code **)(*(long *)target + 0xd8))(target);\n              target->brlt_section_ = this;\n            }\n            uVar29 = Xindex::sym_xindex_to_shndx((Xindex *)this,(Object *)target,uVar29);\n            uVar28 = (ulong)uVar29;\n            goto LAB_001924f6;\n          }\n          local_134 = *(uint *)((long)&(param_8->super_Output_data)._vptr_Output_data +\n                               (ulong)uVar23 + 4);\n          pRVar27 = (Relobj *)(ulong)local_134;\n          local_134 = uVar5 + local_134;\n          if (!bVar34) goto LAB_00192480;\n          src_id.first = (Relobj *)0x0;\n          src_id._8_8_ = src_id._8_8_ & 0xffffffff00000000;\n                    /* try { // try from 001923d5 to 00192be2 has its CatchHandler @ 00192fd7 */\n          std::\n          vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n          ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                    (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);\n          bVar32 = false;\n          if ((*(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4) & 0xf) ==\n              3) goto LAB_0019253e;\nLAB_001923f0:\n          src_id.first = (Relobj *)0x0;\n          std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::emplace_back<gold::Symbol*>\n                    (local_170,(Symbol **)&src_id);\nLAB_0019240b:\n          src_id.first = pRVar27;\n          src_id._8_8_ = (long)(int)uVar5;\n          std::\n          vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n          ::emplace_back<std::pair<long_long_int,_long_long_int>_>\n                    (local_180,(pair<long_long_int,_long_long_int> *)&src_id);\n          src_id.first = (Relobj *)(ulong)*local_128;\n          iVar6._M_current =\n               (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n               )._M_impl._M_finish;\n          if (iVar6._M_current ==\n              (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>)\n              ._M_impl._M_end_of_storage) {\n            std::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>::\n            _M_realloc_insert<long_unsigned_int_const&>(local_168,iVar6,(ulong *)&src_id);\n          }\n          else {\n            *iVar6._M_current = (ulong)src_id.first;\n            (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>).\n            _M_impl._M_finish = iVar6._M_current + 1;\n          }\n          dst_id.first = (Relobj *)((ulong)dst_id.first & 0xffffffff00000000);\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::emplace_back<unsigned_int>\n                    (local_188,(uint *)&dst_id);\n          if (!bVar32) goto LAB_00192480;\n        }" else (compound_statement "{\n          if (uVar3 == 0xffff) {\n            this = target->brlt_section_;\n            if (this == (Output_data_brlt_powerpc<32,_false> *)0x0) {\n              this = (Output_data_brlt_powerpc<32,_false> *)\n                     (**(code **)(*(long *)target + 0xd8))(target);\n              target->brlt_section_ = this;\n            }\n            uVar29 = Xindex::sym_xindex_to_shndx((Xindex *)this,(Object *)target,uVar29);\n            uVar28 = (ulong)uVar29;\n            goto LAB_001924f6;\n          }\n          local_134 = *(uint *)((long)&(param_8->super_Output_data)._vptr_Output_data +\n                               (ulong)uVar23 + 4);\n          pRVar27 = (Relobj *)(ulong)local_134;\n          local_134 = uVar5 + local_134;\n          if (!bVar34) goto LAB_00192480;\n          src_id.first = (Relobj *)0x0;\n          src_id._8_8_ = src_id._8_8_ & 0xffffffff00000000;\n                    /* try { // try from 001923d5 to 00192be2 has its CatchHandler @ 00192fd7 */\n          std::\n          vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n          ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                    (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);\n          bVar32 = false;\n          if ((*(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4) & 0xf) ==\n              3) goto LAB_0019253e;\nLAB_001923f0:\n          src_id.first = (Relobj *)0x0;\n          std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::emplace_back<gold::Symbol*>\n                    (local_170,(Symbol **)&src_id);\nLAB_0019240b:\n          src_id.first = pRVar27;\n          src_id._8_8_ = (long)(int)uVar5;\n          std::\n          vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n          ::emplace_back<std::pair<long_long_int,_long_long_int>_>\n                    (local_180,(pair<long_long_int,_long_long_int> *)&src_id);\n          src_id.first = (Relobj *)(ulong)*local_128;\n          iVar6._M_current =\n               (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n               )._M_impl._M_finish;\n          if (iVar6._M_current ==\n              (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>)\n              ._M_impl._M_end_of_storage) {\n            std::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>::\n            _M_realloc_insert<long_unsigned_int_const&>(local_168,iVar6,(ulong *)&src_id);\n          }\n          else {\n            *iVar6._M_current = (ulong)src_id.first;\n            (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>).\n            _M_impl._M_finish = iVar6._M_current + 1;\n          }\n          dst_id.first = (Relobj *)((ulong)dst_id.first & 0xffffffff00000000);\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::emplace_back<unsigned_int>\n                    (local_188,(uint *)&dst_id);\n          if (!bVar32) goto LAB_00192480;\n        }" { (if_statement "if (uVar3 == 0xffff) {\n            this = target->brlt_section_;\n            if (this == (Output_data_brlt_powerpc<32,_false> *)0x0) {\n              this = (Output_data_brlt_powerpc<32,_false> *)\n                     (**(code **)(*(long *)target + 0xd8))(target);\n              target->brlt_section_ = this;\n            }\n            uVar29 = Xindex::sym_xindex_to_shndx((Xindex *)this,(Object *)target,uVar29);\n            uVar28 = (ulong)uVar29;\n            goto LAB_001924f6;\n          }" if (parenthesized_expression "(uVar3 == 0xffff)" ( (binary_expression "uVar3 == 0xffff" identifier == number_literal) )) (compound_statement "{\n            this = target->brlt_section_;\n            if (this == (Output_data_brlt_powerpc<32,_false> *)0x0) {\n              this = (Output_data_brlt_powerpc<32,_false> *)\n                     (**(code **)(*(long *)target + 0xd8))(target);\n              target->brlt_section_ = this;\n            }\n            uVar29 = Xindex::sym_xindex_to_shndx((Xindex *)this,(Object *)target,uVar29);\n            uVar28 = (ulong)uVar29;\n            goto LAB_001924f6;\n          }" { (expression_statement "this = target->brlt_section_;" (assignment_expression "this = target->brlt_section_" identifier = (field_expression "target->brlt_section_" identifier -> field_identifier)) ;) (if_statement "if (this == (Output_data_brlt_powerpc<32,_false> *)0x0) {\n              this = (Output_data_brlt_powerpc<32,_false> *)\n                     (**(code **)(*(long *)target + 0xd8))(target);\n              target->brlt_section_ = this;\n            }" if (parenthesized_expression "(this == (Output_data_brlt_powerpc<32,_false> *)0x0)" ( (binary_expression "this == (Output_data_brlt_powerpc<32,_false> *)0x0)" identifier == (parenthesized_expression "(Output_data_brlt_powerpc<32,_false> *)0x0)" ( (comma_expression "Output_data_brlt_powerpc<32,_false> *)0x0" (binary_expression "Output_data_brlt_powerpc<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) )) (compound_statement "{\n              this = (Output_data_brlt_powerpc<32,_false> *)\n                     (**(code **)(*(long *)target + 0xd8))(target);\n              target->brlt_section_ = this;\n            }" { (expression_statement "this = (Output_data_brlt_powerpc<32,_false> *)\n                     (**(code **)(*(long *)target + 0xd8))(target);" (assignment_expression "this = (Output_data_brlt_powerpc<32,_false> *)\n                     (**(code **)(*(long *)target + 0xd8))(target)" identifier = (call_expression "(Output_data_brlt_powerpc<32,_false> *)\n                     (**(code **)(*(long *)target + 0xd8))(target)" (call_expression "(Output_data_brlt_powerpc<32,_false> *)\n                     (**(code **)(*(long *)target + 0xd8))" (parenthesized_expression "(Output_data_brlt_powerpc<32,_false> *)" ( (comma_expression "Output_data_brlt_powerpc<32,_false> *" (binary_expression "Output_data_brlt_powerpc<32" identifier < number_literal) , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))) )) (argument_list "(**(code **)(*(long *)target + 0xd8))" ( (pointer_expression "**(code **)(*(long *)target + 0xd8)" * (pointer_expression "*(code **)(*(long *)target + 0xd8)" * (cast_expression "(code **)(*(long *)target + 0xd8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)target + 0xd8)" ( (binary_expression "*(long *)target + 0xd8" (pointer_expression "*(long *)target" * (cast_expression "(long *)target" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) ))) (argument_list "(target)" ( identifier )))) ;) (expression_statement "target->brlt_section_ = this;" (assignment_expression "target->brlt_section_ = this" (field_expression "target->brlt_section_" identifier -> field_identifier) = identifier) ;) })) (ERROR "uVar29 = Xindex::" (assignment_expression "uVar29 = Xindex" identifier = identifier) : :) (expression_statement "sym_xindex_to_shndx((Xindex *)this,(Object *)target,uVar29);" (call_expression "sym_xindex_to_shndx((Xindex *)this,(Object *)target,uVar29)" identifier (argument_list "((Xindex *)this,(Object *)target,uVar29)" ( (cast_expression "(Xindex *)this" ( (type_descriptor "Xindex *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(Object *)target" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (expression_statement "uVar28 = (ulong)uVar29;" (assignment_expression "uVar28 = (ulong)uVar29" identifier = (cast_expression "(ulong)uVar29" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (goto_statement "goto LAB_001924f6;" goto statement_identifier ;) })) (expression_statement "local_134 = *(uint *)((long)&(param_8->super_Output_data)._vptr_Output_data +\n                               (ulong)uVar23 + 4);" (assignment_expression "local_134 = *(uint *)((long)&(param_8->super_Output_data)._vptr_Output_data +\n                               (ulong)uVar23 + 4)" identifier = (pointer_expression "*(uint *)((long)&(param_8->super_Output_data)._vptr_Output_data +\n                               (ulong)uVar23 + 4)" * (cast_expression "(uint *)((long)&(param_8->super_Output_data)._vptr_Output_data +\n                               (ulong)uVar23 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&(param_8->super_Output_data)._vptr_Output_data +\n                               (ulong)uVar23 + 4)" ( (binary_expression "(long)&(param_8->super_Output_data)._vptr_Output_data +\n                               (ulong)uVar23 + 4" (binary_expression "(long)&(param_8->super_Output_data)._vptr_Output_data +\n                               (ulong)uVar23" (cast_expression "(long)&(param_8->super_Output_data)._vptr_Output_data" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&(param_8->super_Output_data)._vptr_Output_data" & (field_expression "(param_8->super_Output_data)._vptr_Output_data" (parenthesized_expression "(param_8->super_Output_data)" ( (field_expression "param_8->super_Output_data" identifier -> field_identifier) )) . field_identifier))) + (cast_expression "(ulong)uVar23" ( (type_descriptor "ulong" type_identifier) ) identifier)) + number_literal) ))))) ;) (expression_statement "pRVar27 = (Relobj *)(ulong)local_134;" (assignment_expression "pRVar27 = (Relobj *)(ulong)local_134" identifier = (cast_expression "(Relobj *)(ulong)local_134" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(ulong)local_134" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) (expression_statement "local_134 = uVar5 + local_134;" (assignment_expression "local_134 = uVar5 + local_134" identifier = (binary_expression "uVar5 + local_134" identifier + identifier)) ;) (if_statement "if (!bVar34) goto LAB_00192480;" if (parenthesized_expression "(!bVar34)" ( (unary_expression "!bVar34" ! identifier) )) (goto_statement "goto LAB_00192480;" goto statement_identifier ;)) (expression_statement "src_id.first = (Relobj *)0x0;" (assignment_expression "src_id.first = (Relobj *)0x0" (field_expression "src_id.first" identifier . field_identifier) = (cast_expression "(Relobj *)0x0" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "src_id._8_8_ = src_id._8_8_ & 0xffffffff00000000;" (assignment_expression "src_id._8_8_ = src_id._8_8_ & 0xffffffff00000000" (field_expression "src_id._8_8_" identifier . field_identifier) = (binary_expression "src_id._8_8_ & 0xffffffff00000000" (field_expression "src_id._8_8_" identifier . field_identifier) & number_literal)) ;) comment (ERROR "std::\n          vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n          ::emplace_back<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          ::emplace_back<std" (binary_expression "Relobj*,_unsigned_int>_>_>\n          ::emplace_back" (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                    (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);" (binary_expression "Relobj*,_unsigned_int>_>\n                    (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id)" (binary_expression "Relobj*,_unsigned_int>_" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > identifier) > (parenthesized_expression "(&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id)" ( (comma_expression "&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id" (pointer_expression "&local_178->section_info" & (field_expression "local_178->section_info" identifier -> field_identifier)) , (binary_expression "(pair<gold::Relobj*,_unsigned_int> *)&src_id" (parenthesized_expression "(pair<gold::Relobj*,_unsigned_int> *)" ( (binary_expression "pair<gold::Relobj*,_unsigned_int> *" (binary_expression "pair<gold::Relobj*,_unsigned_int" (binary_expression "pair<gold" identifier < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (pointer_expression "*" * identifier)) )) & identifier)) ))) ;) (expression_statement "bVar32 = false;" (assignment_expression "bVar32 = false" identifier = false) ;) (if_statement "if ((*(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4) & 0xf) ==\n              3) goto LAB_0019253e;" if (parenthesized_expression "((*(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4) & 0xf) ==\n              3)" ( (binary_expression "(*(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4) & 0xf) ==\n              3" (parenthesized_expression "(*(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4) & 0xf)" ( (binary_expression "*(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4) & 0xf" (pointer_expression "*(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4)" * (cast_expression "(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4)" ( (binary_expression "(long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4" (binary_expression "(long)&(param_8->super_Output_data).address_ + (ulong)uVar23" (cast_expression "(long)&(param_8->super_Output_data).address_" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&(param_8->super_Output_data).address_" & (field_expression "(param_8->super_Output_data).address_" (parenthesized_expression "(param_8->super_Output_data)" ( (field_expression "param_8->super_Output_data" identifier -> field_identifier) )) . field_identifier))) + (cast_expression "(ulong)uVar23" ( (type_descriptor "ulong" type_identifier) ) identifier)) + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0019253e;" goto statement_identifier ;)) (labeled_statement "LAB_001923f0:\n          src_id.first = (Relobj *)0x0;" statement_identifier : (expression_statement "src_id.first = (Relobj *)0x0;" (assignment_expression "src_id.first = (Relobj *)0x0" (field_expression "src_id.first" identifier . field_identifier) = (cast_expression "(Relobj *)0x0" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (ERROR "std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::emplace_back<gold::" (comma_expression "std::vector<gold::Symbol*,_std" identifier (ERROR "::vector<gold::Symbol*" : : (binary_expression "vector<gold" identifier < identifier) : : identifier *) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : (binary_expression "Symbol*>_>::emplace_back<gold" (binary_expression "Symbol*>_>::emplace_back" (binary_expression "Symbol*>_" identifier * (ERROR ">" >) identifier) > (ERROR "::" : :) identifier) < identifier) : :) (expression_statement "Symbol*>\n                    (local_170,(Symbol **)&src_id);" (binary_expression "Symbol*>\n                    (local_170,(Symbol **)&src_id)" identifier * (ERROR ">" >) (parenthesized_expression "(local_170,(Symbol **)&src_id)" ( (comma_expression "local_170,(Symbol **)&src_id" identifier , (cast_expression "(Symbol **)&src_id" ( (type_descriptor "Symbol **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&src_id" & identifier))) ))) ;) (labeled_statement "LAB_0019240b:\n          src_id.first = pRVar27;" statement_identifier : (expression_statement "src_id.first = pRVar27;" (assignment_expression "src_id.first = pRVar27" (field_expression "src_id.first" identifier . field_identifier) = identifier) ;)) (expression_statement "src_id._8_8_ = (long)(int)uVar5;" (assignment_expression "src_id._8_8_ = (long)(int)uVar5" (field_expression "src_id._8_8_" identifier . field_identifier) = (cast_expression "(long)(int)uVar5" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)uVar5" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (labeled_statement "std::\n          vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n          ::emplace_back<std::pair<long_long_int,_long_long_int>_>\n                    (local_180,(pair<long_long_int,_long_long_int> *)&src_id);" statement_identifier (ERROR "::\n          vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n          ::emplace_back<std:" : : (binary_expression "vector<std" identifier < identifier) : : (comma_expression "pair<long_long_int,_long_long_int>,_std" (binary_expression "pair<long_long_int" identifier < identifier) , (binary_expression "_long_long_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<long_long_int,_long_long_int>_>_>\n          ::emplace_back<std" (binary_expression "pair<long_long_int" identifier < identifier) , (binary_expression "_long_long_int>_>_>\n          ::emplace_back<std" (binary_expression "_long_long_int>_>_>\n          ::emplace_back" (binary_expression "_long_long_int>_>_" (binary_expression "_long_long_int>_" identifier > identifier) > identifier) > (ERROR "::" : :) identifier) < identifier)) :) : (expression_statement "pair<long_long_int,_long_long_int>_>\n                    (local_180,(pair<long_long_int,_long_long_int> *)&src_id);" (comma_expression "pair<long_long_int,_long_long_int>_>\n                    (local_180,(pair<long_long_int,_long_long_int> *)&src_id)" (binary_expression "pair<long_long_int" identifier < identifier) , (binary_expression "_long_long_int>_>\n                    (local_180,(pair<long_long_int,_long_long_int> *)&src_id)" (binary_expression "_long_long_int>_" identifier > identifier) > (parenthesized_expression "(local_180,(pair<long_long_int,_long_long_int> *)&src_id)" ( (comma_expression "local_180,(pair<long_long_int,_long_long_int> *)&src_id" identifier , (binary_expression "(pair<long_long_int,_long_long_int> *)&src_id" (parenthesized_expression "(pair<long_long_int,_long_long_int> *)" ( (comma_expression "pair<long_long_int,_long_long_int> *" (binary_expression "pair<long_long_int" identifier < identifier) , (binary_expression "_long_long_int> *" identifier > (pointer_expression "*" * identifier))) )) & identifier)) )))) ;)) (expression_statement "src_id.first = (Relobj *)(ulong)*local_128;" (assignment_expression "src_id.first = (Relobj *)(ulong)*local_128" (field_expression "src_id.first" identifier . field_identifier) = (binary_expression "(Relobj *)(ulong)*local_128" (cast_expression "(Relobj *)(ulong)" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ulong)" ( identifier ))) * identifier)) ;) (expression_statement "iVar6._M_current =\n               (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n               )._M_impl._M_finish;" (assignment_expression "iVar6._M_current =\n               (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n               )._M_impl._M_finish" (field_expression "iVar6._M_current" identifier . field_identifier) = (field_expression "(local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n               )._M_impl._M_finish" (field_expression "(local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n               )._M_impl" (parenthesized_expression "(local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n               )" ( (ERROR "local_168->super__Vector_base<long_unsigned_int,_std::" (comma_expression "local_168->super__Vector_base<long_unsigned_int,_std" (binary_expression "local_168->super__Vector_base<long_unsigned_int" (field_expression "local_168->super__Vector_base" identifier -> field_identifier) < identifier) , identifier) : :) (binary_expression "allocator<long_unsigned_int>_>" (binary_expression "allocator<long_unsigned_int>_" (binary_expression "allocator<long_unsigned_int" identifier < identifier) > identifier) > identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if (iVar6._M_current ==\n              (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>)\n              ._M_impl._M_end_of_storage) {\n            std::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>::\n            _M_realloc_insert<long_unsigned_int_const&>(local_168,iVar6,(ulong *)&src_id);\n          }\n          else {\n            *iVar6._M_current = (ulong)src_id.first;\n            (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>).\n            _M_impl._M_finish = iVar6._M_current + 1;\n          }" if (parenthesized_expression "(iVar6._M_current ==\n              (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>)\n              ._M_impl._M_end_of_storage)" ( (binary_expression "iVar6._M_current ==\n              (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>)\n              ._M_impl._M_end_of_storage" (field_expression "iVar6._M_current" identifier . field_identifier) == (field_expression "(local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>)\n              ._M_impl._M_end_of_storage" (field_expression "(local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>)\n              ._M_impl" (parenthesized_expression "(local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>)" ( (ERROR "local_168->super__Vector_base<long_unsigned_int,_std::" (comma_expression "local_168->super__Vector_base<long_unsigned_int,_std" (binary_expression "local_168->super__Vector_base<long_unsigned_int" (field_expression "local_168->super__Vector_base" identifier -> field_identifier) < identifier) , identifier) : :) (binary_expression "allocator<long_unsigned_int>_>" (binary_expression "allocator<long_unsigned_int>_" (binary_expression "allocator<long_unsigned_int" identifier < identifier) > identifier) > identifier) )) . field_identifier) . field_identifier)) )) (compound_statement "{\n            std::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>::\n            _M_realloc_insert<long_unsigned_int_const&>(local_168,iVar6,(ulong *)&src_id);\n          }" { (labeled_statement "std::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>::\n            _M_realloc_insert<long_unsigned_int_const&>(local_168,iVar6,(ulong *)&src_id);" statement_identifier (ERROR "::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>:" : : (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) > :) : (expression_statement "_M_realloc_insert<long_unsigned_int_const&>(local_168,iVar6,(ulong *)&src_id);" (binary_expression "_M_realloc_insert<long_unsigned_int_const&>(local_168,iVar6,(ulong *)&src_id)" (binary_expression "_M_realloc_insert<long_unsigned_int_const" identifier < identifier) (ERROR "&" &) > (parenthesized_expression "(local_168,iVar6,(ulong *)&src_id)" ( (comma_expression "local_168,iVar6,(ulong *)&src_id" identifier , (comma_expression "iVar6,(ulong *)&src_id" identifier , (cast_expression "(ulong *)&src_id" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&src_id" & identifier)))) ))) ;)) }) (else_clause "else {\n            *iVar6._M_current = (ulong)src_id.first;\n            (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>).\n            _M_impl._M_finish = iVar6._M_current + 1;\n          }" else (compound_statement "{\n            *iVar6._M_current = (ulong)src_id.first;\n            (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>).\n            _M_impl._M_finish = iVar6._M_current + 1;\n          }" { (expression_statement "*iVar6._M_current = (ulong)src_id.first;" (assignment_expression "*iVar6._M_current = (ulong)src_id.first" (pointer_expression "*iVar6._M_current" * (field_expression "iVar6._M_current" identifier . field_identifier)) = (cast_expression "(ulong)src_id.first" ( (type_descriptor "ulong" type_identifier) ) (field_expression "src_id.first" identifier . field_identifier))) ;) (expression_statement "(local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>).\n            _M_impl._M_finish = iVar6._M_current + 1;" (assignment_expression "(local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>).\n            _M_impl._M_finish = iVar6._M_current + 1" (field_expression "(local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>).\n            _M_impl._M_finish" (field_expression "(local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>).\n            _M_impl" (parenthesized_expression "(local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>)" ( (ERROR "local_168->super__Vector_base<long_unsigned_int,_std::" (comma_expression "local_168->super__Vector_base<long_unsigned_int,_std" (binary_expression "local_168->super__Vector_base<long_unsigned_int" (field_expression "local_168->super__Vector_base" identifier -> field_identifier) < identifier) , identifier) : :) (binary_expression "allocator<long_unsigned_int>_>" (binary_expression "allocator<long_unsigned_int>_" (binary_expression "allocator<long_unsigned_int" identifier < identifier) > identifier) > identifier) )) . field_identifier) . field_identifier) = (binary_expression "iVar6._M_current + 1" (field_expression "iVar6._M_current" identifier . field_identifier) + number_literal)) ;) }))) (expression_statement "dst_id.first = (Relobj *)((ulong)dst_id.first & 0xffffffff00000000);" (assignment_expression "dst_id.first = (Relobj *)((ulong)dst_id.first & 0xffffffff00000000)" (field_expression "dst_id.first" identifier . field_identifier) = (cast_expression "(Relobj *)((ulong)dst_id.first & 0xffffffff00000000)" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)dst_id.first & 0xffffffff00000000)" ( (binary_expression "(ulong)dst_id.first & 0xffffffff00000000" (cast_expression "(ulong)dst_id.first" ( (type_descriptor "ulong" type_identifier) ) (field_expression "dst_id.first" identifier . field_identifier)) & number_literal) )))) ;) (labeled_statement "std::vector<unsigned_int,_std::allocator<unsigned_int>_>::emplace_back<unsigned_int>\n                    (local_188,(uint *)&dst_id);" statement_identifier (ERROR "::vector<unsigned_int,_std::allocator<unsigned_int>_>:" : : (comma_expression "vector<unsigned_int,_std" (binary_expression "vector<unsigned_int" identifier < identifier) , identifier) : : (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) > :) : (expression_statement "emplace_back<unsigned_int>\n                    (local_188,(uint *)&dst_id);" (binary_expression "emplace_back<unsigned_int>\n                    (local_188,(uint *)&dst_id)" (binary_expression "emplace_back<unsigned_int" identifier < identifier) > (parenthesized_expression "(local_188,(uint *)&dst_id)" ( (comma_expression "local_188,(uint *)&dst_id" identifier , (cast_expression "(uint *)&dst_id" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&dst_id" & identifier))) ))) ;)) (if_statement "if (!bVar32) goto LAB_00192480;" if (parenthesized_expression "(!bVar32)" ( (unary_expression "!bVar32" ! identifier) )) (goto_statement "goto LAB_00192480;" goto statement_identifier ;)) }))) (if_statement "if (((local_136 != '\0') &&\n            ((*(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4) & 0xf) !=\n             1)) && ((0x17 < uVar13 || ((0x843f84UL >> ((ulong)uVar4 & 0x3f) & 1) == 0)))) {\n          local_c0 = (uint)*(ushort *)\n                            ((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 6);\n          __node_gen_2._M_h = (__hashtable_alloc *)&symtab->icf_->fptr_section_id_;\n          local_c8 = target;\n          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          ::\n          _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                      *)__node_gen_2._M_h,&local_c8,&__node_gen_2,1);\n        }" if (parenthesized_expression "(((local_136 != '\0') &&\n            ((*(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4) & 0xf) !=\n             1)) && ((0x17 < uVar13 || ((0x843f84UL >> ((ulong)uVar4 & 0x3f) & 1) == 0))))" ( (binary_expression "((local_136 != '\0') &&\n            ((*(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4) & 0xf) !=\n             1)) && ((0x17 < uVar13 || ((0x843f84UL >> ((ulong)uVar4 & 0x3f) & 1) == 0)))" (parenthesized_expression "((local_136 != '\0') &&\n            ((*(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4) & 0xf) !=\n             1))" ( (binary_expression "(local_136 != '\0') &&\n            ((*(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4) & 0xf) !=\n             1)" (parenthesized_expression "(local_136 != '\0')" ( (binary_expression "local_136 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "((*(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4) & 0xf) !=\n             1)" ( (binary_expression "(*(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4) & 0xf) !=\n             1" (parenthesized_expression "(*(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4) & 0xf)" ( (binary_expression "*(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4) & 0xf" (pointer_expression "*(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4)" * (cast_expression "(byte *)((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4)" ( (binary_expression "(long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 4" (binary_expression "(long)&(param_8->super_Output_data).address_ + (ulong)uVar23" (cast_expression "(long)&(param_8->super_Output_data).address_" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&(param_8->super_Output_data).address_" & (field_expression "(param_8->super_Output_data).address_" (parenthesized_expression "(param_8->super_Output_data)" ( (field_expression "param_8->super_Output_data" identifier -> field_identifier) )) . field_identifier))) + (cast_expression "(ulong)uVar23" ( (type_descriptor "ulong" type_identifier) ) identifier)) + number_literal) )))) & number_literal) )) != number_literal) ))) )) && (parenthesized_expression "((0x17 < uVar13 || ((0x843f84UL >> ((ulong)uVar4 & 0x3f) & 1) == 0)))" ( (parenthesized_expression "(0x17 < uVar13 || ((0x843f84UL >> ((ulong)uVar4 & 0x3f) & 1) == 0))" ( (binary_expression "0x17 < uVar13 || ((0x843f84UL >> ((ulong)uVar4 & 0x3f) & 1) == 0)" (binary_expression "0x17 < uVar13" number_literal < identifier) || (parenthesized_expression "((0x843f84UL >> ((ulong)uVar4 & 0x3f) & 1) == 0)" ( (binary_expression "(0x843f84UL >> ((ulong)uVar4 & 0x3f) & 1) == 0" (parenthesized_expression "(0x843f84UL >> ((ulong)uVar4 & 0x3f) & 1)" ( (binary_expression "0x843f84UL >> ((ulong)uVar4 & 0x3f) & 1" (binary_expression "0x843f84UL >> ((ulong)uVar4 & 0x3f)" number_literal >> (parenthesized_expression "((ulong)uVar4 & 0x3f)" ( (binary_expression "(ulong)uVar4 & 0x3f" (cast_expression "(ulong)uVar4" ( (type_descriptor "ulong" type_identifier) ) identifier) & number_literal) ))) & number_literal) )) == number_literal) ))) )) ))) )) (compound_statement "{\n          local_c0 = (uint)*(ushort *)\n                            ((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 6);\n          __node_gen_2._M_h = (__hashtable_alloc *)&symtab->icf_->fptr_section_id_;\n          local_c8 = target;\n          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          ::\n          _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                      *)__node_gen_2._M_h,&local_c8,&__node_gen_2,1);\n        }" { (expression_statement "local_c0 = (uint)*(ushort *)\n                            ((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 6);" (assignment_expression "local_c0 = (uint)*(ushort *)\n                            ((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 6)" identifier = (binary_expression "(uint)*(ushort *)\n                            ((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 6)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)\n                            ((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 6)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 6)" ( (binary_expression "(long)&(param_8->super_Output_data).address_ + (ulong)uVar23 + 6" (binary_expression "(long)&(param_8->super_Output_data).address_ + (ulong)uVar23" (cast_expression "(long)&(param_8->super_Output_data).address_" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&(param_8->super_Output_data).address_" & (field_expression "(param_8->super_Output_data).address_" (parenthesized_expression "(param_8->super_Output_data)" ( (field_expression "param_8->super_Output_data" identifier -> field_identifier) )) . field_identifier))) + (cast_expression "(ulong)uVar23" ( (type_descriptor "ulong" type_identifier) ) identifier)) + number_literal) ))))) ;) (expression_statement "__node_gen_2._M_h = (__hashtable_alloc *)&symtab->icf_->fptr_section_id_;" (assignment_expression "__node_gen_2._M_h = (__hashtable_alloc *)&symtab->icf_->fptr_section_id_" (field_expression "__node_gen_2._M_h" identifier . field_identifier) = (cast_expression "(__hashtable_alloc *)&symtab->icf_->fptr_section_id_" ( (type_descriptor "__hashtable_alloc *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&symtab->icf_->fptr_section_id_" & (field_expression "symtab->icf_->fptr_section_id_" (field_expression "symtab->icf_" identifier -> field_identifier) -> field_identifier)))) ;) (expression_statement "local_c8 = target;" (assignment_expression "local_c8 = target" identifier = identifier) ;) (ERROR "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::" (comma_expression "std::\n          _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std" identifier (ERROR "::\n          _Hashtable<std::pair<gold::Relobj*,_unsigned_int>" : : (binary_expression "_Hashtable<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : identifier * , 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 "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          ::\n          _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                      *)__node_gen_2._M_h,&local_c8,&__node_gen_2,1);" 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          ::\n          _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                      *)__node_gen_2._M_h,&local_c8,&__node_gen_2,1);" 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          ::\n          _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                      *)__node_gen_2._M_h,&local_c8,&__node_gen_2,1);" statement_identifier (ERROR "::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n          ::\n          _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std:" : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) : : (comma_expression "__detail::_Hashtable_traits<true,_true,_true>_>\n          ::\n          _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std" identifier (ERROR "::_Hashtable_traits<true,_true,_true>_>\n          ::\n          _M_insert<std::pair<gold::Relobj*,_unsigned_int>" : : (comma_expression "_Hashtable_traits<true,_true,_true>_>\n          ::\n          _M_insert<std" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_true,_true>_>\n          ::\n          _M_insert<std" identifier , (binary_expression "_true>_>\n          ::\n          _M_insert<std" (binary_expression "_true>_>\n          ::\n          _M_insert" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) identifier) < identifier))) : : (binary_expression "pair<gold" identifier < identifier) : : identifier * , identifier >) , identifier) :) : (labeled_statement "__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                      *)__node_gen_2._M_h,&local_c8,&__node_gen_2,1);" statement_identifier (ERROR "::_AllocNode<std::allocator<std:" : : (binary_expression "_AllocNode<std" identifier < identifier) : : (binary_expression "allocator<std" identifier < identifier) :) : (expression_statement "__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                      *)__node_gen_2._M_h,&local_c8,&__node_gen_2,1);" (comma_expression "__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                      *)__node_gen_2._M_h,&local_c8,&__node_gen_2,1)" identifier (ERROR "::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>" : : (binary_expression "_Hash_node<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : identifier * , identifier >) , (binary_expression "_true>_>_>_>\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                      *)__node_gen_2._M_h,&local_c8,&__node_gen_2,1)" (binary_expression "_true>_>_>_" (binary_expression "_true>_>_" (binary_expression "_true>_" identifier > identifier) > identifier) > identifier) > (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                      *)__node_gen_2._M_h,&local_c8,&__node_gen_2,1)" ( (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                      *)__node_gen_2._M_h,&local_c8,&__node_gen_2,1)" ( (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                      *)__node_gen_2._M_h,&local_c8,&__node_gen_2,1" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_true,_true>_>\n                      *)__node_gen_2._M_h,&local_c8,&__node_gen_2,1" identifier , (comma_expression "_true>_>\n                      *)__node_gen_2._M_h,&local_c8,&__node_gen_2,1" (binary_expression "_true>_>\n                      *)__node_gen_2._M_h" (binary_expression "_true>_" identifier > identifier) > (pointer_expression "*)__node_gen_2._M_h" * (ERROR ")" )) (field_expression "__node_gen_2._M_h" identifier . field_identifier))) , (comma_expression "&local_c8,&__node_gen_2,1" (pointer_expression "&local_c8" & identifier) , (comma_expression "&__node_gen_2,1" (pointer_expression "&__node_gen_2" & identifier) , number_literal))))) )) )))) ;))))) })) (expression_statement "pOVar30 = (Output_segment *)target;" (assignment_expression "pOVar30 = (Output_segment *)target" identifier = (cast_expression "(Output_segment *)target" ( (type_descriptor "Output_segment *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (shndx != (uint)uVar28) {\nLAB_001925a8:\n          if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n          }\n          if ((parameters->options_->gc_sections_).value != false) {\n            pGVar7 = symtab->gc_;\n            dst_id.second = (uint)uVar28;\n            p_Var8 = (pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                     _M_parent;\n            p_Var1 = &(pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header;\n            p_Var18 = &p_Var1->_M_header;\n            cVar15._M_node = &p_Var1->_M_header;\n            src_id_2.first = (Relobj *)target;\n            src_id_2.second = shndx;\n            dst_id.first = (Relobj *)pOVar30;\n            if (p_Var8 == (_Base_ptr)0x0) {\nLAB_00192660:\n              local_e8._M_head_impl = &src_id_2;\n              cVar15._M_node =\n                   (_Base_ptr)\n                   std::\n                   _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                   ::\n                   _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::pair<gold::Relobj*,_unsigned_int>&>,_std::tuple<>_>\n                             (&(pGVar7->section_reloc_map_)._M_t,cVar15,\n                              (piecewise_construct_t *)&std::piecewise_construct,\n                              (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)&local_e8,\n                              &local_10a);\n            }\n            else {\n              do {\n                while ((cVar15._M_node = p_Var8,\n                       target <= *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                       ((target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) ||\n                        (shndx <= *(uint *)&cVar15._M_node[1]._M_parent))))) {\n                  p_Var18 = cVar15._M_node;\n                  p_Var8 = (cVar15._M_node)->_M_left;\n                  if ((cVar15._M_node)->_M_left == (_Base_ptr)0x0) goto LAB_0019263a;\n                }\n                pp_Var2 = &(cVar15._M_node)->_M_right;\n                cVar15._M_node = p_Var18;\n                p_Var8 = *pp_Var2;\n              } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_0019263a:\n              if ((((_Rb_tree_header *)cVar15._M_node == p_Var1) ||\n                  (target < *(Target_powerpc<32,_false> **)(cVar15._M_node + 1))) ||\n                 ((target == *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                  (shndx < *(uint *)&cVar15._M_node[1]._M_parent)))) goto LAB_00192660;\n            }\n            __node_gen_1._M_h = (__hashtable_alloc *)&cVar15._M_node[1]._M_left;\n            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            ::\n            _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                        *)__node_gen_1._M_h,&dst_id,&__node_gen_1,1);\n            pTVar9 = parameters->target_;\n            if (pTVar9 == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x73,"sized_target");\n            }\n            (*pTVar9->_vptr_Target[0x41])\n                      (pTVar9,symtab,target,(ulong)src_obj & 0xffffffff,pOVar30,uVar28,\n                       (ulong)local_134);\n            if (local_158 != (_func_int_varargs **)0x0) {\n              pGVar7 = symtab->gc_;\n              src_id.first = (Relobj *)&stack0xffffffffffffffb8;\n              sVar16 = strlen((char *)local_158);\n              std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n              _M_construct<char_const*>\n                        ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                         &src_id,local_158,(byte *)((long)local_158 + sVar16));\n              iVar17 = std::\n                       _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                       ::find(&(pGVar7->cident_sections_)._M_t,\n                              (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                              &src_id);\n              if (src_id.first != (Relobj *)&stack0xffffffffffffffb8) {\n                operator_delete(src_id.first);\n              }\n              pGVar7 = symtab->gc_;\n              if ((_Rb_tree_header *)iVar17._M_node !=\n                  &(pGVar7->cident_sections_)._M_t._M_impl.super__Rb_tree_header) {\n                p_Var8 = (pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                         _M_parent;\n                p_Var1 = &(pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header;\n                src_id.second = shndx;\n                p_Var18 = &p_Var1->_M_header;\n                cVar15._M_node = &p_Var1->_M_header;\n                if (p_Var8 == (_Base_ptr)0x0) {\nLAB_00192b80:\n                  local_e0._M_head_impl = (pair<gold::Relobj*,_unsigned_int> *)&src_id;\n                  src_id.first = (Relobj *)target;\n                  cVar15._M_node =\n                       (_Base_ptr)\n                       std::\n                       _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                       ::\n                       _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::pair<gold::Relobj*,_unsigned_int>&>,_std::tuple<>_>\n                                 (&(pGVar7->section_reloc_map_)._M_t,cVar15,\n                                  (piecewise_construct_t *)&std::piecewise_construct,\n                                  (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)&local_e0,\n                                  &local_109);\n                }\n                else {\n                  do {\n                    while ((cVar15._M_node = p_Var8,\n                           target <= *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                           ((target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) ||\n                            (shndx <= *(uint *)&cVar15._M_node[1]._M_parent))))) {\n                      p_Var18 = cVar15._M_node;\n                      p_Var8 = (cVar15._M_node)->_M_left;\n                      if ((cVar15._M_node)->_M_left == (_Base_ptr)0x0) goto LAB_001927c2;\n                    }\n                    pp_Var2 = &(cVar15._M_node)->_M_right;\n                    cVar15._M_node = p_Var18;\n                    p_Var8 = *pp_Var2;\n                  } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_001927c2:\n                  if ((((_Rb_tree_header *)cVar15._M_node == p_Var1) ||\n                      (target < *(Target_powerpc<32,_false> **)(cVar15._M_node + 1))) ||\n                     ((src_id.first = (Relobj *)target,\n                      target == *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                      (shndx < *(uint *)&cVar15._M_node[1]._M_parent)))) goto LAB_00192b80;\n                }\n                for (p_Var10 = iVar17._M_node[2]._M_left; p_Var10 != (_Base_ptr)0x0;\n                    p_Var10 = *(_Base_ptr *)p_Var10) {\n                  __node_gen._M_h = (__hashtable_alloc *)&cVar15._M_node[1]._M_left;\n                  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                  ::\n                  _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                              *)&cVar15._M_node[1]._M_left,&p_Var10->_M_parent,&__node_gen,1);\n                }\n              }\n            }\n          }\n        }" if (parenthesized_expression "(shndx != (uint)uVar28)" ( (binary_expression "shndx != (uint)uVar28" identifier != (cast_expression "(uint)uVar28" ( (type_descriptor "uint" type_identifier) ) identifier)) )) (compound_statement "{\nLAB_001925a8:\n          if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n          }\n          if ((parameters->options_->gc_sections_).value != false) {\n            pGVar7 = symtab->gc_;\n            dst_id.second = (uint)uVar28;\n            p_Var8 = (pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                     _M_parent;\n            p_Var1 = &(pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header;\n            p_Var18 = &p_Var1->_M_header;\n            cVar15._M_node = &p_Var1->_M_header;\n            src_id_2.first = (Relobj *)target;\n            src_id_2.second = shndx;\n            dst_id.first = (Relobj *)pOVar30;\n            if (p_Var8 == (_Base_ptr)0x0) {\nLAB_00192660:\n              local_e8._M_head_impl = &src_id_2;\n              cVar15._M_node =\n                   (_Base_ptr)\n                   std::\n                   _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                   ::\n                   _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::pair<gold::Relobj*,_unsigned_int>&>,_std::tuple<>_>\n                             (&(pGVar7->section_reloc_map_)._M_t,cVar15,\n                              (piecewise_construct_t *)&std::piecewise_construct,\n                              (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)&local_e8,\n                              &local_10a);\n            }\n            else {\n              do {\n                while ((cVar15._M_node = p_Var8,\n                       target <= *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                       ((target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) ||\n                        (shndx <= *(uint *)&cVar15._M_node[1]._M_parent))))) {\n                  p_Var18 = cVar15._M_node;\n                  p_Var8 = (cVar15._M_node)->_M_left;\n                  if ((cVar15._M_node)->_M_left == (_Base_ptr)0x0) goto LAB_0019263a;\n                }\n                pp_Var2 = &(cVar15._M_node)->_M_right;\n                cVar15._M_node = p_Var18;\n                p_Var8 = *pp_Var2;\n              } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_0019263a:\n              if ((((_Rb_tree_header *)cVar15._M_node == p_Var1) ||\n                  (target < *(Target_powerpc<32,_false> **)(cVar15._M_node + 1))) ||\n                 ((target == *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                  (shndx < *(uint *)&cVar15._M_node[1]._M_parent)))) goto LAB_00192660;\n            }\n            __node_gen_1._M_h = (__hashtable_alloc *)&cVar15._M_node[1]._M_left;\n            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            ::\n            _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                        *)__node_gen_1._M_h,&dst_id,&__node_gen_1,1);\n            pTVar9 = parameters->target_;\n            if (pTVar9 == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x73,"sized_target");\n            }\n            (*pTVar9->_vptr_Target[0x41])\n                      (pTVar9,symtab,target,(ulong)src_obj & 0xffffffff,pOVar30,uVar28,\n                       (ulong)local_134);\n            if (local_158 != (_func_int_varargs **)0x0) {\n              pGVar7 = symtab->gc_;\n              src_id.first = (Relobj *)&stack0xffffffffffffffb8;\n              sVar16 = strlen((char *)local_158);\n              std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n              _M_construct<char_const*>\n                        ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                         &src_id,local_158,(byte *)((long)local_158 + sVar16));\n              iVar17 = std::\n                       _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                       ::find(&(pGVar7->cident_sections_)._M_t,\n                              (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                              &src_id);\n              if (src_id.first != (Relobj *)&stack0xffffffffffffffb8) {\n                operator_delete(src_id.first);\n              }\n              pGVar7 = symtab->gc_;\n              if ((_Rb_tree_header *)iVar17._M_node !=\n                  &(pGVar7->cident_sections_)._M_t._M_impl.super__Rb_tree_header) {\n                p_Var8 = (pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                         _M_parent;\n                p_Var1 = &(pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header;\n                src_id.second = shndx;\n                p_Var18 = &p_Var1->_M_header;\n                cVar15._M_node = &p_Var1->_M_header;\n                if (p_Var8 == (_Base_ptr)0x0) {\nLAB_00192b80:\n                  local_e0._M_head_impl = (pair<gold::Relobj*,_unsigned_int> *)&src_id;\n                  src_id.first = (Relobj *)target;\n                  cVar15._M_node =\n                       (_Base_ptr)\n                       std::\n                       _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                       ::\n                       _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::pair<gold::Relobj*,_unsigned_int>&>,_std::tuple<>_>\n                                 (&(pGVar7->section_reloc_map_)._M_t,cVar15,\n                                  (piecewise_construct_t *)&std::piecewise_construct,\n                                  (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)&local_e0,\n                                  &local_109);\n                }\n                else {\n                  do {\n                    while ((cVar15._M_node = p_Var8,\n                           target <= *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                           ((target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) ||\n                            (shndx <= *(uint *)&cVar15._M_node[1]._M_parent))))) {\n                      p_Var18 = cVar15._M_node;\n                      p_Var8 = (cVar15._M_node)->_M_left;\n                      if ((cVar15._M_node)->_M_left == (_Base_ptr)0x0) goto LAB_001927c2;\n                    }\n                    pp_Var2 = &(cVar15._M_node)->_M_right;\n                    cVar15._M_node = p_Var18;\n                    p_Var8 = *pp_Var2;\n                  } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_001927c2:\n                  if ((((_Rb_tree_header *)cVar15._M_node == p_Var1) ||\n                      (target < *(Target_powerpc<32,_false> **)(cVar15._M_node + 1))) ||\n                     ((src_id.first = (Relobj *)target,\n                      target == *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                      (shndx < *(uint *)&cVar15._M_node[1]._M_parent)))) goto LAB_00192b80;\n                }\n                for (p_Var10 = iVar17._M_node[2]._M_left; p_Var10 != (_Base_ptr)0x0;\n                    p_Var10 = *(_Base_ptr *)p_Var10) {\n                  __node_gen._M_h = (__hashtable_alloc *)&cVar15._M_node[1]._M_left;\n                  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                  ::\n                  _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                              *)&cVar15._M_node[1]._M_left,&p_Var10->_M_parent,&__node_gen,1);\n                }\n              }\n            }\n          }\n        }" { (labeled_statement "LAB_001925a8:\n          if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n          }" statement_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 ") ))) ;) }))) (if_statement "if ((parameters->options_->gc_sections_).value != false) {\n            pGVar7 = symtab->gc_;\n            dst_id.second = (uint)uVar28;\n            p_Var8 = (pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                     _M_parent;\n            p_Var1 = &(pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header;\n            p_Var18 = &p_Var1->_M_header;\n            cVar15._M_node = &p_Var1->_M_header;\n            src_id_2.first = (Relobj *)target;\n            src_id_2.second = shndx;\n            dst_id.first = (Relobj *)pOVar30;\n            if (p_Var8 == (_Base_ptr)0x0) {\nLAB_00192660:\n              local_e8._M_head_impl = &src_id_2;\n              cVar15._M_node =\n                   (_Base_ptr)\n                   std::\n                   _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                   ::\n                   _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::pair<gold::Relobj*,_unsigned_int>&>,_std::tuple<>_>\n                             (&(pGVar7->section_reloc_map_)._M_t,cVar15,\n                              (piecewise_construct_t *)&std::piecewise_construct,\n                              (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)&local_e8,\n                              &local_10a);\n            }\n            else {\n              do {\n                while ((cVar15._M_node = p_Var8,\n                       target <= *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                       ((target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) ||\n                        (shndx <= *(uint *)&cVar15._M_node[1]._M_parent))))) {\n                  p_Var18 = cVar15._M_node;\n                  p_Var8 = (cVar15._M_node)->_M_left;\n                  if ((cVar15._M_node)->_M_left == (_Base_ptr)0x0) goto LAB_0019263a;\n                }\n                pp_Var2 = &(cVar15._M_node)->_M_right;\n                cVar15._M_node = p_Var18;\n                p_Var8 = *pp_Var2;\n              } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_0019263a:\n              if ((((_Rb_tree_header *)cVar15._M_node == p_Var1) ||\n                  (target < *(Target_powerpc<32,_false> **)(cVar15._M_node + 1))) ||\n                 ((target == *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                  (shndx < *(uint *)&cVar15._M_node[1]._M_parent)))) goto LAB_00192660;\n            }\n            __node_gen_1._M_h = (__hashtable_alloc *)&cVar15._M_node[1]._M_left;\n            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            ::\n            _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                        *)__node_gen_1._M_h,&dst_id,&__node_gen_1,1);\n            pTVar9 = parameters->target_;\n            if (pTVar9 == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x73,"sized_target");\n            }\n            (*pTVar9->_vptr_Target[0x41])\n                      (pTVar9,symtab,target,(ulong)src_obj & 0xffffffff,pOVar30,uVar28,\n                       (ulong)local_134);\n            if (local_158 != (_func_int_varargs **)0x0) {\n              pGVar7 = symtab->gc_;\n              src_id.first = (Relobj *)&stack0xffffffffffffffb8;\n              sVar16 = strlen((char *)local_158);\n              std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n              _M_construct<char_const*>\n                        ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                         &src_id,local_158,(byte *)((long)local_158 + sVar16));\n              iVar17 = std::\n                       _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                       ::find(&(pGVar7->cident_sections_)._M_t,\n                              (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                              &src_id);\n              if (src_id.first != (Relobj *)&stack0xffffffffffffffb8) {\n                operator_delete(src_id.first);\n              }\n              pGVar7 = symtab->gc_;\n              if ((_Rb_tree_header *)iVar17._M_node !=\n                  &(pGVar7->cident_sections_)._M_t._M_impl.super__Rb_tree_header) {\n                p_Var8 = (pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                         _M_parent;\n                p_Var1 = &(pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header;\n                src_id.second = shndx;\n                p_Var18 = &p_Var1->_M_header;\n                cVar15._M_node = &p_Var1->_M_header;\n                if (p_Var8 == (_Base_ptr)0x0) {\nLAB_00192b80:\n                  local_e0._M_head_impl = (pair<gold::Relobj*,_unsigned_int> *)&src_id;\n                  src_id.first = (Relobj *)target;\n                  cVar15._M_node =\n                       (_Base_ptr)\n                       std::\n                       _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                       ::\n                       _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::pair<gold::Relobj*,_unsigned_int>&>,_std::tuple<>_>\n                                 (&(pGVar7->section_reloc_map_)._M_t,cVar15,\n                                  (piecewise_construct_t *)&std::piecewise_construct,\n                                  (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)&local_e0,\n                                  &local_109);\n                }\n                else {\n                  do {\n                    while ((cVar15._M_node = p_Var8,\n                           target <= *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                           ((target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) ||\n                            (shndx <= *(uint *)&cVar15._M_node[1]._M_parent))))) {\n                      p_Var18 = cVar15._M_node;\n                      p_Var8 = (cVar15._M_node)->_M_left;\n                      if ((cVar15._M_node)->_M_left == (_Base_ptr)0x0) goto LAB_001927c2;\n                    }\n                    pp_Var2 = &(cVar15._M_node)->_M_right;\n                    cVar15._M_node = p_Var18;\n                    p_Var8 = *pp_Var2;\n                  } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_001927c2:\n                  if ((((_Rb_tree_header *)cVar15._M_node == p_Var1) ||\n                      (target < *(Target_powerpc<32,_false> **)(cVar15._M_node + 1))) ||\n                     ((src_id.first = (Relobj *)target,\n                      target == *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                      (shndx < *(uint *)&cVar15._M_node[1]._M_parent)))) goto LAB_00192b80;\n                }\n                for (p_Var10 = iVar17._M_node[2]._M_left; p_Var10 != (_Base_ptr)0x0;\n                    p_Var10 = *(_Base_ptr *)p_Var10) {\n                  __node_gen._M_h = (__hashtable_alloc *)&cVar15._M_node[1]._M_left;\n                  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                  ::\n                  _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                              *)&cVar15._M_node[1]._M_left,&p_Var10->_M_parent,&__node_gen,1);\n                }\n              }\n            }\n          }" if (parenthesized_expression "((parameters->options_->gc_sections_).value != false)" ( (binary_expression "(parameters->options_->gc_sections_).value != false" (field_expression "(parameters->options_->gc_sections_).value" (parenthesized_expression "(parameters->options_->gc_sections_)" ( (field_expression "parameters->options_->gc_sections_" (field_expression "parameters->options_" identifier -> field_identifier) -> field_identifier) )) . field_identifier) != false) )) (compound_statement "{\n            pGVar7 = symtab->gc_;\n            dst_id.second = (uint)uVar28;\n            p_Var8 = (pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                     _M_parent;\n            p_Var1 = &(pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header;\n            p_Var18 = &p_Var1->_M_header;\n            cVar15._M_node = &p_Var1->_M_header;\n            src_id_2.first = (Relobj *)target;\n            src_id_2.second = shndx;\n            dst_id.first = (Relobj *)pOVar30;\n            if (p_Var8 == (_Base_ptr)0x0) {\nLAB_00192660:\n              local_e8._M_head_impl = &src_id_2;\n              cVar15._M_node =\n                   (_Base_ptr)\n                   std::\n                   _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                   ::\n                   _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::pair<gold::Relobj*,_unsigned_int>&>,_std::tuple<>_>\n                             (&(pGVar7->section_reloc_map_)._M_t,cVar15,\n                              (piecewise_construct_t *)&std::piecewise_construct,\n                              (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)&local_e8,\n                              &local_10a);\n            }\n            else {\n              do {\n                while ((cVar15._M_node = p_Var8,\n                       target <= *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                       ((target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) ||\n                        (shndx <= *(uint *)&cVar15._M_node[1]._M_parent))))) {\n                  p_Var18 = cVar15._M_node;\n                  p_Var8 = (cVar15._M_node)->_M_left;\n                  if ((cVar15._M_node)->_M_left == (_Base_ptr)0x0) goto LAB_0019263a;\n                }\n                pp_Var2 = &(cVar15._M_node)->_M_right;\n                cVar15._M_node = p_Var18;\n                p_Var8 = *pp_Var2;\n              } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_0019263a:\n              if ((((_Rb_tree_header *)cVar15._M_node == p_Var1) ||\n                  (target < *(Target_powerpc<32,_false> **)(cVar15._M_node + 1))) ||\n                 ((target == *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                  (shndx < *(uint *)&cVar15._M_node[1]._M_parent)))) goto LAB_00192660;\n            }\n            __node_gen_1._M_h = (__hashtable_alloc *)&cVar15._M_node[1]._M_left;\n            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            ::\n            _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                        *)__node_gen_1._M_h,&dst_id,&__node_gen_1,1);\n            pTVar9 = parameters->target_;\n            if (pTVar9 == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x73,"sized_target");\n            }\n            (*pTVar9->_vptr_Target[0x41])\n                      (pTVar9,symtab,target,(ulong)src_obj & 0xffffffff,pOVar30,uVar28,\n                       (ulong)local_134);\n            if (local_158 != (_func_int_varargs **)0x0) {\n              pGVar7 = symtab->gc_;\n              src_id.first = (Relobj *)&stack0xffffffffffffffb8;\n              sVar16 = strlen((char *)local_158);\n              std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n              _M_construct<char_const*>\n                        ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                         &src_id,local_158,(byte *)((long)local_158 + sVar16));\n              iVar17 = std::\n                       _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                       ::find(&(pGVar7->cident_sections_)._M_t,\n                              (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                              &src_id);\n              if (src_id.first != (Relobj *)&stack0xffffffffffffffb8) {\n                operator_delete(src_id.first);\n              }\n              pGVar7 = symtab->gc_;\n              if ((_Rb_tree_header *)iVar17._M_node !=\n                  &(pGVar7->cident_sections_)._M_t._M_impl.super__Rb_tree_header) {\n                p_Var8 = (pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                         _M_parent;\n                p_Var1 = &(pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header;\n                src_id.second = shndx;\n                p_Var18 = &p_Var1->_M_header;\n                cVar15._M_node = &p_Var1->_M_header;\n                if (p_Var8 == (_Base_ptr)0x0) {\nLAB_00192b80:\n                  local_e0._M_head_impl = (pair<gold::Relobj*,_unsigned_int> *)&src_id;\n                  src_id.first = (Relobj *)target;\n                  cVar15._M_node =\n                       (_Base_ptr)\n                       std::\n                       _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                       ::\n                       _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::pair<gold::Relobj*,_unsigned_int>&>,_std::tuple<>_>\n                                 (&(pGVar7->section_reloc_map_)._M_t,cVar15,\n                                  (piecewise_construct_t *)&std::piecewise_construct,\n                                  (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)&local_e0,\n                                  &local_109);\n                }\n                else {\n                  do {\n                    while ((cVar15._M_node = p_Var8,\n                           target <= *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                           ((target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) ||\n                            (shndx <= *(uint *)&cVar15._M_node[1]._M_parent))))) {\n                      p_Var18 = cVar15._M_node;\n                      p_Var8 = (cVar15._M_node)->_M_left;\n                      if ((cVar15._M_node)->_M_left == (_Base_ptr)0x0) goto LAB_001927c2;\n                    }\n                    pp_Var2 = &(cVar15._M_node)->_M_right;\n                    cVar15._M_node = p_Var18;\n                    p_Var8 = *pp_Var2;\n                  } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_001927c2:\n                  if ((((_Rb_tree_header *)cVar15._M_node == p_Var1) ||\n                      (target < *(Target_powerpc<32,_false> **)(cVar15._M_node + 1))) ||\n                     ((src_id.first = (Relobj *)target,\n                      target == *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                      (shndx < *(uint *)&cVar15._M_node[1]._M_parent)))) goto LAB_00192b80;\n                }\n                for (p_Var10 = iVar17._M_node[2]._M_left; p_Var10 != (_Base_ptr)0x0;\n                    p_Var10 = *(_Base_ptr *)p_Var10) {\n                  __node_gen._M_h = (__hashtable_alloc *)&cVar15._M_node[1]._M_left;\n                  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                  ::\n                  _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                              *)&cVar15._M_node[1]._M_left,&p_Var10->_M_parent,&__node_gen,1);\n                }\n              }\n            }\n          }" { (expression_statement "pGVar7 = symtab->gc_;" (assignment_expression "pGVar7 = symtab->gc_" identifier = (field_expression "symtab->gc_" identifier -> field_identifier)) ;) (expression_statement "dst_id.second = (uint)uVar28;" (assignment_expression "dst_id.second = (uint)uVar28" (field_expression "dst_id.second" identifier . field_identifier) = (cast_expression "(uint)uVar28" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "p_Var8 = (pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                     _M_parent;" (assignment_expression "p_Var8 = (pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                     _M_parent" identifier = (field_expression "(pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                     _M_parent" (field_expression "(pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "(pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header" (field_expression "(pGVar7->section_reloc_map_)._M_t._M_impl" (field_expression "(pGVar7->section_reloc_map_)._M_t" (parenthesized_expression "(pGVar7->section_reloc_map_)" ( (field_expression "pGVar7->section_reloc_map_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "p_Var1 = &(pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header;" (assignment_expression "p_Var1 = &(pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header" identifier = (pointer_expression "&(pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header" & (field_expression "(pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header" (field_expression "(pGVar7->section_reloc_map_)._M_t._M_impl" (field_expression "(pGVar7->section_reloc_map_)._M_t" (parenthesized_expression "(pGVar7->section_reloc_map_)" ( (field_expression "pGVar7->section_reloc_map_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))) ;) (expression_statement "p_Var18 = &p_Var1->_M_header;" (assignment_expression "p_Var18 = &p_Var1->_M_header" identifier = (pointer_expression "&p_Var1->_M_header" & (field_expression "p_Var1->_M_header" identifier -> field_identifier))) ;) (expression_statement "cVar15._M_node = &p_Var1->_M_header;" (assignment_expression "cVar15._M_node = &p_Var1->_M_header" (field_expression "cVar15._M_node" identifier . field_identifier) = (pointer_expression "&p_Var1->_M_header" & (field_expression "p_Var1->_M_header" identifier -> field_identifier))) ;) (expression_statement "src_id_2.first = (Relobj *)target;" (assignment_expression "src_id_2.first = (Relobj *)target" (field_expression "src_id_2.first" identifier . field_identifier) = (cast_expression "(Relobj *)target" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "src_id_2.second = shndx;" (assignment_expression "src_id_2.second = shndx" (field_expression "src_id_2.second" identifier . field_identifier) = identifier) ;) (expression_statement "dst_id.first = (Relobj *)pOVar30;" (assignment_expression "dst_id.first = (Relobj *)pOVar30" (field_expression "dst_id.first" identifier . field_identifier) = (cast_expression "(Relobj *)pOVar30" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (p_Var8 == (_Base_ptr)0x0) {\nLAB_00192660:\n              local_e8._M_head_impl = &src_id_2;\n              cVar15._M_node =\n                   (_Base_ptr)\n                   std::\n                   _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                   ::\n                   _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::pair<gold::Relobj*,_unsigned_int>&>,_std::tuple<>_>\n                             (&(pGVar7->section_reloc_map_)._M_t,cVar15,\n                              (piecewise_construct_t *)&std::piecewise_construct,\n                              (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)&local_e8,\n                              &local_10a);\n            }\n            else {\n              do {\n                while ((cVar15._M_node = p_Var8,\n                       target <= *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                       ((target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) ||\n                        (shndx <= *(uint *)&cVar15._M_node[1]._M_parent))))) {\n                  p_Var18 = cVar15._M_node;\n                  p_Var8 = (cVar15._M_node)->_M_left;\n                  if ((cVar15._M_node)->_M_left == (_Base_ptr)0x0) goto LAB_0019263a;\n                }\n                pp_Var2 = &(cVar15._M_node)->_M_right;\n                cVar15._M_node = p_Var18;\n                p_Var8 = *pp_Var2;\n              } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_0019263a:\n              if ((((_Rb_tree_header *)cVar15._M_node == p_Var1) ||\n                  (target < *(Target_powerpc<32,_false> **)(cVar15._M_node + 1))) ||\n                 ((target == *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                  (shndx < *(uint *)&cVar15._M_node[1]._M_parent)))) goto LAB_00192660;\n            }" if (parenthesized_expression "(p_Var8 == (_Base_ptr)0x0)" ( (binary_expression "p_Var8 == (_Base_ptr)0x0" identifier == (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) )) (compound_statement "{\nLAB_00192660:\n              local_e8._M_head_impl = &src_id_2;\n              cVar15._M_node =\n                   (_Base_ptr)\n                   std::\n                   _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                   ::\n                   _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::pair<gold::Relobj*,_unsigned_int>&>,_std::tuple<>_>\n                             (&(pGVar7->section_reloc_map_)._M_t,cVar15,\n                              (piecewise_construct_t *)&std::piecewise_construct,\n                              (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)&local_e8,\n                              &local_10a);\n            }" { (labeled_statement "LAB_00192660:\n              local_e8._M_head_impl = &src_id_2;" statement_identifier : (expression_statement "local_e8._M_head_impl = &src_id_2;" (assignment_expression "local_e8._M_head_impl = &src_id_2" (field_expression "local_e8._M_head_impl" identifier . field_identifier) = (pointer_expression "&src_id_2" & identifier)) ;)) (ERROR "cVar15._M_node =\n                   (_Base_ptr)\n                   std::\n                   _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                   ::\n                   _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::pair<gold::Relobj*,_unsigned_int>&>,_std::" (comma_expression "cVar15._M_node =\n                   (_Base_ptr)\n                   std::\n                   _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std" (binary_expression "cVar15._M_node =\n                   (_Base_ptr)\n                   std::\n                   _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold" (binary_expression "cVar15._M_node =\n                   (_Base_ptr)\n                   std::\n                   _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "cVar15._M_node =\n                   (_Base_ptr)\n                   std::\n                   _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold" (binary_expression "cVar15._M_node =\n                   (_Base_ptr)\n                   std::\n                   _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std" (binary_expression "cVar15._M_node =\n                   (_Base_ptr)\n                   std::\n                   _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std" (binary_expression "cVar15._M_node =\n                   (_Base_ptr)\n                   std::\n                   _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int" (binary_expression "cVar15._M_node =\n                   (_Base_ptr)\n                   std::\n                   _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold" (binary_expression "cVar15._M_node =\n                   (_Base_ptr)\n                   std::\n                   _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std" (binary_expression "cVar15._M_node =\n                   (_Base_ptr)\n                   std::\n                   _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std" (binary_expression "cVar15._M_node =\n                   (_Base_ptr)\n                   std::\n                   _Rb_tree<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "cVar15._M_node =\n                   (_Base_ptr)\n                   std::\n                   _Rb_tree<std::pair<gold" (binary_expression "cVar15._M_node =\n                   (_Base_ptr)\n                   std::\n                   _Rb_tree<std" (assignment_expression "cVar15._M_node =\n                   (_Base_ptr)\n                   std" (field_expression "cVar15._M_node" identifier . field_identifier) = (cast_expression "(_Base_ptr)\n                   std" ( (type_descriptor "_Base_ptr" type_identifier) ) identifier)) (ERROR "::\n                   _Rb_tree" : : 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 "::unordered_set" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) (ERROR "::Section_id_hash" : : identifier) , identifier) : : identifier < identifier : : identifier < identifier : : identifier * , identifier > identifier > , identifier : : identifier < identifier : : identifier < identifier : : identifier * , (binary_expression "_unsigned_int>_>_>_>,_std" (binary_expression "_unsigned_int>_>_>_" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "_Select1st<std" identifier < identifier) : : (binary_expression "pair<const_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 "unordered_set<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>,_gold" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (comma_expression "Section_id_hash,_std" identifier , identifier) : : (binary_expression "equal_to<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) : : (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>_>_>_" (binary_expression "Relobj*,_unsigned_int>_>_" (binary_expression "Relobj*,_unsigned_int>_" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > identifier) > identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "less<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) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_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 "unordered_set<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>,_gold" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (comma_expression "Section_id_hash,_std" identifier , identifier) : : (binary_expression "equal_to<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) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>_>_>_>_>_>\n                   ::\n                   _M_emplace_hint_unique<const_std" (binary_expression "Relobj*,_unsigned_int>_>_>_>_>_>\n                   ::\n                   _M_emplace_hint_unique" (binary_expression "Relobj*,_unsigned_int>_>_>_>_>_" (binary_expression "Relobj*,_unsigned_int>_>_>_>_" (binary_expression "Relobj*,_unsigned_int>_>_>_" (binary_expression "Relobj*,_unsigned_int>_>_" (binary_expression "Relobj*,_unsigned_int>_" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > identifier) > identifier) > identifier) > identifier) > identifier) > (ERROR "::" : :) identifier) < identifier) : : (binary_expression "piecewise_construct_t&,_std" identifier & (ERROR "," ,) identifier) : : (binary_expression "tuple<const_std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>&>,_std" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > (pointer_expression "&>,_std" & (ERROR ">," > ,) identifier)) : :) (expression_statement "tuple<>_>\n                             (&(pGVar7->section_reloc_map_)._M_t,cVar15,\n                              (piecewise_construct_t *)&std::piecewise_construct,\n                              (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)&local_e8,\n                              &local_10a);" (binary_expression "tuple<>_>\n                             (&(pGVar7->section_reloc_map_)._M_t,cVar15,\n                              (piecewise_construct_t *)&std::piecewise_construct,\n                              (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)&local_e8,\n                              &local_10a)" (binary_expression "tuple<>_" identifier < (ERROR ">" >) identifier) > (parenthesized_expression "(&(pGVar7->section_reloc_map_)._M_t,cVar15,\n                              (piecewise_construct_t *)&std::piecewise_construct,\n                              (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)&local_e8,\n                              &local_10a)" ( (ERROR "&(pGVar7->section_reloc_map_)._M_t,cVar15,\n                              (piecewise_construct_t *)&std::" (comma_expression "&(pGVar7->section_reloc_map_)._M_t,cVar15,\n                              (piecewise_construct_t *)&std" (pointer_expression "&(pGVar7->section_reloc_map_)._M_t" & (field_expression "(pGVar7->section_reloc_map_)._M_t" (parenthesized_expression "(pGVar7->section_reloc_map_)" ( (field_expression "pGVar7->section_reloc_map_" identifier -> field_identifier) )) . field_identifier)) , (comma_expression "cVar15,\n                              (piecewise_construct_t *)&std" identifier , (cast_expression "(piecewise_construct_t *)&std" ( (type_descriptor "piecewise_construct_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&std" & identifier)))) : :) (comma_expression "piecewise_construct,\n                              (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)&local_e8,\n                              &local_10a" identifier , (comma_expression "(tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)&local_e8,\n                              &local_10a" (binary_expression "(tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)&local_e8" (parenthesized_expression "(tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)" ( (binary_expression "tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *" (binary_expression "tuple<const_std::pair<gold::Relobj*,_unsigned_int" (binary_expression "tuple<const_std::pair<gold" (binary_expression "tuple<const_std" identifier < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (pointer_expression "&> *" & (ERROR ">" >) (pointer_expression "*" * identifier))) )) & identifier) , (pointer_expression "&local_10a" & identifier))) ))) ;) }) (else_clause "else {\n              do {\n                while ((cVar15._M_node = p_Var8,\n                       target <= *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                       ((target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) ||\n                        (shndx <= *(uint *)&cVar15._M_node[1]._M_parent))))) {\n                  p_Var18 = cVar15._M_node;\n                  p_Var8 = (cVar15._M_node)->_M_left;\n                  if ((cVar15._M_node)->_M_left == (_Base_ptr)0x0) goto LAB_0019263a;\n                }\n                pp_Var2 = &(cVar15._M_node)->_M_right;\n                cVar15._M_node = p_Var18;\n                p_Var8 = *pp_Var2;\n              } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_0019263a:\n              if ((((_Rb_tree_header *)cVar15._M_node == p_Var1) ||\n                  (target < *(Target_powerpc<32,_false> **)(cVar15._M_node + 1))) ||\n                 ((target == *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                  (shndx < *(uint *)&cVar15._M_node[1]._M_parent)))) goto LAB_00192660;\n            }" else (compound_statement "{\n              do {\n                while ((cVar15._M_node = p_Var8,\n                       target <= *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                       ((target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) ||\n                        (shndx <= *(uint *)&cVar15._M_node[1]._M_parent))))) {\n                  p_Var18 = cVar15._M_node;\n                  p_Var8 = (cVar15._M_node)->_M_left;\n                  if ((cVar15._M_node)->_M_left == (_Base_ptr)0x0) goto LAB_0019263a;\n                }\n                pp_Var2 = &(cVar15._M_node)->_M_right;\n                cVar15._M_node = p_Var18;\n                p_Var8 = *pp_Var2;\n              } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_0019263a:\n              if ((((_Rb_tree_header *)cVar15._M_node == p_Var1) ||\n                  (target < *(Target_powerpc<32,_false> **)(cVar15._M_node + 1))) ||\n                 ((target == *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                  (shndx < *(uint *)&cVar15._M_node[1]._M_parent)))) goto LAB_00192660;\n            }" { (do_statement "do {\n                while ((cVar15._M_node = p_Var8,\n                       target <= *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                       ((target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) ||\n                        (shndx <= *(uint *)&cVar15._M_node[1]._M_parent))))) {\n                  p_Var18 = cVar15._M_node;\n                  p_Var8 = (cVar15._M_node)->_M_left;\n                  if ((cVar15._M_node)->_M_left == (_Base_ptr)0x0) goto LAB_0019263a;\n                }\n                pp_Var2 = &(cVar15._M_node)->_M_right;\n                cVar15._M_node = p_Var18;\n                p_Var8 = *pp_Var2;\n              } while (*pp_Var2 != (_Base_ptr)0x0);" do (compound_statement "{\n                while ((cVar15._M_node = p_Var8,\n                       target <= *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                       ((target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) ||\n                        (shndx <= *(uint *)&cVar15._M_node[1]._M_parent))))) {\n                  p_Var18 = cVar15._M_node;\n                  p_Var8 = (cVar15._M_node)->_M_left;\n                  if ((cVar15._M_node)->_M_left == (_Base_ptr)0x0) goto LAB_0019263a;\n                }\n                pp_Var2 = &(cVar15._M_node)->_M_right;\n                cVar15._M_node = p_Var18;\n                p_Var8 = *pp_Var2;\n              }" { (while_statement "while ((cVar15._M_node = p_Var8,\n                       target <= *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                       ((target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) ||\n                        (shndx <= *(uint *)&cVar15._M_node[1]._M_parent))))) {\n                  p_Var18 = cVar15._M_node;\n                  p_Var8 = (cVar15._M_node)->_M_left;\n                  if ((cVar15._M_node)->_M_left == (_Base_ptr)0x0) goto LAB_0019263a;\n                }" while (parenthesized_expression "((cVar15._M_node = p_Var8,\n                       target <= *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                       ((target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) ||\n                        (shndx <= *(uint *)&cVar15._M_node[1]._M_parent)))))" ( (parenthesized_expression "(cVar15._M_node = p_Var8,\n                       target <= *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                       ((target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) ||\n                        (shndx <= *(uint *)&cVar15._M_node[1]._M_parent))))" ( (comma_expression "cVar15._M_node = p_Var8,\n                       target <= *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                       ((target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) ||\n                        (shndx <= *(uint *)&cVar15._M_node[1]._M_parent)))" (assignment_expression "cVar15._M_node = p_Var8" (field_expression "cVar15._M_node" identifier . field_identifier) = identifier) , (binary_expression "target <= *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                       ((target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) ||\n                        (shndx <= *(uint *)&cVar15._M_node[1]._M_parent)))" (binary_expression "target <= *(Target_powerpc<32,_false> **)(cVar15._M_node + 1)" identifier <= (pointer_expression "*(Target_powerpc<32,_false> **)(cVar15._M_node + 1)" * (call_expression "(Target_powerpc<32,_false> **)(cVar15._M_node + 1)" (parenthesized_expression "(Target_powerpc<32,_false> **)" ( (comma_expression "Target_powerpc<32,_false> **" (binary_expression "Target_powerpc<32" identifier < number_literal) , (binary_expression "_false> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "(cVar15._M_node + 1)" ( (binary_expression "cVar15._M_node + 1" (field_expression "cVar15._M_node" identifier . field_identifier) + number_literal) ))))) && (parenthesized_expression "((target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) ||\n                        (shndx <= *(uint *)&cVar15._M_node[1]._M_parent)))" ( (parenthesized_expression "(target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) ||\n                        (shndx <= *(uint *)&cVar15._M_node[1]._M_parent))" ( (binary_expression "target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) ||\n                        (shndx <= *(uint *)&cVar15._M_node[1]._M_parent)" (binary_expression "target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1)" identifier != (pointer_expression "*(Target_powerpc<32,_false> **)(cVar15._M_node + 1)" * (call_expression "(Target_powerpc<32,_false> **)(cVar15._M_node + 1)" (parenthesized_expression "(Target_powerpc<32,_false> **)" ( (comma_expression "Target_powerpc<32,_false> **" (binary_expression "Target_powerpc<32" identifier < number_literal) , (binary_expression "_false> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "(cVar15._M_node + 1)" ( (binary_expression "cVar15._M_node + 1" (field_expression "cVar15._M_node" identifier . field_identifier) + number_literal) ))))) || (parenthesized_expression "(shndx <= *(uint *)&cVar15._M_node[1]._M_parent)" ( (binary_expression "shndx <= *(uint *)&cVar15._M_node[1]._M_parent" identifier <= (pointer_expression "*(uint *)&cVar15._M_node[1]._M_parent" * (cast_expression "(uint *)&cVar15._M_node[1]._M_parent" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&cVar15._M_node[1]._M_parent" & (field_expression "cVar15._M_node[1]._M_parent" (subscript_expression "cVar15._M_node[1]" (field_expression "cVar15._M_node" identifier . field_identifier) [ number_literal ]) . field_identifier))))) ))) )) )))) )) )) (compound_statement "{\n                  p_Var18 = cVar15._M_node;\n                  p_Var8 = (cVar15._M_node)->_M_left;\n                  if ((cVar15._M_node)->_M_left == (_Base_ptr)0x0) goto LAB_0019263a;\n                }" { (expression_statement "p_Var18 = cVar15._M_node;" (assignment_expression "p_Var18 = cVar15._M_node" identifier = (field_expression "cVar15._M_node" identifier . field_identifier)) ;) (expression_statement "p_Var8 = (cVar15._M_node)->_M_left;" (assignment_expression "p_Var8 = (cVar15._M_node)->_M_left" identifier = (field_expression "(cVar15._M_node)->_M_left" (parenthesized_expression "(cVar15._M_node)" ( (field_expression "cVar15._M_node" identifier . field_identifier) )) -> field_identifier)) ;) (if_statement "if ((cVar15._M_node)->_M_left == (_Base_ptr)0x0) goto LAB_0019263a;" if (parenthesized_expression "((cVar15._M_node)->_M_left == (_Base_ptr)0x0)" ( (binary_expression "(cVar15._M_node)->_M_left == (_Base_ptr)0x0" (field_expression "(cVar15._M_node)->_M_left" (parenthesized_expression "(cVar15._M_node)" ( (field_expression "cVar15._M_node" identifier . field_identifier) )) -> field_identifier) == (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_0019263a;" goto statement_identifier ;)) })) (expression_statement "pp_Var2 = &(cVar15._M_node)->_M_right;" (assignment_expression "pp_Var2 = &(cVar15._M_node)->_M_right" identifier = (pointer_expression "&(cVar15._M_node)->_M_right" & (field_expression "(cVar15._M_node)->_M_right" (parenthesized_expression "(cVar15._M_node)" ( (field_expression "cVar15._M_node" identifier . field_identifier) )) -> field_identifier))) ;) (expression_statement "cVar15._M_node = p_Var18;" (assignment_expression "cVar15._M_node = p_Var18" (field_expression "cVar15._M_node" identifier . field_identifier) = identifier) ;) (expression_statement "p_Var8 = *pp_Var2;" (assignment_expression "p_Var8 = *pp_Var2" identifier = (pointer_expression "*pp_Var2" * identifier)) ;) }) while (parenthesized_expression "(*pp_Var2 != (_Base_ptr)0x0)" ( (binary_expression "*pp_Var2 != (_Base_ptr)0x0" (pointer_expression "*pp_Var2" * identifier) != (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) )) ;) (labeled_statement "LAB_0019263a:\n              if ((((_Rb_tree_header *)cVar15._M_node == p_Var1) ||\n                  (target < *(Target_powerpc<32,_false> **)(cVar15._M_node + 1))) ||\n                 ((target == *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                  (shndx < *(uint *)&cVar15._M_node[1]._M_parent)))) goto LAB_00192660;" statement_identifier : (if_statement "if ((((_Rb_tree_header *)cVar15._M_node == p_Var1) ||\n                  (target < *(Target_powerpc<32,_false> **)(cVar15._M_node + 1))) ||\n                 ((target == *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                  (shndx < *(uint *)&cVar15._M_node[1]._M_parent)))) goto LAB_00192660;" if (parenthesized_expression "((((_Rb_tree_header *)cVar15._M_node == p_Var1) ||\n                  (target < *(Target_powerpc<32,_false> **)(cVar15._M_node + 1))) ||\n                 ((target == *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                  (shndx < *(uint *)&cVar15._M_node[1]._M_parent))))" ( (binary_expression "(((_Rb_tree_header *)cVar15._M_node == p_Var1) ||\n                  (target < *(Target_powerpc<32,_false> **)(cVar15._M_node + 1))) ||\n                 ((target == *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                  (shndx < *(uint *)&cVar15._M_node[1]._M_parent)))" (parenthesized_expression "(((_Rb_tree_header *)cVar15._M_node == p_Var1) ||\n                  (target < *(Target_powerpc<32,_false> **)(cVar15._M_node + 1)))" ( (binary_expression "((_Rb_tree_header *)cVar15._M_node == p_Var1) ||\n                  (target < *(Target_powerpc<32,_false> **)(cVar15._M_node + 1))" (parenthesized_expression "((_Rb_tree_header *)cVar15._M_node == p_Var1)" ( (binary_expression "(_Rb_tree_header *)cVar15._M_node == p_Var1" (cast_expression "(_Rb_tree_header *)cVar15._M_node" ( (type_descriptor "_Rb_tree_header *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "cVar15._M_node" identifier . field_identifier)) == identifier) )) || (parenthesized_expression "(target < *(Target_powerpc<32,_false> **)(cVar15._M_node + 1))" ( (binary_expression "target < *(Target_powerpc<32,_false> **)(cVar15._M_node + 1)" identifier < (pointer_expression "*(Target_powerpc<32,_false> **)(cVar15._M_node + 1)" * (call_expression "(Target_powerpc<32,_false> **)(cVar15._M_node + 1)" (parenthesized_expression "(Target_powerpc<32,_false> **)" ( (comma_expression "Target_powerpc<32,_false> **" (binary_expression "Target_powerpc<32" identifier < number_literal) , (binary_expression "_false> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "(cVar15._M_node + 1)" ( (binary_expression "cVar15._M_node + 1" (field_expression "cVar15._M_node" identifier . field_identifier) + number_literal) ))))) ))) )) || (parenthesized_expression "((target == *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                  (shndx < *(uint *)&cVar15._M_node[1]._M_parent)))" ( (parenthesized_expression "(target == *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                  (shndx < *(uint *)&cVar15._M_node[1]._M_parent))" ( (binary_expression "target == *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                  (shndx < *(uint *)&cVar15._M_node[1]._M_parent)" (binary_expression "target == *(Target_powerpc<32,_false> **)(cVar15._M_node + 1)" identifier == (pointer_expression "*(Target_powerpc<32,_false> **)(cVar15._M_node + 1)" * (call_expression "(Target_powerpc<32,_false> **)(cVar15._M_node + 1)" (parenthesized_expression "(Target_powerpc<32,_false> **)" ( (comma_expression "Target_powerpc<32,_false> **" (binary_expression "Target_powerpc<32" identifier < number_literal) , (binary_expression "_false> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "(cVar15._M_node + 1)" ( (binary_expression "cVar15._M_node + 1" (field_expression "cVar15._M_node" identifier . field_identifier) + number_literal) ))))) && (parenthesized_expression "(shndx < *(uint *)&cVar15._M_node[1]._M_parent)" ( (binary_expression "shndx < *(uint *)&cVar15._M_node[1]._M_parent" identifier < (pointer_expression "*(uint *)&cVar15._M_node[1]._M_parent" * (cast_expression "(uint *)&cVar15._M_node[1]._M_parent" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&cVar15._M_node[1]._M_parent" & (field_expression "cVar15._M_node[1]._M_parent" (subscript_expression "cVar15._M_node[1]" (field_expression "cVar15._M_node" identifier . field_identifier) [ number_literal ]) . field_identifier))))) ))) )) ))) )) (goto_statement "goto LAB_00192660;" goto statement_identifier ;))) }))) (expression_statement "__node_gen_1._M_h = (__hashtable_alloc *)&cVar15._M_node[1]._M_left;" (assignment_expression "__node_gen_1._M_h = (__hashtable_alloc *)&cVar15._M_node[1]._M_left" (field_expression "__node_gen_1._M_h" identifier . field_identifier) = (cast_expression "(__hashtable_alloc *)&cVar15._M_node[1]._M_left" ( (type_descriptor "__hashtable_alloc *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&cVar15._M_node[1]._M_left" & (field_expression "cVar15._M_node[1]._M_left" (subscript_expression "cVar15._M_node[1]" (field_expression "cVar15._M_node" identifier . field_identifier) [ number_literal ]) . field_identifier)))) ;) (ERROR "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::" (comma_expression "std::\n            _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std" identifier (ERROR "::\n            _Hashtable<std::pair<gold::Relobj*,_unsigned_int>" : : (binary_expression "_Hashtable<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : identifier * , 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 "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            ::\n            _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                        *)__node_gen_1._M_h,&dst_id,&__node_gen_1,1);" 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            ::\n            _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                        *)__node_gen_1._M_h,&dst_id,&__node_gen_1,1);" 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            ::\n            _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                        *)__node_gen_1._M_h,&dst_id,&__node_gen_1,1);" statement_identifier (ERROR "::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n            ::\n            _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std:" : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) : : (comma_expression "__detail::_Hashtable_traits<true,_true,_true>_>\n            ::\n            _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std" identifier (ERROR "::_Hashtable_traits<true,_true,_true>_>\n            ::\n            _M_insert<const_std::pair<gold::Relobj*" : : (comma_expression "_Hashtable_traits<true,_true,_true>_>\n            ::\n            _M_insert<const_std" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_true,_true>_>\n            ::\n            _M_insert<const_std" identifier , (binary_expression "_true>_>\n            ::\n            _M_insert<const_std" (binary_expression "_true>_>\n            ::\n            _M_insert" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) identifier) < identifier))) : : (binary_expression "pair<gold" identifier < identifier) : : identifier *) , (binary_expression "_unsigned_int>&,_std" identifier > (pointer_expression "&,_std" & (ERROR "," ,) identifier))) :) : (labeled_statement "__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                        *)__node_gen_1._M_h,&dst_id,&__node_gen_1,1);" statement_identifier (ERROR "::_AllocNode<std::allocator<std:" : : (binary_expression "_AllocNode<std" identifier < identifier) : : (binary_expression "allocator<std" identifier < identifier) :) : (expression_statement "__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                        *)__node_gen_1._M_h,&dst_id,&__node_gen_1,1);" (comma_expression "__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                        *)__node_gen_1._M_h,&dst_id,&__node_gen_1,1)" identifier (ERROR "::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>" : : (binary_expression "_Hash_node<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : identifier * , identifier >) , (binary_expression "_true>_>_>_>\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                        *)__node_gen_1._M_h,&dst_id,&__node_gen_1,1)" (binary_expression "_true>_>_>_" (binary_expression "_true>_>_" (binary_expression "_true>_" identifier > identifier) > identifier) > identifier) > (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                        *)__node_gen_1._M_h,&dst_id,&__node_gen_1,1)" ( (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                        *)__node_gen_1._M_h,&dst_id,&__node_gen_1,1)" ( (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                        *)__node_gen_1._M_h,&dst_id,&__node_gen_1,1" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_true,_true>_>\n                        *)__node_gen_1._M_h,&dst_id,&__node_gen_1,1" identifier , (comma_expression "_true>_>\n                        *)__node_gen_1._M_h,&dst_id,&__node_gen_1,1" (binary_expression "_true>_>\n                        *)__node_gen_1._M_h" (binary_expression "_true>_" identifier > identifier) > (pointer_expression "*)__node_gen_1._M_h" * (ERROR ")" )) (field_expression "__node_gen_1._M_h" identifier . field_identifier))) , (comma_expression "&dst_id,&__node_gen_1,1" (pointer_expression "&dst_id" & identifier) , (comma_expression "&__node_gen_1,1" (pointer_expression "&__node_gen_1" & identifier) , number_literal))))) )) )))) ;))))) (expression_statement "pTVar9 = parameters->target_;" (assignment_expression "pTVar9 = parameters->target_" identifier = (field_expression "parameters->target_" identifier -> field_identifier)) ;) (if_statement "if (pTVar9 == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x73,"sized_target");\n            }" if (parenthesized_expression "(pTVar9 == (Target *)0x0)" ( (binary_expression "pTVar9 == (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              do_gold_unreachable("../../gold/parameters.h",0x73,"sized_target");\n            }" { comment (expression_statement "do_gold_unreachable("../../gold/parameters.h",0x73,"sized_target");" (call_expression "do_gold_unreachable("../../gold/parameters.h",0x73,"sized_target")" identifier (argument_list "("../../gold/parameters.h",0x73,"sized_target")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""sized_target"" " string_content ") ))) ;) })) (expression_statement "(*pTVar9->_vptr_Target[0x41])\n                      (pTVar9,symtab,target,(ulong)src_obj & 0xffffffff,pOVar30,uVar28,\n                       (ulong)local_134);" (call_expression "(*pTVar9->_vptr_Target[0x41])\n                      (pTVar9,symtab,target,(ulong)src_obj & 0xffffffff,pOVar30,uVar28,\n                       (ulong)local_134)" (parenthesized_expression "(*pTVar9->_vptr_Target[0x41])" ( (pointer_expression "*pTVar9->_vptr_Target[0x41]" * (subscript_expression "pTVar9->_vptr_Target[0x41]" (field_expression "pTVar9->_vptr_Target" identifier -> field_identifier) [ number_literal ])) )) (argument_list "(pTVar9,symtab,target,(ulong)src_obj & 0xffffffff,pOVar30,uVar28,\n                       (ulong)local_134)" ( identifier , identifier , identifier , (binary_expression "(ulong)src_obj & 0xffffffff" (cast_expression "(ulong)src_obj" ( (type_descriptor "ulong" type_identifier) ) identifier) & number_literal) , identifier , identifier , (cast_expression "(ulong)local_134" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) (if_statement "if (local_158 != (_func_int_varargs **)0x0) {\n              pGVar7 = symtab->gc_;\n              src_id.first = (Relobj *)&stack0xffffffffffffffb8;\n              sVar16 = strlen((char *)local_158);\n              std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n              _M_construct<char_const*>\n                        ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                         &src_id,local_158,(byte *)((long)local_158 + sVar16));\n              iVar17 = std::\n                       _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                       ::find(&(pGVar7->cident_sections_)._M_t,\n                              (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                              &src_id);\n              if (src_id.first != (Relobj *)&stack0xffffffffffffffb8) {\n                operator_delete(src_id.first);\n              }\n              pGVar7 = symtab->gc_;\n              if ((_Rb_tree_header *)iVar17._M_node !=\n                  &(pGVar7->cident_sections_)._M_t._M_impl.super__Rb_tree_header) {\n                p_Var8 = (pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                         _M_parent;\n                p_Var1 = &(pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header;\n                src_id.second = shndx;\n                p_Var18 = &p_Var1->_M_header;\n                cVar15._M_node = &p_Var1->_M_header;\n                if (p_Var8 == (_Base_ptr)0x0) {\nLAB_00192b80:\n                  local_e0._M_head_impl = (pair<gold::Relobj*,_unsigned_int> *)&src_id;\n                  src_id.first = (Relobj *)target;\n                  cVar15._M_node =\n                       (_Base_ptr)\n                       std::\n                       _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                       ::\n                       _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::pair<gold::Relobj*,_unsigned_int>&>,_std::tuple<>_>\n                                 (&(pGVar7->section_reloc_map_)._M_t,cVar15,\n                                  (piecewise_construct_t *)&std::piecewise_construct,\n                                  (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)&local_e0,\n                                  &local_109);\n                }\n                else {\n                  do {\n                    while ((cVar15._M_node = p_Var8,\n                           target <= *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                           ((target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) ||\n                            (shndx <= *(uint *)&cVar15._M_node[1]._M_parent))))) {\n                      p_Var18 = cVar15._M_node;\n                      p_Var8 = (cVar15._M_node)->_M_left;\n                      if ((cVar15._M_node)->_M_left == (_Base_ptr)0x0) goto LAB_001927c2;\n                    }\n                    pp_Var2 = &(cVar15._M_node)->_M_right;\n                    cVar15._M_node = p_Var18;\n                    p_Var8 = *pp_Var2;\n                  } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_001927c2:\n                  if ((((_Rb_tree_header *)cVar15._M_node == p_Var1) ||\n                      (target < *(Target_powerpc<32,_false> **)(cVar15._M_node + 1))) ||\n                     ((src_id.first = (Relobj *)target,\n                      target == *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                      (shndx < *(uint *)&cVar15._M_node[1]._M_parent)))) goto LAB_00192b80;\n                }\n                for (p_Var10 = iVar17._M_node[2]._M_left; p_Var10 != (_Base_ptr)0x0;\n                    p_Var10 = *(_Base_ptr *)p_Var10) {\n                  __node_gen._M_h = (__hashtable_alloc *)&cVar15._M_node[1]._M_left;\n                  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                  ::\n                  _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                              *)&cVar15._M_node[1]._M_left,&p_Var10->_M_parent,&__node_gen,1);\n                }\n              }\n            }" if (parenthesized_expression "(local_158 != (_func_int_varargs **)0x0)" ( (binary_expression "local_158 != (_func_int_varargs **)0x0" identifier != (cast_expression "(_func_int_varargs **)0x0" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n              pGVar7 = symtab->gc_;\n              src_id.first = (Relobj *)&stack0xffffffffffffffb8;\n              sVar16 = strlen((char *)local_158);\n              std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n              _M_construct<char_const*>\n                        ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                         &src_id,local_158,(byte *)((long)local_158 + sVar16));\n              iVar17 = std::\n                       _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                       ::find(&(pGVar7->cident_sections_)._M_t,\n                              (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                              &src_id);\n              if (src_id.first != (Relobj *)&stack0xffffffffffffffb8) {\n                operator_delete(src_id.first);\n              }\n              pGVar7 = symtab->gc_;\n              if ((_Rb_tree_header *)iVar17._M_node !=\n                  &(pGVar7->cident_sections_)._M_t._M_impl.super__Rb_tree_header) {\n                p_Var8 = (pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                         _M_parent;\n                p_Var1 = &(pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header;\n                src_id.second = shndx;\n                p_Var18 = &p_Var1->_M_header;\n                cVar15._M_node = &p_Var1->_M_header;\n                if (p_Var8 == (_Base_ptr)0x0) {\nLAB_00192b80:\n                  local_e0._M_head_impl = (pair<gold::Relobj*,_unsigned_int> *)&src_id;\n                  src_id.first = (Relobj *)target;\n                  cVar15._M_node =\n                       (_Base_ptr)\n                       std::\n                       _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                       ::\n                       _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::pair<gold::Relobj*,_unsigned_int>&>,_std::tuple<>_>\n                                 (&(pGVar7->section_reloc_map_)._M_t,cVar15,\n                                  (piecewise_construct_t *)&std::piecewise_construct,\n                                  (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)&local_e0,\n                                  &local_109);\n                }\n                else {\n                  do {\n                    while ((cVar15._M_node = p_Var8,\n                           target <= *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                           ((target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) ||\n                            (shndx <= *(uint *)&cVar15._M_node[1]._M_parent))))) {\n                      p_Var18 = cVar15._M_node;\n                      p_Var8 = (cVar15._M_node)->_M_left;\n                      if ((cVar15._M_node)->_M_left == (_Base_ptr)0x0) goto LAB_001927c2;\n                    }\n                    pp_Var2 = &(cVar15._M_node)->_M_right;\n                    cVar15._M_node = p_Var18;\n                    p_Var8 = *pp_Var2;\n                  } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_001927c2:\n                  if ((((_Rb_tree_header *)cVar15._M_node == p_Var1) ||\n                      (target < *(Target_powerpc<32,_false> **)(cVar15._M_node + 1))) ||\n                     ((src_id.first = (Relobj *)target,\n                      target == *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                      (shndx < *(uint *)&cVar15._M_node[1]._M_parent)))) goto LAB_00192b80;\n                }\n                for (p_Var10 = iVar17._M_node[2]._M_left; p_Var10 != (_Base_ptr)0x0;\n                    p_Var10 = *(_Base_ptr *)p_Var10) {\n                  __node_gen._M_h = (__hashtable_alloc *)&cVar15._M_node[1]._M_left;\n                  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                  ::\n                  _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                              *)&cVar15._M_node[1]._M_left,&p_Var10->_M_parent,&__node_gen,1);\n                }\n              }\n            }" { (expression_statement "pGVar7 = symtab->gc_;" (assignment_expression "pGVar7 = symtab->gc_" identifier = (field_expression "symtab->gc_" identifier -> field_identifier)) ;) (expression_statement "src_id.first = (Relobj *)&stack0xffffffffffffffb8;" (assignment_expression "src_id.first = (Relobj *)&stack0xffffffffffffffb8" (field_expression "src_id.first" identifier . field_identifier) = (cast_expression "(Relobj *)&stack0xffffffffffffffb8" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&stack0xffffffffffffffb8" & identifier))) ;) (expression_statement "sVar16 = strlen((char *)local_158);" (assignment_expression "sVar16 = strlen((char *)local_158)" identifier = (call_expression "strlen((char *)local_158)" identifier (argument_list "((char *)local_158)" ( (cast_expression "(char *)local_158" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (labeled_statement "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n              _M_construct<char_const*>\n                        ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                         &src_id,local_158,(byte *)((long)local_158 + sVar16));" 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*>\n                        ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                         &src_id,local_158,(byte *)((long)local_158 + sVar16));" (binary_expression "_M_construct<char_const*>\n                        ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                         &src_id,local_158,(byte *)((long)local_158 + sVar16))" (binary_expression "_M_construct<char_const" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                         &src_id,local_158,(byte *)((long)local_158 + sVar16))" ( (comma_expression "(basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                         &src_id,local_158,(byte *)((long)local_158 + sVar16)" (binary_expression "(basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                         &src_id" (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) , (comma_expression "local_158,(byte *)((long)local_158 + sVar16)" identifier , (cast_expression "(byte *)((long)local_158 + sVar16)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_158 + sVar16)" ( (binary_expression "(long)local_158 + sVar16" (cast_expression "(long)local_158" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) ))))) ))) ;)) (ERROR "iVar17 = std::\n                       _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::" (assignment_expression "iVar17 = std" identifier = identifier) : : (binary_expression "_Rb_tree<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 "pair<const_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 "unordered_set<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>,_gold" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (comma_expression "Section_id_hash,_std" identifier , identifier) : : (binary_expression "equal_to<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) : : (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>_>_" (binary_expression "Relobj*,_unsigned_int>_" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "_Select1st<std" identifier < identifier) : : (binary_expression "pair<const_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 "unordered_set<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>,_gold" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (comma_expression "Section_id_hash,_std" identifier , identifier) : : (binary_expression "equal_to<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) : : (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>_>_>_" (binary_expression "Relobj*,_unsigned_int>_>_" (binary_expression "Relobj*,_unsigned_int>_" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > identifier) > identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "less<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>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_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 "unordered_set<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>,_gold" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (comma_expression "Section_id_hash,_std" identifier , identifier) : : (binary_expression "equal_to<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) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : :) (expression_statement "Relobj*,_unsigned_int>_>_>_>_>_>\n                       ::find(&(pGVar7->cident_sections_)._M_t,\n                              (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                              &src_id);" (binary_expression "Relobj*,_unsigned_int>_>_>_>_>_>\n                       ::find(&(pGVar7->cident_sections_)._M_t,\n                              (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                              &src_id)" (binary_expression "Relobj*,_unsigned_int>_>_>_>_>_" (binary_expression "Relobj*,_unsigned_int>_>_>_>_" (binary_expression "Relobj*,_unsigned_int>_>_>_" (binary_expression "Relobj*,_unsigned_int>_>_" (binary_expression "Relobj*,_unsigned_int>_" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > identifier) > identifier) > identifier) > identifier) > identifier) > (ERROR "::" : :) (call_expression "find(&(pGVar7->cident_sections_)._M_t,\n                              (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                              &src_id)" identifier (argument_list "(&(pGVar7->cident_sections_)._M_t,\n                              (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                              &src_id)" ( (pointer_expression "&(pGVar7->cident_sections_)._M_t" & (field_expression "(pGVar7->cident_sections_)._M_t" (parenthesized_expression "(pGVar7->cident_sections_)" ( (field_expression "pGVar7->cident_sections_" identifier -> field_identifier) )) . field_identifier)) , (binary_expression "(basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                              &src_id" (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) )))) ;) (if_statement "if (src_id.first != (Relobj *)&stack0xffffffffffffffb8) {\n                operator_delete(src_id.first);\n              }" if (parenthesized_expression "(src_id.first != (Relobj *)&stack0xffffffffffffffb8)" ( (binary_expression "src_id.first != (Relobj *)&stack0xffffffffffffffb8" (field_expression "src_id.first" identifier . field_identifier) != (cast_expression "(Relobj *)&stack0xffffffffffffffb8" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&stack0xffffffffffffffb8" & identifier))) )) (compound_statement "{\n                operator_delete(src_id.first);\n              }" { (expression_statement "operator_delete(src_id.first);" (call_expression "operator_delete(src_id.first)" identifier (argument_list "(src_id.first)" ( (field_expression "src_id.first" identifier . field_identifier) ))) ;) })) (expression_statement "pGVar7 = symtab->gc_;" (assignment_expression "pGVar7 = symtab->gc_" identifier = (field_expression "symtab->gc_" identifier -> field_identifier)) ;) (if_statement "if ((_Rb_tree_header *)iVar17._M_node !=\n                  &(pGVar7->cident_sections_)._M_t._M_impl.super__Rb_tree_header) {\n                p_Var8 = (pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                         _M_parent;\n                p_Var1 = &(pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header;\n                src_id.second = shndx;\n                p_Var18 = &p_Var1->_M_header;\n                cVar15._M_node = &p_Var1->_M_header;\n                if (p_Var8 == (_Base_ptr)0x0) {\nLAB_00192b80:\n                  local_e0._M_head_impl = (pair<gold::Relobj*,_unsigned_int> *)&src_id;\n                  src_id.first = (Relobj *)target;\n                  cVar15._M_node =\n                       (_Base_ptr)\n                       std::\n                       _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                       ::\n                       _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::pair<gold::Relobj*,_unsigned_int>&>,_std::tuple<>_>\n                                 (&(pGVar7->section_reloc_map_)._M_t,cVar15,\n                                  (piecewise_construct_t *)&std::piecewise_construct,\n                                  (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)&local_e0,\n                                  &local_109);\n                }\n                else {\n                  do {\n                    while ((cVar15._M_node = p_Var8,\n                           target <= *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                           ((target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) ||\n                            (shndx <= *(uint *)&cVar15._M_node[1]._M_parent))))) {\n                      p_Var18 = cVar15._M_node;\n                      p_Var8 = (cVar15._M_node)->_M_left;\n                      if ((cVar15._M_node)->_M_left == (_Base_ptr)0x0) goto LAB_001927c2;\n                    }\n                    pp_Var2 = &(cVar15._M_node)->_M_right;\n                    cVar15._M_node = p_Var18;\n                    p_Var8 = *pp_Var2;\n                  } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_001927c2:\n                  if ((((_Rb_tree_header *)cVar15._M_node == p_Var1) ||\n                      (target < *(Target_powerpc<32,_false> **)(cVar15._M_node + 1))) ||\n                     ((src_id.first = (Relobj *)target,\n                      target == *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                      (shndx < *(uint *)&cVar15._M_node[1]._M_parent)))) goto LAB_00192b80;\n                }\n                for (p_Var10 = iVar17._M_node[2]._M_left; p_Var10 != (_Base_ptr)0x0;\n                    p_Var10 = *(_Base_ptr *)p_Var10) {\n                  __node_gen._M_h = (__hashtable_alloc *)&cVar15._M_node[1]._M_left;\n                  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                  ::\n                  _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                              *)&cVar15._M_node[1]._M_left,&p_Var10->_M_parent,&__node_gen,1);\n                }\n              }" if (parenthesized_expression "((_Rb_tree_header *)iVar17._M_node !=\n                  &(pGVar7->cident_sections_)._M_t._M_impl.super__Rb_tree_header)" ( (binary_expression "(_Rb_tree_header *)iVar17._M_node !=\n                  &(pGVar7->cident_sections_)._M_t._M_impl.super__Rb_tree_header" (cast_expression "(_Rb_tree_header *)iVar17._M_node" ( (type_descriptor "_Rb_tree_header *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "iVar17._M_node" identifier . field_identifier)) != (pointer_expression "&(pGVar7->cident_sections_)._M_t._M_impl.super__Rb_tree_header" & (field_expression "(pGVar7->cident_sections_)._M_t._M_impl.super__Rb_tree_header" (field_expression "(pGVar7->cident_sections_)._M_t._M_impl" (field_expression "(pGVar7->cident_sections_)._M_t" (parenthesized_expression "(pGVar7->cident_sections_)" ( (field_expression "pGVar7->cident_sections_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))) )) (compound_statement "{\n                p_Var8 = (pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                         _M_parent;\n                p_Var1 = &(pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header;\n                src_id.second = shndx;\n                p_Var18 = &p_Var1->_M_header;\n                cVar15._M_node = &p_Var1->_M_header;\n                if (p_Var8 == (_Base_ptr)0x0) {\nLAB_00192b80:\n                  local_e0._M_head_impl = (pair<gold::Relobj*,_unsigned_int> *)&src_id;\n                  src_id.first = (Relobj *)target;\n                  cVar15._M_node =\n                       (_Base_ptr)\n                       std::\n                       _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                       ::\n                       _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::pair<gold::Relobj*,_unsigned_int>&>,_std::tuple<>_>\n                                 (&(pGVar7->section_reloc_map_)._M_t,cVar15,\n                                  (piecewise_construct_t *)&std::piecewise_construct,\n                                  (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)&local_e0,\n                                  &local_109);\n                }\n                else {\n                  do {\n                    while ((cVar15._M_node = p_Var8,\n                           target <= *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                           ((target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) ||\n                            (shndx <= *(uint *)&cVar15._M_node[1]._M_parent))))) {\n                      p_Var18 = cVar15._M_node;\n                      p_Var8 = (cVar15._M_node)->_M_left;\n                      if ((cVar15._M_node)->_M_left == (_Base_ptr)0x0) goto LAB_001927c2;\n                    }\n                    pp_Var2 = &(cVar15._M_node)->_M_right;\n                    cVar15._M_node = p_Var18;\n                    p_Var8 = *pp_Var2;\n                  } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_001927c2:\n                  if ((((_Rb_tree_header *)cVar15._M_node == p_Var1) ||\n                      (target < *(Target_powerpc<32,_false> **)(cVar15._M_node + 1))) ||\n                     ((src_id.first = (Relobj *)target,\n                      target == *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                      (shndx < *(uint *)&cVar15._M_node[1]._M_parent)))) goto LAB_00192b80;\n                }\n                for (p_Var10 = iVar17._M_node[2]._M_left; p_Var10 != (_Base_ptr)0x0;\n                    p_Var10 = *(_Base_ptr *)p_Var10) {\n                  __node_gen._M_h = (__hashtable_alloc *)&cVar15._M_node[1]._M_left;\n                  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                  ::\n                  _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                              *)&cVar15._M_node[1]._M_left,&p_Var10->_M_parent,&__node_gen,1);\n                }\n              }" { (expression_statement "p_Var8 = (pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                         _M_parent;" (assignment_expression "p_Var8 = (pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                         _M_parent" identifier = (field_expression "(pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                         _M_parent" (field_expression "(pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "(pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header" (field_expression "(pGVar7->section_reloc_map_)._M_t._M_impl" (field_expression "(pGVar7->section_reloc_map_)._M_t" (parenthesized_expression "(pGVar7->section_reloc_map_)" ( (field_expression "pGVar7->section_reloc_map_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "p_Var1 = &(pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header;" (assignment_expression "p_Var1 = &(pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header" identifier = (pointer_expression "&(pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header" & (field_expression "(pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header" (field_expression "(pGVar7->section_reloc_map_)._M_t._M_impl" (field_expression "(pGVar7->section_reloc_map_)._M_t" (parenthesized_expression "(pGVar7->section_reloc_map_)" ( (field_expression "pGVar7->section_reloc_map_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))) ;) (expression_statement "src_id.second = shndx;" (assignment_expression "src_id.second = shndx" (field_expression "src_id.second" identifier . field_identifier) = identifier) ;) (expression_statement "p_Var18 = &p_Var1->_M_header;" (assignment_expression "p_Var18 = &p_Var1->_M_header" identifier = (pointer_expression "&p_Var1->_M_header" & (field_expression "p_Var1->_M_header" identifier -> field_identifier))) ;) (expression_statement "cVar15._M_node = &p_Var1->_M_header;" (assignment_expression "cVar15._M_node = &p_Var1->_M_header" (field_expression "cVar15._M_node" identifier . field_identifier) = (pointer_expression "&p_Var1->_M_header" & (field_expression "p_Var1->_M_header" identifier -> field_identifier))) ;) (if_statement "if (p_Var8 == (_Base_ptr)0x0) {\nLAB_00192b80:\n                  local_e0._M_head_impl = (pair<gold::Relobj*,_unsigned_int> *)&src_id;\n                  src_id.first = (Relobj *)target;\n                  cVar15._M_node =\n                       (_Base_ptr)\n                       std::\n                       _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                       ::\n                       _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::pair<gold::Relobj*,_unsigned_int>&>,_std::tuple<>_>\n                                 (&(pGVar7->section_reloc_map_)._M_t,cVar15,\n                                  (piecewise_construct_t *)&std::piecewise_construct,\n                                  (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)&local_e0,\n                                  &local_109);\n                }\n                else {\n                  do {\n                    while ((cVar15._M_node = p_Var8,\n                           target <= *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                           ((target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) ||\n                            (shndx <= *(uint *)&cVar15._M_node[1]._M_parent))))) {\n                      p_Var18 = cVar15._M_node;\n                      p_Var8 = (cVar15._M_node)->_M_left;\n                      if ((cVar15._M_node)->_M_left == (_Base_ptr)0x0) goto LAB_001927c2;\n                    }\n                    pp_Var2 = &(cVar15._M_node)->_M_right;\n                    cVar15._M_node = p_Var18;\n                    p_Var8 = *pp_Var2;\n                  } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_001927c2:\n                  if ((((_Rb_tree_header *)cVar15._M_node == p_Var1) ||\n                      (target < *(Target_powerpc<32,_false> **)(cVar15._M_node + 1))) ||\n                     ((src_id.first = (Relobj *)target,\n                      target == *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                      (shndx < *(uint *)&cVar15._M_node[1]._M_parent)))) goto LAB_00192b80;\n                }" if (parenthesized_expression "(p_Var8 == (_Base_ptr)0x0)" ( (binary_expression "p_Var8 == (_Base_ptr)0x0" identifier == (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) )) (compound_statement "{\nLAB_00192b80:\n                  local_e0._M_head_impl = (pair<gold::Relobj*,_unsigned_int> *)&src_id;\n                  src_id.first = (Relobj *)target;\n                  cVar15._M_node =\n                       (_Base_ptr)\n                       std::\n                       _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                       ::\n                       _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::pair<gold::Relobj*,_unsigned_int>&>,_std::tuple<>_>\n                                 (&(pGVar7->section_reloc_map_)._M_t,cVar15,\n                                  (piecewise_construct_t *)&std::piecewise_construct,\n                                  (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)&local_e0,\n                                  &local_109);\n                }" { (labeled_statement "LAB_00192b80:\n                  local_e0._M_head_impl = (pair<gold::Relobj*,_unsigned_int> *)&src_id;" statement_identifier : (expression_statement "local_e0._M_head_impl = (pair<gold::Relobj*,_unsigned_int> *)&src_id;" (assignment_expression "local_e0._M_head_impl = (pair<gold::Relobj*,_unsigned_int> *)&src_id" (field_expression "local_e0._M_head_impl" identifier . field_identifier) = (binary_expression "(pair<gold::Relobj*,_unsigned_int> *)&src_id" (parenthesized_expression "(pair<gold::Relobj*,_unsigned_int> *)" ( (binary_expression "pair<gold::Relobj*,_unsigned_int> *" (binary_expression "pair<gold::Relobj*,_unsigned_int" (binary_expression "pair<gold" identifier < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (pointer_expression "*" * identifier)) )) & identifier)) ;)) (expression_statement "src_id.first = (Relobj *)target;" (assignment_expression "src_id.first = (Relobj *)target" (field_expression "src_id.first" identifier . field_identifier) = (cast_expression "(Relobj *)target" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (ERROR "cVar15._M_node =\n                       (_Base_ptr)\n                       std::\n                       _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                       ::\n                       _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::pair<gold::Relobj*,_unsigned_int>&>,_std::" (comma_expression "cVar15._M_node =\n                       (_Base_ptr)\n                       std::\n                       _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std" (binary_expression "cVar15._M_node =\n                       (_Base_ptr)\n                       std::\n                       _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold" (binary_expression "cVar15._M_node =\n                       (_Base_ptr)\n                       std::\n                       _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "cVar15._M_node =\n                       (_Base_ptr)\n                       std::\n                       _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold" (binary_expression "cVar15._M_node =\n                       (_Base_ptr)\n                       std::\n                       _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std" (binary_expression "cVar15._M_node =\n                       (_Base_ptr)\n                       std::\n                       _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std" (binary_expression "cVar15._M_node =\n                       (_Base_ptr)\n                       std::\n                       _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int" (binary_expression "cVar15._M_node =\n                       (_Base_ptr)\n                       std::\n                       _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold" (binary_expression "cVar15._M_node =\n                       (_Base_ptr)\n                       std::\n                       _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std" (binary_expression "cVar15._M_node =\n                       (_Base_ptr)\n                       std::\n                       _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std" (binary_expression "cVar15._M_node =\n                       (_Base_ptr)\n                       std::\n                       _Rb_tree<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "cVar15._M_node =\n                       (_Base_ptr)\n                       std::\n                       _Rb_tree<std::pair<gold" (binary_expression "cVar15._M_node =\n                       (_Base_ptr)\n                       std::\n                       _Rb_tree<std" (assignment_expression "cVar15._M_node =\n                       (_Base_ptr)\n                       std" (field_expression "cVar15._M_node" identifier . field_identifier) = (cast_expression "(_Base_ptr)\n                       std" ( (type_descriptor "_Base_ptr" type_identifier) ) identifier)) (ERROR "::\n                       _Rb_tree" : : 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 "::unordered_set" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) (ERROR "::Section_id_hash" : : identifier) , identifier) : : identifier < identifier : : identifier < identifier : : identifier * , identifier > identifier > , identifier : : identifier < identifier : : identifier < identifier : : identifier * , (binary_expression "_unsigned_int>_>_>_>,_std" (binary_expression "_unsigned_int>_>_>_" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "_Select1st<std" identifier < identifier) : : (binary_expression "pair<const_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 "unordered_set<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>,_gold" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (comma_expression "Section_id_hash,_std" identifier , identifier) : : (binary_expression "equal_to<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) : : (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>_>_>_" (binary_expression "Relobj*,_unsigned_int>_>_" (binary_expression "Relobj*,_unsigned_int>_" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > identifier) > identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "less<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) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_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 "unordered_set<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>,_gold" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (comma_expression "Section_id_hash,_std" identifier , identifier) : : (binary_expression "equal_to<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) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>_>_>_>_>_>\n                       ::\n                       _M_emplace_hint_unique<const_std" (binary_expression "Relobj*,_unsigned_int>_>_>_>_>_>\n                       ::\n                       _M_emplace_hint_unique" (binary_expression "Relobj*,_unsigned_int>_>_>_>_>_" (binary_expression "Relobj*,_unsigned_int>_>_>_>_" (binary_expression "Relobj*,_unsigned_int>_>_>_" (binary_expression "Relobj*,_unsigned_int>_>_" (binary_expression "Relobj*,_unsigned_int>_" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > identifier) > identifier) > identifier) > identifier) > identifier) > (ERROR "::" : :) identifier) < identifier) : : (binary_expression "piecewise_construct_t&,_std" identifier & (ERROR "," ,) identifier) : : (binary_expression "tuple<const_std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>&>,_std" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > (pointer_expression "&>,_std" & (ERROR ">," > ,) identifier)) : :) (expression_statement "tuple<>_>\n                                 (&(pGVar7->section_reloc_map_)._M_t,cVar15,\n                                  (piecewise_construct_t *)&std::piecewise_construct,\n                                  (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)&local_e0,\n                                  &local_109);" (binary_expression "tuple<>_>\n                                 (&(pGVar7->section_reloc_map_)._M_t,cVar15,\n                                  (piecewise_construct_t *)&std::piecewise_construct,\n                                  (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)&local_e0,\n                                  &local_109)" (binary_expression "tuple<>_" identifier < (ERROR ">" >) identifier) > (parenthesized_expression "(&(pGVar7->section_reloc_map_)._M_t,cVar15,\n                                  (piecewise_construct_t *)&std::piecewise_construct,\n                                  (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)&local_e0,\n                                  &local_109)" ( (ERROR "&(pGVar7->section_reloc_map_)._M_t,cVar15,\n                                  (piecewise_construct_t *)&std::" (comma_expression "&(pGVar7->section_reloc_map_)._M_t,cVar15,\n                                  (piecewise_construct_t *)&std" (pointer_expression "&(pGVar7->section_reloc_map_)._M_t" & (field_expression "(pGVar7->section_reloc_map_)._M_t" (parenthesized_expression "(pGVar7->section_reloc_map_)" ( (field_expression "pGVar7->section_reloc_map_" identifier -> field_identifier) )) . field_identifier)) , (comma_expression "cVar15,\n                                  (piecewise_construct_t *)&std" identifier , (cast_expression "(piecewise_construct_t *)&std" ( (type_descriptor "piecewise_construct_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&std" & identifier)))) : :) (comma_expression "piecewise_construct,\n                                  (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)&local_e0,\n                                  &local_109" identifier , (comma_expression "(tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)&local_e0,\n                                  &local_109" (binary_expression "(tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)&local_e0" (parenthesized_expression "(tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)" ( (binary_expression "tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *" (binary_expression "tuple<const_std::pair<gold::Relobj*,_unsigned_int" (binary_expression "tuple<const_std::pair<gold" (binary_expression "tuple<const_std" identifier < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (pointer_expression "&> *" & (ERROR ">" >) (pointer_expression "*" * identifier))) )) & identifier) , (pointer_expression "&local_109" & identifier))) ))) ;) }) (else_clause "else {\n                  do {\n                    while ((cVar15._M_node = p_Var8,\n                           target <= *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                           ((target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) ||\n                            (shndx <= *(uint *)&cVar15._M_node[1]._M_parent))))) {\n                      p_Var18 = cVar15._M_node;\n                      p_Var8 = (cVar15._M_node)->_M_left;\n                      if ((cVar15._M_node)->_M_left == (_Base_ptr)0x0) goto LAB_001927c2;\n                    }\n                    pp_Var2 = &(cVar15._M_node)->_M_right;\n                    cVar15._M_node = p_Var18;\n                    p_Var8 = *pp_Var2;\n                  } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_001927c2:\n                  if ((((_Rb_tree_header *)cVar15._M_node == p_Var1) ||\n                      (target < *(Target_powerpc<32,_false> **)(cVar15._M_node + 1))) ||\n                     ((src_id.first = (Relobj *)target,\n                      target == *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                      (shndx < *(uint *)&cVar15._M_node[1]._M_parent)))) goto LAB_00192b80;\n                }" else (compound_statement "{\n                  do {\n                    while ((cVar15._M_node = p_Var8,\n                           target <= *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                           ((target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) ||\n                            (shndx <= *(uint *)&cVar15._M_node[1]._M_parent))))) {\n                      p_Var18 = cVar15._M_node;\n                      p_Var8 = (cVar15._M_node)->_M_left;\n                      if ((cVar15._M_node)->_M_left == (_Base_ptr)0x0) goto LAB_001927c2;\n                    }\n                    pp_Var2 = &(cVar15._M_node)->_M_right;\n                    cVar15._M_node = p_Var18;\n                    p_Var8 = *pp_Var2;\n                  } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_001927c2:\n                  if ((((_Rb_tree_header *)cVar15._M_node == p_Var1) ||\n                      (target < *(Target_powerpc<32,_false> **)(cVar15._M_node + 1))) ||\n                     ((src_id.first = (Relobj *)target,\n                      target == *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                      (shndx < *(uint *)&cVar15._M_node[1]._M_parent)))) goto LAB_00192b80;\n                }" { (do_statement "do {\n                    while ((cVar15._M_node = p_Var8,\n                           target <= *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                           ((target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) ||\n                            (shndx <= *(uint *)&cVar15._M_node[1]._M_parent))))) {\n                      p_Var18 = cVar15._M_node;\n                      p_Var8 = (cVar15._M_node)->_M_left;\n                      if ((cVar15._M_node)->_M_left == (_Base_ptr)0x0) goto LAB_001927c2;\n                    }\n                    pp_Var2 = &(cVar15._M_node)->_M_right;\n                    cVar15._M_node = p_Var18;\n                    p_Var8 = *pp_Var2;\n                  } while (*pp_Var2 != (_Base_ptr)0x0);" do (compound_statement "{\n                    while ((cVar15._M_node = p_Var8,\n                           target <= *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                           ((target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) ||\n                            (shndx <= *(uint *)&cVar15._M_node[1]._M_parent))))) {\n                      p_Var18 = cVar15._M_node;\n                      p_Var8 = (cVar15._M_node)->_M_left;\n                      if ((cVar15._M_node)->_M_left == (_Base_ptr)0x0) goto LAB_001927c2;\n                    }\n                    pp_Var2 = &(cVar15._M_node)->_M_right;\n                    cVar15._M_node = p_Var18;\n                    p_Var8 = *pp_Var2;\n                  }" { (while_statement "while ((cVar15._M_node = p_Var8,\n                           target <= *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                           ((target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) ||\n                            (shndx <= *(uint *)&cVar15._M_node[1]._M_parent))))) {\n                      p_Var18 = cVar15._M_node;\n                      p_Var8 = (cVar15._M_node)->_M_left;\n                      if ((cVar15._M_node)->_M_left == (_Base_ptr)0x0) goto LAB_001927c2;\n                    }" while (parenthesized_expression "((cVar15._M_node = p_Var8,\n                           target <= *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                           ((target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) ||\n                            (shndx <= *(uint *)&cVar15._M_node[1]._M_parent)))))" ( (parenthesized_expression "(cVar15._M_node = p_Var8,\n                           target <= *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                           ((target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) ||\n                            (shndx <= *(uint *)&cVar15._M_node[1]._M_parent))))" ( (comma_expression "cVar15._M_node = p_Var8,\n                           target <= *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                           ((target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) ||\n                            (shndx <= *(uint *)&cVar15._M_node[1]._M_parent)))" (assignment_expression "cVar15._M_node = p_Var8" (field_expression "cVar15._M_node" identifier . field_identifier) = identifier) , (binary_expression "target <= *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                           ((target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) ||\n                            (shndx <= *(uint *)&cVar15._M_node[1]._M_parent)))" (binary_expression "target <= *(Target_powerpc<32,_false> **)(cVar15._M_node + 1)" identifier <= (pointer_expression "*(Target_powerpc<32,_false> **)(cVar15._M_node + 1)" * (call_expression "(Target_powerpc<32,_false> **)(cVar15._M_node + 1)" (parenthesized_expression "(Target_powerpc<32,_false> **)" ( (comma_expression "Target_powerpc<32,_false> **" (binary_expression "Target_powerpc<32" identifier < number_literal) , (binary_expression "_false> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "(cVar15._M_node + 1)" ( (binary_expression "cVar15._M_node + 1" (field_expression "cVar15._M_node" identifier . field_identifier) + number_literal) ))))) && (parenthesized_expression "((target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) ||\n                            (shndx <= *(uint *)&cVar15._M_node[1]._M_parent)))" ( (parenthesized_expression "(target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) ||\n                            (shndx <= *(uint *)&cVar15._M_node[1]._M_parent))" ( (binary_expression "target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) ||\n                            (shndx <= *(uint *)&cVar15._M_node[1]._M_parent)" (binary_expression "target != *(Target_powerpc<32,_false> **)(cVar15._M_node + 1)" identifier != (pointer_expression "*(Target_powerpc<32,_false> **)(cVar15._M_node + 1)" * (call_expression "(Target_powerpc<32,_false> **)(cVar15._M_node + 1)" (parenthesized_expression "(Target_powerpc<32,_false> **)" ( (comma_expression "Target_powerpc<32,_false> **" (binary_expression "Target_powerpc<32" identifier < number_literal) , (binary_expression "_false> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "(cVar15._M_node + 1)" ( (binary_expression "cVar15._M_node + 1" (field_expression "cVar15._M_node" identifier . field_identifier) + number_literal) ))))) || (parenthesized_expression "(shndx <= *(uint *)&cVar15._M_node[1]._M_parent)" ( (binary_expression "shndx <= *(uint *)&cVar15._M_node[1]._M_parent" identifier <= (pointer_expression "*(uint *)&cVar15._M_node[1]._M_parent" * (cast_expression "(uint *)&cVar15._M_node[1]._M_parent" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&cVar15._M_node[1]._M_parent" & (field_expression "cVar15._M_node[1]._M_parent" (subscript_expression "cVar15._M_node[1]" (field_expression "cVar15._M_node" identifier . field_identifier) [ number_literal ]) . field_identifier))))) ))) )) )))) )) )) (compound_statement "{\n                      p_Var18 = cVar15._M_node;\n                      p_Var8 = (cVar15._M_node)->_M_left;\n                      if ((cVar15._M_node)->_M_left == (_Base_ptr)0x0) goto LAB_001927c2;\n                    }" { (expression_statement "p_Var18 = cVar15._M_node;" (assignment_expression "p_Var18 = cVar15._M_node" identifier = (field_expression "cVar15._M_node" identifier . field_identifier)) ;) (expression_statement "p_Var8 = (cVar15._M_node)->_M_left;" (assignment_expression "p_Var8 = (cVar15._M_node)->_M_left" identifier = (field_expression "(cVar15._M_node)->_M_left" (parenthesized_expression "(cVar15._M_node)" ( (field_expression "cVar15._M_node" identifier . field_identifier) )) -> field_identifier)) ;) (if_statement "if ((cVar15._M_node)->_M_left == (_Base_ptr)0x0) goto LAB_001927c2;" if (parenthesized_expression "((cVar15._M_node)->_M_left == (_Base_ptr)0x0)" ( (binary_expression "(cVar15._M_node)->_M_left == (_Base_ptr)0x0" (field_expression "(cVar15._M_node)->_M_left" (parenthesized_expression "(cVar15._M_node)" ( (field_expression "cVar15._M_node" identifier . field_identifier) )) -> field_identifier) == (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_001927c2;" goto statement_identifier ;)) })) (expression_statement "pp_Var2 = &(cVar15._M_node)->_M_right;" (assignment_expression "pp_Var2 = &(cVar15._M_node)->_M_right" identifier = (pointer_expression "&(cVar15._M_node)->_M_right" & (field_expression "(cVar15._M_node)->_M_right" (parenthesized_expression "(cVar15._M_node)" ( (field_expression "cVar15._M_node" identifier . field_identifier) )) -> field_identifier))) ;) (expression_statement "cVar15._M_node = p_Var18;" (assignment_expression "cVar15._M_node = p_Var18" (field_expression "cVar15._M_node" identifier . field_identifier) = identifier) ;) (expression_statement "p_Var8 = *pp_Var2;" (assignment_expression "p_Var8 = *pp_Var2" identifier = (pointer_expression "*pp_Var2" * identifier)) ;) }) while (parenthesized_expression "(*pp_Var2 != (_Base_ptr)0x0)" ( (binary_expression "*pp_Var2 != (_Base_ptr)0x0" (pointer_expression "*pp_Var2" * identifier) != (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) )) ;) (labeled_statement "LAB_001927c2:\n                  if ((((_Rb_tree_header *)cVar15._M_node == p_Var1) ||\n                      (target < *(Target_powerpc<32,_false> **)(cVar15._M_node + 1))) ||\n                     ((src_id.first = (Relobj *)target,\n                      target == *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                      (shndx < *(uint *)&cVar15._M_node[1]._M_parent)))) goto LAB_00192b80;" statement_identifier : (if_statement "if ((((_Rb_tree_header *)cVar15._M_node == p_Var1) ||\n                      (target < *(Target_powerpc<32,_false> **)(cVar15._M_node + 1))) ||\n                     ((src_id.first = (Relobj *)target,\n                      target == *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                      (shndx < *(uint *)&cVar15._M_node[1]._M_parent)))) goto LAB_00192b80;" if (parenthesized_expression "((((_Rb_tree_header *)cVar15._M_node == p_Var1) ||\n                      (target < *(Target_powerpc<32,_false> **)(cVar15._M_node + 1))) ||\n                     ((src_id.first = (Relobj *)target,\n                      target == *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                      (shndx < *(uint *)&cVar15._M_node[1]._M_parent))))" ( (binary_expression "(((_Rb_tree_header *)cVar15._M_node == p_Var1) ||\n                      (target < *(Target_powerpc<32,_false> **)(cVar15._M_node + 1))) ||\n                     ((src_id.first = (Relobj *)target,\n                      target == *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                      (shndx < *(uint *)&cVar15._M_node[1]._M_parent)))" (parenthesized_expression "(((_Rb_tree_header *)cVar15._M_node == p_Var1) ||\n                      (target < *(Target_powerpc<32,_false> **)(cVar15._M_node + 1)))" ( (binary_expression "((_Rb_tree_header *)cVar15._M_node == p_Var1) ||\n                      (target < *(Target_powerpc<32,_false> **)(cVar15._M_node + 1))" (parenthesized_expression "((_Rb_tree_header *)cVar15._M_node == p_Var1)" ( (binary_expression "(_Rb_tree_header *)cVar15._M_node == p_Var1" (cast_expression "(_Rb_tree_header *)cVar15._M_node" ( (type_descriptor "_Rb_tree_header *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "cVar15._M_node" identifier . field_identifier)) == identifier) )) || (parenthesized_expression "(target < *(Target_powerpc<32,_false> **)(cVar15._M_node + 1))" ( (binary_expression "target < *(Target_powerpc<32,_false> **)(cVar15._M_node + 1)" identifier < (pointer_expression "*(Target_powerpc<32,_false> **)(cVar15._M_node + 1)" * (call_expression "(Target_powerpc<32,_false> **)(cVar15._M_node + 1)" (parenthesized_expression "(Target_powerpc<32,_false> **)" ( (comma_expression "Target_powerpc<32,_false> **" (binary_expression "Target_powerpc<32" identifier < number_literal) , (binary_expression "_false> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "(cVar15._M_node + 1)" ( (binary_expression "cVar15._M_node + 1" (field_expression "cVar15._M_node" identifier . field_identifier) + number_literal) ))))) ))) )) || (parenthesized_expression "((src_id.first = (Relobj *)target,\n                      target == *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                      (shndx < *(uint *)&cVar15._M_node[1]._M_parent)))" ( (parenthesized_expression "(src_id.first = (Relobj *)target,\n                      target == *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                      (shndx < *(uint *)&cVar15._M_node[1]._M_parent))" ( (comma_expression "src_id.first = (Relobj *)target,\n                      target == *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                      (shndx < *(uint *)&cVar15._M_node[1]._M_parent)" (assignment_expression "src_id.first = (Relobj *)target" (field_expression "src_id.first" identifier . field_identifier) = (cast_expression "(Relobj *)target" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (binary_expression "target == *(Target_powerpc<32,_false> **)(cVar15._M_node + 1) &&\n                      (shndx < *(uint *)&cVar15._M_node[1]._M_parent)" (binary_expression "target == *(Target_powerpc<32,_false> **)(cVar15._M_node + 1)" identifier == (pointer_expression "*(Target_powerpc<32,_false> **)(cVar15._M_node + 1)" * (call_expression "(Target_powerpc<32,_false> **)(cVar15._M_node + 1)" (parenthesized_expression "(Target_powerpc<32,_false> **)" ( (comma_expression "Target_powerpc<32,_false> **" (binary_expression "Target_powerpc<32" identifier < number_literal) , (binary_expression "_false> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "(cVar15._M_node + 1)" ( (binary_expression "cVar15._M_node + 1" (field_expression "cVar15._M_node" identifier . field_identifier) + number_literal) ))))) && (parenthesized_expression "(shndx < *(uint *)&cVar15._M_node[1]._M_parent)" ( (binary_expression "shndx < *(uint *)&cVar15._M_node[1]._M_parent" identifier < (pointer_expression "*(uint *)&cVar15._M_node[1]._M_parent" * (cast_expression "(uint *)&cVar15._M_node[1]._M_parent" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&cVar15._M_node[1]._M_parent" & (field_expression "cVar15._M_node[1]._M_parent" (subscript_expression "cVar15._M_node[1]" (field_expression "cVar15._M_node" identifier . field_identifier) [ number_literal ]) . field_identifier))))) )))) )) ))) )) (goto_statement "goto LAB_00192b80;" goto statement_identifier ;))) }))) (for_statement "for (p_Var10 = iVar17._M_node[2]._M_left; p_Var10 != (_Base_ptr)0x0;\n                    p_Var10 = *(_Base_ptr *)p_Var10) {\n                  __node_gen._M_h = (__hashtable_alloc *)&cVar15._M_node[1]._M_left;\n                  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                  ::\n                  _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                              *)&cVar15._M_node[1]._M_left,&p_Var10->_M_parent,&__node_gen,1);\n                }" for ( (assignment_expression "p_Var10 = iVar17._M_node[2]._M_left" identifier = (field_expression "iVar17._M_node[2]._M_left" (subscript_expression "iVar17._M_node[2]" (field_expression "iVar17._M_node" identifier . field_identifier) [ number_literal ]) . field_identifier)) ; (binary_expression "p_Var10 != (_Base_ptr)0x0" identifier != (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) ; (assignment_expression "p_Var10 = *(_Base_ptr *)p_Var10" identifier = (pointer_expression "*(_Base_ptr *)p_Var10" * (cast_expression "(_Base_ptr *)p_Var10" ( (type_descriptor "_Base_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ) (compound_statement "{\n                  __node_gen._M_h = (__hashtable_alloc *)&cVar15._M_node[1]._M_left;\n                  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                  ::\n                  _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                              *)&cVar15._M_node[1]._M_left,&p_Var10->_M_parent,&__node_gen,1);\n                }" { (expression_statement "__node_gen._M_h = (__hashtable_alloc *)&cVar15._M_node[1]._M_left;" (assignment_expression "__node_gen._M_h = (__hashtable_alloc *)&cVar15._M_node[1]._M_left" (field_expression "__node_gen._M_h" identifier . field_identifier) = (cast_expression "(__hashtable_alloc *)&cVar15._M_node[1]._M_left" ( (type_descriptor "__hashtable_alloc *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&cVar15._M_node[1]._M_left" & (field_expression "cVar15._M_node[1]._M_left" (subscript_expression "cVar15._M_node[1]" (field_expression "cVar15._M_node" identifier . field_identifier) [ number_literal ]) . field_identifier)))) ;) (ERROR "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::" (comma_expression "std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std" identifier (ERROR "::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>" : : (binary_expression "_Hashtable<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : identifier * , 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 "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                  ::\n                  _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                              *)&cVar15._M_node[1]._M_left,&p_Var10->_M_parent,&__node_gen,1);" 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                  ::\n                  _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                              *)&cVar15._M_node[1]._M_left,&p_Var10->_M_parent,&__node_gen,1);" 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                  ::\n                  _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                              *)&cVar15._M_node[1]._M_left,&p_Var10->_M_parent,&__node_gen,1);" statement_identifier (ERROR "::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  ::\n                  _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std:" : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) : : (comma_expression "__detail::_Hashtable_traits<true,_true,_true>_>\n                  ::\n                  _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std" identifier (ERROR "::_Hashtable_traits<true,_true,_true>_>\n                  ::\n                  _M_insert<const_std::pair<gold::Relobj*" : : (comma_expression "_Hashtable_traits<true,_true,_true>_>\n                  ::\n                  _M_insert<const_std" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_true,_true>_>\n                  ::\n                  _M_insert<const_std" identifier , (binary_expression "_true>_>\n                  ::\n                  _M_insert<const_std" (binary_expression "_true>_>\n                  ::\n                  _M_insert" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) identifier) < identifier))) : : (binary_expression "pair<gold" identifier < identifier) : : identifier *) , (binary_expression "_unsigned_int>&,_std" identifier > (pointer_expression "&,_std" & (ERROR "," ,) identifier))) :) : (labeled_statement "__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                              *)&cVar15._M_node[1]._M_left,&p_Var10->_M_parent,&__node_gen,1);" statement_identifier (ERROR "::_AllocNode<std::allocator<std:" : : (binary_expression "_AllocNode<std" identifier < identifier) : : (binary_expression "allocator<std" identifier < identifier) :) : (expression_statement "__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                              *)&cVar15._M_node[1]._M_left,&p_Var10->_M_parent,&__node_gen,1);" (comma_expression "__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                              *)&cVar15._M_node[1]._M_left,&p_Var10->_M_parent,&__node_gen,1)" identifier (ERROR "::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>" : : (binary_expression "_Hash_node<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : identifier * , identifier >) , (binary_expression "_true>_>_>_>\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                              *)&cVar15._M_node[1]._M_left,&p_Var10->_M_parent,&__node_gen,1)" (binary_expression "_true>_>_>_" (binary_expression "_true>_>_" (binary_expression "_true>_" identifier > identifier) > identifier) > identifier) > (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                              *)&cVar15._M_node[1]._M_left,&p_Var10->_M_parent,&__node_gen,1)" ( (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::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                              *)&cVar15._M_node[1]._M_left,&p_Var10->_M_parent,&__node_gen,1" (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                              *)&cVar15._M_node[1]._M_left" (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 "cVar15._M_node[1]._M_left" (subscript_expression "cVar15._M_node[1]" (field_expression "cVar15._M_node" identifier . field_identifier) [ number_literal ]) . field_identifier)) , (comma_expression "&p_Var10->_M_parent,&__node_gen,1" (pointer_expression "&p_Var10->_M_parent" & (field_expression "p_Var10->_M_parent" identifier -> field_identifier)) , (comma_expression "&__node_gen,1" (pointer_expression "&__node_gen" & identifier) , number_literal))) )))) ;))))) })) })) })) })) })) }) (else_clause "else {\n        uVar23 = (uint)(target->tocsave_loc_)._M_h._M_rehash_policy._M_next_resize;\n        if (uVar29 < uVar23) {\n          dst_id.first = (Relobj *)0x0;\nLAB_00192adb:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/gc.h",0x11c,"gc_process_relocs");\n        }\n        uVar28 = (ulong)(uVar29 - uVar23);\n        if ((ulong)(*(long *)&target->relax_fail_count_ - *(long *)&target->plt_thread_safe_ >> 3)\n            <= uVar28) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.h",0x8ad,"global_symbol");\n        }\n        dst_id.first = *(Relobj **)(*(long *)&target->plt_thread_safe_ + uVar28 * 8);\n        if (dst_id.first == (Relobj *)0x0) goto LAB_00192adb;\n        if ((((dst_id.first)->super_Object).shnum_ & 0x100000) != 0) {\n          dst_id.first = (Relobj *)Symbol_table::resolve_forwards(symtab,(Symbol *)dst_id.first);\n        }\n        if ((((dst_id.first)->super_Object).shnum_ & 0x70000) == 0) {\n          local_150 = *(uint *)&((dst_id.first)->super_Object).xindex_;\n          pOVar30 = ((anon_union_8_3_b0f6f408_for_u1_ *)\n                    &((dst_id.first)->super_Object).name_._M_string_length)->output_segment;\n          local_134 = uVar5 + local_150;\n          if (((ulong)pOVar30->output_lists_[2].\n                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                      _M_impl._M_finish & 0x100000000) == 0) {\n            uVar29 = *(uint *)&((dst_id.first)->super_Object).name_.field_2;\n            uVar28 = (ulong)uVar29;\n            bVar20 = (byte)((dst_id.first)->super_Object).shnum_ & 0xf;\n            bVar22 = *(byte *)((long)&((dst_id.first)->super_Object).shnum_ + 3) >> 5 & 1;\n            uVar31 = bVar20 < 2;\n            uVar35 = bVar20 == 2;\n            if ((bool)uVar35) {\n              uVar31 = 0;\n              uVar35 = local_136 == '\0';\n              if (!(bool)uVar35) {\n                uVar31 = false;\n                uVar35 = bVar22 == 0;\n                if (!(bool)uVar35) {\n                  uVar31 = uVar13 < 0x17;\n                  uVar35 = uVar13 == 0x17;\n                  if ((uVar13 < 0x18) &&\n                     (uVar31 = (0x843f84UL >> ((ulong)uVar4 & 0x3f) & 1) != 0, (bool)uVar31))\n                  goto LAB_00192930;\n                }\n                __node_gen_3._M_h = (__hashtable_alloc *)&symtab->icf_->fptr_section_id_;\n                local_d8 = pOVar30;\n                local_d0 = uVar29;\n                    /* try { // try from 00192ca4 to 00192e68 has its CatchHandler @ 00192fd7 */\n                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                ::\n                _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                            *)__node_gen_3._M_h,&local_d8,&__node_gen_3,1);\n              }\n            }\n          }\n          else {\n            bVar22 = 0;\n            uVar28 = 0;\n            uVar31 = 0;\n            pOVar30 = (Output_segment *)0x0;\n            uVar35 = 1;\n          }\n        }\n        else {\n          local_150 = *(uint *)&((dst_id.first)->super_Object).xindex_;\n          bVar22 = 0;\n          uVar28 = 0;\n          uVar31 = 0;\n          pOVar30 = (Output_segment *)0x0;\n          uVar35 = 1;\n          local_134 = uVar5 + local_150;\n        }\nLAB_00192930:\n        pp_Var11 = ((dst_id.first)->super_Object)._vptr_Object;\n        lVar19 = 8;\n        pbVar24 = (byte *)"__start_";\n        pp_Var25 = pp_Var11;\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          uVar31 = *pbVar24 < *(byte *)pp_Var25;\n          uVar35 = *pbVar24 == *(byte *)pp_Var25;\n          pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n          pp_Var25 = (_func_int_varargs **)((long)pp_Var25 + (ulong)bVar37 * -2 + 1);\n        } while ((bool)uVar35);\n        bVar32 = false;\n        bVar36 = (!(bool)uVar31 && !(bool)uVar35) == (bool)uVar31;\n        if (bVar36) {\n          pp_Var11 = pp_Var11 + 1;\n        }\n        else {\n          lVar19 = 7;\n          pbVar24 = (byte *)"__stop_";\n          pp_Var25 = pp_Var11;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar32 = *pbVar24 < *(byte *)pp_Var25;\n            bVar36 = *pbVar24 == *(byte *)pp_Var25;\n            pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n            pp_Var25 = (_func_int_varargs **)((long)pp_Var25 + (ulong)bVar37 * -2 + 1);\n          } while (bVar36);\n          pp_Var11 = (_func_int_varargs **)((long)pp_Var11 + 7);\n          if ((!bVar32 && !bVar36) != bVar32) {\n            pp_Var11 = local_158;\n          }\n        }\n        local_158 = pp_Var11;\n        if (bVar34) {\n          if (bVar22 == 0) {\n            src_id.first = (Relobj *)0x0;\n            src_id._8_8_ = (ulong)(uint)src_id._12_4_ << 0x20;\n            std::\n            vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n            ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                      (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);\n          }\n          else {\n            src_id.second = (uint)uVar28;\n            src_id.first = (Relobj *)pOVar30;\n            std::\n            vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n            ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                      (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);\n          }\n          __position._M_current =\n               (local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n               _M_impl._M_finish;\n          if (__position._M_current ==\n              (local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl\n              ._M_end_of_storage) {\n            std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::\n            _M_realloc_insert<gold::Symbol*_const&>(local_170,__position,(Symbol **)&dst_id);\n          }\n          else {\n            *__position._M_current = (Symbol *)dst_id.first;\n            (local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n            _M_finish = __position._M_current + 1;\n          }\n          src_id.first = (Relobj *)(ulong)local_150;\n          src_id._8_8_ = (long)(int)uVar5;\n          std::\n          vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n          ::emplace_back<std::pair<long_long_int,_long_long_int>_>\n                    (local_180,(pair<long_long_int,_long_long_int> *)&src_id);\n          src_id.first = (Relobj *)(ulong)*local_128;\n          iVar6._M_current =\n               (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n               )._M_impl._M_finish;\n          if (iVar6._M_current ==\n              (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>)\n              ._M_impl._M_end_of_storage) {\n            std::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>::\n            _M_realloc_insert<long_unsigned_int_const&>(local_168,iVar6,(ulong *)&src_id);\n          }\n          else {\n            *iVar6._M_current = (ulong)src_id.first;\n            (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>).\n            _M_impl._M_finish = iVar6._M_current + 1;\n          }\n          src_id_2.first = (Relobj *)((ulong)src_id_2.first & 0xffffffff00000000);\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::emplace_back<unsigned_int>\n                    (local_188,(uint *)&src_id_2);\n        }\n        if (bVar22 != 0) goto LAB_001925a8;\n      }" else (compound_statement "{\n        uVar23 = (uint)(target->tocsave_loc_)._M_h._M_rehash_policy._M_next_resize;\n        if (uVar29 < uVar23) {\n          dst_id.first = (Relobj *)0x0;\nLAB_00192adb:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/gc.h",0x11c,"gc_process_relocs");\n        }\n        uVar28 = (ulong)(uVar29 - uVar23);\n        if ((ulong)(*(long *)&target->relax_fail_count_ - *(long *)&target->plt_thread_safe_ >> 3)\n            <= uVar28) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.h",0x8ad,"global_symbol");\n        }\n        dst_id.first = *(Relobj **)(*(long *)&target->plt_thread_safe_ + uVar28 * 8);\n        if (dst_id.first == (Relobj *)0x0) goto LAB_00192adb;\n        if ((((dst_id.first)->super_Object).shnum_ & 0x100000) != 0) {\n          dst_id.first = (Relobj *)Symbol_table::resolve_forwards(symtab,(Symbol *)dst_id.first);\n        }\n        if ((((dst_id.first)->super_Object).shnum_ & 0x70000) == 0) {\n          local_150 = *(uint *)&((dst_id.first)->super_Object).xindex_;\n          pOVar30 = ((anon_union_8_3_b0f6f408_for_u1_ *)\n                    &((dst_id.first)->super_Object).name_._M_string_length)->output_segment;\n          local_134 = uVar5 + local_150;\n          if (((ulong)pOVar30->output_lists_[2].\n                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                      _M_impl._M_finish & 0x100000000) == 0) {\n            uVar29 = *(uint *)&((dst_id.first)->super_Object).name_.field_2;\n            uVar28 = (ulong)uVar29;\n            bVar20 = (byte)((dst_id.first)->super_Object).shnum_ & 0xf;\n            bVar22 = *(byte *)((long)&((dst_id.first)->super_Object).shnum_ + 3) >> 5 & 1;\n            uVar31 = bVar20 < 2;\n            uVar35 = bVar20 == 2;\n            if ((bool)uVar35) {\n              uVar31 = 0;\n              uVar35 = local_136 == '\0';\n              if (!(bool)uVar35) {\n                uVar31 = false;\n                uVar35 = bVar22 == 0;\n                if (!(bool)uVar35) {\n                  uVar31 = uVar13 < 0x17;\n                  uVar35 = uVar13 == 0x17;\n                  if ((uVar13 < 0x18) &&\n                     (uVar31 = (0x843f84UL >> ((ulong)uVar4 & 0x3f) & 1) != 0, (bool)uVar31))\n                  goto LAB_00192930;\n                }\n                __node_gen_3._M_h = (__hashtable_alloc *)&symtab->icf_->fptr_section_id_;\n                local_d8 = pOVar30;\n                local_d0 = uVar29;\n                    /* try { // try from 00192ca4 to 00192e68 has its CatchHandler @ 00192fd7 */\n                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                ::\n                _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                            *)__node_gen_3._M_h,&local_d8,&__node_gen_3,1);\n              }\n            }\n          }\n          else {\n            bVar22 = 0;\n            uVar28 = 0;\n            uVar31 = 0;\n            pOVar30 = (Output_segment *)0x0;\n            uVar35 = 1;\n          }\n        }\n        else {\n          local_150 = *(uint *)&((dst_id.first)->super_Object).xindex_;\n          bVar22 = 0;\n          uVar28 = 0;\n          uVar31 = 0;\n          pOVar30 = (Output_segment *)0x0;\n          uVar35 = 1;\n          local_134 = uVar5 + local_150;\n        }\nLAB_00192930:\n        pp_Var11 = ((dst_id.first)->super_Object)._vptr_Object;\n        lVar19 = 8;\n        pbVar24 = (byte *)"__start_";\n        pp_Var25 = pp_Var11;\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          uVar31 = *pbVar24 < *(byte *)pp_Var25;\n          uVar35 = *pbVar24 == *(byte *)pp_Var25;\n          pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n          pp_Var25 = (_func_int_varargs **)((long)pp_Var25 + (ulong)bVar37 * -2 + 1);\n        } while ((bool)uVar35);\n        bVar32 = false;\n        bVar36 = (!(bool)uVar31 && !(bool)uVar35) == (bool)uVar31;\n        if (bVar36) {\n          pp_Var11 = pp_Var11 + 1;\n        }\n        else {\n          lVar19 = 7;\n          pbVar24 = (byte *)"__stop_";\n          pp_Var25 = pp_Var11;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar32 = *pbVar24 < *(byte *)pp_Var25;\n            bVar36 = *pbVar24 == *(byte *)pp_Var25;\n            pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n            pp_Var25 = (_func_int_varargs **)((long)pp_Var25 + (ulong)bVar37 * -2 + 1);\n          } while (bVar36);\n          pp_Var11 = (_func_int_varargs **)((long)pp_Var11 + 7);\n          if ((!bVar32 && !bVar36) != bVar32) {\n            pp_Var11 = local_158;\n          }\n        }\n        local_158 = pp_Var11;\n        if (bVar34) {\n          if (bVar22 == 0) {\n            src_id.first = (Relobj *)0x0;\n            src_id._8_8_ = (ulong)(uint)src_id._12_4_ << 0x20;\n            std::\n            vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n            ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                      (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);\n          }\n          else {\n            src_id.second = (uint)uVar28;\n            src_id.first = (Relobj *)pOVar30;\n            std::\n            vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n            ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                      (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);\n          }\n          __position._M_current =\n               (local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n               _M_impl._M_finish;\n          if (__position._M_current ==\n              (local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl\n              ._M_end_of_storage) {\n            std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::\n            _M_realloc_insert<gold::Symbol*_const&>(local_170,__position,(Symbol **)&dst_id);\n          }\n          else {\n            *__position._M_current = (Symbol *)dst_id.first;\n            (local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n            _M_finish = __position._M_current + 1;\n          }\n          src_id.first = (Relobj *)(ulong)local_150;\n          src_id._8_8_ = (long)(int)uVar5;\n          std::\n          vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n          ::emplace_back<std::pair<long_long_int,_long_long_int>_>\n                    (local_180,(pair<long_long_int,_long_long_int> *)&src_id);\n          src_id.first = (Relobj *)(ulong)*local_128;\n          iVar6._M_current =\n               (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n               )._M_impl._M_finish;\n          if (iVar6._M_current ==\n              (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>)\n              ._M_impl._M_end_of_storage) {\n            std::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>::\n            _M_realloc_insert<long_unsigned_int_const&>(local_168,iVar6,(ulong *)&src_id);\n          }\n          else {\n            *iVar6._M_current = (ulong)src_id.first;\n            (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>).\n            _M_impl._M_finish = iVar6._M_current + 1;\n          }\n          src_id_2.first = (Relobj *)((ulong)src_id_2.first & 0xffffffff00000000);\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::emplace_back<unsigned_int>\n                    (local_188,(uint *)&src_id_2);\n        }\n        if (bVar22 != 0) goto LAB_001925a8;\n      }" { (expression_statement "uVar23 = (uint)(target->tocsave_loc_)._M_h._M_rehash_policy._M_next_resize;" (assignment_expression "uVar23 = (uint)(target->tocsave_loc_)._M_h._M_rehash_policy._M_next_resize" identifier = (field_expression "(uint)(target->tocsave_loc_)._M_h._M_rehash_policy._M_next_resize" (field_expression "(uint)(target->tocsave_loc_)._M_h._M_rehash_policy" (field_expression "(uint)(target->tocsave_loc_)._M_h" (call_expression "(uint)(target->tocsave_loc_)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(target->tocsave_loc_)" ( (field_expression "target->tocsave_loc_" identifier -> field_identifier) ))) . field_identifier) . field_identifier) . field_identifier)) ;) (if_statement "if (uVar29 < uVar23) {\n          dst_id.first = (Relobj *)0x0;\nLAB_00192adb:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/gc.h",0x11c,"gc_process_relocs");\n        }" if (parenthesized_expression "(uVar29 < uVar23)" ( (binary_expression "uVar29 < uVar23" identifier < identifier) )) (compound_statement "{\n          dst_id.first = (Relobj *)0x0;\nLAB_00192adb:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/gc.h",0x11c,"gc_process_relocs");\n        }" { (expression_statement "dst_id.first = (Relobj *)0x0;" (assignment_expression "dst_id.first = (Relobj *)0x0" (field_expression "dst_id.first" identifier . field_identifier) = (cast_expression "(Relobj *)0x0" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00192adb:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/gc.h",0x11c,"gc_process_relocs");" statement_identifier : comment (expression_statement "do_gold_unreachable("../../gold/gc.h",0x11c,"gc_process_relocs");" (call_expression "do_gold_unreachable("../../gold/gc.h",0x11c,"gc_process_relocs")" identifier (argument_list "("../../gold/gc.h",0x11c,"gc_process_relocs")" ( (string_literal ""../../gold/gc.h"" " string_content ") , number_literal , (string_literal ""gc_process_relocs"" " string_content ") ))) ;)) })) (expression_statement "uVar28 = (ulong)(uVar29 - uVar23);" (assignment_expression "uVar28 = (ulong)(uVar29 - uVar23)" identifier = (call_expression "(ulong)(uVar29 - uVar23)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar29 - uVar23)" ( (binary_expression "uVar29 - uVar23" identifier - identifier) )))) ;) (if_statement "if ((ulong)(*(long *)&target->relax_fail_count_ - *(long *)&target->plt_thread_safe_ >> 3)\n            <= uVar28) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.h",0x8ad,"global_symbol");\n        }" if (parenthesized_expression "((ulong)(*(long *)&target->relax_fail_count_ - *(long *)&target->plt_thread_safe_ >> 3)\n            <= uVar28)" ( (binary_expression "(ulong)(*(long *)&target->relax_fail_count_ - *(long *)&target->plt_thread_safe_ >> 3)\n            <= uVar28" (call_expression "(ulong)(*(long *)&target->relax_fail_count_ - *(long *)&target->plt_thread_safe_ >> 3)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(*(long *)&target->relax_fail_count_ - *(long *)&target->plt_thread_safe_ >> 3)" ( (binary_expression "*(long *)&target->relax_fail_count_ - *(long *)&target->plt_thread_safe_ >> 3" (binary_expression "*(long *)&target->relax_fail_count_ - *(long *)&target->plt_thread_safe_" (pointer_expression "*(long *)&target->relax_fail_count_" * (cast_expression "(long *)&target->relax_fail_count_" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "&target->relax_fail_count_" & (field_expression "target->relax_fail_count_" identifier -> field_identifier)))) - (pointer_expression "*(long *)&target->plt_thread_safe_" * (cast_expression "(long *)&target->plt_thread_safe_" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "&target->plt_thread_safe_" & (field_expression "target->plt_thread_safe_" identifier -> field_identifier))))) >> number_literal) ))) <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.h",0x8ad,"global_symbol");\n        }" { comment (expression_statement "do_gold_unreachable("../../gold/object.h",0x8ad,"global_symbol");" (call_expression "do_gold_unreachable("../../gold/object.h",0x8ad,"global_symbol")" identifier (argument_list "("../../gold/object.h",0x8ad,"global_symbol")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""global_symbol"" " string_content ") ))) ;) })) (expression_statement "dst_id.first = *(Relobj **)(*(long *)&target->plt_thread_safe_ + uVar28 * 8);" (assignment_expression "dst_id.first = *(Relobj **)(*(long *)&target->plt_thread_safe_ + uVar28 * 8)" (field_expression "dst_id.first" identifier . field_identifier) = (pointer_expression "*(Relobj **)(*(long *)&target->plt_thread_safe_ + uVar28 * 8)" * (cast_expression "(Relobj **)(*(long *)&target->plt_thread_safe_ + uVar28 * 8)" ( (type_descriptor "Relobj **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)&target->plt_thread_safe_ + uVar28 * 8)" ( (binary_expression "*(long *)&target->plt_thread_safe_ + uVar28 * 8" (pointer_expression "*(long *)&target->plt_thread_safe_" * (cast_expression "(long *)&target->plt_thread_safe_" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "&target->plt_thread_safe_" & (field_expression "target->plt_thread_safe_" identifier -> field_identifier)))) + (binary_expression "uVar28 * 8" identifier * number_literal)) ))))) ;) (if_statement "if (dst_id.first == (Relobj *)0x0) goto LAB_00192adb;" if (parenthesized_expression "(dst_id.first == (Relobj *)0x0)" ( (binary_expression "dst_id.first == (Relobj *)0x0" (field_expression "dst_id.first" identifier . field_identifier) == (cast_expression "(Relobj *)0x0" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00192adb;" goto statement_identifier ;)) (if_statement "if ((((dst_id.first)->super_Object).shnum_ & 0x100000) != 0) {\n          dst_id.first = (Relobj *)Symbol_table::resolve_forwards(symtab,(Symbol *)dst_id.first);\n        }" if (parenthesized_expression "((((dst_id.first)->super_Object).shnum_ & 0x100000) != 0)" ( (binary_expression "(((dst_id.first)->super_Object).shnum_ & 0x100000) != 0" (parenthesized_expression "(((dst_id.first)->super_Object).shnum_ & 0x100000)" ( (binary_expression "((dst_id.first)->super_Object).shnum_ & 0x100000" (field_expression "((dst_id.first)->super_Object).shnum_" (parenthesized_expression "((dst_id.first)->super_Object)" ( (field_expression "(dst_id.first)->super_Object" (parenthesized_expression "(dst_id.first)" ( (field_expression "dst_id.first" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n          dst_id.first = (Relobj *)Symbol_table::resolve_forwards(symtab,(Symbol *)dst_id.first);\n        }" { (ERROR "dst_id.first = (Relobj *)Symbol_table::" (assignment_expression "dst_id.first = (Relobj *)Symbol_table" (field_expression "dst_id.first" identifier . field_identifier) = (cast_expression "(Relobj *)Symbol_table" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) : :) (expression_statement "resolve_forwards(symtab,(Symbol *)dst_id.first);" (call_expression "resolve_forwards(symtab,(Symbol *)dst_id.first)" identifier (argument_list "(symtab,(Symbol *)dst_id.first)" ( identifier , (cast_expression "(Symbol *)dst_id.first" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "dst_id.first" identifier . field_identifier)) ))) ;) })) (if_statement "if ((((dst_id.first)->super_Object).shnum_ & 0x70000) == 0) {\n          local_150 = *(uint *)&((dst_id.first)->super_Object).xindex_;\n          pOVar30 = ((anon_union_8_3_b0f6f408_for_u1_ *)\n                    &((dst_id.first)->super_Object).name_._M_string_length)->output_segment;\n          local_134 = uVar5 + local_150;\n          if (((ulong)pOVar30->output_lists_[2].\n                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                      _M_impl._M_finish & 0x100000000) == 0) {\n            uVar29 = *(uint *)&((dst_id.first)->super_Object).name_.field_2;\n            uVar28 = (ulong)uVar29;\n            bVar20 = (byte)((dst_id.first)->super_Object).shnum_ & 0xf;\n            bVar22 = *(byte *)((long)&((dst_id.first)->super_Object).shnum_ + 3) >> 5 & 1;\n            uVar31 = bVar20 < 2;\n            uVar35 = bVar20 == 2;\n            if ((bool)uVar35) {\n              uVar31 = 0;\n              uVar35 = local_136 == '\0';\n              if (!(bool)uVar35) {\n                uVar31 = false;\n                uVar35 = bVar22 == 0;\n                if (!(bool)uVar35) {\n                  uVar31 = uVar13 < 0x17;\n                  uVar35 = uVar13 == 0x17;\n                  if ((uVar13 < 0x18) &&\n                     (uVar31 = (0x843f84UL >> ((ulong)uVar4 & 0x3f) & 1) != 0, (bool)uVar31))\n                  goto LAB_00192930;\n                }\n                __node_gen_3._M_h = (__hashtable_alloc *)&symtab->icf_->fptr_section_id_;\n                local_d8 = pOVar30;\n                local_d0 = uVar29;\n                    /* try { // try from 00192ca4 to 00192e68 has its CatchHandler @ 00192fd7 */\n                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                ::\n                _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                            *)__node_gen_3._M_h,&local_d8,&__node_gen_3,1);\n              }\n            }\n          }\n          else {\n            bVar22 = 0;\n            uVar28 = 0;\n            uVar31 = 0;\n            pOVar30 = (Output_segment *)0x0;\n            uVar35 = 1;\n          }\n        }\n        else {\n          local_150 = *(uint *)&((dst_id.first)->super_Object).xindex_;\n          bVar22 = 0;\n          uVar28 = 0;\n          uVar31 = 0;\n          pOVar30 = (Output_segment *)0x0;\n          uVar35 = 1;\n          local_134 = uVar5 + local_150;\n        }" if (parenthesized_expression "((((dst_id.first)->super_Object).shnum_ & 0x70000) == 0)" ( (binary_expression "(((dst_id.first)->super_Object).shnum_ & 0x70000) == 0" (parenthesized_expression "(((dst_id.first)->super_Object).shnum_ & 0x70000)" ( (binary_expression "((dst_id.first)->super_Object).shnum_ & 0x70000" (field_expression "((dst_id.first)->super_Object).shnum_" (parenthesized_expression "((dst_id.first)->super_Object)" ( (field_expression "(dst_id.first)->super_Object" (parenthesized_expression "(dst_id.first)" ( (field_expression "dst_id.first" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n          local_150 = *(uint *)&((dst_id.first)->super_Object).xindex_;\n          pOVar30 = ((anon_union_8_3_b0f6f408_for_u1_ *)\n                    &((dst_id.first)->super_Object).name_._M_string_length)->output_segment;\n          local_134 = uVar5 + local_150;\n          if (((ulong)pOVar30->output_lists_[2].\n                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                      _M_impl._M_finish & 0x100000000) == 0) {\n            uVar29 = *(uint *)&((dst_id.first)->super_Object).name_.field_2;\n            uVar28 = (ulong)uVar29;\n            bVar20 = (byte)((dst_id.first)->super_Object).shnum_ & 0xf;\n            bVar22 = *(byte *)((long)&((dst_id.first)->super_Object).shnum_ + 3) >> 5 & 1;\n            uVar31 = bVar20 < 2;\n            uVar35 = bVar20 == 2;\n            if ((bool)uVar35) {\n              uVar31 = 0;\n              uVar35 = local_136 == '\0';\n              if (!(bool)uVar35) {\n                uVar31 = false;\n                uVar35 = bVar22 == 0;\n                if (!(bool)uVar35) {\n                  uVar31 = uVar13 < 0x17;\n                  uVar35 = uVar13 == 0x17;\n                  if ((uVar13 < 0x18) &&\n                     (uVar31 = (0x843f84UL >> ((ulong)uVar4 & 0x3f) & 1) != 0, (bool)uVar31))\n                  goto LAB_00192930;\n                }\n                __node_gen_3._M_h = (__hashtable_alloc *)&symtab->icf_->fptr_section_id_;\n                local_d8 = pOVar30;\n                local_d0 = uVar29;\n                    /* try { // try from 00192ca4 to 00192e68 has its CatchHandler @ 00192fd7 */\n                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                ::\n                _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                            *)__node_gen_3._M_h,&local_d8,&__node_gen_3,1);\n              }\n            }\n          }\n          else {\n            bVar22 = 0;\n            uVar28 = 0;\n            uVar31 = 0;\n            pOVar30 = (Output_segment *)0x0;\n            uVar35 = 1;\n          }\n        }" { (expression_statement "local_150 = *(uint *)&((dst_id.first)->super_Object).xindex_;" (assignment_expression "local_150 = *(uint *)&((dst_id.first)->super_Object).xindex_" identifier = (pointer_expression "*(uint *)&((dst_id.first)->super_Object).xindex_" * (cast_expression "(uint *)&((dst_id.first)->super_Object).xindex_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&((dst_id.first)->super_Object).xindex_" & (field_expression "((dst_id.first)->super_Object).xindex_" (parenthesized_expression "((dst_id.first)->super_Object)" ( (field_expression "(dst_id.first)->super_Object" (parenthesized_expression "(dst_id.first)" ( (field_expression "dst_id.first" identifier . field_identifier) )) -> field_identifier) )) . field_identifier))))) ;) (expression_statement "pOVar30 = ((anon_union_8_3_b0f6f408_for_u1_ *)\n                    &((dst_id.first)->super_Object).name_._M_string_length)->output_segment;" (assignment_expression "pOVar30 = ((anon_union_8_3_b0f6f408_for_u1_ *)\n                    &((dst_id.first)->super_Object).name_._M_string_length)->output_segment" identifier = (field_expression "((anon_union_8_3_b0f6f408_for_u1_ *)\n                    &((dst_id.first)->super_Object).name_._M_string_length)->output_segment" (parenthesized_expression "((anon_union_8_3_b0f6f408_for_u1_ *)\n                    &((dst_id.first)->super_Object).name_._M_string_length)" ( (cast_expression "(anon_union_8_3_b0f6f408_for_u1_ *)\n                    &((dst_id.first)->super_Object).name_._M_string_length" ( (type_descriptor "anon_union_8_3_b0f6f408_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&((dst_id.first)->super_Object).name_._M_string_length" & (field_expression "((dst_id.first)->super_Object).name_._M_string_length" (field_expression "((dst_id.first)->super_Object).name_" (parenthesized_expression "((dst_id.first)->super_Object)" ( (field_expression "(dst_id.first)->super_Object" (parenthesized_expression "(dst_id.first)" ( (field_expression "dst_id.first" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) . field_identifier))) )) -> field_identifier)) ;) (expression_statement "local_134 = uVar5 + local_150;" (assignment_expression "local_134 = uVar5 + local_150" identifier = (binary_expression "uVar5 + local_150" identifier + identifier)) ;) (if_statement "if (((ulong)pOVar30->output_lists_[2].\n                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                      _M_impl._M_finish & 0x100000000) == 0) {\n            uVar29 = *(uint *)&((dst_id.first)->super_Object).name_.field_2;\n            uVar28 = (ulong)uVar29;\n            bVar20 = (byte)((dst_id.first)->super_Object).shnum_ & 0xf;\n            bVar22 = *(byte *)((long)&((dst_id.first)->super_Object).shnum_ + 3) >> 5 & 1;\n            uVar31 = bVar20 < 2;\n            uVar35 = bVar20 == 2;\n            if ((bool)uVar35) {\n              uVar31 = 0;\n              uVar35 = local_136 == '\0';\n              if (!(bool)uVar35) {\n                uVar31 = false;\n                uVar35 = bVar22 == 0;\n                if (!(bool)uVar35) {\n                  uVar31 = uVar13 < 0x17;\n                  uVar35 = uVar13 == 0x17;\n                  if ((uVar13 < 0x18) &&\n                     (uVar31 = (0x843f84UL >> ((ulong)uVar4 & 0x3f) & 1) != 0, (bool)uVar31))\n                  goto LAB_00192930;\n                }\n                __node_gen_3._M_h = (__hashtable_alloc *)&symtab->icf_->fptr_section_id_;\n                local_d8 = pOVar30;\n                local_d0 = uVar29;\n                    /* try { // try from 00192ca4 to 00192e68 has its CatchHandler @ 00192fd7 */\n                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                ::\n                _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                            *)__node_gen_3._M_h,&local_d8,&__node_gen_3,1);\n              }\n            }\n          }\n          else {\n            bVar22 = 0;\n            uVar28 = 0;\n            uVar31 = 0;\n            pOVar30 = (Output_segment *)0x0;\n            uVar35 = 1;\n          }" if (parenthesized_expression "(((ulong)pOVar30->output_lists_[2].\n                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                      _M_impl._M_finish & 0x100000000) == 0)" ( (binary_expression "((ulong)pOVar30->output_lists_[2].\n                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                      _M_impl._M_finish & 0x100000000) == 0" (parenthesized_expression "((ulong)pOVar30->output_lists_[2].\n                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                      _M_impl._M_finish & 0x100000000)" ( (binary_expression "(ulong)pOVar30->output_lists_[2].\n                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                      _M_impl._M_finish & 0x100000000" (field_expression "(ulong)pOVar30->output_lists_[2].\n                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                      _M_impl._M_finish" (field_expression "(ulong)pOVar30->output_lists_[2].\n                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                      _M_impl" (binary_expression "(ulong)pOVar30->output_lists_[2].\n                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_" (binary_expression "(ulong)pOVar30->output_lists_[2].\n                      super__Vector_base<gold::Output_data*,_std::allocator<gold" (binary_expression "(ulong)pOVar30->output_lists_[2].\n                      super__Vector_base<gold::Output_data*,_std" (binary_expression "(ulong)pOVar30->output_lists_[2].\n                      super__Vector_base<gold" (cast_expression "(ulong)pOVar30->output_lists_[2].\n                      super__Vector_base" ( (type_descriptor "ulong" type_identifier) ) (field_expression "pOVar30->output_lists_[2].\n                      super__Vector_base" (subscript_expression "pOVar30->output_lists_[2]" (field_expression "pOVar30->output_lists_" identifier -> field_identifier) [ number_literal ]) . field_identifier)) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n            uVar29 = *(uint *)&((dst_id.first)->super_Object).name_.field_2;\n            uVar28 = (ulong)uVar29;\n            bVar20 = (byte)((dst_id.first)->super_Object).shnum_ & 0xf;\n            bVar22 = *(byte *)((long)&((dst_id.first)->super_Object).shnum_ + 3) >> 5 & 1;\n            uVar31 = bVar20 < 2;\n            uVar35 = bVar20 == 2;\n            if ((bool)uVar35) {\n              uVar31 = 0;\n              uVar35 = local_136 == '\0';\n              if (!(bool)uVar35) {\n                uVar31 = false;\n                uVar35 = bVar22 == 0;\n                if (!(bool)uVar35) {\n                  uVar31 = uVar13 < 0x17;\n                  uVar35 = uVar13 == 0x17;\n                  if ((uVar13 < 0x18) &&\n                     (uVar31 = (0x843f84UL >> ((ulong)uVar4 & 0x3f) & 1) != 0, (bool)uVar31))\n                  goto LAB_00192930;\n                }\n                __node_gen_3._M_h = (__hashtable_alloc *)&symtab->icf_->fptr_section_id_;\n                local_d8 = pOVar30;\n                local_d0 = uVar29;\n                    /* try { // try from 00192ca4 to 00192e68 has its CatchHandler @ 00192fd7 */\n                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                ::\n                _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                            *)__node_gen_3._M_h,&local_d8,&__node_gen_3,1);\n              }\n            }\n          }" { (expression_statement "uVar29 = *(uint *)&((dst_id.first)->super_Object).name_.field_2;" (assignment_expression "uVar29 = *(uint *)&((dst_id.first)->super_Object).name_.field_2" identifier = (pointer_expression "*(uint *)&((dst_id.first)->super_Object).name_.field_2" * (cast_expression "(uint *)&((dst_id.first)->super_Object).name_.field_2" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&((dst_id.first)->super_Object).name_.field_2" & (field_expression "((dst_id.first)->super_Object).name_.field_2" (field_expression "((dst_id.first)->super_Object).name_" (parenthesized_expression "((dst_id.first)->super_Object)" ( (field_expression "(dst_id.first)->super_Object" (parenthesized_expression "(dst_id.first)" ( (field_expression "dst_id.first" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) . field_identifier))))) ;) (expression_statement "uVar28 = (ulong)uVar29;" (assignment_expression "uVar28 = (ulong)uVar29" identifier = (cast_expression "(ulong)uVar29" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "bVar20 = (byte)((dst_id.first)->super_Object).shnum_ & 0xf;" (assignment_expression "bVar20 = (byte)((dst_id.first)->super_Object).shnum_ & 0xf" identifier = (binary_expression "(byte)((dst_id.first)->super_Object).shnum_ & 0xf" (field_expression "(byte)((dst_id.first)->super_Object).shnum_" (call_expression "(byte)((dst_id.first)->super_Object)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((dst_id.first)->super_Object)" ( (field_expression "(dst_id.first)->super_Object" (parenthesized_expression "(dst_id.first)" ( (field_expression "dst_id.first" identifier . field_identifier) )) -> field_identifier) ))) . field_identifier) & number_literal)) ;) (expression_statement "bVar22 = *(byte *)((long)&((dst_id.first)->super_Object).shnum_ + 3) >> 5 & 1;" (assignment_expression "bVar22 = *(byte *)((long)&((dst_id.first)->super_Object).shnum_ + 3) >> 5 & 1" identifier = (binary_expression "*(byte *)((long)&((dst_id.first)->super_Object).shnum_ + 3) >> 5 & 1" (binary_expression "*(byte *)((long)&((dst_id.first)->super_Object).shnum_ + 3) >> 5" (pointer_expression "*(byte *)((long)&((dst_id.first)->super_Object).shnum_ + 3)" * (cast_expression "(byte *)((long)&((dst_id.first)->super_Object).shnum_ + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&((dst_id.first)->super_Object).shnum_ + 3)" ( (binary_expression "(long)&((dst_id.first)->super_Object).shnum_ + 3" (cast_expression "(long)&((dst_id.first)->super_Object).shnum_" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&((dst_id.first)->super_Object).shnum_" & (field_expression "((dst_id.first)->super_Object).shnum_" (parenthesized_expression "((dst_id.first)->super_Object)" ( (field_expression "(dst_id.first)->super_Object" (parenthesized_expression "(dst_id.first)" ( (field_expression "dst_id.first" identifier . field_identifier) )) -> field_identifier) )) . field_identifier))) + number_literal) )))) >> number_literal) & number_literal)) ;) (expression_statement "uVar31 = bVar20 < 2;" (assignment_expression "uVar31 = bVar20 < 2" identifier = (binary_expression "bVar20 < 2" identifier < number_literal)) ;) (expression_statement "uVar35 = bVar20 == 2;" (assignment_expression "uVar35 = bVar20 == 2" identifier = (binary_expression "bVar20 == 2" identifier == number_literal)) ;) (if_statement "if ((bool)uVar35) {\n              uVar31 = 0;\n              uVar35 = local_136 == '\0';\n              if (!(bool)uVar35) {\n                uVar31 = false;\n                uVar35 = bVar22 == 0;\n                if (!(bool)uVar35) {\n                  uVar31 = uVar13 < 0x17;\n                  uVar35 = uVar13 == 0x17;\n                  if ((uVar13 < 0x18) &&\n                     (uVar31 = (0x843f84UL >> ((ulong)uVar4 & 0x3f) & 1) != 0, (bool)uVar31))\n                  goto LAB_00192930;\n                }\n                __node_gen_3._M_h = (__hashtable_alloc *)&symtab->icf_->fptr_section_id_;\n                local_d8 = pOVar30;\n                local_d0 = uVar29;\n                    /* try { // try from 00192ca4 to 00192e68 has its CatchHandler @ 00192fd7 */\n                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                ::\n                _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                            *)__node_gen_3._M_h,&local_d8,&__node_gen_3,1);\n              }\n            }" if (parenthesized_expression "((bool)uVar35)" ( (cast_expression "(bool)uVar35" ( (type_descriptor "bool" primitive_type) ) identifier) )) (compound_statement "{\n              uVar31 = 0;\n              uVar35 = local_136 == '\0';\n              if (!(bool)uVar35) {\n                uVar31 = false;\n                uVar35 = bVar22 == 0;\n                if (!(bool)uVar35) {\n                  uVar31 = uVar13 < 0x17;\n                  uVar35 = uVar13 == 0x17;\n                  if ((uVar13 < 0x18) &&\n                     (uVar31 = (0x843f84UL >> ((ulong)uVar4 & 0x3f) & 1) != 0, (bool)uVar31))\n                  goto LAB_00192930;\n                }\n                __node_gen_3._M_h = (__hashtable_alloc *)&symtab->icf_->fptr_section_id_;\n                local_d8 = pOVar30;\n                local_d0 = uVar29;\n                    /* try { // try from 00192ca4 to 00192e68 has its CatchHandler @ 00192fd7 */\n                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                ::\n                _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                            *)__node_gen_3._M_h,&local_d8,&__node_gen_3,1);\n              }\n            }" { (expression_statement "uVar31 = 0;" (assignment_expression "uVar31 = 0" identifier = number_literal) ;) (expression_statement "uVar35 = local_136 == '\0';" (assignment_expression "uVar35 = local_136 == '\0'" identifier = (binary_expression "local_136 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence '))) ;) (if_statement "if (!(bool)uVar35) {\n                uVar31 = false;\n                uVar35 = bVar22 == 0;\n                if (!(bool)uVar35) {\n                  uVar31 = uVar13 < 0x17;\n                  uVar35 = uVar13 == 0x17;\n                  if ((uVar13 < 0x18) &&\n                     (uVar31 = (0x843f84UL >> ((ulong)uVar4 & 0x3f) & 1) != 0, (bool)uVar31))\n                  goto LAB_00192930;\n                }\n                __node_gen_3._M_h = (__hashtable_alloc *)&symtab->icf_->fptr_section_id_;\n                local_d8 = pOVar30;\n                local_d0 = uVar29;\n                    /* try { // try from 00192ca4 to 00192e68 has its CatchHandler @ 00192fd7 */\n                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                ::\n                _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                            *)__node_gen_3._M_h,&local_d8,&__node_gen_3,1);\n              }" if (parenthesized_expression "(!(bool)uVar35)" ( (unary_expression "!(bool)uVar35" ! (cast_expression "(bool)uVar35" ( (type_descriptor "bool" primitive_type) ) identifier)) )) (compound_statement "{\n                uVar31 = false;\n                uVar35 = bVar22 == 0;\n                if (!(bool)uVar35) {\n                  uVar31 = uVar13 < 0x17;\n                  uVar35 = uVar13 == 0x17;\n                  if ((uVar13 < 0x18) &&\n                     (uVar31 = (0x843f84UL >> ((ulong)uVar4 & 0x3f) & 1) != 0, (bool)uVar31))\n                  goto LAB_00192930;\n                }\n                __node_gen_3._M_h = (__hashtable_alloc *)&symtab->icf_->fptr_section_id_;\n                local_d8 = pOVar30;\n                local_d0 = uVar29;\n                    /* try { // try from 00192ca4 to 00192e68 has its CatchHandler @ 00192fd7 */\n                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                ::\n                _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                            *)__node_gen_3._M_h,&local_d8,&__node_gen_3,1);\n              }" { (expression_statement "uVar31 = false;" (assignment_expression "uVar31 = false" identifier = false) ;) (expression_statement "uVar35 = bVar22 == 0;" (assignment_expression "uVar35 = bVar22 == 0" identifier = (binary_expression "bVar22 == 0" identifier == number_literal)) ;) (if_statement "if (!(bool)uVar35) {\n                  uVar31 = uVar13 < 0x17;\n                  uVar35 = uVar13 == 0x17;\n                  if ((uVar13 < 0x18) &&\n                     (uVar31 = (0x843f84UL >> ((ulong)uVar4 & 0x3f) & 1) != 0, (bool)uVar31))\n                  goto LAB_00192930;\n                }" if (parenthesized_expression "(!(bool)uVar35)" ( (unary_expression "!(bool)uVar35" ! (cast_expression "(bool)uVar35" ( (type_descriptor "bool" primitive_type) ) identifier)) )) (compound_statement "{\n                  uVar31 = uVar13 < 0x17;\n                  uVar35 = uVar13 == 0x17;\n                  if ((uVar13 < 0x18) &&\n                     (uVar31 = (0x843f84UL >> ((ulong)uVar4 & 0x3f) & 1) != 0, (bool)uVar31))\n                  goto LAB_00192930;\n                }" { (expression_statement "uVar31 = uVar13 < 0x17;" (assignment_expression "uVar31 = uVar13 < 0x17" identifier = (binary_expression "uVar13 < 0x17" identifier < number_literal)) ;) (expression_statement "uVar35 = uVar13 == 0x17;" (assignment_expression "uVar35 = uVar13 == 0x17" identifier = (binary_expression "uVar13 == 0x17" identifier == number_literal)) ;) (if_statement "if ((uVar13 < 0x18) &&\n                     (uVar31 = (0x843f84UL >> ((ulong)uVar4 & 0x3f) & 1) != 0, (bool)uVar31))\n                  goto LAB_00192930;" if (parenthesized_expression "((uVar13 < 0x18) &&\n                     (uVar31 = (0x843f84UL >> ((ulong)uVar4 & 0x3f) & 1) != 0, (bool)uVar31))" ( (binary_expression "(uVar13 < 0x18) &&\n                     (uVar31 = (0x843f84UL >> ((ulong)uVar4 & 0x3f) & 1) != 0, (bool)uVar31)" (parenthesized_expression "(uVar13 < 0x18)" ( (binary_expression "uVar13 < 0x18" identifier < number_literal) )) && (parenthesized_expression "(uVar31 = (0x843f84UL >> ((ulong)uVar4 & 0x3f) & 1) != 0, (bool)uVar31)" ( (comma_expression "uVar31 = (0x843f84UL >> ((ulong)uVar4 & 0x3f) & 1) != 0, (bool)uVar31" (assignment_expression "uVar31 = (0x843f84UL >> ((ulong)uVar4 & 0x3f) & 1) != 0" identifier = (binary_expression "(0x843f84UL >> ((ulong)uVar4 & 0x3f) & 1) != 0" (parenthesized_expression "(0x843f84UL >> ((ulong)uVar4 & 0x3f) & 1)" ( (binary_expression "0x843f84UL >> ((ulong)uVar4 & 0x3f) & 1" (binary_expression "0x843f84UL >> ((ulong)uVar4 & 0x3f)" number_literal >> (parenthesized_expression "((ulong)uVar4 & 0x3f)" ( (binary_expression "(ulong)uVar4 & 0x3f" (cast_expression "(ulong)uVar4" ( (type_descriptor "ulong" type_identifier) ) identifier) & number_literal) ))) & number_literal) )) != number_literal)) , (cast_expression "(bool)uVar31" ( (type_descriptor "bool" primitive_type) ) identifier)) ))) )) (goto_statement "goto LAB_00192930;" goto statement_identifier ;)) })) (expression_statement "__node_gen_3._M_h = (__hashtable_alloc *)&symtab->icf_->fptr_section_id_;" (assignment_expression "__node_gen_3._M_h = (__hashtable_alloc *)&symtab->icf_->fptr_section_id_" (field_expression "__node_gen_3._M_h" identifier . field_identifier) = (cast_expression "(__hashtable_alloc *)&symtab->icf_->fptr_section_id_" ( (type_descriptor "__hashtable_alloc *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&symtab->icf_->fptr_section_id_" & (field_expression "symtab->icf_->fptr_section_id_" (field_expression "symtab->icf_" identifier -> field_identifier) -> field_identifier)))) ;) (expression_statement "local_d8 = pOVar30;" (assignment_expression "local_d8 = pOVar30" identifier = identifier) ;) (expression_statement "local_d0 = uVar29;" (assignment_expression "local_d0 = uVar29" identifier = identifier) ;) comment (ERROR "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::" (comma_expression "std::\n                _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std" identifier (ERROR "::\n                _Hashtable<std::pair<gold::Relobj*,_unsigned_int>" : : (binary_expression "_Hashtable<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : identifier * , 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 "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                ::\n                _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                            *)__node_gen_3._M_h,&local_d8,&__node_gen_3,1);" 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                ::\n                _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                            *)__node_gen_3._M_h,&local_d8,&__node_gen_3,1);" 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                ::\n                _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                            *)__node_gen_3._M_h,&local_d8,&__node_gen_3,1);" statement_identifier (ERROR "::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                ::\n                _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std:" : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) : : (comma_expression "__detail::_Hashtable_traits<true,_true,_true>_>\n                ::\n                _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std" identifier (ERROR "::_Hashtable_traits<true,_true,_true>_>\n                ::\n                _M_insert<std::pair<gold::Relobj*,_unsigned_int>" : : (comma_expression "_Hashtable_traits<true,_true,_true>_>\n                ::\n                _M_insert<std" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_true,_true>_>\n                ::\n                _M_insert<std" identifier , (binary_expression "_true>_>\n                ::\n                _M_insert<std" (binary_expression "_true>_>\n                ::\n                _M_insert" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) identifier) < identifier))) : : (binary_expression "pair<gold" identifier < identifier) : : identifier * , identifier >) , identifier) :) : (labeled_statement "__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                            *)__node_gen_3._M_h,&local_d8,&__node_gen_3,1);" statement_identifier (ERROR "::_AllocNode<std::allocator<std:" : : (binary_expression "_AllocNode<std" identifier < identifier) : : (binary_expression "allocator<std" identifier < identifier) :) : (expression_statement "__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                            *)__node_gen_3._M_h,&local_d8,&__node_gen_3,1);" (comma_expression "__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\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                            *)__node_gen_3._M_h,&local_d8,&__node_gen_3,1)" identifier (ERROR "::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>" : : (binary_expression "_Hash_node<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : identifier * , identifier >) , (binary_expression "_true>_>_>_>\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                            *)__node_gen_3._M_h,&local_d8,&__node_gen_3,1)" (binary_expression "_true>_>_>_" (binary_expression "_true>_>_" (binary_expression "_true>_" identifier > identifier) > identifier) > identifier) > (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                            *)__node_gen_3._M_h,&local_d8,&__node_gen_3,1)" ( (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                            *)__node_gen_3._M_h,&local_d8,&__node_gen_3,1)" ( (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                            *)__node_gen_3._M_h,&local_d8,&__node_gen_3,1" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_true,_true>_>\n                            *)__node_gen_3._M_h,&local_d8,&__node_gen_3,1" identifier , (comma_expression "_true>_>\n                            *)__node_gen_3._M_h,&local_d8,&__node_gen_3,1" (binary_expression "_true>_>\n                            *)__node_gen_3._M_h" (binary_expression "_true>_" identifier > identifier) > (pointer_expression "*)__node_gen_3._M_h" * (ERROR ")" )) (field_expression "__node_gen_3._M_h" identifier . field_identifier))) , (comma_expression "&local_d8,&__node_gen_3,1" (pointer_expression "&local_d8" & identifier) , (comma_expression "&__node_gen_3,1" (pointer_expression "&__node_gen_3" & identifier) , number_literal))))) )) )))) ;))))) })) })) }) (else_clause "else {\n            bVar22 = 0;\n            uVar28 = 0;\n            uVar31 = 0;\n            pOVar30 = (Output_segment *)0x0;\n            uVar35 = 1;\n          }" else (compound_statement "{\n            bVar22 = 0;\n            uVar28 = 0;\n            uVar31 = 0;\n            pOVar30 = (Output_segment *)0x0;\n            uVar35 = 1;\n          }" { (expression_statement "bVar22 = 0;" (assignment_expression "bVar22 = 0" identifier = number_literal) ;) (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" identifier = number_literal) ;) (expression_statement "uVar31 = 0;" (assignment_expression "uVar31 = 0" identifier = number_literal) ;) (expression_statement "pOVar30 = (Output_segment *)0x0;" (assignment_expression "pOVar30 = (Output_segment *)0x0" identifier = (cast_expression "(Output_segment *)0x0" ( (type_descriptor "Output_segment *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar35 = 1;" (assignment_expression "uVar35 = 1" identifier = number_literal) ;) }))) }) (else_clause "else {\n          local_150 = *(uint *)&((dst_id.first)->super_Object).xindex_;\n          bVar22 = 0;\n          uVar28 = 0;\n          uVar31 = 0;\n          pOVar30 = (Output_segment *)0x0;\n          uVar35 = 1;\n          local_134 = uVar5 + local_150;\n        }" else (compound_statement "{\n          local_150 = *(uint *)&((dst_id.first)->super_Object).xindex_;\n          bVar22 = 0;\n          uVar28 = 0;\n          uVar31 = 0;\n          pOVar30 = (Output_segment *)0x0;\n          uVar35 = 1;\n          local_134 = uVar5 + local_150;\n        }" { (expression_statement "local_150 = *(uint *)&((dst_id.first)->super_Object).xindex_;" (assignment_expression "local_150 = *(uint *)&((dst_id.first)->super_Object).xindex_" identifier = (pointer_expression "*(uint *)&((dst_id.first)->super_Object).xindex_" * (cast_expression "(uint *)&((dst_id.first)->super_Object).xindex_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&((dst_id.first)->super_Object).xindex_" & (field_expression "((dst_id.first)->super_Object).xindex_" (parenthesized_expression "((dst_id.first)->super_Object)" ( (field_expression "(dst_id.first)->super_Object" (parenthesized_expression "(dst_id.first)" ( (field_expression "dst_id.first" identifier . field_identifier) )) -> field_identifier) )) . field_identifier))))) ;) (expression_statement "bVar22 = 0;" (assignment_expression "bVar22 = 0" identifier = number_literal) ;) (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" identifier = number_literal) ;) (expression_statement "uVar31 = 0;" (assignment_expression "uVar31 = 0" identifier = number_literal) ;) (expression_statement "pOVar30 = (Output_segment *)0x0;" (assignment_expression "pOVar30 = (Output_segment *)0x0" identifier = (cast_expression "(Output_segment *)0x0" ( (type_descriptor "Output_segment *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar35 = 1;" (assignment_expression "uVar35 = 1" identifier = number_literal) ;) (expression_statement "local_134 = uVar5 + local_150;" (assignment_expression "local_134 = uVar5 + local_150" identifier = (binary_expression "uVar5 + local_150" identifier + identifier)) ;) }))) (labeled_statement "LAB_00192930:\n        pp_Var11 = ((dst_id.first)->super_Object)._vptr_Object;" statement_identifier : (expression_statement "pp_Var11 = ((dst_id.first)->super_Object)._vptr_Object;" (assignment_expression "pp_Var11 = ((dst_id.first)->super_Object)._vptr_Object" identifier = (field_expression "((dst_id.first)->super_Object)._vptr_Object" (parenthesized_expression "((dst_id.first)->super_Object)" ( (field_expression "(dst_id.first)->super_Object" (parenthesized_expression "(dst_id.first)" ( (field_expression "dst_id.first" identifier . field_identifier) )) -> field_identifier) )) . field_identifier)) ;)) (expression_statement "lVar19 = 8;" (assignment_expression "lVar19 = 8" identifier = number_literal) ;) (expression_statement "pbVar24 = (byte *)"__start_";" (assignment_expression "pbVar24 = (byte *)"__start_"" identifier = (cast_expression "(byte *)"__start_"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""__start_"" " string_content "))) ;) (expression_statement "pp_Var25 = pp_Var11;" (assignment_expression "pp_Var25 = pp_Var11" identifier = identifier) ;) (do_statement "do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          uVar31 = *pbVar24 < *(byte *)pp_Var25;\n          uVar35 = *pbVar24 == *(byte *)pp_Var25;\n          pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n          pp_Var25 = (_func_int_varargs **)((long)pp_Var25 + (ulong)bVar37 * -2 + 1);\n        } while ((bool)uVar35);" do (compound_statement "{\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          uVar31 = *pbVar24 < *(byte *)pp_Var25;\n          uVar35 = *pbVar24 == *(byte *)pp_Var25;\n          pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n          pp_Var25 = (_func_int_varargs **)((long)pp_Var25 + (ulong)bVar37 * -2 + 1);\n        }" { (if_statement "if (lVar19 == 0) break;" if (parenthesized_expression "(lVar19 == 0)" ( (binary_expression "lVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar19 = lVar19 + -1;" (assignment_expression "lVar19 = lVar19 + -1" identifier = (binary_expression "lVar19 + -1" identifier + number_literal)) ;) (expression_statement "uVar31 = *pbVar24 < *(byte *)pp_Var25;" (assignment_expression "uVar31 = *pbVar24 < *(byte *)pp_Var25" identifier = (binary_expression "*pbVar24 < *(byte *)pp_Var25" (pointer_expression "*pbVar24" * identifier) < (pointer_expression "*(byte *)pp_Var25" * (cast_expression "(byte *)pp_Var25" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "uVar35 = *pbVar24 == *(byte *)pp_Var25;" (assignment_expression "uVar35 = *pbVar24 == *(byte *)pp_Var25" identifier = (binary_expression "*pbVar24 == *(byte *)pp_Var25" (pointer_expression "*pbVar24" * identifier) == (pointer_expression "*(byte *)pp_Var25" * (cast_expression "(byte *)pp_Var25" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1" identifier = (binary_expression "pbVar24 + (ulong)bVar37 * -2 + 1" (binary_expression "pbVar24 + (ulong)bVar37 * -2" identifier + (binary_expression "(ulong)bVar37 * -2" (cast_expression "(ulong)bVar37" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pp_Var25 = (_func_int_varargs **)((long)pp_Var25 + (ulong)bVar37 * -2 + 1);" (assignment_expression "pp_Var25 = (_func_int_varargs **)((long)pp_Var25 + (ulong)bVar37 * -2 + 1)" identifier = (cast_expression "(_func_int_varargs **)((long)pp_Var25 + (ulong)bVar37 * -2 + 1)" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((long)pp_Var25 + (ulong)bVar37 * -2 + 1)" ( (binary_expression "(long)pp_Var25 + (ulong)bVar37 * -2 + 1" (binary_expression "(long)pp_Var25 + (ulong)bVar37 * -2" (cast_expression "(long)pp_Var25" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "(ulong)bVar37 * -2" (cast_expression "(ulong)bVar37" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) }) while (parenthesized_expression "((bool)uVar35)" ( (cast_expression "(bool)uVar35" ( (type_descriptor "bool" primitive_type) ) identifier) )) ;) (expression_statement "bVar32 = false;" (assignment_expression "bVar32 = false" identifier = false) ;) (expression_statement "bVar36 = (!(bool)uVar31 && !(bool)uVar35) == (bool)uVar31;" (assignment_expression "bVar36 = (!(bool)uVar31 && !(bool)uVar35) == (bool)uVar31" identifier = (binary_expression "(!(bool)uVar31 && !(bool)uVar35) == (bool)uVar31" (parenthesized_expression "(!(bool)uVar31 && !(bool)uVar35)" ( (binary_expression "!(bool)uVar31 && !(bool)uVar35" (unary_expression "!(bool)uVar31" ! (cast_expression "(bool)uVar31" ( (type_descriptor "bool" primitive_type) ) identifier)) && (unary_expression "!(bool)uVar35" ! (cast_expression "(bool)uVar35" ( (type_descriptor "bool" primitive_type) ) identifier))) )) == (cast_expression "(bool)uVar31" ( (type_descriptor "bool" primitive_type) ) identifier))) ;) (if_statement "if (bVar36) {\n          pp_Var11 = pp_Var11 + 1;\n        }\n        else {\n          lVar19 = 7;\n          pbVar24 = (byte *)"__stop_";\n          pp_Var25 = pp_Var11;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar32 = *pbVar24 < *(byte *)pp_Var25;\n            bVar36 = *pbVar24 == *(byte *)pp_Var25;\n            pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n            pp_Var25 = (_func_int_varargs **)((long)pp_Var25 + (ulong)bVar37 * -2 + 1);\n          } while (bVar36);\n          pp_Var11 = (_func_int_varargs **)((long)pp_Var11 + 7);\n          if ((!bVar32 && !bVar36) != bVar32) {\n            pp_Var11 = local_158;\n          }\n        }" if (parenthesized_expression "(bVar36)" ( identifier )) (compound_statement "{\n          pp_Var11 = pp_Var11 + 1;\n        }" { (expression_statement "pp_Var11 = pp_Var11 + 1;" (assignment_expression "pp_Var11 = pp_Var11 + 1" identifier = (binary_expression "pp_Var11 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n          lVar19 = 7;\n          pbVar24 = (byte *)"__stop_";\n          pp_Var25 = pp_Var11;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar32 = *pbVar24 < *(byte *)pp_Var25;\n            bVar36 = *pbVar24 == *(byte *)pp_Var25;\n            pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n            pp_Var25 = (_func_int_varargs **)((long)pp_Var25 + (ulong)bVar37 * -2 + 1);\n          } while (bVar36);\n          pp_Var11 = (_func_int_varargs **)((long)pp_Var11 + 7);\n          if ((!bVar32 && !bVar36) != bVar32) {\n            pp_Var11 = local_158;\n          }\n        }" else (compound_statement "{\n          lVar19 = 7;\n          pbVar24 = (byte *)"__stop_";\n          pp_Var25 = pp_Var11;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar32 = *pbVar24 < *(byte *)pp_Var25;\n            bVar36 = *pbVar24 == *(byte *)pp_Var25;\n            pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n            pp_Var25 = (_func_int_varargs **)((long)pp_Var25 + (ulong)bVar37 * -2 + 1);\n          } while (bVar36);\n          pp_Var11 = (_func_int_varargs **)((long)pp_Var11 + 7);\n          if ((!bVar32 && !bVar36) != bVar32) {\n            pp_Var11 = local_158;\n          }\n        }" { (expression_statement "lVar19 = 7;" (assignment_expression "lVar19 = 7" identifier = number_literal) ;) (expression_statement "pbVar24 = (byte *)"__stop_";" (assignment_expression "pbVar24 = (byte *)"__stop_"" identifier = (cast_expression "(byte *)"__stop_"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""__stop_"" " string_content "))) ;) (expression_statement "pp_Var25 = pp_Var11;" (assignment_expression "pp_Var25 = pp_Var11" identifier = identifier) ;) (do_statement "do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar32 = *pbVar24 < *(byte *)pp_Var25;\n            bVar36 = *pbVar24 == *(byte *)pp_Var25;\n            pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n            pp_Var25 = (_func_int_varargs **)((long)pp_Var25 + (ulong)bVar37 * -2 + 1);\n          } while (bVar36);" do (compound_statement "{\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar32 = *pbVar24 < *(byte *)pp_Var25;\n            bVar36 = *pbVar24 == *(byte *)pp_Var25;\n            pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;\n            pp_Var25 = (_func_int_varargs **)((long)pp_Var25 + (ulong)bVar37 * -2 + 1);\n          }" { (if_statement "if (lVar19 == 0) break;" if (parenthesized_expression "(lVar19 == 0)" ( (binary_expression "lVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar19 = lVar19 + -1;" (assignment_expression "lVar19 = lVar19 + -1" identifier = (binary_expression "lVar19 + -1" identifier + number_literal)) ;) (expression_statement "bVar32 = *pbVar24 < *(byte *)pp_Var25;" (assignment_expression "bVar32 = *pbVar24 < *(byte *)pp_Var25" identifier = (binary_expression "*pbVar24 < *(byte *)pp_Var25" (pointer_expression "*pbVar24" * identifier) < (pointer_expression "*(byte *)pp_Var25" * (cast_expression "(byte *)pp_Var25" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "bVar36 = *pbVar24 == *(byte *)pp_Var25;" (assignment_expression "bVar36 = *pbVar24 == *(byte *)pp_Var25" identifier = (binary_expression "*pbVar24 == *(byte *)pp_Var25" (pointer_expression "*pbVar24" * identifier) == (pointer_expression "*(byte *)pp_Var25" * (cast_expression "(byte *)pp_Var25" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (ulong)bVar37 * -2 + 1" identifier = (binary_expression "pbVar24 + (ulong)bVar37 * -2 + 1" (binary_expression "pbVar24 + (ulong)bVar37 * -2" identifier + (binary_expression "(ulong)bVar37 * -2" (cast_expression "(ulong)bVar37" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pp_Var25 = (_func_int_varargs **)((long)pp_Var25 + (ulong)bVar37 * -2 + 1);" (assignment_expression "pp_Var25 = (_func_int_varargs **)((long)pp_Var25 + (ulong)bVar37 * -2 + 1)" identifier = (cast_expression "(_func_int_varargs **)((long)pp_Var25 + (ulong)bVar37 * -2 + 1)" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((long)pp_Var25 + (ulong)bVar37 * -2 + 1)" ( (binary_expression "(long)pp_Var25 + (ulong)bVar37 * -2 + 1" (binary_expression "(long)pp_Var25 + (ulong)bVar37 * -2" (cast_expression "(long)pp_Var25" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "(ulong)bVar37 * -2" (cast_expression "(ulong)bVar37" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) }) while (parenthesized_expression "(bVar36)" ( identifier )) ;) (expression_statement "pp_Var11 = (_func_int_varargs **)((long)pp_Var11 + 7);" (assignment_expression "pp_Var11 = (_func_int_varargs **)((long)pp_Var11 + 7)" identifier = (cast_expression "(_func_int_varargs **)((long)pp_Var11 + 7)" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((long)pp_Var11 + 7)" ( (binary_expression "(long)pp_Var11 + 7" (cast_expression "(long)pp_Var11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) (if_statement "if ((!bVar32 && !bVar36) != bVar32) {\n            pp_Var11 = local_158;\n          }" if (parenthesized_expression "((!bVar32 && !bVar36) != bVar32)" ( (binary_expression "(!bVar32 && !bVar36) != bVar32" (parenthesized_expression "(!bVar32 && !bVar36)" ( (binary_expression "!bVar32 && !bVar36" (unary_expression "!bVar32" ! identifier) && (unary_expression "!bVar36" ! identifier)) )) != identifier) )) (compound_statement "{\n            pp_Var11 = local_158;\n          }" { (expression_statement "pp_Var11 = local_158;" (assignment_expression "pp_Var11 = local_158" identifier = identifier) ;) })) }))) (expression_statement "local_158 = pp_Var11;" (assignment_expression "local_158 = pp_Var11" identifier = identifier) ;) (if_statement "if (bVar34) {\n          if (bVar22 == 0) {\n            src_id.first = (Relobj *)0x0;\n            src_id._8_8_ = (ulong)(uint)src_id._12_4_ << 0x20;\n            std::\n            vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n            ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                      (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);\n          }\n          else {\n            src_id.second = (uint)uVar28;\n            src_id.first = (Relobj *)pOVar30;\n            std::\n            vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n            ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                      (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);\n          }\n          __position._M_current =\n               (local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n               _M_impl._M_finish;\n          if (__position._M_current ==\n              (local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl\n              ._M_end_of_storage) {\n            std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::\n            _M_realloc_insert<gold::Symbol*_const&>(local_170,__position,(Symbol **)&dst_id);\n          }\n          else {\n            *__position._M_current = (Symbol *)dst_id.first;\n            (local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n            _M_finish = __position._M_current + 1;\n          }\n          src_id.first = (Relobj *)(ulong)local_150;\n          src_id._8_8_ = (long)(int)uVar5;\n          std::\n          vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n          ::emplace_back<std::pair<long_long_int,_long_long_int>_>\n                    (local_180,(pair<long_long_int,_long_long_int> *)&src_id);\n          src_id.first = (Relobj *)(ulong)*local_128;\n          iVar6._M_current =\n               (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n               )._M_impl._M_finish;\n          if (iVar6._M_current ==\n              (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>)\n              ._M_impl._M_end_of_storage) {\n            std::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>::\n            _M_realloc_insert<long_unsigned_int_const&>(local_168,iVar6,(ulong *)&src_id);\n          }\n          else {\n            *iVar6._M_current = (ulong)src_id.first;\n            (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>).\n            _M_impl._M_finish = iVar6._M_current + 1;\n          }\n          src_id_2.first = (Relobj *)((ulong)src_id_2.first & 0xffffffff00000000);\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::emplace_back<unsigned_int>\n                    (local_188,(uint *)&src_id_2);\n        }" if (parenthesized_expression "(bVar34)" ( identifier )) (compound_statement "{\n          if (bVar22 == 0) {\n            src_id.first = (Relobj *)0x0;\n            src_id._8_8_ = (ulong)(uint)src_id._12_4_ << 0x20;\n            std::\n            vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n            ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                      (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);\n          }\n          else {\n            src_id.second = (uint)uVar28;\n            src_id.first = (Relobj *)pOVar30;\n            std::\n            vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n            ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                      (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);\n          }\n          __position._M_current =\n               (local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n               _M_impl._M_finish;\n          if (__position._M_current ==\n              (local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl\n              ._M_end_of_storage) {\n            std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::\n            _M_realloc_insert<gold::Symbol*_const&>(local_170,__position,(Symbol **)&dst_id);\n          }\n          else {\n            *__position._M_current = (Symbol *)dst_id.first;\n            (local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n            _M_finish = __position._M_current + 1;\n          }\n          src_id.first = (Relobj *)(ulong)local_150;\n          src_id._8_8_ = (long)(int)uVar5;\n          std::\n          vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n          ::emplace_back<std::pair<long_long_int,_long_long_int>_>\n                    (local_180,(pair<long_long_int,_long_long_int> *)&src_id);\n          src_id.first = (Relobj *)(ulong)*local_128;\n          iVar6._M_current =\n               (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n               )._M_impl._M_finish;\n          if (iVar6._M_current ==\n              (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>)\n              ._M_impl._M_end_of_storage) {\n            std::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>::\n            _M_realloc_insert<long_unsigned_int_const&>(local_168,iVar6,(ulong *)&src_id);\n          }\n          else {\n            *iVar6._M_current = (ulong)src_id.first;\n            (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>).\n            _M_impl._M_finish = iVar6._M_current + 1;\n          }\n          src_id_2.first = (Relobj *)((ulong)src_id_2.first & 0xffffffff00000000);\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::emplace_back<unsigned_int>\n                    (local_188,(uint *)&src_id_2);\n        }" { (if_statement "if (bVar22 == 0) {\n            src_id.first = (Relobj *)0x0;\n            src_id._8_8_ = (ulong)(uint)src_id._12_4_ << 0x20;\n            std::\n            vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n            ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                      (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);\n          }\n          else {\n            src_id.second = (uint)uVar28;\n            src_id.first = (Relobj *)pOVar30;\n            std::\n            vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n            ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                      (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);\n          }" if (parenthesized_expression "(bVar22 == 0)" ( (binary_expression "bVar22 == 0" identifier == number_literal) )) (compound_statement "{\n            src_id.first = (Relobj *)0x0;\n            src_id._8_8_ = (ulong)(uint)src_id._12_4_ << 0x20;\n            std::\n            vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n            ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                      (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);\n          }" { (expression_statement "src_id.first = (Relobj *)0x0;" (assignment_expression "src_id.first = (Relobj *)0x0" (field_expression "src_id.first" identifier . field_identifier) = (cast_expression "(Relobj *)0x0" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "src_id._8_8_ = (ulong)(uint)src_id._12_4_ << 0x20;" (assignment_expression "src_id._8_8_ = (ulong)(uint)src_id._12_4_ << 0x20" (field_expression "src_id._8_8_" identifier . field_identifier) = (binary_expression "(ulong)(uint)src_id._12_4_ << 0x20" (cast_expression "(ulong)(uint)src_id._12_4_" ( (type_descriptor "ulong" type_identifier) ) (cast_expression "(uint)src_id._12_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "src_id._12_4_" identifier . field_identifier))) << number_literal)) ;) (ERROR "std::\n            vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n            ::emplace_back<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            ::emplace_back<std" (binary_expression "Relobj*,_unsigned_int>_>_>\n            ::emplace_back" (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                      (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);" (binary_expression "Relobj*,_unsigned_int>_>\n                      (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id)" (binary_expression "Relobj*,_unsigned_int>_" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > identifier) > (parenthesized_expression "(&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id)" ( (comma_expression "&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id" (pointer_expression "&local_178->section_info" & (field_expression "local_178->section_info" identifier -> field_identifier)) , (binary_expression "(pair<gold::Relobj*,_unsigned_int> *)&src_id" (parenthesized_expression "(pair<gold::Relobj*,_unsigned_int> *)" ( (binary_expression "pair<gold::Relobj*,_unsigned_int> *" (binary_expression "pair<gold::Relobj*,_unsigned_int" (binary_expression "pair<gold" identifier < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (pointer_expression "*" * identifier)) )) & identifier)) ))) ;) }) (else_clause "else {\n            src_id.second = (uint)uVar28;\n            src_id.first = (Relobj *)pOVar30;\n            std::\n            vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n            ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                      (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);\n          }" else (compound_statement "{\n            src_id.second = (uint)uVar28;\n            src_id.first = (Relobj *)pOVar30;\n            std::\n            vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n            ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                      (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);\n          }" { (expression_statement "src_id.second = (uint)uVar28;" (assignment_expression "src_id.second = (uint)uVar28" (field_expression "src_id.second" identifier . field_identifier) = (cast_expression "(uint)uVar28" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "src_id.first = (Relobj *)pOVar30;" (assignment_expression "src_id.first = (Relobj *)pOVar30" (field_expression "src_id.first" identifier . field_identifier) = (cast_expression "(Relobj *)pOVar30" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (ERROR "std::\n            vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n            ::emplace_back<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            ::emplace_back<std" (binary_expression "Relobj*,_unsigned_int>_>_>\n            ::emplace_back" (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                      (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id);" (binary_expression "Relobj*,_unsigned_int>_>\n                      (&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id)" (binary_expression "Relobj*,_unsigned_int>_" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > identifier) > (parenthesized_expression "(&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id)" ( (comma_expression "&local_178->section_info,(pair<gold::Relobj*,_unsigned_int> *)&src_id" (pointer_expression "&local_178->section_info" & (field_expression "local_178->section_info" identifier -> field_identifier)) , (binary_expression "(pair<gold::Relobj*,_unsigned_int> *)&src_id" (parenthesized_expression "(pair<gold::Relobj*,_unsigned_int> *)" ( (binary_expression "pair<gold::Relobj*,_unsigned_int> *" (binary_expression "pair<gold::Relobj*,_unsigned_int" (binary_expression "pair<gold" identifier < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (pointer_expression "*" * identifier)) )) & identifier)) ))) ;) }))) (expression_statement "__position._M_current =\n               (local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n               _M_impl._M_finish;" (assignment_expression "__position._M_current =\n               (local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n               _M_impl._M_finish" (field_expression "__position._M_current" identifier . field_identifier) = (field_expression "(local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n               _M_impl._M_finish" (field_expression "(local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n               _M_impl" (parenthesized_expression "(local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)" ( (binary_expression "local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>" (binary_expression "local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "local_170->super__Vector_base<gold::Symbol*,_std" (binary_expression "local_170->super__Vector_base<gold" (field_expression "local_170->super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if (__position._M_current ==\n              (local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl\n              ._M_end_of_storage) {\n            std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::\n            _M_realloc_insert<gold::Symbol*_const&>(local_170,__position,(Symbol **)&dst_id);\n          }\n          else {\n            *__position._M_current = (Symbol *)dst_id.first;\n            (local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n            _M_finish = __position._M_current + 1;\n          }" if (parenthesized_expression "(__position._M_current ==\n              (local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl\n              ._M_end_of_storage)" ( (binary_expression "__position._M_current ==\n              (local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl\n              ._M_end_of_storage" (field_expression "__position._M_current" identifier . field_identifier) == (field_expression "(local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl\n              ._M_end_of_storage" (field_expression "(local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl" (parenthesized_expression "(local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)" ( (binary_expression "local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>" (binary_expression "local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "local_170->super__Vector_base<gold::Symbol*,_std" (binary_expression "local_170->super__Vector_base<gold" (field_expression "local_170->super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier)) )) (compound_statement "{\n            std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::\n            _M_realloc_insert<gold::Symbol*_const&>(local_170,__position,(Symbol **)&dst_id);\n          }" { (ERROR "std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::\n            _M_realloc_insert<gold::" (comma_expression "std::vector<gold::Symbol*,_std" identifier (ERROR "::vector<gold::Symbol*" : : (binary_expression "vector<gold" identifier < identifier) : : identifier *) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : (binary_expression "Symbol*>_>::\n            _M_realloc_insert<gold" (binary_expression "Symbol*>_>::\n            _M_realloc_insert" (binary_expression "Symbol*>_" identifier * (ERROR ">" >) identifier) > (ERROR "::" : :) identifier) < identifier) : :) (expression_statement "Symbol*_const&>(local_170,__position,(Symbol **)&dst_id);" (binary_expression "Symbol*_const&>(local_170,__position,(Symbol **)&dst_id)" (binary_expression "Symbol*_const" identifier * identifier) (ERROR "&" &) > (parenthesized_expression "(local_170,__position,(Symbol **)&dst_id)" ( (comma_expression "local_170,__position,(Symbol **)&dst_id" identifier , (comma_expression "__position,(Symbol **)&dst_id" identifier , (cast_expression "(Symbol **)&dst_id" ( (type_descriptor "Symbol **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&dst_id" & identifier)))) ))) ;) }) (else_clause "else {\n            *__position._M_current = (Symbol *)dst_id.first;\n            (local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n            _M_finish = __position._M_current + 1;\n          }" else (compound_statement "{\n            *__position._M_current = (Symbol *)dst_id.first;\n            (local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n            _M_finish = __position._M_current + 1;\n          }" { (expression_statement "*__position._M_current = (Symbol *)dst_id.first;" (assignment_expression "*__position._M_current = (Symbol *)dst_id.first" (pointer_expression "*__position._M_current" * (field_expression "__position._M_current" identifier . field_identifier)) = (cast_expression "(Symbol *)dst_id.first" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "dst_id.first" identifier . field_identifier))) ;) (expression_statement "(local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n            _M_finish = __position._M_current + 1;" (assignment_expression "(local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n            _M_finish = __position._M_current + 1" (field_expression "(local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n            _M_finish" (field_expression "(local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl" (parenthesized_expression "(local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)" ( (binary_expression "local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>" (binary_expression "local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "local_170->super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "local_170->super__Vector_base<gold::Symbol*,_std" (binary_expression "local_170->super__Vector_base<gold" (field_expression "local_170->super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier) = (binary_expression "__position._M_current + 1" (field_expression "__position._M_current" identifier . field_identifier) + number_literal)) ;) }))) (expression_statement "src_id.first = (Relobj *)(ulong)local_150;" (assignment_expression "src_id.first = (Relobj *)(ulong)local_150" (field_expression "src_id.first" identifier . field_identifier) = (cast_expression "(Relobj *)(ulong)local_150" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(ulong)local_150" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) (expression_statement "src_id._8_8_ = (long)(int)uVar5;" (assignment_expression "src_id._8_8_ = (long)(int)uVar5" (field_expression "src_id._8_8_" identifier . field_identifier) = (cast_expression "(long)(int)uVar5" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)uVar5" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (labeled_statement "std::\n          vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n          ::emplace_back<std::pair<long_long_int,_long_long_int>_>\n                    (local_180,(pair<long_long_int,_long_long_int> *)&src_id);" statement_identifier (ERROR "::\n          vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n          ::emplace_back<std:" : : (binary_expression "vector<std" identifier < identifier) : : (comma_expression "pair<long_long_int,_long_long_int>,_std" (binary_expression "pair<long_long_int" identifier < identifier) , (binary_expression "_long_long_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<long_long_int,_long_long_int>_>_>\n          ::emplace_back<std" (binary_expression "pair<long_long_int" identifier < identifier) , (binary_expression "_long_long_int>_>_>\n          ::emplace_back<std" (binary_expression "_long_long_int>_>_>\n          ::emplace_back" (binary_expression "_long_long_int>_>_" (binary_expression "_long_long_int>_" identifier > identifier) > identifier) > (ERROR "::" : :) identifier) < identifier)) :) : (expression_statement "pair<long_long_int,_long_long_int>_>\n                    (local_180,(pair<long_long_int,_long_long_int> *)&src_id);" (comma_expression "pair<long_long_int,_long_long_int>_>\n                    (local_180,(pair<long_long_int,_long_long_int> *)&src_id)" (binary_expression "pair<long_long_int" identifier < identifier) , (binary_expression "_long_long_int>_>\n                    (local_180,(pair<long_long_int,_long_long_int> *)&src_id)" (binary_expression "_long_long_int>_" identifier > identifier) > (parenthesized_expression "(local_180,(pair<long_long_int,_long_long_int> *)&src_id)" ( (comma_expression "local_180,(pair<long_long_int,_long_long_int> *)&src_id" identifier , (binary_expression "(pair<long_long_int,_long_long_int> *)&src_id" (parenthesized_expression "(pair<long_long_int,_long_long_int> *)" ( (comma_expression "pair<long_long_int,_long_long_int> *" (binary_expression "pair<long_long_int" identifier < identifier) , (binary_expression "_long_long_int> *" identifier > (pointer_expression "*" * identifier))) )) & identifier)) )))) ;)) (expression_statement "src_id.first = (Relobj *)(ulong)*local_128;" (assignment_expression "src_id.first = (Relobj *)(ulong)*local_128" (field_expression "src_id.first" identifier . field_identifier) = (binary_expression "(Relobj *)(ulong)*local_128" (cast_expression "(Relobj *)(ulong)" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ulong)" ( identifier ))) * identifier)) ;) (expression_statement "iVar6._M_current =\n               (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n               )._M_impl._M_finish;" (assignment_expression "iVar6._M_current =\n               (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n               )._M_impl._M_finish" (field_expression "iVar6._M_current" identifier . field_identifier) = (field_expression "(local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n               )._M_impl._M_finish" (field_expression "(local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n               )._M_impl" (parenthesized_expression "(local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>\n               )" ( (ERROR "local_168->super__Vector_base<long_unsigned_int,_std::" (comma_expression "local_168->super__Vector_base<long_unsigned_int,_std" (binary_expression "local_168->super__Vector_base<long_unsigned_int" (field_expression "local_168->super__Vector_base" identifier -> field_identifier) < identifier) , identifier) : :) (binary_expression "allocator<long_unsigned_int>_>" (binary_expression "allocator<long_unsigned_int>_" (binary_expression "allocator<long_unsigned_int" identifier < identifier) > identifier) > identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if (iVar6._M_current ==\n              (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>)\n              ._M_impl._M_end_of_storage) {\n            std::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>::\n            _M_realloc_insert<long_unsigned_int_const&>(local_168,iVar6,(ulong *)&src_id);\n          }\n          else {\n            *iVar6._M_current = (ulong)src_id.first;\n            (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>).\n            _M_impl._M_finish = iVar6._M_current + 1;\n          }" if (parenthesized_expression "(iVar6._M_current ==\n              (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>)\n              ._M_impl._M_end_of_storage)" ( (binary_expression "iVar6._M_current ==\n              (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>)\n              ._M_impl._M_end_of_storage" (field_expression "iVar6._M_current" identifier . field_identifier) == (field_expression "(local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>)\n              ._M_impl._M_end_of_storage" (field_expression "(local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>)\n              ._M_impl" (parenthesized_expression "(local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>)" ( (ERROR "local_168->super__Vector_base<long_unsigned_int,_std::" (comma_expression "local_168->super__Vector_base<long_unsigned_int,_std" (binary_expression "local_168->super__Vector_base<long_unsigned_int" (field_expression "local_168->super__Vector_base" identifier -> field_identifier) < identifier) , identifier) : :) (binary_expression "allocator<long_unsigned_int>_>" (binary_expression "allocator<long_unsigned_int>_" (binary_expression "allocator<long_unsigned_int" identifier < identifier) > identifier) > identifier) )) . field_identifier) . field_identifier)) )) (compound_statement "{\n            std::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>::\n            _M_realloc_insert<long_unsigned_int_const&>(local_168,iVar6,(ulong *)&src_id);\n          }" { (labeled_statement "std::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>::\n            _M_realloc_insert<long_unsigned_int_const&>(local_168,iVar6,(ulong *)&src_id);" statement_identifier (ERROR "::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>:" : : (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) > :) : (expression_statement "_M_realloc_insert<long_unsigned_int_const&>(local_168,iVar6,(ulong *)&src_id);" (binary_expression "_M_realloc_insert<long_unsigned_int_const&>(local_168,iVar6,(ulong *)&src_id)" (binary_expression "_M_realloc_insert<long_unsigned_int_const" identifier < identifier) (ERROR "&" &) > (parenthesized_expression "(local_168,iVar6,(ulong *)&src_id)" ( (comma_expression "local_168,iVar6,(ulong *)&src_id" identifier , (comma_expression "iVar6,(ulong *)&src_id" identifier , (cast_expression "(ulong *)&src_id" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&src_id" & identifier)))) ))) ;)) }) (else_clause "else {\n            *iVar6._M_current = (ulong)src_id.first;\n            (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>).\n            _M_impl._M_finish = iVar6._M_current + 1;\n          }" else (compound_statement "{\n            *iVar6._M_current = (ulong)src_id.first;\n            (local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>).\n            _M_impl._M_finish = iVar6._M_current + 1;\n          }" { (expression_statement "*iVar6._M_current = (ulong)src_id.first;" (assignment_expression "*iVar6._M_current = (ulong)src_id.first" (pointer_expression "*iVar6._M_current" * (field_expression "iVar6._M_current" identifier . field_identifier)) = (cast_expression "(ulong)src_id.first" ( (type_descriptor "ulong" type_identifier) ) (field_expression "src_id.first" identifier . field_identifier))) ;) (expression_statement "(local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>).\n            _M_impl._M_finish = iVar6._M_current + 1;" (assignment_expression "(local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>).\n            _M_impl._M_finish = iVar6._M_current + 1" (field_expression "(local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>).\n            _M_impl._M_finish" (field_expression "(local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>).\n            _M_impl" (parenthesized_expression "(local_168->super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>)" ( (ERROR "local_168->super__Vector_base<long_unsigned_int,_std::" (comma_expression "local_168->super__Vector_base<long_unsigned_int,_std" (binary_expression "local_168->super__Vector_base<long_unsigned_int" (field_expression "local_168->super__Vector_base" identifier -> field_identifier) < identifier) , identifier) : :) (binary_expression "allocator<long_unsigned_int>_>" (binary_expression "allocator<long_unsigned_int>_" (binary_expression "allocator<long_unsigned_int" identifier < identifier) > identifier) > identifier) )) . field_identifier) . field_identifier) = (binary_expression "iVar6._M_current + 1" (field_expression "iVar6._M_current" identifier . field_identifier) + number_literal)) ;) }))) (expression_statement "src_id_2.first = (Relobj *)((ulong)src_id_2.first & 0xffffffff00000000);" (assignment_expression "src_id_2.first = (Relobj *)((ulong)src_id_2.first & 0xffffffff00000000)" (field_expression "src_id_2.first" identifier . field_identifier) = (cast_expression "(Relobj *)((ulong)src_id_2.first & 0xffffffff00000000)" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)src_id_2.first & 0xffffffff00000000)" ( (binary_expression "(ulong)src_id_2.first & 0xffffffff00000000" (cast_expression "(ulong)src_id_2.first" ( (type_descriptor "ulong" type_identifier) ) (field_expression "src_id_2.first" identifier . field_identifier)) & number_literal) )))) ;) (labeled_statement "std::vector<unsigned_int,_std::allocator<unsigned_int>_>::emplace_back<unsigned_int>\n                    (local_188,(uint *)&src_id_2);" statement_identifier (ERROR "::vector<unsigned_int,_std::allocator<unsigned_int>_>:" : : (comma_expression "vector<unsigned_int,_std" (binary_expression "vector<unsigned_int" identifier < identifier) , identifier) : : (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) > :) : (expression_statement "emplace_back<unsigned_int>\n                    (local_188,(uint *)&src_id_2);" (binary_expression "emplace_back<unsigned_int>\n                    (local_188,(uint *)&src_id_2)" (binary_expression "emplace_back<unsigned_int" identifier < identifier) > (parenthesized_expression "(local_188,(uint *)&src_id_2)" ( (comma_expression "local_188,(uint *)&src_id_2" identifier , (cast_expression "(uint *)&src_id_2" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&src_id_2" & identifier))) ))) ;)) })) (if_statement "if (bVar22 != 0) goto LAB_001925a8;" if (parenthesized_expression "(bVar22 != 0)" ( (binary_expression "bVar22 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001925a8;" goto statement_identifier ;)) }))) (labeled_statement "LAB_00192480:\n      local_120 = local_120 + 1;" statement_identifier : (expression_statement "local_120 = local_120 + 1;" (assignment_expression "local_120 = local_120 + 1" identifier = (binary_expression "local_120 + 1" identifier + number_literal)) ;)) (expression_statement "local_128 = local_128 + 3;" (assignment_expression "local_128 = local_128 + 3" identifier = (binary_expression "local_128 + 3" identifier + number_literal)) ;) }) while (parenthesized_expression "(prelocs != local_120)" ( (binary_expression "prelocs != local_120" identifier != identifier) )) ;) }))) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)src_section_name._M_dataplus._M_p != &src_section_name.field_2) {\n    operator_delete(src_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       *)src_section_name._M_dataplus._M_p != &src_section_name.field_2)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)src_section_name._M_dataplus._M_p != &src_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       *)src_section_name._M_dataplus._M_p != &src_section_name.field_2" (binary_expression "allocator<char>_>_9\n       *)src_section_name._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n       *)src_section_name._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "src_section_name._M_dataplus._M_p" (field_expression "src_section_name._M_dataplus" identifier . field_identifier) . field_identifier))) != (pointer_expression "&src_section_name.field_2" & (field_expression "src_section_name.field_2" identifier . field_identifier))) )) )) (compound_statement "{\n    operator_delete(src_section_name._M_dataplus._M_p);\n  }" { (expression_statement "operator_delete(src_section_name._M_dataplus._M_p);" (call_expression "operator_delete(src_section_name._M_dataplus._M_p)" identifier (argument_list "(src_section_name._M_dataplus._M_p)" ( (field_expression "src_section_name._M_dataplus._M_p" (field_expression "src_section_name._M_dataplus" identifier . field_identifier) . field_identifier) ))) ;) })) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit "void FUN_00192210(long param_1,long *param_2,byte *param_3,uint param_4,uint *param_5,long param_6,\n                 ulong param_7,long param_8)\n\n{\n  long *plVar1;\n  ushort uVar2;\n  uint uVar3;\n  uint uVar4;\n  undefined8 *puVar5;\n  code *pcVar6;\n  uint uVar7;\n  long lVar8;\n  char cVar9;\n  uint uVar10;\n  long lVar11;\n  long lVar12;\n  size_t sVar13;\n  long lVar14;\n  long lVar15;\n  undefined8 uVar16;\n  byte *pbVar17;\n  byte bVar18;\n  long lVar19;\n  byte *pbVar20;\n  byte *pbVar21;\n  uint uVar22;\n  ulong uVar23;\n  byte *pbVar24;\n  undefined1 uVar25;\n  bool bVar26;\n  bool bVar27;\n  bool bVar28;\n  undefined1 uVar29;\n  bool bVar30;\n  byte bVar31;\n  long local_188;\n  long local_180;\n  long local_178;\n  long local_170;\n  long local_168;\n  byte *local_158;\n  uint local_150;\n  char local_136;\n  int local_134;\n  uint *local_128;\n  long local_120;\n  undefined1 local_10a;\n  undefined1 local_109;\n  long local_108;\n  long local_100;\n  long local_f8;\n  long local_f0;\n  byte **local_e8;\n  byte **local_e0;\n  byte *local_d8;\n  uint local_d0;\n  byte *local_c8;\n  uint local_c0;\n  byte *local_b8;\n  uint local_b0;\n  byte *local_a8;\n  uint local_a0;\n  int local_98;\n  long local_90;\n  undefined8 local_88;\n  undefined4 local_80;\n  undefined1 local_7c;\n  byte *local_78 [2];\n  byte local_68 [16];\n  byte *local_58;\n  undefined8 local_50;\n  byte local_48 [24];\n  \n  bVar31 = 0;\n  local_7c = 0;\n  local_98 = 0;\n  local_90 = 0;\n  local_88 = 0;\n  local_80 = 0;\n  if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    \n                    \n    FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n  }\n  if (*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 0) {\n    local_78[0] = local_68;\n                    \n    FUN_001bc4c0(local_78,"");\n  }\n  else if (*(code **)(*(long *)param_3 + 0x80) == FUN_001c3900) {\n                    \n    FUN_001c3780(local_78,param_3 + 0xf8,param_4);\n  }\n  else {\n    (**(code **)(*(long *)param_3 + 0x80))(local_78,param_3,param_4);\n  }\n  pbVar24 = local_78[0];\n  if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    \n    FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n  }\n  if (*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 0) {\nLAB_001922eb:\n    bVar28 = false;\n    local_188 = 0;\n    local_168 = 0;\n    local_180 = 0;\n    local_170 = 0;\n    local_178 = 0;\n  }\n  else {\n    pbVar17 = (byte *)0xffffffffffffffff;\n    local_58 = local_48;\n    uVar25 = 0;\n    uVar29 = local_78[0] == (byte *)0x0;\n    if (!(bool)uVar29) {\n      sVar13 = strlen((char *)local_78[0]);\n      pbVar17 = pbVar24 + sVar13;\n    }\n    FUN_001bc4c0(&local_58,pbVar24,pbVar17);\n    lVar19 = 5;\n    pbVar24 = (byte *)".text";\n    pbVar17 = local_58;\n    do {\n      if (lVar19 == 0) break;\n      lVar19 = lVar19 + -1;\n      uVar25 = *pbVar24 < *pbVar17;\n      uVar29 = *pbVar24 == *pbVar17;\n      pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n      pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n    } while ((bool)uVar29);\n    bVar28 = false;\n    bVar26 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;\n    if (!bVar26) {\n      lVar19 = 0xf;\n      pbVar24 = (byte *)".gnu.linkonce.t";\n      pbVar17 = local_58;\n      do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar28 = *pbVar24 < *pbVar17;\n        bVar26 = *pbVar24 == *pbVar17;\n        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n      } while (bVar26);\n      if ((!bVar28 && !bVar26) != bVar28) {\n        if (local_58 != local_48) {\n          FUN_00338a40(local_58);\n        }\n        goto LAB_001922eb;\n      }\n    }\n    if (local_58 != local_48) {\n      FUN_00338a40(local_58);\n    }\n    local_50 = CONCAT44(local_50._4_4_,param_4);\n    local_58 = param_3;\n    local_178 = FUN_001c0160(*(long *)(param_1 + 0x298) + 0xa8,&local_58);\n    local_170 = local_178 + 0x18;\n    local_180 = local_178 + 0x30;\n    local_168 = local_178 + 0x48;\n    local_188 = local_178 + 0x60;\n    bVar28 = true;\n  }\n  if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    \n                    \n    FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n  }\n  if ((*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 2) &&\n     (cVar9 = (**(code **)(*param_2 + 0x90))(param_2), cVar9 != '\0')) {\n    pcVar6 = *(code **)(*param_2 + 0x10);\n    if (pcVar6 != FUN_001ba9d0) {\n                    \n      local_136 = (*pcVar6)(param_2,local_78[0]);\n      goto LAB_0019234a;\n    }\n    pcVar6 = *(code **)(*param_2 + 0x98);\n    bVar26 = pcVar6 < FUN_001baa90;\n    bVar30 = pcVar6 == FUN_001baa90;\n    if (!bVar30) {\n      local_136 = (*pcVar6)(param_2,local_78[0]);\n      goto LAB_0019234a;\n    }\n    lVar19 = 0xc;\n    pbVar24 = (byte *)".rodata._ZTV";\n    pbVar17 = local_78[0];\n    do {\n      if (lVar19 == 0) break;\n      lVar19 = lVar19 + -1;\n      bVar26 = *pbVar24 < *pbVar17;\n      bVar30 = *pbVar24 == *pbVar17;\n      pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n      pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n    } while (bVar30);\n    bVar27 = false;\n    bVar26 = (!bVar26 && !bVar30) == bVar26;\n    if (!bVar26) {\n      lVar19 = 0x11;\n      pbVar24 = (byte *)".data.rel.ro._ZTV";\n      pbVar17 = local_78[0];\n      do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar27 = *pbVar24 < *pbVar17;\n        bVar26 = *pbVar24 == *pbVar17;\n        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n      } while (bVar26);\n      bVar30 = false;\n      bVar26 = (!bVar27 && !bVar26) == bVar27;\n      if (!bVar26) {\n        lVar19 = 0xc;\n        pbVar24 = (byte *)".rodata._ZTC";\n        pbVar17 = local_78[0];\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          bVar30 = *pbVar24 < *pbVar17;\n          bVar26 = *pbVar24 == *pbVar17;\n          pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n          pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n        } while (bVar26);\n        bVar27 = false;\n        bVar26 = (!bVar30 && !bVar26) == bVar30;\n        if (!bVar26) {\n          lVar19 = 0x11;\n          pbVar24 = (byte *)".data.rel.ro._ZTC";\n          pbVar17 = local_78[0];\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar27 = *pbVar24 < *pbVar17;\n            bVar26 = *pbVar24 == *pbVar17;\n            pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n            pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n          } while (bVar26);\n          bVar30 = false;\n          bVar26 = (!bVar27 && !bVar26) == bVar27;\n          if (!bVar26) {\n            lVar19 = 9;\n            pbVar24 = (byte *)".eh_frame";\n            pbVar17 = local_78[0];\n            do {\n              if (lVar19 == 0) break;\n              lVar19 = lVar19 + -1;\n              bVar30 = *pbVar24 < *pbVar17;\n              bVar26 = *pbVar24 == *pbVar17;\n              pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n              pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n            } while (bVar26);\n            local_136 = (!bVar30 && !bVar26) != bVar30;\n            goto LAB_0019234a;\n          }\n        }\n      }\n    }\n  }\n  local_136 = '\0';\nLAB_0019234a:\n  if (param_6 != 0) {\n    local_158 = (byte *)0x0;\n    local_120 = 0;\n    local_128 = param_5;\n    do {\n      uVar3 = local_128[1];\n      uVar4 = local_128[2];\n      uVar22 = uVar3 >> 8;\n      uVar7 = uVar3 & 0xff;\n      if (uVar22 < param_7) {\n        if (param_8 == 0) {\n                    \n          FUN_001e9890("../../gold/gc.h",0xea,"gc_process_relocs");\n        }\n        lVar19 = (ulong)(uVar22 << 4) + param_8;\n        uVar2 = *(ushort *)(lVar19 + 0xe);\n        uVar10 = (uint)uVar2;\n        if (uVar2 < 0xff00) {\nLAB_001924f6:\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (bVar28) {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = param_3;\n            FUN_001bdee0(local_178,&local_58);\n            bVar26 = true;\n            if ((*(byte *)(lVar19 + 0xc) & 0xf) == 3) goto LAB_0019253e;\nLAB_001923f0:\n            local_58 = (byte *)0x0;\n            FUN_001be560(local_170,&local_58);\n            goto LAB_0019240b;\n          }\n        }\n        else {\n          if (uVar2 == 0xffff) {\n            lVar14 = *(long *)(param_3 + 0x40);\n            if (lVar14 == 0) {\n              lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3);\n              *(long *)(param_3 + 0x40) = lVar14;\n            }\n            uVar10 = FUN_0022a020(lVar14,param_3,uVar22);\n            goto LAB_001924f6;\n          }\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (!bVar28) goto LAB_00192480;\n          local_58 = (byte *)0x0;\n          local_50 = local_50 & 0xffffffff00000000;\n                    \n          FUN_001bdee0(local_178,&local_58);\n          bVar26 = false;\n          if ((*(byte *)(lVar19 + 0xc) & 0xf) != 3) goto LAB_001923f0;\nLAB_0019253e:\n          local_58 = (byte *)0xffffffffffffffff;\n          FUN_001be560(local_170,&local_58);\nLAB_0019240b:\n          local_58 = pbVar24;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_a8 = (byte *)((ulong)local_a8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_a8);\n          if (!bVar26) goto LAB_00192480;\n        }\n        if (((local_136 != '\0') && ((*(byte *)(lVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar7 || ((0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) == 0)))) {\n          local_c0 = (uint)*(ushort *)(lVar19 + 0xe);\n          local_108 = *(long *)(param_1 + 0x298) + 0x68;\n          local_c8 = param_3;\n          FUN_001bcb90(local_108,&local_c8,&local_108,1);\n        }\n        pbVar24 = param_3;\n        if (param_4 != uVar10) {\nLAB_001925a8:\n          if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    \n            FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n          }\n          if (*(char *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809) != '\0') {\n            lVar14 = *(long *)(param_1 + 0x290);\n            lVar19 = lVar14 + 0x28;\n            lVar11 = lVar19;\n            lVar12 = lVar19;\n            lVar15 = *(long *)(lVar14 + 0x30);\n            local_b8 = param_3;\n            local_b0 = param_4;\n            local_a8 = pbVar24;\n            local_a0 = uVar10;\n            if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192660:\n              local_e8 = &local_b8;\n              lVar12 = FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a);\n            }\n            else {\n              do {\n                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }\n                lVar11 = lVar12;\n                lVar15 = *(long *)(lVar12 + 0x10);\n              } while (*(long *)(lVar12 + 0x10) != 0);\nLAB_0019263a:\n              if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))\n              goto LAB_00192660;\n            }\n            local_f0 = lVar12 + 0x30;\n            FUN_001bcaf0(local_f0,&local_a8,&local_f0,1);\n            plVar1 = *(long **)(PTR_DAT_004ba7c8 + 0x18);\n            if (plVar1 == (long *)0x0) {\n                    \n              FUN_001e9890("../../gold/parameters.h",0x73,"sized_target");\n            }\n            (**(code **)(*plVar1 + 0x208))(plVar1,param_1,param_3,param_4,pbVar24,uVar10,local_134);\n            if (local_158 != (byte *)0x0) {\n              lVar19 = *(long *)(param_1 + 0x290);\n              local_58 = local_48;\n              sVar13 = strlen((char *)local_158);\n              FUN_001bc4c0(&local_58,local_158,local_158 + sVar13);\n              lVar19 = FUN_001be060(lVar19 + 0x88,&local_58);\n              if (local_58 != local_48) {\n                FUN_00338a40();\n              }\n              lVar14 = *(long *)(param_1 + 0x290);\n              if (lVar19 != lVar14 + 0x90) {\n                lVar11 = lVar14 + 0x28;\n                local_50 = CONCAT44(local_50._4_4_,param_4);\n                lVar12 = lVar11;\n                lVar15 = lVar11;\n                lVar8 = *(long *)(lVar14 + 0x30);\n                if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }\n                else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }\n                for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;\n                    puVar5 = (undefined8 *)*puVar5) {\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (uVar22 < *(uint *)(param_3 + 0x120)) {\n          local_a8 = (byte *)0x0;\nLAB_00192adb:\n                    \n          FUN_001e9890("../../gold/gc.h",0x11c,"gc_process_relocs");\n        }\n        uVar23 = (ulong)(uVar22 - *(uint *)(param_3 + 0x120));\n        if ((ulong)(*(long *)(param_3 + 0x138) - *(long *)(param_3 + 0x130) >> 3) <= uVar23) {\n                    \n          FUN_001e9890("../../gold/object.h",0x8ad,"global_symbol");\n        }\n        local_a8 = *(byte **)(*(long *)(param_3 + 0x130) + uVar23 * 8);\n        if (local_a8 == (byte *)0x0) goto LAB_00192adb;\n        if ((local_a8[0x3a] & 0x10) != 0) {\n          local_a8 = (byte *)FUN_002ddad0(param_1,local_a8);\n        }\n        if ((local_a8[0x3a] & 7) == 0) {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          pbVar24 = *(byte **)(local_a8 + 0x10);\n          local_134 = uVar4 + local_150;\n          if ((pbVar24[0x3c] & 1) == 0) {\n            uVar10 = *(uint *)(local_a8 + 0x18);\n            bVar18 = local_a8[0x3b] >> 5 & 1;\n            uVar25 = (local_a8[0x38] & 0xf) < 2;\n            uVar29 = (local_a8[0x38] & 0xf) == 2;\n            if ((bool)uVar29) {\n              uVar25 = 0;\n              uVar29 = local_136 == '\0';\n              if (!(bool)uVar29) {\n                uVar25 = false;\n                uVar29 = bVar18 == 0;\n                if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }\n                local_100 = *(long *)(param_1 + 0x298) + 0x68;\n                local_d8 = pbVar24;\n                local_d0 = uVar10;\n                    \n                FUN_001bcb90(local_100,&local_d8,&local_100,1);\n              }\n            }\n          }\n          else {\n            bVar18 = 0;\n            uVar10 = 0;\n            uVar25 = 0;\n            pbVar24 = (byte *)0x0;\n            uVar29 = 1;\n          }\n        }\n        else {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          bVar18 = 0;\n          uVar10 = 0;\n          uVar25 = 0;\n          pbVar24 = (byte *)0x0;\n          uVar29 = 1;\n          local_134 = uVar4 + local_150;\n        }\nLAB_00192930:\n        pbVar17 = *(byte **)local_a8;\n        lVar19 = 8;\n        pbVar20 = (byte *)"__start_";\n        pbVar21 = pbVar17;\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          uVar25 = *pbVar20 < *pbVar21;\n          uVar29 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n          pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n        } while ((bool)uVar29);\n        bVar26 = false;\n        bVar30 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;\n        if (bVar30) {\n          pbVar17 = pbVar17 + 8;\n        }\n        else {\n          lVar19 = 7;\n          pbVar20 = (byte *)"__stop_";\n          pbVar21 = pbVar17;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar21;\n            bVar30 = *pbVar20 == *pbVar21;\n            pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n            pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n          } while (bVar30);\n          pbVar17 = pbVar17 + 7;\n          if ((!bVar26 && !bVar30) != bVar26) {\n            pbVar17 = local_158;\n          }\n        }\n        local_158 = pbVar17;\n        if (bVar28) {\n          if (bVar18 == 0) {\n            local_58 = (byte *)0x0;\n            local_50 = (ulong)local_50._4_4_ << 0x20;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          else {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = pbVar24;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          puVar5 = *(undefined8 **)(local_170 + 8);\n          if (puVar5 == *(undefined8 **)(local_170 + 0x10)) {\n            FUN_001bbf50(local_170,puVar5,&local_a8);\n          }\n          else {\n            *puVar5 = local_a8;\n            *(undefined8 **)(local_170 + 8) = puVar5 + 1;\n          }\n          local_58 = (byte *)(ulong)local_150;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_b8 = (byte *)((ulong)local_b8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_b8);\n        }\n        if (bVar18 != 0) goto LAB_001925a8;\n      }\nLAB_00192480:\n      local_120 = local_120 + 1;\n      local_128 = local_128 + 3;\n    } while (param_6 != local_120);\n  }\n  if (local_78[0] != local_68) {\n    FUN_00338a40();\n  }\n  if ((local_98 != 0) && (local_90 != 0)) {\n    uVar16 = gettext("missing expected __tls_get_addr call");\n    FUN_001e1b30(local_90,local_88,local_80,uVar16);\n  }\n  return;\n}\n\n" (function_definition "void FUN_00192210(long param_1,long *param_2,byte *param_3,uint param_4,uint *param_5,long param_6,\n                 ulong param_7,long param_8)\n\n{\n  long *plVar1;\n  ushort uVar2;\n  uint uVar3;\n  uint uVar4;\n  undefined8 *puVar5;\n  code *pcVar6;\n  uint uVar7;\n  long lVar8;\n  char cVar9;\n  uint uVar10;\n  long lVar11;\n  long lVar12;\n  size_t sVar13;\n  long lVar14;\n  long lVar15;\n  undefined8 uVar16;\n  byte *pbVar17;\n  byte bVar18;\n  long lVar19;\n  byte *pbVar20;\n  byte *pbVar21;\n  uint uVar22;\n  ulong uVar23;\n  byte *pbVar24;\n  undefined1 uVar25;\n  bool bVar26;\n  bool bVar27;\n  bool bVar28;\n  undefined1 uVar29;\n  bool bVar30;\n  byte bVar31;\n  long local_188;\n  long local_180;\n  long local_178;\n  long local_170;\n  long local_168;\n  byte *local_158;\n  uint local_150;\n  char local_136;\n  int local_134;\n  uint *local_128;\n  long local_120;\n  undefined1 local_10a;\n  undefined1 local_109;\n  long local_108;\n  long local_100;\n  long local_f8;\n  long local_f0;\n  byte **local_e8;\n  byte **local_e0;\n  byte *local_d8;\n  uint local_d0;\n  byte *local_c8;\n  uint local_c0;\n  byte *local_b8;\n  uint local_b0;\n  byte *local_a8;\n  uint local_a0;\n  int local_98;\n  long local_90;\n  undefined8 local_88;\n  undefined4 local_80;\n  undefined1 local_7c;\n  byte *local_78 [2];\n  byte local_68 [16];\n  byte *local_58;\n  undefined8 local_50;\n  byte local_48 [24];\n  \n  bVar31 = 0;\n  local_7c = 0;\n  local_98 = 0;\n  local_90 = 0;\n  local_88 = 0;\n  local_80 = 0;\n  if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    \n                    \n    FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n  }\n  if (*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 0) {\n    local_78[0] = local_68;\n                    \n    FUN_001bc4c0(local_78,"");\n  }\n  else if (*(code **)(*(long *)param_3 + 0x80) == FUN_001c3900) {\n                    \n    FUN_001c3780(local_78,param_3 + 0xf8,param_4);\n  }\n  else {\n    (**(code **)(*(long *)param_3 + 0x80))(local_78,param_3,param_4);\n  }\n  pbVar24 = local_78[0];\n  if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    \n    FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n  }\n  if (*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 0) {\nLAB_001922eb:\n    bVar28 = false;\n    local_188 = 0;\n    local_168 = 0;\n    local_180 = 0;\n    local_170 = 0;\n    local_178 = 0;\n  }\n  else {\n    pbVar17 = (byte *)0xffffffffffffffff;\n    local_58 = local_48;\n    uVar25 = 0;\n    uVar29 = local_78[0] == (byte *)0x0;\n    if (!(bool)uVar29) {\n      sVar13 = strlen((char *)local_78[0]);\n      pbVar17 = pbVar24 + sVar13;\n    }\n    FUN_001bc4c0(&local_58,pbVar24,pbVar17);\n    lVar19 = 5;\n    pbVar24 = (byte *)".text";\n    pbVar17 = local_58;\n    do {\n      if (lVar19 == 0) break;\n      lVar19 = lVar19 + -1;\n      uVar25 = *pbVar24 < *pbVar17;\n      uVar29 = *pbVar24 == *pbVar17;\n      pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n      pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n    } while ((bool)uVar29);\n    bVar28 = false;\n    bVar26 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;\n    if (!bVar26) {\n      lVar19 = 0xf;\n      pbVar24 = (byte *)".gnu.linkonce.t";\n      pbVar17 = local_58;\n      do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar28 = *pbVar24 < *pbVar17;\n        bVar26 = *pbVar24 == *pbVar17;\n        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n      } while (bVar26);\n      if ((!bVar28 && !bVar26) != bVar28) {\n        if (local_58 != local_48) {\n          FUN_00338a40(local_58);\n        }\n        goto LAB_001922eb;\n      }\n    }\n    if (local_58 != local_48) {\n      FUN_00338a40(local_58);\n    }\n    local_50 = CONCAT44(local_50._4_4_,param_4);\n    local_58 = param_3;\n    local_178 = FUN_001c0160(*(long *)(param_1 + 0x298) + 0xa8,&local_58);\n    local_170 = local_178 + 0x18;\n    local_180 = local_178 + 0x30;\n    local_168 = local_178 + 0x48;\n    local_188 = local_178 + 0x60;\n    bVar28 = true;\n  }\n  if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    \n                    \n    FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n  }\n  if ((*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 2) &&\n     (cVar9 = (**(code **)(*param_2 + 0x90))(param_2), cVar9 != '\0')) {\n    pcVar6 = *(code **)(*param_2 + 0x10);\n    if (pcVar6 != FUN_001ba9d0) {\n                    \n      local_136 = (*pcVar6)(param_2,local_78[0]);\n      goto LAB_0019234a;\n    }\n    pcVar6 = *(code **)(*param_2 + 0x98);\n    bVar26 = pcVar6 < FUN_001baa90;\n    bVar30 = pcVar6 == FUN_001baa90;\n    if (!bVar30) {\n      local_136 = (*pcVar6)(param_2,local_78[0]);\n      goto LAB_0019234a;\n    }\n    lVar19 = 0xc;\n    pbVar24 = (byte *)".rodata._ZTV";\n    pbVar17 = local_78[0];\n    do {\n      if (lVar19 == 0) break;\n      lVar19 = lVar19 + -1;\n      bVar26 = *pbVar24 < *pbVar17;\n      bVar30 = *pbVar24 == *pbVar17;\n      pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n      pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n    } while (bVar30);\n    bVar27 = false;\n    bVar26 = (!bVar26 && !bVar30) == bVar26;\n    if (!bVar26) {\n      lVar19 = 0x11;\n      pbVar24 = (byte *)".data.rel.ro._ZTV";\n      pbVar17 = local_78[0];\n      do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar27 = *pbVar24 < *pbVar17;\n        bVar26 = *pbVar24 == *pbVar17;\n        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n      } while (bVar26);\n      bVar30 = false;\n      bVar26 = (!bVar27 && !bVar26) == bVar27;\n      if (!bVar26) {\n        lVar19 = 0xc;\n        pbVar24 = (byte *)".rodata._ZTC";\n        pbVar17 = local_78[0];\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          bVar30 = *pbVar24 < *pbVar17;\n          bVar26 = *pbVar24 == *pbVar17;\n          pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n          pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n        } while (bVar26);\n        bVar27 = false;\n        bVar26 = (!bVar30 && !bVar26) == bVar30;\n        if (!bVar26) {\n          lVar19 = 0x11;\n          pbVar24 = (byte *)".data.rel.ro._ZTC";\n          pbVar17 = local_78[0];\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar27 = *pbVar24 < *pbVar17;\n            bVar26 = *pbVar24 == *pbVar17;\n            pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n            pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n          } while (bVar26);\n          bVar30 = false;\n          bVar26 = (!bVar27 && !bVar26) == bVar27;\n          if (!bVar26) {\n            lVar19 = 9;\n            pbVar24 = (byte *)".eh_frame";\n            pbVar17 = local_78[0];\n            do {\n              if (lVar19 == 0) break;\n              lVar19 = lVar19 + -1;\n              bVar30 = *pbVar24 < *pbVar17;\n              bVar26 = *pbVar24 == *pbVar17;\n              pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n              pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n            } while (bVar26);\n            local_136 = (!bVar30 && !bVar26) != bVar30;\n            goto LAB_0019234a;\n          }\n        }\n      }\n    }\n  }\n  local_136 = '\0';\nLAB_0019234a:\n  if (param_6 != 0) {\n    local_158 = (byte *)0x0;\n    local_120 = 0;\n    local_128 = param_5;\n    do {\n      uVar3 = local_128[1];\n      uVar4 = local_128[2];\n      uVar22 = uVar3 >> 8;\n      uVar7 = uVar3 & 0xff;\n      if (uVar22 < param_7) {\n        if (param_8 == 0) {\n                    \n          FUN_001e9890("../../gold/gc.h",0xea,"gc_process_relocs");\n        }\n        lVar19 = (ulong)(uVar22 << 4) + param_8;\n        uVar2 = *(ushort *)(lVar19 + 0xe);\n        uVar10 = (uint)uVar2;\n        if (uVar2 < 0xff00) {\nLAB_001924f6:\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (bVar28) {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = param_3;\n            FUN_001bdee0(local_178,&local_58);\n            bVar26 = true;\n            if ((*(byte *)(lVar19 + 0xc) & 0xf) == 3) goto LAB_0019253e;\nLAB_001923f0:\n            local_58 = (byte *)0x0;\n            FUN_001be560(local_170,&local_58);\n            goto LAB_0019240b;\n          }\n        }\n        else {\n          if (uVar2 == 0xffff) {\n            lVar14 = *(long *)(param_3 + 0x40);\n            if (lVar14 == 0) {\n              lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3);\n              *(long *)(param_3 + 0x40) = lVar14;\n            }\n            uVar10 = FUN_0022a020(lVar14,param_3,uVar22);\n            goto LAB_001924f6;\n          }\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (!bVar28) goto LAB_00192480;\n          local_58 = (byte *)0x0;\n          local_50 = local_50 & 0xffffffff00000000;\n                    \n          FUN_001bdee0(local_178,&local_58);\n          bVar26 = false;\n          if ((*(byte *)(lVar19 + 0xc) & 0xf) != 3) goto LAB_001923f0;\nLAB_0019253e:\n          local_58 = (byte *)0xffffffffffffffff;\n          FUN_001be560(local_170,&local_58);\nLAB_0019240b:\n          local_58 = pbVar24;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_a8 = (byte *)((ulong)local_a8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_a8);\n          if (!bVar26) goto LAB_00192480;\n        }\n        if (((local_136 != '\0') && ((*(byte *)(lVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar7 || ((0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) == 0)))) {\n          local_c0 = (uint)*(ushort *)(lVar19 + 0xe);\n          local_108 = *(long *)(param_1 + 0x298) + 0x68;\n          local_c8 = param_3;\n          FUN_001bcb90(local_108,&local_c8,&local_108,1);\n        }\n        pbVar24 = param_3;\n        if (param_4 != uVar10) {\nLAB_001925a8:\n          if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    \n            FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n          }\n          if (*(char *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809) != '\0') {\n            lVar14 = *(long *)(param_1 + 0x290);\n            lVar19 = lVar14 + 0x28;\n            lVar11 = lVar19;\n            lVar12 = lVar19;\n            lVar15 = *(long *)(lVar14 + 0x30);\n            local_b8 = param_3;\n            local_b0 = param_4;\n            local_a8 = pbVar24;\n            local_a0 = uVar10;\n            if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192660:\n              local_e8 = &local_b8;\n              lVar12 = FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a);\n            }\n            else {\n              do {\n                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }\n                lVar11 = lVar12;\n                lVar15 = *(long *)(lVar12 + 0x10);\n              } while (*(long *)(lVar12 + 0x10) != 0);\nLAB_0019263a:\n              if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))\n              goto LAB_00192660;\n            }\n            local_f0 = lVar12 + 0x30;\n            FUN_001bcaf0(local_f0,&local_a8,&local_f0,1);\n            plVar1 = *(long **)(PTR_DAT_004ba7c8 + 0x18);\n            if (plVar1 == (long *)0x0) {\n                    \n              FUN_001e9890("../../gold/parameters.h",0x73,"sized_target");\n            }\n            (**(code **)(*plVar1 + 0x208))(plVar1,param_1,param_3,param_4,pbVar24,uVar10,local_134);\n            if (local_158 != (byte *)0x0) {\n              lVar19 = *(long *)(param_1 + 0x290);\n              local_58 = local_48;\n              sVar13 = strlen((char *)local_158);\n              FUN_001bc4c0(&local_58,local_158,local_158 + sVar13);\n              lVar19 = FUN_001be060(lVar19 + 0x88,&local_58);\n              if (local_58 != local_48) {\n                FUN_00338a40();\n              }\n              lVar14 = *(long *)(param_1 + 0x290);\n              if (lVar19 != lVar14 + 0x90) {\n                lVar11 = lVar14 + 0x28;\n                local_50 = CONCAT44(local_50._4_4_,param_4);\n                lVar12 = lVar11;\n                lVar15 = lVar11;\n                lVar8 = *(long *)(lVar14 + 0x30);\n                if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }\n                else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }\n                for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;\n                    puVar5 = (undefined8 *)*puVar5) {\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (uVar22 < *(uint *)(param_3 + 0x120)) {\n          local_a8 = (byte *)0x0;\nLAB_00192adb:\n                    \n          FUN_001e9890("../../gold/gc.h",0x11c,"gc_process_relocs");\n        }\n        uVar23 = (ulong)(uVar22 - *(uint *)(param_3 + 0x120));\n        if ((ulong)(*(long *)(param_3 + 0x138) - *(long *)(param_3 + 0x130) >> 3) <= uVar23) {\n                    \n          FUN_001e9890("../../gold/object.h",0x8ad,"global_symbol");\n        }\n        local_a8 = *(byte **)(*(long *)(param_3 + 0x130) + uVar23 * 8);\n        if (local_a8 == (byte *)0x0) goto LAB_00192adb;\n        if ((local_a8[0x3a] & 0x10) != 0) {\n          local_a8 = (byte *)FUN_002ddad0(param_1,local_a8);\n        }\n        if ((local_a8[0x3a] & 7) == 0) {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          pbVar24 = *(byte **)(local_a8 + 0x10);\n          local_134 = uVar4 + local_150;\n          if ((pbVar24[0x3c] & 1) == 0) {\n            uVar10 = *(uint *)(local_a8 + 0x18);\n            bVar18 = local_a8[0x3b] >> 5 & 1;\n            uVar25 = (local_a8[0x38] & 0xf) < 2;\n            uVar29 = (local_a8[0x38] & 0xf) == 2;\n            if ((bool)uVar29) {\n              uVar25 = 0;\n              uVar29 = local_136 == '\0';\n              if (!(bool)uVar29) {\n                uVar25 = false;\n                uVar29 = bVar18 == 0;\n                if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }\n                local_100 = *(long *)(param_1 + 0x298) + 0x68;\n                local_d8 = pbVar24;\n                local_d0 = uVar10;\n                    \n                FUN_001bcb90(local_100,&local_d8,&local_100,1);\n              }\n            }\n          }\n          else {\n            bVar18 = 0;\n            uVar10 = 0;\n            uVar25 = 0;\n            pbVar24 = (byte *)0x0;\n            uVar29 = 1;\n          }\n        }\n        else {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          bVar18 = 0;\n          uVar10 = 0;\n          uVar25 = 0;\n          pbVar24 = (byte *)0x0;\n          uVar29 = 1;\n          local_134 = uVar4 + local_150;\n        }\nLAB_00192930:\n        pbVar17 = *(byte **)local_a8;\n        lVar19 = 8;\n        pbVar20 = (byte *)"__start_";\n        pbVar21 = pbVar17;\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          uVar25 = *pbVar20 < *pbVar21;\n          uVar29 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n          pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n        } while ((bool)uVar29);\n        bVar26 = false;\n        bVar30 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;\n        if (bVar30) {\n          pbVar17 = pbVar17 + 8;\n        }\n        else {\n          lVar19 = 7;\n          pbVar20 = (byte *)"__stop_";\n          pbVar21 = pbVar17;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar21;\n            bVar30 = *pbVar20 == *pbVar21;\n            pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n            pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n          } while (bVar30);\n          pbVar17 = pbVar17 + 7;\n          if ((!bVar26 && !bVar30) != bVar26) {\n            pbVar17 = local_158;\n          }\n        }\n        local_158 = pbVar17;\n        if (bVar28) {\n          if (bVar18 == 0) {\n            local_58 = (byte *)0x0;\n            local_50 = (ulong)local_50._4_4_ << 0x20;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          else {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = pbVar24;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          puVar5 = *(undefined8 **)(local_170 + 8);\n          if (puVar5 == *(undefined8 **)(local_170 + 0x10)) {\n            FUN_001bbf50(local_170,puVar5,&local_a8);\n          }\n          else {\n            *puVar5 = local_a8;\n            *(undefined8 **)(local_170 + 8) = puVar5 + 1;\n          }\n          local_58 = (byte *)(ulong)local_150;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_b8 = (byte *)((ulong)local_b8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_b8);\n        }\n        if (bVar18 != 0) goto LAB_001925a8;\n      }\nLAB_00192480:\n      local_120 = local_120 + 1;\n      local_128 = local_128 + 3;\n    } while (param_6 != local_120);\n  }\n  if (local_78[0] != local_68) {\n    FUN_00338a40();\n  }\n  if ((local_98 != 0) && (local_90 != 0)) {\n    uVar16 = gettext("missing expected __tls_get_addr call");\n    FUN_001e1b30(local_90,local_88,local_80,uVar16);\n  }\n  return;\n}" primitive_type (function_declarator "FUN_00192210(long param_1,long *param_2,byte *param_3,uint param_4,uint *param_5,long param_6,\n                 ulong param_7,long param_8)" identifier (parameter_list "(long param_1,long *param_2,byte *param_3,uint param_4,uint *param_5,long param_6,\n                 ulong param_7,long param_8)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long *param_2" (sized_type_specifier "long" long) (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "byte *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "uint param_4" type_identifier identifier) , (parameter_declaration "uint *param_5" type_identifier (pointer_declarator "*param_5" * identifier)) , (parameter_declaration "long param_6" (sized_type_specifier "long" long) identifier) , (parameter_declaration "ulong param_7" type_identifier identifier) , (parameter_declaration "long param_8" (sized_type_specifier "long" long) identifier) ))) (compound_statement "{\n  long *plVar1;\n  ushort uVar2;\n  uint uVar3;\n  uint uVar4;\n  undefined8 *puVar5;\n  code *pcVar6;\n  uint uVar7;\n  long lVar8;\n  char cVar9;\n  uint uVar10;\n  long lVar11;\n  long lVar12;\n  size_t sVar13;\n  long lVar14;\n  long lVar15;\n  undefined8 uVar16;\n  byte *pbVar17;\n  byte bVar18;\n  long lVar19;\n  byte *pbVar20;\n  byte *pbVar21;\n  uint uVar22;\n  ulong uVar23;\n  byte *pbVar24;\n  undefined1 uVar25;\n  bool bVar26;\n  bool bVar27;\n  bool bVar28;\n  undefined1 uVar29;\n  bool bVar30;\n  byte bVar31;\n  long local_188;\n  long local_180;\n  long local_178;\n  long local_170;\n  long local_168;\n  byte *local_158;\n  uint local_150;\n  char local_136;\n  int local_134;\n  uint *local_128;\n  long local_120;\n  undefined1 local_10a;\n  undefined1 local_109;\n  long local_108;\n  long local_100;\n  long local_f8;\n  long local_f0;\n  byte **local_e8;\n  byte **local_e0;\n  byte *local_d8;\n  uint local_d0;\n  byte *local_c8;\n  uint local_c0;\n  byte *local_b8;\n  uint local_b0;\n  byte *local_a8;\n  uint local_a0;\n  int local_98;\n  long local_90;\n  undefined8 local_88;\n  undefined4 local_80;\n  undefined1 local_7c;\n  byte *local_78 [2];\n  byte local_68 [16];\n  byte *local_58;\n  undefined8 local_50;\n  byte local_48 [24];\n  \n  bVar31 = 0;\n  local_7c = 0;\n  local_98 = 0;\n  local_90 = 0;\n  local_88 = 0;\n  local_80 = 0;\n  if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    \n                    \n    FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n  }\n  if (*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 0) {\n    local_78[0] = local_68;\n                    \n    FUN_001bc4c0(local_78,"");\n  }\n  else if (*(code **)(*(long *)param_3 + 0x80) == FUN_001c3900) {\n                    \n    FUN_001c3780(local_78,param_3 + 0xf8,param_4);\n  }\n  else {\n    (**(code **)(*(long *)param_3 + 0x80))(local_78,param_3,param_4);\n  }\n  pbVar24 = local_78[0];\n  if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    \n    FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n  }\n  if (*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 0) {\nLAB_001922eb:\n    bVar28 = false;\n    local_188 = 0;\n    local_168 = 0;\n    local_180 = 0;\n    local_170 = 0;\n    local_178 = 0;\n  }\n  else {\n    pbVar17 = (byte *)0xffffffffffffffff;\n    local_58 = local_48;\n    uVar25 = 0;\n    uVar29 = local_78[0] == (byte *)0x0;\n    if (!(bool)uVar29) {\n      sVar13 = strlen((char *)local_78[0]);\n      pbVar17 = pbVar24 + sVar13;\n    }\n    FUN_001bc4c0(&local_58,pbVar24,pbVar17);\n    lVar19 = 5;\n    pbVar24 = (byte *)".text";\n    pbVar17 = local_58;\n    do {\n      if (lVar19 == 0) break;\n      lVar19 = lVar19 + -1;\n      uVar25 = *pbVar24 < *pbVar17;\n      uVar29 = *pbVar24 == *pbVar17;\n      pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n      pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n    } while ((bool)uVar29);\n    bVar28 = false;\n    bVar26 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;\n    if (!bVar26) {\n      lVar19 = 0xf;\n      pbVar24 = (byte *)".gnu.linkonce.t";\n      pbVar17 = local_58;\n      do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar28 = *pbVar24 < *pbVar17;\n        bVar26 = *pbVar24 == *pbVar17;\n        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n      } while (bVar26);\n      if ((!bVar28 && !bVar26) != bVar28) {\n        if (local_58 != local_48) {\n          FUN_00338a40(local_58);\n        }\n        goto LAB_001922eb;\n      }\n    }\n    if (local_58 != local_48) {\n      FUN_00338a40(local_58);\n    }\n    local_50 = CONCAT44(local_50._4_4_,param_4);\n    local_58 = param_3;\n    local_178 = FUN_001c0160(*(long *)(param_1 + 0x298) + 0xa8,&local_58);\n    local_170 = local_178 + 0x18;\n    local_180 = local_178 + 0x30;\n    local_168 = local_178 + 0x48;\n    local_188 = local_178 + 0x60;\n    bVar28 = true;\n  }\n  if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    \n                    \n    FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n  }\n  if ((*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 2) &&\n     (cVar9 = (**(code **)(*param_2 + 0x90))(param_2), cVar9 != '\0')) {\n    pcVar6 = *(code **)(*param_2 + 0x10);\n    if (pcVar6 != FUN_001ba9d0) {\n                    \n      local_136 = (*pcVar6)(param_2,local_78[0]);\n      goto LAB_0019234a;\n    }\n    pcVar6 = *(code **)(*param_2 + 0x98);\n    bVar26 = pcVar6 < FUN_001baa90;\n    bVar30 = pcVar6 == FUN_001baa90;\n    if (!bVar30) {\n      local_136 = (*pcVar6)(param_2,local_78[0]);\n      goto LAB_0019234a;\n    }\n    lVar19 = 0xc;\n    pbVar24 = (byte *)".rodata._ZTV";\n    pbVar17 = local_78[0];\n    do {\n      if (lVar19 == 0) break;\n      lVar19 = lVar19 + -1;\n      bVar26 = *pbVar24 < *pbVar17;\n      bVar30 = *pbVar24 == *pbVar17;\n      pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n      pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n    } while (bVar30);\n    bVar27 = false;\n    bVar26 = (!bVar26 && !bVar30) == bVar26;\n    if (!bVar26) {\n      lVar19 = 0x11;\n      pbVar24 = (byte *)".data.rel.ro._ZTV";\n      pbVar17 = local_78[0];\n      do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar27 = *pbVar24 < *pbVar17;\n        bVar26 = *pbVar24 == *pbVar17;\n        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n      } while (bVar26);\n      bVar30 = false;\n      bVar26 = (!bVar27 && !bVar26) == bVar27;\n      if (!bVar26) {\n        lVar19 = 0xc;\n        pbVar24 = (byte *)".rodata._ZTC";\n        pbVar17 = local_78[0];\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          bVar30 = *pbVar24 < *pbVar17;\n          bVar26 = *pbVar24 == *pbVar17;\n          pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n          pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n        } while (bVar26);\n        bVar27 = false;\n        bVar26 = (!bVar30 && !bVar26) == bVar30;\n        if (!bVar26) {\n          lVar19 = 0x11;\n          pbVar24 = (byte *)".data.rel.ro._ZTC";\n          pbVar17 = local_78[0];\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar27 = *pbVar24 < *pbVar17;\n            bVar26 = *pbVar24 == *pbVar17;\n            pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n            pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n          } while (bVar26);\n          bVar30 = false;\n          bVar26 = (!bVar27 && !bVar26) == bVar27;\n          if (!bVar26) {\n            lVar19 = 9;\n            pbVar24 = (byte *)".eh_frame";\n            pbVar17 = local_78[0];\n            do {\n              if (lVar19 == 0) break;\n              lVar19 = lVar19 + -1;\n              bVar30 = *pbVar24 < *pbVar17;\n              bVar26 = *pbVar24 == *pbVar17;\n              pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n              pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n            } while (bVar26);\n            local_136 = (!bVar30 && !bVar26) != bVar30;\n            goto LAB_0019234a;\n          }\n        }\n      }\n    }\n  }\n  local_136 = '\0';\nLAB_0019234a:\n  if (param_6 != 0) {\n    local_158 = (byte *)0x0;\n    local_120 = 0;\n    local_128 = param_5;\n    do {\n      uVar3 = local_128[1];\n      uVar4 = local_128[2];\n      uVar22 = uVar3 >> 8;\n      uVar7 = uVar3 & 0xff;\n      if (uVar22 < param_7) {\n        if (param_8 == 0) {\n                    \n          FUN_001e9890("../../gold/gc.h",0xea,"gc_process_relocs");\n        }\n        lVar19 = (ulong)(uVar22 << 4) + param_8;\n        uVar2 = *(ushort *)(lVar19 + 0xe);\n        uVar10 = (uint)uVar2;\n        if (uVar2 < 0xff00) {\nLAB_001924f6:\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (bVar28) {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = param_3;\n            FUN_001bdee0(local_178,&local_58);\n            bVar26 = true;\n            if ((*(byte *)(lVar19 + 0xc) & 0xf) == 3) goto LAB_0019253e;\nLAB_001923f0:\n            local_58 = (byte *)0x0;\n            FUN_001be560(local_170,&local_58);\n            goto LAB_0019240b;\n          }\n        }\n        else {\n          if (uVar2 == 0xffff) {\n            lVar14 = *(long *)(param_3 + 0x40);\n            if (lVar14 == 0) {\n              lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3);\n              *(long *)(param_3 + 0x40) = lVar14;\n            }\n            uVar10 = FUN_0022a020(lVar14,param_3,uVar22);\n            goto LAB_001924f6;\n          }\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (!bVar28) goto LAB_00192480;\n          local_58 = (byte *)0x0;\n          local_50 = local_50 & 0xffffffff00000000;\n                    \n          FUN_001bdee0(local_178,&local_58);\n          bVar26 = false;\n          if ((*(byte *)(lVar19 + 0xc) & 0xf) != 3) goto LAB_001923f0;\nLAB_0019253e:\n          local_58 = (byte *)0xffffffffffffffff;\n          FUN_001be560(local_170,&local_58);\nLAB_0019240b:\n          local_58 = pbVar24;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_a8 = (byte *)((ulong)local_a8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_a8);\n          if (!bVar26) goto LAB_00192480;\n        }\n        if (((local_136 != '\0') && ((*(byte *)(lVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar7 || ((0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) == 0)))) {\n          local_c0 = (uint)*(ushort *)(lVar19 + 0xe);\n          local_108 = *(long *)(param_1 + 0x298) + 0x68;\n          local_c8 = param_3;\n          FUN_001bcb90(local_108,&local_c8,&local_108,1);\n        }\n        pbVar24 = param_3;\n        if (param_4 != uVar10) {\nLAB_001925a8:\n          if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    \n            FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n          }\n          if (*(char *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809) != '\0') {\n            lVar14 = *(long *)(param_1 + 0x290);\n            lVar19 = lVar14 + 0x28;\n            lVar11 = lVar19;\n            lVar12 = lVar19;\n            lVar15 = *(long *)(lVar14 + 0x30);\n            local_b8 = param_3;\n            local_b0 = param_4;\n            local_a8 = pbVar24;\n            local_a0 = uVar10;\n            if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192660:\n              local_e8 = &local_b8;\n              lVar12 = FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a);\n            }\n            else {\n              do {\n                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }\n                lVar11 = lVar12;\n                lVar15 = *(long *)(lVar12 + 0x10);\n              } while (*(long *)(lVar12 + 0x10) != 0);\nLAB_0019263a:\n              if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))\n              goto LAB_00192660;\n            }\n            local_f0 = lVar12 + 0x30;\n            FUN_001bcaf0(local_f0,&local_a8,&local_f0,1);\n            plVar1 = *(long **)(PTR_DAT_004ba7c8 + 0x18);\n            if (plVar1 == (long *)0x0) {\n                    \n              FUN_001e9890("../../gold/parameters.h",0x73,"sized_target");\n            }\n            (**(code **)(*plVar1 + 0x208))(plVar1,param_1,param_3,param_4,pbVar24,uVar10,local_134);\n            if (local_158 != (byte *)0x0) {\n              lVar19 = *(long *)(param_1 + 0x290);\n              local_58 = local_48;\n              sVar13 = strlen((char *)local_158);\n              FUN_001bc4c0(&local_58,local_158,local_158 + sVar13);\n              lVar19 = FUN_001be060(lVar19 + 0x88,&local_58);\n              if (local_58 != local_48) {\n                FUN_00338a40();\n              }\n              lVar14 = *(long *)(param_1 + 0x290);\n              if (lVar19 != lVar14 + 0x90) {\n                lVar11 = lVar14 + 0x28;\n                local_50 = CONCAT44(local_50._4_4_,param_4);\n                lVar12 = lVar11;\n                lVar15 = lVar11;\n                lVar8 = *(long *)(lVar14 + 0x30);\n                if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }\n                else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }\n                for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;\n                    puVar5 = (undefined8 *)*puVar5) {\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (uVar22 < *(uint *)(param_3 + 0x120)) {\n          local_a8 = (byte *)0x0;\nLAB_00192adb:\n                    \n          FUN_001e9890("../../gold/gc.h",0x11c,"gc_process_relocs");\n        }\n        uVar23 = (ulong)(uVar22 - *(uint *)(param_3 + 0x120));\n        if ((ulong)(*(long *)(param_3 + 0x138) - *(long *)(param_3 + 0x130) >> 3) <= uVar23) {\n                    \n          FUN_001e9890("../../gold/object.h",0x8ad,"global_symbol");\n        }\n        local_a8 = *(byte **)(*(long *)(param_3 + 0x130) + uVar23 * 8);\n        if (local_a8 == (byte *)0x0) goto LAB_00192adb;\n        if ((local_a8[0x3a] & 0x10) != 0) {\n          local_a8 = (byte *)FUN_002ddad0(param_1,local_a8);\n        }\n        if ((local_a8[0x3a] & 7) == 0) {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          pbVar24 = *(byte **)(local_a8 + 0x10);\n          local_134 = uVar4 + local_150;\n          if ((pbVar24[0x3c] & 1) == 0) {\n            uVar10 = *(uint *)(local_a8 + 0x18);\n            bVar18 = local_a8[0x3b] >> 5 & 1;\n            uVar25 = (local_a8[0x38] & 0xf) < 2;\n            uVar29 = (local_a8[0x38] & 0xf) == 2;\n            if ((bool)uVar29) {\n              uVar25 = 0;\n              uVar29 = local_136 == '\0';\n              if (!(bool)uVar29) {\n                uVar25 = false;\n                uVar29 = bVar18 == 0;\n                if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }\n                local_100 = *(long *)(param_1 + 0x298) + 0x68;\n                local_d8 = pbVar24;\n                local_d0 = uVar10;\n                    \n                FUN_001bcb90(local_100,&local_d8,&local_100,1);\n              }\n            }\n          }\n          else {\n            bVar18 = 0;\n            uVar10 = 0;\n            uVar25 = 0;\n            pbVar24 = (byte *)0x0;\n            uVar29 = 1;\n          }\n        }\n        else {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          bVar18 = 0;\n          uVar10 = 0;\n          uVar25 = 0;\n          pbVar24 = (byte *)0x0;\n          uVar29 = 1;\n          local_134 = uVar4 + local_150;\n        }\nLAB_00192930:\n        pbVar17 = *(byte **)local_a8;\n        lVar19 = 8;\n        pbVar20 = (byte *)"__start_";\n        pbVar21 = pbVar17;\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          uVar25 = *pbVar20 < *pbVar21;\n          uVar29 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n          pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n        } while ((bool)uVar29);\n        bVar26 = false;\n        bVar30 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;\n        if (bVar30) {\n          pbVar17 = pbVar17 + 8;\n        }\n        else {\n          lVar19 = 7;\n          pbVar20 = (byte *)"__stop_";\n          pbVar21 = pbVar17;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar21;\n            bVar30 = *pbVar20 == *pbVar21;\n            pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n            pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n          } while (bVar30);\n          pbVar17 = pbVar17 + 7;\n          if ((!bVar26 && !bVar30) != bVar26) {\n            pbVar17 = local_158;\n          }\n        }\n        local_158 = pbVar17;\n        if (bVar28) {\n          if (bVar18 == 0) {\n            local_58 = (byte *)0x0;\n            local_50 = (ulong)local_50._4_4_ << 0x20;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          else {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = pbVar24;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          puVar5 = *(undefined8 **)(local_170 + 8);\n          if (puVar5 == *(undefined8 **)(local_170 + 0x10)) {\n            FUN_001bbf50(local_170,puVar5,&local_a8);\n          }\n          else {\n            *puVar5 = local_a8;\n            *(undefined8 **)(local_170 + 8) = puVar5 + 1;\n          }\n          local_58 = (byte *)(ulong)local_150;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_b8 = (byte *)((ulong)local_b8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_b8);\n        }\n        if (bVar18 != 0) goto LAB_001925a8;\n      }\nLAB_00192480:\n      local_120 = local_120 + 1;\n      local_128 = local_128 + 3;\n    } while (param_6 != local_120);\n  }\n  if (local_78[0] != local_68) {\n    FUN_00338a40();\n  }\n  if ((local_98 != 0) && (local_90 != 0)) {\n    uVar16 = gettext("missing expected __tls_get_addr call");\n    FUN_001e1b30(local_90,local_88,local_80,uVar16);\n  }\n  return;\n}" { (declaration "long *plVar1;" (sized_type_specifier "long" long) (pointer_declarator "*plVar1" * identifier) ;) (declaration "ushort uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "undefined8 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "code *pcVar6;" type_identifier (pointer_declarator "*pcVar6" * identifier) ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "long lVar8;" (sized_type_specifier "long" long) identifier ;) (declaration "char cVar9;" primitive_type identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "long lVar11;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar12;" (sized_type_specifier "long" long) identifier ;) (declaration "size_t sVar13;" primitive_type identifier ;) (declaration "long lVar14;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar15;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 uVar16;" type_identifier identifier ;) (declaration "byte *pbVar17;" type_identifier (pointer_declarator "*pbVar17" * identifier) ;) (declaration "byte bVar18;" type_identifier identifier ;) (declaration "long lVar19;" (sized_type_specifier "long" long) identifier ;) (declaration "byte *pbVar20;" type_identifier (pointer_declarator "*pbVar20" * identifier) ;) (declaration "byte *pbVar21;" type_identifier (pointer_declarator "*pbVar21" * identifier) ;) (declaration "uint uVar22;" type_identifier identifier ;) (declaration "ulong uVar23;" type_identifier identifier ;) (declaration "byte *pbVar24;" type_identifier (pointer_declarator "*pbVar24" * identifier) ;) (declaration "undefined1 uVar25;" type_identifier identifier ;) (declaration "bool bVar26;" primitive_type identifier ;) (declaration "bool bVar27;" primitive_type identifier ;) (declaration "bool bVar28;" primitive_type identifier ;) (declaration "undefined1 uVar29;" type_identifier identifier ;) (declaration "bool bVar30;" primitive_type identifier ;) (declaration "byte bVar31;" type_identifier identifier ;) (declaration "long local_188;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_180;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_178;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_170;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_168;" (sized_type_specifier "long" long) identifier ;) (declaration "byte *local_158;" type_identifier (pointer_declarator "*local_158" * identifier) ;) (declaration "uint local_150;" type_identifier identifier ;) (declaration "char local_136;" primitive_type identifier ;) (declaration "int local_134;" primitive_type identifier ;) (declaration "uint *local_128;" type_identifier (pointer_declarator "*local_128" * identifier) ;) (declaration "long local_120;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined1 local_10a;" type_identifier identifier ;) (declaration "undefined1 local_109;" type_identifier identifier ;) (declaration "long local_108;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_100;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_f8;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_f0;" (sized_type_specifier "long" long) identifier ;) (declaration "byte **local_e8;" type_identifier (pointer_declarator "**local_e8" * (pointer_declarator "*local_e8" * identifier)) ;) (declaration "byte **local_e0;" type_identifier (pointer_declarator "**local_e0" * (pointer_declarator "*local_e0" * identifier)) ;) (declaration "byte *local_d8;" type_identifier (pointer_declarator "*local_d8" * identifier) ;) (declaration "uint local_d0;" type_identifier identifier ;) (declaration "byte *local_c8;" type_identifier (pointer_declarator "*local_c8" * identifier) ;) (declaration "uint local_c0;" type_identifier identifier ;) (declaration "byte *local_b8;" type_identifier (pointer_declarator "*local_b8" * identifier) ;) (declaration "uint local_b0;" type_identifier identifier ;) (declaration "byte *local_a8;" type_identifier (pointer_declarator "*local_a8" * identifier) ;) (declaration "uint local_a0;" type_identifier identifier ;) (declaration "int local_98;" primitive_type identifier ;) (declaration "long local_90;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 local_88;" type_identifier identifier ;) (declaration "undefined4 local_80;" type_identifier identifier ;) (declaration "undefined1 local_7c;" type_identifier identifier ;) (declaration "byte *local_78 [2];" type_identifier (pointer_declarator "*local_78 [2]" * (array_declarator "local_78 [2]" identifier [ number_literal ])) ;) (declaration "byte local_68 [16];" type_identifier (array_declarator "local_68 [16]" identifier [ number_literal ]) ;) (declaration "byte *local_58;" type_identifier (pointer_declarator "*local_58" * identifier) ;) (declaration "undefined8 local_50;" type_identifier identifier ;) (declaration "byte local_48 [24];" type_identifier (array_declarator "local_48 [24]" identifier [ number_literal ]) ;) (expression_statement "bVar31 = 0;" (assignment_expression "bVar31 = 0" identifier = number_literal) ;) (expression_statement "local_7c = 0;" (assignment_expression "local_7c = 0" identifier = number_literal) ;) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" identifier = number_literal) ;) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;) (expression_statement "local_88 = 0;" (assignment_expression "local_88 = 0" identifier = number_literal) ;) (expression_statement "local_80 = 0;" (assignment_expression "local_80 = 0" identifier = number_literal) ;) (if_statement "if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    \n                    \n    FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n  }" if (parenthesized_expression "(*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0)" ( (binary_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0" (pointer_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10)" * (cast_expression "(long *)(PTR_DAT_004ba7c8 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_004ba7c8 + 0x10)" ( (binary_expression "PTR_DAT_004ba7c8 + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    \n                    \n    FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n  }" { (expression_statement "FUN_001e9890("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_001e9890("../../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 *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 0) {\n    local_78[0] = local_68;\n                    \n    FUN_001bc4c0(local_78,"");\n  }\n  else if (*(code **)(*(long *)param_3 + 0x80) == FUN_001c3900) {\n                    \n    FUN_001c3780(local_78,param_3 + 0xf8,param_4);\n  }\n  else {\n    (**(code **)(*(long *)param_3 + 0x80))(local_78,param_3,param_4);\n  }" if (parenthesized_expression "(*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 0)" ( (binary_expression "*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 0" (pointer_expression "*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050)" * (cast_expression "(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050)" ( (binary_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050" (pointer_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10)" * (cast_expression "(long *)(PTR_DAT_004ba7c8 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_004ba7c8 + 0x10)" ( (binary_expression "PTR_DAT_004ba7c8 + 0x10" identifier + number_literal) )))) + number_literal) )))) == number_literal) )) (compound_statement "{\n    local_78[0] = local_68;\n                    \n    FUN_001bc4c0(local_78,"");\n  }" { (expression_statement "local_78[0] = local_68;" (assignment_expression "local_78[0] = local_68" (subscript_expression "local_78[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_001bc4c0(local_78,"");" (call_expression "FUN_001bc4c0(local_78,"")" identifier (argument_list "(local_78,"")" ( identifier , (string_literal """" " ") ))) ;) }) (else_clause "else if (*(code **)(*(long *)param_3 + 0x80) == FUN_001c3900) {\n                    \n    FUN_001c3780(local_78,param_3 + 0xf8,param_4);\n  }\n  else {\n    (**(code **)(*(long *)param_3 + 0x80))(local_78,param_3,param_4);\n  }" else (if_statement "if (*(code **)(*(long *)param_3 + 0x80) == FUN_001c3900) {\n                    \n    FUN_001c3780(local_78,param_3 + 0xf8,param_4);\n  }\n  else {\n    (**(code **)(*(long *)param_3 + 0x80))(local_78,param_3,param_4);\n  }" if (parenthesized_expression "(*(code **)(*(long *)param_3 + 0x80) == FUN_001c3900)" ( (binary_expression "*(code **)(*(long *)param_3 + 0x80) == FUN_001c3900" (pointer_expression "*(code **)(*(long *)param_3 + 0x80)" * (cast_expression "(code **)(*(long *)param_3 + 0x80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)param_3 + 0x80)" ( (binary_expression "*(long *)param_3 + 0x80" (pointer_expression "*(long *)param_3" * (cast_expression "(long *)param_3" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) == identifier) )) (compound_statement "{\n                    \n    FUN_001c3780(local_78,param_3 + 0xf8,param_4);\n  }" { (expression_statement "FUN_001c3780(local_78,param_3 + 0xf8,param_4);" (call_expression "FUN_001c3780(local_78,param_3 + 0xf8,param_4)" identifier (argument_list "(local_78,param_3 + 0xf8,param_4)" ( identifier , (binary_expression "param_3 + 0xf8" identifier + number_literal) , identifier ))) ;) }) (else_clause "else {\n    (**(code **)(*(long *)param_3 + 0x80))(local_78,param_3,param_4);\n  }" else (compound_statement "{\n    (**(code **)(*(long *)param_3 + 0x80))(local_78,param_3,param_4);\n  }" { (expression_statement "(**(code **)(*(long *)param_3 + 0x80))(local_78,param_3,param_4);" (call_expression "(**(code **)(*(long *)param_3 + 0x80))(local_78,param_3,param_4)" (parenthesized_expression "(**(code **)(*(long *)param_3 + 0x80))" ( (pointer_expression "**(code **)(*(long *)param_3 + 0x80)" * (pointer_expression "*(code **)(*(long *)param_3 + 0x80)" * (cast_expression "(code **)(*(long *)param_3 + 0x80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)param_3 + 0x80)" ( (binary_expression "*(long *)param_3 + 0x80" (pointer_expression "*(long *)param_3" * (cast_expression "(long *)param_3" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) )) (argument_list "(local_78,param_3,param_4)" ( identifier , identifier , identifier ))) ;) }))))) (expression_statement "pbVar24 = local_78[0];" (assignment_expression "pbVar24 = local_78[0]" identifier = (subscript_expression "local_78[0]" identifier [ number_literal ])) ;) (if_statement "if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    \n    FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n  }" if (parenthesized_expression "(*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0)" ( (binary_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0" (pointer_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10)" * (cast_expression "(long *)(PTR_DAT_004ba7c8 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_004ba7c8 + 0x10)" ( (binary_expression "PTR_DAT_004ba7c8 + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    \n    FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n  }" { (expression_statement "FUN_001e9890("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_001e9890("../../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 *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 0) {\nLAB_001922eb:\n    bVar28 = false;\n    local_188 = 0;\n    local_168 = 0;\n    local_180 = 0;\n    local_170 = 0;\n    local_178 = 0;\n  }\n  else {\n    pbVar17 = (byte *)0xffffffffffffffff;\n    local_58 = local_48;\n    uVar25 = 0;\n    uVar29 = local_78[0] == (byte *)0x0;\n    if (!(bool)uVar29) {\n      sVar13 = strlen((char *)local_78[0]);\n      pbVar17 = pbVar24 + sVar13;\n    }\n    FUN_001bc4c0(&local_58,pbVar24,pbVar17);\n    lVar19 = 5;\n    pbVar24 = (byte *)".text";\n    pbVar17 = local_58;\n    do {\n      if (lVar19 == 0) break;\n      lVar19 = lVar19 + -1;\n      uVar25 = *pbVar24 < *pbVar17;\n      uVar29 = *pbVar24 == *pbVar17;\n      pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n      pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n    } while ((bool)uVar29);\n    bVar28 = false;\n    bVar26 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;\n    if (!bVar26) {\n      lVar19 = 0xf;\n      pbVar24 = (byte *)".gnu.linkonce.t";\n      pbVar17 = local_58;\n      do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar28 = *pbVar24 < *pbVar17;\n        bVar26 = *pbVar24 == *pbVar17;\n        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n      } while (bVar26);\n      if ((!bVar28 && !bVar26) != bVar28) {\n        if (local_58 != local_48) {\n          FUN_00338a40(local_58);\n        }\n        goto LAB_001922eb;\n      }\n    }\n    if (local_58 != local_48) {\n      FUN_00338a40(local_58);\n    }\n    local_50 = CONCAT44(local_50._4_4_,param_4);\n    local_58 = param_3;\n    local_178 = FUN_001c0160(*(long *)(param_1 + 0x298) + 0xa8,&local_58);\n    local_170 = local_178 + 0x18;\n    local_180 = local_178 + 0x30;\n    local_168 = local_178 + 0x48;\n    local_188 = local_178 + 0x60;\n    bVar28 = true;\n  }" if (parenthesized_expression "(*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 0)" ( (binary_expression "*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 0" (pointer_expression "*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050)" * (cast_expression "(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050)" ( (binary_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050" (pointer_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10)" * (cast_expression "(long *)(PTR_DAT_004ba7c8 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_004ba7c8 + 0x10)" ( (binary_expression "PTR_DAT_004ba7c8 + 0x10" identifier + number_literal) )))) + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_001922eb:\n    bVar28 = false;\n    local_188 = 0;\n    local_168 = 0;\n    local_180 = 0;\n    local_170 = 0;\n    local_178 = 0;\n  }" { (labeled_statement "LAB_001922eb:\n    bVar28 = false;" statement_identifier : (expression_statement "bVar28 = false;" (assignment_expression "bVar28 = false" identifier = false) ;)) (expression_statement "local_188 = 0;" (assignment_expression "local_188 = 0" identifier = number_literal) ;) (expression_statement "local_168 = 0;" (assignment_expression "local_168 = 0" identifier = number_literal) ;) (expression_statement "local_180 = 0;" (assignment_expression "local_180 = 0" identifier = number_literal) ;) (expression_statement "local_170 = 0;" (assignment_expression "local_170 = 0" identifier = number_literal) ;) (expression_statement "local_178 = 0;" (assignment_expression "local_178 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    pbVar17 = (byte *)0xffffffffffffffff;\n    local_58 = local_48;\n    uVar25 = 0;\n    uVar29 = local_78[0] == (byte *)0x0;\n    if (!(bool)uVar29) {\n      sVar13 = strlen((char *)local_78[0]);\n      pbVar17 = pbVar24 + sVar13;\n    }\n    FUN_001bc4c0(&local_58,pbVar24,pbVar17);\n    lVar19 = 5;\n    pbVar24 = (byte *)".text";\n    pbVar17 = local_58;\n    do {\n      if (lVar19 == 0) break;\n      lVar19 = lVar19 + -1;\n      uVar25 = *pbVar24 < *pbVar17;\n      uVar29 = *pbVar24 == *pbVar17;\n      pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n      pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n    } while ((bool)uVar29);\n    bVar28 = false;\n    bVar26 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;\n    if (!bVar26) {\n      lVar19 = 0xf;\n      pbVar24 = (byte *)".gnu.linkonce.t";\n      pbVar17 = local_58;\n      do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar28 = *pbVar24 < *pbVar17;\n        bVar26 = *pbVar24 == *pbVar17;\n        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n      } while (bVar26);\n      if ((!bVar28 && !bVar26) != bVar28) {\n        if (local_58 != local_48) {\n          FUN_00338a40(local_58);\n        }\n        goto LAB_001922eb;\n      }\n    }\n    if (local_58 != local_48) {\n      FUN_00338a40(local_58);\n    }\n    local_50 = CONCAT44(local_50._4_4_,param_4);\n    local_58 = param_3;\n    local_178 = FUN_001c0160(*(long *)(param_1 + 0x298) + 0xa8,&local_58);\n    local_170 = local_178 + 0x18;\n    local_180 = local_178 + 0x30;\n    local_168 = local_178 + 0x48;\n    local_188 = local_178 + 0x60;\n    bVar28 = true;\n  }" else (compound_statement "{\n    pbVar17 = (byte *)0xffffffffffffffff;\n    local_58 = local_48;\n    uVar25 = 0;\n    uVar29 = local_78[0] == (byte *)0x0;\n    if (!(bool)uVar29) {\n      sVar13 = strlen((char *)local_78[0]);\n      pbVar17 = pbVar24 + sVar13;\n    }\n    FUN_001bc4c0(&local_58,pbVar24,pbVar17);\n    lVar19 = 5;\n    pbVar24 = (byte *)".text";\n    pbVar17 = local_58;\n    do {\n      if (lVar19 == 0) break;\n      lVar19 = lVar19 + -1;\n      uVar25 = *pbVar24 < *pbVar17;\n      uVar29 = *pbVar24 == *pbVar17;\n      pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n      pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n    } while ((bool)uVar29);\n    bVar28 = false;\n    bVar26 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;\n    if (!bVar26) {\n      lVar19 = 0xf;\n      pbVar24 = (byte *)".gnu.linkonce.t";\n      pbVar17 = local_58;\n      do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar28 = *pbVar24 < *pbVar17;\n        bVar26 = *pbVar24 == *pbVar17;\n        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n      } while (bVar26);\n      if ((!bVar28 && !bVar26) != bVar28) {\n        if (local_58 != local_48) {\n          FUN_00338a40(local_58);\n        }\n        goto LAB_001922eb;\n      }\n    }\n    if (local_58 != local_48) {\n      FUN_00338a40(local_58);\n    }\n    local_50 = CONCAT44(local_50._4_4_,param_4);\n    local_58 = param_3;\n    local_178 = FUN_001c0160(*(long *)(param_1 + 0x298) + 0xa8,&local_58);\n    local_170 = local_178 + 0x18;\n    local_180 = local_178 + 0x30;\n    local_168 = local_178 + 0x48;\n    local_188 = local_178 + 0x60;\n    bVar28 = true;\n  }" { (expression_statement "pbVar17 = (byte *)0xffffffffffffffff;" (assignment_expression "pbVar17 = (byte *)0xffffffffffffffff" identifier = (cast_expression "(byte *)0xffffffffffffffff" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_58 = local_48;" (assignment_expression "local_58 = local_48" identifier = identifier) ;) (expression_statement "uVar25 = 0;" (assignment_expression "uVar25 = 0" identifier = number_literal) ;) (expression_statement "uVar29 = local_78[0] == (byte *)0x0;" (assignment_expression "uVar29 = local_78[0] == (byte *)0x0" identifier = (binary_expression "local_78[0] == (byte *)0x0" (subscript_expression "local_78[0]" identifier [ number_literal ]) == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (if_statement "if (!(bool)uVar29) {\n      sVar13 = strlen((char *)local_78[0]);\n      pbVar17 = pbVar24 + sVar13;\n    }" if (parenthesized_expression "(!(bool)uVar29)" ( (unary_expression "!(bool)uVar29" ! (cast_expression "(bool)uVar29" ( (type_descriptor "bool" primitive_type) ) identifier)) )) (compound_statement "{\n      sVar13 = strlen((char *)local_78[0]);\n      pbVar17 = pbVar24 + sVar13;\n    }" { (expression_statement "sVar13 = strlen((char *)local_78[0]);" (assignment_expression "sVar13 = strlen((char *)local_78[0])" identifier = (call_expression "strlen((char *)local_78[0])" identifier (argument_list "((char *)local_78[0])" ( (cast_expression "(char *)local_78[0]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_78[0]" identifier [ number_literal ])) )))) ;) (expression_statement "pbVar17 = pbVar24 + sVar13;" (assignment_expression "pbVar17 = pbVar24 + sVar13" identifier = (binary_expression "pbVar24 + sVar13" identifier + identifier)) ;) })) (expression_statement "FUN_001bc4c0(&local_58,pbVar24,pbVar17);" (call_expression "FUN_001bc4c0(&local_58,pbVar24,pbVar17)" identifier (argument_list "(&local_58,pbVar24,pbVar17)" ( (pointer_expression "&local_58" & identifier) , identifier , identifier ))) ;) (expression_statement "lVar19 = 5;" (assignment_expression "lVar19 = 5" identifier = number_literal) ;) (expression_statement "pbVar24 = (byte *)".text";" (assignment_expression "pbVar24 = (byte *)".text"" identifier = (cast_expression "(byte *)".text"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".text"" " string_content "))) ;) (expression_statement "pbVar17 = local_58;" (assignment_expression "pbVar17 = local_58" identifier = identifier) ;) (do_statement "do {\n      if (lVar19 == 0) break;\n      lVar19 = lVar19 + -1;\n      uVar25 = *pbVar24 < *pbVar17;\n      uVar29 = *pbVar24 == *pbVar17;\n      pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n      pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n    } while ((bool)uVar29);" do (compound_statement "{\n      if (lVar19 == 0) break;\n      lVar19 = lVar19 + -1;\n      uVar25 = *pbVar24 < *pbVar17;\n      uVar29 = *pbVar24 == *pbVar17;\n      pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n      pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n    }" { (if_statement "if (lVar19 == 0) break;" if (parenthesized_expression "(lVar19 == 0)" ( (binary_expression "lVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar19 = lVar19 + -1;" (assignment_expression "lVar19 = lVar19 + -1" identifier = (binary_expression "lVar19 + -1" identifier + number_literal)) ;) (expression_statement "uVar25 = *pbVar24 < *pbVar17;" (assignment_expression "uVar25 = *pbVar24 < *pbVar17" identifier = (binary_expression "*pbVar24 < *pbVar17" (pointer_expression "*pbVar24" * identifier) < (pointer_expression "*pbVar17" * identifier))) ;) (expression_statement "uVar29 = *pbVar24 == *pbVar17;" (assignment_expression "uVar29 = *pbVar24 == *pbVar17" identifier = (binary_expression "*pbVar24 == *pbVar17" (pointer_expression "*pbVar24" * identifier) == (pointer_expression "*pbVar17" * identifier))) ;) (expression_statement "pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1" identifier = (binary_expression "pbVar24 + (ulong)bVar31 * -2 + 1" (binary_expression "pbVar24 + (ulong)bVar31 * -2" identifier + (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;" (assignment_expression "pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1" identifier = (binary_expression "pbVar17 + (ulong)bVar31 * -2 + 1" (binary_expression "pbVar17 + (ulong)bVar31 * -2" identifier + (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "((bool)uVar29)" ( (cast_expression "(bool)uVar29" ( (type_descriptor "bool" primitive_type) ) identifier) )) ;) (expression_statement "bVar28 = false;" (assignment_expression "bVar28 = false" identifier = false) ;) (expression_statement "bVar26 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;" (assignment_expression "bVar26 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25" identifier = (binary_expression "(!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25" (parenthesized_expression "(!(bool)uVar25 && !(bool)uVar29)" ( (binary_expression "!(bool)uVar25 && !(bool)uVar29" (unary_expression "!(bool)uVar25" ! (cast_expression "(bool)uVar25" ( (type_descriptor "bool" primitive_type) ) identifier)) && (unary_expression "!(bool)uVar29" ! (cast_expression "(bool)uVar29" ( (type_descriptor "bool" primitive_type) ) identifier))) )) == (cast_expression "(bool)uVar25" ( (type_descriptor "bool" primitive_type) ) identifier))) ;) (if_statement "if (!bVar26) {\n      lVar19 = 0xf;\n      pbVar24 = (byte *)".gnu.linkonce.t";\n      pbVar17 = local_58;\n      do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar28 = *pbVar24 < *pbVar17;\n        bVar26 = *pbVar24 == *pbVar17;\n        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n      } while (bVar26);\n      if ((!bVar28 && !bVar26) != bVar28) {\n        if (local_58 != local_48) {\n          FUN_00338a40(local_58);\n        }\n        goto LAB_001922eb;\n      }\n    }" if (parenthesized_expression "(!bVar26)" ( (unary_expression "!bVar26" ! identifier) )) (compound_statement "{\n      lVar19 = 0xf;\n      pbVar24 = (byte *)".gnu.linkonce.t";\n      pbVar17 = local_58;\n      do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar28 = *pbVar24 < *pbVar17;\n        bVar26 = *pbVar24 == *pbVar17;\n        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n      } while (bVar26);\n      if ((!bVar28 && !bVar26) != bVar28) {\n        if (local_58 != local_48) {\n          FUN_00338a40(local_58);\n        }\n        goto LAB_001922eb;\n      }\n    }" { (expression_statement "lVar19 = 0xf;" (assignment_expression "lVar19 = 0xf" identifier = number_literal) ;) (expression_statement "pbVar24 = (byte *)".gnu.linkonce.t";" (assignment_expression "pbVar24 = (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 "pbVar17 = local_58;" (assignment_expression "pbVar17 = local_58" identifier = identifier) ;) (do_statement "do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar28 = *pbVar24 < *pbVar17;\n        bVar26 = *pbVar24 == *pbVar17;\n        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n      } while (bVar26);" do (compound_statement "{\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar28 = *pbVar24 < *pbVar17;\n        bVar26 = *pbVar24 == *pbVar17;\n        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n      }" { (if_statement "if (lVar19 == 0) break;" if (parenthesized_expression "(lVar19 == 0)" ( (binary_expression "lVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar19 = lVar19 + -1;" (assignment_expression "lVar19 = lVar19 + -1" identifier = (binary_expression "lVar19 + -1" identifier + number_literal)) ;) (expression_statement "bVar28 = *pbVar24 < *pbVar17;" (assignment_expression "bVar28 = *pbVar24 < *pbVar17" identifier = (binary_expression "*pbVar24 < *pbVar17" (pointer_expression "*pbVar24" * identifier) < (pointer_expression "*pbVar17" * identifier))) ;) (expression_statement "bVar26 = *pbVar24 == *pbVar17;" (assignment_expression "bVar26 = *pbVar24 == *pbVar17" identifier = (binary_expression "*pbVar24 == *pbVar17" (pointer_expression "*pbVar24" * identifier) == (pointer_expression "*pbVar17" * identifier))) ;) (expression_statement "pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1" identifier = (binary_expression "pbVar24 + (ulong)bVar31 * -2 + 1" (binary_expression "pbVar24 + (ulong)bVar31 * -2" identifier + (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;" (assignment_expression "pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1" identifier = (binary_expression "pbVar17 + (ulong)bVar31 * -2 + 1" (binary_expression "pbVar17 + (ulong)bVar31 * -2" identifier + (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar26)" ( identifier )) ;) (if_statement "if ((!bVar28 && !bVar26) != bVar28) {\n        if (local_58 != local_48) {\n          FUN_00338a40(local_58);\n        }\n        goto LAB_001922eb;\n      }" if (parenthesized_expression "((!bVar28 && !bVar26) != bVar28)" ( (binary_expression "(!bVar28 && !bVar26) != bVar28" (parenthesized_expression "(!bVar28 && !bVar26)" ( (binary_expression "!bVar28 && !bVar26" (unary_expression "!bVar28" ! identifier) && (unary_expression "!bVar26" ! identifier)) )) != identifier) )) (compound_statement "{\n        if (local_58 != local_48) {\n          FUN_00338a40(local_58);\n        }\n        goto LAB_001922eb;\n      }" { (if_statement "if (local_58 != local_48) {\n          FUN_00338a40(local_58);\n        }" if (parenthesized_expression "(local_58 != local_48)" ( (binary_expression "local_58 != local_48" identifier != identifier) )) (compound_statement "{\n          FUN_00338a40(local_58);\n        }" { (expression_statement "FUN_00338a40(local_58);" (call_expression "FUN_00338a40(local_58)" identifier (argument_list "(local_58)" ( identifier ))) ;) })) (goto_statement "goto LAB_001922eb;" goto statement_identifier ;) })) })) (if_statement "if (local_58 != local_48) {\n      FUN_00338a40(local_58);\n    }" if (parenthesized_expression "(local_58 != local_48)" ( (binary_expression "local_58 != local_48" identifier != identifier) )) (compound_statement "{\n      FUN_00338a40(local_58);\n    }" { (expression_statement "FUN_00338a40(local_58);" (call_expression "FUN_00338a40(local_58)" identifier (argument_list "(local_58)" ( identifier ))) ;) })) (expression_statement "local_50 = CONCAT44(local_50._4_4_,param_4);" (assignment_expression "local_50 = CONCAT44(local_50._4_4_,param_4)" identifier = (call_expression "CONCAT44(local_50._4_4_,param_4)" identifier (argument_list "(local_50._4_4_,param_4)" ( (field_expression "local_50._4_4_" identifier . field_identifier) , identifier )))) ;) (expression_statement "local_58 = param_3;" (assignment_expression "local_58 = param_3" identifier = identifier) ;) (expression_statement "local_178 = FUN_001c0160(*(long *)(param_1 + 0x298) + 0xa8,&local_58);" (assignment_expression "local_178 = FUN_001c0160(*(long *)(param_1 + 0x298) + 0xa8,&local_58)" identifier = (call_expression "FUN_001c0160(*(long *)(param_1 + 0x298) + 0xa8,&local_58)" identifier (argument_list "(*(long *)(param_1 + 0x298) + 0xa8,&local_58)" ( (binary_expression "*(long *)(param_1 + 0x298) + 0xa8" (pointer_expression "*(long *)(param_1 + 0x298)" * (cast_expression "(long *)(param_1 + 0x298)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x298)" ( (binary_expression "param_1 + 0x298" identifier + number_literal) )))) + number_literal) , (pointer_expression "&local_58" & identifier) )))) ;) (expression_statement "local_170 = local_178 + 0x18;" (assignment_expression "local_170 = local_178 + 0x18" identifier = (binary_expression "local_178 + 0x18" identifier + number_literal)) ;) (expression_statement "local_180 = local_178 + 0x30;" (assignment_expression "local_180 = local_178 + 0x30" identifier = (binary_expression "local_178 + 0x30" identifier + number_literal)) ;) (expression_statement "local_168 = local_178 + 0x48;" (assignment_expression "local_168 = local_178 + 0x48" identifier = (binary_expression "local_178 + 0x48" identifier + number_literal)) ;) (expression_statement "local_188 = local_178 + 0x60;" (assignment_expression "local_188 = local_178 + 0x60" identifier = (binary_expression "local_178 + 0x60" identifier + number_literal)) ;) (expression_statement "bVar28 = true;" (assignment_expression "bVar28 = true" identifier = true) ;) }))) (if_statement "if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    \n                    \n    FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n  }" if (parenthesized_expression "(*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0)" ( (binary_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0" (pointer_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10)" * (cast_expression "(long *)(PTR_DAT_004ba7c8 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_004ba7c8 + 0x10)" ( (binary_expression "PTR_DAT_004ba7c8 + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    \n                    \n    FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n  }" { (expression_statement "FUN_001e9890("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_001e9890("../../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 *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 2) &&\n     (cVar9 = (**(code **)(*param_2 + 0x90))(param_2), cVar9 != '\0')) {\n    pcVar6 = *(code **)(*param_2 + 0x10);\n    if (pcVar6 != FUN_001ba9d0) {\n                    \n      local_136 = (*pcVar6)(param_2,local_78[0]);\n      goto LAB_0019234a;\n    }\n    pcVar6 = *(code **)(*param_2 + 0x98);\n    bVar26 = pcVar6 < FUN_001baa90;\n    bVar30 = pcVar6 == FUN_001baa90;\n    if (!bVar30) {\n      local_136 = (*pcVar6)(param_2,local_78[0]);\n      goto LAB_0019234a;\n    }\n    lVar19 = 0xc;\n    pbVar24 = (byte *)".rodata._ZTV";\n    pbVar17 = local_78[0];\n    do {\n      if (lVar19 == 0) break;\n      lVar19 = lVar19 + -1;\n      bVar26 = *pbVar24 < *pbVar17;\n      bVar30 = *pbVar24 == *pbVar17;\n      pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n      pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n    } while (bVar30);\n    bVar27 = false;\n    bVar26 = (!bVar26 && !bVar30) == bVar26;\n    if (!bVar26) {\n      lVar19 = 0x11;\n      pbVar24 = (byte *)".data.rel.ro._ZTV";\n      pbVar17 = local_78[0];\n      do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar27 = *pbVar24 < *pbVar17;\n        bVar26 = *pbVar24 == *pbVar17;\n        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n      } while (bVar26);\n      bVar30 = false;\n      bVar26 = (!bVar27 && !bVar26) == bVar27;\n      if (!bVar26) {\n        lVar19 = 0xc;\n        pbVar24 = (byte *)".rodata._ZTC";\n        pbVar17 = local_78[0];\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          bVar30 = *pbVar24 < *pbVar17;\n          bVar26 = *pbVar24 == *pbVar17;\n          pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n          pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n        } while (bVar26);\n        bVar27 = false;\n        bVar26 = (!bVar30 && !bVar26) == bVar30;\n        if (!bVar26) {\n          lVar19 = 0x11;\n          pbVar24 = (byte *)".data.rel.ro._ZTC";\n          pbVar17 = local_78[0];\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar27 = *pbVar24 < *pbVar17;\n            bVar26 = *pbVar24 == *pbVar17;\n            pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n            pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n          } while (bVar26);\n          bVar30 = false;\n          bVar26 = (!bVar27 && !bVar26) == bVar27;\n          if (!bVar26) {\n            lVar19 = 9;\n            pbVar24 = (byte *)".eh_frame";\n            pbVar17 = local_78[0];\n            do {\n              if (lVar19 == 0) break;\n              lVar19 = lVar19 + -1;\n              bVar30 = *pbVar24 < *pbVar17;\n              bVar26 = *pbVar24 == *pbVar17;\n              pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n              pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n            } while (bVar26);\n            local_136 = (!bVar30 && !bVar26) != bVar30;\n            goto LAB_0019234a;\n          }\n        }\n      }\n    }\n  }" if (parenthesized_expression "((*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 2) &&\n     (cVar9 = (**(code **)(*param_2 + 0x90))(param_2), cVar9 != '\0'))" ( (binary_expression "(*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 2) &&\n     (cVar9 = (**(code **)(*param_2 + 0x90))(param_2), cVar9 != '\0')" (parenthesized_expression "(*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 2)" ( (binary_expression "*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 2" (pointer_expression "*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050)" * (cast_expression "(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050)" ( (binary_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050" (pointer_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10)" * (cast_expression "(long *)(PTR_DAT_004ba7c8 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_004ba7c8 + 0x10)" ( (binary_expression "PTR_DAT_004ba7c8 + 0x10" identifier + number_literal) )))) + number_literal) )))) == number_literal) )) && (parenthesized_expression "(cVar9 = (**(code **)(*param_2 + 0x90))(param_2), cVar9 != '\0')" ( (comma_expression "cVar9 = (**(code **)(*param_2 + 0x90))(param_2), cVar9 != '\0'" (assignment_expression "cVar9 = (**(code **)(*param_2 + 0x90))(param_2)" identifier = (call_expression "(**(code **)(*param_2 + 0x90))(param_2)" (parenthesized_expression "(**(code **)(*param_2 + 0x90))" ( (pointer_expression "**(code **)(*param_2 + 0x90)" * (pointer_expression "*(code **)(*param_2 + 0x90)" * (cast_expression "(code **)(*param_2 + 0x90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_2 + 0x90)" ( (binary_expression "*param_2 + 0x90" (pointer_expression "*param_2" * identifier) + number_literal) ))))) )) (argument_list "(param_2)" ( identifier )))) , (binary_expression "cVar9 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n    pcVar6 = *(code **)(*param_2 + 0x10);\n    if (pcVar6 != FUN_001ba9d0) {\n                    \n      local_136 = (*pcVar6)(param_2,local_78[0]);\n      goto LAB_0019234a;\n    }\n    pcVar6 = *(code **)(*param_2 + 0x98);\n    bVar26 = pcVar6 < FUN_001baa90;\n    bVar30 = pcVar6 == FUN_001baa90;\n    if (!bVar30) {\n      local_136 = (*pcVar6)(param_2,local_78[0]);\n      goto LAB_0019234a;\n    }\n    lVar19 = 0xc;\n    pbVar24 = (byte *)".rodata._ZTV";\n    pbVar17 = local_78[0];\n    do {\n      if (lVar19 == 0) break;\n      lVar19 = lVar19 + -1;\n      bVar26 = *pbVar24 < *pbVar17;\n      bVar30 = *pbVar24 == *pbVar17;\n      pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n      pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n    } while (bVar30);\n    bVar27 = false;\n    bVar26 = (!bVar26 && !bVar30) == bVar26;\n    if (!bVar26) {\n      lVar19 = 0x11;\n      pbVar24 = (byte *)".data.rel.ro._ZTV";\n      pbVar17 = local_78[0];\n      do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar27 = *pbVar24 < *pbVar17;\n        bVar26 = *pbVar24 == *pbVar17;\n        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n      } while (bVar26);\n      bVar30 = false;\n      bVar26 = (!bVar27 && !bVar26) == bVar27;\n      if (!bVar26) {\n        lVar19 = 0xc;\n        pbVar24 = (byte *)".rodata._ZTC";\n        pbVar17 = local_78[0];\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          bVar30 = *pbVar24 < *pbVar17;\n          bVar26 = *pbVar24 == *pbVar17;\n          pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n          pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n        } while (bVar26);\n        bVar27 = false;\n        bVar26 = (!bVar30 && !bVar26) == bVar30;\n        if (!bVar26) {\n          lVar19 = 0x11;\n          pbVar24 = (byte *)".data.rel.ro._ZTC";\n          pbVar17 = local_78[0];\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar27 = *pbVar24 < *pbVar17;\n            bVar26 = *pbVar24 == *pbVar17;\n            pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n            pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n          } while (bVar26);\n          bVar30 = false;\n          bVar26 = (!bVar27 && !bVar26) == bVar27;\n          if (!bVar26) {\n            lVar19 = 9;\n            pbVar24 = (byte *)".eh_frame";\n            pbVar17 = local_78[0];\n            do {\n              if (lVar19 == 0) break;\n              lVar19 = lVar19 + -1;\n              bVar30 = *pbVar24 < *pbVar17;\n              bVar26 = *pbVar24 == *pbVar17;\n              pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n              pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n            } while (bVar26);\n            local_136 = (!bVar30 && !bVar26) != bVar30;\n            goto LAB_0019234a;\n          }\n        }\n      }\n    }\n  }" { (expression_statement "pcVar6 = *(code **)(*param_2 + 0x10);" (assignment_expression "pcVar6 = *(code **)(*param_2 + 0x10)" identifier = (pointer_expression "*(code **)(*param_2 + 0x10)" * (cast_expression "(code **)(*param_2 + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_2 + 0x10)" ( (binary_expression "*param_2 + 0x10" (pointer_expression "*param_2" * identifier) + number_literal) ))))) ;) (if_statement "if (pcVar6 != FUN_001ba9d0) {\n                    \n      local_136 = (*pcVar6)(param_2,local_78[0]);\n      goto LAB_0019234a;\n    }" if (parenthesized_expression "(pcVar6 != FUN_001ba9d0)" ( (binary_expression "pcVar6 != FUN_001ba9d0" identifier != identifier) )) (compound_statement "{\n                    \n      local_136 = (*pcVar6)(param_2,local_78[0]);\n      goto LAB_0019234a;\n    }" { (expression_statement "local_136 = (*pcVar6)(param_2,local_78[0]);" (assignment_expression "local_136 = (*pcVar6)(param_2,local_78[0])" identifier = (call_expression "(*pcVar6)(param_2,local_78[0])" (parenthesized_expression "(*pcVar6)" ( (pointer_expression "*pcVar6" * identifier) )) (argument_list "(param_2,local_78[0])" ( identifier , (subscript_expression "local_78[0]" identifier [ number_literal ]) )))) ;) (goto_statement "goto LAB_0019234a;" goto statement_identifier ;) })) (expression_statement "pcVar6 = *(code **)(*param_2 + 0x98);" (assignment_expression "pcVar6 = *(code **)(*param_2 + 0x98)" identifier = (pointer_expression "*(code **)(*param_2 + 0x98)" * (cast_expression "(code **)(*param_2 + 0x98)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_2 + 0x98)" ( (binary_expression "*param_2 + 0x98" (pointer_expression "*param_2" * identifier) + number_literal) ))))) ;) (expression_statement "bVar26 = pcVar6 < FUN_001baa90;" (assignment_expression "bVar26 = pcVar6 < FUN_001baa90" identifier = (binary_expression "pcVar6 < FUN_001baa90" identifier < identifier)) ;) (expression_statement "bVar30 = pcVar6 == FUN_001baa90;" (assignment_expression "bVar30 = pcVar6 == FUN_001baa90" identifier = (binary_expression "pcVar6 == FUN_001baa90" identifier == identifier)) ;) (if_statement "if (!bVar30) {\n      local_136 = (*pcVar6)(param_2,local_78[0]);\n      goto LAB_0019234a;\n    }" if (parenthesized_expression "(!bVar30)" ( (unary_expression "!bVar30" ! identifier) )) (compound_statement "{\n      local_136 = (*pcVar6)(param_2,local_78[0]);\n      goto LAB_0019234a;\n    }" { (expression_statement "local_136 = (*pcVar6)(param_2,local_78[0]);" (assignment_expression "local_136 = (*pcVar6)(param_2,local_78[0])" identifier = (call_expression "(*pcVar6)(param_2,local_78[0])" (parenthesized_expression "(*pcVar6)" ( (pointer_expression "*pcVar6" * identifier) )) (argument_list "(param_2,local_78[0])" ( identifier , (subscript_expression "local_78[0]" identifier [ number_literal ]) )))) ;) (goto_statement "goto LAB_0019234a;" goto statement_identifier ;) })) (expression_statement "lVar19 = 0xc;" (assignment_expression "lVar19 = 0xc" identifier = number_literal) ;) (expression_statement "pbVar24 = (byte *)".rodata._ZTV";" (assignment_expression "pbVar24 = (byte *)".rodata._ZTV"" identifier = (cast_expression "(byte *)".rodata._ZTV"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".rodata._ZTV"" " string_content "))) ;) (expression_statement "pbVar17 = local_78[0];" (assignment_expression "pbVar17 = local_78[0]" identifier = (subscript_expression "local_78[0]" identifier [ number_literal ])) ;) (do_statement "do {\n      if (lVar19 == 0) break;\n      lVar19 = lVar19 + -1;\n      bVar26 = *pbVar24 < *pbVar17;\n      bVar30 = *pbVar24 == *pbVar17;\n      pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n      pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n    } while (bVar30);" do (compound_statement "{\n      if (lVar19 == 0) break;\n      lVar19 = lVar19 + -1;\n      bVar26 = *pbVar24 < *pbVar17;\n      bVar30 = *pbVar24 == *pbVar17;\n      pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n      pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n    }" { (if_statement "if (lVar19 == 0) break;" if (parenthesized_expression "(lVar19 == 0)" ( (binary_expression "lVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar19 = lVar19 + -1;" (assignment_expression "lVar19 = lVar19 + -1" identifier = (binary_expression "lVar19 + -1" identifier + number_literal)) ;) (expression_statement "bVar26 = *pbVar24 < *pbVar17;" (assignment_expression "bVar26 = *pbVar24 < *pbVar17" identifier = (binary_expression "*pbVar24 < *pbVar17" (pointer_expression "*pbVar24" * identifier) < (pointer_expression "*pbVar17" * identifier))) ;) (expression_statement "bVar30 = *pbVar24 == *pbVar17;" (assignment_expression "bVar30 = *pbVar24 == *pbVar17" identifier = (binary_expression "*pbVar24 == *pbVar17" (pointer_expression "*pbVar24" * identifier) == (pointer_expression "*pbVar17" * identifier))) ;) (expression_statement "pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1" identifier = (binary_expression "pbVar24 + (ulong)bVar31 * -2 + 1" (binary_expression "pbVar24 + (ulong)bVar31 * -2" identifier + (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;" (assignment_expression "pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1" identifier = (binary_expression "pbVar17 + (ulong)bVar31 * -2 + 1" (binary_expression "pbVar17 + (ulong)bVar31 * -2" identifier + (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar30)" ( identifier )) ;) (expression_statement "bVar27 = false;" (assignment_expression "bVar27 = false" identifier = false) ;) (expression_statement "bVar26 = (!bVar26 && !bVar30) == bVar26;" (assignment_expression "bVar26 = (!bVar26 && !bVar30) == bVar26" identifier = (binary_expression "(!bVar26 && !bVar30) == bVar26" (parenthesized_expression "(!bVar26 && !bVar30)" ( (binary_expression "!bVar26 && !bVar30" (unary_expression "!bVar26" ! identifier) && (unary_expression "!bVar30" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar26) {\n      lVar19 = 0x11;\n      pbVar24 = (byte *)".data.rel.ro._ZTV";\n      pbVar17 = local_78[0];\n      do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar27 = *pbVar24 < *pbVar17;\n        bVar26 = *pbVar24 == *pbVar17;\n        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n      } while (bVar26);\n      bVar30 = false;\n      bVar26 = (!bVar27 && !bVar26) == bVar27;\n      if (!bVar26) {\n        lVar19 = 0xc;\n        pbVar24 = (byte *)".rodata._ZTC";\n        pbVar17 = local_78[0];\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          bVar30 = *pbVar24 < *pbVar17;\n          bVar26 = *pbVar24 == *pbVar17;\n          pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n          pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n        } while (bVar26);\n        bVar27 = false;\n        bVar26 = (!bVar30 && !bVar26) == bVar30;\n        if (!bVar26) {\n          lVar19 = 0x11;\n          pbVar24 = (byte *)".data.rel.ro._ZTC";\n          pbVar17 = local_78[0];\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar27 = *pbVar24 < *pbVar17;\n            bVar26 = *pbVar24 == *pbVar17;\n            pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n            pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n          } while (bVar26);\n          bVar30 = false;\n          bVar26 = (!bVar27 && !bVar26) == bVar27;\n          if (!bVar26) {\n            lVar19 = 9;\n            pbVar24 = (byte *)".eh_frame";\n            pbVar17 = local_78[0];\n            do {\n              if (lVar19 == 0) break;\n              lVar19 = lVar19 + -1;\n              bVar30 = *pbVar24 < *pbVar17;\n              bVar26 = *pbVar24 == *pbVar17;\n              pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n              pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n            } while (bVar26);\n            local_136 = (!bVar30 && !bVar26) != bVar30;\n            goto LAB_0019234a;\n          }\n        }\n      }\n    }" if (parenthesized_expression "(!bVar26)" ( (unary_expression "!bVar26" ! identifier) )) (compound_statement "{\n      lVar19 = 0x11;\n      pbVar24 = (byte *)".data.rel.ro._ZTV";\n      pbVar17 = local_78[0];\n      do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar27 = *pbVar24 < *pbVar17;\n        bVar26 = *pbVar24 == *pbVar17;\n        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n      } while (bVar26);\n      bVar30 = false;\n      bVar26 = (!bVar27 && !bVar26) == bVar27;\n      if (!bVar26) {\n        lVar19 = 0xc;\n        pbVar24 = (byte *)".rodata._ZTC";\n        pbVar17 = local_78[0];\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          bVar30 = *pbVar24 < *pbVar17;\n          bVar26 = *pbVar24 == *pbVar17;\n          pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n          pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n        } while (bVar26);\n        bVar27 = false;\n        bVar26 = (!bVar30 && !bVar26) == bVar30;\n        if (!bVar26) {\n          lVar19 = 0x11;\n          pbVar24 = (byte *)".data.rel.ro._ZTC";\n          pbVar17 = local_78[0];\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar27 = *pbVar24 < *pbVar17;\n            bVar26 = *pbVar24 == *pbVar17;\n            pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n            pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n          } while (bVar26);\n          bVar30 = false;\n          bVar26 = (!bVar27 && !bVar26) == bVar27;\n          if (!bVar26) {\n            lVar19 = 9;\n            pbVar24 = (byte *)".eh_frame";\n            pbVar17 = local_78[0];\n            do {\n              if (lVar19 == 0) break;\n              lVar19 = lVar19 + -1;\n              bVar30 = *pbVar24 < *pbVar17;\n              bVar26 = *pbVar24 == *pbVar17;\n              pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n              pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n            } while (bVar26);\n            local_136 = (!bVar30 && !bVar26) != bVar30;\n            goto LAB_0019234a;\n          }\n        }\n      }\n    }" { (expression_statement "lVar19 = 0x11;" (assignment_expression "lVar19 = 0x11" identifier = number_literal) ;) (expression_statement "pbVar24 = (byte *)".data.rel.ro._ZTV";" (assignment_expression "pbVar24 = (byte *)".data.rel.ro._ZTV"" identifier = (cast_expression "(byte *)".data.rel.ro._ZTV"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".data.rel.ro._ZTV"" " string_content "))) ;) (expression_statement "pbVar17 = local_78[0];" (assignment_expression "pbVar17 = local_78[0]" identifier = (subscript_expression "local_78[0]" identifier [ number_literal ])) ;) (do_statement "do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar27 = *pbVar24 < *pbVar17;\n        bVar26 = *pbVar24 == *pbVar17;\n        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n      } while (bVar26);" do (compound_statement "{\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar27 = *pbVar24 < *pbVar17;\n        bVar26 = *pbVar24 == *pbVar17;\n        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n      }" { (if_statement "if (lVar19 == 0) break;" if (parenthesized_expression "(lVar19 == 0)" ( (binary_expression "lVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar19 = lVar19 + -1;" (assignment_expression "lVar19 = lVar19 + -1" identifier = (binary_expression "lVar19 + -1" identifier + number_literal)) ;) (expression_statement "bVar27 = *pbVar24 < *pbVar17;" (assignment_expression "bVar27 = *pbVar24 < *pbVar17" identifier = (binary_expression "*pbVar24 < *pbVar17" (pointer_expression "*pbVar24" * identifier) < (pointer_expression "*pbVar17" * identifier))) ;) (expression_statement "bVar26 = *pbVar24 == *pbVar17;" (assignment_expression "bVar26 = *pbVar24 == *pbVar17" identifier = (binary_expression "*pbVar24 == *pbVar17" (pointer_expression "*pbVar24" * identifier) == (pointer_expression "*pbVar17" * identifier))) ;) (expression_statement "pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1" identifier = (binary_expression "pbVar24 + (ulong)bVar31 * -2 + 1" (binary_expression "pbVar24 + (ulong)bVar31 * -2" identifier + (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;" (assignment_expression "pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1" identifier = (binary_expression "pbVar17 + (ulong)bVar31 * -2 + 1" (binary_expression "pbVar17 + (ulong)bVar31 * -2" identifier + (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar26)" ( identifier )) ;) (expression_statement "bVar30 = false;" (assignment_expression "bVar30 = false" identifier = false) ;) (expression_statement "bVar26 = (!bVar27 && !bVar26) == bVar27;" (assignment_expression "bVar26 = (!bVar27 && !bVar26) == bVar27" identifier = (binary_expression "(!bVar27 && !bVar26) == bVar27" (parenthesized_expression "(!bVar27 && !bVar26)" ( (binary_expression "!bVar27 && !bVar26" (unary_expression "!bVar27" ! identifier) && (unary_expression "!bVar26" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar26) {\n        lVar19 = 0xc;\n        pbVar24 = (byte *)".rodata._ZTC";\n        pbVar17 = local_78[0];\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          bVar30 = *pbVar24 < *pbVar17;\n          bVar26 = *pbVar24 == *pbVar17;\n          pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n          pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n        } while (bVar26);\n        bVar27 = false;\n        bVar26 = (!bVar30 && !bVar26) == bVar30;\n        if (!bVar26) {\n          lVar19 = 0x11;\n          pbVar24 = (byte *)".data.rel.ro._ZTC";\n          pbVar17 = local_78[0];\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar27 = *pbVar24 < *pbVar17;\n            bVar26 = *pbVar24 == *pbVar17;\n            pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n            pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n          } while (bVar26);\n          bVar30 = false;\n          bVar26 = (!bVar27 && !bVar26) == bVar27;\n          if (!bVar26) {\n            lVar19 = 9;\n            pbVar24 = (byte *)".eh_frame";\n            pbVar17 = local_78[0];\n            do {\n              if (lVar19 == 0) break;\n              lVar19 = lVar19 + -1;\n              bVar30 = *pbVar24 < *pbVar17;\n              bVar26 = *pbVar24 == *pbVar17;\n              pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n              pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n            } while (bVar26);\n            local_136 = (!bVar30 && !bVar26) != bVar30;\n            goto LAB_0019234a;\n          }\n        }\n      }" if (parenthesized_expression "(!bVar26)" ( (unary_expression "!bVar26" ! identifier) )) (compound_statement "{\n        lVar19 = 0xc;\n        pbVar24 = (byte *)".rodata._ZTC";\n        pbVar17 = local_78[0];\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          bVar30 = *pbVar24 < *pbVar17;\n          bVar26 = *pbVar24 == *pbVar17;\n          pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n          pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n        } while (bVar26);\n        bVar27 = false;\n        bVar26 = (!bVar30 && !bVar26) == bVar30;\n        if (!bVar26) {\n          lVar19 = 0x11;\n          pbVar24 = (byte *)".data.rel.ro._ZTC";\n          pbVar17 = local_78[0];\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar27 = *pbVar24 < *pbVar17;\n            bVar26 = *pbVar24 == *pbVar17;\n            pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n            pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n          } while (bVar26);\n          bVar30 = false;\n          bVar26 = (!bVar27 && !bVar26) == bVar27;\n          if (!bVar26) {\n            lVar19 = 9;\n            pbVar24 = (byte *)".eh_frame";\n            pbVar17 = local_78[0];\n            do {\n              if (lVar19 == 0) break;\n              lVar19 = lVar19 + -1;\n              bVar30 = *pbVar24 < *pbVar17;\n              bVar26 = *pbVar24 == *pbVar17;\n              pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n              pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n            } while (bVar26);\n            local_136 = (!bVar30 && !bVar26) != bVar30;\n            goto LAB_0019234a;\n          }\n        }\n      }" { (expression_statement "lVar19 = 0xc;" (assignment_expression "lVar19 = 0xc" identifier = number_literal) ;) (expression_statement "pbVar24 = (byte *)".rodata._ZTC";" (assignment_expression "pbVar24 = (byte *)".rodata._ZTC"" identifier = (cast_expression "(byte *)".rodata._ZTC"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".rodata._ZTC"" " string_content "))) ;) (expression_statement "pbVar17 = local_78[0];" (assignment_expression "pbVar17 = local_78[0]" identifier = (subscript_expression "local_78[0]" identifier [ number_literal ])) ;) (do_statement "do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          bVar30 = *pbVar24 < *pbVar17;\n          bVar26 = *pbVar24 == *pbVar17;\n          pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n          pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n        } while (bVar26);" do (compound_statement "{\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          bVar30 = *pbVar24 < *pbVar17;\n          bVar26 = *pbVar24 == *pbVar17;\n          pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n          pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n        }" { (if_statement "if (lVar19 == 0) break;" if (parenthesized_expression "(lVar19 == 0)" ( (binary_expression "lVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar19 = lVar19 + -1;" (assignment_expression "lVar19 = lVar19 + -1" identifier = (binary_expression "lVar19 + -1" identifier + number_literal)) ;) (expression_statement "bVar30 = *pbVar24 < *pbVar17;" (assignment_expression "bVar30 = *pbVar24 < *pbVar17" identifier = (binary_expression "*pbVar24 < *pbVar17" (pointer_expression "*pbVar24" * identifier) < (pointer_expression "*pbVar17" * identifier))) ;) (expression_statement "bVar26 = *pbVar24 == *pbVar17;" (assignment_expression "bVar26 = *pbVar24 == *pbVar17" identifier = (binary_expression "*pbVar24 == *pbVar17" (pointer_expression "*pbVar24" * identifier) == (pointer_expression "*pbVar17" * identifier))) ;) (expression_statement "pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1" identifier = (binary_expression "pbVar24 + (ulong)bVar31 * -2 + 1" (binary_expression "pbVar24 + (ulong)bVar31 * -2" identifier + (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;" (assignment_expression "pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1" identifier = (binary_expression "pbVar17 + (ulong)bVar31 * -2 + 1" (binary_expression "pbVar17 + (ulong)bVar31 * -2" identifier + (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar26)" ( identifier )) ;) (expression_statement "bVar27 = false;" (assignment_expression "bVar27 = false" identifier = false) ;) (expression_statement "bVar26 = (!bVar30 && !bVar26) == bVar30;" (assignment_expression "bVar26 = (!bVar30 && !bVar26) == bVar30" identifier = (binary_expression "(!bVar30 && !bVar26) == bVar30" (parenthesized_expression "(!bVar30 && !bVar26)" ( (binary_expression "!bVar30 && !bVar26" (unary_expression "!bVar30" ! identifier) && (unary_expression "!bVar26" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar26) {\n          lVar19 = 0x11;\n          pbVar24 = (byte *)".data.rel.ro._ZTC";\n          pbVar17 = local_78[0];\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar27 = *pbVar24 < *pbVar17;\n            bVar26 = *pbVar24 == *pbVar17;\n            pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n            pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n          } while (bVar26);\n          bVar30 = false;\n          bVar26 = (!bVar27 && !bVar26) == bVar27;\n          if (!bVar26) {\n            lVar19 = 9;\n            pbVar24 = (byte *)".eh_frame";\n            pbVar17 = local_78[0];\n            do {\n              if (lVar19 == 0) break;\n              lVar19 = lVar19 + -1;\n              bVar30 = *pbVar24 < *pbVar17;\n              bVar26 = *pbVar24 == *pbVar17;\n              pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n              pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n            } while (bVar26);\n            local_136 = (!bVar30 && !bVar26) != bVar30;\n            goto LAB_0019234a;\n          }\n        }" if (parenthesized_expression "(!bVar26)" ( (unary_expression "!bVar26" ! identifier) )) (compound_statement "{\n          lVar19 = 0x11;\n          pbVar24 = (byte *)".data.rel.ro._ZTC";\n          pbVar17 = local_78[0];\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar27 = *pbVar24 < *pbVar17;\n            bVar26 = *pbVar24 == *pbVar17;\n            pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n            pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n          } while (bVar26);\n          bVar30 = false;\n          bVar26 = (!bVar27 && !bVar26) == bVar27;\n          if (!bVar26) {\n            lVar19 = 9;\n            pbVar24 = (byte *)".eh_frame";\n            pbVar17 = local_78[0];\n            do {\n              if (lVar19 == 0) break;\n              lVar19 = lVar19 + -1;\n              bVar30 = *pbVar24 < *pbVar17;\n              bVar26 = *pbVar24 == *pbVar17;\n              pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n              pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n            } while (bVar26);\n            local_136 = (!bVar30 && !bVar26) != bVar30;\n            goto LAB_0019234a;\n          }\n        }" { (expression_statement "lVar19 = 0x11;" (assignment_expression "lVar19 = 0x11" identifier = number_literal) ;) (expression_statement "pbVar24 = (byte *)".data.rel.ro._ZTC";" (assignment_expression "pbVar24 = (byte *)".data.rel.ro._ZTC"" identifier = (cast_expression "(byte *)".data.rel.ro._ZTC"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".data.rel.ro._ZTC"" " string_content "))) ;) (expression_statement "pbVar17 = local_78[0];" (assignment_expression "pbVar17 = local_78[0]" identifier = (subscript_expression "local_78[0]" identifier [ number_literal ])) ;) (do_statement "do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar27 = *pbVar24 < *pbVar17;\n            bVar26 = *pbVar24 == *pbVar17;\n            pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n            pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n          } while (bVar26);" do (compound_statement "{\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar27 = *pbVar24 < *pbVar17;\n            bVar26 = *pbVar24 == *pbVar17;\n            pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n            pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n          }" { (if_statement "if (lVar19 == 0) break;" if (parenthesized_expression "(lVar19 == 0)" ( (binary_expression "lVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar19 = lVar19 + -1;" (assignment_expression "lVar19 = lVar19 + -1" identifier = (binary_expression "lVar19 + -1" identifier + number_literal)) ;) (expression_statement "bVar27 = *pbVar24 < *pbVar17;" (assignment_expression "bVar27 = *pbVar24 < *pbVar17" identifier = (binary_expression "*pbVar24 < *pbVar17" (pointer_expression "*pbVar24" * identifier) < (pointer_expression "*pbVar17" * identifier))) ;) (expression_statement "bVar26 = *pbVar24 == *pbVar17;" (assignment_expression "bVar26 = *pbVar24 == *pbVar17" identifier = (binary_expression "*pbVar24 == *pbVar17" (pointer_expression "*pbVar24" * identifier) == (pointer_expression "*pbVar17" * identifier))) ;) (expression_statement "pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1" identifier = (binary_expression "pbVar24 + (ulong)bVar31 * -2 + 1" (binary_expression "pbVar24 + (ulong)bVar31 * -2" identifier + (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;" (assignment_expression "pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1" identifier = (binary_expression "pbVar17 + (ulong)bVar31 * -2 + 1" (binary_expression "pbVar17 + (ulong)bVar31 * -2" identifier + (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar26)" ( identifier )) ;) (expression_statement "bVar30 = false;" (assignment_expression "bVar30 = false" identifier = false) ;) (expression_statement "bVar26 = (!bVar27 && !bVar26) == bVar27;" (assignment_expression "bVar26 = (!bVar27 && !bVar26) == bVar27" identifier = (binary_expression "(!bVar27 && !bVar26) == bVar27" (parenthesized_expression "(!bVar27 && !bVar26)" ( (binary_expression "!bVar27 && !bVar26" (unary_expression "!bVar27" ! identifier) && (unary_expression "!bVar26" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar26) {\n            lVar19 = 9;\n            pbVar24 = (byte *)".eh_frame";\n            pbVar17 = local_78[0];\n            do {\n              if (lVar19 == 0) break;\n              lVar19 = lVar19 + -1;\n              bVar30 = *pbVar24 < *pbVar17;\n              bVar26 = *pbVar24 == *pbVar17;\n              pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n              pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n            } while (bVar26);\n            local_136 = (!bVar30 && !bVar26) != bVar30;\n            goto LAB_0019234a;\n          }" if (parenthesized_expression "(!bVar26)" ( (unary_expression "!bVar26" ! identifier) )) (compound_statement "{\n            lVar19 = 9;\n            pbVar24 = (byte *)".eh_frame";\n            pbVar17 = local_78[0];\n            do {\n              if (lVar19 == 0) break;\n              lVar19 = lVar19 + -1;\n              bVar30 = *pbVar24 < *pbVar17;\n              bVar26 = *pbVar24 == *pbVar17;\n              pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n              pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n            } while (bVar26);\n            local_136 = (!bVar30 && !bVar26) != bVar30;\n            goto LAB_0019234a;\n          }" { (expression_statement "lVar19 = 9;" (assignment_expression "lVar19 = 9" identifier = number_literal) ;) (expression_statement "pbVar24 = (byte *)".eh_frame";" (assignment_expression "pbVar24 = (byte *)".eh_frame"" identifier = (cast_expression "(byte *)".eh_frame"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".eh_frame"" " string_content "))) ;) (expression_statement "pbVar17 = local_78[0];" (assignment_expression "pbVar17 = local_78[0]" identifier = (subscript_expression "local_78[0]" identifier [ number_literal ])) ;) (do_statement "do {\n              if (lVar19 == 0) break;\n              lVar19 = lVar19 + -1;\n              bVar30 = *pbVar24 < *pbVar17;\n              bVar26 = *pbVar24 == *pbVar17;\n              pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n              pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n            } while (bVar26);" do (compound_statement "{\n              if (lVar19 == 0) break;\n              lVar19 = lVar19 + -1;\n              bVar30 = *pbVar24 < *pbVar17;\n              bVar26 = *pbVar24 == *pbVar17;\n              pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n              pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n            }" { (if_statement "if (lVar19 == 0) break;" if (parenthesized_expression "(lVar19 == 0)" ( (binary_expression "lVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar19 = lVar19 + -1;" (assignment_expression "lVar19 = lVar19 + -1" identifier = (binary_expression "lVar19 + -1" identifier + number_literal)) ;) (expression_statement "bVar30 = *pbVar24 < *pbVar17;" (assignment_expression "bVar30 = *pbVar24 < *pbVar17" identifier = (binary_expression "*pbVar24 < *pbVar17" (pointer_expression "*pbVar24" * identifier) < (pointer_expression "*pbVar17" * identifier))) ;) (expression_statement "bVar26 = *pbVar24 == *pbVar17;" (assignment_expression "bVar26 = *pbVar24 == *pbVar17" identifier = (binary_expression "*pbVar24 == *pbVar17" (pointer_expression "*pbVar24" * identifier) == (pointer_expression "*pbVar17" * identifier))) ;) (expression_statement "pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1" identifier = (binary_expression "pbVar24 + (ulong)bVar31 * -2 + 1" (binary_expression "pbVar24 + (ulong)bVar31 * -2" identifier + (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;" (assignment_expression "pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1" identifier = (binary_expression "pbVar17 + (ulong)bVar31 * -2 + 1" (binary_expression "pbVar17 + (ulong)bVar31 * -2" identifier + (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar26)" ( identifier )) ;) (expression_statement "local_136 = (!bVar30 && !bVar26) != bVar30;" (assignment_expression "local_136 = (!bVar30 && !bVar26) != bVar30" identifier = (binary_expression "(!bVar30 && !bVar26) != bVar30" (parenthesized_expression "(!bVar30 && !bVar26)" ( (binary_expression "!bVar30 && !bVar26" (unary_expression "!bVar30" ! identifier) && (unary_expression "!bVar26" ! identifier)) )) != identifier)) ;) (goto_statement "goto LAB_0019234a;" goto statement_identifier ;) })) })) })) })) })) (expression_statement "local_136 = '\0';" (assignment_expression "local_136 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (labeled_statement "LAB_0019234a:\n  if (param_6 != 0) {\n    local_158 = (byte *)0x0;\n    local_120 = 0;\n    local_128 = param_5;\n    do {\n      uVar3 = local_128[1];\n      uVar4 = local_128[2];\n      uVar22 = uVar3 >> 8;\n      uVar7 = uVar3 & 0xff;\n      if (uVar22 < param_7) {\n        if (param_8 == 0) {\n                    \n          FUN_001e9890("../../gold/gc.h",0xea,"gc_process_relocs");\n        }\n        lVar19 = (ulong)(uVar22 << 4) + param_8;\n        uVar2 = *(ushort *)(lVar19 + 0xe);\n        uVar10 = (uint)uVar2;\n        if (uVar2 < 0xff00) {\nLAB_001924f6:\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (bVar28) {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = param_3;\n            FUN_001bdee0(local_178,&local_58);\n            bVar26 = true;\n            if ((*(byte *)(lVar19 + 0xc) & 0xf) == 3) goto LAB_0019253e;\nLAB_001923f0:\n            local_58 = (byte *)0x0;\n            FUN_001be560(local_170,&local_58);\n            goto LAB_0019240b;\n          }\n        }\n        else {\n          if (uVar2 == 0xffff) {\n            lVar14 = *(long *)(param_3 + 0x40);\n            if (lVar14 == 0) {\n              lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3);\n              *(long *)(param_3 + 0x40) = lVar14;\n            }\n            uVar10 = FUN_0022a020(lVar14,param_3,uVar22);\n            goto LAB_001924f6;\n          }\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (!bVar28) goto LAB_00192480;\n          local_58 = (byte *)0x0;\n          local_50 = local_50 & 0xffffffff00000000;\n                    \n          FUN_001bdee0(local_178,&local_58);\n          bVar26 = false;\n          if ((*(byte *)(lVar19 + 0xc) & 0xf) != 3) goto LAB_001923f0;\nLAB_0019253e:\n          local_58 = (byte *)0xffffffffffffffff;\n          FUN_001be560(local_170,&local_58);\nLAB_0019240b:\n          local_58 = pbVar24;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_a8 = (byte *)((ulong)local_a8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_a8);\n          if (!bVar26) goto LAB_00192480;\n        }\n        if (((local_136 != '\0') && ((*(byte *)(lVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar7 || ((0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) == 0)))) {\n          local_c0 = (uint)*(ushort *)(lVar19 + 0xe);\n          local_108 = *(long *)(param_1 + 0x298) + 0x68;\n          local_c8 = param_3;\n          FUN_001bcb90(local_108,&local_c8,&local_108,1);\n        }\n        pbVar24 = param_3;\n        if (param_4 != uVar10) {\nLAB_001925a8:\n          if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    \n            FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n          }\n          if (*(char *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809) != '\0') {\n            lVar14 = *(long *)(param_1 + 0x290);\n            lVar19 = lVar14 + 0x28;\n            lVar11 = lVar19;\n            lVar12 = lVar19;\n            lVar15 = *(long *)(lVar14 + 0x30);\n            local_b8 = param_3;\n            local_b0 = param_4;\n            local_a8 = pbVar24;\n            local_a0 = uVar10;\n            if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192660:\n              local_e8 = &local_b8;\n              lVar12 = FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a);\n            }\n            else {\n              do {\n                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }\n                lVar11 = lVar12;\n                lVar15 = *(long *)(lVar12 + 0x10);\n              } while (*(long *)(lVar12 + 0x10) != 0);\nLAB_0019263a:\n              if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))\n              goto LAB_00192660;\n            }\n            local_f0 = lVar12 + 0x30;\n            FUN_001bcaf0(local_f0,&local_a8,&local_f0,1);\n            plVar1 = *(long **)(PTR_DAT_004ba7c8 + 0x18);\n            if (plVar1 == (long *)0x0) {\n                    \n              FUN_001e9890("../../gold/parameters.h",0x73,"sized_target");\n            }\n            (**(code **)(*plVar1 + 0x208))(plVar1,param_1,param_3,param_4,pbVar24,uVar10,local_134);\n            if (local_158 != (byte *)0x0) {\n              lVar19 = *(long *)(param_1 + 0x290);\n              local_58 = local_48;\n              sVar13 = strlen((char *)local_158);\n              FUN_001bc4c0(&local_58,local_158,local_158 + sVar13);\n              lVar19 = FUN_001be060(lVar19 + 0x88,&local_58);\n              if (local_58 != local_48) {\n                FUN_00338a40();\n              }\n              lVar14 = *(long *)(param_1 + 0x290);\n              if (lVar19 != lVar14 + 0x90) {\n                lVar11 = lVar14 + 0x28;\n                local_50 = CONCAT44(local_50._4_4_,param_4);\n                lVar12 = lVar11;\n                lVar15 = lVar11;\n                lVar8 = *(long *)(lVar14 + 0x30);\n                if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }\n                else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }\n                for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;\n                    puVar5 = (undefined8 *)*puVar5) {\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (uVar22 < *(uint *)(param_3 + 0x120)) {\n          local_a8 = (byte *)0x0;\nLAB_00192adb:\n                    \n          FUN_001e9890("../../gold/gc.h",0x11c,"gc_process_relocs");\n        }\n        uVar23 = (ulong)(uVar22 - *(uint *)(param_3 + 0x120));\n        if ((ulong)(*(long *)(param_3 + 0x138) - *(long *)(param_3 + 0x130) >> 3) <= uVar23) {\n                    \n          FUN_001e9890("../../gold/object.h",0x8ad,"global_symbol");\n        }\n        local_a8 = *(byte **)(*(long *)(param_3 + 0x130) + uVar23 * 8);\n        if (local_a8 == (byte *)0x0) goto LAB_00192adb;\n        if ((local_a8[0x3a] & 0x10) != 0) {\n          local_a8 = (byte *)FUN_002ddad0(param_1,local_a8);\n        }\n        if ((local_a8[0x3a] & 7) == 0) {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          pbVar24 = *(byte **)(local_a8 + 0x10);\n          local_134 = uVar4 + local_150;\n          if ((pbVar24[0x3c] & 1) == 0) {\n            uVar10 = *(uint *)(local_a8 + 0x18);\n            bVar18 = local_a8[0x3b] >> 5 & 1;\n            uVar25 = (local_a8[0x38] & 0xf) < 2;\n            uVar29 = (local_a8[0x38] & 0xf) == 2;\n            if ((bool)uVar29) {\n              uVar25 = 0;\n              uVar29 = local_136 == '\0';\n              if (!(bool)uVar29) {\n                uVar25 = false;\n                uVar29 = bVar18 == 0;\n                if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }\n                local_100 = *(long *)(param_1 + 0x298) + 0x68;\n                local_d8 = pbVar24;\n                local_d0 = uVar10;\n                    \n                FUN_001bcb90(local_100,&local_d8,&local_100,1);\n              }\n            }\n          }\n          else {\n            bVar18 = 0;\n            uVar10 = 0;\n            uVar25 = 0;\n            pbVar24 = (byte *)0x0;\n            uVar29 = 1;\n          }\n        }\n        else {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          bVar18 = 0;\n          uVar10 = 0;\n          uVar25 = 0;\n          pbVar24 = (byte *)0x0;\n          uVar29 = 1;\n          local_134 = uVar4 + local_150;\n        }\nLAB_00192930:\n        pbVar17 = *(byte **)local_a8;\n        lVar19 = 8;\n        pbVar20 = (byte *)"__start_";\n        pbVar21 = pbVar17;\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          uVar25 = *pbVar20 < *pbVar21;\n          uVar29 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n          pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n        } while ((bool)uVar29);\n        bVar26 = false;\n        bVar30 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;\n        if (bVar30) {\n          pbVar17 = pbVar17 + 8;\n        }\n        else {\n          lVar19 = 7;\n          pbVar20 = (byte *)"__stop_";\n          pbVar21 = pbVar17;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar21;\n            bVar30 = *pbVar20 == *pbVar21;\n            pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n            pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n          } while (bVar30);\n          pbVar17 = pbVar17 + 7;\n          if ((!bVar26 && !bVar30) != bVar26) {\n            pbVar17 = local_158;\n          }\n        }\n        local_158 = pbVar17;\n        if (bVar28) {\n          if (bVar18 == 0) {\n            local_58 = (byte *)0x0;\n            local_50 = (ulong)local_50._4_4_ << 0x20;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          else {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = pbVar24;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          puVar5 = *(undefined8 **)(local_170 + 8);\n          if (puVar5 == *(undefined8 **)(local_170 + 0x10)) {\n            FUN_001bbf50(local_170,puVar5,&local_a8);\n          }\n          else {\n            *puVar5 = local_a8;\n            *(undefined8 **)(local_170 + 8) = puVar5 + 1;\n          }\n          local_58 = (byte *)(ulong)local_150;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_b8 = (byte *)((ulong)local_b8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_b8);\n        }\n        if (bVar18 != 0) goto LAB_001925a8;\n      }\nLAB_00192480:\n      local_120 = local_120 + 1;\n      local_128 = local_128 + 3;\n    } while (param_6 != local_120);\n  }" statement_identifier : (if_statement "if (param_6 != 0) {\n    local_158 = (byte *)0x0;\n    local_120 = 0;\n    local_128 = param_5;\n    do {\n      uVar3 = local_128[1];\n      uVar4 = local_128[2];\n      uVar22 = uVar3 >> 8;\n      uVar7 = uVar3 & 0xff;\n      if (uVar22 < param_7) {\n        if (param_8 == 0) {\n                    \n          FUN_001e9890("../../gold/gc.h",0xea,"gc_process_relocs");\n        }\n        lVar19 = (ulong)(uVar22 << 4) + param_8;\n        uVar2 = *(ushort *)(lVar19 + 0xe);\n        uVar10 = (uint)uVar2;\n        if (uVar2 < 0xff00) {\nLAB_001924f6:\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (bVar28) {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = param_3;\n            FUN_001bdee0(local_178,&local_58);\n            bVar26 = true;\n            if ((*(byte *)(lVar19 + 0xc) & 0xf) == 3) goto LAB_0019253e;\nLAB_001923f0:\n            local_58 = (byte *)0x0;\n            FUN_001be560(local_170,&local_58);\n            goto LAB_0019240b;\n          }\n        }\n        else {\n          if (uVar2 == 0xffff) {\n            lVar14 = *(long *)(param_3 + 0x40);\n            if (lVar14 == 0) {\n              lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3);\n              *(long *)(param_3 + 0x40) = lVar14;\n            }\n            uVar10 = FUN_0022a020(lVar14,param_3,uVar22);\n            goto LAB_001924f6;\n          }\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (!bVar28) goto LAB_00192480;\n          local_58 = (byte *)0x0;\n          local_50 = local_50 & 0xffffffff00000000;\n                    \n          FUN_001bdee0(local_178,&local_58);\n          bVar26 = false;\n          if ((*(byte *)(lVar19 + 0xc) & 0xf) != 3) goto LAB_001923f0;\nLAB_0019253e:\n          local_58 = (byte *)0xffffffffffffffff;\n          FUN_001be560(local_170,&local_58);\nLAB_0019240b:\n          local_58 = pbVar24;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_a8 = (byte *)((ulong)local_a8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_a8);\n          if (!bVar26) goto LAB_00192480;\n        }\n        if (((local_136 != '\0') && ((*(byte *)(lVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar7 || ((0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) == 0)))) {\n          local_c0 = (uint)*(ushort *)(lVar19 + 0xe);\n          local_108 = *(long *)(param_1 + 0x298) + 0x68;\n          local_c8 = param_3;\n          FUN_001bcb90(local_108,&local_c8,&local_108,1);\n        }\n        pbVar24 = param_3;\n        if (param_4 != uVar10) {\nLAB_001925a8:\n          if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    \n            FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n          }\n          if (*(char *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809) != '\0') {\n            lVar14 = *(long *)(param_1 + 0x290);\n            lVar19 = lVar14 + 0x28;\n            lVar11 = lVar19;\n            lVar12 = lVar19;\n            lVar15 = *(long *)(lVar14 + 0x30);\n            local_b8 = param_3;\n            local_b0 = param_4;\n            local_a8 = pbVar24;\n            local_a0 = uVar10;\n            if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192660:\n              local_e8 = &local_b8;\n              lVar12 = FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a);\n            }\n            else {\n              do {\n                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }\n                lVar11 = lVar12;\n                lVar15 = *(long *)(lVar12 + 0x10);\n              } while (*(long *)(lVar12 + 0x10) != 0);\nLAB_0019263a:\n              if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))\n              goto LAB_00192660;\n            }\n            local_f0 = lVar12 + 0x30;\n            FUN_001bcaf0(local_f0,&local_a8,&local_f0,1);\n            plVar1 = *(long **)(PTR_DAT_004ba7c8 + 0x18);\n            if (plVar1 == (long *)0x0) {\n                    \n              FUN_001e9890("../../gold/parameters.h",0x73,"sized_target");\n            }\n            (**(code **)(*plVar1 + 0x208))(plVar1,param_1,param_3,param_4,pbVar24,uVar10,local_134);\n            if (local_158 != (byte *)0x0) {\n              lVar19 = *(long *)(param_1 + 0x290);\n              local_58 = local_48;\n              sVar13 = strlen((char *)local_158);\n              FUN_001bc4c0(&local_58,local_158,local_158 + sVar13);\n              lVar19 = FUN_001be060(lVar19 + 0x88,&local_58);\n              if (local_58 != local_48) {\n                FUN_00338a40();\n              }\n              lVar14 = *(long *)(param_1 + 0x290);\n              if (lVar19 != lVar14 + 0x90) {\n                lVar11 = lVar14 + 0x28;\n                local_50 = CONCAT44(local_50._4_4_,param_4);\n                lVar12 = lVar11;\n                lVar15 = lVar11;\n                lVar8 = *(long *)(lVar14 + 0x30);\n                if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }\n                else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }\n                for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;\n                    puVar5 = (undefined8 *)*puVar5) {\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (uVar22 < *(uint *)(param_3 + 0x120)) {\n          local_a8 = (byte *)0x0;\nLAB_00192adb:\n                    \n          FUN_001e9890("../../gold/gc.h",0x11c,"gc_process_relocs");\n        }\n        uVar23 = (ulong)(uVar22 - *(uint *)(param_3 + 0x120));\n        if ((ulong)(*(long *)(param_3 + 0x138) - *(long *)(param_3 + 0x130) >> 3) <= uVar23) {\n                    \n          FUN_001e9890("../../gold/object.h",0x8ad,"global_symbol");\n        }\n        local_a8 = *(byte **)(*(long *)(param_3 + 0x130) + uVar23 * 8);\n        if (local_a8 == (byte *)0x0) goto LAB_00192adb;\n        if ((local_a8[0x3a] & 0x10) != 0) {\n          local_a8 = (byte *)FUN_002ddad0(param_1,local_a8);\n        }\n        if ((local_a8[0x3a] & 7) == 0) {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          pbVar24 = *(byte **)(local_a8 + 0x10);\n          local_134 = uVar4 + local_150;\n          if ((pbVar24[0x3c] & 1) == 0) {\n            uVar10 = *(uint *)(local_a8 + 0x18);\n            bVar18 = local_a8[0x3b] >> 5 & 1;\n            uVar25 = (local_a8[0x38] & 0xf) < 2;\n            uVar29 = (local_a8[0x38] & 0xf) == 2;\n            if ((bool)uVar29) {\n              uVar25 = 0;\n              uVar29 = local_136 == '\0';\n              if (!(bool)uVar29) {\n                uVar25 = false;\n                uVar29 = bVar18 == 0;\n                if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }\n                local_100 = *(long *)(param_1 + 0x298) + 0x68;\n                local_d8 = pbVar24;\n                local_d0 = uVar10;\n                    \n                FUN_001bcb90(local_100,&local_d8,&local_100,1);\n              }\n            }\n          }\n          else {\n            bVar18 = 0;\n            uVar10 = 0;\n            uVar25 = 0;\n            pbVar24 = (byte *)0x0;\n            uVar29 = 1;\n          }\n        }\n        else {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          bVar18 = 0;\n          uVar10 = 0;\n          uVar25 = 0;\n          pbVar24 = (byte *)0x0;\n          uVar29 = 1;\n          local_134 = uVar4 + local_150;\n        }\nLAB_00192930:\n        pbVar17 = *(byte **)local_a8;\n        lVar19 = 8;\n        pbVar20 = (byte *)"__start_";\n        pbVar21 = pbVar17;\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          uVar25 = *pbVar20 < *pbVar21;\n          uVar29 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n          pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n        } while ((bool)uVar29);\n        bVar26 = false;\n        bVar30 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;\n        if (bVar30) {\n          pbVar17 = pbVar17 + 8;\n        }\n        else {\n          lVar19 = 7;\n          pbVar20 = (byte *)"__stop_";\n          pbVar21 = pbVar17;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar21;\n            bVar30 = *pbVar20 == *pbVar21;\n            pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n            pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n          } while (bVar30);\n          pbVar17 = pbVar17 + 7;\n          if ((!bVar26 && !bVar30) != bVar26) {\n            pbVar17 = local_158;\n          }\n        }\n        local_158 = pbVar17;\n        if (bVar28) {\n          if (bVar18 == 0) {\n            local_58 = (byte *)0x0;\n            local_50 = (ulong)local_50._4_4_ << 0x20;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          else {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = pbVar24;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          puVar5 = *(undefined8 **)(local_170 + 8);\n          if (puVar5 == *(undefined8 **)(local_170 + 0x10)) {\n            FUN_001bbf50(local_170,puVar5,&local_a8);\n          }\n          else {\n            *puVar5 = local_a8;\n            *(undefined8 **)(local_170 + 8) = puVar5 + 1;\n          }\n          local_58 = (byte *)(ulong)local_150;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_b8 = (byte *)((ulong)local_b8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_b8);\n        }\n        if (bVar18 != 0) goto LAB_001925a8;\n      }\nLAB_00192480:\n      local_120 = local_120 + 1;\n      local_128 = local_128 + 3;\n    } while (param_6 != local_120);\n  }" if (parenthesized_expression "(param_6 != 0)" ( (binary_expression "param_6 != 0" identifier != number_literal) )) (compound_statement "{\n    local_158 = (byte *)0x0;\n    local_120 = 0;\n    local_128 = param_5;\n    do {\n      uVar3 = local_128[1];\n      uVar4 = local_128[2];\n      uVar22 = uVar3 >> 8;\n      uVar7 = uVar3 & 0xff;\n      if (uVar22 < param_7) {\n        if (param_8 == 0) {\n                    \n          FUN_001e9890("../../gold/gc.h",0xea,"gc_process_relocs");\n        }\n        lVar19 = (ulong)(uVar22 << 4) + param_8;\n        uVar2 = *(ushort *)(lVar19 + 0xe);\n        uVar10 = (uint)uVar2;\n        if (uVar2 < 0xff00) {\nLAB_001924f6:\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (bVar28) {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = param_3;\n            FUN_001bdee0(local_178,&local_58);\n            bVar26 = true;\n            if ((*(byte *)(lVar19 + 0xc) & 0xf) == 3) goto LAB_0019253e;\nLAB_001923f0:\n            local_58 = (byte *)0x0;\n            FUN_001be560(local_170,&local_58);\n            goto LAB_0019240b;\n          }\n        }\n        else {\n          if (uVar2 == 0xffff) {\n            lVar14 = *(long *)(param_3 + 0x40);\n            if (lVar14 == 0) {\n              lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3);\n              *(long *)(param_3 + 0x40) = lVar14;\n            }\n            uVar10 = FUN_0022a020(lVar14,param_3,uVar22);\n            goto LAB_001924f6;\n          }\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (!bVar28) goto LAB_00192480;\n          local_58 = (byte *)0x0;\n          local_50 = local_50 & 0xffffffff00000000;\n                    \n          FUN_001bdee0(local_178,&local_58);\n          bVar26 = false;\n          if ((*(byte *)(lVar19 + 0xc) & 0xf) != 3) goto LAB_001923f0;\nLAB_0019253e:\n          local_58 = (byte *)0xffffffffffffffff;\n          FUN_001be560(local_170,&local_58);\nLAB_0019240b:\n          local_58 = pbVar24;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_a8 = (byte *)((ulong)local_a8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_a8);\n          if (!bVar26) goto LAB_00192480;\n        }\n        if (((local_136 != '\0') && ((*(byte *)(lVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar7 || ((0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) == 0)))) {\n          local_c0 = (uint)*(ushort *)(lVar19 + 0xe);\n          local_108 = *(long *)(param_1 + 0x298) + 0x68;\n          local_c8 = param_3;\n          FUN_001bcb90(local_108,&local_c8,&local_108,1);\n        }\n        pbVar24 = param_3;\n        if (param_4 != uVar10) {\nLAB_001925a8:\n          if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    \n            FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n          }\n          if (*(char *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809) != '\0') {\n            lVar14 = *(long *)(param_1 + 0x290);\n            lVar19 = lVar14 + 0x28;\n            lVar11 = lVar19;\n            lVar12 = lVar19;\n            lVar15 = *(long *)(lVar14 + 0x30);\n            local_b8 = param_3;\n            local_b0 = param_4;\n            local_a8 = pbVar24;\n            local_a0 = uVar10;\n            if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192660:\n              local_e8 = &local_b8;\n              lVar12 = FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a);\n            }\n            else {\n              do {\n                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }\n                lVar11 = lVar12;\n                lVar15 = *(long *)(lVar12 + 0x10);\n              } while (*(long *)(lVar12 + 0x10) != 0);\nLAB_0019263a:\n              if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))\n              goto LAB_00192660;\n            }\n            local_f0 = lVar12 + 0x30;\n            FUN_001bcaf0(local_f0,&local_a8,&local_f0,1);\n            plVar1 = *(long **)(PTR_DAT_004ba7c8 + 0x18);\n            if (plVar1 == (long *)0x0) {\n                    \n              FUN_001e9890("../../gold/parameters.h",0x73,"sized_target");\n            }\n            (**(code **)(*plVar1 + 0x208))(plVar1,param_1,param_3,param_4,pbVar24,uVar10,local_134);\n            if (local_158 != (byte *)0x0) {\n              lVar19 = *(long *)(param_1 + 0x290);\n              local_58 = local_48;\n              sVar13 = strlen((char *)local_158);\n              FUN_001bc4c0(&local_58,local_158,local_158 + sVar13);\n              lVar19 = FUN_001be060(lVar19 + 0x88,&local_58);\n              if (local_58 != local_48) {\n                FUN_00338a40();\n              }\n              lVar14 = *(long *)(param_1 + 0x290);\n              if (lVar19 != lVar14 + 0x90) {\n                lVar11 = lVar14 + 0x28;\n                local_50 = CONCAT44(local_50._4_4_,param_4);\n                lVar12 = lVar11;\n                lVar15 = lVar11;\n                lVar8 = *(long *)(lVar14 + 0x30);\n                if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }\n                else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }\n                for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;\n                    puVar5 = (undefined8 *)*puVar5) {\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (uVar22 < *(uint *)(param_3 + 0x120)) {\n          local_a8 = (byte *)0x0;\nLAB_00192adb:\n                    \n          FUN_001e9890("../../gold/gc.h",0x11c,"gc_process_relocs");\n        }\n        uVar23 = (ulong)(uVar22 - *(uint *)(param_3 + 0x120));\n        if ((ulong)(*(long *)(param_3 + 0x138) - *(long *)(param_3 + 0x130) >> 3) <= uVar23) {\n                    \n          FUN_001e9890("../../gold/object.h",0x8ad,"global_symbol");\n        }\n        local_a8 = *(byte **)(*(long *)(param_3 + 0x130) + uVar23 * 8);\n        if (local_a8 == (byte *)0x0) goto LAB_00192adb;\n        if ((local_a8[0x3a] & 0x10) != 0) {\n          local_a8 = (byte *)FUN_002ddad0(param_1,local_a8);\n        }\n        if ((local_a8[0x3a] & 7) == 0) {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          pbVar24 = *(byte **)(local_a8 + 0x10);\n          local_134 = uVar4 + local_150;\n          if ((pbVar24[0x3c] & 1) == 0) {\n            uVar10 = *(uint *)(local_a8 + 0x18);\n            bVar18 = local_a8[0x3b] >> 5 & 1;\n            uVar25 = (local_a8[0x38] & 0xf) < 2;\n            uVar29 = (local_a8[0x38] & 0xf) == 2;\n            if ((bool)uVar29) {\n              uVar25 = 0;\n              uVar29 = local_136 == '\0';\n              if (!(bool)uVar29) {\n                uVar25 = false;\n                uVar29 = bVar18 == 0;\n                if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }\n                local_100 = *(long *)(param_1 + 0x298) + 0x68;\n                local_d8 = pbVar24;\n                local_d0 = uVar10;\n                    \n                FUN_001bcb90(local_100,&local_d8,&local_100,1);\n              }\n            }\n          }\n          else {\n            bVar18 = 0;\n            uVar10 = 0;\n            uVar25 = 0;\n            pbVar24 = (byte *)0x0;\n            uVar29 = 1;\n          }\n        }\n        else {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          bVar18 = 0;\n          uVar10 = 0;\n          uVar25 = 0;\n          pbVar24 = (byte *)0x0;\n          uVar29 = 1;\n          local_134 = uVar4 + local_150;\n        }\nLAB_00192930:\n        pbVar17 = *(byte **)local_a8;\n        lVar19 = 8;\n        pbVar20 = (byte *)"__start_";\n        pbVar21 = pbVar17;\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          uVar25 = *pbVar20 < *pbVar21;\n          uVar29 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n          pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n        } while ((bool)uVar29);\n        bVar26 = false;\n        bVar30 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;\n        if (bVar30) {\n          pbVar17 = pbVar17 + 8;\n        }\n        else {\n          lVar19 = 7;\n          pbVar20 = (byte *)"__stop_";\n          pbVar21 = pbVar17;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar21;\n            bVar30 = *pbVar20 == *pbVar21;\n            pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n            pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n          } while (bVar30);\n          pbVar17 = pbVar17 + 7;\n          if ((!bVar26 && !bVar30) != bVar26) {\n            pbVar17 = local_158;\n          }\n        }\n        local_158 = pbVar17;\n        if (bVar28) {\n          if (bVar18 == 0) {\n            local_58 = (byte *)0x0;\n            local_50 = (ulong)local_50._4_4_ << 0x20;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          else {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = pbVar24;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          puVar5 = *(undefined8 **)(local_170 + 8);\n          if (puVar5 == *(undefined8 **)(local_170 + 0x10)) {\n            FUN_001bbf50(local_170,puVar5,&local_a8);\n          }\n          else {\n            *puVar5 = local_a8;\n            *(undefined8 **)(local_170 + 8) = puVar5 + 1;\n          }\n          local_58 = (byte *)(ulong)local_150;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_b8 = (byte *)((ulong)local_b8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_b8);\n        }\n        if (bVar18 != 0) goto LAB_001925a8;\n      }\nLAB_00192480:\n      local_120 = local_120 + 1;\n      local_128 = local_128 + 3;\n    } while (param_6 != local_120);\n  }" { (expression_statement "local_158 = (byte *)0x0;" (assignment_expression "local_158 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_120 = 0;" (assignment_expression "local_120 = 0" identifier = number_literal) ;) (expression_statement "local_128 = param_5;" (assignment_expression "local_128 = param_5" identifier = identifier) ;) (do_statement "do {\n      uVar3 = local_128[1];\n      uVar4 = local_128[2];\n      uVar22 = uVar3 >> 8;\n      uVar7 = uVar3 & 0xff;\n      if (uVar22 < param_7) {\n        if (param_8 == 0) {\n                    \n          FUN_001e9890("../../gold/gc.h",0xea,"gc_process_relocs");\n        }\n        lVar19 = (ulong)(uVar22 << 4) + param_8;\n        uVar2 = *(ushort *)(lVar19 + 0xe);\n        uVar10 = (uint)uVar2;\n        if (uVar2 < 0xff00) {\nLAB_001924f6:\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (bVar28) {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = param_3;\n            FUN_001bdee0(local_178,&local_58);\n            bVar26 = true;\n            if ((*(byte *)(lVar19 + 0xc) & 0xf) == 3) goto LAB_0019253e;\nLAB_001923f0:\n            local_58 = (byte *)0x0;\n            FUN_001be560(local_170,&local_58);\n            goto LAB_0019240b;\n          }\n        }\n        else {\n          if (uVar2 == 0xffff) {\n            lVar14 = *(long *)(param_3 + 0x40);\n            if (lVar14 == 0) {\n              lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3);\n              *(long *)(param_3 + 0x40) = lVar14;\n            }\n            uVar10 = FUN_0022a020(lVar14,param_3,uVar22);\n            goto LAB_001924f6;\n          }\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (!bVar28) goto LAB_00192480;\n          local_58 = (byte *)0x0;\n          local_50 = local_50 & 0xffffffff00000000;\n                    \n          FUN_001bdee0(local_178,&local_58);\n          bVar26 = false;\n          if ((*(byte *)(lVar19 + 0xc) & 0xf) != 3) goto LAB_001923f0;\nLAB_0019253e:\n          local_58 = (byte *)0xffffffffffffffff;\n          FUN_001be560(local_170,&local_58);\nLAB_0019240b:\n          local_58 = pbVar24;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_a8 = (byte *)((ulong)local_a8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_a8);\n          if (!bVar26) goto LAB_00192480;\n        }\n        if (((local_136 != '\0') && ((*(byte *)(lVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar7 || ((0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) == 0)))) {\n          local_c0 = (uint)*(ushort *)(lVar19 + 0xe);\n          local_108 = *(long *)(param_1 + 0x298) + 0x68;\n          local_c8 = param_3;\n          FUN_001bcb90(local_108,&local_c8,&local_108,1);\n        }\n        pbVar24 = param_3;\n        if (param_4 != uVar10) {\nLAB_001925a8:\n          if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    \n            FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n          }\n          if (*(char *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809) != '\0') {\n            lVar14 = *(long *)(param_1 + 0x290);\n            lVar19 = lVar14 + 0x28;\n            lVar11 = lVar19;\n            lVar12 = lVar19;\n            lVar15 = *(long *)(lVar14 + 0x30);\n            local_b8 = param_3;\n            local_b0 = param_4;\n            local_a8 = pbVar24;\n            local_a0 = uVar10;\n            if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192660:\n              local_e8 = &local_b8;\n              lVar12 = FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a);\n            }\n            else {\n              do {\n                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }\n                lVar11 = lVar12;\n                lVar15 = *(long *)(lVar12 + 0x10);\n              } while (*(long *)(lVar12 + 0x10) != 0);\nLAB_0019263a:\n              if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))\n              goto LAB_00192660;\n            }\n            local_f0 = lVar12 + 0x30;\n            FUN_001bcaf0(local_f0,&local_a8,&local_f0,1);\n            plVar1 = *(long **)(PTR_DAT_004ba7c8 + 0x18);\n            if (plVar1 == (long *)0x0) {\n                    \n              FUN_001e9890("../../gold/parameters.h",0x73,"sized_target");\n            }\n            (**(code **)(*plVar1 + 0x208))(plVar1,param_1,param_3,param_4,pbVar24,uVar10,local_134);\n            if (local_158 != (byte *)0x0) {\n              lVar19 = *(long *)(param_1 + 0x290);\n              local_58 = local_48;\n              sVar13 = strlen((char *)local_158);\n              FUN_001bc4c0(&local_58,local_158,local_158 + sVar13);\n              lVar19 = FUN_001be060(lVar19 + 0x88,&local_58);\n              if (local_58 != local_48) {\n                FUN_00338a40();\n              }\n              lVar14 = *(long *)(param_1 + 0x290);\n              if (lVar19 != lVar14 + 0x90) {\n                lVar11 = lVar14 + 0x28;\n                local_50 = CONCAT44(local_50._4_4_,param_4);\n                lVar12 = lVar11;\n                lVar15 = lVar11;\n                lVar8 = *(long *)(lVar14 + 0x30);\n                if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }\n                else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }\n                for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;\n                    puVar5 = (undefined8 *)*puVar5) {\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (uVar22 < *(uint *)(param_3 + 0x120)) {\n          local_a8 = (byte *)0x0;\nLAB_00192adb:\n                    \n          FUN_001e9890("../../gold/gc.h",0x11c,"gc_process_relocs");\n        }\n        uVar23 = (ulong)(uVar22 - *(uint *)(param_3 + 0x120));\n        if ((ulong)(*(long *)(param_3 + 0x138) - *(long *)(param_3 + 0x130) >> 3) <= uVar23) {\n                    \n          FUN_001e9890("../../gold/object.h",0x8ad,"global_symbol");\n        }\n        local_a8 = *(byte **)(*(long *)(param_3 + 0x130) + uVar23 * 8);\n        if (local_a8 == (byte *)0x0) goto LAB_00192adb;\n        if ((local_a8[0x3a] & 0x10) != 0) {\n          local_a8 = (byte *)FUN_002ddad0(param_1,local_a8);\n        }\n        if ((local_a8[0x3a] & 7) == 0) {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          pbVar24 = *(byte **)(local_a8 + 0x10);\n          local_134 = uVar4 + local_150;\n          if ((pbVar24[0x3c] & 1) == 0) {\n            uVar10 = *(uint *)(local_a8 + 0x18);\n            bVar18 = local_a8[0x3b] >> 5 & 1;\n            uVar25 = (local_a8[0x38] & 0xf) < 2;\n            uVar29 = (local_a8[0x38] & 0xf) == 2;\n            if ((bool)uVar29) {\n              uVar25 = 0;\n              uVar29 = local_136 == '\0';\n              if (!(bool)uVar29) {\n                uVar25 = false;\n                uVar29 = bVar18 == 0;\n                if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }\n                local_100 = *(long *)(param_1 + 0x298) + 0x68;\n                local_d8 = pbVar24;\n                local_d0 = uVar10;\n                    \n                FUN_001bcb90(local_100,&local_d8,&local_100,1);\n              }\n            }\n          }\n          else {\n            bVar18 = 0;\n            uVar10 = 0;\n            uVar25 = 0;\n            pbVar24 = (byte *)0x0;\n            uVar29 = 1;\n          }\n        }\n        else {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          bVar18 = 0;\n          uVar10 = 0;\n          uVar25 = 0;\n          pbVar24 = (byte *)0x0;\n          uVar29 = 1;\n          local_134 = uVar4 + local_150;\n        }\nLAB_00192930:\n        pbVar17 = *(byte **)local_a8;\n        lVar19 = 8;\n        pbVar20 = (byte *)"__start_";\n        pbVar21 = pbVar17;\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          uVar25 = *pbVar20 < *pbVar21;\n          uVar29 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n          pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n        } while ((bool)uVar29);\n        bVar26 = false;\n        bVar30 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;\n        if (bVar30) {\n          pbVar17 = pbVar17 + 8;\n        }\n        else {\n          lVar19 = 7;\n          pbVar20 = (byte *)"__stop_";\n          pbVar21 = pbVar17;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar21;\n            bVar30 = *pbVar20 == *pbVar21;\n            pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n            pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n          } while (bVar30);\n          pbVar17 = pbVar17 + 7;\n          if ((!bVar26 && !bVar30) != bVar26) {\n            pbVar17 = local_158;\n          }\n        }\n        local_158 = pbVar17;\n        if (bVar28) {\n          if (bVar18 == 0) {\n            local_58 = (byte *)0x0;\n            local_50 = (ulong)local_50._4_4_ << 0x20;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          else {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = pbVar24;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          puVar5 = *(undefined8 **)(local_170 + 8);\n          if (puVar5 == *(undefined8 **)(local_170 + 0x10)) {\n            FUN_001bbf50(local_170,puVar5,&local_a8);\n          }\n          else {\n            *puVar5 = local_a8;\n            *(undefined8 **)(local_170 + 8) = puVar5 + 1;\n          }\n          local_58 = (byte *)(ulong)local_150;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_b8 = (byte *)((ulong)local_b8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_b8);\n        }\n        if (bVar18 != 0) goto LAB_001925a8;\n      }\nLAB_00192480:\n      local_120 = local_120 + 1;\n      local_128 = local_128 + 3;\n    } while (param_6 != local_120);" do (compound_statement "{\n      uVar3 = local_128[1];\n      uVar4 = local_128[2];\n      uVar22 = uVar3 >> 8;\n      uVar7 = uVar3 & 0xff;\n      if (uVar22 < param_7) {\n        if (param_8 == 0) {\n                    \n          FUN_001e9890("../../gold/gc.h",0xea,"gc_process_relocs");\n        }\n        lVar19 = (ulong)(uVar22 << 4) + param_8;\n        uVar2 = *(ushort *)(lVar19 + 0xe);\n        uVar10 = (uint)uVar2;\n        if (uVar2 < 0xff00) {\nLAB_001924f6:\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (bVar28) {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = param_3;\n            FUN_001bdee0(local_178,&local_58);\n            bVar26 = true;\n            if ((*(byte *)(lVar19 + 0xc) & 0xf) == 3) goto LAB_0019253e;\nLAB_001923f0:\n            local_58 = (byte *)0x0;\n            FUN_001be560(local_170,&local_58);\n            goto LAB_0019240b;\n          }\n        }\n        else {\n          if (uVar2 == 0xffff) {\n            lVar14 = *(long *)(param_3 + 0x40);\n            if (lVar14 == 0) {\n              lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3);\n              *(long *)(param_3 + 0x40) = lVar14;\n            }\n            uVar10 = FUN_0022a020(lVar14,param_3,uVar22);\n            goto LAB_001924f6;\n          }\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (!bVar28) goto LAB_00192480;\n          local_58 = (byte *)0x0;\n          local_50 = local_50 & 0xffffffff00000000;\n                    \n          FUN_001bdee0(local_178,&local_58);\n          bVar26 = false;\n          if ((*(byte *)(lVar19 + 0xc) & 0xf) != 3) goto LAB_001923f0;\nLAB_0019253e:\n          local_58 = (byte *)0xffffffffffffffff;\n          FUN_001be560(local_170,&local_58);\nLAB_0019240b:\n          local_58 = pbVar24;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_a8 = (byte *)((ulong)local_a8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_a8);\n          if (!bVar26) goto LAB_00192480;\n        }\n        if (((local_136 != '\0') && ((*(byte *)(lVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar7 || ((0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) == 0)))) {\n          local_c0 = (uint)*(ushort *)(lVar19 + 0xe);\n          local_108 = *(long *)(param_1 + 0x298) + 0x68;\n          local_c8 = param_3;\n          FUN_001bcb90(local_108,&local_c8,&local_108,1);\n        }\n        pbVar24 = param_3;\n        if (param_4 != uVar10) {\nLAB_001925a8:\n          if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    \n            FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n          }\n          if (*(char *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809) != '\0') {\n            lVar14 = *(long *)(param_1 + 0x290);\n            lVar19 = lVar14 + 0x28;\n            lVar11 = lVar19;\n            lVar12 = lVar19;\n            lVar15 = *(long *)(lVar14 + 0x30);\n            local_b8 = param_3;\n            local_b0 = param_4;\n            local_a8 = pbVar24;\n            local_a0 = uVar10;\n            if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192660:\n              local_e8 = &local_b8;\n              lVar12 = FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a);\n            }\n            else {\n              do {\n                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }\n                lVar11 = lVar12;\n                lVar15 = *(long *)(lVar12 + 0x10);\n              } while (*(long *)(lVar12 + 0x10) != 0);\nLAB_0019263a:\n              if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))\n              goto LAB_00192660;\n            }\n            local_f0 = lVar12 + 0x30;\n            FUN_001bcaf0(local_f0,&local_a8,&local_f0,1);\n            plVar1 = *(long **)(PTR_DAT_004ba7c8 + 0x18);\n            if (plVar1 == (long *)0x0) {\n                    \n              FUN_001e9890("../../gold/parameters.h",0x73,"sized_target");\n            }\n            (**(code **)(*plVar1 + 0x208))(plVar1,param_1,param_3,param_4,pbVar24,uVar10,local_134);\n            if (local_158 != (byte *)0x0) {\n              lVar19 = *(long *)(param_1 + 0x290);\n              local_58 = local_48;\n              sVar13 = strlen((char *)local_158);\n              FUN_001bc4c0(&local_58,local_158,local_158 + sVar13);\n              lVar19 = FUN_001be060(lVar19 + 0x88,&local_58);\n              if (local_58 != local_48) {\n                FUN_00338a40();\n              }\n              lVar14 = *(long *)(param_1 + 0x290);\n              if (lVar19 != lVar14 + 0x90) {\n                lVar11 = lVar14 + 0x28;\n                local_50 = CONCAT44(local_50._4_4_,param_4);\n                lVar12 = lVar11;\n                lVar15 = lVar11;\n                lVar8 = *(long *)(lVar14 + 0x30);\n                if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }\n                else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }\n                for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;\n                    puVar5 = (undefined8 *)*puVar5) {\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (uVar22 < *(uint *)(param_3 + 0x120)) {\n          local_a8 = (byte *)0x0;\nLAB_00192adb:\n                    \n          FUN_001e9890("../../gold/gc.h",0x11c,"gc_process_relocs");\n        }\n        uVar23 = (ulong)(uVar22 - *(uint *)(param_3 + 0x120));\n        if ((ulong)(*(long *)(param_3 + 0x138) - *(long *)(param_3 + 0x130) >> 3) <= uVar23) {\n                    \n          FUN_001e9890("../../gold/object.h",0x8ad,"global_symbol");\n        }\n        local_a8 = *(byte **)(*(long *)(param_3 + 0x130) + uVar23 * 8);\n        if (local_a8 == (byte *)0x0) goto LAB_00192adb;\n        if ((local_a8[0x3a] & 0x10) != 0) {\n          local_a8 = (byte *)FUN_002ddad0(param_1,local_a8);\n        }\n        if ((local_a8[0x3a] & 7) == 0) {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          pbVar24 = *(byte **)(local_a8 + 0x10);\n          local_134 = uVar4 + local_150;\n          if ((pbVar24[0x3c] & 1) == 0) {\n            uVar10 = *(uint *)(local_a8 + 0x18);\n            bVar18 = local_a8[0x3b] >> 5 & 1;\n            uVar25 = (local_a8[0x38] & 0xf) < 2;\n            uVar29 = (local_a8[0x38] & 0xf) == 2;\n            if ((bool)uVar29) {\n              uVar25 = 0;\n              uVar29 = local_136 == '\0';\n              if (!(bool)uVar29) {\n                uVar25 = false;\n                uVar29 = bVar18 == 0;\n                if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }\n                local_100 = *(long *)(param_1 + 0x298) + 0x68;\n                local_d8 = pbVar24;\n                local_d0 = uVar10;\n                    \n                FUN_001bcb90(local_100,&local_d8,&local_100,1);\n              }\n            }\n          }\n          else {\n            bVar18 = 0;\n            uVar10 = 0;\n            uVar25 = 0;\n            pbVar24 = (byte *)0x0;\n            uVar29 = 1;\n          }\n        }\n        else {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          bVar18 = 0;\n          uVar10 = 0;\n          uVar25 = 0;\n          pbVar24 = (byte *)0x0;\n          uVar29 = 1;\n          local_134 = uVar4 + local_150;\n        }\nLAB_00192930:\n        pbVar17 = *(byte **)local_a8;\n        lVar19 = 8;\n        pbVar20 = (byte *)"__start_";\n        pbVar21 = pbVar17;\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          uVar25 = *pbVar20 < *pbVar21;\n          uVar29 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n          pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n        } while ((bool)uVar29);\n        bVar26 = false;\n        bVar30 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;\n        if (bVar30) {\n          pbVar17 = pbVar17 + 8;\n        }\n        else {\n          lVar19 = 7;\n          pbVar20 = (byte *)"__stop_";\n          pbVar21 = pbVar17;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar21;\n            bVar30 = *pbVar20 == *pbVar21;\n            pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n            pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n          } while (bVar30);\n          pbVar17 = pbVar17 + 7;\n          if ((!bVar26 && !bVar30) != bVar26) {\n            pbVar17 = local_158;\n          }\n        }\n        local_158 = pbVar17;\n        if (bVar28) {\n          if (bVar18 == 0) {\n            local_58 = (byte *)0x0;\n            local_50 = (ulong)local_50._4_4_ << 0x20;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          else {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = pbVar24;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          puVar5 = *(undefined8 **)(local_170 + 8);\n          if (puVar5 == *(undefined8 **)(local_170 + 0x10)) {\n            FUN_001bbf50(local_170,puVar5,&local_a8);\n          }\n          else {\n            *puVar5 = local_a8;\n            *(undefined8 **)(local_170 + 8) = puVar5 + 1;\n          }\n          local_58 = (byte *)(ulong)local_150;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_b8 = (byte *)((ulong)local_b8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_b8);\n        }\n        if (bVar18 != 0) goto LAB_001925a8;\n      }\nLAB_00192480:\n      local_120 = local_120 + 1;\n      local_128 = local_128 + 3;\n    }" { (expression_statement "uVar3 = local_128[1];" (assignment_expression "uVar3 = local_128[1]" identifier = (subscript_expression "local_128[1]" identifier [ number_literal ])) ;) (expression_statement "uVar4 = local_128[2];" (assignment_expression "uVar4 = local_128[2]" identifier = (subscript_expression "local_128[2]" identifier [ number_literal ])) ;) (expression_statement "uVar22 = uVar3 >> 8;" (assignment_expression "uVar22 = uVar3 >> 8" identifier = (binary_expression "uVar3 >> 8" identifier >> number_literal)) ;) (expression_statement "uVar7 = uVar3 & 0xff;" (assignment_expression "uVar7 = uVar3 & 0xff" identifier = (binary_expression "uVar3 & 0xff" identifier & number_literal)) ;) (if_statement "if (uVar22 < param_7) {\n        if (param_8 == 0) {\n                    \n          FUN_001e9890("../../gold/gc.h",0xea,"gc_process_relocs");\n        }\n        lVar19 = (ulong)(uVar22 << 4) + param_8;\n        uVar2 = *(ushort *)(lVar19 + 0xe);\n        uVar10 = (uint)uVar2;\n        if (uVar2 < 0xff00) {\nLAB_001924f6:\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (bVar28) {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = param_3;\n            FUN_001bdee0(local_178,&local_58);\n            bVar26 = true;\n            if ((*(byte *)(lVar19 + 0xc) & 0xf) == 3) goto LAB_0019253e;\nLAB_001923f0:\n            local_58 = (byte *)0x0;\n            FUN_001be560(local_170,&local_58);\n            goto LAB_0019240b;\n          }\n        }\n        else {\n          if (uVar2 == 0xffff) {\n            lVar14 = *(long *)(param_3 + 0x40);\n            if (lVar14 == 0) {\n              lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3);\n              *(long *)(param_3 + 0x40) = lVar14;\n            }\n            uVar10 = FUN_0022a020(lVar14,param_3,uVar22);\n            goto LAB_001924f6;\n          }\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (!bVar28) goto LAB_00192480;\n          local_58 = (byte *)0x0;\n          local_50 = local_50 & 0xffffffff00000000;\n                    \n          FUN_001bdee0(local_178,&local_58);\n          bVar26 = false;\n          if ((*(byte *)(lVar19 + 0xc) & 0xf) != 3) goto LAB_001923f0;\nLAB_0019253e:\n          local_58 = (byte *)0xffffffffffffffff;\n          FUN_001be560(local_170,&local_58);\nLAB_0019240b:\n          local_58 = pbVar24;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_a8 = (byte *)((ulong)local_a8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_a8);\n          if (!bVar26) goto LAB_00192480;\n        }\n        if (((local_136 != '\0') && ((*(byte *)(lVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar7 || ((0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) == 0)))) {\n          local_c0 = (uint)*(ushort *)(lVar19 + 0xe);\n          local_108 = *(long *)(param_1 + 0x298) + 0x68;\n          local_c8 = param_3;\n          FUN_001bcb90(local_108,&local_c8,&local_108,1);\n        }\n        pbVar24 = param_3;\n        if (param_4 != uVar10) {\nLAB_001925a8:\n          if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    \n            FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n          }\n          if (*(char *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809) != '\0') {\n            lVar14 = *(long *)(param_1 + 0x290);\n            lVar19 = lVar14 + 0x28;\n            lVar11 = lVar19;\n            lVar12 = lVar19;\n            lVar15 = *(long *)(lVar14 + 0x30);\n            local_b8 = param_3;\n            local_b0 = param_4;\n            local_a8 = pbVar24;\n            local_a0 = uVar10;\n            if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192660:\n              local_e8 = &local_b8;\n              lVar12 = FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a);\n            }\n            else {\n              do {\n                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }\n                lVar11 = lVar12;\n                lVar15 = *(long *)(lVar12 + 0x10);\n              } while (*(long *)(lVar12 + 0x10) != 0);\nLAB_0019263a:\n              if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))\n              goto LAB_00192660;\n            }\n            local_f0 = lVar12 + 0x30;\n            FUN_001bcaf0(local_f0,&local_a8,&local_f0,1);\n            plVar1 = *(long **)(PTR_DAT_004ba7c8 + 0x18);\n            if (plVar1 == (long *)0x0) {\n                    \n              FUN_001e9890("../../gold/parameters.h",0x73,"sized_target");\n            }\n            (**(code **)(*plVar1 + 0x208))(plVar1,param_1,param_3,param_4,pbVar24,uVar10,local_134);\n            if (local_158 != (byte *)0x0) {\n              lVar19 = *(long *)(param_1 + 0x290);\n              local_58 = local_48;\n              sVar13 = strlen((char *)local_158);\n              FUN_001bc4c0(&local_58,local_158,local_158 + sVar13);\n              lVar19 = FUN_001be060(lVar19 + 0x88,&local_58);\n              if (local_58 != local_48) {\n                FUN_00338a40();\n              }\n              lVar14 = *(long *)(param_1 + 0x290);\n              if (lVar19 != lVar14 + 0x90) {\n                lVar11 = lVar14 + 0x28;\n                local_50 = CONCAT44(local_50._4_4_,param_4);\n                lVar12 = lVar11;\n                lVar15 = lVar11;\n                lVar8 = *(long *)(lVar14 + 0x30);\n                if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }\n                else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }\n                for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;\n                    puVar5 = (undefined8 *)*puVar5) {\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (uVar22 < *(uint *)(param_3 + 0x120)) {\n          local_a8 = (byte *)0x0;\nLAB_00192adb:\n                    \n          FUN_001e9890("../../gold/gc.h",0x11c,"gc_process_relocs");\n        }\n        uVar23 = (ulong)(uVar22 - *(uint *)(param_3 + 0x120));\n        if ((ulong)(*(long *)(param_3 + 0x138) - *(long *)(param_3 + 0x130) >> 3) <= uVar23) {\n                    \n          FUN_001e9890("../../gold/object.h",0x8ad,"global_symbol");\n        }\n        local_a8 = *(byte **)(*(long *)(param_3 + 0x130) + uVar23 * 8);\n        if (local_a8 == (byte *)0x0) goto LAB_00192adb;\n        if ((local_a8[0x3a] & 0x10) != 0) {\n          local_a8 = (byte *)FUN_002ddad0(param_1,local_a8);\n        }\n        if ((local_a8[0x3a] & 7) == 0) {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          pbVar24 = *(byte **)(local_a8 + 0x10);\n          local_134 = uVar4 + local_150;\n          if ((pbVar24[0x3c] & 1) == 0) {\n            uVar10 = *(uint *)(local_a8 + 0x18);\n            bVar18 = local_a8[0x3b] >> 5 & 1;\n            uVar25 = (local_a8[0x38] & 0xf) < 2;\n            uVar29 = (local_a8[0x38] & 0xf) == 2;\n            if ((bool)uVar29) {\n              uVar25 = 0;\n              uVar29 = local_136 == '\0';\n              if (!(bool)uVar29) {\n                uVar25 = false;\n                uVar29 = bVar18 == 0;\n                if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }\n                local_100 = *(long *)(param_1 + 0x298) + 0x68;\n                local_d8 = pbVar24;\n                local_d0 = uVar10;\n                    \n                FUN_001bcb90(local_100,&local_d8,&local_100,1);\n              }\n            }\n          }\n          else {\n            bVar18 = 0;\n            uVar10 = 0;\n            uVar25 = 0;\n            pbVar24 = (byte *)0x0;\n            uVar29 = 1;\n          }\n        }\n        else {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          bVar18 = 0;\n          uVar10 = 0;\n          uVar25 = 0;\n          pbVar24 = (byte *)0x0;\n          uVar29 = 1;\n          local_134 = uVar4 + local_150;\n        }\nLAB_00192930:\n        pbVar17 = *(byte **)local_a8;\n        lVar19 = 8;\n        pbVar20 = (byte *)"__start_";\n        pbVar21 = pbVar17;\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          uVar25 = *pbVar20 < *pbVar21;\n          uVar29 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n          pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n        } while ((bool)uVar29);\n        bVar26 = false;\n        bVar30 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;\n        if (bVar30) {\n          pbVar17 = pbVar17 + 8;\n        }\n        else {\n          lVar19 = 7;\n          pbVar20 = (byte *)"__stop_";\n          pbVar21 = pbVar17;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar21;\n            bVar30 = *pbVar20 == *pbVar21;\n            pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n            pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n          } while (bVar30);\n          pbVar17 = pbVar17 + 7;\n          if ((!bVar26 && !bVar30) != bVar26) {\n            pbVar17 = local_158;\n          }\n        }\n        local_158 = pbVar17;\n        if (bVar28) {\n          if (bVar18 == 0) {\n            local_58 = (byte *)0x0;\n            local_50 = (ulong)local_50._4_4_ << 0x20;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          else {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = pbVar24;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          puVar5 = *(undefined8 **)(local_170 + 8);\n          if (puVar5 == *(undefined8 **)(local_170 + 0x10)) {\n            FUN_001bbf50(local_170,puVar5,&local_a8);\n          }\n          else {\n            *puVar5 = local_a8;\n            *(undefined8 **)(local_170 + 8) = puVar5 + 1;\n          }\n          local_58 = (byte *)(ulong)local_150;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_b8 = (byte *)((ulong)local_b8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_b8);\n        }\n        if (bVar18 != 0) goto LAB_001925a8;\n      }" if (parenthesized_expression "(uVar22 < param_7)" ( (binary_expression "uVar22 < param_7" identifier < identifier) )) (compound_statement "{\n        if (param_8 == 0) {\n                    \n          FUN_001e9890("../../gold/gc.h",0xea,"gc_process_relocs");\n        }\n        lVar19 = (ulong)(uVar22 << 4) + param_8;\n        uVar2 = *(ushort *)(lVar19 + 0xe);\n        uVar10 = (uint)uVar2;\n        if (uVar2 < 0xff00) {\nLAB_001924f6:\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (bVar28) {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = param_3;\n            FUN_001bdee0(local_178,&local_58);\n            bVar26 = true;\n            if ((*(byte *)(lVar19 + 0xc) & 0xf) == 3) goto LAB_0019253e;\nLAB_001923f0:\n            local_58 = (byte *)0x0;\n            FUN_001be560(local_170,&local_58);\n            goto LAB_0019240b;\n          }\n        }\n        else {\n          if (uVar2 == 0xffff) {\n            lVar14 = *(long *)(param_3 + 0x40);\n            if (lVar14 == 0) {\n              lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3);\n              *(long *)(param_3 + 0x40) = lVar14;\n            }\n            uVar10 = FUN_0022a020(lVar14,param_3,uVar22);\n            goto LAB_001924f6;\n          }\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (!bVar28) goto LAB_00192480;\n          local_58 = (byte *)0x0;\n          local_50 = local_50 & 0xffffffff00000000;\n                    \n          FUN_001bdee0(local_178,&local_58);\n          bVar26 = false;\n          if ((*(byte *)(lVar19 + 0xc) & 0xf) != 3) goto LAB_001923f0;\nLAB_0019253e:\n          local_58 = (byte *)0xffffffffffffffff;\n          FUN_001be560(local_170,&local_58);\nLAB_0019240b:\n          local_58 = pbVar24;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_a8 = (byte *)((ulong)local_a8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_a8);\n          if (!bVar26) goto LAB_00192480;\n        }\n        if (((local_136 != '\0') && ((*(byte *)(lVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar7 || ((0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) == 0)))) {\n          local_c0 = (uint)*(ushort *)(lVar19 + 0xe);\n          local_108 = *(long *)(param_1 + 0x298) + 0x68;\n          local_c8 = param_3;\n          FUN_001bcb90(local_108,&local_c8,&local_108,1);\n        }\n        pbVar24 = param_3;\n        if (param_4 != uVar10) {\nLAB_001925a8:\n          if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    \n            FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n          }\n          if (*(char *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809) != '\0') {\n            lVar14 = *(long *)(param_1 + 0x290);\n            lVar19 = lVar14 + 0x28;\n            lVar11 = lVar19;\n            lVar12 = lVar19;\n            lVar15 = *(long *)(lVar14 + 0x30);\n            local_b8 = param_3;\n            local_b0 = param_4;\n            local_a8 = pbVar24;\n            local_a0 = uVar10;\n            if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192660:\n              local_e8 = &local_b8;\n              lVar12 = FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a);\n            }\n            else {\n              do {\n                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }\n                lVar11 = lVar12;\n                lVar15 = *(long *)(lVar12 + 0x10);\n              } while (*(long *)(lVar12 + 0x10) != 0);\nLAB_0019263a:\n              if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))\n              goto LAB_00192660;\n            }\n            local_f0 = lVar12 + 0x30;\n            FUN_001bcaf0(local_f0,&local_a8,&local_f0,1);\n            plVar1 = *(long **)(PTR_DAT_004ba7c8 + 0x18);\n            if (plVar1 == (long *)0x0) {\n                    \n              FUN_001e9890("../../gold/parameters.h",0x73,"sized_target");\n            }\n            (**(code **)(*plVar1 + 0x208))(plVar1,param_1,param_3,param_4,pbVar24,uVar10,local_134);\n            if (local_158 != (byte *)0x0) {\n              lVar19 = *(long *)(param_1 + 0x290);\n              local_58 = local_48;\n              sVar13 = strlen((char *)local_158);\n              FUN_001bc4c0(&local_58,local_158,local_158 + sVar13);\n              lVar19 = FUN_001be060(lVar19 + 0x88,&local_58);\n              if (local_58 != local_48) {\n                FUN_00338a40();\n              }\n              lVar14 = *(long *)(param_1 + 0x290);\n              if (lVar19 != lVar14 + 0x90) {\n                lVar11 = lVar14 + 0x28;\n                local_50 = CONCAT44(local_50._4_4_,param_4);\n                lVar12 = lVar11;\n                lVar15 = lVar11;\n                lVar8 = *(long *)(lVar14 + 0x30);\n                if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }\n                else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }\n                for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;\n                    puVar5 = (undefined8 *)*puVar5) {\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }\n              }\n            }\n          }\n        }\n      }" { (if_statement "if (param_8 == 0) {\n                    \n          FUN_001e9890("../../gold/gc.h",0xea,"gc_process_relocs");\n        }" if (parenthesized_expression "(param_8 == 0)" ( (binary_expression "param_8 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n          FUN_001e9890("../../gold/gc.h",0xea,"gc_process_relocs");\n        }" { (expression_statement "FUN_001e9890("../../gold/gc.h",0xea,"gc_process_relocs");" (call_expression "FUN_001e9890("../../gold/gc.h",0xea,"gc_process_relocs")" identifier (argument_list "("../../gold/gc.h",0xea,"gc_process_relocs")" ( (string_literal ""../../gold/gc.h"" " string_content ") , number_literal , (string_literal ""gc_process_relocs"" " string_content ") ))) ;) })) (expression_statement "lVar19 = (ulong)(uVar22 << 4) + param_8;" (assignment_expression "lVar19 = (ulong)(uVar22 << 4) + param_8" identifier = (binary_expression "(ulong)(uVar22 << 4) + param_8" (call_expression "(ulong)(uVar22 << 4)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar22 << 4)" ( (binary_expression "uVar22 << 4" identifier << number_literal) ))) + identifier)) ;) (expression_statement "uVar2 = *(ushort *)(lVar19 + 0xe);" (assignment_expression "uVar2 = *(ushort *)(lVar19 + 0xe)" identifier = (pointer_expression "*(ushort *)(lVar19 + 0xe)" * (cast_expression "(ushort *)(lVar19 + 0xe)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar19 + 0xe)" ( (binary_expression "lVar19 + 0xe" identifier + number_literal) ))))) ;) (expression_statement "uVar10 = (uint)uVar2;" (assignment_expression "uVar10 = (uint)uVar2" identifier = (cast_expression "(uint)uVar2" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (uVar2 < 0xff00) {\nLAB_001924f6:\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (bVar28) {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = param_3;\n            FUN_001bdee0(local_178,&local_58);\n            bVar26 = true;\n            if ((*(byte *)(lVar19 + 0xc) & 0xf) == 3) goto LAB_0019253e;\nLAB_001923f0:\n            local_58 = (byte *)0x0;\n            FUN_001be560(local_170,&local_58);\n            goto LAB_0019240b;\n          }\n        }\n        else {\n          if (uVar2 == 0xffff) {\n            lVar14 = *(long *)(param_3 + 0x40);\n            if (lVar14 == 0) {\n              lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3);\n              *(long *)(param_3 + 0x40) = lVar14;\n            }\n            uVar10 = FUN_0022a020(lVar14,param_3,uVar22);\n            goto LAB_001924f6;\n          }\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (!bVar28) goto LAB_00192480;\n          local_58 = (byte *)0x0;\n          local_50 = local_50 & 0xffffffff00000000;\n                    \n          FUN_001bdee0(local_178,&local_58);\n          bVar26 = false;\n          if ((*(byte *)(lVar19 + 0xc) & 0xf) != 3) goto LAB_001923f0;\nLAB_0019253e:\n          local_58 = (byte *)0xffffffffffffffff;\n          FUN_001be560(local_170,&local_58);\nLAB_0019240b:\n          local_58 = pbVar24;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_a8 = (byte *)((ulong)local_a8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_a8);\n          if (!bVar26) goto LAB_00192480;\n        }" if (parenthesized_expression "(uVar2 < 0xff00)" ( (binary_expression "uVar2 < 0xff00" identifier < number_literal) )) (compound_statement "{\nLAB_001924f6:\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (bVar28) {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = param_3;\n            FUN_001bdee0(local_178,&local_58);\n            bVar26 = true;\n            if ((*(byte *)(lVar19 + 0xc) & 0xf) == 3) goto LAB_0019253e;\nLAB_001923f0:\n            local_58 = (byte *)0x0;\n            FUN_001be560(local_170,&local_58);\n            goto LAB_0019240b;\n          }\n        }" { (labeled_statement "LAB_001924f6:\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);" statement_identifier : (expression_statement "pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);" (assignment_expression "pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4)" identifier = (binary_expression "(byte *)(ulong)*(uint *)(lVar19 + 4)" (cast_expression "(byte *)(ulong)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ulong)" ( identifier ))) * (cast_expression "(uint *)(lVar19 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar19 + 4)" ( (binary_expression "lVar19 + 4" identifier + number_literal) ))))) ;)) (expression_statement "local_134 = uVar4 + *(uint *)(lVar19 + 4);" (assignment_expression "local_134 = uVar4 + *(uint *)(lVar19 + 4)" identifier = (binary_expression "uVar4 + *(uint *)(lVar19 + 4)" identifier + (pointer_expression "*(uint *)(lVar19 + 4)" * (cast_expression "(uint *)(lVar19 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar19 + 4)" ( (binary_expression "lVar19 + 4" identifier + number_literal) )))))) ;) (if_statement "if (bVar28) {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = param_3;\n            FUN_001bdee0(local_178,&local_58);\n            bVar26 = true;\n            if ((*(byte *)(lVar19 + 0xc) & 0xf) == 3) goto LAB_0019253e;\nLAB_001923f0:\n            local_58 = (byte *)0x0;\n            FUN_001be560(local_170,&local_58);\n            goto LAB_0019240b;\n          }" if (parenthesized_expression "(bVar28)" ( identifier )) (compound_statement "{\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = param_3;\n            FUN_001bdee0(local_178,&local_58);\n            bVar26 = true;\n            if ((*(byte *)(lVar19 + 0xc) & 0xf) == 3) goto LAB_0019253e;\nLAB_001923f0:\n            local_58 = (byte *)0x0;\n            FUN_001be560(local_170,&local_58);\n            goto LAB_0019240b;\n          }" { (expression_statement "local_50 = CONCAT44(local_50._4_4_,uVar10);" (assignment_expression "local_50 = CONCAT44(local_50._4_4_,uVar10)" identifier = (call_expression "CONCAT44(local_50._4_4_,uVar10)" identifier (argument_list "(local_50._4_4_,uVar10)" ( (field_expression "local_50._4_4_" identifier . field_identifier) , identifier )))) ;) (expression_statement "local_58 = param_3;" (assignment_expression "local_58 = param_3" identifier = identifier) ;) (expression_statement "FUN_001bdee0(local_178,&local_58);" (call_expression "FUN_001bdee0(local_178,&local_58)" identifier (argument_list "(local_178,&local_58)" ( identifier , (pointer_expression "&local_58" & identifier) ))) ;) (expression_statement "bVar26 = true;" (assignment_expression "bVar26 = true" identifier = true) ;) (if_statement "if ((*(byte *)(lVar19 + 0xc) & 0xf) == 3) goto LAB_0019253e;" if (parenthesized_expression "((*(byte *)(lVar19 + 0xc) & 0xf) == 3)" ( (binary_expression "(*(byte *)(lVar19 + 0xc) & 0xf) == 3" (parenthesized_expression "(*(byte *)(lVar19 + 0xc) & 0xf)" ( (binary_expression "*(byte *)(lVar19 + 0xc) & 0xf" (pointer_expression "*(byte *)(lVar19 + 0xc)" * (cast_expression "(byte *)(lVar19 + 0xc)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar19 + 0xc)" ( (binary_expression "lVar19 + 0xc" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0019253e;" goto statement_identifier ;)) (labeled_statement "LAB_001923f0:\n            local_58 = (byte *)0x0;" statement_identifier : (expression_statement "local_58 = (byte *)0x0;" (assignment_expression "local_58 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "FUN_001be560(local_170,&local_58);" (call_expression "FUN_001be560(local_170,&local_58)" identifier (argument_list "(local_170,&local_58)" ( identifier , (pointer_expression "&local_58" & identifier) ))) ;) (goto_statement "goto LAB_0019240b;" goto statement_identifier ;) })) }) (else_clause "else {\n          if (uVar2 == 0xffff) {\n            lVar14 = *(long *)(param_3 + 0x40);\n            if (lVar14 == 0) {\n              lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3);\n              *(long *)(param_3 + 0x40) = lVar14;\n            }\n            uVar10 = FUN_0022a020(lVar14,param_3,uVar22);\n            goto LAB_001924f6;\n          }\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (!bVar28) goto LAB_00192480;\n          local_58 = (byte *)0x0;\n          local_50 = local_50 & 0xffffffff00000000;\n                    \n          FUN_001bdee0(local_178,&local_58);\n          bVar26 = false;\n          if ((*(byte *)(lVar19 + 0xc) & 0xf) != 3) goto LAB_001923f0;\nLAB_0019253e:\n          local_58 = (byte *)0xffffffffffffffff;\n          FUN_001be560(local_170,&local_58);\nLAB_0019240b:\n          local_58 = pbVar24;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_a8 = (byte *)((ulong)local_a8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_a8);\n          if (!bVar26) goto LAB_00192480;\n        }" else (compound_statement "{\n          if (uVar2 == 0xffff) {\n            lVar14 = *(long *)(param_3 + 0x40);\n            if (lVar14 == 0) {\n              lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3);\n              *(long *)(param_3 + 0x40) = lVar14;\n            }\n            uVar10 = FUN_0022a020(lVar14,param_3,uVar22);\n            goto LAB_001924f6;\n          }\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (!bVar28) goto LAB_00192480;\n          local_58 = (byte *)0x0;\n          local_50 = local_50 & 0xffffffff00000000;\n                    \n          FUN_001bdee0(local_178,&local_58);\n          bVar26 = false;\n          if ((*(byte *)(lVar19 + 0xc) & 0xf) != 3) goto LAB_001923f0;\nLAB_0019253e:\n          local_58 = (byte *)0xffffffffffffffff;\n          FUN_001be560(local_170,&local_58);\nLAB_0019240b:\n          local_58 = pbVar24;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_a8 = (byte *)((ulong)local_a8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_a8);\n          if (!bVar26) goto LAB_00192480;\n        }" { (if_statement "if (uVar2 == 0xffff) {\n            lVar14 = *(long *)(param_3 + 0x40);\n            if (lVar14 == 0) {\n              lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3);\n              *(long *)(param_3 + 0x40) = lVar14;\n            }\n            uVar10 = FUN_0022a020(lVar14,param_3,uVar22);\n            goto LAB_001924f6;\n          }" if (parenthesized_expression "(uVar2 == 0xffff)" ( (binary_expression "uVar2 == 0xffff" identifier == number_literal) )) (compound_statement "{\n            lVar14 = *(long *)(param_3 + 0x40);\n            if (lVar14 == 0) {\n              lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3);\n              *(long *)(param_3 + 0x40) = lVar14;\n            }\n            uVar10 = FUN_0022a020(lVar14,param_3,uVar22);\n            goto LAB_001924f6;\n          }" { (expression_statement "lVar14 = *(long *)(param_3 + 0x40);" (assignment_expression "lVar14 = *(long *)(param_3 + 0x40)" identifier = (pointer_expression "*(long *)(param_3 + 0x40)" * (cast_expression "(long *)(param_3 + 0x40)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x40)" ( (binary_expression "param_3 + 0x40" identifier + number_literal) ))))) ;) (if_statement "if (lVar14 == 0) {\n              lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3);\n              *(long *)(param_3 + 0x40) = lVar14;\n            }" if (parenthesized_expression "(lVar14 == 0)" ( (binary_expression "lVar14 == 0" identifier == number_literal) )) (compound_statement "{\n              lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3);\n              *(long *)(param_3 + 0x40) = lVar14;\n            }" { (expression_statement "lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3);" (assignment_expression "lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3)" identifier = (call_expression "(**(code **)(*(long *)param_3 + 0xd8))(param_3)" (parenthesized_expression "(**(code **)(*(long *)param_3 + 0xd8))" ( (pointer_expression "**(code **)(*(long *)param_3 + 0xd8)" * (pointer_expression "*(code **)(*(long *)param_3 + 0xd8)" * (cast_expression "(code **)(*(long *)param_3 + 0xd8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)param_3 + 0xd8)" ( (binary_expression "*(long *)param_3 + 0xd8" (pointer_expression "*(long *)param_3" * (cast_expression "(long *)param_3" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) )) (argument_list "(param_3)" ( identifier )))) ;) (expression_statement "*(long *)(param_3 + 0x40) = lVar14;" (assignment_expression "*(long *)(param_3 + 0x40) = lVar14" (pointer_expression "*(long *)(param_3 + 0x40)" * (cast_expression "(long *)(param_3 + 0x40)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x40)" ( (binary_expression "param_3 + 0x40" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "uVar10 = FUN_0022a020(lVar14,param_3,uVar22);" (assignment_expression "uVar10 = FUN_0022a020(lVar14,param_3,uVar22)" identifier = (call_expression "FUN_0022a020(lVar14,param_3,uVar22)" identifier (argument_list "(lVar14,param_3,uVar22)" ( identifier , identifier , identifier )))) ;) (goto_statement "goto LAB_001924f6;" goto statement_identifier ;) })) (expression_statement "pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);" (assignment_expression "pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4)" identifier = (binary_expression "(byte *)(ulong)*(uint *)(lVar19 + 4)" (cast_expression "(byte *)(ulong)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ulong)" ( identifier ))) * (cast_expression "(uint *)(lVar19 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar19 + 4)" ( (binary_expression "lVar19 + 4" identifier + number_literal) ))))) ;) (expression_statement "local_134 = uVar4 + *(uint *)(lVar19 + 4);" (assignment_expression "local_134 = uVar4 + *(uint *)(lVar19 + 4)" identifier = (binary_expression "uVar4 + *(uint *)(lVar19 + 4)" identifier + (pointer_expression "*(uint *)(lVar19 + 4)" * (cast_expression "(uint *)(lVar19 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar19 + 4)" ( (binary_expression "lVar19 + 4" identifier + number_literal) )))))) ;) (if_statement "if (!bVar28) goto LAB_00192480;" if (parenthesized_expression "(!bVar28)" ( (unary_expression "!bVar28" ! identifier) )) (goto_statement "goto LAB_00192480;" goto statement_identifier ;)) (expression_statement "local_58 = (byte *)0x0;" (assignment_expression "local_58 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_50 = local_50 & 0xffffffff00000000;" (assignment_expression "local_50 = local_50 & 0xffffffff00000000" identifier = (binary_expression "local_50 & 0xffffffff00000000" identifier & number_literal)) ;) (expression_statement "FUN_001bdee0(local_178,&local_58);" (call_expression "FUN_001bdee0(local_178,&local_58)" identifier (argument_list "(local_178,&local_58)" ( identifier , (pointer_expression "&local_58" & identifier) ))) ;) (expression_statement "bVar26 = false;" (assignment_expression "bVar26 = false" identifier = false) ;) (if_statement "if ((*(byte *)(lVar19 + 0xc) & 0xf) != 3) goto LAB_001923f0;" if (parenthesized_expression "((*(byte *)(lVar19 + 0xc) & 0xf) != 3)" ( (binary_expression "(*(byte *)(lVar19 + 0xc) & 0xf) != 3" (parenthesized_expression "(*(byte *)(lVar19 + 0xc) & 0xf)" ( (binary_expression "*(byte *)(lVar19 + 0xc) & 0xf" (pointer_expression "*(byte *)(lVar19 + 0xc)" * (cast_expression "(byte *)(lVar19 + 0xc)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar19 + 0xc)" ( (binary_expression "lVar19 + 0xc" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_001923f0;" goto statement_identifier ;)) (labeled_statement "LAB_0019253e:\n          local_58 = (byte *)0xffffffffffffffff;" statement_identifier : (expression_statement "local_58 = (byte *)0xffffffffffffffff;" (assignment_expression "local_58 = (byte *)0xffffffffffffffff" identifier = (cast_expression "(byte *)0xffffffffffffffff" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "FUN_001be560(local_170,&local_58);" (call_expression "FUN_001be560(local_170,&local_58)" identifier (argument_list "(local_170,&local_58)" ( identifier , (pointer_expression "&local_58" & identifier) ))) ;) (labeled_statement "LAB_0019240b:\n          local_58 = pbVar24;" statement_identifier : (expression_statement "local_58 = pbVar24;" (assignment_expression "local_58 = pbVar24" identifier = identifier) ;)) (expression_statement "local_50 = (long)(int)uVar4;" (assignment_expression "local_50 = (long)(int)uVar4" identifier = (cast_expression "(long)(int)uVar4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)uVar4" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "FUN_001be700(local_180,&local_58);" (call_expression "FUN_001be700(local_180,&local_58)" identifier (argument_list "(local_180,&local_58)" ( identifier , (pointer_expression "&local_58" & identifier) ))) ;) (expression_statement "local_58 = (byte *)(ulong)*local_128;" (assignment_expression "local_58 = (byte *)(ulong)*local_128" identifier = (binary_expression "(byte *)(ulong)*local_128" (cast_expression "(byte *)(ulong)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ulong)" ( identifier ))) * identifier)) ;) (expression_statement "puVar5 = *(undefined8 **)(local_168 + 8);" (assignment_expression "puVar5 = *(undefined8 **)(local_168 + 8)" identifier = (pointer_expression "*(undefined8 **)(local_168 + 8)" * (cast_expression "(undefined8 **)(local_168 + 8)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_168 + 8)" ( (binary_expression "local_168 + 8" identifier + number_literal) ))))) ;) (if_statement "if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }" if (parenthesized_expression "(puVar5 == *(undefined8 **)(local_168 + 0x10))" ( (binary_expression "puVar5 == *(undefined8 **)(local_168 + 0x10)" identifier == (pointer_expression "*(undefined8 **)(local_168 + 0x10)" * (cast_expression "(undefined8 **)(local_168 + 0x10)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_168 + 0x10)" ( (binary_expression "local_168 + 0x10" identifier + number_literal) ))))) )) (compound_statement "{\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }" { (expression_statement "FUN_001bdf10(local_168,puVar5,&local_58);" (call_expression "FUN_001bdf10(local_168,puVar5,&local_58)" identifier (argument_list "(local_168,puVar5,&local_58)" ( identifier , identifier , (pointer_expression "&local_58" & identifier) ))) ;) }) (else_clause "else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }" else (compound_statement "{\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }" { (expression_statement "*puVar5 = local_58;" (assignment_expression "*puVar5 = local_58" (pointer_expression "*puVar5" * identifier) = identifier) ;) (expression_statement "*(undefined8 **)(local_168 + 8) = puVar5 + 1;" (assignment_expression "*(undefined8 **)(local_168 + 8) = puVar5 + 1" (pointer_expression "*(undefined8 **)(local_168 + 8)" * (cast_expression "(undefined8 **)(local_168 + 8)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_168 + 8)" ( (binary_expression "local_168 + 8" identifier + number_literal) )))) = (binary_expression "puVar5 + 1" identifier + number_literal)) ;) }))) (expression_statement "local_a8 = (byte *)((ulong)local_a8 & 0xffffffff00000000);" (assignment_expression "local_a8 = (byte *)((ulong)local_a8 & 0xffffffff00000000)" identifier = (cast_expression "(byte *)((ulong)local_a8 & 0xffffffff00000000)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)local_a8 & 0xffffffff00000000)" ( (binary_expression "(ulong)local_a8 & 0xffffffff00000000" (cast_expression "(ulong)local_a8" ( (type_descriptor "ulong" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "FUN_001be890(local_188,&local_a8);" (call_expression "FUN_001be890(local_188,&local_a8)" identifier (argument_list "(local_188,&local_a8)" ( identifier , (pointer_expression "&local_a8" & identifier) ))) ;) (if_statement "if (!bVar26) goto LAB_00192480;" if (parenthesized_expression "(!bVar26)" ( (unary_expression "!bVar26" ! identifier) )) (goto_statement "goto LAB_00192480;" goto statement_identifier ;)) }))) (if_statement "if (((local_136 != '\0') && ((*(byte *)(lVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar7 || ((0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) == 0)))) {\n          local_c0 = (uint)*(ushort *)(lVar19 + 0xe);\n          local_108 = *(long *)(param_1 + 0x298) + 0x68;\n          local_c8 = param_3;\n          FUN_001bcb90(local_108,&local_c8,&local_108,1);\n        }" if (parenthesized_expression "(((local_136 != '\0') && ((*(byte *)(lVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar7 || ((0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) == 0))))" ( (binary_expression "((local_136 != '\0') && ((*(byte *)(lVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar7 || ((0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) == 0)))" (parenthesized_expression "((local_136 != '\0') && ((*(byte *)(lVar19 + 0xc) & 0xf) != 1))" ( (binary_expression "(local_136 != '\0') && ((*(byte *)(lVar19 + 0xc) & 0xf) != 1)" (parenthesized_expression "(local_136 != '\0')" ( (binary_expression "local_136 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "((*(byte *)(lVar19 + 0xc) & 0xf) != 1)" ( (binary_expression "(*(byte *)(lVar19 + 0xc) & 0xf) != 1" (parenthesized_expression "(*(byte *)(lVar19 + 0xc) & 0xf)" ( (binary_expression "*(byte *)(lVar19 + 0xc) & 0xf" (pointer_expression "*(byte *)(lVar19 + 0xc)" * (cast_expression "(byte *)(lVar19 + 0xc)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar19 + 0xc)" ( (binary_expression "lVar19 + 0xc" identifier + number_literal) )))) & number_literal) )) != number_literal) ))) )) && (parenthesized_expression "((0x17 < uVar7 || ((0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) == 0)))" ( (parenthesized_expression "(0x17 < uVar7 || ((0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) == 0))" ( (binary_expression "0x17 < uVar7 || ((0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) == 0)" (binary_expression "0x17 < uVar7" number_literal < identifier) || (parenthesized_expression "((0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) == 0)" ( (binary_expression "(0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) == 0" (parenthesized_expression "(0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1)" ( (binary_expression "0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1" (binary_expression "0x843f84UL >> ((ulong)uVar3 & 0x3f)" number_literal >> (parenthesized_expression "((ulong)uVar3 & 0x3f)" ( (binary_expression "(ulong)uVar3 & 0x3f" (cast_expression "(ulong)uVar3" ( (type_descriptor "ulong" type_identifier) ) identifier) & number_literal) ))) & number_literal) )) == number_literal) ))) )) ))) )) (compound_statement "{\n          local_c0 = (uint)*(ushort *)(lVar19 + 0xe);\n          local_108 = *(long *)(param_1 + 0x298) + 0x68;\n          local_c8 = param_3;\n          FUN_001bcb90(local_108,&local_c8,&local_108,1);\n        }" { (expression_statement "local_c0 = (uint)*(ushort *)(lVar19 + 0xe);" (assignment_expression "local_c0 = (uint)*(ushort *)(lVar19 + 0xe)" identifier = (binary_expression "(uint)*(ushort *)(lVar19 + 0xe)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)(lVar19 + 0xe)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar19 + 0xe)" ( (binary_expression "lVar19 + 0xe" identifier + number_literal) ))))) ;) (expression_statement "local_108 = *(long *)(param_1 + 0x298) + 0x68;" (assignment_expression "local_108 = *(long *)(param_1 + 0x298) + 0x68" identifier = (binary_expression "*(long *)(param_1 + 0x298) + 0x68" (pointer_expression "*(long *)(param_1 + 0x298)" * (cast_expression "(long *)(param_1 + 0x298)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x298)" ( (binary_expression "param_1 + 0x298" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "local_c8 = param_3;" (assignment_expression "local_c8 = param_3" identifier = identifier) ;) (expression_statement "FUN_001bcb90(local_108,&local_c8,&local_108,1);" (call_expression "FUN_001bcb90(local_108,&local_c8,&local_108,1)" identifier (argument_list "(local_108,&local_c8,&local_108,1)" ( identifier , (pointer_expression "&local_c8" & identifier) , (pointer_expression "&local_108" & identifier) , number_literal ))) ;) })) (expression_statement "pbVar24 = param_3;" (assignment_expression "pbVar24 = param_3" identifier = identifier) ;) (if_statement "if (param_4 != uVar10) {\nLAB_001925a8:\n          if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    \n            FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n          }\n          if (*(char *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809) != '\0') {\n            lVar14 = *(long *)(param_1 + 0x290);\n            lVar19 = lVar14 + 0x28;\n            lVar11 = lVar19;\n            lVar12 = lVar19;\n            lVar15 = *(long *)(lVar14 + 0x30);\n            local_b8 = param_3;\n            local_b0 = param_4;\n            local_a8 = pbVar24;\n            local_a0 = uVar10;\n            if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192660:\n              local_e8 = &local_b8;\n              lVar12 = FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a);\n            }\n            else {\n              do {\n                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }\n                lVar11 = lVar12;\n                lVar15 = *(long *)(lVar12 + 0x10);\n              } while (*(long *)(lVar12 + 0x10) != 0);\nLAB_0019263a:\n              if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))\n              goto LAB_00192660;\n            }\n            local_f0 = lVar12 + 0x30;\n            FUN_001bcaf0(local_f0,&local_a8,&local_f0,1);\n            plVar1 = *(long **)(PTR_DAT_004ba7c8 + 0x18);\n            if (plVar1 == (long *)0x0) {\n                    \n              FUN_001e9890("../../gold/parameters.h",0x73,"sized_target");\n            }\n            (**(code **)(*plVar1 + 0x208))(plVar1,param_1,param_3,param_4,pbVar24,uVar10,local_134);\n            if (local_158 != (byte *)0x0) {\n              lVar19 = *(long *)(param_1 + 0x290);\n              local_58 = local_48;\n              sVar13 = strlen((char *)local_158);\n              FUN_001bc4c0(&local_58,local_158,local_158 + sVar13);\n              lVar19 = FUN_001be060(lVar19 + 0x88,&local_58);\n              if (local_58 != local_48) {\n                FUN_00338a40();\n              }\n              lVar14 = *(long *)(param_1 + 0x290);\n              if (lVar19 != lVar14 + 0x90) {\n                lVar11 = lVar14 + 0x28;\n                local_50 = CONCAT44(local_50._4_4_,param_4);\n                lVar12 = lVar11;\n                lVar15 = lVar11;\n                lVar8 = *(long *)(lVar14 + 0x30);\n                if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }\n                else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }\n                for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;\n                    puVar5 = (undefined8 *)*puVar5) {\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }\n              }\n            }\n          }\n        }" if (parenthesized_expression "(param_4 != uVar10)" ( (binary_expression "param_4 != uVar10" identifier != identifier) )) (compound_statement "{\nLAB_001925a8:\n          if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    \n            FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n          }\n          if (*(char *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809) != '\0') {\n            lVar14 = *(long *)(param_1 + 0x290);\n            lVar19 = lVar14 + 0x28;\n            lVar11 = lVar19;\n            lVar12 = lVar19;\n            lVar15 = *(long *)(lVar14 + 0x30);\n            local_b8 = param_3;\n            local_b0 = param_4;\n            local_a8 = pbVar24;\n            local_a0 = uVar10;\n            if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192660:\n              local_e8 = &local_b8;\n              lVar12 = FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a);\n            }\n            else {\n              do {\n                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }\n                lVar11 = lVar12;\n                lVar15 = *(long *)(lVar12 + 0x10);\n              } while (*(long *)(lVar12 + 0x10) != 0);\nLAB_0019263a:\n              if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))\n              goto LAB_00192660;\n            }\n            local_f0 = lVar12 + 0x30;\n            FUN_001bcaf0(local_f0,&local_a8,&local_f0,1);\n            plVar1 = *(long **)(PTR_DAT_004ba7c8 + 0x18);\n            if (plVar1 == (long *)0x0) {\n                    \n              FUN_001e9890("../../gold/parameters.h",0x73,"sized_target");\n            }\n            (**(code **)(*plVar1 + 0x208))(plVar1,param_1,param_3,param_4,pbVar24,uVar10,local_134);\n            if (local_158 != (byte *)0x0) {\n              lVar19 = *(long *)(param_1 + 0x290);\n              local_58 = local_48;\n              sVar13 = strlen((char *)local_158);\n              FUN_001bc4c0(&local_58,local_158,local_158 + sVar13);\n              lVar19 = FUN_001be060(lVar19 + 0x88,&local_58);\n              if (local_58 != local_48) {\n                FUN_00338a40();\n              }\n              lVar14 = *(long *)(param_1 + 0x290);\n              if (lVar19 != lVar14 + 0x90) {\n                lVar11 = lVar14 + 0x28;\n                local_50 = CONCAT44(local_50._4_4_,param_4);\n                lVar12 = lVar11;\n                lVar15 = lVar11;\n                lVar8 = *(long *)(lVar14 + 0x30);\n                if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }\n                else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }\n                for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;\n                    puVar5 = (undefined8 *)*puVar5) {\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }\n              }\n            }\n          }\n        }" { (labeled_statement "LAB_001925a8:\n          if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    \n            FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n          }" statement_identifier : (if_statement "if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    \n            FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n          }" if (parenthesized_expression "(*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0)" ( (binary_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0" (pointer_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10)" * (cast_expression "(long *)(PTR_DAT_004ba7c8 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_004ba7c8 + 0x10)" ( (binary_expression "PTR_DAT_004ba7c8 + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    \n            FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n          }" { (expression_statement "FUN_001e9890("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_001e9890("../../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 *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809) != '\0') {\n            lVar14 = *(long *)(param_1 + 0x290);\n            lVar19 = lVar14 + 0x28;\n            lVar11 = lVar19;\n            lVar12 = lVar19;\n            lVar15 = *(long *)(lVar14 + 0x30);\n            local_b8 = param_3;\n            local_b0 = param_4;\n            local_a8 = pbVar24;\n            local_a0 = uVar10;\n            if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192660:\n              local_e8 = &local_b8;\n              lVar12 = FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a);\n            }\n            else {\n              do {\n                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }\n                lVar11 = lVar12;\n                lVar15 = *(long *)(lVar12 + 0x10);\n              } while (*(long *)(lVar12 + 0x10) != 0);\nLAB_0019263a:\n              if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))\n              goto LAB_00192660;\n            }\n            local_f0 = lVar12 + 0x30;\n            FUN_001bcaf0(local_f0,&local_a8,&local_f0,1);\n            plVar1 = *(long **)(PTR_DAT_004ba7c8 + 0x18);\n            if (plVar1 == (long *)0x0) {\n                    \n              FUN_001e9890("../../gold/parameters.h",0x73,"sized_target");\n            }\n            (**(code **)(*plVar1 + 0x208))(plVar1,param_1,param_3,param_4,pbVar24,uVar10,local_134);\n            if (local_158 != (byte *)0x0) {\n              lVar19 = *(long *)(param_1 + 0x290);\n              local_58 = local_48;\n              sVar13 = strlen((char *)local_158);\n              FUN_001bc4c0(&local_58,local_158,local_158 + sVar13);\n              lVar19 = FUN_001be060(lVar19 + 0x88,&local_58);\n              if (local_58 != local_48) {\n                FUN_00338a40();\n              }\n              lVar14 = *(long *)(param_1 + 0x290);\n              if (lVar19 != lVar14 + 0x90) {\n                lVar11 = lVar14 + 0x28;\n                local_50 = CONCAT44(local_50._4_4_,param_4);\n                lVar12 = lVar11;\n                lVar15 = lVar11;\n                lVar8 = *(long *)(lVar14 + 0x30);\n                if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }\n                else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }\n                for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;\n                    puVar5 = (undefined8 *)*puVar5) {\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }\n              }\n            }\n          }" if (parenthesized_expression "(*(char *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809) != '\0')" ( (binary_expression "*(char *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809) != '\0'" (pointer_expression "*(char *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809)" * (cast_expression "(char *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809)" ( (binary_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809" (pointer_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10)" * (cast_expression "(long *)(PTR_DAT_004ba7c8 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_004ba7c8 + 0x10)" ( (binary_expression "PTR_DAT_004ba7c8 + 0x10" identifier + number_literal) )))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            lVar14 = *(long *)(param_1 + 0x290);\n            lVar19 = lVar14 + 0x28;\n            lVar11 = lVar19;\n            lVar12 = lVar19;\n            lVar15 = *(long *)(lVar14 + 0x30);\n            local_b8 = param_3;\n            local_b0 = param_4;\n            local_a8 = pbVar24;\n            local_a0 = uVar10;\n            if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192660:\n              local_e8 = &local_b8;\n              lVar12 = FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a);\n            }\n            else {\n              do {\n                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }\n                lVar11 = lVar12;\n                lVar15 = *(long *)(lVar12 + 0x10);\n              } while (*(long *)(lVar12 + 0x10) != 0);\nLAB_0019263a:\n              if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))\n              goto LAB_00192660;\n            }\n            local_f0 = lVar12 + 0x30;\n            FUN_001bcaf0(local_f0,&local_a8,&local_f0,1);\n            plVar1 = *(long **)(PTR_DAT_004ba7c8 + 0x18);\n            if (plVar1 == (long *)0x0) {\n                    \n              FUN_001e9890("../../gold/parameters.h",0x73,"sized_target");\n            }\n            (**(code **)(*plVar1 + 0x208))(plVar1,param_1,param_3,param_4,pbVar24,uVar10,local_134);\n            if (local_158 != (byte *)0x0) {\n              lVar19 = *(long *)(param_1 + 0x290);\n              local_58 = local_48;\n              sVar13 = strlen((char *)local_158);\n              FUN_001bc4c0(&local_58,local_158,local_158 + sVar13);\n              lVar19 = FUN_001be060(lVar19 + 0x88,&local_58);\n              if (local_58 != local_48) {\n                FUN_00338a40();\n              }\n              lVar14 = *(long *)(param_1 + 0x290);\n              if (lVar19 != lVar14 + 0x90) {\n                lVar11 = lVar14 + 0x28;\n                local_50 = CONCAT44(local_50._4_4_,param_4);\n                lVar12 = lVar11;\n                lVar15 = lVar11;\n                lVar8 = *(long *)(lVar14 + 0x30);\n                if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }\n                else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }\n                for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;\n                    puVar5 = (undefined8 *)*puVar5) {\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }\n              }\n            }\n          }" { (expression_statement "lVar14 = *(long *)(param_1 + 0x290);" (assignment_expression "lVar14 = *(long *)(param_1 + 0x290)" identifier = (pointer_expression "*(long *)(param_1 + 0x290)" * (cast_expression "(long *)(param_1 + 0x290)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x290)" ( (binary_expression "param_1 + 0x290" identifier + number_literal) ))))) ;) (expression_statement "lVar19 = lVar14 + 0x28;" (assignment_expression "lVar19 = lVar14 + 0x28" identifier = (binary_expression "lVar14 + 0x28" identifier + number_literal)) ;) (expression_statement "lVar11 = lVar19;" (assignment_expression "lVar11 = lVar19" identifier = identifier) ;) (expression_statement "lVar12 = lVar19;" (assignment_expression "lVar12 = lVar19" identifier = identifier) ;) (expression_statement "lVar15 = *(long *)(lVar14 + 0x30);" (assignment_expression "lVar15 = *(long *)(lVar14 + 0x30)" identifier = (pointer_expression "*(long *)(lVar14 + 0x30)" * (cast_expression "(long *)(lVar14 + 0x30)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar14 + 0x30)" ( (binary_expression "lVar14 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "local_b8 = param_3;" (assignment_expression "local_b8 = param_3" identifier = identifier) ;) (expression_statement "local_b0 = param_4;" (assignment_expression "local_b0 = param_4" identifier = identifier) ;) (expression_statement "local_a8 = pbVar24;" (assignment_expression "local_a8 = pbVar24" identifier = identifier) ;) (expression_statement "local_a0 = uVar10;" (assignment_expression "local_a0 = uVar10" identifier = identifier) ;) (if_statement "if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192660:\n              local_e8 = &local_b8;\n              lVar12 = FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a);\n            }\n            else {\n              do {\n                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }\n                lVar11 = lVar12;\n                lVar15 = *(long *)(lVar12 + 0x10);\n              } while (*(long *)(lVar12 + 0x10) != 0);\nLAB_0019263a:\n              if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))\n              goto LAB_00192660;\n            }" if (parenthesized_expression "(*(long *)(lVar14 + 0x30) == 0)" ( (binary_expression "*(long *)(lVar14 + 0x30) == 0" (pointer_expression "*(long *)(lVar14 + 0x30)" * (cast_expression "(long *)(lVar14 + 0x30)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar14 + 0x30)" ( (binary_expression "lVar14 + 0x30" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_00192660:\n              local_e8 = &local_b8;\n              lVar12 = FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a);\n            }" { (labeled_statement "LAB_00192660:\n              local_e8 = &local_b8;" statement_identifier : (expression_statement "local_e8 = &local_b8;" (assignment_expression "local_e8 = &local_b8" identifier = (pointer_expression "&local_b8" & identifier)) ;)) (expression_statement "lVar12 = FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a);" (assignment_expression "lVar12 = FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a)" identifier = (call_expression "FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a)" identifier (argument_list "(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a)" ( (binary_expression "lVar14 + 0x20" identifier + number_literal) , identifier , (pointer_expression "&DAT_003de3e0" & identifier) , (pointer_expression "&local_e8" & identifier) , (pointer_expression "&local_10a" & identifier) )))) ;) }) (else_clause "else {\n              do {\n                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }\n                lVar11 = lVar12;\n                lVar15 = *(long *)(lVar12 + 0x10);\n              } while (*(long *)(lVar12 + 0x10) != 0);\nLAB_0019263a:\n              if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))\n              goto LAB_00192660;\n            }" else (compound_statement "{\n              do {\n                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }\n                lVar11 = lVar12;\n                lVar15 = *(long *)(lVar12 + 0x10);\n              } while (*(long *)(lVar12 + 0x10) != 0);\nLAB_0019263a:\n              if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))\n              goto LAB_00192660;\n            }" { (do_statement "do {\n                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }\n                lVar11 = lVar12;\n                lVar15 = *(long *)(lVar12 + 0x10);\n              } while (*(long *)(lVar12 + 0x10) != 0);" do (compound_statement "{\n                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }\n                lVar11 = lVar12;\n                lVar15 = *(long *)(lVar12 + 0x10);\n              }" { (while_statement "while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }" while (parenthesized_expression "((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4)))))" ( (parenthesized_expression "(lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))" ( (comma_expression "lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4)))" (assignment_expression "lVar12 = lVar15" identifier = identifier) , (binary_expression "*(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4)))" (binary_expression "*(byte **)(lVar12 + 0x20) < param_3" (pointer_expression "*(byte **)(lVar12 + 0x20)" * (cast_expression "(byte **)(lVar12 + 0x20)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar12 + 0x20)" ( (binary_expression "lVar12 + 0x20" identifier + number_literal) )))) < identifier) || (parenthesized_expression "((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4)))" ( (parenthesized_expression "(param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))" ( (binary_expression "param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4)" (binary_expression "param_3 == *(byte **)(lVar12 + 0x20)" identifier == (pointer_expression "*(byte **)(lVar12 + 0x20)" * (cast_expression "(byte **)(lVar12 + 0x20)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar12 + 0x20)" ( (binary_expression "lVar12 + 0x20" identifier + number_literal) ))))) && (parenthesized_expression "(*(uint *)(lVar12 + 0x28) < param_4)" ( (binary_expression "*(uint *)(lVar12 + 0x28) < param_4" (pointer_expression "*(uint *)(lVar12 + 0x28)" * (cast_expression "(uint *)(lVar12 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar12 + 0x28)" ( (binary_expression "lVar12 + 0x28" identifier + number_literal) )))) < identifier) ))) )) )))) )) )) (compound_statement "{\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }" { (expression_statement "plVar1 = (long *)(lVar12 + 0x18);" (assignment_expression "plVar1 = (long *)(lVar12 + 0x18)" identifier = (cast_expression "(long *)(lVar12 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar12 + 0x18)" ( (binary_expression "lVar12 + 0x18" identifier + number_literal) )))) ;) (expression_statement "lVar12 = lVar11;" (assignment_expression "lVar12 = lVar11" identifier = identifier) ;) (expression_statement "lVar15 = *plVar1;" (assignment_expression "lVar15 = *plVar1" identifier = (pointer_expression "*plVar1" * identifier)) ;) (if_statement "if (*plVar1 == 0) goto LAB_0019263a;" if (parenthesized_expression "(*plVar1 == 0)" ( (binary_expression "*plVar1 == 0" (pointer_expression "*plVar1" * identifier) == number_literal) )) (goto_statement "goto LAB_0019263a;" goto statement_identifier ;)) })) (expression_statement "lVar11 = lVar12;" (assignment_expression "lVar11 = lVar12" identifier = identifier) ;) (expression_statement "lVar15 = *(long *)(lVar12 + 0x10);" (assignment_expression "lVar15 = *(long *)(lVar12 + 0x10)" identifier = (pointer_expression "*(long *)(lVar12 + 0x10)" * (cast_expression "(long *)(lVar12 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar12 + 0x10)" ( (binary_expression "lVar12 + 0x10" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(*(long *)(lVar12 + 0x10) != 0)" ( (binary_expression "*(long *)(lVar12 + 0x10) != 0" (pointer_expression "*(long *)(lVar12 + 0x10)" * (cast_expression "(long *)(lVar12 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar12 + 0x10)" ( (binary_expression "lVar12 + 0x10" identifier + number_literal) )))) != number_literal) )) ;) (labeled_statement "LAB_0019263a:\n              if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))\n              goto LAB_00192660;" statement_identifier : (if_statement "if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))\n              goto LAB_00192660;" if (parenthesized_expression "(((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))" ( (binary_expression "((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28))))" (parenthesized_expression "((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20)))" ( (binary_expression "(lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))" (parenthesized_expression "(lVar12 == lVar19)" ( (binary_expression "lVar12 == lVar19" identifier == identifier) )) || (parenthesized_expression "(param_3 < *(byte **)(lVar12 + 0x20))" ( (binary_expression "param_3 < *(byte **)(lVar12 + 0x20)" identifier < (pointer_expression "*(byte **)(lVar12 + 0x20)" * (cast_expression "(byte **)(lVar12 + 0x20)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar12 + 0x20)" ( (binary_expression "lVar12 + 0x20" identifier + number_literal) ))))) ))) )) || (parenthesized_expression "((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28))))" ( (parenthesized_expression "(param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))" ( (binary_expression "param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28))" (binary_expression "param_3 == *(byte **)(lVar12 + 0x20)" identifier == (pointer_expression "*(byte **)(lVar12 + 0x20)" * (cast_expression "(byte **)(lVar12 + 0x20)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar12 + 0x20)" ( (binary_expression "lVar12 + 0x20" identifier + number_literal) ))))) && (parenthesized_expression "(param_4 < *(uint *)(lVar12 + 0x28))" ( (binary_expression "param_4 < *(uint *)(lVar12 + 0x28)" identifier < (pointer_expression "*(uint *)(lVar12 + 0x28)" * (cast_expression "(uint *)(lVar12 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar12 + 0x28)" ( (binary_expression "lVar12 + 0x28" identifier + number_literal) ))))) ))) )) ))) )) (goto_statement "goto LAB_00192660;" goto statement_identifier ;))) }))) (expression_statement "local_f0 = lVar12 + 0x30;" (assignment_expression "local_f0 = lVar12 + 0x30" identifier = (binary_expression "lVar12 + 0x30" identifier + number_literal)) ;) (expression_statement "FUN_001bcaf0(local_f0,&local_a8,&local_f0,1);" (call_expression "FUN_001bcaf0(local_f0,&local_a8,&local_f0,1)" identifier (argument_list "(local_f0,&local_a8,&local_f0,1)" ( identifier , (pointer_expression "&local_a8" & identifier) , (pointer_expression "&local_f0" & identifier) , number_literal ))) ;) (expression_statement "plVar1 = *(long **)(PTR_DAT_004ba7c8 + 0x18);" (assignment_expression "plVar1 = *(long **)(PTR_DAT_004ba7c8 + 0x18)" identifier = (pointer_expression "*(long **)(PTR_DAT_004ba7c8 + 0x18)" * (cast_expression "(long **)(PTR_DAT_004ba7c8 + 0x18)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_DAT_004ba7c8 + 0x18)" ( (binary_expression "PTR_DAT_004ba7c8 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (plVar1 == (long *)0x0) {\n                    \n              FUN_001e9890("../../gold/parameters.h",0x73,"sized_target");\n            }" if (parenthesized_expression "(plVar1 == (long *)0x0)" ( (binary_expression "plVar1 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    \n              FUN_001e9890("../../gold/parameters.h",0x73,"sized_target");\n            }" { (expression_statement "FUN_001e9890("../../gold/parameters.h",0x73,"sized_target");" (call_expression "FUN_001e9890("../../gold/parameters.h",0x73,"sized_target")" identifier (argument_list "("../../gold/parameters.h",0x73,"sized_target")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""sized_target"" " string_content ") ))) ;) })) (expression_statement "(**(code **)(*plVar1 + 0x208))(plVar1,param_1,param_3,param_4,pbVar24,uVar10,local_134);" (call_expression "(**(code **)(*plVar1 + 0x208))(plVar1,param_1,param_3,param_4,pbVar24,uVar10,local_134)" (parenthesized_expression "(**(code **)(*plVar1 + 0x208))" ( (pointer_expression "**(code **)(*plVar1 + 0x208)" * (pointer_expression "*(code **)(*plVar1 + 0x208)" * (cast_expression "(code **)(*plVar1 + 0x208)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar1 + 0x208)" ( (binary_expression "*plVar1 + 0x208" (pointer_expression "*plVar1" * identifier) + number_literal) ))))) )) (argument_list "(plVar1,param_1,param_3,param_4,pbVar24,uVar10,local_134)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (if_statement "if (local_158 != (byte *)0x0) {\n              lVar19 = *(long *)(param_1 + 0x290);\n              local_58 = local_48;\n              sVar13 = strlen((char *)local_158);\n              FUN_001bc4c0(&local_58,local_158,local_158 + sVar13);\n              lVar19 = FUN_001be060(lVar19 + 0x88,&local_58);\n              if (local_58 != local_48) {\n                FUN_00338a40();\n              }\n              lVar14 = *(long *)(param_1 + 0x290);\n              if (lVar19 != lVar14 + 0x90) {\n                lVar11 = lVar14 + 0x28;\n                local_50 = CONCAT44(local_50._4_4_,param_4);\n                lVar12 = lVar11;\n                lVar15 = lVar11;\n                lVar8 = *(long *)(lVar14 + 0x30);\n                if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }\n                else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }\n                for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;\n                    puVar5 = (undefined8 *)*puVar5) {\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }\n              }\n            }" if (parenthesized_expression "(local_158 != (byte *)0x0)" ( (binary_expression "local_158 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              lVar19 = *(long *)(param_1 + 0x290);\n              local_58 = local_48;\n              sVar13 = strlen((char *)local_158);\n              FUN_001bc4c0(&local_58,local_158,local_158 + sVar13);\n              lVar19 = FUN_001be060(lVar19 + 0x88,&local_58);\n              if (local_58 != local_48) {\n                FUN_00338a40();\n              }\n              lVar14 = *(long *)(param_1 + 0x290);\n              if (lVar19 != lVar14 + 0x90) {\n                lVar11 = lVar14 + 0x28;\n                local_50 = CONCAT44(local_50._4_4_,param_4);\n                lVar12 = lVar11;\n                lVar15 = lVar11;\n                lVar8 = *(long *)(lVar14 + 0x30);\n                if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }\n                else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }\n                for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;\n                    puVar5 = (undefined8 *)*puVar5) {\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }\n              }\n            }" { (expression_statement "lVar19 = *(long *)(param_1 + 0x290);" (assignment_expression "lVar19 = *(long *)(param_1 + 0x290)" identifier = (pointer_expression "*(long *)(param_1 + 0x290)" * (cast_expression "(long *)(param_1 + 0x290)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x290)" ( (binary_expression "param_1 + 0x290" identifier + number_literal) ))))) ;) (expression_statement "local_58 = local_48;" (assignment_expression "local_58 = local_48" identifier = identifier) ;) (expression_statement "sVar13 = strlen((char *)local_158);" (assignment_expression "sVar13 = strlen((char *)local_158)" identifier = (call_expression "strlen((char *)local_158)" identifier (argument_list "((char *)local_158)" ( (cast_expression "(char *)local_158" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "FUN_001bc4c0(&local_58,local_158,local_158 + sVar13);" (call_expression "FUN_001bc4c0(&local_58,local_158,local_158 + sVar13)" identifier (argument_list "(&local_58,local_158,local_158 + sVar13)" ( (pointer_expression "&local_58" & identifier) , identifier , (binary_expression "local_158 + sVar13" identifier + identifier) ))) ;) (expression_statement "lVar19 = FUN_001be060(lVar19 + 0x88,&local_58);" (assignment_expression "lVar19 = FUN_001be060(lVar19 + 0x88,&local_58)" identifier = (call_expression "FUN_001be060(lVar19 + 0x88,&local_58)" identifier (argument_list "(lVar19 + 0x88,&local_58)" ( (binary_expression "lVar19 + 0x88" identifier + number_literal) , (pointer_expression "&local_58" & identifier) )))) ;) (if_statement "if (local_58 != local_48) {\n                FUN_00338a40();\n              }" if (parenthesized_expression "(local_58 != local_48)" ( (binary_expression "local_58 != local_48" identifier != identifier) )) (compound_statement "{\n                FUN_00338a40();\n              }" { (expression_statement "FUN_00338a40();" (call_expression "FUN_00338a40()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "lVar14 = *(long *)(param_1 + 0x290);" (assignment_expression "lVar14 = *(long *)(param_1 + 0x290)" identifier = (pointer_expression "*(long *)(param_1 + 0x290)" * (cast_expression "(long *)(param_1 + 0x290)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x290)" ( (binary_expression "param_1 + 0x290" identifier + number_literal) ))))) ;) (if_statement "if (lVar19 != lVar14 + 0x90) {\n                lVar11 = lVar14 + 0x28;\n                local_50 = CONCAT44(local_50._4_4_,param_4);\n                lVar12 = lVar11;\n                lVar15 = lVar11;\n                lVar8 = *(long *)(lVar14 + 0x30);\n                if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }\n                else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }\n                for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;\n                    puVar5 = (undefined8 *)*puVar5) {\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }\n              }" if (parenthesized_expression "(lVar19 != lVar14 + 0x90)" ( (binary_expression "lVar19 != lVar14 + 0x90" identifier != (binary_expression "lVar14 + 0x90" identifier + number_literal)) )) (compound_statement "{\n                lVar11 = lVar14 + 0x28;\n                local_50 = CONCAT44(local_50._4_4_,param_4);\n                lVar12 = lVar11;\n                lVar15 = lVar11;\n                lVar8 = *(long *)(lVar14 + 0x30);\n                if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }\n                else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }\n                for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;\n                    puVar5 = (undefined8 *)*puVar5) {\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }\n              }" { (expression_statement "lVar11 = lVar14 + 0x28;" (assignment_expression "lVar11 = lVar14 + 0x28" identifier = (binary_expression "lVar14 + 0x28" identifier + number_literal)) ;) (expression_statement "local_50 = CONCAT44(local_50._4_4_,param_4);" (assignment_expression "local_50 = CONCAT44(local_50._4_4_,param_4)" identifier = (call_expression "CONCAT44(local_50._4_4_,param_4)" identifier (argument_list "(local_50._4_4_,param_4)" ( (field_expression "local_50._4_4_" identifier . field_identifier) , identifier )))) ;) (expression_statement "lVar12 = lVar11;" (assignment_expression "lVar12 = lVar11" identifier = identifier) ;) (expression_statement "lVar15 = lVar11;" (assignment_expression "lVar15 = lVar11" identifier = identifier) ;) (expression_statement "lVar8 = *(long *)(lVar14 + 0x30);" (assignment_expression "lVar8 = *(long *)(lVar14 + 0x30)" identifier = (pointer_expression "*(long *)(lVar14 + 0x30)" * (cast_expression "(long *)(lVar14 + 0x30)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar14 + 0x30)" ( (binary_expression "lVar14 + 0x30" identifier + number_literal) ))))) ;) (if_statement "if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }\n                else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }" if (parenthesized_expression "(*(long *)(lVar14 + 0x30) == 0)" ( (binary_expression "*(long *)(lVar14 + 0x30) == 0" (pointer_expression "*(long *)(lVar14 + 0x30)" * (cast_expression "(long *)(lVar14 + 0x30)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar14 + 0x30)" ( (binary_expression "lVar14 + 0x30" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }" { (labeled_statement "LAB_00192b80:\n                  local_e0 = &local_58;" statement_identifier : (expression_statement "local_e0 = &local_58;" (assignment_expression "local_e0 = &local_58" identifier = (pointer_expression "&local_58" & identifier)) ;)) (expression_statement "local_58 = param_3;" (assignment_expression "local_58 = param_3" identifier = identifier) ;) (expression_statement "lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);" (assignment_expression "lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109)" identifier = (call_expression "FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109)" identifier (argument_list "(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109)" ( (binary_expression "lVar14 + 0x20" identifier + number_literal) , identifier , (pointer_expression "&DAT_003de3e0" & identifier) , (pointer_expression "&local_e0" & identifier) , (pointer_expression "&local_109" & identifier) )))) ;) }) (else_clause "else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }" else (compound_statement "{\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }" { (do_statement "do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);" do (compound_statement "{\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  }" { (while_statement "while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }" while (parenthesized_expression "((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4)))))" ( (parenthesized_expression "(lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))" ( (comma_expression "lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4)))" (assignment_expression "lVar15 = lVar8" identifier = identifier) , (binary_expression "*(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4)))" (binary_expression "*(byte **)(lVar15 + 0x20) < param_3" (pointer_expression "*(byte **)(lVar15 + 0x20)" * (cast_expression "(byte **)(lVar15 + 0x20)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar15 + 0x20)" ( (binary_expression "lVar15 + 0x20" identifier + number_literal) )))) < identifier) || (parenthesized_expression "((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4)))" ( (parenthesized_expression "(param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))" ( (binary_expression "param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4)" (binary_expression "param_3 == *(byte **)(lVar15 + 0x20)" identifier == (pointer_expression "*(byte **)(lVar15 + 0x20)" * (cast_expression "(byte **)(lVar15 + 0x20)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar15 + 0x20)" ( (binary_expression "lVar15 + 0x20" identifier + number_literal) ))))) && (parenthesized_expression "(*(uint *)(lVar15 + 0x28) < param_4)" ( (binary_expression "*(uint *)(lVar15 + 0x28) < param_4" (pointer_expression "*(uint *)(lVar15 + 0x28)" * (cast_expression "(uint *)(lVar15 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x28)" ( (binary_expression "lVar15 + 0x28" identifier + number_literal) )))) < identifier) ))) )) )))) )) )) (compound_statement "{\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }" { (expression_statement "plVar1 = (long *)(lVar15 + 0x18);" (assignment_expression "plVar1 = (long *)(lVar15 + 0x18)" identifier = (cast_expression "(long *)(lVar15 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x18)" ( (binary_expression "lVar15 + 0x18" identifier + number_literal) )))) ;) (expression_statement "lVar15 = lVar12;" (assignment_expression "lVar15 = lVar12" identifier = identifier) ;) (expression_statement "lVar8 = *plVar1;" (assignment_expression "lVar8 = *plVar1" identifier = (pointer_expression "*plVar1" * identifier)) ;) (if_statement "if (*plVar1 == 0) goto LAB_001927c2;" if (parenthesized_expression "(*plVar1 == 0)" ( (binary_expression "*plVar1 == 0" (pointer_expression "*plVar1" * identifier) == number_literal) )) (goto_statement "goto LAB_001927c2;" goto statement_identifier ;)) })) (expression_statement "lVar12 = lVar15;" (assignment_expression "lVar12 = lVar15" identifier = identifier) ;) (expression_statement "lVar8 = *(long *)(lVar15 + 0x10);" (assignment_expression "lVar8 = *(long *)(lVar15 + 0x10)" identifier = (pointer_expression "*(long *)(lVar15 + 0x10)" * (cast_expression "(long *)(lVar15 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x10)" ( (binary_expression "lVar15 + 0x10" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(*(long *)(lVar15 + 0x10) != 0)" ( (binary_expression "*(long *)(lVar15 + 0x10) != 0" (pointer_expression "*(long *)(lVar15 + 0x10)" * (cast_expression "(long *)(lVar15 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x10)" ( (binary_expression "lVar15 + 0x10" identifier + number_literal) )))) != number_literal) )) ;) (labeled_statement "LAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;" statement_identifier : (if_statement "if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;" if (parenthesized_expression "(((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28)))))" ( (binary_expression "((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))" (parenthesized_expression "((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20)))" ( (binary_expression "(lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))" (parenthesized_expression "(lVar15 == lVar11)" ( (binary_expression "lVar15 == lVar11" identifier == identifier) )) || (parenthesized_expression "(param_3 < *(byte **)(lVar15 + 0x20))" ( (binary_expression "param_3 < *(byte **)(lVar15 + 0x20)" identifier < (pointer_expression "*(byte **)(lVar15 + 0x20)" * (cast_expression "(byte **)(lVar15 + 0x20)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar15 + 0x20)" ( (binary_expression "lVar15 + 0x20" identifier + number_literal) ))))) ))) )) || (parenthesized_expression "((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))" ( (parenthesized_expression "(local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28)))" ( (comma_expression "local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))" (assignment_expression "local_58 = param_3" identifier = identifier) , (binary_expression "param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))" (binary_expression "param_3 == *(byte **)(lVar15 + 0x20)" identifier == (pointer_expression "*(byte **)(lVar15 + 0x20)" * (cast_expression "(byte **)(lVar15 + 0x20)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar15 + 0x20)" ( (binary_expression "lVar15 + 0x20" identifier + number_literal) ))))) && (parenthesized_expression "(param_4 < *(uint *)(lVar15 + 0x28))" ( (binary_expression "param_4 < *(uint *)(lVar15 + 0x28)" identifier < (pointer_expression "*(uint *)(lVar15 + 0x28)" * (cast_expression "(uint *)(lVar15 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x28)" ( (binary_expression "lVar15 + 0x28" identifier + number_literal) ))))) )))) )) ))) )) (goto_statement "goto LAB_00192b80;" goto statement_identifier ;))) }))) (for_statement "for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;\n                    puVar5 = (undefined8 *)*puVar5) {\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }" for ( (assignment_expression "puVar5 = *(undefined8 **)(lVar19 + 0x50)" identifier = (pointer_expression "*(undefined8 **)(lVar19 + 0x50)" * (cast_expression "(undefined8 **)(lVar19 + 0x50)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar19 + 0x50)" ( (binary_expression "lVar19 + 0x50" identifier + number_literal) ))))) ; (binary_expression "puVar5 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "puVar5 = (undefined8 *)*puVar5" identifier = (cast_expression "(undefined8 *)*puVar5" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) ) (compound_statement "{\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }" { (expression_statement "local_f8 = lVar15 + 0x30;" (assignment_expression "local_f8 = lVar15 + 0x30" identifier = (binary_expression "lVar15 + 0x30" identifier + number_literal)) ;) (expression_statement "FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);" (call_expression "FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1)" identifier (argument_list "(lVar15 + 0x30,puVar5 + 1,&local_f8,1)" ( (binary_expression "lVar15 + 0x30" identifier + number_literal) , (binary_expression "puVar5 + 1" identifier + number_literal) , (pointer_expression "&local_f8" & identifier) , number_literal ))) ;) })) })) })) })) })) }) (else_clause "else {\n        if (uVar22 < *(uint *)(param_3 + 0x120)) {\n          local_a8 = (byte *)0x0;\nLAB_00192adb:\n                    \n          FUN_001e9890("../../gold/gc.h",0x11c,"gc_process_relocs");\n        }\n        uVar23 = (ulong)(uVar22 - *(uint *)(param_3 + 0x120));\n        if ((ulong)(*(long *)(param_3 + 0x138) - *(long *)(param_3 + 0x130) >> 3) <= uVar23) {\n                    \n          FUN_001e9890("../../gold/object.h",0x8ad,"global_symbol");\n        }\n        local_a8 = *(byte **)(*(long *)(param_3 + 0x130) + uVar23 * 8);\n        if (local_a8 == (byte *)0x0) goto LAB_00192adb;\n        if ((local_a8[0x3a] & 0x10) != 0) {\n          local_a8 = (byte *)FUN_002ddad0(param_1,local_a8);\n        }\n        if ((local_a8[0x3a] & 7) == 0) {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          pbVar24 = *(byte **)(local_a8 + 0x10);\n          local_134 = uVar4 + local_150;\n          if ((pbVar24[0x3c] & 1) == 0) {\n            uVar10 = *(uint *)(local_a8 + 0x18);\n            bVar18 = local_a8[0x3b] >> 5 & 1;\n            uVar25 = (local_a8[0x38] & 0xf) < 2;\n            uVar29 = (local_a8[0x38] & 0xf) == 2;\n            if ((bool)uVar29) {\n              uVar25 = 0;\n              uVar29 = local_136 == '\0';\n              if (!(bool)uVar29) {\n                uVar25 = false;\n                uVar29 = bVar18 == 0;\n                if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }\n                local_100 = *(long *)(param_1 + 0x298) + 0x68;\n                local_d8 = pbVar24;\n                local_d0 = uVar10;\n                    \n                FUN_001bcb90(local_100,&local_d8,&local_100,1);\n              }\n            }\n          }\n          else {\n            bVar18 = 0;\n            uVar10 = 0;\n            uVar25 = 0;\n            pbVar24 = (byte *)0x0;\n            uVar29 = 1;\n          }\n        }\n        else {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          bVar18 = 0;\n          uVar10 = 0;\n          uVar25 = 0;\n          pbVar24 = (byte *)0x0;\n          uVar29 = 1;\n          local_134 = uVar4 + local_150;\n        }\nLAB_00192930:\n        pbVar17 = *(byte **)local_a8;\n        lVar19 = 8;\n        pbVar20 = (byte *)"__start_";\n        pbVar21 = pbVar17;\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          uVar25 = *pbVar20 < *pbVar21;\n          uVar29 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n          pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n        } while ((bool)uVar29);\n        bVar26 = false;\n        bVar30 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;\n        if (bVar30) {\n          pbVar17 = pbVar17 + 8;\n        }\n        else {\n          lVar19 = 7;\n          pbVar20 = (byte *)"__stop_";\n          pbVar21 = pbVar17;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar21;\n            bVar30 = *pbVar20 == *pbVar21;\n            pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n            pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n          } while (bVar30);\n          pbVar17 = pbVar17 + 7;\n          if ((!bVar26 && !bVar30) != bVar26) {\n            pbVar17 = local_158;\n          }\n        }\n        local_158 = pbVar17;\n        if (bVar28) {\n          if (bVar18 == 0) {\n            local_58 = (byte *)0x0;\n            local_50 = (ulong)local_50._4_4_ << 0x20;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          else {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = pbVar24;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          puVar5 = *(undefined8 **)(local_170 + 8);\n          if (puVar5 == *(undefined8 **)(local_170 + 0x10)) {\n            FUN_001bbf50(local_170,puVar5,&local_a8);\n          }\n          else {\n            *puVar5 = local_a8;\n            *(undefined8 **)(local_170 + 8) = puVar5 + 1;\n          }\n          local_58 = (byte *)(ulong)local_150;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_b8 = (byte *)((ulong)local_b8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_b8);\n        }\n        if (bVar18 != 0) goto LAB_001925a8;\n      }" else (compound_statement "{\n        if (uVar22 < *(uint *)(param_3 + 0x120)) {\n          local_a8 = (byte *)0x0;\nLAB_00192adb:\n                    \n          FUN_001e9890("../../gold/gc.h",0x11c,"gc_process_relocs");\n        }\n        uVar23 = (ulong)(uVar22 - *(uint *)(param_3 + 0x120));\n        if ((ulong)(*(long *)(param_3 + 0x138) - *(long *)(param_3 + 0x130) >> 3) <= uVar23) {\n                    \n          FUN_001e9890("../../gold/object.h",0x8ad,"global_symbol");\n        }\n        local_a8 = *(byte **)(*(long *)(param_3 + 0x130) + uVar23 * 8);\n        if (local_a8 == (byte *)0x0) goto LAB_00192adb;\n        if ((local_a8[0x3a] & 0x10) != 0) {\n          local_a8 = (byte *)FUN_002ddad0(param_1,local_a8);\n        }\n        if ((local_a8[0x3a] & 7) == 0) {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          pbVar24 = *(byte **)(local_a8 + 0x10);\n          local_134 = uVar4 + local_150;\n          if ((pbVar24[0x3c] & 1) == 0) {\n            uVar10 = *(uint *)(local_a8 + 0x18);\n            bVar18 = local_a8[0x3b] >> 5 & 1;\n            uVar25 = (local_a8[0x38] & 0xf) < 2;\n            uVar29 = (local_a8[0x38] & 0xf) == 2;\n            if ((bool)uVar29) {\n              uVar25 = 0;\n              uVar29 = local_136 == '\0';\n              if (!(bool)uVar29) {\n                uVar25 = false;\n                uVar29 = bVar18 == 0;\n                if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }\n                local_100 = *(long *)(param_1 + 0x298) + 0x68;\n                local_d8 = pbVar24;\n                local_d0 = uVar10;\n                    \n                FUN_001bcb90(local_100,&local_d8,&local_100,1);\n              }\n            }\n          }\n          else {\n            bVar18 = 0;\n            uVar10 = 0;\n            uVar25 = 0;\n            pbVar24 = (byte *)0x0;\n            uVar29 = 1;\n          }\n        }\n        else {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          bVar18 = 0;\n          uVar10 = 0;\n          uVar25 = 0;\n          pbVar24 = (byte *)0x0;\n          uVar29 = 1;\n          local_134 = uVar4 + local_150;\n        }\nLAB_00192930:\n        pbVar17 = *(byte **)local_a8;\n        lVar19 = 8;\n        pbVar20 = (byte *)"__start_";\n        pbVar21 = pbVar17;\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          uVar25 = *pbVar20 < *pbVar21;\n          uVar29 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n          pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n        } while ((bool)uVar29);\n        bVar26 = false;\n        bVar30 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;\n        if (bVar30) {\n          pbVar17 = pbVar17 + 8;\n        }\n        else {\n          lVar19 = 7;\n          pbVar20 = (byte *)"__stop_";\n          pbVar21 = pbVar17;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar21;\n            bVar30 = *pbVar20 == *pbVar21;\n            pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n            pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n          } while (bVar30);\n          pbVar17 = pbVar17 + 7;\n          if ((!bVar26 && !bVar30) != bVar26) {\n            pbVar17 = local_158;\n          }\n        }\n        local_158 = pbVar17;\n        if (bVar28) {\n          if (bVar18 == 0) {\n            local_58 = (byte *)0x0;\n            local_50 = (ulong)local_50._4_4_ << 0x20;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          else {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = pbVar24;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          puVar5 = *(undefined8 **)(local_170 + 8);\n          if (puVar5 == *(undefined8 **)(local_170 + 0x10)) {\n            FUN_001bbf50(local_170,puVar5,&local_a8);\n          }\n          else {\n            *puVar5 = local_a8;\n            *(undefined8 **)(local_170 + 8) = puVar5 + 1;\n          }\n          local_58 = (byte *)(ulong)local_150;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_b8 = (byte *)((ulong)local_b8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_b8);\n        }\n        if (bVar18 != 0) goto LAB_001925a8;\n      }" { (if_statement "if (uVar22 < *(uint *)(param_3 + 0x120)) {\n          local_a8 = (byte *)0x0;\nLAB_00192adb:\n                    \n          FUN_001e9890("../../gold/gc.h",0x11c,"gc_process_relocs");\n        }" if (parenthesized_expression "(uVar22 < *(uint *)(param_3 + 0x120))" ( (binary_expression "uVar22 < *(uint *)(param_3 + 0x120)" identifier < (pointer_expression "*(uint *)(param_3 + 0x120)" * (cast_expression "(uint *)(param_3 + 0x120)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x120)" ( (binary_expression "param_3 + 0x120" identifier + number_literal) ))))) )) (compound_statement "{\n          local_a8 = (byte *)0x0;\nLAB_00192adb:\n                    \n          FUN_001e9890("../../gold/gc.h",0x11c,"gc_process_relocs");\n        }" { (expression_statement "local_a8 = (byte *)0x0;" (assignment_expression "local_a8 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00192adb:\n                    \n          FUN_001e9890("../../gold/gc.h",0x11c,"gc_process_relocs");" statement_identifier : (expression_statement "FUN_001e9890("../../gold/gc.h",0x11c,"gc_process_relocs");" (call_expression "FUN_001e9890("../../gold/gc.h",0x11c,"gc_process_relocs")" identifier (argument_list "("../../gold/gc.h",0x11c,"gc_process_relocs")" ( (string_literal ""../../gold/gc.h"" " string_content ") , number_literal , (string_literal ""gc_process_relocs"" " string_content ") ))) ;)) })) (expression_statement "uVar23 = (ulong)(uVar22 - *(uint *)(param_3 + 0x120));" (assignment_expression "uVar23 = (ulong)(uVar22 - *(uint *)(param_3 + 0x120))" identifier = (call_expression "(ulong)(uVar22 - *(uint *)(param_3 + 0x120))" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar22 - *(uint *)(param_3 + 0x120))" ( (binary_expression "uVar22 - *(uint *)(param_3 + 0x120)" identifier - (pointer_expression "*(uint *)(param_3 + 0x120)" * (cast_expression "(uint *)(param_3 + 0x120)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x120)" ( (binary_expression "param_3 + 0x120" identifier + number_literal) ))))) )))) ;) (if_statement "if ((ulong)(*(long *)(param_3 + 0x138) - *(long *)(param_3 + 0x130) >> 3) <= uVar23) {\n                    \n          FUN_001e9890("../../gold/object.h",0x8ad,"global_symbol");\n        }" if (parenthesized_expression "((ulong)(*(long *)(param_3 + 0x138) - *(long *)(param_3 + 0x130) >> 3) <= uVar23)" ( (binary_expression "(ulong)(*(long *)(param_3 + 0x138) - *(long *)(param_3 + 0x130) >> 3) <= uVar23" (call_expression "(ulong)(*(long *)(param_3 + 0x138) - *(long *)(param_3 + 0x130) >> 3)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(*(long *)(param_3 + 0x138) - *(long *)(param_3 + 0x130) >> 3)" ( (binary_expression "*(long *)(param_3 + 0x138) - *(long *)(param_3 + 0x130) >> 3" (binary_expression "*(long *)(param_3 + 0x138) - *(long *)(param_3 + 0x130)" (pointer_expression "*(long *)(param_3 + 0x138)" * (cast_expression "(long *)(param_3 + 0x138)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x138)" ( (binary_expression "param_3 + 0x138" identifier + number_literal) )))) - (pointer_expression "*(long *)(param_3 + 0x130)" * (cast_expression "(long *)(param_3 + 0x130)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x130)" ( (binary_expression "param_3 + 0x130" identifier + number_literal) ))))) >> number_literal) ))) <= identifier) )) (compound_statement "{\n                    \n          FUN_001e9890("../../gold/object.h",0x8ad,"global_symbol");\n        }" { (expression_statement "FUN_001e9890("../../gold/object.h",0x8ad,"global_symbol");" (call_expression "FUN_001e9890("../../gold/object.h",0x8ad,"global_symbol")" identifier (argument_list "("../../gold/object.h",0x8ad,"global_symbol")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""global_symbol"" " string_content ") ))) ;) })) (expression_statement "local_a8 = *(byte **)(*(long *)(param_3 + 0x130) + uVar23 * 8);" (assignment_expression "local_a8 = *(byte **)(*(long *)(param_3 + 0x130) + uVar23 * 8)" identifier = (pointer_expression "*(byte **)(*(long *)(param_3 + 0x130) + uVar23 * 8)" * (cast_expression "(byte **)(*(long *)(param_3 + 0x130) + uVar23 * 8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)(param_3 + 0x130) + uVar23 * 8)" ( (binary_expression "*(long *)(param_3 + 0x130) + uVar23 * 8" (pointer_expression "*(long *)(param_3 + 0x130)" * (cast_expression "(long *)(param_3 + 0x130)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x130)" ( (binary_expression "param_3 + 0x130" identifier + number_literal) )))) + (binary_expression "uVar23 * 8" identifier * number_literal)) ))))) ;) (if_statement "if (local_a8 == (byte *)0x0) goto LAB_00192adb;" if (parenthesized_expression "(local_a8 == (byte *)0x0)" ( (binary_expression "local_a8 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00192adb;" goto statement_identifier ;)) (if_statement "if ((local_a8[0x3a] & 0x10) != 0) {\n          local_a8 = (byte *)FUN_002ddad0(param_1,local_a8);\n        }" if (parenthesized_expression "((local_a8[0x3a] & 0x10) != 0)" ( (binary_expression "(local_a8[0x3a] & 0x10) != 0" (parenthesized_expression "(local_a8[0x3a] & 0x10)" ( (binary_expression "local_a8[0x3a] & 0x10" (subscript_expression "local_a8[0x3a]" identifier [ number_literal ]) & number_literal) )) != number_literal) )) (compound_statement "{\n          local_a8 = (byte *)FUN_002ddad0(param_1,local_a8);\n        }" { (expression_statement "local_a8 = (byte *)FUN_002ddad0(param_1,local_a8);" (assignment_expression "local_a8 = (byte *)FUN_002ddad0(param_1,local_a8)" identifier = (cast_expression "(byte *)FUN_002ddad0(param_1,local_a8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002ddad0(param_1,local_a8)" identifier (argument_list "(param_1,local_a8)" ( identifier , identifier ))))) ;) })) (if_statement "if ((local_a8[0x3a] & 7) == 0) {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          pbVar24 = *(byte **)(local_a8 + 0x10);\n          local_134 = uVar4 + local_150;\n          if ((pbVar24[0x3c] & 1) == 0) {\n            uVar10 = *(uint *)(local_a8 + 0x18);\n            bVar18 = local_a8[0x3b] >> 5 & 1;\n            uVar25 = (local_a8[0x38] & 0xf) < 2;\n            uVar29 = (local_a8[0x38] & 0xf) == 2;\n            if ((bool)uVar29) {\n              uVar25 = 0;\n              uVar29 = local_136 == '\0';\n              if (!(bool)uVar29) {\n                uVar25 = false;\n                uVar29 = bVar18 == 0;\n                if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }\n                local_100 = *(long *)(param_1 + 0x298) + 0x68;\n                local_d8 = pbVar24;\n                local_d0 = uVar10;\n                    \n                FUN_001bcb90(local_100,&local_d8,&local_100,1);\n              }\n            }\n          }\n          else {\n            bVar18 = 0;\n            uVar10 = 0;\n            uVar25 = 0;\n            pbVar24 = (byte *)0x0;\n            uVar29 = 1;\n          }\n        }\n        else {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          bVar18 = 0;\n          uVar10 = 0;\n          uVar25 = 0;\n          pbVar24 = (byte *)0x0;\n          uVar29 = 1;\n          local_134 = uVar4 + local_150;\n        }" if (parenthesized_expression "((local_a8[0x3a] & 7) == 0)" ( (binary_expression "(local_a8[0x3a] & 7) == 0" (parenthesized_expression "(local_a8[0x3a] & 7)" ( (binary_expression "local_a8[0x3a] & 7" (subscript_expression "local_a8[0x3a]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) (compound_statement "{\n          local_150 = *(uint *)(local_a8 + 0x40);\n          pbVar24 = *(byte **)(local_a8 + 0x10);\n          local_134 = uVar4 + local_150;\n          if ((pbVar24[0x3c] & 1) == 0) {\n            uVar10 = *(uint *)(local_a8 + 0x18);\n            bVar18 = local_a8[0x3b] >> 5 & 1;\n            uVar25 = (local_a8[0x38] & 0xf) < 2;\n            uVar29 = (local_a8[0x38] & 0xf) == 2;\n            if ((bool)uVar29) {\n              uVar25 = 0;\n              uVar29 = local_136 == '\0';\n              if (!(bool)uVar29) {\n                uVar25 = false;\n                uVar29 = bVar18 == 0;\n                if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }\n                local_100 = *(long *)(param_1 + 0x298) + 0x68;\n                local_d8 = pbVar24;\n                local_d0 = uVar10;\n                    \n                FUN_001bcb90(local_100,&local_d8,&local_100,1);\n              }\n            }\n          }\n          else {\n            bVar18 = 0;\n            uVar10 = 0;\n            uVar25 = 0;\n            pbVar24 = (byte *)0x0;\n            uVar29 = 1;\n          }\n        }" { (expression_statement "local_150 = *(uint *)(local_a8 + 0x40);" (assignment_expression "local_150 = *(uint *)(local_a8 + 0x40)" identifier = (pointer_expression "*(uint *)(local_a8 + 0x40)" * (cast_expression "(uint *)(local_a8 + 0x40)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a8 + 0x40)" ( (binary_expression "local_a8 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "pbVar24 = *(byte **)(local_a8 + 0x10);" (assignment_expression "pbVar24 = *(byte **)(local_a8 + 0x10)" identifier = (pointer_expression "*(byte **)(local_a8 + 0x10)" * (cast_expression "(byte **)(local_a8 + 0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_a8 + 0x10)" ( (binary_expression "local_a8 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "local_134 = uVar4 + local_150;" (assignment_expression "local_134 = uVar4 + local_150" identifier = (binary_expression "uVar4 + local_150" identifier + identifier)) ;) (if_statement "if ((pbVar24[0x3c] & 1) == 0) {\n            uVar10 = *(uint *)(local_a8 + 0x18);\n            bVar18 = local_a8[0x3b] >> 5 & 1;\n            uVar25 = (local_a8[0x38] & 0xf) < 2;\n            uVar29 = (local_a8[0x38] & 0xf) == 2;\n            if ((bool)uVar29) {\n              uVar25 = 0;\n              uVar29 = local_136 == '\0';\n              if (!(bool)uVar29) {\n                uVar25 = false;\n                uVar29 = bVar18 == 0;\n                if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }\n                local_100 = *(long *)(param_1 + 0x298) + 0x68;\n                local_d8 = pbVar24;\n                local_d0 = uVar10;\n                    \n                FUN_001bcb90(local_100,&local_d8,&local_100,1);\n              }\n            }\n          }\n          else {\n            bVar18 = 0;\n            uVar10 = 0;\n            uVar25 = 0;\n            pbVar24 = (byte *)0x0;\n            uVar29 = 1;\n          }" if (parenthesized_expression "((pbVar24[0x3c] & 1) == 0)" ( (binary_expression "(pbVar24[0x3c] & 1) == 0" (parenthesized_expression "(pbVar24[0x3c] & 1)" ( (binary_expression "pbVar24[0x3c] & 1" (subscript_expression "pbVar24[0x3c]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) (compound_statement "{\n            uVar10 = *(uint *)(local_a8 + 0x18);\n            bVar18 = local_a8[0x3b] >> 5 & 1;\n            uVar25 = (local_a8[0x38] & 0xf) < 2;\n            uVar29 = (local_a8[0x38] & 0xf) == 2;\n            if ((bool)uVar29) {\n              uVar25 = 0;\n              uVar29 = local_136 == '\0';\n              if (!(bool)uVar29) {\n                uVar25 = false;\n                uVar29 = bVar18 == 0;\n                if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }\n                local_100 = *(long *)(param_1 + 0x298) + 0x68;\n                local_d8 = pbVar24;\n                local_d0 = uVar10;\n                    \n                FUN_001bcb90(local_100,&local_d8,&local_100,1);\n              }\n            }\n          }" { (expression_statement "uVar10 = *(uint *)(local_a8 + 0x18);" (assignment_expression "uVar10 = *(uint *)(local_a8 + 0x18)" identifier = (pointer_expression "*(uint *)(local_a8 + 0x18)" * (cast_expression "(uint *)(local_a8 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a8 + 0x18)" ( (binary_expression "local_a8 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "bVar18 = local_a8[0x3b] >> 5 & 1;" (assignment_expression "bVar18 = local_a8[0x3b] >> 5 & 1" identifier = (binary_expression "local_a8[0x3b] >> 5 & 1" (binary_expression "local_a8[0x3b] >> 5" (subscript_expression "local_a8[0x3b]" identifier [ number_literal ]) >> number_literal) & number_literal)) ;) (expression_statement "uVar25 = (local_a8[0x38] & 0xf) < 2;" (assignment_expression "uVar25 = (local_a8[0x38] & 0xf) < 2" identifier = (binary_expression "(local_a8[0x38] & 0xf) < 2" (parenthesized_expression "(local_a8[0x38] & 0xf)" ( (binary_expression "local_a8[0x38] & 0xf" (subscript_expression "local_a8[0x38]" identifier [ number_literal ]) & number_literal) )) < number_literal)) ;) (expression_statement "uVar29 = (local_a8[0x38] & 0xf) == 2;" (assignment_expression "uVar29 = (local_a8[0x38] & 0xf) == 2" identifier = (binary_expression "(local_a8[0x38] & 0xf) == 2" (parenthesized_expression "(local_a8[0x38] & 0xf)" ( (binary_expression "local_a8[0x38] & 0xf" (subscript_expression "local_a8[0x38]" identifier [ number_literal ]) & number_literal) )) == number_literal)) ;) (if_statement "if ((bool)uVar29) {\n              uVar25 = 0;\n              uVar29 = local_136 == '\0';\n              if (!(bool)uVar29) {\n                uVar25 = false;\n                uVar29 = bVar18 == 0;\n                if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }\n                local_100 = *(long *)(param_1 + 0x298) + 0x68;\n                local_d8 = pbVar24;\n                local_d0 = uVar10;\n                    \n                FUN_001bcb90(local_100,&local_d8,&local_100,1);\n              }\n            }" if (parenthesized_expression "((bool)uVar29)" ( (cast_expression "(bool)uVar29" ( (type_descriptor "bool" primitive_type) ) identifier) )) (compound_statement "{\n              uVar25 = 0;\n              uVar29 = local_136 == '\0';\n              if (!(bool)uVar29) {\n                uVar25 = false;\n                uVar29 = bVar18 == 0;\n                if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }\n                local_100 = *(long *)(param_1 + 0x298) + 0x68;\n                local_d8 = pbVar24;\n                local_d0 = uVar10;\n                    \n                FUN_001bcb90(local_100,&local_d8,&local_100,1);\n              }\n            }" { (expression_statement "uVar25 = 0;" (assignment_expression "uVar25 = 0" identifier = number_literal) ;) (expression_statement "uVar29 = local_136 == '\0';" (assignment_expression "uVar29 = local_136 == '\0'" identifier = (binary_expression "local_136 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence '))) ;) (if_statement "if (!(bool)uVar29) {\n                uVar25 = false;\n                uVar29 = bVar18 == 0;\n                if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }\n                local_100 = *(long *)(param_1 + 0x298) + 0x68;\n                local_d8 = pbVar24;\n                local_d0 = uVar10;\n                    \n                FUN_001bcb90(local_100,&local_d8,&local_100,1);\n              }" if (parenthesized_expression "(!(bool)uVar29)" ( (unary_expression "!(bool)uVar29" ! (cast_expression "(bool)uVar29" ( (type_descriptor "bool" primitive_type) ) identifier)) )) (compound_statement "{\n                uVar25 = false;\n                uVar29 = bVar18 == 0;\n                if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }\n                local_100 = *(long *)(param_1 + 0x298) + 0x68;\n                local_d8 = pbVar24;\n                local_d0 = uVar10;\n                    \n                FUN_001bcb90(local_100,&local_d8,&local_100,1);\n              }" { (expression_statement "uVar25 = false;" (assignment_expression "uVar25 = false" identifier = false) ;) (expression_statement "uVar29 = bVar18 == 0;" (assignment_expression "uVar29 = bVar18 == 0" identifier = (binary_expression "bVar18 == 0" identifier == number_literal)) ;) (if_statement "if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }" if (parenthesized_expression "(!(bool)uVar29)" ( (unary_expression "!(bool)uVar29" ! (cast_expression "(bool)uVar29" ( (type_descriptor "bool" primitive_type) ) identifier)) )) (compound_statement "{\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }" { (expression_statement "uVar25 = uVar7 < 0x17;" (assignment_expression "uVar25 = uVar7 < 0x17" identifier = (binary_expression "uVar7 < 0x17" identifier < number_literal)) ;) (expression_statement "uVar29 = uVar7 == 0x17;" (assignment_expression "uVar29 = uVar7 == 0x17" identifier = (binary_expression "uVar7 == 0x17" identifier == number_literal)) ;) (if_statement "if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;" if (parenthesized_expression "((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))" ( (binary_expression "(uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25)" (parenthesized_expression "(uVar7 < 0x18)" ( (binary_expression "uVar7 < 0x18" identifier < number_literal) )) && (parenthesized_expression "(uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25)" ( (comma_expression "uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25" (assignment_expression "uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0" identifier = (binary_expression "(0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0" (parenthesized_expression "(0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1)" ( (binary_expression "0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1" (binary_expression "0x843f84UL >> ((ulong)uVar3 & 0x3f)" number_literal >> (parenthesized_expression "((ulong)uVar3 & 0x3f)" ( (binary_expression "(ulong)uVar3 & 0x3f" (cast_expression "(ulong)uVar3" ( (type_descriptor "ulong" type_identifier) ) identifier) & number_literal) ))) & number_literal) )) != number_literal)) , (cast_expression "(bool)uVar25" ( (type_descriptor "bool" primitive_type) ) identifier)) ))) )) (goto_statement "goto LAB_00192930;" goto statement_identifier ;)) })) (expression_statement "local_100 = *(long *)(param_1 + 0x298) + 0x68;" (assignment_expression "local_100 = *(long *)(param_1 + 0x298) + 0x68" identifier = (binary_expression "*(long *)(param_1 + 0x298) + 0x68" (pointer_expression "*(long *)(param_1 + 0x298)" * (cast_expression "(long *)(param_1 + 0x298)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x298)" ( (binary_expression "param_1 + 0x298" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "local_d8 = pbVar24;" (assignment_expression "local_d8 = pbVar24" identifier = identifier) ;) (expression_statement "local_d0 = uVar10;" (assignment_expression "local_d0 = uVar10" identifier = identifier) ;) (expression_statement "FUN_001bcb90(local_100,&local_d8,&local_100,1);" (call_expression "FUN_001bcb90(local_100,&local_d8,&local_100,1)" identifier (argument_list "(local_100,&local_d8,&local_100,1)" ( identifier , (pointer_expression "&local_d8" & identifier) , (pointer_expression "&local_100" & identifier) , number_literal ))) ;) })) })) }) (else_clause "else {\n            bVar18 = 0;\n            uVar10 = 0;\n            uVar25 = 0;\n            pbVar24 = (byte *)0x0;\n            uVar29 = 1;\n          }" else (compound_statement "{\n            bVar18 = 0;\n            uVar10 = 0;\n            uVar25 = 0;\n            pbVar24 = (byte *)0x0;\n            uVar29 = 1;\n          }" { (expression_statement "bVar18 = 0;" (assignment_expression "bVar18 = 0" identifier = number_literal) ;) (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) (expression_statement "uVar25 = 0;" (assignment_expression "uVar25 = 0" identifier = number_literal) ;) (expression_statement "pbVar24 = (byte *)0x0;" (assignment_expression "pbVar24 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar29 = 1;" (assignment_expression "uVar29 = 1" identifier = number_literal) ;) }))) }) (else_clause "else {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          bVar18 = 0;\n          uVar10 = 0;\n          uVar25 = 0;\n          pbVar24 = (byte *)0x0;\n          uVar29 = 1;\n          local_134 = uVar4 + local_150;\n        }" else (compound_statement "{\n          local_150 = *(uint *)(local_a8 + 0x40);\n          bVar18 = 0;\n          uVar10 = 0;\n          uVar25 = 0;\n          pbVar24 = (byte *)0x0;\n          uVar29 = 1;\n          local_134 = uVar4 + local_150;\n        }" { (expression_statement "local_150 = *(uint *)(local_a8 + 0x40);" (assignment_expression "local_150 = *(uint *)(local_a8 + 0x40)" identifier = (pointer_expression "*(uint *)(local_a8 + 0x40)" * (cast_expression "(uint *)(local_a8 + 0x40)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a8 + 0x40)" ( (binary_expression "local_a8 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "bVar18 = 0;" (assignment_expression "bVar18 = 0" identifier = number_literal) ;) (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) (expression_statement "uVar25 = 0;" (assignment_expression "uVar25 = 0" identifier = number_literal) ;) (expression_statement "pbVar24 = (byte *)0x0;" (assignment_expression "pbVar24 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar29 = 1;" (assignment_expression "uVar29 = 1" identifier = number_literal) ;) (expression_statement "local_134 = uVar4 + local_150;" (assignment_expression "local_134 = uVar4 + local_150" identifier = (binary_expression "uVar4 + local_150" identifier + identifier)) ;) }))) (labeled_statement "LAB_00192930:\n        pbVar17 = *(byte **)local_a8;" statement_identifier : (expression_statement "pbVar17 = *(byte **)local_a8;" (assignment_expression "pbVar17 = *(byte **)local_a8" identifier = (pointer_expression "*(byte **)local_a8" * (cast_expression "(byte **)local_a8" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;)) (expression_statement "lVar19 = 8;" (assignment_expression "lVar19 = 8" identifier = number_literal) ;) (expression_statement "pbVar20 = (byte *)"__start_";" (assignment_expression "pbVar20 = (byte *)"__start_"" identifier = (cast_expression "(byte *)"__start_"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""__start_"" " string_content "))) ;) (expression_statement "pbVar21 = pbVar17;" (assignment_expression "pbVar21 = pbVar17" identifier = identifier) ;) (do_statement "do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          uVar25 = *pbVar20 < *pbVar21;\n          uVar29 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n          pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n        } while ((bool)uVar29);" do (compound_statement "{\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          uVar25 = *pbVar20 < *pbVar21;\n          uVar29 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n          pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n        }" { (if_statement "if (lVar19 == 0) break;" if (parenthesized_expression "(lVar19 == 0)" ( (binary_expression "lVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar19 = lVar19 + -1;" (assignment_expression "lVar19 = lVar19 + -1" identifier = (binary_expression "lVar19 + -1" identifier + number_literal)) ;) (expression_statement "uVar25 = *pbVar20 < *pbVar21;" (assignment_expression "uVar25 = *pbVar20 < *pbVar21" identifier = (binary_expression "*pbVar20 < *pbVar21" (pointer_expression "*pbVar20" * identifier) < (pointer_expression "*pbVar21" * identifier))) ;) (expression_statement "uVar29 = *pbVar20 == *pbVar21;" (assignment_expression "uVar29 = *pbVar20 == *pbVar21" identifier = (binary_expression "*pbVar20 == *pbVar21" (pointer_expression "*pbVar20" * identifier) == (pointer_expression "*pbVar21" * identifier))) ;) (expression_statement "pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1" identifier = (binary_expression "pbVar20 + (ulong)bVar31 * -2 + 1" (binary_expression "pbVar20 + (ulong)bVar31 * -2" identifier + (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1" identifier = (binary_expression "pbVar21 + (ulong)bVar31 * -2 + 1" (binary_expression "pbVar21 + (ulong)bVar31 * -2" identifier + (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "((bool)uVar29)" ( (cast_expression "(bool)uVar29" ( (type_descriptor "bool" primitive_type) ) identifier) )) ;) (expression_statement "bVar26 = false;" (assignment_expression "bVar26 = false" identifier = false) ;) (expression_statement "bVar30 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;" (assignment_expression "bVar30 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25" identifier = (binary_expression "(!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25" (parenthesized_expression "(!(bool)uVar25 && !(bool)uVar29)" ( (binary_expression "!(bool)uVar25 && !(bool)uVar29" (unary_expression "!(bool)uVar25" ! (cast_expression "(bool)uVar25" ( (type_descriptor "bool" primitive_type) ) identifier)) && (unary_expression "!(bool)uVar29" ! (cast_expression "(bool)uVar29" ( (type_descriptor "bool" primitive_type) ) identifier))) )) == (cast_expression "(bool)uVar25" ( (type_descriptor "bool" primitive_type) ) identifier))) ;) (if_statement "if (bVar30) {\n          pbVar17 = pbVar17 + 8;\n        }\n        else {\n          lVar19 = 7;\n          pbVar20 = (byte *)"__stop_";\n          pbVar21 = pbVar17;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar21;\n            bVar30 = *pbVar20 == *pbVar21;\n            pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n            pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n          } while (bVar30);\n          pbVar17 = pbVar17 + 7;\n          if ((!bVar26 && !bVar30) != bVar26) {\n            pbVar17 = local_158;\n          }\n        }" if (parenthesized_expression "(bVar30)" ( identifier )) (compound_statement "{\n          pbVar17 = pbVar17 + 8;\n        }" { (expression_statement "pbVar17 = pbVar17 + 8;" (assignment_expression "pbVar17 = pbVar17 + 8" identifier = (binary_expression "pbVar17 + 8" identifier + number_literal)) ;) }) (else_clause "else {\n          lVar19 = 7;\n          pbVar20 = (byte *)"__stop_";\n          pbVar21 = pbVar17;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar21;\n            bVar30 = *pbVar20 == *pbVar21;\n            pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n            pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n          } while (bVar30);\n          pbVar17 = pbVar17 + 7;\n          if ((!bVar26 && !bVar30) != bVar26) {\n            pbVar17 = local_158;\n          }\n        }" else (compound_statement "{\n          lVar19 = 7;\n          pbVar20 = (byte *)"__stop_";\n          pbVar21 = pbVar17;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar21;\n            bVar30 = *pbVar20 == *pbVar21;\n            pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n            pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n          } while (bVar30);\n          pbVar17 = pbVar17 + 7;\n          if ((!bVar26 && !bVar30) != bVar26) {\n            pbVar17 = local_158;\n          }\n        }" { (expression_statement "lVar19 = 7;" (assignment_expression "lVar19 = 7" identifier = number_literal) ;) (expression_statement "pbVar20 = (byte *)"__stop_";" (assignment_expression "pbVar20 = (byte *)"__stop_"" identifier = (cast_expression "(byte *)"__stop_"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""__stop_"" " string_content "))) ;) (expression_statement "pbVar21 = pbVar17;" (assignment_expression "pbVar21 = pbVar17" identifier = identifier) ;) (do_statement "do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar21;\n            bVar30 = *pbVar20 == *pbVar21;\n            pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n            pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n          } while (bVar30);" do (compound_statement "{\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar21;\n            bVar30 = *pbVar20 == *pbVar21;\n            pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n            pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n          }" { (if_statement "if (lVar19 == 0) break;" if (parenthesized_expression "(lVar19 == 0)" ( (binary_expression "lVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar19 = lVar19 + -1;" (assignment_expression "lVar19 = lVar19 + -1" identifier = (binary_expression "lVar19 + -1" identifier + number_literal)) ;) (expression_statement "bVar26 = *pbVar20 < *pbVar21;" (assignment_expression "bVar26 = *pbVar20 < *pbVar21" identifier = (binary_expression "*pbVar20 < *pbVar21" (pointer_expression "*pbVar20" * identifier) < (pointer_expression "*pbVar21" * identifier))) ;) (expression_statement "bVar30 = *pbVar20 == *pbVar21;" (assignment_expression "bVar30 = *pbVar20 == *pbVar21" identifier = (binary_expression "*pbVar20 == *pbVar21" (pointer_expression "*pbVar20" * identifier) == (pointer_expression "*pbVar21" * identifier))) ;) (expression_statement "pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1" identifier = (binary_expression "pbVar20 + (ulong)bVar31 * -2 + 1" (binary_expression "pbVar20 + (ulong)bVar31 * -2" identifier + (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1" identifier = (binary_expression "pbVar21 + (ulong)bVar31 * -2 + 1" (binary_expression "pbVar21 + (ulong)bVar31 * -2" identifier + (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar30)" ( identifier )) ;) (expression_statement "pbVar17 = pbVar17 + 7;" (assignment_expression "pbVar17 = pbVar17 + 7" identifier = (binary_expression "pbVar17 + 7" identifier + number_literal)) ;) (if_statement "if ((!bVar26 && !bVar30) != bVar26) {\n            pbVar17 = local_158;\n          }" if (parenthesized_expression "((!bVar26 && !bVar30) != bVar26)" ( (binary_expression "(!bVar26 && !bVar30) != bVar26" (parenthesized_expression "(!bVar26 && !bVar30)" ( (binary_expression "!bVar26 && !bVar30" (unary_expression "!bVar26" ! identifier) && (unary_expression "!bVar30" ! identifier)) )) != identifier) )) (compound_statement "{\n            pbVar17 = local_158;\n          }" { (expression_statement "pbVar17 = local_158;" (assignment_expression "pbVar17 = local_158" identifier = identifier) ;) })) }))) (expression_statement "local_158 = pbVar17;" (assignment_expression "local_158 = pbVar17" identifier = identifier) ;) (if_statement "if (bVar28) {\n          if (bVar18 == 0) {\n            local_58 = (byte *)0x0;\n            local_50 = (ulong)local_50._4_4_ << 0x20;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          else {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = pbVar24;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          puVar5 = *(undefined8 **)(local_170 + 8);\n          if (puVar5 == *(undefined8 **)(local_170 + 0x10)) {\n            FUN_001bbf50(local_170,puVar5,&local_a8);\n          }\n          else {\n            *puVar5 = local_a8;\n            *(undefined8 **)(local_170 + 8) = puVar5 + 1;\n          }\n          local_58 = (byte *)(ulong)local_150;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_b8 = (byte *)((ulong)local_b8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_b8);\n        }" if (parenthesized_expression "(bVar28)" ( identifier )) (compound_statement "{\n          if (bVar18 == 0) {\n            local_58 = (byte *)0x0;\n            local_50 = (ulong)local_50._4_4_ << 0x20;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          else {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = pbVar24;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          puVar5 = *(undefined8 **)(local_170 + 8);\n          if (puVar5 == *(undefined8 **)(local_170 + 0x10)) {\n            FUN_001bbf50(local_170,puVar5,&local_a8);\n          }\n          else {\n            *puVar5 = local_a8;\n            *(undefined8 **)(local_170 + 8) = puVar5 + 1;\n          }\n          local_58 = (byte *)(ulong)local_150;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_b8 = (byte *)((ulong)local_b8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_b8);\n        }" { (if_statement "if (bVar18 == 0) {\n            local_58 = (byte *)0x0;\n            local_50 = (ulong)local_50._4_4_ << 0x20;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          else {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = pbVar24;\n            FUN_001bdee0(local_178,&local_58);\n          }" if (parenthesized_expression "(bVar18 == 0)" ( (binary_expression "bVar18 == 0" identifier == number_literal) )) (compound_statement "{\n            local_58 = (byte *)0x0;\n            local_50 = (ulong)local_50._4_4_ << 0x20;\n            FUN_001bdee0(local_178,&local_58);\n          }" { (expression_statement "local_58 = (byte *)0x0;" (assignment_expression "local_58 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_50 = (ulong)local_50._4_4_ << 0x20;" (assignment_expression "local_50 = (ulong)local_50._4_4_ << 0x20" identifier = (binary_expression "(ulong)local_50._4_4_ << 0x20" (cast_expression "(ulong)local_50._4_4_" ( (type_descriptor "ulong" type_identifier) ) (field_expression "local_50._4_4_" identifier . field_identifier)) << number_literal)) ;) (expression_statement "FUN_001bdee0(local_178,&local_58);" (call_expression "FUN_001bdee0(local_178,&local_58)" identifier (argument_list "(local_178,&local_58)" ( identifier , (pointer_expression "&local_58" & identifier) ))) ;) }) (else_clause "else {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = pbVar24;\n            FUN_001bdee0(local_178,&local_58);\n          }" else (compound_statement "{\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = pbVar24;\n            FUN_001bdee0(local_178,&local_58);\n          }" { (expression_statement "local_50 = CONCAT44(local_50._4_4_,uVar10);" (assignment_expression "local_50 = CONCAT44(local_50._4_4_,uVar10)" identifier = (call_expression "CONCAT44(local_50._4_4_,uVar10)" identifier (argument_list "(local_50._4_4_,uVar10)" ( (field_expression "local_50._4_4_" identifier . field_identifier) , identifier )))) ;) (expression_statement "local_58 = pbVar24;" (assignment_expression "local_58 = pbVar24" identifier = identifier) ;) (expression_statement "FUN_001bdee0(local_178,&local_58);" (call_expression "FUN_001bdee0(local_178,&local_58)" identifier (argument_list "(local_178,&local_58)" ( identifier , (pointer_expression "&local_58" & identifier) ))) ;) }))) (expression_statement "puVar5 = *(undefined8 **)(local_170 + 8);" (assignment_expression "puVar5 = *(undefined8 **)(local_170 + 8)" identifier = (pointer_expression "*(undefined8 **)(local_170 + 8)" * (cast_expression "(undefined8 **)(local_170 + 8)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_170 + 8)" ( (binary_expression "local_170 + 8" identifier + number_literal) ))))) ;) (if_statement "if (puVar5 == *(undefined8 **)(local_170 + 0x10)) {\n            FUN_001bbf50(local_170,puVar5,&local_a8);\n          }\n          else {\n            *puVar5 = local_a8;\n            *(undefined8 **)(local_170 + 8) = puVar5 + 1;\n          }" if (parenthesized_expression "(puVar5 == *(undefined8 **)(local_170 + 0x10))" ( (binary_expression "puVar5 == *(undefined8 **)(local_170 + 0x10)" identifier == (pointer_expression "*(undefined8 **)(local_170 + 0x10)" * (cast_expression "(undefined8 **)(local_170 + 0x10)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_170 + 0x10)" ( (binary_expression "local_170 + 0x10" identifier + number_literal) ))))) )) (compound_statement "{\n            FUN_001bbf50(local_170,puVar5,&local_a8);\n          }" { (expression_statement "FUN_001bbf50(local_170,puVar5,&local_a8);" (call_expression "FUN_001bbf50(local_170,puVar5,&local_a8)" identifier (argument_list "(local_170,puVar5,&local_a8)" ( identifier , identifier , (pointer_expression "&local_a8" & identifier) ))) ;) }) (else_clause "else {\n            *puVar5 = local_a8;\n            *(undefined8 **)(local_170 + 8) = puVar5 + 1;\n          }" else (compound_statement "{\n            *puVar5 = local_a8;\n            *(undefined8 **)(local_170 + 8) = puVar5 + 1;\n          }" { (expression_statement "*puVar5 = local_a8;" (assignment_expression "*puVar5 = local_a8" (pointer_expression "*puVar5" * identifier) = identifier) ;) (expression_statement "*(undefined8 **)(local_170 + 8) = puVar5 + 1;" (assignment_expression "*(undefined8 **)(local_170 + 8) = puVar5 + 1" (pointer_expression "*(undefined8 **)(local_170 + 8)" * (cast_expression "(undefined8 **)(local_170 + 8)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_170 + 8)" ( (binary_expression "local_170 + 8" identifier + number_literal) )))) = (binary_expression "puVar5 + 1" identifier + number_literal)) ;) }))) (expression_statement "local_58 = (byte *)(ulong)local_150;" (assignment_expression "local_58 = (byte *)(ulong)local_150" identifier = (cast_expression "(byte *)(ulong)local_150" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(ulong)local_150" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) (expression_statement "local_50 = (long)(int)uVar4;" (assignment_expression "local_50 = (long)(int)uVar4" identifier = (cast_expression "(long)(int)uVar4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)uVar4" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "FUN_001be700(local_180,&local_58);" (call_expression "FUN_001be700(local_180,&local_58)" identifier (argument_list "(local_180,&local_58)" ( identifier , (pointer_expression "&local_58" & identifier) ))) ;) (expression_statement "local_58 = (byte *)(ulong)*local_128;" (assignment_expression "local_58 = (byte *)(ulong)*local_128" identifier = (binary_expression "(byte *)(ulong)*local_128" (cast_expression "(byte *)(ulong)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ulong)" ( identifier ))) * identifier)) ;) (expression_statement "puVar5 = *(undefined8 **)(local_168 + 8);" (assignment_expression "puVar5 = *(undefined8 **)(local_168 + 8)" identifier = (pointer_expression "*(undefined8 **)(local_168 + 8)" * (cast_expression "(undefined8 **)(local_168 + 8)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_168 + 8)" ( (binary_expression "local_168 + 8" identifier + number_literal) ))))) ;) (if_statement "if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }" if (parenthesized_expression "(puVar5 == *(undefined8 **)(local_168 + 0x10))" ( (binary_expression "puVar5 == *(undefined8 **)(local_168 + 0x10)" identifier == (pointer_expression "*(undefined8 **)(local_168 + 0x10)" * (cast_expression "(undefined8 **)(local_168 + 0x10)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_168 + 0x10)" ( (binary_expression "local_168 + 0x10" identifier + number_literal) ))))) )) (compound_statement "{\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }" { (expression_statement "FUN_001bdf10(local_168,puVar5,&local_58);" (call_expression "FUN_001bdf10(local_168,puVar5,&local_58)" identifier (argument_list "(local_168,puVar5,&local_58)" ( identifier , identifier , (pointer_expression "&local_58" & identifier) ))) ;) }) (else_clause "else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }" else (compound_statement "{\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }" { (expression_statement "*puVar5 = local_58;" (assignment_expression "*puVar5 = local_58" (pointer_expression "*puVar5" * identifier) = identifier) ;) (expression_statement "*(undefined8 **)(local_168 + 8) = puVar5 + 1;" (assignment_expression "*(undefined8 **)(local_168 + 8) = puVar5 + 1" (pointer_expression "*(undefined8 **)(local_168 + 8)" * (cast_expression "(undefined8 **)(local_168 + 8)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_168 + 8)" ( (binary_expression "local_168 + 8" identifier + number_literal) )))) = (binary_expression "puVar5 + 1" identifier + number_literal)) ;) }))) (expression_statement "local_b8 = (byte *)((ulong)local_b8 & 0xffffffff00000000);" (assignment_expression "local_b8 = (byte *)((ulong)local_b8 & 0xffffffff00000000)" identifier = (cast_expression "(byte *)((ulong)local_b8 & 0xffffffff00000000)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)local_b8 & 0xffffffff00000000)" ( (binary_expression "(ulong)local_b8 & 0xffffffff00000000" (cast_expression "(ulong)local_b8" ( (type_descriptor "ulong" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "FUN_001be890(local_188,&local_b8);" (call_expression "FUN_001be890(local_188,&local_b8)" identifier (argument_list "(local_188,&local_b8)" ( identifier , (pointer_expression "&local_b8" & identifier) ))) ;) })) (if_statement "if (bVar18 != 0) goto LAB_001925a8;" if (parenthesized_expression "(bVar18 != 0)" ( (binary_expression "bVar18 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001925a8;" goto statement_identifier ;)) }))) (labeled_statement "LAB_00192480:\n      local_120 = local_120 + 1;" statement_identifier : (expression_statement "local_120 = local_120 + 1;" (assignment_expression "local_120 = local_120 + 1" identifier = (binary_expression "local_120 + 1" identifier + number_literal)) ;)) (expression_statement "local_128 = local_128 + 3;" (assignment_expression "local_128 = local_128 + 3" identifier = (binary_expression "local_128 + 3" identifier + number_literal)) ;) }) while (parenthesized_expression "(param_6 != local_120)" ( (binary_expression "param_6 != local_120" identifier != identifier) )) ;) }))) (if_statement "if (local_78[0] != local_68) {\n    FUN_00338a40();\n  }" if (parenthesized_expression "(local_78[0] != local_68)" ( (binary_expression "local_78[0] != local_68" (subscript_expression "local_78[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n    FUN_00338a40();\n  }" { (expression_statement "FUN_00338a40();" (call_expression "FUN_00338a40()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if ((local_98 != 0) && (local_90 != 0)) {\n    uVar16 = gettext("missing expected __tls_get_addr call");\n    FUN_001e1b30(local_90,local_88,local_80,uVar16);\n  }" if (parenthesized_expression "((local_98 != 0) && (local_90 != 0))" ( (binary_expression "(local_98 != 0) && (local_90 != 0)" (parenthesized_expression "(local_98 != 0)" ( (binary_expression "local_98 != 0" identifier != number_literal) )) && (parenthesized_expression "(local_90 != 0)" ( (binary_expression "local_90 != 0" identifier != number_literal) ))) )) (compound_statement "{\n    uVar16 = gettext("missing expected __tls_get_addr call");\n    FUN_001e1b30(local_90,local_88,local_80,uVar16);\n  }" { (expression_statement "uVar16 = gettext("missing expected __tls_get_addr call");" (assignment_expression "uVar16 = gettext("missing expected __tls_get_addr call")" identifier = (call_expression "gettext("missing expected __tls_get_addr call")" identifier (argument_list "("missing expected __tls_get_addr call")" ( (string_literal ""missing expected __tls_get_addr call"" " string_content ") )))) ;) (expression_statement "FUN_001e1b30(local_90,local_88,local_80,uVar16);" (call_expression "FUN_001e1b30(local_90,local_88,local_80,uVar16)" identifier (argument_list "(local_90,local_88,local_80,uVar16)" ( identifier , identifier , identifier , identifier ))) ;) })) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration (sized_type_specifier long) (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration (sized_type_specifier long) IDENT) ))) (compound_statement { (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (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) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (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 IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (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 ") ))) ;) })) (if_statement if (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) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " ") ))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_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 *)) ) IDENT)) + LIT) )))) == IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT ))) ;) }) (else_clause else (compound_statement { (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 * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) IDENT)) + LIT) ))))) )) (argument_list ( IDENT , IDENT , IDENT ))) ;) }))))) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (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 ") ))) ;) })) (if_statement if (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) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = BOOL) ;)) (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 IDENT = 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 = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ;) (if_statement if (parenthesized_expression ( (unary_expression ! (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) })) (expression_statement (call_expression IDENT (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) < (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 ( (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 ( (unary_expression ! IDENT) )) (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) < (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) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (goto_statement goto statement_identifier ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (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) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) }))) (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 ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) == LIT) )) && (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) )))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT < IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == IDENT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (subscript_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 *)) ) (string_literal " string_content "))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (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 ( (unary_expression ! IDENT) )) (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 = (subscript_expression IDENT [ LIT ])) ;) (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 ( (unary_expression ! IDENT) )) (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 = (subscript_expression IDENT [ LIT ])) ;) (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 ( (unary_expression ! IDENT) )) (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 = (subscript_expression IDENT [ LIT ])) ;) (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 ( (unary_expression ! IDENT) )) (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 = (subscript_expression IDENT [ LIT ])) ;) (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 = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) != IDENT)) ;) (goto_statement goto statement_identifier ;) })) })) })) })) })) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (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 = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT << LIT) ))) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (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) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( IDENT ))) * (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) )))))) ;) (if_statement if (parenthesized_expression ( IDENT )) (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 (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) ))) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (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 (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 * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) IDENT)) + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( IDENT ))) * (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) )))))) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( IDENT ))) * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) }))) (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 ( IDENT , (pointer_expression & IDENT) ))) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (goto_statement goto statement_identifier ;)) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) && (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 ( (parenthesized_expression ( (binary_expression (binary_expression LIT < IDENT) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression LIT >> (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) ))) & LIT) )) == LIT) ))) )) ))) )) (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 = (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 = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , (pointer_expression & IDENT) , LIT ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (labeled_statement statement_identifier : (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 ") ))) ;) }))) (if_statement if (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) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = 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) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = 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 { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , (pointer_expression & IDENT) , (pointer_expression & IDENT) , (pointer_expression & IDENT) )))) ;) }) (else_clause else (compound_statement { (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < IDENT) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < IDENT) ))) )) )))) )) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (goto_statement goto statement_identifier ;)) })) (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) ))))) ;) }) 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) )) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == IDENT) )) || (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) && (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) )) ))) )) (goto_statement goto statement_identifier ;))) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , (pointer_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) ))))) ;) (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 (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 , IDENT , IDENT , IDENT , IDENT , 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 IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT , (binary_expression IDENT + 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 != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (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 != (binary_expression IDENT + LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (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 = 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 (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , (pointer_expression & IDENT) , (pointer_expression & IDENT) , (pointer_expression & IDENT) )))) ;) }) (else_clause else (compound_statement { (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < IDENT) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < IDENT) ))) )) )))) )) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (goto_statement goto statement_identifier ;)) })) (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) ))))) ;) }) 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) )) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == IDENT) )) || (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) && (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) )) ))) )) (goto_statement goto statement_identifier ;))) }))) (for_statement for ( (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ; (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ; (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , (pointer_expression & IDENT) , LIT ))) ;) })) })) })) })) })) }) (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 IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;)) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (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 (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) >> LIT) ))) <= IDENT) )) (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 (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression IDENT * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) >> LIT) & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) < LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) == LIT)) ;) (if_statement if (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE) ) IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == (char_literal ' escape_sequence '))) ;) (if_statement if (parenthesized_expression ( (unary_expression ! (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT < LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression LIT >> (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) ))) & LIT) )) != LIT)) , (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (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 = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , (pointer_expression & IDENT) , LIT ))) ;) })) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) 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) < (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 ( (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 { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (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) < (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 = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)) << LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) ))) ;) }) (else_clause else (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 (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) ))) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( IDENT ))) * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) }))) (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 ( IDENT , (pointer_expression & IDENT) ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) })) (return_statement return ;) })))
(function_definition "void FUN_00192210(long param_1,long *param_2,byte *param_3,uint param_4,uint *param_5,long param_6,\n                 ulong param_7,long param_8)\n\n{\n  long *plVar1;\n  ushort uVar2;\n  uint uVar3;\n  uint uVar4;\n  undefined8 *puVar5;\n  code *pcVar6;\n  uint uVar7;\n  long lVar8;\n  char cVar9;\n  uint uVar10;\n  long lVar11;\n  long lVar12;\n  size_t sVar13;\n  long lVar14;\n  long lVar15;\n  undefined8 uVar16;\n  byte *pbVar17;\n  byte bVar18;\n  long lVar19;\n  byte *pbVar20;\n  byte *pbVar21;\n  uint uVar22;\n  ulong uVar23;\n  byte *pbVar24;\n  undefined1 uVar25;\n  bool bVar26;\n  bool bVar27;\n  bool bVar28;\n  undefined1 uVar29;\n  bool bVar30;\n  byte bVar31;\n  long local_188;\n  long local_180;\n  long local_178;\n  long local_170;\n  long local_168;\n  byte *local_158;\n  uint local_150;\n  char local_136;\n  int local_134;\n  uint *local_128;\n  long local_120;\n  undefined1 local_10a;\n  undefined1 local_109;\n  long local_108;\n  long local_100;\n  long local_f8;\n  long local_f0;\n  byte **local_e8;\n  byte **local_e0;\n  byte *local_d8;\n  uint local_d0;\n  byte *local_c8;\n  uint local_c0;\n  byte *local_b8;\n  uint local_b0;\n  byte *local_a8;\n  uint local_a0;\n  int local_98;\n  long local_90;\n  undefined8 local_88;\n  undefined4 local_80;\n  undefined1 local_7c;\n  byte *local_78 [2];\n  byte local_68 [16];\n  byte *local_58;\n  undefined8 local_50;\n  byte local_48 [24];\n  \n  bVar31 = 0;\n  local_7c = 0;\n  local_98 = 0;\n  local_90 = 0;\n  local_88 = 0;\n  local_80 = 0;\n  if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    \n                    \n    FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n  }\n  if (*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 0) {\n    local_78[0] = local_68;\n                    \n    FUN_001bc4c0(local_78,"");\n  }\n  else if (*(code **)(*(long *)param_3 + 0x80) == FUN_001c3900) {\n                    \n    FUN_001c3780(local_78,param_3 + 0xf8,param_4);\n  }\n  else {\n    (**(code **)(*(long *)param_3 + 0x80))(local_78,param_3,param_4);\n  }\n  pbVar24 = local_78[0];\n  if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    \n    FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n  }\n  if (*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 0) {\nLAB_001922eb:\n    bVar28 = false;\n    local_188 = 0;\n    local_168 = 0;\n    local_180 = 0;\n    local_170 = 0;\n    local_178 = 0;\n  }\n  else {\n    pbVar17 = (byte *)0xffffffffffffffff;\n    local_58 = local_48;\n    uVar25 = 0;\n    uVar29 = local_78[0] == (byte *)0x0;\n    if (!(bool)uVar29) {\n      sVar13 = strlen((char *)local_78[0]);\n      pbVar17 = pbVar24 + sVar13;\n    }\n    FUN_001bc4c0(&local_58,pbVar24,pbVar17);\n    lVar19 = 5;\n    pbVar24 = (byte *)".text";\n    pbVar17 = local_58;\n    do {\n      if (lVar19 == 0) break;\n      lVar19 = lVar19 + -1;\n      uVar25 = *pbVar24 < *pbVar17;\n      uVar29 = *pbVar24 == *pbVar17;\n      pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n      pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n    } while ((bool)uVar29);\n    bVar28 = false;\n    bVar26 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;\n    if (!bVar26) {\n      lVar19 = 0xf;\n      pbVar24 = (byte *)".gnu.linkonce.t";\n      pbVar17 = local_58;\n      do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar28 = *pbVar24 < *pbVar17;\n        bVar26 = *pbVar24 == *pbVar17;\n        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n      } while (bVar26);\n      if ((!bVar28 && !bVar26) != bVar28) {\n        if (local_58 != local_48) {\n          FUN_00338a40(local_58);\n        }\n        goto LAB_001922eb;\n      }\n    }\n    if (local_58 != local_48) {\n      FUN_00338a40(local_58);\n    }\n    local_50 = CONCAT44(local_50._4_4_,param_4);\n    local_58 = param_3;\n    local_178 = FUN_001c0160(*(long *)(param_1 + 0x298) + 0xa8,&local_58);\n    local_170 = local_178 + 0x18;\n    local_180 = local_178 + 0x30;\n    local_168 = local_178 + 0x48;\n    local_188 = local_178 + 0x60;\n    bVar28 = true;\n  }\n  if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    \n                    \n    FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n  }\n  if ((*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 2) &&\n     (cVar9 = (**(code **)(*param_2 + 0x90))(param_2), cVar9 != '\0')) {\n    pcVar6 = *(code **)(*param_2 + 0x10);\n    if (pcVar6 != FUN_001ba9d0) {\n                    \n      local_136 = (*pcVar6)(param_2,local_78[0]);\n      goto LAB_0019234a;\n    }\n    pcVar6 = *(code **)(*param_2 + 0x98);\n    bVar26 = pcVar6 < FUN_001baa90;\n    bVar30 = pcVar6 == FUN_001baa90;\n    if (!bVar30) {\n      local_136 = (*pcVar6)(param_2,local_78[0]);\n      goto LAB_0019234a;\n    }\n    lVar19 = 0xc;\n    pbVar24 = (byte *)".rodata._ZTV";\n    pbVar17 = local_78[0];\n    do {\n      if (lVar19 == 0) break;\n      lVar19 = lVar19 + -1;\n      bVar26 = *pbVar24 < *pbVar17;\n      bVar30 = *pbVar24 == *pbVar17;\n      pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n      pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n    } while (bVar30);\n    bVar27 = false;\n    bVar26 = (!bVar26 && !bVar30) == bVar26;\n    if (!bVar26) {\n      lVar19 = 0x11;\n      pbVar24 = (byte *)".data.rel.ro._ZTV";\n      pbVar17 = local_78[0];\n      do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar27 = *pbVar24 < *pbVar17;\n        bVar26 = *pbVar24 == *pbVar17;\n        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n      } while (bVar26);\n      bVar30 = false;\n      bVar26 = (!bVar27 && !bVar26) == bVar27;\n      if (!bVar26) {\n        lVar19 = 0xc;\n        pbVar24 = (byte *)".rodata._ZTC";\n        pbVar17 = local_78[0];\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          bVar30 = *pbVar24 < *pbVar17;\n          bVar26 = *pbVar24 == *pbVar17;\n          pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n          pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n        } while (bVar26);\n        bVar27 = false;\n        bVar26 = (!bVar30 && !bVar26) == bVar30;\n        if (!bVar26) {\n          lVar19 = 0x11;\n          pbVar24 = (byte *)".data.rel.ro._ZTC";\n          pbVar17 = local_78[0];\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar27 = *pbVar24 < *pbVar17;\n            bVar26 = *pbVar24 == *pbVar17;\n            pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n            pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n          } while (bVar26);\n          bVar30 = false;\n          bVar26 = (!bVar27 && !bVar26) == bVar27;\n          if (!bVar26) {\n            lVar19 = 9;\n            pbVar24 = (byte *)".eh_frame";\n            pbVar17 = local_78[0];\n            do {\n              if (lVar19 == 0) break;\n              lVar19 = lVar19 + -1;\n              bVar30 = *pbVar24 < *pbVar17;\n              bVar26 = *pbVar24 == *pbVar17;\n              pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n              pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n            } while (bVar26);\n            local_136 = (!bVar30 && !bVar26) != bVar30;\n            goto LAB_0019234a;\n          }\n        }\n      }\n    }\n  }\n  local_136 = '\0';\nLAB_0019234a:\n  if (param_6 != 0) {\n    local_158 = (byte *)0x0;\n    local_120 = 0;\n    local_128 = param_5;\n    do {\n      uVar3 = local_128[1];\n      uVar4 = local_128[2];\n      uVar22 = uVar3 >> 8;\n      uVar7 = uVar3 & 0xff;\n      if (uVar22 < param_7) {\n        if (param_8 == 0) {\n                    \n          FUN_001e9890("../../gold/gc.h",0xea,"gc_process_relocs");\n        }\n        lVar19 = (ulong)(uVar22 << 4) + param_8;\n        uVar2 = *(ushort *)(lVar19 + 0xe);\n        uVar10 = (uint)uVar2;\n        if (uVar2 < 0xff00) {\nLAB_001924f6:\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (bVar28) {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = param_3;\n            FUN_001bdee0(local_178,&local_58);\n            bVar26 = true;\n            if ((*(byte *)(lVar19 + 0xc) & 0xf) == 3) goto LAB_0019253e;\nLAB_001923f0:\n            local_58 = (byte *)0x0;\n            FUN_001be560(local_170,&local_58);\n            goto LAB_0019240b;\n          }\n        }\n        else {\n          if (uVar2 == 0xffff) {\n            lVar14 = *(long *)(param_3 + 0x40);\n            if (lVar14 == 0) {\n              lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3);\n              *(long *)(param_3 + 0x40) = lVar14;\n            }\n            uVar10 = FUN_0022a020(lVar14,param_3,uVar22);\n            goto LAB_001924f6;\n          }\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (!bVar28) goto LAB_00192480;\n          local_58 = (byte *)0x0;\n          local_50 = local_50 & 0xffffffff00000000;\n                    \n          FUN_001bdee0(local_178,&local_58);\n          bVar26 = false;\n          if ((*(byte *)(lVar19 + 0xc) & 0xf) != 3) goto LAB_001923f0;\nLAB_0019253e:\n          local_58 = (byte *)0xffffffffffffffff;\n          FUN_001be560(local_170,&local_58);\nLAB_0019240b:\n          local_58 = pbVar24;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_a8 = (byte *)((ulong)local_a8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_a8);\n          if (!bVar26) goto LAB_00192480;\n        }\n        if (((local_136 != '\0') && ((*(byte *)(lVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar7 || ((0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) == 0)))) {\n          local_c0 = (uint)*(ushort *)(lVar19 + 0xe);\n          local_108 = *(long *)(param_1 + 0x298) + 0x68;\n          local_c8 = param_3;\n          FUN_001bcb90(local_108,&local_c8,&local_108,1);\n        }\n        pbVar24 = param_3;\n        if (param_4 != uVar10) {\nLAB_001925a8:\n          if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    \n            FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n          }\n          if (*(char *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809) != '\0') {\n            lVar14 = *(long *)(param_1 + 0x290);\n            lVar19 = lVar14 + 0x28;\n            lVar11 = lVar19;\n            lVar12 = lVar19;\n            lVar15 = *(long *)(lVar14 + 0x30);\n            local_b8 = param_3;\n            local_b0 = param_4;\n            local_a8 = pbVar24;\n            local_a0 = uVar10;\n            if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192660:\n              local_e8 = &local_b8;\n              lVar12 = FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a);\n            }\n            else {\n              do {\n                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }\n                lVar11 = lVar12;\n                lVar15 = *(long *)(lVar12 + 0x10);\n              } while (*(long *)(lVar12 + 0x10) != 0);\nLAB_0019263a:\n              if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))\n              goto LAB_00192660;\n            }\n            local_f0 = lVar12 + 0x30;\n            FUN_001bcaf0(local_f0,&local_a8,&local_f0,1);\n            plVar1 = *(long **)(PTR_DAT_004ba7c8 + 0x18);\n            if (plVar1 == (long *)0x0) {\n                    \n              FUN_001e9890("../../gold/parameters.h",0x73,"sized_target");\n            }\n            (**(code **)(*plVar1 + 0x208))(plVar1,param_1,param_3,param_4,pbVar24,uVar10,local_134);\n            if (local_158 != (byte *)0x0) {\n              lVar19 = *(long *)(param_1 + 0x290);\n              local_58 = local_48;\n              sVar13 = strlen((char *)local_158);\n              FUN_001bc4c0(&local_58,local_158,local_158 + sVar13);\n              lVar19 = FUN_001be060(lVar19 + 0x88,&local_58);\n              if (local_58 != local_48) {\n                FUN_00338a40();\n              }\n              lVar14 = *(long *)(param_1 + 0x290);\n              if (lVar19 != lVar14 + 0x90) {\n                lVar11 = lVar14 + 0x28;\n                local_50 = CONCAT44(local_50._4_4_,param_4);\n                lVar12 = lVar11;\n                lVar15 = lVar11;\n                lVar8 = *(long *)(lVar14 + 0x30);\n                if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }\n                else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }\n                for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;\n                    puVar5 = (undefined8 *)*puVar5) {\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (uVar22 < *(uint *)(param_3 + 0x120)) {\n          local_a8 = (byte *)0x0;\nLAB_00192adb:\n                    \n          FUN_001e9890("../../gold/gc.h",0x11c,"gc_process_relocs");\n        }\n        uVar23 = (ulong)(uVar22 - *(uint *)(param_3 + 0x120));\n        if ((ulong)(*(long *)(param_3 + 0x138) - *(long *)(param_3 + 0x130) >> 3) <= uVar23) {\n                    \n          FUN_001e9890("../../gold/object.h",0x8ad,"global_symbol");\n        }\n        local_a8 = *(byte **)(*(long *)(param_3 + 0x130) + uVar23 * 8);\n        if (local_a8 == (byte *)0x0) goto LAB_00192adb;\n        if ((local_a8[0x3a] & 0x10) != 0) {\n          local_a8 = (byte *)FUN_002ddad0(param_1,local_a8);\n        }\n        if ((local_a8[0x3a] & 7) == 0) {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          pbVar24 = *(byte **)(local_a8 + 0x10);\n          local_134 = uVar4 + local_150;\n          if ((pbVar24[0x3c] & 1) == 0) {\n            uVar10 = *(uint *)(local_a8 + 0x18);\n            bVar18 = local_a8[0x3b] >> 5 & 1;\n            uVar25 = (local_a8[0x38] & 0xf) < 2;\n            uVar29 = (local_a8[0x38] & 0xf) == 2;\n            if ((bool)uVar29) {\n              uVar25 = 0;\n              uVar29 = local_136 == '\0';\n              if (!(bool)uVar29) {\n                uVar25 = false;\n                uVar29 = bVar18 == 0;\n                if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }\n                local_100 = *(long *)(param_1 + 0x298) + 0x68;\n                local_d8 = pbVar24;\n                local_d0 = uVar10;\n                    \n                FUN_001bcb90(local_100,&local_d8,&local_100,1);\n              }\n            }\n          }\n          else {\n            bVar18 = 0;\n            uVar10 = 0;\n            uVar25 = 0;\n            pbVar24 = (byte *)0x0;\n            uVar29 = 1;\n          }\n        }\n        else {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          bVar18 = 0;\n          uVar10 = 0;\n          uVar25 = 0;\n          pbVar24 = (byte *)0x0;\n          uVar29 = 1;\n          local_134 = uVar4 + local_150;\n        }\nLAB_00192930:\n        pbVar17 = *(byte **)local_a8;\n        lVar19 = 8;\n        pbVar20 = (byte *)"__start_";\n        pbVar21 = pbVar17;\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          uVar25 = *pbVar20 < *pbVar21;\n          uVar29 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n          pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n        } while ((bool)uVar29);\n        bVar26 = false;\n        bVar30 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;\n        if (bVar30) {\n          pbVar17 = pbVar17 + 8;\n        }\n        else {\n          lVar19 = 7;\n          pbVar20 = (byte *)"__stop_";\n          pbVar21 = pbVar17;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar21;\n            bVar30 = *pbVar20 == *pbVar21;\n            pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n            pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n          } while (bVar30);\n          pbVar17 = pbVar17 + 7;\n          if ((!bVar26 && !bVar30) != bVar26) {\n            pbVar17 = local_158;\n          }\n        }\n        local_158 = pbVar17;\n        if (bVar28) {\n          if (bVar18 == 0) {\n            local_58 = (byte *)0x0;\n            local_50 = (ulong)local_50._4_4_ << 0x20;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          else {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = pbVar24;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          puVar5 = *(undefined8 **)(local_170 + 8);\n          if (puVar5 == *(undefined8 **)(local_170 + 0x10)) {\n            FUN_001bbf50(local_170,puVar5,&local_a8);\n          }\n          else {\n            *puVar5 = local_a8;\n            *(undefined8 **)(local_170 + 8) = puVar5 + 1;\n          }\n          local_58 = (byte *)(ulong)local_150;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_b8 = (byte *)((ulong)local_b8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_b8);\n        }\n        if (bVar18 != 0) goto LAB_001925a8;\n      }\nLAB_00192480:\n      local_120 = local_120 + 1;\n      local_128 = local_128 + 3;\n    } while (param_6 != local_120);\n  }\n  if (local_78[0] != local_68) {\n    FUN_00338a40();\n  }\n  if ((local_98 != 0) && (local_90 != 0)) {\n    uVar16 = gettext("missing expected __tls_get_addr call");\n    FUN_001e1b30(local_90,local_88,local_80,uVar16);\n  }\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00192210(long param_1,long *param_2,byte *param_3,uint param_4,uint *param_5,long param_6,\n                 ulong param_7,long param_8)" (identifier "FUN_00192210") (parameter_list "(long param_1,long *param_2,byte *param_3,uint param_4,uint *param_5,long param_6,\n                 ulong param_7,long param_8)" (( "(") (parameter_declaration "long param_1" (sized_type_specifier "long" (long "long")) (identifier "param_1")) (, ",") (parameter_declaration "long *param_2" (sized_type_specifier "long" (long "long")) (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "byte *param_3" (type_identifier "byte") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) (, ",") (parameter_declaration "uint param_4" (type_identifier "uint") (identifier "param_4")) (, ",") (parameter_declaration "uint *param_5" (type_identifier "uint") (pointer_declarator "*param_5" (* "*") (identifier "param_5"))) (, ",") (parameter_declaration "long param_6" (sized_type_specifier "long" (long "long")) (identifier "param_6")) (, ",") (parameter_declaration "ulong param_7" (type_identifier "ulong") (identifier "param_7")) (, ",") (parameter_declaration "long param_8" (sized_type_specifier "long" (long "long")) (identifier "param_8")) () ")"))) (compound_statement "{\n  long *plVar1;\n  ushort uVar2;\n  uint uVar3;\n  uint uVar4;\n  undefined8 *puVar5;\n  code *pcVar6;\n  uint uVar7;\n  long lVar8;\n  char cVar9;\n  uint uVar10;\n  long lVar11;\n  long lVar12;\n  size_t sVar13;\n  long lVar14;\n  long lVar15;\n  undefined8 uVar16;\n  byte *pbVar17;\n  byte bVar18;\n  long lVar19;\n  byte *pbVar20;\n  byte *pbVar21;\n  uint uVar22;\n  ulong uVar23;\n  byte *pbVar24;\n  undefined1 uVar25;\n  bool bVar26;\n  bool bVar27;\n  bool bVar28;\n  undefined1 uVar29;\n  bool bVar30;\n  byte bVar31;\n  long local_188;\n  long local_180;\n  long local_178;\n  long local_170;\n  long local_168;\n  byte *local_158;\n  uint local_150;\n  char local_136;\n  int local_134;\n  uint *local_128;\n  long local_120;\n  undefined1 local_10a;\n  undefined1 local_109;\n  long local_108;\n  long local_100;\n  long local_f8;\n  long local_f0;\n  byte **local_e8;\n  byte **local_e0;\n  byte *local_d8;\n  uint local_d0;\n  byte *local_c8;\n  uint local_c0;\n  byte *local_b8;\n  uint local_b0;\n  byte *local_a8;\n  uint local_a0;\n  int local_98;\n  long local_90;\n  undefined8 local_88;\n  undefined4 local_80;\n  undefined1 local_7c;\n  byte *local_78 [2];\n  byte local_68 [16];\n  byte *local_58;\n  undefined8 local_50;\n  byte local_48 [24];\n  \n  bVar31 = 0;\n  local_7c = 0;\n  local_98 = 0;\n  local_90 = 0;\n  local_88 = 0;\n  local_80 = 0;\n  if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    \n                    \n    FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n  }\n  if (*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 0) {\n    local_78[0] = local_68;\n                    \n    FUN_001bc4c0(local_78,"");\n  }\n  else if (*(code **)(*(long *)param_3 + 0x80) == FUN_001c3900) {\n                    \n    FUN_001c3780(local_78,param_3 + 0xf8,param_4);\n  }\n  else {\n    (**(code **)(*(long *)param_3 + 0x80))(local_78,param_3,param_4);\n  }\n  pbVar24 = local_78[0];\n  if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    \n    FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n  }\n  if (*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 0) {\nLAB_001922eb:\n    bVar28 = false;\n    local_188 = 0;\n    local_168 = 0;\n    local_180 = 0;\n    local_170 = 0;\n    local_178 = 0;\n  }\n  else {\n    pbVar17 = (byte *)0xffffffffffffffff;\n    local_58 = local_48;\n    uVar25 = 0;\n    uVar29 = local_78[0] == (byte *)0x0;\n    if (!(bool)uVar29) {\n      sVar13 = strlen((char *)local_78[0]);\n      pbVar17 = pbVar24 + sVar13;\n    }\n    FUN_001bc4c0(&local_58,pbVar24,pbVar17);\n    lVar19 = 5;\n    pbVar24 = (byte *)".text";\n    pbVar17 = local_58;\n    do {\n      if (lVar19 == 0) break;\n      lVar19 = lVar19 + -1;\n      uVar25 = *pbVar24 < *pbVar17;\n      uVar29 = *pbVar24 == *pbVar17;\n      pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n      pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n    } while ((bool)uVar29);\n    bVar28 = false;\n    bVar26 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;\n    if (!bVar26) {\n      lVar19 = 0xf;\n      pbVar24 = (byte *)".gnu.linkonce.t";\n      pbVar17 = local_58;\n      do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar28 = *pbVar24 < *pbVar17;\n        bVar26 = *pbVar24 == *pbVar17;\n        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n      } while (bVar26);\n      if ((!bVar28 && !bVar26) != bVar28) {\n        if (local_58 != local_48) {\n          FUN_00338a40(local_58);\n        }\n        goto LAB_001922eb;\n      }\n    }\n    if (local_58 != local_48) {\n      FUN_00338a40(local_58);\n    }\n    local_50 = CONCAT44(local_50._4_4_,param_4);\n    local_58 = param_3;\n    local_178 = FUN_001c0160(*(long *)(param_1 + 0x298) + 0xa8,&local_58);\n    local_170 = local_178 + 0x18;\n    local_180 = local_178 + 0x30;\n    local_168 = local_178 + 0x48;\n    local_188 = local_178 + 0x60;\n    bVar28 = true;\n  }\n  if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    \n                    \n    FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n  }\n  if ((*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 2) &&\n     (cVar9 = (**(code **)(*param_2 + 0x90))(param_2), cVar9 != '\0')) {\n    pcVar6 = *(code **)(*param_2 + 0x10);\n    if (pcVar6 != FUN_001ba9d0) {\n                    \n      local_136 = (*pcVar6)(param_2,local_78[0]);\n      goto LAB_0019234a;\n    }\n    pcVar6 = *(code **)(*param_2 + 0x98);\n    bVar26 = pcVar6 < FUN_001baa90;\n    bVar30 = pcVar6 == FUN_001baa90;\n    if (!bVar30) {\n      local_136 = (*pcVar6)(param_2,local_78[0]);\n      goto LAB_0019234a;\n    }\n    lVar19 = 0xc;\n    pbVar24 = (byte *)".rodata._ZTV";\n    pbVar17 = local_78[0];\n    do {\n      if (lVar19 == 0) break;\n      lVar19 = lVar19 + -1;\n      bVar26 = *pbVar24 < *pbVar17;\n      bVar30 = *pbVar24 == *pbVar17;\n      pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n      pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n    } while (bVar30);\n    bVar27 = false;\n    bVar26 = (!bVar26 && !bVar30) == bVar26;\n    if (!bVar26) {\n      lVar19 = 0x11;\n      pbVar24 = (byte *)".data.rel.ro._ZTV";\n      pbVar17 = local_78[0];\n      do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar27 = *pbVar24 < *pbVar17;\n        bVar26 = *pbVar24 == *pbVar17;\n        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n      } while (bVar26);\n      bVar30 = false;\n      bVar26 = (!bVar27 && !bVar26) == bVar27;\n      if (!bVar26) {\n        lVar19 = 0xc;\n        pbVar24 = (byte *)".rodata._ZTC";\n        pbVar17 = local_78[0];\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          bVar30 = *pbVar24 < *pbVar17;\n          bVar26 = *pbVar24 == *pbVar17;\n          pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n          pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n        } while (bVar26);\n        bVar27 = false;\n        bVar26 = (!bVar30 && !bVar26) == bVar30;\n        if (!bVar26) {\n          lVar19 = 0x11;\n          pbVar24 = (byte *)".data.rel.ro._ZTC";\n          pbVar17 = local_78[0];\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar27 = *pbVar24 < *pbVar17;\n            bVar26 = *pbVar24 == *pbVar17;\n            pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n            pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n          } while (bVar26);\n          bVar30 = false;\n          bVar26 = (!bVar27 && !bVar26) == bVar27;\n          if (!bVar26) {\n            lVar19 = 9;\n            pbVar24 = (byte *)".eh_frame";\n            pbVar17 = local_78[0];\n            do {\n              if (lVar19 == 0) break;\n              lVar19 = lVar19 + -1;\n              bVar30 = *pbVar24 < *pbVar17;\n              bVar26 = *pbVar24 == *pbVar17;\n              pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n              pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n            } while (bVar26);\n            local_136 = (!bVar30 && !bVar26) != bVar30;\n            goto LAB_0019234a;\n          }\n        }\n      }\n    }\n  }\n  local_136 = '\0';\nLAB_0019234a:\n  if (param_6 != 0) {\n    local_158 = (byte *)0x0;\n    local_120 = 0;\n    local_128 = param_5;\n    do {\n      uVar3 = local_128[1];\n      uVar4 = local_128[2];\n      uVar22 = uVar3 >> 8;\n      uVar7 = uVar3 & 0xff;\n      if (uVar22 < param_7) {\n        if (param_8 == 0) {\n                    \n          FUN_001e9890("../../gold/gc.h",0xea,"gc_process_relocs");\n        }\n        lVar19 = (ulong)(uVar22 << 4) + param_8;\n        uVar2 = *(ushort *)(lVar19 + 0xe);\n        uVar10 = (uint)uVar2;\n        if (uVar2 < 0xff00) {\nLAB_001924f6:\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (bVar28) {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = param_3;\n            FUN_001bdee0(local_178,&local_58);\n            bVar26 = true;\n            if ((*(byte *)(lVar19 + 0xc) & 0xf) == 3) goto LAB_0019253e;\nLAB_001923f0:\n            local_58 = (byte *)0x0;\n            FUN_001be560(local_170,&local_58);\n            goto LAB_0019240b;\n          }\n        }\n        else {\n          if (uVar2 == 0xffff) {\n            lVar14 = *(long *)(param_3 + 0x40);\n            if (lVar14 == 0) {\n              lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3);\n              *(long *)(param_3 + 0x40) = lVar14;\n            }\n            uVar10 = FUN_0022a020(lVar14,param_3,uVar22);\n            goto LAB_001924f6;\n          }\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (!bVar28) goto LAB_00192480;\n          local_58 = (byte *)0x0;\n          local_50 = local_50 & 0xffffffff00000000;\n                    \n          FUN_001bdee0(local_178,&local_58);\n          bVar26 = false;\n          if ((*(byte *)(lVar19 + 0xc) & 0xf) != 3) goto LAB_001923f0;\nLAB_0019253e:\n          local_58 = (byte *)0xffffffffffffffff;\n          FUN_001be560(local_170,&local_58);\nLAB_0019240b:\n          local_58 = pbVar24;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_a8 = (byte *)((ulong)local_a8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_a8);\n          if (!bVar26) goto LAB_00192480;\n        }\n        if (((local_136 != '\0') && ((*(byte *)(lVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar7 || ((0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) == 0)))) {\n          local_c0 = (uint)*(ushort *)(lVar19 + 0xe);\n          local_108 = *(long *)(param_1 + 0x298) + 0x68;\n          local_c8 = param_3;\n          FUN_001bcb90(local_108,&local_c8,&local_108,1);\n        }\n        pbVar24 = param_3;\n        if (param_4 != uVar10) {\nLAB_001925a8:\n          if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    \n            FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n          }\n          if (*(char *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809) != '\0') {\n            lVar14 = *(long *)(param_1 + 0x290);\n            lVar19 = lVar14 + 0x28;\n            lVar11 = lVar19;\n            lVar12 = lVar19;\n            lVar15 = *(long *)(lVar14 + 0x30);\n            local_b8 = param_3;\n            local_b0 = param_4;\n            local_a8 = pbVar24;\n            local_a0 = uVar10;\n            if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192660:\n              local_e8 = &local_b8;\n              lVar12 = FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a);\n            }\n            else {\n              do {\n                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }\n                lVar11 = lVar12;\n                lVar15 = *(long *)(lVar12 + 0x10);\n              } while (*(long *)(lVar12 + 0x10) != 0);\nLAB_0019263a:\n              if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))\n              goto LAB_00192660;\n            }\n            local_f0 = lVar12 + 0x30;\n            FUN_001bcaf0(local_f0,&local_a8,&local_f0,1);\n            plVar1 = *(long **)(PTR_DAT_004ba7c8 + 0x18);\n            if (plVar1 == (long *)0x0) {\n                    \n              FUN_001e9890("../../gold/parameters.h",0x73,"sized_target");\n            }\n            (**(code **)(*plVar1 + 0x208))(plVar1,param_1,param_3,param_4,pbVar24,uVar10,local_134);\n            if (local_158 != (byte *)0x0) {\n              lVar19 = *(long *)(param_1 + 0x290);\n              local_58 = local_48;\n              sVar13 = strlen((char *)local_158);\n              FUN_001bc4c0(&local_58,local_158,local_158 + sVar13);\n              lVar19 = FUN_001be060(lVar19 + 0x88,&local_58);\n              if (local_58 != local_48) {\n                FUN_00338a40();\n              }\n              lVar14 = *(long *)(param_1 + 0x290);\n              if (lVar19 != lVar14 + 0x90) {\n                lVar11 = lVar14 + 0x28;\n                local_50 = CONCAT44(local_50._4_4_,param_4);\n                lVar12 = lVar11;\n                lVar15 = lVar11;\n                lVar8 = *(long *)(lVar14 + 0x30);\n                if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }\n                else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }\n                for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;\n                    puVar5 = (undefined8 *)*puVar5) {\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (uVar22 < *(uint *)(param_3 + 0x120)) {\n          local_a8 = (byte *)0x0;\nLAB_00192adb:\n                    \n          FUN_001e9890("../../gold/gc.h",0x11c,"gc_process_relocs");\n        }\n        uVar23 = (ulong)(uVar22 - *(uint *)(param_3 + 0x120));\n        if ((ulong)(*(long *)(param_3 + 0x138) - *(long *)(param_3 + 0x130) >> 3) <= uVar23) {\n                    \n          FUN_001e9890("../../gold/object.h",0x8ad,"global_symbol");\n        }\n        local_a8 = *(byte **)(*(long *)(param_3 + 0x130) + uVar23 * 8);\n        if (local_a8 == (byte *)0x0) goto LAB_00192adb;\n        if ((local_a8[0x3a] & 0x10) != 0) {\n          local_a8 = (byte *)FUN_002ddad0(param_1,local_a8);\n        }\n        if ((local_a8[0x3a] & 7) == 0) {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          pbVar24 = *(byte **)(local_a8 + 0x10);\n          local_134 = uVar4 + local_150;\n          if ((pbVar24[0x3c] & 1) == 0) {\n            uVar10 = *(uint *)(local_a8 + 0x18);\n            bVar18 = local_a8[0x3b] >> 5 & 1;\n            uVar25 = (local_a8[0x38] & 0xf) < 2;\n            uVar29 = (local_a8[0x38] & 0xf) == 2;\n            if ((bool)uVar29) {\n              uVar25 = 0;\n              uVar29 = local_136 == '\0';\n              if (!(bool)uVar29) {\n                uVar25 = false;\n                uVar29 = bVar18 == 0;\n                if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }\n                local_100 = *(long *)(param_1 + 0x298) + 0x68;\n                local_d8 = pbVar24;\n                local_d0 = uVar10;\n                    \n                FUN_001bcb90(local_100,&local_d8,&local_100,1);\n              }\n            }\n          }\n          else {\n            bVar18 = 0;\n            uVar10 = 0;\n            uVar25 = 0;\n            pbVar24 = (byte *)0x0;\n            uVar29 = 1;\n          }\n        }\n        else {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          bVar18 = 0;\n          uVar10 = 0;\n          uVar25 = 0;\n          pbVar24 = (byte *)0x0;\n          uVar29 = 1;\n          local_134 = uVar4 + local_150;\n        }\nLAB_00192930:\n        pbVar17 = *(byte **)local_a8;\n        lVar19 = 8;\n        pbVar20 = (byte *)"__start_";\n        pbVar21 = pbVar17;\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          uVar25 = *pbVar20 < *pbVar21;\n          uVar29 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n          pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n        } while ((bool)uVar29);\n        bVar26 = false;\n        bVar30 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;\n        if (bVar30) {\n          pbVar17 = pbVar17 + 8;\n        }\n        else {\n          lVar19 = 7;\n          pbVar20 = (byte *)"__stop_";\n          pbVar21 = pbVar17;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar21;\n            bVar30 = *pbVar20 == *pbVar21;\n            pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n            pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n          } while (bVar30);\n          pbVar17 = pbVar17 + 7;\n          if ((!bVar26 && !bVar30) != bVar26) {\n            pbVar17 = local_158;\n          }\n        }\n        local_158 = pbVar17;\n        if (bVar28) {\n          if (bVar18 == 0) {\n            local_58 = (byte *)0x0;\n            local_50 = (ulong)local_50._4_4_ << 0x20;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          else {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = pbVar24;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          puVar5 = *(undefined8 **)(local_170 + 8);\n          if (puVar5 == *(undefined8 **)(local_170 + 0x10)) {\n            FUN_001bbf50(local_170,puVar5,&local_a8);\n          }\n          else {\n            *puVar5 = local_a8;\n            *(undefined8 **)(local_170 + 8) = puVar5 + 1;\n          }\n          local_58 = (byte *)(ulong)local_150;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_b8 = (byte *)((ulong)local_b8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_b8);\n        }\n        if (bVar18 != 0) goto LAB_001925a8;\n      }\nLAB_00192480:\n      local_120 = local_120 + 1;\n      local_128 = local_128 + 3;\n    } while (param_6 != local_120);\n  }\n  if (local_78[0] != local_68) {\n    FUN_00338a40();\n  }\n  if ((local_98 != 0) && (local_90 != 0)) {\n    uVar16 = gettext("missing expected __tls_get_addr call");\n    FUN_001e1b30(local_90,local_88,local_80,uVar16);\n  }\n  return;\n}" ({ "{") (declaration "long *plVar1;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar1" (* "*") (identifier "plVar1")) (; ";")) (declaration "ushort uVar2;" (type_identifier "ushort") (identifier "uVar2") (; ";")) (declaration "uint uVar3;" (type_identifier "uint") (identifier "uVar3") (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (declaration "undefined8 *puVar5;" (type_identifier "undefined8") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "code *pcVar6;" (type_identifier "code") (pointer_declarator "*pcVar6" (* "*") (identifier "pcVar6")) (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (declaration "long lVar8;" (sized_type_specifier "long" (long "long")) (identifier "lVar8") (; ";")) (declaration "char cVar9;" (primitive_type "char") (identifier "cVar9") (; ";")) (declaration "uint uVar10;" (type_identifier "uint") (identifier "uVar10") (; ";")) (declaration "long lVar11;" (sized_type_specifier "long" (long "long")) (identifier "lVar11") (; ";")) (declaration "long lVar12;" (sized_type_specifier "long" (long "long")) (identifier "lVar12") (; ";")) (declaration "size_t sVar13;" (primitive_type "size_t") (identifier "sVar13") (; ";")) (declaration "long lVar14;" (sized_type_specifier "long" (long "long")) (identifier "lVar14") (; ";")) (declaration "long lVar15;" (sized_type_specifier "long" (long "long")) (identifier "lVar15") (; ";")) (declaration "undefined8 uVar16;" (type_identifier "undefined8") (identifier "uVar16") (; ";")) (declaration "byte *pbVar17;" (type_identifier "byte") (pointer_declarator "*pbVar17" (* "*") (identifier "pbVar17")) (; ";")) (declaration "byte bVar18;" (type_identifier "byte") (identifier "bVar18") (; ";")) (declaration "long lVar19;" (sized_type_specifier "long" (long "long")) (identifier "lVar19") (; ";")) (declaration "byte *pbVar20;" (type_identifier "byte") (pointer_declarator "*pbVar20" (* "*") (identifier "pbVar20")) (; ";")) (declaration "byte *pbVar21;" (type_identifier "byte") (pointer_declarator "*pbVar21" (* "*") (identifier "pbVar21")) (; ";")) (declaration "uint uVar22;" (type_identifier "uint") (identifier "uVar22") (; ";")) (declaration "ulong uVar23;" (type_identifier "ulong") (identifier "uVar23") (; ";")) (declaration "byte *pbVar24;" (type_identifier "byte") (pointer_declarator "*pbVar24" (* "*") (identifier "pbVar24")) (; ";")) (declaration "undefined1 uVar25;" (type_identifier "undefined1") (identifier "uVar25") (; ";")) (declaration "bool bVar26;" (primitive_type "bool") (identifier "bVar26") (; ";")) (declaration "bool bVar27;" (primitive_type "bool") (identifier "bVar27") (; ";")) (declaration "bool bVar28;" (primitive_type "bool") (identifier "bVar28") (; ";")) (declaration "undefined1 uVar29;" (type_identifier "undefined1") (identifier "uVar29") (; ";")) (declaration "bool bVar30;" (primitive_type "bool") (identifier "bVar30") (; ";")) (declaration "byte bVar31;" (type_identifier "byte") (identifier "bVar31") (; ";")) (declaration "long local_188;" (sized_type_specifier "long" (long "long")) (identifier "local_188") (; ";")) (declaration "long local_180;" (sized_type_specifier "long" (long "long")) (identifier "local_180") (; ";")) (declaration "long local_178;" (sized_type_specifier "long" (long "long")) (identifier "local_178") (; ";")) (declaration "long local_170;" (sized_type_specifier "long" (long "long")) (identifier "local_170") (; ";")) (declaration "long local_168;" (sized_type_specifier "long" (long "long")) (identifier "local_168") (; ";")) (declaration "byte *local_158;" (type_identifier "byte") (pointer_declarator "*local_158" (* "*") (identifier "local_158")) (; ";")) (declaration "uint local_150;" (type_identifier "uint") (identifier "local_150") (; ";")) (declaration "char local_136;" (primitive_type "char") (identifier "local_136") (; ";")) (declaration "int local_134;" (primitive_type "int") (identifier "local_134") (; ";")) (declaration "uint *local_128;" (type_identifier "uint") (pointer_declarator "*local_128" (* "*") (identifier "local_128")) (; ";")) (declaration "long local_120;" (sized_type_specifier "long" (long "long")) (identifier "local_120") (; ";")) (declaration "undefined1 local_10a;" (type_identifier "undefined1") (identifier "local_10a") (; ";")) (declaration "undefined1 local_109;" (type_identifier "undefined1") (identifier "local_109") (; ";")) (declaration "long local_108;" (sized_type_specifier "long" (long "long")) (identifier "local_108") (; ";")) (declaration "long local_100;" (sized_type_specifier "long" (long "long")) (identifier "local_100") (; ";")) (declaration "long local_f8;" (sized_type_specifier "long" (long "long")) (identifier "local_f8") (; ";")) (declaration "long local_f0;" (sized_type_specifier "long" (long "long")) (identifier "local_f0") (; ";")) (declaration "byte **local_e8;" (type_identifier "byte") (pointer_declarator "**local_e8" (* "*") (pointer_declarator "*local_e8" (* "*") (identifier "local_e8"))) (; ";")) (declaration "byte **local_e0;" (type_identifier "byte") (pointer_declarator "**local_e0" (* "*") (pointer_declarator "*local_e0" (* "*") (identifier "local_e0"))) (; ";")) (declaration "byte *local_d8;" (type_identifier "byte") (pointer_declarator "*local_d8" (* "*") (identifier "local_d8")) (; ";")) (declaration "uint local_d0;" (type_identifier "uint") (identifier "local_d0") (; ";")) (declaration "byte *local_c8;" (type_identifier "byte") (pointer_declarator "*local_c8" (* "*") (identifier "local_c8")) (; ";")) (declaration "uint local_c0;" (type_identifier "uint") (identifier "local_c0") (; ";")) (declaration "byte *local_b8;" (type_identifier "byte") (pointer_declarator "*local_b8" (* "*") (identifier "local_b8")) (; ";")) (declaration "uint local_b0;" (type_identifier "uint") (identifier "local_b0") (; ";")) (declaration "byte *local_a8;" (type_identifier "byte") (pointer_declarator "*local_a8" (* "*") (identifier "local_a8")) (; ";")) (declaration "uint local_a0;" (type_identifier "uint") (identifier "local_a0") (; ";")) (declaration "int local_98;" (primitive_type "int") (identifier "local_98") (; ";")) (declaration "long local_90;" (sized_type_specifier "long" (long "long")) (identifier "local_90") (; ";")) (declaration "undefined8 local_88;" (type_identifier "undefined8") (identifier "local_88") (; ";")) (declaration "undefined4 local_80;" (type_identifier "undefined4") (identifier "local_80") (; ";")) (declaration "undefined1 local_7c;" (type_identifier "undefined1") (identifier "local_7c") (; ";")) (declaration "byte *local_78 [2];" (type_identifier "byte") (pointer_declarator "*local_78 [2]" (* "*") (array_declarator "local_78 [2]" (identifier "local_78") ([ "[") (number_literal "2") (] "]"))) (; ";")) (declaration "byte local_68 [16];" (type_identifier "byte") (array_declarator "local_68 [16]" (identifier "local_68") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "byte *local_58;" (type_identifier "byte") (pointer_declarator "*local_58" (* "*") (identifier "local_58")) (; ";")) (declaration "undefined8 local_50;" (type_identifier "undefined8") (identifier "local_50") (; ";")) (declaration "byte local_48 [24];" (type_identifier "byte") (array_declarator "local_48 [24]" (identifier "local_48") ([ "[") (number_literal "24") (] "]")) (; ";")) (expression_statement "bVar31 = 0;" (assignment_expression "bVar31 = 0" (identifier "bVar31") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_7c = 0;" (assignment_expression "local_7c = 0" (identifier "local_7c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" (identifier "local_98") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" (identifier "local_90") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_88 = 0;" (assignment_expression "local_88 = 0" (identifier "local_88") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_80 = 0;" (assignment_expression "local_80 = 0" (identifier "local_80") (= "=") (number_literal "0")) (; ";")) (if_statement "if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    \n                    \n    FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n  }" (if "if") (parenthesized_expression "(*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0)" (( "(") (binary_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0" (pointer_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_004ba7c8 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_004ba7c8 + 0x10)" (( "(") (binary_expression "PTR_DAT_004ba7c8 + 0x10" (identifier "PTR_DAT_004ba7c8") (+ "+") (number_literal "0x10")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n                    \n    FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n  }" ({ "{") (expression_statement "FUN_001e9890("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_001e9890("../../gold/parameters.h",0x5c,"options")" (identifier "FUN_001e9890") (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 *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 0) {\n    local_78[0] = local_68;\n                    \n    FUN_001bc4c0(local_78,"");\n  }\n  else if (*(code **)(*(long *)param_3 + 0x80) == FUN_001c3900) {\n                    \n    FUN_001c3780(local_78,param_3 + 0xf8,param_4);\n  }\n  else {\n    (**(code **)(*(long *)param_3 + 0x80))(local_78,param_3,param_4);\n  }" (if "if") (parenthesized_expression "(*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 0)" (( "(") (binary_expression "*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 0" (pointer_expression "*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050)" (* "*") (cast_expression "(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050)" (( "(") (binary_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050" (pointer_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_004ba7c8 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_004ba7c8 + 0x10)" (( "(") (binary_expression "PTR_DAT_004ba7c8 + 0x10" (identifier "PTR_DAT_004ba7c8") (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (number_literal "0x9050")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    local_78[0] = local_68;\n                    \n    FUN_001bc4c0(local_78,"");\n  }" ({ "{") (expression_statement "local_78[0] = local_68;" (assignment_expression "local_78[0] = local_68" (subscript_expression "local_78[0]" (identifier "local_78") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "local_68")) (; ";")) (expression_statement "FUN_001bc4c0(local_78,"");" (call_expression "FUN_001bc4c0(local_78,"")" (identifier "FUN_001bc4c0") (argument_list "(local_78,"")" (( "(") (identifier "local_78") (, ",") (string_literal """" (" """) (" """)) () ")"))) (; ";")) (} "}")) (else_clause "else if (*(code **)(*(long *)param_3 + 0x80) == FUN_001c3900) {\n                    \n    FUN_001c3780(local_78,param_3 + 0xf8,param_4);\n  }\n  else {\n    (**(code **)(*(long *)param_3 + 0x80))(local_78,param_3,param_4);\n  }" (else "else") (if_statement "if (*(code **)(*(long *)param_3 + 0x80) == FUN_001c3900) {\n                    \n    FUN_001c3780(local_78,param_3 + 0xf8,param_4);\n  }\n  else {\n    (**(code **)(*(long *)param_3 + 0x80))(local_78,param_3,param_4);\n  }" (if "if") (parenthesized_expression "(*(code **)(*(long *)param_3 + 0x80) == FUN_001c3900)" (( "(") (binary_expression "*(code **)(*(long *)param_3 + 0x80) == FUN_001c3900" (pointer_expression "*(code **)(*(long *)param_3 + 0x80)" (* "*") (cast_expression "(code **)(*(long *)param_3 + 0x80)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(long *)param_3 + 0x80)" (( "(") (binary_expression "*(long *)param_3 + 0x80" (pointer_expression "*(long *)param_3" (* "*") (cast_expression "(long *)param_3" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_3"))) (+ "+") (number_literal "0x80")) () ")")))) (== "==") (identifier "FUN_001c3900")) () ")")) (compound_statement "{\n                    \n    FUN_001c3780(local_78,param_3 + 0xf8,param_4);\n  }" ({ "{") (expression_statement "FUN_001c3780(local_78,param_3 + 0xf8,param_4);" (call_expression "FUN_001c3780(local_78,param_3 + 0xf8,param_4)" (identifier "FUN_001c3780") (argument_list "(local_78,param_3 + 0xf8,param_4)" (( "(") (identifier "local_78") (, ",") (binary_expression "param_3 + 0xf8" (identifier "param_3") (+ "+") (number_literal "0xf8")) (, ",") (identifier "param_4") () ")"))) (; ";")) (} "}")) (else_clause "else {\n    (**(code **)(*(long *)param_3 + 0x80))(local_78,param_3,param_4);\n  }" (else "else") (compound_statement "{\n    (**(code **)(*(long *)param_3 + 0x80))(local_78,param_3,param_4);\n  }" ({ "{") (expression_statement "(**(code **)(*(long *)param_3 + 0x80))(local_78,param_3,param_4);" (call_expression "(**(code **)(*(long *)param_3 + 0x80))(local_78,param_3,param_4)" (parenthesized_expression "(**(code **)(*(long *)param_3 + 0x80))" (( "(") (pointer_expression "**(code **)(*(long *)param_3 + 0x80)" (* "*") (pointer_expression "*(code **)(*(long *)param_3 + 0x80)" (* "*") (cast_expression "(code **)(*(long *)param_3 + 0x80)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(long *)param_3 + 0x80)" (( "(") (binary_expression "*(long *)param_3 + 0x80" (pointer_expression "*(long *)param_3" (* "*") (cast_expression "(long *)param_3" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_3"))) (+ "+") (number_literal "0x80")) () ")"))))) () ")")) (argument_list "(local_78,param_3,param_4)" (( "(") (identifier "local_78") (, ",") (identifier "param_3") (, ",") (identifier "param_4") () ")"))) (; ";")) (} "}")))))) (expression_statement "pbVar24 = local_78[0];" (assignment_expression "pbVar24 = local_78[0]" (identifier "pbVar24") (= "=") (subscript_expression "local_78[0]" (identifier "local_78") ([ "[") (number_literal "0") (] "]"))) (; ";")) (if_statement "if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    \n    FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n  }" (if "if") (parenthesized_expression "(*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0)" (( "(") (binary_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0" (pointer_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_004ba7c8 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_004ba7c8 + 0x10)" (( "(") (binary_expression "PTR_DAT_004ba7c8 + 0x10" (identifier "PTR_DAT_004ba7c8") (+ "+") (number_literal "0x10")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n    FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n  }" ({ "{") (expression_statement "FUN_001e9890("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_001e9890("../../gold/parameters.h",0x5c,"options")" (identifier "FUN_001e9890") (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 *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 0) {\nLAB_001922eb:\n    bVar28 = false;\n    local_188 = 0;\n    local_168 = 0;\n    local_180 = 0;\n    local_170 = 0;\n    local_178 = 0;\n  }\n  else {\n    pbVar17 = (byte *)0xffffffffffffffff;\n    local_58 = local_48;\n    uVar25 = 0;\n    uVar29 = local_78[0] == (byte *)0x0;\n    if (!(bool)uVar29) {\n      sVar13 = strlen((char *)local_78[0]);\n      pbVar17 = pbVar24 + sVar13;\n    }\n    FUN_001bc4c0(&local_58,pbVar24,pbVar17);\n    lVar19 = 5;\n    pbVar24 = (byte *)".text";\n    pbVar17 = local_58;\n    do {\n      if (lVar19 == 0) break;\n      lVar19 = lVar19 + -1;\n      uVar25 = *pbVar24 < *pbVar17;\n      uVar29 = *pbVar24 == *pbVar17;\n      pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n      pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n    } while ((bool)uVar29);\n    bVar28 = false;\n    bVar26 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;\n    if (!bVar26) {\n      lVar19 = 0xf;\n      pbVar24 = (byte *)".gnu.linkonce.t";\n      pbVar17 = local_58;\n      do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar28 = *pbVar24 < *pbVar17;\n        bVar26 = *pbVar24 == *pbVar17;\n        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n      } while (bVar26);\n      if ((!bVar28 && !bVar26) != bVar28) {\n        if (local_58 != local_48) {\n          FUN_00338a40(local_58);\n        }\n        goto LAB_001922eb;\n      }\n    }\n    if (local_58 != local_48) {\n      FUN_00338a40(local_58);\n    }\n    local_50 = CONCAT44(local_50._4_4_,param_4);\n    local_58 = param_3;\n    local_178 = FUN_001c0160(*(long *)(param_1 + 0x298) + 0xa8,&local_58);\n    local_170 = local_178 + 0x18;\n    local_180 = local_178 + 0x30;\n    local_168 = local_178 + 0x48;\n    local_188 = local_178 + 0x60;\n    bVar28 = true;\n  }" (if "if") (parenthesized_expression "(*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 0)" (( "(") (binary_expression "*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 0" (pointer_expression "*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050)" (* "*") (cast_expression "(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050)" (( "(") (binary_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050" (pointer_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_004ba7c8 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_004ba7c8 + 0x10)" (( "(") (binary_expression "PTR_DAT_004ba7c8 + 0x10" (identifier "PTR_DAT_004ba7c8") (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (number_literal "0x9050")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_001922eb:\n    bVar28 = false;\n    local_188 = 0;\n    local_168 = 0;\n    local_180 = 0;\n    local_170 = 0;\n    local_178 = 0;\n  }" ({ "{") (labeled_statement "LAB_001922eb:\n    bVar28 = false;" (statement_identifier "LAB_001922eb") (: ":") (expression_statement "bVar28 = false;" (assignment_expression "bVar28 = false" (identifier "bVar28") (= "=") (false "false")) (; ";"))) (expression_statement "local_188 = 0;" (assignment_expression "local_188 = 0" (identifier "local_188") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_168 = 0;" (assignment_expression "local_168 = 0" (identifier "local_168") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_180 = 0;" (assignment_expression "local_180 = 0" (identifier "local_180") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_170 = 0;" (assignment_expression "local_170 = 0" (identifier "local_170") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_178 = 0;" (assignment_expression "local_178 = 0" (identifier "local_178") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n    pbVar17 = (byte *)0xffffffffffffffff;\n    local_58 = local_48;\n    uVar25 = 0;\n    uVar29 = local_78[0] == (byte *)0x0;\n    if (!(bool)uVar29) {\n      sVar13 = strlen((char *)local_78[0]);\n      pbVar17 = pbVar24 + sVar13;\n    }\n    FUN_001bc4c0(&local_58,pbVar24,pbVar17);\n    lVar19 = 5;\n    pbVar24 = (byte *)".text";\n    pbVar17 = local_58;\n    do {\n      if (lVar19 == 0) break;\n      lVar19 = lVar19 + -1;\n      uVar25 = *pbVar24 < *pbVar17;\n      uVar29 = *pbVar24 == *pbVar17;\n      pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n      pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n    } while ((bool)uVar29);\n    bVar28 = false;\n    bVar26 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;\n    if (!bVar26) {\n      lVar19 = 0xf;\n      pbVar24 = (byte *)".gnu.linkonce.t";\n      pbVar17 = local_58;\n      do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar28 = *pbVar24 < *pbVar17;\n        bVar26 = *pbVar24 == *pbVar17;\n        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n      } while (bVar26);\n      if ((!bVar28 && !bVar26) != bVar28) {\n        if (local_58 != local_48) {\n          FUN_00338a40(local_58);\n        }\n        goto LAB_001922eb;\n      }\n    }\n    if (local_58 != local_48) {\n      FUN_00338a40(local_58);\n    }\n    local_50 = CONCAT44(local_50._4_4_,param_4);\n    local_58 = param_3;\n    local_178 = FUN_001c0160(*(long *)(param_1 + 0x298) + 0xa8,&local_58);\n    local_170 = local_178 + 0x18;\n    local_180 = local_178 + 0x30;\n    local_168 = local_178 + 0x48;\n    local_188 = local_178 + 0x60;\n    bVar28 = true;\n  }" (else "else") (compound_statement "{\n    pbVar17 = (byte *)0xffffffffffffffff;\n    local_58 = local_48;\n    uVar25 = 0;\n    uVar29 = local_78[0] == (byte *)0x0;\n    if (!(bool)uVar29) {\n      sVar13 = strlen((char *)local_78[0]);\n      pbVar17 = pbVar24 + sVar13;\n    }\n    FUN_001bc4c0(&local_58,pbVar24,pbVar17);\n    lVar19 = 5;\n    pbVar24 = (byte *)".text";\n    pbVar17 = local_58;\n    do {\n      if (lVar19 == 0) break;\n      lVar19 = lVar19 + -1;\n      uVar25 = *pbVar24 < *pbVar17;\n      uVar29 = *pbVar24 == *pbVar17;\n      pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n      pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n    } while ((bool)uVar29);\n    bVar28 = false;\n    bVar26 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;\n    if (!bVar26) {\n      lVar19 = 0xf;\n      pbVar24 = (byte *)".gnu.linkonce.t";\n      pbVar17 = local_58;\n      do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar28 = *pbVar24 < *pbVar17;\n        bVar26 = *pbVar24 == *pbVar17;\n        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n      } while (bVar26);\n      if ((!bVar28 && !bVar26) != bVar28) {\n        if (local_58 != local_48) {\n          FUN_00338a40(local_58);\n        }\n        goto LAB_001922eb;\n      }\n    }\n    if (local_58 != local_48) {\n      FUN_00338a40(local_58);\n    }\n    local_50 = CONCAT44(local_50._4_4_,param_4);\n    local_58 = param_3;\n    local_178 = FUN_001c0160(*(long *)(param_1 + 0x298) + 0xa8,&local_58);\n    local_170 = local_178 + 0x18;\n    local_180 = local_178 + 0x30;\n    local_168 = local_178 + 0x48;\n    local_188 = local_178 + 0x60;\n    bVar28 = true;\n  }" ({ "{") (expression_statement "pbVar17 = (byte *)0xffffffffffffffff;" (assignment_expression "pbVar17 = (byte *)0xffffffffffffffff" (identifier "pbVar17") (= "=") (cast_expression "(byte *)0xffffffffffffffff" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffffffffffff"))) (; ";")) (expression_statement "local_58 = local_48;" (assignment_expression "local_58 = local_48" (identifier "local_58") (= "=") (identifier "local_48")) (; ";")) (expression_statement "uVar25 = 0;" (assignment_expression "uVar25 = 0" (identifier "uVar25") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar29 = local_78[0] == (byte *)0x0;" (assignment_expression "uVar29 = local_78[0] == (byte *)0x0" (identifier "uVar29") (= "=") (binary_expression "local_78[0] == (byte *)0x0" (subscript_expression "local_78[0]" (identifier "local_78") ([ "[") (number_literal "0") (] "]")) (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) (; ";")) (if_statement "if (!(bool)uVar29) {\n      sVar13 = strlen((char *)local_78[0]);\n      pbVar17 = pbVar24 + sVar13;\n    }" (if "if") (parenthesized_expression "(!(bool)uVar29)" (( "(") (unary_expression "!(bool)uVar29" (! "!") (cast_expression "(bool)uVar29" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "uVar29"))) () ")")) (compound_statement "{\n      sVar13 = strlen((char *)local_78[0]);\n      pbVar17 = pbVar24 + sVar13;\n    }" ({ "{") (expression_statement "sVar13 = strlen((char *)local_78[0]);" (assignment_expression "sVar13 = strlen((char *)local_78[0])" (identifier "sVar13") (= "=") (call_expression "strlen((char *)local_78[0])" (identifier "strlen") (argument_list "((char *)local_78[0])" (( "(") (cast_expression "(char *)local_78[0]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_78[0]" (identifier "local_78") ([ "[") (number_literal "0") (] "]"))) () ")")))) (; ";")) (expression_statement "pbVar17 = pbVar24 + sVar13;" (assignment_expression "pbVar17 = pbVar24 + sVar13" (identifier "pbVar17") (= "=") (binary_expression "pbVar24 + sVar13" (identifier "pbVar24") (+ "+") (identifier "sVar13"))) (; ";")) (} "}"))) (expression_statement "FUN_001bc4c0(&local_58,pbVar24,pbVar17);" (call_expression "FUN_001bc4c0(&local_58,pbVar24,pbVar17)" (identifier "FUN_001bc4c0") (argument_list "(&local_58,pbVar24,pbVar17)" (( "(") (pointer_expression "&local_58" (& "&") (identifier "local_58")) (, ",") (identifier "pbVar24") (, ",") (identifier "pbVar17") () ")"))) (; ";")) (expression_statement "lVar19 = 5;" (assignment_expression "lVar19 = 5" (identifier "lVar19") (= "=") (number_literal "5")) (; ";")) (expression_statement "pbVar24 = (byte *)".text";" (assignment_expression "pbVar24 = (byte *)".text"" (identifier "pbVar24") (= "=") (cast_expression "(byte *)".text"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal "".text"" (" """) (string_content ".text") (" """)))) (; ";")) (expression_statement "pbVar17 = local_58;" (assignment_expression "pbVar17 = local_58" (identifier "pbVar17") (= "=") (identifier "local_58")) (; ";")) (do_statement "do {\n      if (lVar19 == 0) break;\n      lVar19 = lVar19 + -1;\n      uVar25 = *pbVar24 < *pbVar17;\n      uVar29 = *pbVar24 == *pbVar17;\n      pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n      pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n    } while ((bool)uVar29);" (do "do") (compound_statement "{\n      if (lVar19 == 0) break;\n      lVar19 = lVar19 + -1;\n      uVar25 = *pbVar24 < *pbVar17;\n      uVar29 = *pbVar24 == *pbVar17;\n      pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n      pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n    }" ({ "{") (if_statement "if (lVar19 == 0) break;" (if "if") (parenthesized_expression "(lVar19 == 0)" (( "(") (binary_expression "lVar19 == 0" (identifier "lVar19") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar19 = lVar19 + -1;" (assignment_expression "lVar19 = lVar19 + -1" (identifier "lVar19") (= "=") (binary_expression "lVar19 + -1" (identifier "lVar19") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "uVar25 = *pbVar24 < *pbVar17;" (assignment_expression "uVar25 = *pbVar24 < *pbVar17" (identifier "uVar25") (= "=") (binary_expression "*pbVar24 < *pbVar17" (pointer_expression "*pbVar24" (* "*") (identifier "pbVar24")) (< "<") (pointer_expression "*pbVar17" (* "*") (identifier "pbVar17")))) (; ";")) (expression_statement "uVar29 = *pbVar24 == *pbVar17;" (assignment_expression "uVar29 = *pbVar24 == *pbVar17" (identifier "uVar29") (= "=") (binary_expression "*pbVar24 == *pbVar17" (pointer_expression "*pbVar24" (* "*") (identifier "pbVar24")) (== "==") (pointer_expression "*pbVar17" (* "*") (identifier "pbVar17")))) (; ";")) (expression_statement "pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1" (identifier "pbVar24") (= "=") (binary_expression "pbVar24 + (ulong)bVar31 * -2 + 1" (binary_expression "pbVar24 + (ulong)bVar31 * -2" (identifier "pbVar24") (+ "+") (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar31")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;" (assignment_expression "pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1" (identifier "pbVar17") (= "=") (binary_expression "pbVar17 + (ulong)bVar31 * -2 + 1" (binary_expression "pbVar17 + (ulong)bVar31 * -2" (identifier "pbVar17") (+ "+") (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar31")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((bool)uVar29)" (( "(") (cast_expression "(bool)uVar29" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "uVar29")) () ")")) (; ";")) (expression_statement "bVar28 = false;" (assignment_expression "bVar28 = false" (identifier "bVar28") (= "=") (false "false")) (; ";")) (expression_statement "bVar26 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;" (assignment_expression "bVar26 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25" (identifier "bVar26") (= "=") (binary_expression "(!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25" (parenthesized_expression "(!(bool)uVar25 && !(bool)uVar29)" (( "(") (binary_expression "!(bool)uVar25 && !(bool)uVar29" (unary_expression "!(bool)uVar25" (! "!") (cast_expression "(bool)uVar25" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "uVar25"))) (&& "&&") (unary_expression "!(bool)uVar29" (! "!") (cast_expression "(bool)uVar29" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "uVar29")))) () ")")) (== "==") (cast_expression "(bool)uVar25" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "uVar25")))) (; ";")) (if_statement "if (!bVar26) {\n      lVar19 = 0xf;\n      pbVar24 = (byte *)".gnu.linkonce.t";\n      pbVar17 = local_58;\n      do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar28 = *pbVar24 < *pbVar17;\n        bVar26 = *pbVar24 == *pbVar17;\n        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n      } while (bVar26);\n      if ((!bVar28 && !bVar26) != bVar28) {\n        if (local_58 != local_48) {\n          FUN_00338a40(local_58);\n        }\n        goto LAB_001922eb;\n      }\n    }" (if "if") (parenthesized_expression "(!bVar26)" (( "(") (unary_expression "!bVar26" (! "!") (identifier "bVar26")) () ")")) (compound_statement "{\n      lVar19 = 0xf;\n      pbVar24 = (byte *)".gnu.linkonce.t";\n      pbVar17 = local_58;\n      do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar28 = *pbVar24 < *pbVar17;\n        bVar26 = *pbVar24 == *pbVar17;\n        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n      } while (bVar26);\n      if ((!bVar28 && !bVar26) != bVar28) {\n        if (local_58 != local_48) {\n          FUN_00338a40(local_58);\n        }\n        goto LAB_001922eb;\n      }\n    }" ({ "{") (expression_statement "lVar19 = 0xf;" (assignment_expression "lVar19 = 0xf" (identifier "lVar19") (= "=") (number_literal "0xf")) (; ";")) (expression_statement "pbVar24 = (byte *)".gnu.linkonce.t";" (assignment_expression "pbVar24 = (byte *)".gnu.linkonce.t"" (identifier "pbVar24") (= "=") (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 "pbVar17 = local_58;" (assignment_expression "pbVar17 = local_58" (identifier "pbVar17") (= "=") (identifier "local_58")) (; ";")) (do_statement "do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar28 = *pbVar24 < *pbVar17;\n        bVar26 = *pbVar24 == *pbVar17;\n        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n      } while (bVar26);" (do "do") (compound_statement "{\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar28 = *pbVar24 < *pbVar17;\n        bVar26 = *pbVar24 == *pbVar17;\n        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n      }" ({ "{") (if_statement "if (lVar19 == 0) break;" (if "if") (parenthesized_expression "(lVar19 == 0)" (( "(") (binary_expression "lVar19 == 0" (identifier "lVar19") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar19 = lVar19 + -1;" (assignment_expression "lVar19 = lVar19 + -1" (identifier "lVar19") (= "=") (binary_expression "lVar19 + -1" (identifier "lVar19") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar28 = *pbVar24 < *pbVar17;" (assignment_expression "bVar28 = *pbVar24 < *pbVar17" (identifier "bVar28") (= "=") (binary_expression "*pbVar24 < *pbVar17" (pointer_expression "*pbVar24" (* "*") (identifier "pbVar24")) (< "<") (pointer_expression "*pbVar17" (* "*") (identifier "pbVar17")))) (; ";")) (expression_statement "bVar26 = *pbVar24 == *pbVar17;" (assignment_expression "bVar26 = *pbVar24 == *pbVar17" (identifier "bVar26") (= "=") (binary_expression "*pbVar24 == *pbVar17" (pointer_expression "*pbVar24" (* "*") (identifier "pbVar24")) (== "==") (pointer_expression "*pbVar17" (* "*") (identifier "pbVar17")))) (; ";")) (expression_statement "pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1" (identifier "pbVar24") (= "=") (binary_expression "pbVar24 + (ulong)bVar31 * -2 + 1" (binary_expression "pbVar24 + (ulong)bVar31 * -2" (identifier "pbVar24") (+ "+") (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar31")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;" (assignment_expression "pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1" (identifier "pbVar17") (= "=") (binary_expression "pbVar17 + (ulong)bVar31 * -2 + 1" (binary_expression "pbVar17 + (ulong)bVar31 * -2" (identifier "pbVar17") (+ "+") (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar31")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar26)" (( "(") (identifier "bVar26") () ")")) (; ";")) (if_statement "if ((!bVar28 && !bVar26) != bVar28) {\n        if (local_58 != local_48) {\n          FUN_00338a40(local_58);\n        }\n        goto LAB_001922eb;\n      }" (if "if") (parenthesized_expression "((!bVar28 && !bVar26) != bVar28)" (( "(") (binary_expression "(!bVar28 && !bVar26) != bVar28" (parenthesized_expression "(!bVar28 && !bVar26)" (( "(") (binary_expression "!bVar28 && !bVar26" (unary_expression "!bVar28" (! "!") (identifier "bVar28")) (&& "&&") (unary_expression "!bVar26" (! "!") (identifier "bVar26"))) () ")")) (!= "!=") (identifier "bVar28")) () ")")) (compound_statement "{\n        if (local_58 != local_48) {\n          FUN_00338a40(local_58);\n        }\n        goto LAB_001922eb;\n      }" ({ "{") (if_statement "if (local_58 != local_48) {\n          FUN_00338a40(local_58);\n        }" (if "if") (parenthesized_expression "(local_58 != local_48)" (( "(") (binary_expression "local_58 != local_48" (identifier "local_58") (!= "!=") (identifier "local_48")) () ")")) (compound_statement "{\n          FUN_00338a40(local_58);\n        }" ({ "{") (expression_statement "FUN_00338a40(local_58);" (call_expression "FUN_00338a40(local_58)" (identifier "FUN_00338a40") (argument_list "(local_58)" (( "(") (identifier "local_58") () ")"))) (; ";")) (} "}"))) (goto_statement "goto LAB_001922eb;" (goto "goto") (statement_identifier "LAB_001922eb") (; ";")) (} "}"))) (} "}"))) (if_statement "if (local_58 != local_48) {\n      FUN_00338a40(local_58);\n    }" (if "if") (parenthesized_expression "(local_58 != local_48)" (( "(") (binary_expression "local_58 != local_48" (identifier "local_58") (!= "!=") (identifier "local_48")) () ")")) (compound_statement "{\n      FUN_00338a40(local_58);\n    }" ({ "{") (expression_statement "FUN_00338a40(local_58);" (call_expression "FUN_00338a40(local_58)" (identifier "FUN_00338a40") (argument_list "(local_58)" (( "(") (identifier "local_58") () ")"))) (; ";")) (} "}"))) (expression_statement "local_50 = CONCAT44(local_50._4_4_,param_4);" (assignment_expression "local_50 = CONCAT44(local_50._4_4_,param_4)" (identifier "local_50") (= "=") (call_expression "CONCAT44(local_50._4_4_,param_4)" (identifier "CONCAT44") (argument_list "(local_50._4_4_,param_4)" (( "(") (field_expression "local_50._4_4_" (identifier "local_50") (. ".") (field_identifier "_4_4_")) (, ",") (identifier "param_4") () ")")))) (; ";")) (expression_statement "local_58 = param_3;" (assignment_expression "local_58 = param_3" (identifier "local_58") (= "=") (identifier "param_3")) (; ";")) (expression_statement "local_178 = FUN_001c0160(*(long *)(param_1 + 0x298) + 0xa8,&local_58);" (assignment_expression "local_178 = FUN_001c0160(*(long *)(param_1 + 0x298) + 0xa8,&local_58)" (identifier "local_178") (= "=") (call_expression "FUN_001c0160(*(long *)(param_1 + 0x298) + 0xa8,&local_58)" (identifier "FUN_001c0160") (argument_list "(*(long *)(param_1 + 0x298) + 0xa8,&local_58)" (( "(") (binary_expression "*(long *)(param_1 + 0x298) + 0xa8" (pointer_expression "*(long *)(param_1 + 0x298)" (* "*") (cast_expression "(long *)(param_1 + 0x298)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x298)" (( "(") (binary_expression "param_1 + 0x298" (identifier "param_1") (+ "+") (number_literal "0x298")) () ")")))) (+ "+") (number_literal "0xa8")) (, ",") (pointer_expression "&local_58" (& "&") (identifier "local_58")) () ")")))) (; ";")) (expression_statement "local_170 = local_178 + 0x18;" (assignment_expression "local_170 = local_178 + 0x18" (identifier "local_170") (= "=") (binary_expression "local_178 + 0x18" (identifier "local_178") (+ "+") (number_literal "0x18"))) (; ";")) (expression_statement "local_180 = local_178 + 0x30;" (assignment_expression "local_180 = local_178 + 0x30" (identifier "local_180") (= "=") (binary_expression "local_178 + 0x30" (identifier "local_178") (+ "+") (number_literal "0x30"))) (; ";")) (expression_statement "local_168 = local_178 + 0x48;" (assignment_expression "local_168 = local_178 + 0x48" (identifier "local_168") (= "=") (binary_expression "local_178 + 0x48" (identifier "local_178") (+ "+") (number_literal "0x48"))) (; ";")) (expression_statement "local_188 = local_178 + 0x60;" (assignment_expression "local_188 = local_178 + 0x60" (identifier "local_188") (= "=") (binary_expression "local_178 + 0x60" (identifier "local_178") (+ "+") (number_literal "0x60"))) (; ";")) (expression_statement "bVar28 = true;" (assignment_expression "bVar28 = true" (identifier "bVar28") (= "=") (true "true")) (; ";")) (} "}")))) (if_statement "if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    \n                    \n    FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n  }" (if "if") (parenthesized_expression "(*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0)" (( "(") (binary_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0" (pointer_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_004ba7c8 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_004ba7c8 + 0x10)" (( "(") (binary_expression "PTR_DAT_004ba7c8 + 0x10" (identifier "PTR_DAT_004ba7c8") (+ "+") (number_literal "0x10")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n                    \n    FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n  }" ({ "{") (expression_statement "FUN_001e9890("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_001e9890("../../gold/parameters.h",0x5c,"options")" (identifier "FUN_001e9890") (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 *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 2) &&\n     (cVar9 = (**(code **)(*param_2 + 0x90))(param_2), cVar9 != '\0')) {\n    pcVar6 = *(code **)(*param_2 + 0x10);\n    if (pcVar6 != FUN_001ba9d0) {\n                    \n      local_136 = (*pcVar6)(param_2,local_78[0]);\n      goto LAB_0019234a;\n    }\n    pcVar6 = *(code **)(*param_2 + 0x98);\n    bVar26 = pcVar6 < FUN_001baa90;\n    bVar30 = pcVar6 == FUN_001baa90;\n    if (!bVar30) {\n      local_136 = (*pcVar6)(param_2,local_78[0]);\n      goto LAB_0019234a;\n    }\n    lVar19 = 0xc;\n    pbVar24 = (byte *)".rodata._ZTV";\n    pbVar17 = local_78[0];\n    do {\n      if (lVar19 == 0) break;\n      lVar19 = lVar19 + -1;\n      bVar26 = *pbVar24 < *pbVar17;\n      bVar30 = *pbVar24 == *pbVar17;\n      pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n      pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n    } while (bVar30);\n    bVar27 = false;\n    bVar26 = (!bVar26 && !bVar30) == bVar26;\n    if (!bVar26) {\n      lVar19 = 0x11;\n      pbVar24 = (byte *)".data.rel.ro._ZTV";\n      pbVar17 = local_78[0];\n      do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar27 = *pbVar24 < *pbVar17;\n        bVar26 = *pbVar24 == *pbVar17;\n        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n      } while (bVar26);\n      bVar30 = false;\n      bVar26 = (!bVar27 && !bVar26) == bVar27;\n      if (!bVar26) {\n        lVar19 = 0xc;\n        pbVar24 = (byte *)".rodata._ZTC";\n        pbVar17 = local_78[0];\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          bVar30 = *pbVar24 < *pbVar17;\n          bVar26 = *pbVar24 == *pbVar17;\n          pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n          pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n        } while (bVar26);\n        bVar27 = false;\n        bVar26 = (!bVar30 && !bVar26) == bVar30;\n        if (!bVar26) {\n          lVar19 = 0x11;\n          pbVar24 = (byte *)".data.rel.ro._ZTC";\n          pbVar17 = local_78[0];\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar27 = *pbVar24 < *pbVar17;\n            bVar26 = *pbVar24 == *pbVar17;\n            pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n            pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n          } while (bVar26);\n          bVar30 = false;\n          bVar26 = (!bVar27 && !bVar26) == bVar27;\n          if (!bVar26) {\n            lVar19 = 9;\n            pbVar24 = (byte *)".eh_frame";\n            pbVar17 = local_78[0];\n            do {\n              if (lVar19 == 0) break;\n              lVar19 = lVar19 + -1;\n              bVar30 = *pbVar24 < *pbVar17;\n              bVar26 = *pbVar24 == *pbVar17;\n              pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n              pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n            } while (bVar26);\n            local_136 = (!bVar30 && !bVar26) != bVar30;\n            goto LAB_0019234a;\n          }\n        }\n      }\n    }\n  }" (if "if") (parenthesized_expression "((*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 2) &&\n     (cVar9 = (**(code **)(*param_2 + 0x90))(param_2), cVar9 != '\0'))" (( "(") (binary_expression "(*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 2) &&\n     (cVar9 = (**(code **)(*param_2 + 0x90))(param_2), cVar9 != '\0')" (parenthesized_expression "(*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 2)" (( "(") (binary_expression "*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 2" (pointer_expression "*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050)" (* "*") (cast_expression "(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050)" (( "(") (binary_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050" (pointer_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_004ba7c8 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_004ba7c8 + 0x10)" (( "(") (binary_expression "PTR_DAT_004ba7c8 + 0x10" (identifier "PTR_DAT_004ba7c8") (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (number_literal "0x9050")) () ")")))) (== "==") (number_literal "2")) () ")")) (&& "&&") (parenthesized_expression "(cVar9 = (**(code **)(*param_2 + 0x90))(param_2), cVar9 != '\0')" (( "(") (comma_expression "cVar9 = (**(code **)(*param_2 + 0x90))(param_2), cVar9 != '\0'" (assignment_expression "cVar9 = (**(code **)(*param_2 + 0x90))(param_2)" (identifier "cVar9") (= "=") (call_expression "(**(code **)(*param_2 + 0x90))(param_2)" (parenthesized_expression "(**(code **)(*param_2 + 0x90))" (( "(") (pointer_expression "**(code **)(*param_2 + 0x90)" (* "*") (pointer_expression "*(code **)(*param_2 + 0x90)" (* "*") (cast_expression "(code **)(*param_2 + 0x90)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_2 + 0x90)" (( "(") (binary_expression "*param_2 + 0x90" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (+ "+") (number_literal "0x90")) () ")"))))) () ")")) (argument_list "(param_2)" (( "(") (identifier "param_2") () ")")))) (, ",") (binary_expression "cVar9 != '\0'" (identifier "cVar9") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) () ")"))) () ")")) (compound_statement "{\n    pcVar6 = *(code **)(*param_2 + 0x10);\n    if (pcVar6 != FUN_001ba9d0) {\n                    \n      local_136 = (*pcVar6)(param_2,local_78[0]);\n      goto LAB_0019234a;\n    }\n    pcVar6 = *(code **)(*param_2 + 0x98);\n    bVar26 = pcVar6 < FUN_001baa90;\n    bVar30 = pcVar6 == FUN_001baa90;\n    if (!bVar30) {\n      local_136 = (*pcVar6)(param_2,local_78[0]);\n      goto LAB_0019234a;\n    }\n    lVar19 = 0xc;\n    pbVar24 = (byte *)".rodata._ZTV";\n    pbVar17 = local_78[0];\n    do {\n      if (lVar19 == 0) break;\n      lVar19 = lVar19 + -1;\n      bVar26 = *pbVar24 < *pbVar17;\n      bVar30 = *pbVar24 == *pbVar17;\n      pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n      pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n    } while (bVar30);\n    bVar27 = false;\n    bVar26 = (!bVar26 && !bVar30) == bVar26;\n    if (!bVar26) {\n      lVar19 = 0x11;\n      pbVar24 = (byte *)".data.rel.ro._ZTV";\n      pbVar17 = local_78[0];\n      do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar27 = *pbVar24 < *pbVar17;\n        bVar26 = *pbVar24 == *pbVar17;\n        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n      } while (bVar26);\n      bVar30 = false;\n      bVar26 = (!bVar27 && !bVar26) == bVar27;\n      if (!bVar26) {\n        lVar19 = 0xc;\n        pbVar24 = (byte *)".rodata._ZTC";\n        pbVar17 = local_78[0];\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          bVar30 = *pbVar24 < *pbVar17;\n          bVar26 = *pbVar24 == *pbVar17;\n          pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n          pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n        } while (bVar26);\n        bVar27 = false;\n        bVar26 = (!bVar30 && !bVar26) == bVar30;\n        if (!bVar26) {\n          lVar19 = 0x11;\n          pbVar24 = (byte *)".data.rel.ro._ZTC";\n          pbVar17 = local_78[0];\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar27 = *pbVar24 < *pbVar17;\n            bVar26 = *pbVar24 == *pbVar17;\n            pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n            pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n          } while (bVar26);\n          bVar30 = false;\n          bVar26 = (!bVar27 && !bVar26) == bVar27;\n          if (!bVar26) {\n            lVar19 = 9;\n            pbVar24 = (byte *)".eh_frame";\n            pbVar17 = local_78[0];\n            do {\n              if (lVar19 == 0) break;\n              lVar19 = lVar19 + -1;\n              bVar30 = *pbVar24 < *pbVar17;\n              bVar26 = *pbVar24 == *pbVar17;\n              pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n              pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n            } while (bVar26);\n            local_136 = (!bVar30 && !bVar26) != bVar30;\n            goto LAB_0019234a;\n          }\n        }\n      }\n    }\n  }" ({ "{") (expression_statement "pcVar6 = *(code **)(*param_2 + 0x10);" (assignment_expression "pcVar6 = *(code **)(*param_2 + 0x10)" (identifier "pcVar6") (= "=") (pointer_expression "*(code **)(*param_2 + 0x10)" (* "*") (cast_expression "(code **)(*param_2 + 0x10)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_2 + 0x10)" (( "(") (binary_expression "*param_2 + 0x10" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if (pcVar6 != FUN_001ba9d0) {\n                    \n      local_136 = (*pcVar6)(param_2,local_78[0]);\n      goto LAB_0019234a;\n    }" (if "if") (parenthesized_expression "(pcVar6 != FUN_001ba9d0)" (( "(") (binary_expression "pcVar6 != FUN_001ba9d0" (identifier "pcVar6") (!= "!=") (identifier "FUN_001ba9d0")) () ")")) (compound_statement "{\n                    \n      local_136 = (*pcVar6)(param_2,local_78[0]);\n      goto LAB_0019234a;\n    }" ({ "{") (expression_statement "local_136 = (*pcVar6)(param_2,local_78[0]);" (assignment_expression "local_136 = (*pcVar6)(param_2,local_78[0])" (identifier "local_136") (= "=") (call_expression "(*pcVar6)(param_2,local_78[0])" (parenthesized_expression "(*pcVar6)" (( "(") (pointer_expression "*pcVar6" (* "*") (identifier "pcVar6")) () ")")) (argument_list "(param_2,local_78[0])" (( "(") (identifier "param_2") (, ",") (subscript_expression "local_78[0]" (identifier "local_78") ([ "[") (number_literal "0") (] "]")) () ")")))) (; ";")) (goto_statement "goto LAB_0019234a;" (goto "goto") (statement_identifier "LAB_0019234a") (; ";")) (} "}"))) (expression_statement "pcVar6 = *(code **)(*param_2 + 0x98);" (assignment_expression "pcVar6 = *(code **)(*param_2 + 0x98)" (identifier "pcVar6") (= "=") (pointer_expression "*(code **)(*param_2 + 0x98)" (* "*") (cast_expression "(code **)(*param_2 + 0x98)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_2 + 0x98)" (( "(") (binary_expression "*param_2 + 0x98" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (+ "+") (number_literal "0x98")) () ")"))))) (; ";")) (expression_statement "bVar26 = pcVar6 < FUN_001baa90;" (assignment_expression "bVar26 = pcVar6 < FUN_001baa90" (identifier "bVar26") (= "=") (binary_expression "pcVar6 < FUN_001baa90" (identifier "pcVar6") (< "<") (identifier "FUN_001baa90"))) (; ";")) (expression_statement "bVar30 = pcVar6 == FUN_001baa90;" (assignment_expression "bVar30 = pcVar6 == FUN_001baa90" (identifier "bVar30") (= "=") (binary_expression "pcVar6 == FUN_001baa90" (identifier "pcVar6") (== "==") (identifier "FUN_001baa90"))) (; ";")) (if_statement "if (!bVar30) {\n      local_136 = (*pcVar6)(param_2,local_78[0]);\n      goto LAB_0019234a;\n    }" (if "if") (parenthesized_expression "(!bVar30)" (( "(") (unary_expression "!bVar30" (! "!") (identifier "bVar30")) () ")")) (compound_statement "{\n      local_136 = (*pcVar6)(param_2,local_78[0]);\n      goto LAB_0019234a;\n    }" ({ "{") (expression_statement "local_136 = (*pcVar6)(param_2,local_78[0]);" (assignment_expression "local_136 = (*pcVar6)(param_2,local_78[0])" (identifier "local_136") (= "=") (call_expression "(*pcVar6)(param_2,local_78[0])" (parenthesized_expression "(*pcVar6)" (( "(") (pointer_expression "*pcVar6" (* "*") (identifier "pcVar6")) () ")")) (argument_list "(param_2,local_78[0])" (( "(") (identifier "param_2") (, ",") (subscript_expression "local_78[0]" (identifier "local_78") ([ "[") (number_literal "0") (] "]")) () ")")))) (; ";")) (goto_statement "goto LAB_0019234a;" (goto "goto") (statement_identifier "LAB_0019234a") (; ";")) (} "}"))) (expression_statement "lVar19 = 0xc;" (assignment_expression "lVar19 = 0xc" (identifier "lVar19") (= "=") (number_literal "0xc")) (; ";")) (expression_statement "pbVar24 = (byte *)".rodata._ZTV";" (assignment_expression "pbVar24 = (byte *)".rodata._ZTV"" (identifier "pbVar24") (= "=") (cast_expression "(byte *)".rodata._ZTV"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal "".rodata._ZTV"" (" """) (string_content ".rodata._ZTV") (" """)))) (; ";")) (expression_statement "pbVar17 = local_78[0];" (assignment_expression "pbVar17 = local_78[0]" (identifier "pbVar17") (= "=") (subscript_expression "local_78[0]" (identifier "local_78") ([ "[") (number_literal "0") (] "]"))) (; ";")) (do_statement "do {\n      if (lVar19 == 0) break;\n      lVar19 = lVar19 + -1;\n      bVar26 = *pbVar24 < *pbVar17;\n      bVar30 = *pbVar24 == *pbVar17;\n      pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n      pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n    } while (bVar30);" (do "do") (compound_statement "{\n      if (lVar19 == 0) break;\n      lVar19 = lVar19 + -1;\n      bVar26 = *pbVar24 < *pbVar17;\n      bVar30 = *pbVar24 == *pbVar17;\n      pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n      pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n    }" ({ "{") (if_statement "if (lVar19 == 0) break;" (if "if") (parenthesized_expression "(lVar19 == 0)" (( "(") (binary_expression "lVar19 == 0" (identifier "lVar19") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar19 = lVar19 + -1;" (assignment_expression "lVar19 = lVar19 + -1" (identifier "lVar19") (= "=") (binary_expression "lVar19 + -1" (identifier "lVar19") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar26 = *pbVar24 < *pbVar17;" (assignment_expression "bVar26 = *pbVar24 < *pbVar17" (identifier "bVar26") (= "=") (binary_expression "*pbVar24 < *pbVar17" (pointer_expression "*pbVar24" (* "*") (identifier "pbVar24")) (< "<") (pointer_expression "*pbVar17" (* "*") (identifier "pbVar17")))) (; ";")) (expression_statement "bVar30 = *pbVar24 == *pbVar17;" (assignment_expression "bVar30 = *pbVar24 == *pbVar17" (identifier "bVar30") (= "=") (binary_expression "*pbVar24 == *pbVar17" (pointer_expression "*pbVar24" (* "*") (identifier "pbVar24")) (== "==") (pointer_expression "*pbVar17" (* "*") (identifier "pbVar17")))) (; ";")) (expression_statement "pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1" (identifier "pbVar24") (= "=") (binary_expression "pbVar24 + (ulong)bVar31 * -2 + 1" (binary_expression "pbVar24 + (ulong)bVar31 * -2" (identifier "pbVar24") (+ "+") (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar31")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;" (assignment_expression "pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1" (identifier "pbVar17") (= "=") (binary_expression "pbVar17 + (ulong)bVar31 * -2 + 1" (binary_expression "pbVar17 + (ulong)bVar31 * -2" (identifier "pbVar17") (+ "+") (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar31")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar30)" (( "(") (identifier "bVar30") () ")")) (; ";")) (expression_statement "bVar27 = false;" (assignment_expression "bVar27 = false" (identifier "bVar27") (= "=") (false "false")) (; ";")) (expression_statement "bVar26 = (!bVar26 && !bVar30) == bVar26;" (assignment_expression "bVar26 = (!bVar26 && !bVar30) == bVar26" (identifier "bVar26") (= "=") (binary_expression "(!bVar26 && !bVar30) == bVar26" (parenthesized_expression "(!bVar26 && !bVar30)" (( "(") (binary_expression "!bVar26 && !bVar30" (unary_expression "!bVar26" (! "!") (identifier "bVar26")) (&& "&&") (unary_expression "!bVar30" (! "!") (identifier "bVar30"))) () ")")) (== "==") (identifier "bVar26"))) (; ";")) (if_statement "if (!bVar26) {\n      lVar19 = 0x11;\n      pbVar24 = (byte *)".data.rel.ro._ZTV";\n      pbVar17 = local_78[0];\n      do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar27 = *pbVar24 < *pbVar17;\n        bVar26 = *pbVar24 == *pbVar17;\n        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n      } while (bVar26);\n      bVar30 = false;\n      bVar26 = (!bVar27 && !bVar26) == bVar27;\n      if (!bVar26) {\n        lVar19 = 0xc;\n        pbVar24 = (byte *)".rodata._ZTC";\n        pbVar17 = local_78[0];\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          bVar30 = *pbVar24 < *pbVar17;\n          bVar26 = *pbVar24 == *pbVar17;\n          pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n          pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n        } while (bVar26);\n        bVar27 = false;\n        bVar26 = (!bVar30 && !bVar26) == bVar30;\n        if (!bVar26) {\n          lVar19 = 0x11;\n          pbVar24 = (byte *)".data.rel.ro._ZTC";\n          pbVar17 = local_78[0];\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar27 = *pbVar24 < *pbVar17;\n            bVar26 = *pbVar24 == *pbVar17;\n            pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n            pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n          } while (bVar26);\n          bVar30 = false;\n          bVar26 = (!bVar27 && !bVar26) == bVar27;\n          if (!bVar26) {\n            lVar19 = 9;\n            pbVar24 = (byte *)".eh_frame";\n            pbVar17 = local_78[0];\n            do {\n              if (lVar19 == 0) break;\n              lVar19 = lVar19 + -1;\n              bVar30 = *pbVar24 < *pbVar17;\n              bVar26 = *pbVar24 == *pbVar17;\n              pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n              pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n            } while (bVar26);\n            local_136 = (!bVar30 && !bVar26) != bVar30;\n            goto LAB_0019234a;\n          }\n        }\n      }\n    }" (if "if") (parenthesized_expression "(!bVar26)" (( "(") (unary_expression "!bVar26" (! "!") (identifier "bVar26")) () ")")) (compound_statement "{\n      lVar19 = 0x11;\n      pbVar24 = (byte *)".data.rel.ro._ZTV";\n      pbVar17 = local_78[0];\n      do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar27 = *pbVar24 < *pbVar17;\n        bVar26 = *pbVar24 == *pbVar17;\n        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n      } while (bVar26);\n      bVar30 = false;\n      bVar26 = (!bVar27 && !bVar26) == bVar27;\n      if (!bVar26) {\n        lVar19 = 0xc;\n        pbVar24 = (byte *)".rodata._ZTC";\n        pbVar17 = local_78[0];\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          bVar30 = *pbVar24 < *pbVar17;\n          bVar26 = *pbVar24 == *pbVar17;\n          pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n          pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n        } while (bVar26);\n        bVar27 = false;\n        bVar26 = (!bVar30 && !bVar26) == bVar30;\n        if (!bVar26) {\n          lVar19 = 0x11;\n          pbVar24 = (byte *)".data.rel.ro._ZTC";\n          pbVar17 = local_78[0];\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar27 = *pbVar24 < *pbVar17;\n            bVar26 = *pbVar24 == *pbVar17;\n            pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n            pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n          } while (bVar26);\n          bVar30 = false;\n          bVar26 = (!bVar27 && !bVar26) == bVar27;\n          if (!bVar26) {\n            lVar19 = 9;\n            pbVar24 = (byte *)".eh_frame";\n            pbVar17 = local_78[0];\n            do {\n              if (lVar19 == 0) break;\n              lVar19 = lVar19 + -1;\n              bVar30 = *pbVar24 < *pbVar17;\n              bVar26 = *pbVar24 == *pbVar17;\n              pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n              pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n            } while (bVar26);\n            local_136 = (!bVar30 && !bVar26) != bVar30;\n            goto LAB_0019234a;\n          }\n        }\n      }\n    }" ({ "{") (expression_statement "lVar19 = 0x11;" (assignment_expression "lVar19 = 0x11" (identifier "lVar19") (= "=") (number_literal "0x11")) (; ";")) (expression_statement "pbVar24 = (byte *)".data.rel.ro._ZTV";" (assignment_expression "pbVar24 = (byte *)".data.rel.ro._ZTV"" (identifier "pbVar24") (= "=") (cast_expression "(byte *)".data.rel.ro._ZTV"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal "".data.rel.ro._ZTV"" (" """) (string_content ".data.rel.ro._ZTV") (" """)))) (; ";")) (expression_statement "pbVar17 = local_78[0];" (assignment_expression "pbVar17 = local_78[0]" (identifier "pbVar17") (= "=") (subscript_expression "local_78[0]" (identifier "local_78") ([ "[") (number_literal "0") (] "]"))) (; ";")) (do_statement "do {\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar27 = *pbVar24 < *pbVar17;\n        bVar26 = *pbVar24 == *pbVar17;\n        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n      } while (bVar26);" (do "do") (compound_statement "{\n        if (lVar19 == 0) break;\n        lVar19 = lVar19 + -1;\n        bVar27 = *pbVar24 < *pbVar17;\n        bVar26 = *pbVar24 == *pbVar17;\n        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n      }" ({ "{") (if_statement "if (lVar19 == 0) break;" (if "if") (parenthesized_expression "(lVar19 == 0)" (( "(") (binary_expression "lVar19 == 0" (identifier "lVar19") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar19 = lVar19 + -1;" (assignment_expression "lVar19 = lVar19 + -1" (identifier "lVar19") (= "=") (binary_expression "lVar19 + -1" (identifier "lVar19") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar27 = *pbVar24 < *pbVar17;" (assignment_expression "bVar27 = *pbVar24 < *pbVar17" (identifier "bVar27") (= "=") (binary_expression "*pbVar24 < *pbVar17" (pointer_expression "*pbVar24" (* "*") (identifier "pbVar24")) (< "<") (pointer_expression "*pbVar17" (* "*") (identifier "pbVar17")))) (; ";")) (expression_statement "bVar26 = *pbVar24 == *pbVar17;" (assignment_expression "bVar26 = *pbVar24 == *pbVar17" (identifier "bVar26") (= "=") (binary_expression "*pbVar24 == *pbVar17" (pointer_expression "*pbVar24" (* "*") (identifier "pbVar24")) (== "==") (pointer_expression "*pbVar17" (* "*") (identifier "pbVar17")))) (; ";")) (expression_statement "pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1" (identifier "pbVar24") (= "=") (binary_expression "pbVar24 + (ulong)bVar31 * -2 + 1" (binary_expression "pbVar24 + (ulong)bVar31 * -2" (identifier "pbVar24") (+ "+") (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar31")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;" (assignment_expression "pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1" (identifier "pbVar17") (= "=") (binary_expression "pbVar17 + (ulong)bVar31 * -2 + 1" (binary_expression "pbVar17 + (ulong)bVar31 * -2" (identifier "pbVar17") (+ "+") (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar31")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar26)" (( "(") (identifier "bVar26") () ")")) (; ";")) (expression_statement "bVar30 = false;" (assignment_expression "bVar30 = false" (identifier "bVar30") (= "=") (false "false")) (; ";")) (expression_statement "bVar26 = (!bVar27 && !bVar26) == bVar27;" (assignment_expression "bVar26 = (!bVar27 && !bVar26) == bVar27" (identifier "bVar26") (= "=") (binary_expression "(!bVar27 && !bVar26) == bVar27" (parenthesized_expression "(!bVar27 && !bVar26)" (( "(") (binary_expression "!bVar27 && !bVar26" (unary_expression "!bVar27" (! "!") (identifier "bVar27")) (&& "&&") (unary_expression "!bVar26" (! "!") (identifier "bVar26"))) () ")")) (== "==") (identifier "bVar27"))) (; ";")) (if_statement "if (!bVar26) {\n        lVar19 = 0xc;\n        pbVar24 = (byte *)".rodata._ZTC";\n        pbVar17 = local_78[0];\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          bVar30 = *pbVar24 < *pbVar17;\n          bVar26 = *pbVar24 == *pbVar17;\n          pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n          pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n        } while (bVar26);\n        bVar27 = false;\n        bVar26 = (!bVar30 && !bVar26) == bVar30;\n        if (!bVar26) {\n          lVar19 = 0x11;\n          pbVar24 = (byte *)".data.rel.ro._ZTC";\n          pbVar17 = local_78[0];\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar27 = *pbVar24 < *pbVar17;\n            bVar26 = *pbVar24 == *pbVar17;\n            pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n            pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n          } while (bVar26);\n          bVar30 = false;\n          bVar26 = (!bVar27 && !bVar26) == bVar27;\n          if (!bVar26) {\n            lVar19 = 9;\n            pbVar24 = (byte *)".eh_frame";\n            pbVar17 = local_78[0];\n            do {\n              if (lVar19 == 0) break;\n              lVar19 = lVar19 + -1;\n              bVar30 = *pbVar24 < *pbVar17;\n              bVar26 = *pbVar24 == *pbVar17;\n              pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n              pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n            } while (bVar26);\n            local_136 = (!bVar30 && !bVar26) != bVar30;\n            goto LAB_0019234a;\n          }\n        }\n      }" (if "if") (parenthesized_expression "(!bVar26)" (( "(") (unary_expression "!bVar26" (! "!") (identifier "bVar26")) () ")")) (compound_statement "{\n        lVar19 = 0xc;\n        pbVar24 = (byte *)".rodata._ZTC";\n        pbVar17 = local_78[0];\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          bVar30 = *pbVar24 < *pbVar17;\n          bVar26 = *pbVar24 == *pbVar17;\n          pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n          pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n        } while (bVar26);\n        bVar27 = false;\n        bVar26 = (!bVar30 && !bVar26) == bVar30;\n        if (!bVar26) {\n          lVar19 = 0x11;\n          pbVar24 = (byte *)".data.rel.ro._ZTC";\n          pbVar17 = local_78[0];\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar27 = *pbVar24 < *pbVar17;\n            bVar26 = *pbVar24 == *pbVar17;\n            pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n            pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n          } while (bVar26);\n          bVar30 = false;\n          bVar26 = (!bVar27 && !bVar26) == bVar27;\n          if (!bVar26) {\n            lVar19 = 9;\n            pbVar24 = (byte *)".eh_frame";\n            pbVar17 = local_78[0];\n            do {\n              if (lVar19 == 0) break;\n              lVar19 = lVar19 + -1;\n              bVar30 = *pbVar24 < *pbVar17;\n              bVar26 = *pbVar24 == *pbVar17;\n              pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n              pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n            } while (bVar26);\n            local_136 = (!bVar30 && !bVar26) != bVar30;\n            goto LAB_0019234a;\n          }\n        }\n      }" ({ "{") (expression_statement "lVar19 = 0xc;" (assignment_expression "lVar19 = 0xc" (identifier "lVar19") (= "=") (number_literal "0xc")) (; ";")) (expression_statement "pbVar24 = (byte *)".rodata._ZTC";" (assignment_expression "pbVar24 = (byte *)".rodata._ZTC"" (identifier "pbVar24") (= "=") (cast_expression "(byte *)".rodata._ZTC"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal "".rodata._ZTC"" (" """) (string_content ".rodata._ZTC") (" """)))) (; ";")) (expression_statement "pbVar17 = local_78[0];" (assignment_expression "pbVar17 = local_78[0]" (identifier "pbVar17") (= "=") (subscript_expression "local_78[0]" (identifier "local_78") ([ "[") (number_literal "0") (] "]"))) (; ";")) (do_statement "do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          bVar30 = *pbVar24 < *pbVar17;\n          bVar26 = *pbVar24 == *pbVar17;\n          pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n          pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n        } while (bVar26);" (do "do") (compound_statement "{\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          bVar30 = *pbVar24 < *pbVar17;\n          bVar26 = *pbVar24 == *pbVar17;\n          pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n          pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n        }" ({ "{") (if_statement "if (lVar19 == 0) break;" (if "if") (parenthesized_expression "(lVar19 == 0)" (( "(") (binary_expression "lVar19 == 0" (identifier "lVar19") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar19 = lVar19 + -1;" (assignment_expression "lVar19 = lVar19 + -1" (identifier "lVar19") (= "=") (binary_expression "lVar19 + -1" (identifier "lVar19") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar30 = *pbVar24 < *pbVar17;" (assignment_expression "bVar30 = *pbVar24 < *pbVar17" (identifier "bVar30") (= "=") (binary_expression "*pbVar24 < *pbVar17" (pointer_expression "*pbVar24" (* "*") (identifier "pbVar24")) (< "<") (pointer_expression "*pbVar17" (* "*") (identifier "pbVar17")))) (; ";")) (expression_statement "bVar26 = *pbVar24 == *pbVar17;" (assignment_expression "bVar26 = *pbVar24 == *pbVar17" (identifier "bVar26") (= "=") (binary_expression "*pbVar24 == *pbVar17" (pointer_expression "*pbVar24" (* "*") (identifier "pbVar24")) (== "==") (pointer_expression "*pbVar17" (* "*") (identifier "pbVar17")))) (; ";")) (expression_statement "pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1" (identifier "pbVar24") (= "=") (binary_expression "pbVar24 + (ulong)bVar31 * -2 + 1" (binary_expression "pbVar24 + (ulong)bVar31 * -2" (identifier "pbVar24") (+ "+") (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar31")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;" (assignment_expression "pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1" (identifier "pbVar17") (= "=") (binary_expression "pbVar17 + (ulong)bVar31 * -2 + 1" (binary_expression "pbVar17 + (ulong)bVar31 * -2" (identifier "pbVar17") (+ "+") (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar31")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar26)" (( "(") (identifier "bVar26") () ")")) (; ";")) (expression_statement "bVar27 = false;" (assignment_expression "bVar27 = false" (identifier "bVar27") (= "=") (false "false")) (; ";")) (expression_statement "bVar26 = (!bVar30 && !bVar26) == bVar30;" (assignment_expression "bVar26 = (!bVar30 && !bVar26) == bVar30" (identifier "bVar26") (= "=") (binary_expression "(!bVar30 && !bVar26) == bVar30" (parenthesized_expression "(!bVar30 && !bVar26)" (( "(") (binary_expression "!bVar30 && !bVar26" (unary_expression "!bVar30" (! "!") (identifier "bVar30")) (&& "&&") (unary_expression "!bVar26" (! "!") (identifier "bVar26"))) () ")")) (== "==") (identifier "bVar30"))) (; ";")) (if_statement "if (!bVar26) {\n          lVar19 = 0x11;\n          pbVar24 = (byte *)".data.rel.ro._ZTC";\n          pbVar17 = local_78[0];\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar27 = *pbVar24 < *pbVar17;\n            bVar26 = *pbVar24 == *pbVar17;\n            pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n            pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n          } while (bVar26);\n          bVar30 = false;\n          bVar26 = (!bVar27 && !bVar26) == bVar27;\n          if (!bVar26) {\n            lVar19 = 9;\n            pbVar24 = (byte *)".eh_frame";\n            pbVar17 = local_78[0];\n            do {\n              if (lVar19 == 0) break;\n              lVar19 = lVar19 + -1;\n              bVar30 = *pbVar24 < *pbVar17;\n              bVar26 = *pbVar24 == *pbVar17;\n              pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n              pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n            } while (bVar26);\n            local_136 = (!bVar30 && !bVar26) != bVar30;\n            goto LAB_0019234a;\n          }\n        }" (if "if") (parenthesized_expression "(!bVar26)" (( "(") (unary_expression "!bVar26" (! "!") (identifier "bVar26")) () ")")) (compound_statement "{\n          lVar19 = 0x11;\n          pbVar24 = (byte *)".data.rel.ro._ZTC";\n          pbVar17 = local_78[0];\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar27 = *pbVar24 < *pbVar17;\n            bVar26 = *pbVar24 == *pbVar17;\n            pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n            pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n          } while (bVar26);\n          bVar30 = false;\n          bVar26 = (!bVar27 && !bVar26) == bVar27;\n          if (!bVar26) {\n            lVar19 = 9;\n            pbVar24 = (byte *)".eh_frame";\n            pbVar17 = local_78[0];\n            do {\n              if (lVar19 == 0) break;\n              lVar19 = lVar19 + -1;\n              bVar30 = *pbVar24 < *pbVar17;\n              bVar26 = *pbVar24 == *pbVar17;\n              pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n              pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n            } while (bVar26);\n            local_136 = (!bVar30 && !bVar26) != bVar30;\n            goto LAB_0019234a;\n          }\n        }" ({ "{") (expression_statement "lVar19 = 0x11;" (assignment_expression "lVar19 = 0x11" (identifier "lVar19") (= "=") (number_literal "0x11")) (; ";")) (expression_statement "pbVar24 = (byte *)".data.rel.ro._ZTC";" (assignment_expression "pbVar24 = (byte *)".data.rel.ro._ZTC"" (identifier "pbVar24") (= "=") (cast_expression "(byte *)".data.rel.ro._ZTC"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal "".data.rel.ro._ZTC"" (" """) (string_content ".data.rel.ro._ZTC") (" """)))) (; ";")) (expression_statement "pbVar17 = local_78[0];" (assignment_expression "pbVar17 = local_78[0]" (identifier "pbVar17") (= "=") (subscript_expression "local_78[0]" (identifier "local_78") ([ "[") (number_literal "0") (] "]"))) (; ";")) (do_statement "do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar27 = *pbVar24 < *pbVar17;\n            bVar26 = *pbVar24 == *pbVar17;\n            pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n            pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n          } while (bVar26);" (do "do") (compound_statement "{\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar27 = *pbVar24 < *pbVar17;\n            bVar26 = *pbVar24 == *pbVar17;\n            pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n            pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n          }" ({ "{") (if_statement "if (lVar19 == 0) break;" (if "if") (parenthesized_expression "(lVar19 == 0)" (( "(") (binary_expression "lVar19 == 0" (identifier "lVar19") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar19 = lVar19 + -1;" (assignment_expression "lVar19 = lVar19 + -1" (identifier "lVar19") (= "=") (binary_expression "lVar19 + -1" (identifier "lVar19") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar27 = *pbVar24 < *pbVar17;" (assignment_expression "bVar27 = *pbVar24 < *pbVar17" (identifier "bVar27") (= "=") (binary_expression "*pbVar24 < *pbVar17" (pointer_expression "*pbVar24" (* "*") (identifier "pbVar24")) (< "<") (pointer_expression "*pbVar17" (* "*") (identifier "pbVar17")))) (; ";")) (expression_statement "bVar26 = *pbVar24 == *pbVar17;" (assignment_expression "bVar26 = *pbVar24 == *pbVar17" (identifier "bVar26") (= "=") (binary_expression "*pbVar24 == *pbVar17" (pointer_expression "*pbVar24" (* "*") (identifier "pbVar24")) (== "==") (pointer_expression "*pbVar17" (* "*") (identifier "pbVar17")))) (; ";")) (expression_statement "pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1" (identifier "pbVar24") (= "=") (binary_expression "pbVar24 + (ulong)bVar31 * -2 + 1" (binary_expression "pbVar24 + (ulong)bVar31 * -2" (identifier "pbVar24") (+ "+") (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar31")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;" (assignment_expression "pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1" (identifier "pbVar17") (= "=") (binary_expression "pbVar17 + (ulong)bVar31 * -2 + 1" (binary_expression "pbVar17 + (ulong)bVar31 * -2" (identifier "pbVar17") (+ "+") (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar31")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar26)" (( "(") (identifier "bVar26") () ")")) (; ";")) (expression_statement "bVar30 = false;" (assignment_expression "bVar30 = false" (identifier "bVar30") (= "=") (false "false")) (; ";")) (expression_statement "bVar26 = (!bVar27 && !bVar26) == bVar27;" (assignment_expression "bVar26 = (!bVar27 && !bVar26) == bVar27" (identifier "bVar26") (= "=") (binary_expression "(!bVar27 && !bVar26) == bVar27" (parenthesized_expression "(!bVar27 && !bVar26)" (( "(") (binary_expression "!bVar27 && !bVar26" (unary_expression "!bVar27" (! "!") (identifier "bVar27")) (&& "&&") (unary_expression "!bVar26" (! "!") (identifier "bVar26"))) () ")")) (== "==") (identifier "bVar27"))) (; ";")) (if_statement "if (!bVar26) {\n            lVar19 = 9;\n            pbVar24 = (byte *)".eh_frame";\n            pbVar17 = local_78[0];\n            do {\n              if (lVar19 == 0) break;\n              lVar19 = lVar19 + -1;\n              bVar30 = *pbVar24 < *pbVar17;\n              bVar26 = *pbVar24 == *pbVar17;\n              pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n              pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n            } while (bVar26);\n            local_136 = (!bVar30 && !bVar26) != bVar30;\n            goto LAB_0019234a;\n          }" (if "if") (parenthesized_expression "(!bVar26)" (( "(") (unary_expression "!bVar26" (! "!") (identifier "bVar26")) () ")")) (compound_statement "{\n            lVar19 = 9;\n            pbVar24 = (byte *)".eh_frame";\n            pbVar17 = local_78[0];\n            do {\n              if (lVar19 == 0) break;\n              lVar19 = lVar19 + -1;\n              bVar30 = *pbVar24 < *pbVar17;\n              bVar26 = *pbVar24 == *pbVar17;\n              pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n              pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n            } while (bVar26);\n            local_136 = (!bVar30 && !bVar26) != bVar30;\n            goto LAB_0019234a;\n          }" ({ "{") (expression_statement "lVar19 = 9;" (assignment_expression "lVar19 = 9" (identifier "lVar19") (= "=") (number_literal "9")) (; ";")) (expression_statement "pbVar24 = (byte *)".eh_frame";" (assignment_expression "pbVar24 = (byte *)".eh_frame"" (identifier "pbVar24") (= "=") (cast_expression "(byte *)".eh_frame"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal "".eh_frame"" (" """) (string_content ".eh_frame") (" """)))) (; ";")) (expression_statement "pbVar17 = local_78[0];" (assignment_expression "pbVar17 = local_78[0]" (identifier "pbVar17") (= "=") (subscript_expression "local_78[0]" (identifier "local_78") ([ "[") (number_literal "0") (] "]"))) (; ";")) (do_statement "do {\n              if (lVar19 == 0) break;\n              lVar19 = lVar19 + -1;\n              bVar30 = *pbVar24 < *pbVar17;\n              bVar26 = *pbVar24 == *pbVar17;\n              pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n              pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n            } while (bVar26);" (do "do") (compound_statement "{\n              if (lVar19 == 0) break;\n              lVar19 = lVar19 + -1;\n              bVar30 = *pbVar24 < *pbVar17;\n              bVar26 = *pbVar24 == *pbVar17;\n              pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;\n              pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;\n            }" ({ "{") (if_statement "if (lVar19 == 0) break;" (if "if") (parenthesized_expression "(lVar19 == 0)" (( "(") (binary_expression "lVar19 == 0" (identifier "lVar19") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar19 = lVar19 + -1;" (assignment_expression "lVar19 = lVar19 + -1" (identifier "lVar19") (= "=") (binary_expression "lVar19 + -1" (identifier "lVar19") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar30 = *pbVar24 < *pbVar17;" (assignment_expression "bVar30 = *pbVar24 < *pbVar17" (identifier "bVar30") (= "=") (binary_expression "*pbVar24 < *pbVar17" (pointer_expression "*pbVar24" (* "*") (identifier "pbVar24")) (< "<") (pointer_expression "*pbVar17" (* "*") (identifier "pbVar17")))) (; ";")) (expression_statement "bVar26 = *pbVar24 == *pbVar17;" (assignment_expression "bVar26 = *pbVar24 == *pbVar17" (identifier "bVar26") (= "=") (binary_expression "*pbVar24 == *pbVar17" (pointer_expression "*pbVar24" (* "*") (identifier "pbVar24")) (== "==") (pointer_expression "*pbVar17" (* "*") (identifier "pbVar17")))) (; ";")) (expression_statement "pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1" (identifier "pbVar24") (= "=") (binary_expression "pbVar24 + (ulong)bVar31 * -2 + 1" (binary_expression "pbVar24 + (ulong)bVar31 * -2" (identifier "pbVar24") (+ "+") (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar31")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;" (assignment_expression "pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1" (identifier "pbVar17") (= "=") (binary_expression "pbVar17 + (ulong)bVar31 * -2 + 1" (binary_expression "pbVar17 + (ulong)bVar31 * -2" (identifier "pbVar17") (+ "+") (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar31")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar26)" (( "(") (identifier "bVar26") () ")")) (; ";")) (expression_statement "local_136 = (!bVar30 && !bVar26) != bVar30;" (assignment_expression "local_136 = (!bVar30 && !bVar26) != bVar30" (identifier "local_136") (= "=") (binary_expression "(!bVar30 && !bVar26) != bVar30" (parenthesized_expression "(!bVar30 && !bVar26)" (( "(") (binary_expression "!bVar30 && !bVar26" (unary_expression "!bVar30" (! "!") (identifier "bVar30")) (&& "&&") (unary_expression "!bVar26" (! "!") (identifier "bVar26"))) () ")")) (!= "!=") (identifier "bVar30"))) (; ";")) (goto_statement "goto LAB_0019234a;" (goto "goto") (statement_identifier "LAB_0019234a") (; ";")) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (expression_statement "local_136 = '\0';" (assignment_expression "local_136 = '\0'" (identifier "local_136") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (labeled_statement "LAB_0019234a:\n  if (param_6 != 0) {\n    local_158 = (byte *)0x0;\n    local_120 = 0;\n    local_128 = param_5;\n    do {\n      uVar3 = local_128[1];\n      uVar4 = local_128[2];\n      uVar22 = uVar3 >> 8;\n      uVar7 = uVar3 & 0xff;\n      if (uVar22 < param_7) {\n        if (param_8 == 0) {\n                    \n          FUN_001e9890("../../gold/gc.h",0xea,"gc_process_relocs");\n        }\n        lVar19 = (ulong)(uVar22 << 4) + param_8;\n        uVar2 = *(ushort *)(lVar19 + 0xe);\n        uVar10 = (uint)uVar2;\n        if (uVar2 < 0xff00) {\nLAB_001924f6:\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (bVar28) {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = param_3;\n            FUN_001bdee0(local_178,&local_58);\n            bVar26 = true;\n            if ((*(byte *)(lVar19 + 0xc) & 0xf) == 3) goto LAB_0019253e;\nLAB_001923f0:\n            local_58 = (byte *)0x0;\n            FUN_001be560(local_170,&local_58);\n            goto LAB_0019240b;\n          }\n        }\n        else {\n          if (uVar2 == 0xffff) {\n            lVar14 = *(long *)(param_3 + 0x40);\n            if (lVar14 == 0) {\n              lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3);\n              *(long *)(param_3 + 0x40) = lVar14;\n            }\n            uVar10 = FUN_0022a020(lVar14,param_3,uVar22);\n            goto LAB_001924f6;\n          }\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (!bVar28) goto LAB_00192480;\n          local_58 = (byte *)0x0;\n          local_50 = local_50 & 0xffffffff00000000;\n                    \n          FUN_001bdee0(local_178,&local_58);\n          bVar26 = false;\n          if ((*(byte *)(lVar19 + 0xc) & 0xf) != 3) goto LAB_001923f0;\nLAB_0019253e:\n          local_58 = (byte *)0xffffffffffffffff;\n          FUN_001be560(local_170,&local_58);\nLAB_0019240b:\n          local_58 = pbVar24;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_a8 = (byte *)((ulong)local_a8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_a8);\n          if (!bVar26) goto LAB_00192480;\n        }\n        if (((local_136 != '\0') && ((*(byte *)(lVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar7 || ((0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) == 0)))) {\n          local_c0 = (uint)*(ushort *)(lVar19 + 0xe);\n          local_108 = *(long *)(param_1 + 0x298) + 0x68;\n          local_c8 = param_3;\n          FUN_001bcb90(local_108,&local_c8,&local_108,1);\n        }\n        pbVar24 = param_3;\n        if (param_4 != uVar10) {\nLAB_001925a8:\n          if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    \n            FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n          }\n          if (*(char *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809) != '\0') {\n            lVar14 = *(long *)(param_1 + 0x290);\n            lVar19 = lVar14 + 0x28;\n            lVar11 = lVar19;\n            lVar12 = lVar19;\n            lVar15 = *(long *)(lVar14 + 0x30);\n            local_b8 = param_3;\n            local_b0 = param_4;\n            local_a8 = pbVar24;\n            local_a0 = uVar10;\n            if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192660:\n              local_e8 = &local_b8;\n              lVar12 = FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a);\n            }\n            else {\n              do {\n                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }\n                lVar11 = lVar12;\n                lVar15 = *(long *)(lVar12 + 0x10);\n              } while (*(long *)(lVar12 + 0x10) != 0);\nLAB_0019263a:\n              if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))\n              goto LAB_00192660;\n            }\n            local_f0 = lVar12 + 0x30;\n            FUN_001bcaf0(local_f0,&local_a8,&local_f0,1);\n            plVar1 = *(long **)(PTR_DAT_004ba7c8 + 0x18);\n            if (plVar1 == (long *)0x0) {\n                    \n              FUN_001e9890("../../gold/parameters.h",0x73,"sized_target");\n            }\n            (**(code **)(*plVar1 + 0x208))(plVar1,param_1,param_3,param_4,pbVar24,uVar10,local_134);\n            if (local_158 != (byte *)0x0) {\n              lVar19 = *(long *)(param_1 + 0x290);\n              local_58 = local_48;\n              sVar13 = strlen((char *)local_158);\n              FUN_001bc4c0(&local_58,local_158,local_158 + sVar13);\n              lVar19 = FUN_001be060(lVar19 + 0x88,&local_58);\n              if (local_58 != local_48) {\n                FUN_00338a40();\n              }\n              lVar14 = *(long *)(param_1 + 0x290);\n              if (lVar19 != lVar14 + 0x90) {\n                lVar11 = lVar14 + 0x28;\n                local_50 = CONCAT44(local_50._4_4_,param_4);\n                lVar12 = lVar11;\n                lVar15 = lVar11;\n                lVar8 = *(long *)(lVar14 + 0x30);\n                if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }\n                else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }\n                for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;\n                    puVar5 = (undefined8 *)*puVar5) {\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (uVar22 < *(uint *)(param_3 + 0x120)) {\n          local_a8 = (byte *)0x0;\nLAB_00192adb:\n                    \n          FUN_001e9890("../../gold/gc.h",0x11c,"gc_process_relocs");\n        }\n        uVar23 = (ulong)(uVar22 - *(uint *)(param_3 + 0x120));\n        if ((ulong)(*(long *)(param_3 + 0x138) - *(long *)(param_3 + 0x130) >> 3) <= uVar23) {\n                    \n          FUN_001e9890("../../gold/object.h",0x8ad,"global_symbol");\n        }\n        local_a8 = *(byte **)(*(long *)(param_3 + 0x130) + uVar23 * 8);\n        if (local_a8 == (byte *)0x0) goto LAB_00192adb;\n        if ((local_a8[0x3a] & 0x10) != 0) {\n          local_a8 = (byte *)FUN_002ddad0(param_1,local_a8);\n        }\n        if ((local_a8[0x3a] & 7) == 0) {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          pbVar24 = *(byte **)(local_a8 + 0x10);\n          local_134 = uVar4 + local_150;\n          if ((pbVar24[0x3c] & 1) == 0) {\n            uVar10 = *(uint *)(local_a8 + 0x18);\n            bVar18 = local_a8[0x3b] >> 5 & 1;\n            uVar25 = (local_a8[0x38] & 0xf) < 2;\n            uVar29 = (local_a8[0x38] & 0xf) == 2;\n            if ((bool)uVar29) {\n              uVar25 = 0;\n              uVar29 = local_136 == '\0';\n              if (!(bool)uVar29) {\n                uVar25 = false;\n                uVar29 = bVar18 == 0;\n                if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }\n                local_100 = *(long *)(param_1 + 0x298) + 0x68;\n                local_d8 = pbVar24;\n                local_d0 = uVar10;\n                    \n                FUN_001bcb90(local_100,&local_d8,&local_100,1);\n              }\n            }\n          }\n          else {\n            bVar18 = 0;\n            uVar10 = 0;\n            uVar25 = 0;\n            pbVar24 = (byte *)0x0;\n            uVar29 = 1;\n          }\n        }\n        else {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          bVar18 = 0;\n          uVar10 = 0;\n          uVar25 = 0;\n          pbVar24 = (byte *)0x0;\n          uVar29 = 1;\n          local_134 = uVar4 + local_150;\n        }\nLAB_00192930:\n        pbVar17 = *(byte **)local_a8;\n        lVar19 = 8;\n        pbVar20 = (byte *)"__start_";\n        pbVar21 = pbVar17;\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          uVar25 = *pbVar20 < *pbVar21;\n          uVar29 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n          pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n        } while ((bool)uVar29);\n        bVar26 = false;\n        bVar30 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;\n        if (bVar30) {\n          pbVar17 = pbVar17 + 8;\n        }\n        else {\n          lVar19 = 7;\n          pbVar20 = (byte *)"__stop_";\n          pbVar21 = pbVar17;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar21;\n            bVar30 = *pbVar20 == *pbVar21;\n            pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n            pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n          } while (bVar30);\n          pbVar17 = pbVar17 + 7;\n          if ((!bVar26 && !bVar30) != bVar26) {\n            pbVar17 = local_158;\n          }\n        }\n        local_158 = pbVar17;\n        if (bVar28) {\n          if (bVar18 == 0) {\n            local_58 = (byte *)0x0;\n            local_50 = (ulong)local_50._4_4_ << 0x20;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          else {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = pbVar24;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          puVar5 = *(undefined8 **)(local_170 + 8);\n          if (puVar5 == *(undefined8 **)(local_170 + 0x10)) {\n            FUN_001bbf50(local_170,puVar5,&local_a8);\n          }\n          else {\n            *puVar5 = local_a8;\n            *(undefined8 **)(local_170 + 8) = puVar5 + 1;\n          }\n          local_58 = (byte *)(ulong)local_150;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_b8 = (byte *)((ulong)local_b8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_b8);\n        }\n        if (bVar18 != 0) goto LAB_001925a8;\n      }\nLAB_00192480:\n      local_120 = local_120 + 1;\n      local_128 = local_128 + 3;\n    } while (param_6 != local_120);\n  }" (statement_identifier "LAB_0019234a") (: ":") (if_statement "if (param_6 != 0) {\n    local_158 = (byte *)0x0;\n    local_120 = 0;\n    local_128 = param_5;\n    do {\n      uVar3 = local_128[1];\n      uVar4 = local_128[2];\n      uVar22 = uVar3 >> 8;\n      uVar7 = uVar3 & 0xff;\n      if (uVar22 < param_7) {\n        if (param_8 == 0) {\n                    \n          FUN_001e9890("../../gold/gc.h",0xea,"gc_process_relocs");\n        }\n        lVar19 = (ulong)(uVar22 << 4) + param_8;\n        uVar2 = *(ushort *)(lVar19 + 0xe);\n        uVar10 = (uint)uVar2;\n        if (uVar2 < 0xff00) {\nLAB_001924f6:\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (bVar28) {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = param_3;\n            FUN_001bdee0(local_178,&local_58);\n            bVar26 = true;\n            if ((*(byte *)(lVar19 + 0xc) & 0xf) == 3) goto LAB_0019253e;\nLAB_001923f0:\n            local_58 = (byte *)0x0;\n            FUN_001be560(local_170,&local_58);\n            goto LAB_0019240b;\n          }\n        }\n        else {\n          if (uVar2 == 0xffff) {\n            lVar14 = *(long *)(param_3 + 0x40);\n            if (lVar14 == 0) {\n              lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3);\n              *(long *)(param_3 + 0x40) = lVar14;\n            }\n            uVar10 = FUN_0022a020(lVar14,param_3,uVar22);\n            goto LAB_001924f6;\n          }\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (!bVar28) goto LAB_00192480;\n          local_58 = (byte *)0x0;\n          local_50 = local_50 & 0xffffffff00000000;\n                    \n          FUN_001bdee0(local_178,&local_58);\n          bVar26 = false;\n          if ((*(byte *)(lVar19 + 0xc) & 0xf) != 3) goto LAB_001923f0;\nLAB_0019253e:\n          local_58 = (byte *)0xffffffffffffffff;\n          FUN_001be560(local_170,&local_58);\nLAB_0019240b:\n          local_58 = pbVar24;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_a8 = (byte *)((ulong)local_a8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_a8);\n          if (!bVar26) goto LAB_00192480;\n        }\n        if (((local_136 != '\0') && ((*(byte *)(lVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar7 || ((0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) == 0)))) {\n          local_c0 = (uint)*(ushort *)(lVar19 + 0xe);\n          local_108 = *(long *)(param_1 + 0x298) + 0x68;\n          local_c8 = param_3;\n          FUN_001bcb90(local_108,&local_c8,&local_108,1);\n        }\n        pbVar24 = param_3;\n        if (param_4 != uVar10) {\nLAB_001925a8:\n          if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    \n            FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n          }\n          if (*(char *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809) != '\0') {\n            lVar14 = *(long *)(param_1 + 0x290);\n            lVar19 = lVar14 + 0x28;\n            lVar11 = lVar19;\n            lVar12 = lVar19;\n            lVar15 = *(long *)(lVar14 + 0x30);\n            local_b8 = param_3;\n            local_b0 = param_4;\n            local_a8 = pbVar24;\n            local_a0 = uVar10;\n            if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192660:\n              local_e8 = &local_b8;\n              lVar12 = FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a);\n            }\n            else {\n              do {\n                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }\n                lVar11 = lVar12;\n                lVar15 = *(long *)(lVar12 + 0x10);\n              } while (*(long *)(lVar12 + 0x10) != 0);\nLAB_0019263a:\n              if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))\n              goto LAB_00192660;\n            }\n            local_f0 = lVar12 + 0x30;\n            FUN_001bcaf0(local_f0,&local_a8,&local_f0,1);\n            plVar1 = *(long **)(PTR_DAT_004ba7c8 + 0x18);\n            if (plVar1 == (long *)0x0) {\n                    \n              FUN_001e9890("../../gold/parameters.h",0x73,"sized_target");\n            }\n            (**(code **)(*plVar1 + 0x208))(plVar1,param_1,param_3,param_4,pbVar24,uVar10,local_134);\n            if (local_158 != (byte *)0x0) {\n              lVar19 = *(long *)(param_1 + 0x290);\n              local_58 = local_48;\n              sVar13 = strlen((char *)local_158);\n              FUN_001bc4c0(&local_58,local_158,local_158 + sVar13);\n              lVar19 = FUN_001be060(lVar19 + 0x88,&local_58);\n              if (local_58 != local_48) {\n                FUN_00338a40();\n              }\n              lVar14 = *(long *)(param_1 + 0x290);\n              if (lVar19 != lVar14 + 0x90) {\n                lVar11 = lVar14 + 0x28;\n                local_50 = CONCAT44(local_50._4_4_,param_4);\n                lVar12 = lVar11;\n                lVar15 = lVar11;\n                lVar8 = *(long *)(lVar14 + 0x30);\n                if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }\n                else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }\n                for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;\n                    puVar5 = (undefined8 *)*puVar5) {\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (uVar22 < *(uint *)(param_3 + 0x120)) {\n          local_a8 = (byte *)0x0;\nLAB_00192adb:\n                    \n          FUN_001e9890("../../gold/gc.h",0x11c,"gc_process_relocs");\n        }\n        uVar23 = (ulong)(uVar22 - *(uint *)(param_3 + 0x120));\n        if ((ulong)(*(long *)(param_3 + 0x138) - *(long *)(param_3 + 0x130) >> 3) <= uVar23) {\n                    \n          FUN_001e9890("../../gold/object.h",0x8ad,"global_symbol");\n        }\n        local_a8 = *(byte **)(*(long *)(param_3 + 0x130) + uVar23 * 8);\n        if (local_a8 == (byte *)0x0) goto LAB_00192adb;\n        if ((local_a8[0x3a] & 0x10) != 0) {\n          local_a8 = (byte *)FUN_002ddad0(param_1,local_a8);\n        }\n        if ((local_a8[0x3a] & 7) == 0) {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          pbVar24 = *(byte **)(local_a8 + 0x10);\n          local_134 = uVar4 + local_150;\n          if ((pbVar24[0x3c] & 1) == 0) {\n            uVar10 = *(uint *)(local_a8 + 0x18);\n            bVar18 = local_a8[0x3b] >> 5 & 1;\n            uVar25 = (local_a8[0x38] & 0xf) < 2;\n            uVar29 = (local_a8[0x38] & 0xf) == 2;\n            if ((bool)uVar29) {\n              uVar25 = 0;\n              uVar29 = local_136 == '\0';\n              if (!(bool)uVar29) {\n                uVar25 = false;\n                uVar29 = bVar18 == 0;\n                if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }\n                local_100 = *(long *)(param_1 + 0x298) + 0x68;\n                local_d8 = pbVar24;\n                local_d0 = uVar10;\n                    \n                FUN_001bcb90(local_100,&local_d8,&local_100,1);\n              }\n            }\n          }\n          else {\n            bVar18 = 0;\n            uVar10 = 0;\n            uVar25 = 0;\n            pbVar24 = (byte *)0x0;\n            uVar29 = 1;\n          }\n        }\n        else {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          bVar18 = 0;\n          uVar10 = 0;\n          uVar25 = 0;\n          pbVar24 = (byte *)0x0;\n          uVar29 = 1;\n          local_134 = uVar4 + local_150;\n        }\nLAB_00192930:\n        pbVar17 = *(byte **)local_a8;\n        lVar19 = 8;\n        pbVar20 = (byte *)"__start_";\n        pbVar21 = pbVar17;\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          uVar25 = *pbVar20 < *pbVar21;\n          uVar29 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n          pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n        } while ((bool)uVar29);\n        bVar26 = false;\n        bVar30 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;\n        if (bVar30) {\n          pbVar17 = pbVar17 + 8;\n        }\n        else {\n          lVar19 = 7;\n          pbVar20 = (byte *)"__stop_";\n          pbVar21 = pbVar17;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar21;\n            bVar30 = *pbVar20 == *pbVar21;\n            pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n            pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n          } while (bVar30);\n          pbVar17 = pbVar17 + 7;\n          if ((!bVar26 && !bVar30) != bVar26) {\n            pbVar17 = local_158;\n          }\n        }\n        local_158 = pbVar17;\n        if (bVar28) {\n          if (bVar18 == 0) {\n            local_58 = (byte *)0x0;\n            local_50 = (ulong)local_50._4_4_ << 0x20;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          else {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = pbVar24;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          puVar5 = *(undefined8 **)(local_170 + 8);\n          if (puVar5 == *(undefined8 **)(local_170 + 0x10)) {\n            FUN_001bbf50(local_170,puVar5,&local_a8);\n          }\n          else {\n            *puVar5 = local_a8;\n            *(undefined8 **)(local_170 + 8) = puVar5 + 1;\n          }\n          local_58 = (byte *)(ulong)local_150;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_b8 = (byte *)((ulong)local_b8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_b8);\n        }\n        if (bVar18 != 0) goto LAB_001925a8;\n      }\nLAB_00192480:\n      local_120 = local_120 + 1;\n      local_128 = local_128 + 3;\n    } while (param_6 != local_120);\n  }" (if "if") (parenthesized_expression "(param_6 != 0)" (( "(") (binary_expression "param_6 != 0" (identifier "param_6") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    local_158 = (byte *)0x0;\n    local_120 = 0;\n    local_128 = param_5;\n    do {\n      uVar3 = local_128[1];\n      uVar4 = local_128[2];\n      uVar22 = uVar3 >> 8;\n      uVar7 = uVar3 & 0xff;\n      if (uVar22 < param_7) {\n        if (param_8 == 0) {\n                    \n          FUN_001e9890("../../gold/gc.h",0xea,"gc_process_relocs");\n        }\n        lVar19 = (ulong)(uVar22 << 4) + param_8;\n        uVar2 = *(ushort *)(lVar19 + 0xe);\n        uVar10 = (uint)uVar2;\n        if (uVar2 < 0xff00) {\nLAB_001924f6:\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (bVar28) {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = param_3;\n            FUN_001bdee0(local_178,&local_58);\n            bVar26 = true;\n            if ((*(byte *)(lVar19 + 0xc) & 0xf) == 3) goto LAB_0019253e;\nLAB_001923f0:\n            local_58 = (byte *)0x0;\n            FUN_001be560(local_170,&local_58);\n            goto LAB_0019240b;\n          }\n        }\n        else {\n          if (uVar2 == 0xffff) {\n            lVar14 = *(long *)(param_3 + 0x40);\n            if (lVar14 == 0) {\n              lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3);\n              *(long *)(param_3 + 0x40) = lVar14;\n            }\n            uVar10 = FUN_0022a020(lVar14,param_3,uVar22);\n            goto LAB_001924f6;\n          }\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (!bVar28) goto LAB_00192480;\n          local_58 = (byte *)0x0;\n          local_50 = local_50 & 0xffffffff00000000;\n                    \n          FUN_001bdee0(local_178,&local_58);\n          bVar26 = false;\n          if ((*(byte *)(lVar19 + 0xc) & 0xf) != 3) goto LAB_001923f0;\nLAB_0019253e:\n          local_58 = (byte *)0xffffffffffffffff;\n          FUN_001be560(local_170,&local_58);\nLAB_0019240b:\n          local_58 = pbVar24;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_a8 = (byte *)((ulong)local_a8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_a8);\n          if (!bVar26) goto LAB_00192480;\n        }\n        if (((local_136 != '\0') && ((*(byte *)(lVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar7 || ((0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) == 0)))) {\n          local_c0 = (uint)*(ushort *)(lVar19 + 0xe);\n          local_108 = *(long *)(param_1 + 0x298) + 0x68;\n          local_c8 = param_3;\n          FUN_001bcb90(local_108,&local_c8,&local_108,1);\n        }\n        pbVar24 = param_3;\n        if (param_4 != uVar10) {\nLAB_001925a8:\n          if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    \n            FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n          }\n          if (*(char *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809) != '\0') {\n            lVar14 = *(long *)(param_1 + 0x290);\n            lVar19 = lVar14 + 0x28;\n            lVar11 = lVar19;\n            lVar12 = lVar19;\n            lVar15 = *(long *)(lVar14 + 0x30);\n            local_b8 = param_3;\n            local_b0 = param_4;\n            local_a8 = pbVar24;\n            local_a0 = uVar10;\n            if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192660:\n              local_e8 = &local_b8;\n              lVar12 = FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a);\n            }\n            else {\n              do {\n                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }\n                lVar11 = lVar12;\n                lVar15 = *(long *)(lVar12 + 0x10);\n              } while (*(long *)(lVar12 + 0x10) != 0);\nLAB_0019263a:\n              if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))\n              goto LAB_00192660;\n            }\n            local_f0 = lVar12 + 0x30;\n            FUN_001bcaf0(local_f0,&local_a8,&local_f0,1);\n            plVar1 = *(long **)(PTR_DAT_004ba7c8 + 0x18);\n            if (plVar1 == (long *)0x0) {\n                    \n              FUN_001e9890("../../gold/parameters.h",0x73,"sized_target");\n            }\n            (**(code **)(*plVar1 + 0x208))(plVar1,param_1,param_3,param_4,pbVar24,uVar10,local_134);\n            if (local_158 != (byte *)0x0) {\n              lVar19 = *(long *)(param_1 + 0x290);\n              local_58 = local_48;\n              sVar13 = strlen((char *)local_158);\n              FUN_001bc4c0(&local_58,local_158,local_158 + sVar13);\n              lVar19 = FUN_001be060(lVar19 + 0x88,&local_58);\n              if (local_58 != local_48) {\n                FUN_00338a40();\n              }\n              lVar14 = *(long *)(param_1 + 0x290);\n              if (lVar19 != lVar14 + 0x90) {\n                lVar11 = lVar14 + 0x28;\n                local_50 = CONCAT44(local_50._4_4_,param_4);\n                lVar12 = lVar11;\n                lVar15 = lVar11;\n                lVar8 = *(long *)(lVar14 + 0x30);\n                if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }\n                else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }\n                for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;\n                    puVar5 = (undefined8 *)*puVar5) {\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (uVar22 < *(uint *)(param_3 + 0x120)) {\n          local_a8 = (byte *)0x0;\nLAB_00192adb:\n                    \n          FUN_001e9890("../../gold/gc.h",0x11c,"gc_process_relocs");\n        }\n        uVar23 = (ulong)(uVar22 - *(uint *)(param_3 + 0x120));\n        if ((ulong)(*(long *)(param_3 + 0x138) - *(long *)(param_3 + 0x130) >> 3) <= uVar23) {\n                    \n          FUN_001e9890("../../gold/object.h",0x8ad,"global_symbol");\n        }\n        local_a8 = *(byte **)(*(long *)(param_3 + 0x130) + uVar23 * 8);\n        if (local_a8 == (byte *)0x0) goto LAB_00192adb;\n        if ((local_a8[0x3a] & 0x10) != 0) {\n          local_a8 = (byte *)FUN_002ddad0(param_1,local_a8);\n        }\n        if ((local_a8[0x3a] & 7) == 0) {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          pbVar24 = *(byte **)(local_a8 + 0x10);\n          local_134 = uVar4 + local_150;\n          if ((pbVar24[0x3c] & 1) == 0) {\n            uVar10 = *(uint *)(local_a8 + 0x18);\n            bVar18 = local_a8[0x3b] >> 5 & 1;\n            uVar25 = (local_a8[0x38] & 0xf) < 2;\n            uVar29 = (local_a8[0x38] & 0xf) == 2;\n            if ((bool)uVar29) {\n              uVar25 = 0;\n              uVar29 = local_136 == '\0';\n              if (!(bool)uVar29) {\n                uVar25 = false;\n                uVar29 = bVar18 == 0;\n                if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }\n                local_100 = *(long *)(param_1 + 0x298) + 0x68;\n                local_d8 = pbVar24;\n                local_d0 = uVar10;\n                    \n                FUN_001bcb90(local_100,&local_d8,&local_100,1);\n              }\n            }\n          }\n          else {\n            bVar18 = 0;\n            uVar10 = 0;\n            uVar25 = 0;\n            pbVar24 = (byte *)0x0;\n            uVar29 = 1;\n          }\n        }\n        else {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          bVar18 = 0;\n          uVar10 = 0;\n          uVar25 = 0;\n          pbVar24 = (byte *)0x0;\n          uVar29 = 1;\n          local_134 = uVar4 + local_150;\n        }\nLAB_00192930:\n        pbVar17 = *(byte **)local_a8;\n        lVar19 = 8;\n        pbVar20 = (byte *)"__start_";\n        pbVar21 = pbVar17;\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          uVar25 = *pbVar20 < *pbVar21;\n          uVar29 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n          pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n        } while ((bool)uVar29);\n        bVar26 = false;\n        bVar30 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;\n        if (bVar30) {\n          pbVar17 = pbVar17 + 8;\n        }\n        else {\n          lVar19 = 7;\n          pbVar20 = (byte *)"__stop_";\n          pbVar21 = pbVar17;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar21;\n            bVar30 = *pbVar20 == *pbVar21;\n            pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n            pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n          } while (bVar30);\n          pbVar17 = pbVar17 + 7;\n          if ((!bVar26 && !bVar30) != bVar26) {\n            pbVar17 = local_158;\n          }\n        }\n        local_158 = pbVar17;\n        if (bVar28) {\n          if (bVar18 == 0) {\n            local_58 = (byte *)0x0;\n            local_50 = (ulong)local_50._4_4_ << 0x20;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          else {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = pbVar24;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          puVar5 = *(undefined8 **)(local_170 + 8);\n          if (puVar5 == *(undefined8 **)(local_170 + 0x10)) {\n            FUN_001bbf50(local_170,puVar5,&local_a8);\n          }\n          else {\n            *puVar5 = local_a8;\n            *(undefined8 **)(local_170 + 8) = puVar5 + 1;\n          }\n          local_58 = (byte *)(ulong)local_150;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_b8 = (byte *)((ulong)local_b8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_b8);\n        }\n        if (bVar18 != 0) goto LAB_001925a8;\n      }\nLAB_00192480:\n      local_120 = local_120 + 1;\n      local_128 = local_128 + 3;\n    } while (param_6 != local_120);\n  }" ({ "{") (expression_statement "local_158 = (byte *)0x0;" (assignment_expression "local_158 = (byte *)0x0" (identifier "local_158") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_120 = 0;" (assignment_expression "local_120 = 0" (identifier "local_120") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_128 = param_5;" (assignment_expression "local_128 = param_5" (identifier "local_128") (= "=") (identifier "param_5")) (; ";")) (do_statement "do {\n      uVar3 = local_128[1];\n      uVar4 = local_128[2];\n      uVar22 = uVar3 >> 8;\n      uVar7 = uVar3 & 0xff;\n      if (uVar22 < param_7) {\n        if (param_8 == 0) {\n                    \n          FUN_001e9890("../../gold/gc.h",0xea,"gc_process_relocs");\n        }\n        lVar19 = (ulong)(uVar22 << 4) + param_8;\n        uVar2 = *(ushort *)(lVar19 + 0xe);\n        uVar10 = (uint)uVar2;\n        if (uVar2 < 0xff00) {\nLAB_001924f6:\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (bVar28) {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = param_3;\n            FUN_001bdee0(local_178,&local_58);\n            bVar26 = true;\n            if ((*(byte *)(lVar19 + 0xc) & 0xf) == 3) goto LAB_0019253e;\nLAB_001923f0:\n            local_58 = (byte *)0x0;\n            FUN_001be560(local_170,&local_58);\n            goto LAB_0019240b;\n          }\n        }\n        else {\n          if (uVar2 == 0xffff) {\n            lVar14 = *(long *)(param_3 + 0x40);\n            if (lVar14 == 0) {\n              lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3);\n              *(long *)(param_3 + 0x40) = lVar14;\n            }\n            uVar10 = FUN_0022a020(lVar14,param_3,uVar22);\n            goto LAB_001924f6;\n          }\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (!bVar28) goto LAB_00192480;\n          local_58 = (byte *)0x0;\n          local_50 = local_50 & 0xffffffff00000000;\n                    \n          FUN_001bdee0(local_178,&local_58);\n          bVar26 = false;\n          if ((*(byte *)(lVar19 + 0xc) & 0xf) != 3) goto LAB_001923f0;\nLAB_0019253e:\n          local_58 = (byte *)0xffffffffffffffff;\n          FUN_001be560(local_170,&local_58);\nLAB_0019240b:\n          local_58 = pbVar24;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_a8 = (byte *)((ulong)local_a8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_a8);\n          if (!bVar26) goto LAB_00192480;\n        }\n        if (((local_136 != '\0') && ((*(byte *)(lVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar7 || ((0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) == 0)))) {\n          local_c0 = (uint)*(ushort *)(lVar19 + 0xe);\n          local_108 = *(long *)(param_1 + 0x298) + 0x68;\n          local_c8 = param_3;\n          FUN_001bcb90(local_108,&local_c8,&local_108,1);\n        }\n        pbVar24 = param_3;\n        if (param_4 != uVar10) {\nLAB_001925a8:\n          if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    \n            FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n          }\n          if (*(char *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809) != '\0') {\n            lVar14 = *(long *)(param_1 + 0x290);\n            lVar19 = lVar14 + 0x28;\n            lVar11 = lVar19;\n            lVar12 = lVar19;\n            lVar15 = *(long *)(lVar14 + 0x30);\n            local_b8 = param_3;\n            local_b0 = param_4;\n            local_a8 = pbVar24;\n            local_a0 = uVar10;\n            if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192660:\n              local_e8 = &local_b8;\n              lVar12 = FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a);\n            }\n            else {\n              do {\n                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }\n                lVar11 = lVar12;\n                lVar15 = *(long *)(lVar12 + 0x10);\n              } while (*(long *)(lVar12 + 0x10) != 0);\nLAB_0019263a:\n              if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))\n              goto LAB_00192660;\n            }\n            local_f0 = lVar12 + 0x30;\n            FUN_001bcaf0(local_f0,&local_a8,&local_f0,1);\n            plVar1 = *(long **)(PTR_DAT_004ba7c8 + 0x18);\n            if (plVar1 == (long *)0x0) {\n                    \n              FUN_001e9890("../../gold/parameters.h",0x73,"sized_target");\n            }\n            (**(code **)(*plVar1 + 0x208))(plVar1,param_1,param_3,param_4,pbVar24,uVar10,local_134);\n            if (local_158 != (byte *)0x0) {\n              lVar19 = *(long *)(param_1 + 0x290);\n              local_58 = local_48;\n              sVar13 = strlen((char *)local_158);\n              FUN_001bc4c0(&local_58,local_158,local_158 + sVar13);\n              lVar19 = FUN_001be060(lVar19 + 0x88,&local_58);\n              if (local_58 != local_48) {\n                FUN_00338a40();\n              }\n              lVar14 = *(long *)(param_1 + 0x290);\n              if (lVar19 != lVar14 + 0x90) {\n                lVar11 = lVar14 + 0x28;\n                local_50 = CONCAT44(local_50._4_4_,param_4);\n                lVar12 = lVar11;\n                lVar15 = lVar11;\n                lVar8 = *(long *)(lVar14 + 0x30);\n                if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }\n                else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }\n                for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;\n                    puVar5 = (undefined8 *)*puVar5) {\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (uVar22 < *(uint *)(param_3 + 0x120)) {\n          local_a8 = (byte *)0x0;\nLAB_00192adb:\n                    \n          FUN_001e9890("../../gold/gc.h",0x11c,"gc_process_relocs");\n        }\n        uVar23 = (ulong)(uVar22 - *(uint *)(param_3 + 0x120));\n        if ((ulong)(*(long *)(param_3 + 0x138) - *(long *)(param_3 + 0x130) >> 3) <= uVar23) {\n                    \n          FUN_001e9890("../../gold/object.h",0x8ad,"global_symbol");\n        }\n        local_a8 = *(byte **)(*(long *)(param_3 + 0x130) + uVar23 * 8);\n        if (local_a8 == (byte *)0x0) goto LAB_00192adb;\n        if ((local_a8[0x3a] & 0x10) != 0) {\n          local_a8 = (byte *)FUN_002ddad0(param_1,local_a8);\n        }\n        if ((local_a8[0x3a] & 7) == 0) {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          pbVar24 = *(byte **)(local_a8 + 0x10);\n          local_134 = uVar4 + local_150;\n          if ((pbVar24[0x3c] & 1) == 0) {\n            uVar10 = *(uint *)(local_a8 + 0x18);\n            bVar18 = local_a8[0x3b] >> 5 & 1;\n            uVar25 = (local_a8[0x38] & 0xf) < 2;\n            uVar29 = (local_a8[0x38] & 0xf) == 2;\n            if ((bool)uVar29) {\n              uVar25 = 0;\n              uVar29 = local_136 == '\0';\n              if (!(bool)uVar29) {\n                uVar25 = false;\n                uVar29 = bVar18 == 0;\n                if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }\n                local_100 = *(long *)(param_1 + 0x298) + 0x68;\n                local_d8 = pbVar24;\n                local_d0 = uVar10;\n                    \n                FUN_001bcb90(local_100,&local_d8,&local_100,1);\n              }\n            }\n          }\n          else {\n            bVar18 = 0;\n            uVar10 = 0;\n            uVar25 = 0;\n            pbVar24 = (byte *)0x0;\n            uVar29 = 1;\n          }\n        }\n        else {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          bVar18 = 0;\n          uVar10 = 0;\n          uVar25 = 0;\n          pbVar24 = (byte *)0x0;\n          uVar29 = 1;\n          local_134 = uVar4 + local_150;\n        }\nLAB_00192930:\n        pbVar17 = *(byte **)local_a8;\n        lVar19 = 8;\n        pbVar20 = (byte *)"__start_";\n        pbVar21 = pbVar17;\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          uVar25 = *pbVar20 < *pbVar21;\n          uVar29 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n          pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n        } while ((bool)uVar29);\n        bVar26 = false;\n        bVar30 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;\n        if (bVar30) {\n          pbVar17 = pbVar17 + 8;\n        }\n        else {\n          lVar19 = 7;\n          pbVar20 = (byte *)"__stop_";\n          pbVar21 = pbVar17;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar21;\n            bVar30 = *pbVar20 == *pbVar21;\n            pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n            pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n          } while (bVar30);\n          pbVar17 = pbVar17 + 7;\n          if ((!bVar26 && !bVar30) != bVar26) {\n            pbVar17 = local_158;\n          }\n        }\n        local_158 = pbVar17;\n        if (bVar28) {\n          if (bVar18 == 0) {\n            local_58 = (byte *)0x0;\n            local_50 = (ulong)local_50._4_4_ << 0x20;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          else {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = pbVar24;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          puVar5 = *(undefined8 **)(local_170 + 8);\n          if (puVar5 == *(undefined8 **)(local_170 + 0x10)) {\n            FUN_001bbf50(local_170,puVar5,&local_a8);\n          }\n          else {\n            *puVar5 = local_a8;\n            *(undefined8 **)(local_170 + 8) = puVar5 + 1;\n          }\n          local_58 = (byte *)(ulong)local_150;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_b8 = (byte *)((ulong)local_b8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_b8);\n        }\n        if (bVar18 != 0) goto LAB_001925a8;\n      }\nLAB_00192480:\n      local_120 = local_120 + 1;\n      local_128 = local_128 + 3;\n    } while (param_6 != local_120);" (do "do") (compound_statement "{\n      uVar3 = local_128[1];\n      uVar4 = local_128[2];\n      uVar22 = uVar3 >> 8;\n      uVar7 = uVar3 & 0xff;\n      if (uVar22 < param_7) {\n        if (param_8 == 0) {\n                    \n          FUN_001e9890("../../gold/gc.h",0xea,"gc_process_relocs");\n        }\n        lVar19 = (ulong)(uVar22 << 4) + param_8;\n        uVar2 = *(ushort *)(lVar19 + 0xe);\n        uVar10 = (uint)uVar2;\n        if (uVar2 < 0xff00) {\nLAB_001924f6:\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (bVar28) {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = param_3;\n            FUN_001bdee0(local_178,&local_58);\n            bVar26 = true;\n            if ((*(byte *)(lVar19 + 0xc) & 0xf) == 3) goto LAB_0019253e;\nLAB_001923f0:\n            local_58 = (byte *)0x0;\n            FUN_001be560(local_170,&local_58);\n            goto LAB_0019240b;\n          }\n        }\n        else {\n          if (uVar2 == 0xffff) {\n            lVar14 = *(long *)(param_3 + 0x40);\n            if (lVar14 == 0) {\n              lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3);\n              *(long *)(param_3 + 0x40) = lVar14;\n            }\n            uVar10 = FUN_0022a020(lVar14,param_3,uVar22);\n            goto LAB_001924f6;\n          }\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (!bVar28) goto LAB_00192480;\n          local_58 = (byte *)0x0;\n          local_50 = local_50 & 0xffffffff00000000;\n                    \n          FUN_001bdee0(local_178,&local_58);\n          bVar26 = false;\n          if ((*(byte *)(lVar19 + 0xc) & 0xf) != 3) goto LAB_001923f0;\nLAB_0019253e:\n          local_58 = (byte *)0xffffffffffffffff;\n          FUN_001be560(local_170,&local_58);\nLAB_0019240b:\n          local_58 = pbVar24;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_a8 = (byte *)((ulong)local_a8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_a8);\n          if (!bVar26) goto LAB_00192480;\n        }\n        if (((local_136 != '\0') && ((*(byte *)(lVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar7 || ((0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) == 0)))) {\n          local_c0 = (uint)*(ushort *)(lVar19 + 0xe);\n          local_108 = *(long *)(param_1 + 0x298) + 0x68;\n          local_c8 = param_3;\n          FUN_001bcb90(local_108,&local_c8,&local_108,1);\n        }\n        pbVar24 = param_3;\n        if (param_4 != uVar10) {\nLAB_001925a8:\n          if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    \n            FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n          }\n          if (*(char *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809) != '\0') {\n            lVar14 = *(long *)(param_1 + 0x290);\n            lVar19 = lVar14 + 0x28;\n            lVar11 = lVar19;\n            lVar12 = lVar19;\n            lVar15 = *(long *)(lVar14 + 0x30);\n            local_b8 = param_3;\n            local_b0 = param_4;\n            local_a8 = pbVar24;\n            local_a0 = uVar10;\n            if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192660:\n              local_e8 = &local_b8;\n              lVar12 = FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a);\n            }\n            else {\n              do {\n                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }\n                lVar11 = lVar12;\n                lVar15 = *(long *)(lVar12 + 0x10);\n              } while (*(long *)(lVar12 + 0x10) != 0);\nLAB_0019263a:\n              if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))\n              goto LAB_00192660;\n            }\n            local_f0 = lVar12 + 0x30;\n            FUN_001bcaf0(local_f0,&local_a8,&local_f0,1);\n            plVar1 = *(long **)(PTR_DAT_004ba7c8 + 0x18);\n            if (plVar1 == (long *)0x0) {\n                    \n              FUN_001e9890("../../gold/parameters.h",0x73,"sized_target");\n            }\n            (**(code **)(*plVar1 + 0x208))(plVar1,param_1,param_3,param_4,pbVar24,uVar10,local_134);\n            if (local_158 != (byte *)0x0) {\n              lVar19 = *(long *)(param_1 + 0x290);\n              local_58 = local_48;\n              sVar13 = strlen((char *)local_158);\n              FUN_001bc4c0(&local_58,local_158,local_158 + sVar13);\n              lVar19 = FUN_001be060(lVar19 + 0x88,&local_58);\n              if (local_58 != local_48) {\n                FUN_00338a40();\n              }\n              lVar14 = *(long *)(param_1 + 0x290);\n              if (lVar19 != lVar14 + 0x90) {\n                lVar11 = lVar14 + 0x28;\n                local_50 = CONCAT44(local_50._4_4_,param_4);\n                lVar12 = lVar11;\n                lVar15 = lVar11;\n                lVar8 = *(long *)(lVar14 + 0x30);\n                if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }\n                else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }\n                for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;\n                    puVar5 = (undefined8 *)*puVar5) {\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (uVar22 < *(uint *)(param_3 + 0x120)) {\n          local_a8 = (byte *)0x0;\nLAB_00192adb:\n                    \n          FUN_001e9890("../../gold/gc.h",0x11c,"gc_process_relocs");\n        }\n        uVar23 = (ulong)(uVar22 - *(uint *)(param_3 + 0x120));\n        if ((ulong)(*(long *)(param_3 + 0x138) - *(long *)(param_3 + 0x130) >> 3) <= uVar23) {\n                    \n          FUN_001e9890("../../gold/object.h",0x8ad,"global_symbol");\n        }\n        local_a8 = *(byte **)(*(long *)(param_3 + 0x130) + uVar23 * 8);\n        if (local_a8 == (byte *)0x0) goto LAB_00192adb;\n        if ((local_a8[0x3a] & 0x10) != 0) {\n          local_a8 = (byte *)FUN_002ddad0(param_1,local_a8);\n        }\n        if ((local_a8[0x3a] & 7) == 0) {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          pbVar24 = *(byte **)(local_a8 + 0x10);\n          local_134 = uVar4 + local_150;\n          if ((pbVar24[0x3c] & 1) == 0) {\n            uVar10 = *(uint *)(local_a8 + 0x18);\n            bVar18 = local_a8[0x3b] >> 5 & 1;\n            uVar25 = (local_a8[0x38] & 0xf) < 2;\n            uVar29 = (local_a8[0x38] & 0xf) == 2;\n            if ((bool)uVar29) {\n              uVar25 = 0;\n              uVar29 = local_136 == '\0';\n              if (!(bool)uVar29) {\n                uVar25 = false;\n                uVar29 = bVar18 == 0;\n                if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }\n                local_100 = *(long *)(param_1 + 0x298) + 0x68;\n                local_d8 = pbVar24;\n                local_d0 = uVar10;\n                    \n                FUN_001bcb90(local_100,&local_d8,&local_100,1);\n              }\n            }\n          }\n          else {\n            bVar18 = 0;\n            uVar10 = 0;\n            uVar25 = 0;\n            pbVar24 = (byte *)0x0;\n            uVar29 = 1;\n          }\n        }\n        else {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          bVar18 = 0;\n          uVar10 = 0;\n          uVar25 = 0;\n          pbVar24 = (byte *)0x0;\n          uVar29 = 1;\n          local_134 = uVar4 + local_150;\n        }\nLAB_00192930:\n        pbVar17 = *(byte **)local_a8;\n        lVar19 = 8;\n        pbVar20 = (byte *)"__start_";\n        pbVar21 = pbVar17;\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          uVar25 = *pbVar20 < *pbVar21;\n          uVar29 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n          pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n        } while ((bool)uVar29);\n        bVar26 = false;\n        bVar30 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;\n        if (bVar30) {\n          pbVar17 = pbVar17 + 8;\n        }\n        else {\n          lVar19 = 7;\n          pbVar20 = (byte *)"__stop_";\n          pbVar21 = pbVar17;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar21;\n            bVar30 = *pbVar20 == *pbVar21;\n            pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n            pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n          } while (bVar30);\n          pbVar17 = pbVar17 + 7;\n          if ((!bVar26 && !bVar30) != bVar26) {\n            pbVar17 = local_158;\n          }\n        }\n        local_158 = pbVar17;\n        if (bVar28) {\n          if (bVar18 == 0) {\n            local_58 = (byte *)0x0;\n            local_50 = (ulong)local_50._4_4_ << 0x20;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          else {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = pbVar24;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          puVar5 = *(undefined8 **)(local_170 + 8);\n          if (puVar5 == *(undefined8 **)(local_170 + 0x10)) {\n            FUN_001bbf50(local_170,puVar5,&local_a8);\n          }\n          else {\n            *puVar5 = local_a8;\n            *(undefined8 **)(local_170 + 8) = puVar5 + 1;\n          }\n          local_58 = (byte *)(ulong)local_150;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_b8 = (byte *)((ulong)local_b8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_b8);\n        }\n        if (bVar18 != 0) goto LAB_001925a8;\n      }\nLAB_00192480:\n      local_120 = local_120 + 1;\n      local_128 = local_128 + 3;\n    }" ({ "{") (expression_statement "uVar3 = local_128[1];" (assignment_expression "uVar3 = local_128[1]" (identifier "uVar3") (= "=") (subscript_expression "local_128[1]" (identifier "local_128") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar4 = local_128[2];" (assignment_expression "uVar4 = local_128[2]" (identifier "uVar4") (= "=") (subscript_expression "local_128[2]" (identifier "local_128") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uVar22 = uVar3 >> 8;" (assignment_expression "uVar22 = uVar3 >> 8" (identifier "uVar22") (= "=") (binary_expression "uVar3 >> 8" (identifier "uVar3") (>> ">>") (number_literal "8"))) (; ";")) (expression_statement "uVar7 = uVar3 & 0xff;" (assignment_expression "uVar7 = uVar3 & 0xff" (identifier "uVar7") (= "=") (binary_expression "uVar3 & 0xff" (identifier "uVar3") (& "&") (number_literal "0xff"))) (; ";")) (if_statement "if (uVar22 < param_7) {\n        if (param_8 == 0) {\n                    \n          FUN_001e9890("../../gold/gc.h",0xea,"gc_process_relocs");\n        }\n        lVar19 = (ulong)(uVar22 << 4) + param_8;\n        uVar2 = *(ushort *)(lVar19 + 0xe);\n        uVar10 = (uint)uVar2;\n        if (uVar2 < 0xff00) {\nLAB_001924f6:\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (bVar28) {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = param_3;\n            FUN_001bdee0(local_178,&local_58);\n            bVar26 = true;\n            if ((*(byte *)(lVar19 + 0xc) & 0xf) == 3) goto LAB_0019253e;\nLAB_001923f0:\n            local_58 = (byte *)0x0;\n            FUN_001be560(local_170,&local_58);\n            goto LAB_0019240b;\n          }\n        }\n        else {\n          if (uVar2 == 0xffff) {\n            lVar14 = *(long *)(param_3 + 0x40);\n            if (lVar14 == 0) {\n              lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3);\n              *(long *)(param_3 + 0x40) = lVar14;\n            }\n            uVar10 = FUN_0022a020(lVar14,param_3,uVar22);\n            goto LAB_001924f6;\n          }\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (!bVar28) goto LAB_00192480;\n          local_58 = (byte *)0x0;\n          local_50 = local_50 & 0xffffffff00000000;\n                    \n          FUN_001bdee0(local_178,&local_58);\n          bVar26 = false;\n          if ((*(byte *)(lVar19 + 0xc) & 0xf) != 3) goto LAB_001923f0;\nLAB_0019253e:\n          local_58 = (byte *)0xffffffffffffffff;\n          FUN_001be560(local_170,&local_58);\nLAB_0019240b:\n          local_58 = pbVar24;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_a8 = (byte *)((ulong)local_a8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_a8);\n          if (!bVar26) goto LAB_00192480;\n        }\n        if (((local_136 != '\0') && ((*(byte *)(lVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar7 || ((0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) == 0)))) {\n          local_c0 = (uint)*(ushort *)(lVar19 + 0xe);\n          local_108 = *(long *)(param_1 + 0x298) + 0x68;\n          local_c8 = param_3;\n          FUN_001bcb90(local_108,&local_c8,&local_108,1);\n        }\n        pbVar24 = param_3;\n        if (param_4 != uVar10) {\nLAB_001925a8:\n          if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    \n            FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n          }\n          if (*(char *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809) != '\0') {\n            lVar14 = *(long *)(param_1 + 0x290);\n            lVar19 = lVar14 + 0x28;\n            lVar11 = lVar19;\n            lVar12 = lVar19;\n            lVar15 = *(long *)(lVar14 + 0x30);\n            local_b8 = param_3;\n            local_b0 = param_4;\n            local_a8 = pbVar24;\n            local_a0 = uVar10;\n            if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192660:\n              local_e8 = &local_b8;\n              lVar12 = FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a);\n            }\n            else {\n              do {\n                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }\n                lVar11 = lVar12;\n                lVar15 = *(long *)(lVar12 + 0x10);\n              } while (*(long *)(lVar12 + 0x10) != 0);\nLAB_0019263a:\n              if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))\n              goto LAB_00192660;\n            }\n            local_f0 = lVar12 + 0x30;\n            FUN_001bcaf0(local_f0,&local_a8,&local_f0,1);\n            plVar1 = *(long **)(PTR_DAT_004ba7c8 + 0x18);\n            if (plVar1 == (long *)0x0) {\n                    \n              FUN_001e9890("../../gold/parameters.h",0x73,"sized_target");\n            }\n            (**(code **)(*plVar1 + 0x208))(plVar1,param_1,param_3,param_4,pbVar24,uVar10,local_134);\n            if (local_158 != (byte *)0x0) {\n              lVar19 = *(long *)(param_1 + 0x290);\n              local_58 = local_48;\n              sVar13 = strlen((char *)local_158);\n              FUN_001bc4c0(&local_58,local_158,local_158 + sVar13);\n              lVar19 = FUN_001be060(lVar19 + 0x88,&local_58);\n              if (local_58 != local_48) {\n                FUN_00338a40();\n              }\n              lVar14 = *(long *)(param_1 + 0x290);\n              if (lVar19 != lVar14 + 0x90) {\n                lVar11 = lVar14 + 0x28;\n                local_50 = CONCAT44(local_50._4_4_,param_4);\n                lVar12 = lVar11;\n                lVar15 = lVar11;\n                lVar8 = *(long *)(lVar14 + 0x30);\n                if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }\n                else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }\n                for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;\n                    puVar5 = (undefined8 *)*puVar5) {\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (uVar22 < *(uint *)(param_3 + 0x120)) {\n          local_a8 = (byte *)0x0;\nLAB_00192adb:\n                    \n          FUN_001e9890("../../gold/gc.h",0x11c,"gc_process_relocs");\n        }\n        uVar23 = (ulong)(uVar22 - *(uint *)(param_3 + 0x120));\n        if ((ulong)(*(long *)(param_3 + 0x138) - *(long *)(param_3 + 0x130) >> 3) <= uVar23) {\n                    \n          FUN_001e9890("../../gold/object.h",0x8ad,"global_symbol");\n        }\n        local_a8 = *(byte **)(*(long *)(param_3 + 0x130) + uVar23 * 8);\n        if (local_a8 == (byte *)0x0) goto LAB_00192adb;\n        if ((local_a8[0x3a] & 0x10) != 0) {\n          local_a8 = (byte *)FUN_002ddad0(param_1,local_a8);\n        }\n        if ((local_a8[0x3a] & 7) == 0) {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          pbVar24 = *(byte **)(local_a8 + 0x10);\n          local_134 = uVar4 + local_150;\n          if ((pbVar24[0x3c] & 1) == 0) {\n            uVar10 = *(uint *)(local_a8 + 0x18);\n            bVar18 = local_a8[0x3b] >> 5 & 1;\n            uVar25 = (local_a8[0x38] & 0xf) < 2;\n            uVar29 = (local_a8[0x38] & 0xf) == 2;\n            if ((bool)uVar29) {\n              uVar25 = 0;\n              uVar29 = local_136 == '\0';\n              if (!(bool)uVar29) {\n                uVar25 = false;\n                uVar29 = bVar18 == 0;\n                if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }\n                local_100 = *(long *)(param_1 + 0x298) + 0x68;\n                local_d8 = pbVar24;\n                local_d0 = uVar10;\n                    \n                FUN_001bcb90(local_100,&local_d8,&local_100,1);\n              }\n            }\n          }\n          else {\n            bVar18 = 0;\n            uVar10 = 0;\n            uVar25 = 0;\n            pbVar24 = (byte *)0x0;\n            uVar29 = 1;\n          }\n        }\n        else {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          bVar18 = 0;\n          uVar10 = 0;\n          uVar25 = 0;\n          pbVar24 = (byte *)0x0;\n          uVar29 = 1;\n          local_134 = uVar4 + local_150;\n        }\nLAB_00192930:\n        pbVar17 = *(byte **)local_a8;\n        lVar19 = 8;\n        pbVar20 = (byte *)"__start_";\n        pbVar21 = pbVar17;\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          uVar25 = *pbVar20 < *pbVar21;\n          uVar29 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n          pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n        } while ((bool)uVar29);\n        bVar26 = false;\n        bVar30 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;\n        if (bVar30) {\n          pbVar17 = pbVar17 + 8;\n        }\n        else {\n          lVar19 = 7;\n          pbVar20 = (byte *)"__stop_";\n          pbVar21 = pbVar17;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar21;\n            bVar30 = *pbVar20 == *pbVar21;\n            pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n            pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n          } while (bVar30);\n          pbVar17 = pbVar17 + 7;\n          if ((!bVar26 && !bVar30) != bVar26) {\n            pbVar17 = local_158;\n          }\n        }\n        local_158 = pbVar17;\n        if (bVar28) {\n          if (bVar18 == 0) {\n            local_58 = (byte *)0x0;\n            local_50 = (ulong)local_50._4_4_ << 0x20;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          else {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = pbVar24;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          puVar5 = *(undefined8 **)(local_170 + 8);\n          if (puVar5 == *(undefined8 **)(local_170 + 0x10)) {\n            FUN_001bbf50(local_170,puVar5,&local_a8);\n          }\n          else {\n            *puVar5 = local_a8;\n            *(undefined8 **)(local_170 + 8) = puVar5 + 1;\n          }\n          local_58 = (byte *)(ulong)local_150;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_b8 = (byte *)((ulong)local_b8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_b8);\n        }\n        if (bVar18 != 0) goto LAB_001925a8;\n      }" (if "if") (parenthesized_expression "(uVar22 < param_7)" (( "(") (binary_expression "uVar22 < param_7" (identifier "uVar22") (< "<") (identifier "param_7")) () ")")) (compound_statement "{\n        if (param_8 == 0) {\n                    \n          FUN_001e9890("../../gold/gc.h",0xea,"gc_process_relocs");\n        }\n        lVar19 = (ulong)(uVar22 << 4) + param_8;\n        uVar2 = *(ushort *)(lVar19 + 0xe);\n        uVar10 = (uint)uVar2;\n        if (uVar2 < 0xff00) {\nLAB_001924f6:\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (bVar28) {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = param_3;\n            FUN_001bdee0(local_178,&local_58);\n            bVar26 = true;\n            if ((*(byte *)(lVar19 + 0xc) & 0xf) == 3) goto LAB_0019253e;\nLAB_001923f0:\n            local_58 = (byte *)0x0;\n            FUN_001be560(local_170,&local_58);\n            goto LAB_0019240b;\n          }\n        }\n        else {\n          if (uVar2 == 0xffff) {\n            lVar14 = *(long *)(param_3 + 0x40);\n            if (lVar14 == 0) {\n              lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3);\n              *(long *)(param_3 + 0x40) = lVar14;\n            }\n            uVar10 = FUN_0022a020(lVar14,param_3,uVar22);\n            goto LAB_001924f6;\n          }\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (!bVar28) goto LAB_00192480;\n          local_58 = (byte *)0x0;\n          local_50 = local_50 & 0xffffffff00000000;\n                    \n          FUN_001bdee0(local_178,&local_58);\n          bVar26 = false;\n          if ((*(byte *)(lVar19 + 0xc) & 0xf) != 3) goto LAB_001923f0;\nLAB_0019253e:\n          local_58 = (byte *)0xffffffffffffffff;\n          FUN_001be560(local_170,&local_58);\nLAB_0019240b:\n          local_58 = pbVar24;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_a8 = (byte *)((ulong)local_a8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_a8);\n          if (!bVar26) goto LAB_00192480;\n        }\n        if (((local_136 != '\0') && ((*(byte *)(lVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar7 || ((0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) == 0)))) {\n          local_c0 = (uint)*(ushort *)(lVar19 + 0xe);\n          local_108 = *(long *)(param_1 + 0x298) + 0x68;\n          local_c8 = param_3;\n          FUN_001bcb90(local_108,&local_c8,&local_108,1);\n        }\n        pbVar24 = param_3;\n        if (param_4 != uVar10) {\nLAB_001925a8:\n          if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    \n            FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n          }\n          if (*(char *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809) != '\0') {\n            lVar14 = *(long *)(param_1 + 0x290);\n            lVar19 = lVar14 + 0x28;\n            lVar11 = lVar19;\n            lVar12 = lVar19;\n            lVar15 = *(long *)(lVar14 + 0x30);\n            local_b8 = param_3;\n            local_b0 = param_4;\n            local_a8 = pbVar24;\n            local_a0 = uVar10;\n            if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192660:\n              local_e8 = &local_b8;\n              lVar12 = FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a);\n            }\n            else {\n              do {\n                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }\n                lVar11 = lVar12;\n                lVar15 = *(long *)(lVar12 + 0x10);\n              } while (*(long *)(lVar12 + 0x10) != 0);\nLAB_0019263a:\n              if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))\n              goto LAB_00192660;\n            }\n            local_f0 = lVar12 + 0x30;\n            FUN_001bcaf0(local_f0,&local_a8,&local_f0,1);\n            plVar1 = *(long **)(PTR_DAT_004ba7c8 + 0x18);\n            if (plVar1 == (long *)0x0) {\n                    \n              FUN_001e9890("../../gold/parameters.h",0x73,"sized_target");\n            }\n            (**(code **)(*plVar1 + 0x208))(plVar1,param_1,param_3,param_4,pbVar24,uVar10,local_134);\n            if (local_158 != (byte *)0x0) {\n              lVar19 = *(long *)(param_1 + 0x290);\n              local_58 = local_48;\n              sVar13 = strlen((char *)local_158);\n              FUN_001bc4c0(&local_58,local_158,local_158 + sVar13);\n              lVar19 = FUN_001be060(lVar19 + 0x88,&local_58);\n              if (local_58 != local_48) {\n                FUN_00338a40();\n              }\n              lVar14 = *(long *)(param_1 + 0x290);\n              if (lVar19 != lVar14 + 0x90) {\n                lVar11 = lVar14 + 0x28;\n                local_50 = CONCAT44(local_50._4_4_,param_4);\n                lVar12 = lVar11;\n                lVar15 = lVar11;\n                lVar8 = *(long *)(lVar14 + 0x30);\n                if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }\n                else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }\n                for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;\n                    puVar5 = (undefined8 *)*puVar5) {\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }\n              }\n            }\n          }\n        }\n      }" ({ "{") (if_statement "if (param_8 == 0) {\n                    \n          FUN_001e9890("../../gold/gc.h",0xea,"gc_process_relocs");\n        }" (if "if") (parenthesized_expression "(param_8 == 0)" (( "(") (binary_expression "param_8 == 0" (identifier "param_8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n          FUN_001e9890("../../gold/gc.h",0xea,"gc_process_relocs");\n        }" ({ "{") (expression_statement "FUN_001e9890("../../gold/gc.h",0xea,"gc_process_relocs");" (call_expression "FUN_001e9890("../../gold/gc.h",0xea,"gc_process_relocs")" (identifier "FUN_001e9890") (argument_list "("../../gold/gc.h",0xea,"gc_process_relocs")" (( "(") (string_literal ""../../gold/gc.h"" (" """) (string_content "../../gold/gc.h") (" """)) (, ",") (number_literal "0xea") (, ",") (string_literal ""gc_process_relocs"" (" """) (string_content "gc_process_relocs") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "lVar19 = (ulong)(uVar22 << 4) + param_8;" (assignment_expression "lVar19 = (ulong)(uVar22 << 4) + param_8" (identifier "lVar19") (= "=") (binary_expression "(ulong)(uVar22 << 4) + param_8" (call_expression "(ulong)(uVar22 << 4)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar22 << 4)" (( "(") (binary_expression "uVar22 << 4" (identifier "uVar22") (<< "<<") (number_literal "4")) () ")"))) (+ "+") (identifier "param_8"))) (; ";")) (expression_statement "uVar2 = *(ushort *)(lVar19 + 0xe);" (assignment_expression "uVar2 = *(ushort *)(lVar19 + 0xe)" (identifier "uVar2") (= "=") (pointer_expression "*(ushort *)(lVar19 + 0xe)" (* "*") (cast_expression "(ushort *)(lVar19 + 0xe)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar19 + 0xe)" (( "(") (binary_expression "lVar19 + 0xe" (identifier "lVar19") (+ "+") (number_literal "0xe")) () ")"))))) (; ";")) (expression_statement "uVar10 = (uint)uVar2;" (assignment_expression "uVar10 = (uint)uVar2" (identifier "uVar10") (= "=") (cast_expression "(uint)uVar2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar2"))) (; ";")) (if_statement "if (uVar2 < 0xff00) {\nLAB_001924f6:\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (bVar28) {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = param_3;\n            FUN_001bdee0(local_178,&local_58);\n            bVar26 = true;\n            if ((*(byte *)(lVar19 + 0xc) & 0xf) == 3) goto LAB_0019253e;\nLAB_001923f0:\n            local_58 = (byte *)0x0;\n            FUN_001be560(local_170,&local_58);\n            goto LAB_0019240b;\n          }\n        }\n        else {\n          if (uVar2 == 0xffff) {\n            lVar14 = *(long *)(param_3 + 0x40);\n            if (lVar14 == 0) {\n              lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3);\n              *(long *)(param_3 + 0x40) = lVar14;\n            }\n            uVar10 = FUN_0022a020(lVar14,param_3,uVar22);\n            goto LAB_001924f6;\n          }\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (!bVar28) goto LAB_00192480;\n          local_58 = (byte *)0x0;\n          local_50 = local_50 & 0xffffffff00000000;\n                    \n          FUN_001bdee0(local_178,&local_58);\n          bVar26 = false;\n          if ((*(byte *)(lVar19 + 0xc) & 0xf) != 3) goto LAB_001923f0;\nLAB_0019253e:\n          local_58 = (byte *)0xffffffffffffffff;\n          FUN_001be560(local_170,&local_58);\nLAB_0019240b:\n          local_58 = pbVar24;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_a8 = (byte *)((ulong)local_a8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_a8);\n          if (!bVar26) goto LAB_00192480;\n        }" (if "if") (parenthesized_expression "(uVar2 < 0xff00)" (( "(") (binary_expression "uVar2 < 0xff00" (identifier "uVar2") (< "<") (number_literal "0xff00")) () ")")) (compound_statement "{\nLAB_001924f6:\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (bVar28) {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = param_3;\n            FUN_001bdee0(local_178,&local_58);\n            bVar26 = true;\n            if ((*(byte *)(lVar19 + 0xc) & 0xf) == 3) goto LAB_0019253e;\nLAB_001923f0:\n            local_58 = (byte *)0x0;\n            FUN_001be560(local_170,&local_58);\n            goto LAB_0019240b;\n          }\n        }" ({ "{") (labeled_statement "LAB_001924f6:\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);" (statement_identifier "LAB_001924f6") (: ":") (expression_statement "pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);" (assignment_expression "pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4)" (identifier "pbVar24") (= "=") (binary_expression "(byte *)(ulong)*(uint *)(lVar19 + 4)" (cast_expression "(byte *)(ulong)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")"))) (* "*") (cast_expression "(uint *)(lVar19 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar19 + 4)" (( "(") (binary_expression "lVar19 + 4" (identifier "lVar19") (+ "+") (number_literal "4")) () ")"))))) (; ";"))) (expression_statement "local_134 = uVar4 + *(uint *)(lVar19 + 4);" (assignment_expression "local_134 = uVar4 + *(uint *)(lVar19 + 4)" (identifier "local_134") (= "=") (binary_expression "uVar4 + *(uint *)(lVar19 + 4)" (identifier "uVar4") (+ "+") (pointer_expression "*(uint *)(lVar19 + 4)" (* "*") (cast_expression "(uint *)(lVar19 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar19 + 4)" (( "(") (binary_expression "lVar19 + 4" (identifier "lVar19") (+ "+") (number_literal "4")) () ")")))))) (; ";")) (if_statement "if (bVar28) {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = param_3;\n            FUN_001bdee0(local_178,&local_58);\n            bVar26 = true;\n            if ((*(byte *)(lVar19 + 0xc) & 0xf) == 3) goto LAB_0019253e;\nLAB_001923f0:\n            local_58 = (byte *)0x0;\n            FUN_001be560(local_170,&local_58);\n            goto LAB_0019240b;\n          }" (if "if") (parenthesized_expression "(bVar28)" (( "(") (identifier "bVar28") () ")")) (compound_statement "{\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = param_3;\n            FUN_001bdee0(local_178,&local_58);\n            bVar26 = true;\n            if ((*(byte *)(lVar19 + 0xc) & 0xf) == 3) goto LAB_0019253e;\nLAB_001923f0:\n            local_58 = (byte *)0x0;\n            FUN_001be560(local_170,&local_58);\n            goto LAB_0019240b;\n          }" ({ "{") (expression_statement "local_50 = CONCAT44(local_50._4_4_,uVar10);" (assignment_expression "local_50 = CONCAT44(local_50._4_4_,uVar10)" (identifier "local_50") (= "=") (call_expression "CONCAT44(local_50._4_4_,uVar10)" (identifier "CONCAT44") (argument_list "(local_50._4_4_,uVar10)" (( "(") (field_expression "local_50._4_4_" (identifier "local_50") (. ".") (field_identifier "_4_4_")) (, ",") (identifier "uVar10") () ")")))) (; ";")) (expression_statement "local_58 = param_3;" (assignment_expression "local_58 = param_3" (identifier "local_58") (= "=") (identifier "param_3")) (; ";")) (expression_statement "FUN_001bdee0(local_178,&local_58);" (call_expression "FUN_001bdee0(local_178,&local_58)" (identifier "FUN_001bdee0") (argument_list "(local_178,&local_58)" (( "(") (identifier "local_178") (, ",") (pointer_expression "&local_58" (& "&") (identifier "local_58")) () ")"))) (; ";")) (expression_statement "bVar26 = true;" (assignment_expression "bVar26 = true" (identifier "bVar26") (= "=") (true "true")) (; ";")) (if_statement "if ((*(byte *)(lVar19 + 0xc) & 0xf) == 3) goto LAB_0019253e;" (if "if") (parenthesized_expression "((*(byte *)(lVar19 + 0xc) & 0xf) == 3)" (( "(") (binary_expression "(*(byte *)(lVar19 + 0xc) & 0xf) == 3" (parenthesized_expression "(*(byte *)(lVar19 + 0xc) & 0xf)" (( "(") (binary_expression "*(byte *)(lVar19 + 0xc) & 0xf" (pointer_expression "*(byte *)(lVar19 + 0xc)" (* "*") (cast_expression "(byte *)(lVar19 + 0xc)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar19 + 0xc)" (( "(") (binary_expression "lVar19 + 0xc" (identifier "lVar19") (+ "+") (number_literal "0xc")) () ")")))) (& "&") (number_literal "0xf")) () ")")) (== "==") (number_literal "3")) () ")")) (goto_statement "goto LAB_0019253e;" (goto "goto") (statement_identifier "LAB_0019253e") (; ";"))) (labeled_statement "LAB_001923f0:\n            local_58 = (byte *)0x0;" (statement_identifier "LAB_001923f0") (: ":") (expression_statement "local_58 = (byte *)0x0;" (assignment_expression "local_58 = (byte *)0x0" (identifier "local_58") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";"))) (expression_statement "FUN_001be560(local_170,&local_58);" (call_expression "FUN_001be560(local_170,&local_58)" (identifier "FUN_001be560") (argument_list "(local_170,&local_58)" (( "(") (identifier "local_170") (, ",") (pointer_expression "&local_58" (& "&") (identifier "local_58")) () ")"))) (; ";")) (goto_statement "goto LAB_0019240b;" (goto "goto") (statement_identifier "LAB_0019240b") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n          if (uVar2 == 0xffff) {\n            lVar14 = *(long *)(param_3 + 0x40);\n            if (lVar14 == 0) {\n              lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3);\n              *(long *)(param_3 + 0x40) = lVar14;\n            }\n            uVar10 = FUN_0022a020(lVar14,param_3,uVar22);\n            goto LAB_001924f6;\n          }\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (!bVar28) goto LAB_00192480;\n          local_58 = (byte *)0x0;\n          local_50 = local_50 & 0xffffffff00000000;\n                    \n          FUN_001bdee0(local_178,&local_58);\n          bVar26 = false;\n          if ((*(byte *)(lVar19 + 0xc) & 0xf) != 3) goto LAB_001923f0;\nLAB_0019253e:\n          local_58 = (byte *)0xffffffffffffffff;\n          FUN_001be560(local_170,&local_58);\nLAB_0019240b:\n          local_58 = pbVar24;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_a8 = (byte *)((ulong)local_a8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_a8);\n          if (!bVar26) goto LAB_00192480;\n        }" (else "else") (compound_statement "{\n          if (uVar2 == 0xffff) {\n            lVar14 = *(long *)(param_3 + 0x40);\n            if (lVar14 == 0) {\n              lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3);\n              *(long *)(param_3 + 0x40) = lVar14;\n            }\n            uVar10 = FUN_0022a020(lVar14,param_3,uVar22);\n            goto LAB_001924f6;\n          }\n          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);\n          local_134 = uVar4 + *(uint *)(lVar19 + 4);\n          if (!bVar28) goto LAB_00192480;\n          local_58 = (byte *)0x0;\n          local_50 = local_50 & 0xffffffff00000000;\n                    \n          FUN_001bdee0(local_178,&local_58);\n          bVar26 = false;\n          if ((*(byte *)(lVar19 + 0xc) & 0xf) != 3) goto LAB_001923f0;\nLAB_0019253e:\n          local_58 = (byte *)0xffffffffffffffff;\n          FUN_001be560(local_170,&local_58);\nLAB_0019240b:\n          local_58 = pbVar24;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_a8 = (byte *)((ulong)local_a8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_a8);\n          if (!bVar26) goto LAB_00192480;\n        }" ({ "{") (if_statement "if (uVar2 == 0xffff) {\n            lVar14 = *(long *)(param_3 + 0x40);\n            if (lVar14 == 0) {\n              lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3);\n              *(long *)(param_3 + 0x40) = lVar14;\n            }\n            uVar10 = FUN_0022a020(lVar14,param_3,uVar22);\n            goto LAB_001924f6;\n          }" (if "if") (parenthesized_expression "(uVar2 == 0xffff)" (( "(") (binary_expression "uVar2 == 0xffff" (identifier "uVar2") (== "==") (number_literal "0xffff")) () ")")) (compound_statement "{\n            lVar14 = *(long *)(param_3 + 0x40);\n            if (lVar14 == 0) {\n              lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3);\n              *(long *)(param_3 + 0x40) = lVar14;\n            }\n            uVar10 = FUN_0022a020(lVar14,param_3,uVar22);\n            goto LAB_001924f6;\n          }" ({ "{") (expression_statement "lVar14 = *(long *)(param_3 + 0x40);" (assignment_expression "lVar14 = *(long *)(param_3 + 0x40)" (identifier "lVar14") (= "=") (pointer_expression "*(long *)(param_3 + 0x40)" (* "*") (cast_expression "(long *)(param_3 + 0x40)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x40)" (( "(") (binary_expression "param_3 + 0x40" (identifier "param_3") (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (if_statement "if (lVar14 == 0) {\n              lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3);\n              *(long *)(param_3 + 0x40) = lVar14;\n            }" (if "if") (parenthesized_expression "(lVar14 == 0)" (( "(") (binary_expression "lVar14 == 0" (identifier "lVar14") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3);\n              *(long *)(param_3 + 0x40) = lVar14;\n            }" ({ "{") (expression_statement "lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3);" (assignment_expression "lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3)" (identifier "lVar14") (= "=") (call_expression "(**(code **)(*(long *)param_3 + 0xd8))(param_3)" (parenthesized_expression "(**(code **)(*(long *)param_3 + 0xd8))" (( "(") (pointer_expression "**(code **)(*(long *)param_3 + 0xd8)" (* "*") (pointer_expression "*(code **)(*(long *)param_3 + 0xd8)" (* "*") (cast_expression "(code **)(*(long *)param_3 + 0xd8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(long *)param_3 + 0xd8)" (( "(") (binary_expression "*(long *)param_3 + 0xd8" (pointer_expression "*(long *)param_3" (* "*") (cast_expression "(long *)param_3" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_3"))) (+ "+") (number_literal "0xd8")) () ")"))))) () ")")) (argument_list "(param_3)" (( "(") (identifier "param_3") () ")")))) (; ";")) (expression_statement "*(long *)(param_3 + 0x40) = lVar14;" (assignment_expression "*(long *)(param_3 + 0x40) = lVar14" (pointer_expression "*(long *)(param_3 + 0x40)" (* "*") (cast_expression "(long *)(param_3 + 0x40)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x40)" (( "(") (binary_expression "param_3 + 0x40" (identifier "param_3") (+ "+") (number_literal "0x40")) () ")")))) (= "=") (identifier "lVar14")) (; ";")) (} "}"))) (expression_statement "uVar10 = FUN_0022a020(lVar14,param_3,uVar22);" (assignment_expression "uVar10 = FUN_0022a020(lVar14,param_3,uVar22)" (identifier "uVar10") (= "=") (call_expression "FUN_0022a020(lVar14,param_3,uVar22)" (identifier "FUN_0022a020") (argument_list "(lVar14,param_3,uVar22)" (( "(") (identifier "lVar14") (, ",") (identifier "param_3") (, ",") (identifier "uVar22") () ")")))) (; ";")) (goto_statement "goto LAB_001924f6;" (goto "goto") (statement_identifier "LAB_001924f6") (; ";")) (} "}"))) (expression_statement "pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);" (assignment_expression "pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4)" (identifier "pbVar24") (= "=") (binary_expression "(byte *)(ulong)*(uint *)(lVar19 + 4)" (cast_expression "(byte *)(ulong)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")"))) (* "*") (cast_expression "(uint *)(lVar19 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar19 + 4)" (( "(") (binary_expression "lVar19 + 4" (identifier "lVar19") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "local_134 = uVar4 + *(uint *)(lVar19 + 4);" (assignment_expression "local_134 = uVar4 + *(uint *)(lVar19 + 4)" (identifier "local_134") (= "=") (binary_expression "uVar4 + *(uint *)(lVar19 + 4)" (identifier "uVar4") (+ "+") (pointer_expression "*(uint *)(lVar19 + 4)" (* "*") (cast_expression "(uint *)(lVar19 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar19 + 4)" (( "(") (binary_expression "lVar19 + 4" (identifier "lVar19") (+ "+") (number_literal "4")) () ")")))))) (; ";")) (if_statement "if (!bVar28) goto LAB_00192480;" (if "if") (parenthesized_expression "(!bVar28)" (( "(") (unary_expression "!bVar28" (! "!") (identifier "bVar28")) () ")")) (goto_statement "goto LAB_00192480;" (goto "goto") (statement_identifier "LAB_00192480") (; ";"))) (expression_statement "local_58 = (byte *)0x0;" (assignment_expression "local_58 = (byte *)0x0" (identifier "local_58") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_50 = local_50 & 0xffffffff00000000;" (assignment_expression "local_50 = local_50 & 0xffffffff00000000" (identifier "local_50") (= "=") (binary_expression "local_50 & 0xffffffff00000000" (identifier "local_50") (& "&") (number_literal "0xffffffff00000000"))) (; ";")) (expression_statement "FUN_001bdee0(local_178,&local_58);" (call_expression "FUN_001bdee0(local_178,&local_58)" (identifier "FUN_001bdee0") (argument_list "(local_178,&local_58)" (( "(") (identifier "local_178") (, ",") (pointer_expression "&local_58" (& "&") (identifier "local_58")) () ")"))) (; ";")) (expression_statement "bVar26 = false;" (assignment_expression "bVar26 = false" (identifier "bVar26") (= "=") (false "false")) (; ";")) (if_statement "if ((*(byte *)(lVar19 + 0xc) & 0xf) != 3) goto LAB_001923f0;" (if "if") (parenthesized_expression "((*(byte *)(lVar19 + 0xc) & 0xf) != 3)" (( "(") (binary_expression "(*(byte *)(lVar19 + 0xc) & 0xf) != 3" (parenthesized_expression "(*(byte *)(lVar19 + 0xc) & 0xf)" (( "(") (binary_expression "*(byte *)(lVar19 + 0xc) & 0xf" (pointer_expression "*(byte *)(lVar19 + 0xc)" (* "*") (cast_expression "(byte *)(lVar19 + 0xc)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar19 + 0xc)" (( "(") (binary_expression "lVar19 + 0xc" (identifier "lVar19") (+ "+") (number_literal "0xc")) () ")")))) (& "&") (number_literal "0xf")) () ")")) (!= "!=") (number_literal "3")) () ")")) (goto_statement "goto LAB_001923f0;" (goto "goto") (statement_identifier "LAB_001923f0") (; ";"))) (labeled_statement "LAB_0019253e:\n          local_58 = (byte *)0xffffffffffffffff;" (statement_identifier "LAB_0019253e") (: ":") (expression_statement "local_58 = (byte *)0xffffffffffffffff;" (assignment_expression "local_58 = (byte *)0xffffffffffffffff" (identifier "local_58") (= "=") (cast_expression "(byte *)0xffffffffffffffff" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffffffffffff"))) (; ";"))) (expression_statement "FUN_001be560(local_170,&local_58);" (call_expression "FUN_001be560(local_170,&local_58)" (identifier "FUN_001be560") (argument_list "(local_170,&local_58)" (( "(") (identifier "local_170") (, ",") (pointer_expression "&local_58" (& "&") (identifier "local_58")) () ")"))) (; ";")) (labeled_statement "LAB_0019240b:\n          local_58 = pbVar24;" (statement_identifier "LAB_0019240b") (: ":") (expression_statement "local_58 = pbVar24;" (assignment_expression "local_58 = pbVar24" (identifier "local_58") (= "=") (identifier "pbVar24")) (; ";"))) (expression_statement "local_50 = (long)(int)uVar4;" (assignment_expression "local_50 = (long)(int)uVar4" (identifier "local_50") (= "=") (cast_expression "(long)(int)uVar4" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (cast_expression "(int)uVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar4")))) (; ";")) (expression_statement "FUN_001be700(local_180,&local_58);" (call_expression "FUN_001be700(local_180,&local_58)" (identifier "FUN_001be700") (argument_list "(local_180,&local_58)" (( "(") (identifier "local_180") (, ",") (pointer_expression "&local_58" (& "&") (identifier "local_58")) () ")"))) (; ";")) (expression_statement "local_58 = (byte *)(ulong)*local_128;" (assignment_expression "local_58 = (byte *)(ulong)*local_128" (identifier "local_58") (= "=") (binary_expression "(byte *)(ulong)*local_128" (cast_expression "(byte *)(ulong)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")"))) (* "*") (identifier "local_128"))) (; ";")) (expression_statement "puVar5 = *(undefined8 **)(local_168 + 8);" (assignment_expression "puVar5 = *(undefined8 **)(local_168 + 8)" (identifier "puVar5") (= "=") (pointer_expression "*(undefined8 **)(local_168 + 8)" (* "*") (cast_expression "(undefined8 **)(local_168 + 8)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_168 + 8)" (( "(") (binary_expression "local_168 + 8" (identifier "local_168") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }" (if "if") (parenthesized_expression "(puVar5 == *(undefined8 **)(local_168 + 0x10))" (( "(") (binary_expression "puVar5 == *(undefined8 **)(local_168 + 0x10)" (identifier "puVar5") (== "==") (pointer_expression "*(undefined8 **)(local_168 + 0x10)" (* "*") (cast_expression "(undefined8 **)(local_168 + 0x10)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_168 + 0x10)" (( "(") (binary_expression "local_168 + 0x10" (identifier "local_168") (+ "+") (number_literal "0x10")) () ")"))))) () ")")) (compound_statement "{\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }" ({ "{") (expression_statement "FUN_001bdf10(local_168,puVar5,&local_58);" (call_expression "FUN_001bdf10(local_168,puVar5,&local_58)" (identifier "FUN_001bdf10") (argument_list "(local_168,puVar5,&local_58)" (( "(") (identifier "local_168") (, ",") (identifier "puVar5") (, ",") (pointer_expression "&local_58" (& "&") (identifier "local_58")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }" (else "else") (compound_statement "{\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }" ({ "{") (expression_statement "*puVar5 = local_58;" (assignment_expression "*puVar5 = local_58" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (identifier "local_58")) (; ";")) (expression_statement "*(undefined8 **)(local_168 + 8) = puVar5 + 1;" (assignment_expression "*(undefined8 **)(local_168 + 8) = puVar5 + 1" (pointer_expression "*(undefined8 **)(local_168 + 8)" (* "*") (cast_expression "(undefined8 **)(local_168 + 8)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_168 + 8)" (( "(") (binary_expression "local_168 + 8" (identifier "local_168") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "puVar5 + 1" (identifier "puVar5") (+ "+") (number_literal "1"))) (; ";")) (} "}")))) (expression_statement "local_a8 = (byte *)((ulong)local_a8 & 0xffffffff00000000);" (assignment_expression "local_a8 = (byte *)((ulong)local_a8 & 0xffffffff00000000)" (identifier "local_a8") (= "=") (cast_expression "(byte *)((ulong)local_a8 & 0xffffffff00000000)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulong)local_a8 & 0xffffffff00000000)" (( "(") (binary_expression "(ulong)local_a8 & 0xffffffff00000000" (cast_expression "(ulong)local_a8" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "local_a8")) (& "&") (number_literal "0xffffffff00000000")) () ")")))) (; ";")) (expression_statement "FUN_001be890(local_188,&local_a8);" (call_expression "FUN_001be890(local_188,&local_a8)" (identifier "FUN_001be890") (argument_list "(local_188,&local_a8)" (( "(") (identifier "local_188") (, ",") (pointer_expression "&local_a8" (& "&") (identifier "local_a8")) () ")"))) (; ";")) (if_statement "if (!bVar26) goto LAB_00192480;" (if "if") (parenthesized_expression "(!bVar26)" (( "(") (unary_expression "!bVar26" (! "!") (identifier "bVar26")) () ")")) (goto_statement "goto LAB_00192480;" (goto "goto") (statement_identifier "LAB_00192480") (; ";"))) (} "}")))) (if_statement "if (((local_136 != '\0') && ((*(byte *)(lVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar7 || ((0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) == 0)))) {\n          local_c0 = (uint)*(ushort *)(lVar19 + 0xe);\n          local_108 = *(long *)(param_1 + 0x298) + 0x68;\n          local_c8 = param_3;\n          FUN_001bcb90(local_108,&local_c8,&local_108,1);\n        }" (if "if") (parenthesized_expression "(((local_136 != '\0') && ((*(byte *)(lVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar7 || ((0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) == 0))))" (( "(") (binary_expression "((local_136 != '\0') && ((*(byte *)(lVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar7 || ((0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) == 0)))" (parenthesized_expression "((local_136 != '\0') && ((*(byte *)(lVar19 + 0xc) & 0xf) != 1))" (( "(") (binary_expression "(local_136 != '\0') && ((*(byte *)(lVar19 + 0xc) & 0xf) != 1)" (parenthesized_expression "(local_136 != '\0')" (( "(") (binary_expression "local_136 != '\0'" (identifier "local_136") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)(lVar19 + 0xc) & 0xf) != 1)" (( "(") (binary_expression "(*(byte *)(lVar19 + 0xc) & 0xf) != 1" (parenthesized_expression "(*(byte *)(lVar19 + 0xc) & 0xf)" (( "(") (binary_expression "*(byte *)(lVar19 + 0xc) & 0xf" (pointer_expression "*(byte *)(lVar19 + 0xc)" (* "*") (cast_expression "(byte *)(lVar19 + 0xc)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar19 + 0xc)" (( "(") (binary_expression "lVar19 + 0xc" (identifier "lVar19") (+ "+") (number_literal "0xc")) () ")")))) (& "&") (number_literal "0xf")) () ")")) (!= "!=") (number_literal "1")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((0x17 < uVar7 || ((0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) == 0)))" (( "(") (parenthesized_expression "(0x17 < uVar7 || ((0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) == 0))" (( "(") (binary_expression "0x17 < uVar7 || ((0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) == 0)" (binary_expression "0x17 < uVar7" (number_literal "0x17") (< "<") (identifier "uVar7")) (|| "||") (parenthesized_expression "((0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) == 0)" (( "(") (binary_expression "(0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) == 0" (parenthesized_expression "(0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1)" (( "(") (binary_expression "0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1" (binary_expression "0x843f84UL >> ((ulong)uVar3 & 0x3f)" (number_literal "0x843f84UL") (>> ">>") (parenthesized_expression "((ulong)uVar3 & 0x3f)" (( "(") (binary_expression "(ulong)uVar3 & 0x3f" (cast_expression "(ulong)uVar3" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar3")) (& "&") (number_literal "0x3f")) () ")"))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n          local_c0 = (uint)*(ushort *)(lVar19 + 0xe);\n          local_108 = *(long *)(param_1 + 0x298) + 0x68;\n          local_c8 = param_3;\n          FUN_001bcb90(local_108,&local_c8,&local_108,1);\n        }" ({ "{") (expression_statement "local_c0 = (uint)*(ushort *)(lVar19 + 0xe);" (assignment_expression "local_c0 = (uint)*(ushort *)(lVar19 + 0xe)" (identifier "local_c0") (= "=") (binary_expression "(uint)*(ushort *)(lVar19 + 0xe)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(ushort *)(lVar19 + 0xe)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar19 + 0xe)" (( "(") (binary_expression "lVar19 + 0xe" (identifier "lVar19") (+ "+") (number_literal "0xe")) () ")"))))) (; ";")) (expression_statement "local_108 = *(long *)(param_1 + 0x298) + 0x68;" (assignment_expression "local_108 = *(long *)(param_1 + 0x298) + 0x68" (identifier "local_108") (= "=") (binary_expression "*(long *)(param_1 + 0x298) + 0x68" (pointer_expression "*(long *)(param_1 + 0x298)" (* "*") (cast_expression "(long *)(param_1 + 0x298)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x298)" (( "(") (binary_expression "param_1 + 0x298" (identifier "param_1") (+ "+") (number_literal "0x298")) () ")")))) (+ "+") (number_literal "0x68"))) (; ";")) (expression_statement "local_c8 = param_3;" (assignment_expression "local_c8 = param_3" (identifier "local_c8") (= "=") (identifier "param_3")) (; ";")) (expression_statement "FUN_001bcb90(local_108,&local_c8,&local_108,1);" (call_expression "FUN_001bcb90(local_108,&local_c8,&local_108,1)" (identifier "FUN_001bcb90") (argument_list "(local_108,&local_c8,&local_108,1)" (( "(") (identifier "local_108") (, ",") (pointer_expression "&local_c8" (& "&") (identifier "local_c8")) (, ",") (pointer_expression "&local_108" (& "&") (identifier "local_108")) (, ",") (number_literal "1") () ")"))) (; ";")) (} "}"))) (expression_statement "pbVar24 = param_3;" (assignment_expression "pbVar24 = param_3" (identifier "pbVar24") (= "=") (identifier "param_3")) (; ";")) (if_statement "if (param_4 != uVar10) {\nLAB_001925a8:\n          if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    \n            FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n          }\n          if (*(char *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809) != '\0') {\n            lVar14 = *(long *)(param_1 + 0x290);\n            lVar19 = lVar14 + 0x28;\n            lVar11 = lVar19;\n            lVar12 = lVar19;\n            lVar15 = *(long *)(lVar14 + 0x30);\n            local_b8 = param_3;\n            local_b0 = param_4;\n            local_a8 = pbVar24;\n            local_a0 = uVar10;\n            if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192660:\n              local_e8 = &local_b8;\n              lVar12 = FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a);\n            }\n            else {\n              do {\n                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }\n                lVar11 = lVar12;\n                lVar15 = *(long *)(lVar12 + 0x10);\n              } while (*(long *)(lVar12 + 0x10) != 0);\nLAB_0019263a:\n              if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))\n              goto LAB_00192660;\n            }\n            local_f0 = lVar12 + 0x30;\n            FUN_001bcaf0(local_f0,&local_a8,&local_f0,1);\n            plVar1 = *(long **)(PTR_DAT_004ba7c8 + 0x18);\n            if (plVar1 == (long *)0x0) {\n                    \n              FUN_001e9890("../../gold/parameters.h",0x73,"sized_target");\n            }\n            (**(code **)(*plVar1 + 0x208))(plVar1,param_1,param_3,param_4,pbVar24,uVar10,local_134);\n            if (local_158 != (byte *)0x0) {\n              lVar19 = *(long *)(param_1 + 0x290);\n              local_58 = local_48;\n              sVar13 = strlen((char *)local_158);\n              FUN_001bc4c0(&local_58,local_158,local_158 + sVar13);\n              lVar19 = FUN_001be060(lVar19 + 0x88,&local_58);\n              if (local_58 != local_48) {\n                FUN_00338a40();\n              }\n              lVar14 = *(long *)(param_1 + 0x290);\n              if (lVar19 != lVar14 + 0x90) {\n                lVar11 = lVar14 + 0x28;\n                local_50 = CONCAT44(local_50._4_4_,param_4);\n                lVar12 = lVar11;\n                lVar15 = lVar11;\n                lVar8 = *(long *)(lVar14 + 0x30);\n                if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }\n                else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }\n                for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;\n                    puVar5 = (undefined8 *)*puVar5) {\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }\n              }\n            }\n          }\n        }" (if "if") (parenthesized_expression "(param_4 != uVar10)" (( "(") (binary_expression "param_4 != uVar10" (identifier "param_4") (!= "!=") (identifier "uVar10")) () ")")) (compound_statement "{\nLAB_001925a8:\n          if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    \n            FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n          }\n          if (*(char *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809) != '\0') {\n            lVar14 = *(long *)(param_1 + 0x290);\n            lVar19 = lVar14 + 0x28;\n            lVar11 = lVar19;\n            lVar12 = lVar19;\n            lVar15 = *(long *)(lVar14 + 0x30);\n            local_b8 = param_3;\n            local_b0 = param_4;\n            local_a8 = pbVar24;\n            local_a0 = uVar10;\n            if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192660:\n              local_e8 = &local_b8;\n              lVar12 = FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a);\n            }\n            else {\n              do {\n                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }\n                lVar11 = lVar12;\n                lVar15 = *(long *)(lVar12 + 0x10);\n              } while (*(long *)(lVar12 + 0x10) != 0);\nLAB_0019263a:\n              if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))\n              goto LAB_00192660;\n            }\n            local_f0 = lVar12 + 0x30;\n            FUN_001bcaf0(local_f0,&local_a8,&local_f0,1);\n            plVar1 = *(long **)(PTR_DAT_004ba7c8 + 0x18);\n            if (plVar1 == (long *)0x0) {\n                    \n              FUN_001e9890("../../gold/parameters.h",0x73,"sized_target");\n            }\n            (**(code **)(*plVar1 + 0x208))(plVar1,param_1,param_3,param_4,pbVar24,uVar10,local_134);\n            if (local_158 != (byte *)0x0) {\n              lVar19 = *(long *)(param_1 + 0x290);\n              local_58 = local_48;\n              sVar13 = strlen((char *)local_158);\n              FUN_001bc4c0(&local_58,local_158,local_158 + sVar13);\n              lVar19 = FUN_001be060(lVar19 + 0x88,&local_58);\n              if (local_58 != local_48) {\n                FUN_00338a40();\n              }\n              lVar14 = *(long *)(param_1 + 0x290);\n              if (lVar19 != lVar14 + 0x90) {\n                lVar11 = lVar14 + 0x28;\n                local_50 = CONCAT44(local_50._4_4_,param_4);\n                lVar12 = lVar11;\n                lVar15 = lVar11;\n                lVar8 = *(long *)(lVar14 + 0x30);\n                if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }\n                else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }\n                for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;\n                    puVar5 = (undefined8 *)*puVar5) {\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }\n              }\n            }\n          }\n        }" ({ "{") (labeled_statement "LAB_001925a8:\n          if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    \n            FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n          }" (statement_identifier "LAB_001925a8") (: ":") (if_statement "if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {\n                    \n            FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n          }" (if "if") (parenthesized_expression "(*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0)" (( "(") (binary_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0" (pointer_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_004ba7c8 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_004ba7c8 + 0x10)" (( "(") (binary_expression "PTR_DAT_004ba7c8 + 0x10" (identifier "PTR_DAT_004ba7c8") (+ "+") (number_literal "0x10")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n            FUN_001e9890("../../gold/parameters.h",0x5c,"options");\n          }" ({ "{") (expression_statement "FUN_001e9890("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_001e9890("../../gold/parameters.h",0x5c,"options")" (identifier "FUN_001e9890") (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 *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809) != '\0') {\n            lVar14 = *(long *)(param_1 + 0x290);\n            lVar19 = lVar14 + 0x28;\n            lVar11 = lVar19;\n            lVar12 = lVar19;\n            lVar15 = *(long *)(lVar14 + 0x30);\n            local_b8 = param_3;\n            local_b0 = param_4;\n            local_a8 = pbVar24;\n            local_a0 = uVar10;\n            if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192660:\n              local_e8 = &local_b8;\n              lVar12 = FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a);\n            }\n            else {\n              do {\n                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }\n                lVar11 = lVar12;\n                lVar15 = *(long *)(lVar12 + 0x10);\n              } while (*(long *)(lVar12 + 0x10) != 0);\nLAB_0019263a:\n              if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))\n              goto LAB_00192660;\n            }\n            local_f0 = lVar12 + 0x30;\n            FUN_001bcaf0(local_f0,&local_a8,&local_f0,1);\n            plVar1 = *(long **)(PTR_DAT_004ba7c8 + 0x18);\n            if (plVar1 == (long *)0x0) {\n                    \n              FUN_001e9890("../../gold/parameters.h",0x73,"sized_target");\n            }\n            (**(code **)(*plVar1 + 0x208))(plVar1,param_1,param_3,param_4,pbVar24,uVar10,local_134);\n            if (local_158 != (byte *)0x0) {\n              lVar19 = *(long *)(param_1 + 0x290);\n              local_58 = local_48;\n              sVar13 = strlen((char *)local_158);\n              FUN_001bc4c0(&local_58,local_158,local_158 + sVar13);\n              lVar19 = FUN_001be060(lVar19 + 0x88,&local_58);\n              if (local_58 != local_48) {\n                FUN_00338a40();\n              }\n              lVar14 = *(long *)(param_1 + 0x290);\n              if (lVar19 != lVar14 + 0x90) {\n                lVar11 = lVar14 + 0x28;\n                local_50 = CONCAT44(local_50._4_4_,param_4);\n                lVar12 = lVar11;\n                lVar15 = lVar11;\n                lVar8 = *(long *)(lVar14 + 0x30);\n                if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }\n                else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }\n                for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;\n                    puVar5 = (undefined8 *)*puVar5) {\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }\n              }\n            }\n          }" (if "if") (parenthesized_expression "(*(char *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809) != '\0')" (( "(") (binary_expression "*(char *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809) != '\0'" (pointer_expression "*(char *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809)" (* "*") (cast_expression "(char *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809)" (( "(") (binary_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809" (pointer_expression "*(long *)(PTR_DAT_004ba7c8 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_004ba7c8 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_004ba7c8 + 0x10)" (( "(") (binary_expression "PTR_DAT_004ba7c8 + 0x10" (identifier "PTR_DAT_004ba7c8") (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (number_literal "0x2809")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            lVar14 = *(long *)(param_1 + 0x290);\n            lVar19 = lVar14 + 0x28;\n            lVar11 = lVar19;\n            lVar12 = lVar19;\n            lVar15 = *(long *)(lVar14 + 0x30);\n            local_b8 = param_3;\n            local_b0 = param_4;\n            local_a8 = pbVar24;\n            local_a0 = uVar10;\n            if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192660:\n              local_e8 = &local_b8;\n              lVar12 = FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a);\n            }\n            else {\n              do {\n                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }\n                lVar11 = lVar12;\n                lVar15 = *(long *)(lVar12 + 0x10);\n              } while (*(long *)(lVar12 + 0x10) != 0);\nLAB_0019263a:\n              if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))\n              goto LAB_00192660;\n            }\n            local_f0 = lVar12 + 0x30;\n            FUN_001bcaf0(local_f0,&local_a8,&local_f0,1);\n            plVar1 = *(long **)(PTR_DAT_004ba7c8 + 0x18);\n            if (plVar1 == (long *)0x0) {\n                    \n              FUN_001e9890("../../gold/parameters.h",0x73,"sized_target");\n            }\n            (**(code **)(*plVar1 + 0x208))(plVar1,param_1,param_3,param_4,pbVar24,uVar10,local_134);\n            if (local_158 != (byte *)0x0) {\n              lVar19 = *(long *)(param_1 + 0x290);\n              local_58 = local_48;\n              sVar13 = strlen((char *)local_158);\n              FUN_001bc4c0(&local_58,local_158,local_158 + sVar13);\n              lVar19 = FUN_001be060(lVar19 + 0x88,&local_58);\n              if (local_58 != local_48) {\n                FUN_00338a40();\n              }\n              lVar14 = *(long *)(param_1 + 0x290);\n              if (lVar19 != lVar14 + 0x90) {\n                lVar11 = lVar14 + 0x28;\n                local_50 = CONCAT44(local_50._4_4_,param_4);\n                lVar12 = lVar11;\n                lVar15 = lVar11;\n                lVar8 = *(long *)(lVar14 + 0x30);\n                if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }\n                else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }\n                for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;\n                    puVar5 = (undefined8 *)*puVar5) {\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }\n              }\n            }\n          }" ({ "{") (expression_statement "lVar14 = *(long *)(param_1 + 0x290);" (assignment_expression "lVar14 = *(long *)(param_1 + 0x290)" (identifier "lVar14") (= "=") (pointer_expression "*(long *)(param_1 + 0x290)" (* "*") (cast_expression "(long *)(param_1 + 0x290)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x290)" (( "(") (binary_expression "param_1 + 0x290" (identifier "param_1") (+ "+") (number_literal "0x290")) () ")"))))) (; ";")) (expression_statement "lVar19 = lVar14 + 0x28;" (assignment_expression "lVar19 = lVar14 + 0x28" (identifier "lVar19") (= "=") (binary_expression "lVar14 + 0x28" (identifier "lVar14") (+ "+") (number_literal "0x28"))) (; ";")) (expression_statement "lVar11 = lVar19;" (assignment_expression "lVar11 = lVar19" (identifier "lVar11") (= "=") (identifier "lVar19")) (; ";")) (expression_statement "lVar12 = lVar19;" (assignment_expression "lVar12 = lVar19" (identifier "lVar12") (= "=") (identifier "lVar19")) (; ";")) (expression_statement "lVar15 = *(long *)(lVar14 + 0x30);" (assignment_expression "lVar15 = *(long *)(lVar14 + 0x30)" (identifier "lVar15") (= "=") (pointer_expression "*(long *)(lVar14 + 0x30)" (* "*") (cast_expression "(long *)(lVar14 + 0x30)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar14 + 0x30)" (( "(") (binary_expression "lVar14 + 0x30" (identifier "lVar14") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "local_b8 = param_3;" (assignment_expression "local_b8 = param_3" (identifier "local_b8") (= "=") (identifier "param_3")) (; ";")) (expression_statement "local_b0 = param_4;" (assignment_expression "local_b0 = param_4" (identifier "local_b0") (= "=") (identifier "param_4")) (; ";")) (expression_statement "local_a8 = pbVar24;" (assignment_expression "local_a8 = pbVar24" (identifier "local_a8") (= "=") (identifier "pbVar24")) (; ";")) (expression_statement "local_a0 = uVar10;" (assignment_expression "local_a0 = uVar10" (identifier "local_a0") (= "=") (identifier "uVar10")) (; ";")) (if_statement "if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192660:\n              local_e8 = &local_b8;\n              lVar12 = FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a);\n            }\n            else {\n              do {\n                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }\n                lVar11 = lVar12;\n                lVar15 = *(long *)(lVar12 + 0x10);\n              } while (*(long *)(lVar12 + 0x10) != 0);\nLAB_0019263a:\n              if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))\n              goto LAB_00192660;\n            }" (if "if") (parenthesized_expression "(*(long *)(lVar14 + 0x30) == 0)" (( "(") (binary_expression "*(long *)(lVar14 + 0x30) == 0" (pointer_expression "*(long *)(lVar14 + 0x30)" (* "*") (cast_expression "(long *)(lVar14 + 0x30)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar14 + 0x30)" (( "(") (binary_expression "lVar14 + 0x30" (identifier "lVar14") (+ "+") (number_literal "0x30")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00192660:\n              local_e8 = &local_b8;\n              lVar12 = FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a);\n            }" ({ "{") (labeled_statement "LAB_00192660:\n              local_e8 = &local_b8;" (statement_identifier "LAB_00192660") (: ":") (expression_statement "local_e8 = &local_b8;" (assignment_expression "local_e8 = &local_b8" (identifier "local_e8") (= "=") (pointer_expression "&local_b8" (& "&") (identifier "local_b8"))) (; ";"))) (expression_statement "lVar12 = FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a);" (assignment_expression "lVar12 = FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a)" (identifier "lVar12") (= "=") (call_expression "FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a)" (identifier "FUN_001bc7f0") (argument_list "(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a)" (( "(") (binary_expression "lVar14 + 0x20" (identifier "lVar14") (+ "+") (number_literal "0x20")) (, ",") (identifier "lVar12") (, ",") (pointer_expression "&DAT_003de3e0" (& "&") (identifier "DAT_003de3e0")) (, ",") (pointer_expression "&local_e8" (& "&") (identifier "local_e8")) (, ",") (pointer_expression "&local_10a" (& "&") (identifier "local_10a")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n              do {\n                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }\n                lVar11 = lVar12;\n                lVar15 = *(long *)(lVar12 + 0x10);\n              } while (*(long *)(lVar12 + 0x10) != 0);\nLAB_0019263a:\n              if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))\n              goto LAB_00192660;\n            }" (else "else") (compound_statement "{\n              do {\n                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }\n                lVar11 = lVar12;\n                lVar15 = *(long *)(lVar12 + 0x10);\n              } while (*(long *)(lVar12 + 0x10) != 0);\nLAB_0019263a:\n              if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))\n              goto LAB_00192660;\n            }" ({ "{") (do_statement "do {\n                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }\n                lVar11 = lVar12;\n                lVar15 = *(long *)(lVar12 + 0x10);\n              } while (*(long *)(lVar12 + 0x10) != 0);" (do "do") (compound_statement "{\n                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }\n                lVar11 = lVar12;\n                lVar15 = *(long *)(lVar12 + 0x10);\n              }" ({ "{") (while_statement "while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))) {\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }" (while "while") (parenthesized_expression "((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4)))))" (( "(") (parenthesized_expression "(lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))))" (( "(") (comma_expression "lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4)))" (assignment_expression "lVar12 = lVar15" (identifier "lVar12") (= "=") (identifier "lVar15")) (, ",") (binary_expression "*(byte **)(lVar12 + 0x20) < param_3 ||\n                       ((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4)))" (binary_expression "*(byte **)(lVar12 + 0x20) < param_3" (pointer_expression "*(byte **)(lVar12 + 0x20)" (* "*") (cast_expression "(byte **)(lVar12 + 0x20)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar12 + 0x20)" (( "(") (binary_expression "lVar12 + 0x20" (identifier "lVar12") (+ "+") (number_literal "0x20")) () ")")))) (< "<") (identifier "param_3")) (|| "||") (parenthesized_expression "((param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4)))" (( "(") (parenthesized_expression "(param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4))" (( "(") (binary_expression "param_3 == *(byte **)(lVar12 + 0x20) &&\n                        (*(uint *)(lVar12 + 0x28) < param_4)" (binary_expression "param_3 == *(byte **)(lVar12 + 0x20)" (identifier "param_3") (== "==") (pointer_expression "*(byte **)(lVar12 + 0x20)" (* "*") (cast_expression "(byte **)(lVar12 + 0x20)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar12 + 0x20)" (( "(") (binary_expression "lVar12 + 0x20" (identifier "lVar12") (+ "+") (number_literal "0x20")) () ")"))))) (&& "&&") (parenthesized_expression "(*(uint *)(lVar12 + 0x28) < param_4)" (( "(") (binary_expression "*(uint *)(lVar12 + 0x28) < param_4" (pointer_expression "*(uint *)(lVar12 + 0x28)" (* "*") (cast_expression "(uint *)(lVar12 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar12 + 0x28)" (( "(") (binary_expression "lVar12 + 0x28" (identifier "lVar12") (+ "+") (number_literal "0x28")) () ")")))) (< "<") (identifier "param_4")) () ")"))) () ")")) () ")")))) () ")")) () ")")) (compound_statement "{\n                  plVar1 = (long *)(lVar12 + 0x18);\n                  lVar12 = lVar11;\n                  lVar15 = *plVar1;\n                  if (*plVar1 == 0) goto LAB_0019263a;\n                }" ({ "{") (expression_statement "plVar1 = (long *)(lVar12 + 0x18);" (assignment_expression "plVar1 = (long *)(lVar12 + 0x18)" (identifier "plVar1") (= "=") (cast_expression "(long *)(lVar12 + 0x18)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar12 + 0x18)" (( "(") (binary_expression "lVar12 + 0x18" (identifier "lVar12") (+ "+") (number_literal "0x18")) () ")")))) (; ";")) (expression_statement "lVar12 = lVar11;" (assignment_expression "lVar12 = lVar11" (identifier "lVar12") (= "=") (identifier "lVar11")) (; ";")) (expression_statement "lVar15 = *plVar1;" (assignment_expression "lVar15 = *plVar1" (identifier "lVar15") (= "=") (pointer_expression "*plVar1" (* "*") (identifier "plVar1"))) (; ";")) (if_statement "if (*plVar1 == 0) goto LAB_0019263a;" (if "if") (parenthesized_expression "(*plVar1 == 0)" (( "(") (binary_expression "*plVar1 == 0" (pointer_expression "*plVar1" (* "*") (identifier "plVar1")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0019263a;" (goto "goto") (statement_identifier "LAB_0019263a") (; ";"))) (} "}"))) (expression_statement "lVar11 = lVar12;" (assignment_expression "lVar11 = lVar12" (identifier "lVar11") (= "=") (identifier "lVar12")) (; ";")) (expression_statement "lVar15 = *(long *)(lVar12 + 0x10);" (assignment_expression "lVar15 = *(long *)(lVar12 + 0x10)" (identifier "lVar15") (= "=") (pointer_expression "*(long *)(lVar12 + 0x10)" (* "*") (cast_expression "(long *)(lVar12 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar12 + 0x10)" (( "(") (binary_expression "lVar12 + 0x10" (identifier "lVar12") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*(long *)(lVar12 + 0x10) != 0)" (( "(") (binary_expression "*(long *)(lVar12 + 0x10) != 0" (pointer_expression "*(long *)(lVar12 + 0x10)" (* "*") (cast_expression "(long *)(lVar12 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar12 + 0x10)" (( "(") (binary_expression "lVar12 + 0x10" (identifier "lVar12") (+ "+") (number_literal "0x10")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (; ";")) (labeled_statement "LAB_0019263a:\n              if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))\n              goto LAB_00192660;" (statement_identifier "LAB_0019263a") (: ":") (if_statement "if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))\n              goto LAB_00192660;" (if "if") (parenthesized_expression "(((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))" (( "(") (binary_expression "((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||\n                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28))))" (parenthesized_expression "((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20)))" (( "(") (binary_expression "(lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))" (parenthesized_expression "(lVar12 == lVar19)" (( "(") (binary_expression "lVar12 == lVar19" (identifier "lVar12") (== "==") (identifier "lVar19")) () ")")) (|| "||") (parenthesized_expression "(param_3 < *(byte **)(lVar12 + 0x20))" (( "(") (binary_expression "param_3 < *(byte **)(lVar12 + 0x20)" (identifier "param_3") (< "<") (pointer_expression "*(byte **)(lVar12 + 0x20)" (* "*") (cast_expression "(byte **)(lVar12 + 0x20)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar12 + 0x20)" (( "(") (binary_expression "lVar12 + 0x20" (identifier "lVar12") (+ "+") (number_literal "0x20")) () ")"))))) () ")"))) () ")")) (|| "||") (parenthesized_expression "((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28))))" (( "(") (parenthesized_expression "(param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))" (( "(") (binary_expression "param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28))" (binary_expression "param_3 == *(byte **)(lVar12 + 0x20)" (identifier "param_3") (== "==") (pointer_expression "*(byte **)(lVar12 + 0x20)" (* "*") (cast_expression "(byte **)(lVar12 + 0x20)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar12 + 0x20)" (( "(") (binary_expression "lVar12 + 0x20" (identifier "lVar12") (+ "+") (number_literal "0x20")) () ")"))))) (&& "&&") (parenthesized_expression "(param_4 < *(uint *)(lVar12 + 0x28))" (( "(") (binary_expression "param_4 < *(uint *)(lVar12 + 0x28)" (identifier "param_4") (< "<") (pointer_expression "*(uint *)(lVar12 + 0x28)" (* "*") (cast_expression "(uint *)(lVar12 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar12 + 0x28)" (( "(") (binary_expression "lVar12 + 0x28" (identifier "lVar12") (+ "+") (number_literal "0x28")) () ")"))))) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_00192660;" (goto "goto") (statement_identifier "LAB_00192660") (; ";")))) (} "}")))) (expression_statement "local_f0 = lVar12 + 0x30;" (assignment_expression "local_f0 = lVar12 + 0x30" (identifier "local_f0") (= "=") (binary_expression "lVar12 + 0x30" (identifier "lVar12") (+ "+") (number_literal "0x30"))) (; ";")) (expression_statement "FUN_001bcaf0(local_f0,&local_a8,&local_f0,1);" (call_expression "FUN_001bcaf0(local_f0,&local_a8,&local_f0,1)" (identifier "FUN_001bcaf0") (argument_list "(local_f0,&local_a8,&local_f0,1)" (( "(") (identifier "local_f0") (, ",") (pointer_expression "&local_a8" (& "&") (identifier "local_a8")) (, ",") (pointer_expression "&local_f0" (& "&") (identifier "local_f0")) (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "plVar1 = *(long **)(PTR_DAT_004ba7c8 + 0x18);" (assignment_expression "plVar1 = *(long **)(PTR_DAT_004ba7c8 + 0x18)" (identifier "plVar1") (= "=") (pointer_expression "*(long **)(PTR_DAT_004ba7c8 + 0x18)" (* "*") (cast_expression "(long **)(PTR_DAT_004ba7c8 + 0x18)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(PTR_DAT_004ba7c8 + 0x18)" (( "(") (binary_expression "PTR_DAT_004ba7c8 + 0x18" (identifier "PTR_DAT_004ba7c8") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (if_statement "if (plVar1 == (long *)0x0) {\n                    \n              FUN_001e9890("../../gold/parameters.h",0x73,"sized_target");\n            }" (if "if") (parenthesized_expression "(plVar1 == (long *)0x0)" (( "(") (binary_expression "plVar1 == (long *)0x0" (identifier "plVar1") (== "==") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    \n              FUN_001e9890("../../gold/parameters.h",0x73,"sized_target");\n            }" ({ "{") (expression_statement "FUN_001e9890("../../gold/parameters.h",0x73,"sized_target");" (call_expression "FUN_001e9890("../../gold/parameters.h",0x73,"sized_target")" (identifier "FUN_001e9890") (argument_list "("../../gold/parameters.h",0x73,"sized_target")" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x73") (, ",") (string_literal ""sized_target"" (" """) (string_content "sized_target") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "(**(code **)(*plVar1 + 0x208))(plVar1,param_1,param_3,param_4,pbVar24,uVar10,local_134);" (call_expression "(**(code **)(*plVar1 + 0x208))(plVar1,param_1,param_3,param_4,pbVar24,uVar10,local_134)" (parenthesized_expression "(**(code **)(*plVar1 + 0x208))" (( "(") (pointer_expression "**(code **)(*plVar1 + 0x208)" (* "*") (pointer_expression "*(code **)(*plVar1 + 0x208)" (* "*") (cast_expression "(code **)(*plVar1 + 0x208)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar1 + 0x208)" (( "(") (binary_expression "*plVar1 + 0x208" (pointer_expression "*plVar1" (* "*") (identifier "plVar1")) (+ "+") (number_literal "0x208")) () ")"))))) () ")")) (argument_list "(plVar1,param_1,param_3,param_4,pbVar24,uVar10,local_134)" (( "(") (identifier "plVar1") (, ",") (identifier "param_1") (, ",") (identifier "param_3") (, ",") (identifier "param_4") (, ",") (identifier "pbVar24") (, ",") (identifier "uVar10") (, ",") (identifier "local_134") () ")"))) (; ";")) (if_statement "if (local_158 != (byte *)0x0) {\n              lVar19 = *(long *)(param_1 + 0x290);\n              local_58 = local_48;\n              sVar13 = strlen((char *)local_158);\n              FUN_001bc4c0(&local_58,local_158,local_158 + sVar13);\n              lVar19 = FUN_001be060(lVar19 + 0x88,&local_58);\n              if (local_58 != local_48) {\n                FUN_00338a40();\n              }\n              lVar14 = *(long *)(param_1 + 0x290);\n              if (lVar19 != lVar14 + 0x90) {\n                lVar11 = lVar14 + 0x28;\n                local_50 = CONCAT44(local_50._4_4_,param_4);\n                lVar12 = lVar11;\n                lVar15 = lVar11;\n                lVar8 = *(long *)(lVar14 + 0x30);\n                if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }\n                else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }\n                for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;\n                    puVar5 = (undefined8 *)*puVar5) {\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }\n              }\n            }" (if "if") (parenthesized_expression "(local_158 != (byte *)0x0)" (( "(") (binary_expression "local_158 != (byte *)0x0" (identifier "local_158") (!= "!=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              lVar19 = *(long *)(param_1 + 0x290);\n              local_58 = local_48;\n              sVar13 = strlen((char *)local_158);\n              FUN_001bc4c0(&local_58,local_158,local_158 + sVar13);\n              lVar19 = FUN_001be060(lVar19 + 0x88,&local_58);\n              if (local_58 != local_48) {\n                FUN_00338a40();\n              }\n              lVar14 = *(long *)(param_1 + 0x290);\n              if (lVar19 != lVar14 + 0x90) {\n                lVar11 = lVar14 + 0x28;\n                local_50 = CONCAT44(local_50._4_4_,param_4);\n                lVar12 = lVar11;\n                lVar15 = lVar11;\n                lVar8 = *(long *)(lVar14 + 0x30);\n                if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }\n                else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }\n                for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;\n                    puVar5 = (undefined8 *)*puVar5) {\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }\n              }\n            }" ({ "{") (expression_statement "lVar19 = *(long *)(param_1 + 0x290);" (assignment_expression "lVar19 = *(long *)(param_1 + 0x290)" (identifier "lVar19") (= "=") (pointer_expression "*(long *)(param_1 + 0x290)" (* "*") (cast_expression "(long *)(param_1 + 0x290)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x290)" (( "(") (binary_expression "param_1 + 0x290" (identifier "param_1") (+ "+") (number_literal "0x290")) () ")"))))) (; ";")) (expression_statement "local_58 = local_48;" (assignment_expression "local_58 = local_48" (identifier "local_58") (= "=") (identifier "local_48")) (; ";")) (expression_statement "sVar13 = strlen((char *)local_158);" (assignment_expression "sVar13 = strlen((char *)local_158)" (identifier "sVar13") (= "=") (call_expression "strlen((char *)local_158)" (identifier "strlen") (argument_list "((char *)local_158)" (( "(") (cast_expression "(char *)local_158" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_158")) () ")")))) (; ";")) (expression_statement "FUN_001bc4c0(&local_58,local_158,local_158 + sVar13);" (call_expression "FUN_001bc4c0(&local_58,local_158,local_158 + sVar13)" (identifier "FUN_001bc4c0") (argument_list "(&local_58,local_158,local_158 + sVar13)" (( "(") (pointer_expression "&local_58" (& "&") (identifier "local_58")) (, ",") (identifier "local_158") (, ",") (binary_expression "local_158 + sVar13" (identifier "local_158") (+ "+") (identifier "sVar13")) () ")"))) (; ";")) (expression_statement "lVar19 = FUN_001be060(lVar19 + 0x88,&local_58);" (assignment_expression "lVar19 = FUN_001be060(lVar19 + 0x88,&local_58)" (identifier "lVar19") (= "=") (call_expression "FUN_001be060(lVar19 + 0x88,&local_58)" (identifier "FUN_001be060") (argument_list "(lVar19 + 0x88,&local_58)" (( "(") (binary_expression "lVar19 + 0x88" (identifier "lVar19") (+ "+") (number_literal "0x88")) (, ",") (pointer_expression "&local_58" (& "&") (identifier "local_58")) () ")")))) (; ";")) (if_statement "if (local_58 != local_48) {\n                FUN_00338a40();\n              }" (if "if") (parenthesized_expression "(local_58 != local_48)" (( "(") (binary_expression "local_58 != local_48" (identifier "local_58") (!= "!=") (identifier "local_48")) () ")")) (compound_statement "{\n                FUN_00338a40();\n              }" ({ "{") (expression_statement "FUN_00338a40();" (call_expression "FUN_00338a40()" (identifier "FUN_00338a40") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "lVar14 = *(long *)(param_1 + 0x290);" (assignment_expression "lVar14 = *(long *)(param_1 + 0x290)" (identifier "lVar14") (= "=") (pointer_expression "*(long *)(param_1 + 0x290)" (* "*") (cast_expression "(long *)(param_1 + 0x290)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x290)" (( "(") (binary_expression "param_1 + 0x290" (identifier "param_1") (+ "+") (number_literal "0x290")) () ")"))))) (; ";")) (if_statement "if (lVar19 != lVar14 + 0x90) {\n                lVar11 = lVar14 + 0x28;\n                local_50 = CONCAT44(local_50._4_4_,param_4);\n                lVar12 = lVar11;\n                lVar15 = lVar11;\n                lVar8 = *(long *)(lVar14 + 0x30);\n                if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }\n                else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }\n                for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;\n                    puVar5 = (undefined8 *)*puVar5) {\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }\n              }" (if "if") (parenthesized_expression "(lVar19 != lVar14 + 0x90)" (( "(") (binary_expression "lVar19 != lVar14 + 0x90" (identifier "lVar19") (!= "!=") (binary_expression "lVar14 + 0x90" (identifier "lVar14") (+ "+") (number_literal "0x90"))) () ")")) (compound_statement "{\n                lVar11 = lVar14 + 0x28;\n                local_50 = CONCAT44(local_50._4_4_,param_4);\n                lVar12 = lVar11;\n                lVar15 = lVar11;\n                lVar8 = *(long *)(lVar14 + 0x30);\n                if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }\n                else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }\n                for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;\n                    puVar5 = (undefined8 *)*puVar5) {\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }\n              }" ({ "{") (expression_statement "lVar11 = lVar14 + 0x28;" (assignment_expression "lVar11 = lVar14 + 0x28" (identifier "lVar11") (= "=") (binary_expression "lVar14 + 0x28" (identifier "lVar14") (+ "+") (number_literal "0x28"))) (; ";")) (expression_statement "local_50 = CONCAT44(local_50._4_4_,param_4);" (assignment_expression "local_50 = CONCAT44(local_50._4_4_,param_4)" (identifier "local_50") (= "=") (call_expression "CONCAT44(local_50._4_4_,param_4)" (identifier "CONCAT44") (argument_list "(local_50._4_4_,param_4)" (( "(") (field_expression "local_50._4_4_" (identifier "local_50") (. ".") (field_identifier "_4_4_")) (, ",") (identifier "param_4") () ")")))) (; ";")) (expression_statement "lVar12 = lVar11;" (assignment_expression "lVar12 = lVar11" (identifier "lVar12") (= "=") (identifier "lVar11")) (; ";")) (expression_statement "lVar15 = lVar11;" (assignment_expression "lVar15 = lVar11" (identifier "lVar15") (= "=") (identifier "lVar11")) (; ";")) (expression_statement "lVar8 = *(long *)(lVar14 + 0x30);" (assignment_expression "lVar8 = *(long *)(lVar14 + 0x30)" (identifier "lVar8") (= "=") (pointer_expression "*(long *)(lVar14 + 0x30)" (* "*") (cast_expression "(long *)(lVar14 + 0x30)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar14 + 0x30)" (( "(") (binary_expression "lVar14 + 0x30" (identifier "lVar14") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (if_statement "if (*(long *)(lVar14 + 0x30) == 0) {\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }\n                else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }" (if "if") (parenthesized_expression "(*(long *)(lVar14 + 0x30) == 0)" (( "(") (binary_expression "*(long *)(lVar14 + 0x30) == 0" (pointer_expression "*(long *)(lVar14 + 0x30)" (* "*") (cast_expression "(long *)(lVar14 + 0x30)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar14 + 0x30)" (( "(") (binary_expression "lVar14 + 0x30" (identifier "lVar14") (+ "+") (number_literal "0x30")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00192b80:\n                  local_e0 = &local_58;\n                  local_58 = param_3;\n                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);\n                }" ({ "{") (labeled_statement "LAB_00192b80:\n                  local_e0 = &local_58;" (statement_identifier "LAB_00192b80") (: ":") (expression_statement "local_e0 = &local_58;" (assignment_expression "local_e0 = &local_58" (identifier "local_e0") (= "=") (pointer_expression "&local_58" (& "&") (identifier "local_58"))) (; ";"))) (expression_statement "local_58 = param_3;" (assignment_expression "local_58 = param_3" (identifier "local_58") (= "=") (identifier "param_3")) (; ";")) (expression_statement "lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);" (assignment_expression "lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109)" (identifier "lVar15") (= "=") (call_expression "FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109)" (identifier "FUN_001bc7f0") (argument_list "(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109)" (( "(") (binary_expression "lVar14 + 0x20" (identifier "lVar14") (+ "+") (number_literal "0x20")) (, ",") (identifier "lVar15") (, ",") (pointer_expression "&DAT_003de3e0" (& "&") (identifier "DAT_003de3e0")) (, ",") (pointer_expression "&local_e0" (& "&") (identifier "local_e0")) (, ",") (pointer_expression "&local_109" (& "&") (identifier "local_109")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }" (else "else") (compound_statement "{\n                  do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);\nLAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;\n                }" ({ "{") (do_statement "do {\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  } while (*(long *)(lVar15 + 0x10) != 0);" (do "do") (compound_statement "{\n                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }\n                    lVar12 = lVar15;\n                    lVar8 = *(long *)(lVar15 + 0x10);\n                  }" ({ "{") (while_statement "while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))) {\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }" (while "while") (parenthesized_expression "((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4)))))" (( "(") (parenthesized_expression "(lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))))" (( "(") (comma_expression "lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4)))" (assignment_expression "lVar15 = lVar8" (identifier "lVar15") (= "=") (identifier "lVar8")) (, ",") (binary_expression "*(byte **)(lVar15 + 0x20) < param_3 ||\n                           ((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4)))" (binary_expression "*(byte **)(lVar15 + 0x20) < param_3" (pointer_expression "*(byte **)(lVar15 + 0x20)" (* "*") (cast_expression "(byte **)(lVar15 + 0x20)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar15 + 0x20)" (( "(") (binary_expression "lVar15 + 0x20" (identifier "lVar15") (+ "+") (number_literal "0x20")) () ")")))) (< "<") (identifier "param_3")) (|| "||") (parenthesized_expression "((param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4)))" (( "(") (parenthesized_expression "(param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4))" (( "(") (binary_expression "param_3 == *(byte **)(lVar15 + 0x20) &&\n                            (*(uint *)(lVar15 + 0x28) < param_4)" (binary_expression "param_3 == *(byte **)(lVar15 + 0x20)" (identifier "param_3") (== "==") (pointer_expression "*(byte **)(lVar15 + 0x20)" (* "*") (cast_expression "(byte **)(lVar15 + 0x20)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar15 + 0x20)" (( "(") (binary_expression "lVar15 + 0x20" (identifier "lVar15") (+ "+") (number_literal "0x20")) () ")"))))) (&& "&&") (parenthesized_expression "(*(uint *)(lVar15 + 0x28) < param_4)" (( "(") (binary_expression "*(uint *)(lVar15 + 0x28) < param_4" (pointer_expression "*(uint *)(lVar15 + 0x28)" (* "*") (cast_expression "(uint *)(lVar15 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar15 + 0x28)" (( "(") (binary_expression "lVar15 + 0x28" (identifier "lVar15") (+ "+") (number_literal "0x28")) () ")")))) (< "<") (identifier "param_4")) () ")"))) () ")")) () ")")))) () ")")) () ")")) (compound_statement "{\n                      plVar1 = (long *)(lVar15 + 0x18);\n                      lVar15 = lVar12;\n                      lVar8 = *plVar1;\n                      if (*plVar1 == 0) goto LAB_001927c2;\n                    }" ({ "{") (expression_statement "plVar1 = (long *)(lVar15 + 0x18);" (assignment_expression "plVar1 = (long *)(lVar15 + 0x18)" (identifier "plVar1") (= "=") (cast_expression "(long *)(lVar15 + 0x18)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar15 + 0x18)" (( "(") (binary_expression "lVar15 + 0x18" (identifier "lVar15") (+ "+") (number_literal "0x18")) () ")")))) (; ";")) (expression_statement "lVar15 = lVar12;" (assignment_expression "lVar15 = lVar12" (identifier "lVar15") (= "=") (identifier "lVar12")) (; ";")) (expression_statement "lVar8 = *plVar1;" (assignment_expression "lVar8 = *plVar1" (identifier "lVar8") (= "=") (pointer_expression "*plVar1" (* "*") (identifier "plVar1"))) (; ";")) (if_statement "if (*plVar1 == 0) goto LAB_001927c2;" (if "if") (parenthesized_expression "(*plVar1 == 0)" (( "(") (binary_expression "*plVar1 == 0" (pointer_expression "*plVar1" (* "*") (identifier "plVar1")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001927c2;" (goto "goto") (statement_identifier "LAB_001927c2") (; ";"))) (} "}"))) (expression_statement "lVar12 = lVar15;" (assignment_expression "lVar12 = lVar15" (identifier "lVar12") (= "=") (identifier "lVar15")) (; ";")) (expression_statement "lVar8 = *(long *)(lVar15 + 0x10);" (assignment_expression "lVar8 = *(long *)(lVar15 + 0x10)" (identifier "lVar8") (= "=") (pointer_expression "*(long *)(lVar15 + 0x10)" (* "*") (cast_expression "(long *)(lVar15 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar15 + 0x10)" (( "(") (binary_expression "lVar15 + 0x10" (identifier "lVar15") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*(long *)(lVar15 + 0x10) != 0)" (( "(") (binary_expression "*(long *)(lVar15 + 0x10) != 0" (pointer_expression "*(long *)(lVar15 + 0x10)" (* "*") (cast_expression "(long *)(lVar15 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar15 + 0x10)" (( "(") (binary_expression "lVar15 + 0x10" (identifier "lVar15") (+ "+") (number_literal "0x10")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (; ";")) (labeled_statement "LAB_001927c2:\n                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;" (statement_identifier "LAB_001927c2") (: ":") (if_statement "if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;" (if "if") (parenthesized_expression "(((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28)))))" (( "(") (binary_expression "((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||\n                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))" (parenthesized_expression "((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20)))" (( "(") (binary_expression "(lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))" (parenthesized_expression "(lVar15 == lVar11)" (( "(") (binary_expression "lVar15 == lVar11" (identifier "lVar15") (== "==") (identifier "lVar11")) () ")")) (|| "||") (parenthesized_expression "(param_3 < *(byte **)(lVar15 + 0x20))" (( "(") (binary_expression "param_3 < *(byte **)(lVar15 + 0x20)" (identifier "param_3") (< "<") (pointer_expression "*(byte **)(lVar15 + 0x20)" (* "*") (cast_expression "(byte **)(lVar15 + 0x20)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar15 + 0x20)" (( "(") (binary_expression "lVar15 + 0x20" (identifier "lVar15") (+ "+") (number_literal "0x20")) () ")"))))) () ")"))) () ")")) (|| "||") (parenthesized_expression "((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))))" (( "(") (parenthesized_expression "(local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28)))" (( "(") (comma_expression "local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))" (assignment_expression "local_58 = param_3" (identifier "local_58") (= "=") (identifier "param_3")) (, ",") (binary_expression "param_3 == *(byte **)(lVar15 + 0x20) &&\n                      (param_4 < *(uint *)(lVar15 + 0x28))" (binary_expression "param_3 == *(byte **)(lVar15 + 0x20)" (identifier "param_3") (== "==") (pointer_expression "*(byte **)(lVar15 + 0x20)" (* "*") (cast_expression "(byte **)(lVar15 + 0x20)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar15 + 0x20)" (( "(") (binary_expression "lVar15 + 0x20" (identifier "lVar15") (+ "+") (number_literal "0x20")) () ")"))))) (&& "&&") (parenthesized_expression "(param_4 < *(uint *)(lVar15 + 0x28))" (( "(") (binary_expression "param_4 < *(uint *)(lVar15 + 0x28)" (identifier "param_4") (< "<") (pointer_expression "*(uint *)(lVar15 + 0x28)" (* "*") (cast_expression "(uint *)(lVar15 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar15 + 0x28)" (( "(") (binary_expression "lVar15 + 0x28" (identifier "lVar15") (+ "+") (number_literal "0x28")) () ")"))))) () ")")))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_00192b80;" (goto "goto") (statement_identifier "LAB_00192b80") (; ";")))) (} "}")))) (for_statement "for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;\n                    puVar5 = (undefined8 *)*puVar5) {\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }" (for "for") (( "(") (assignment_expression "puVar5 = *(undefined8 **)(lVar19 + 0x50)" (identifier "puVar5") (= "=") (pointer_expression "*(undefined8 **)(lVar19 + 0x50)" (* "*") (cast_expression "(undefined8 **)(lVar19 + 0x50)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar19 + 0x50)" (( "(") (binary_expression "lVar19 + 0x50" (identifier "lVar19") (+ "+") (number_literal "0x50")) () ")"))))) (; ";") (binary_expression "puVar5 != (undefined8 *)0x0" (identifier "puVar5") (!= "!=") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";") (assignment_expression "puVar5 = (undefined8 *)*puVar5" (identifier "puVar5") (= "=") (cast_expression "(undefined8 *)*puVar5" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar5" (* "*") (identifier "puVar5")))) () ")") (compound_statement "{\n                  local_f8 = lVar15 + 0x30;\n                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);\n                }" ({ "{") (expression_statement "local_f8 = lVar15 + 0x30;" (assignment_expression "local_f8 = lVar15 + 0x30" (identifier "local_f8") (= "=") (binary_expression "lVar15 + 0x30" (identifier "lVar15") (+ "+") (number_literal "0x30"))) (; ";")) (expression_statement "FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);" (call_expression "FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1)" (identifier "FUN_001bcaf0") (argument_list "(lVar15 + 0x30,puVar5 + 1,&local_f8,1)" (( "(") (binary_expression "lVar15 + 0x30" (identifier "lVar15") (+ "+") (number_literal "0x30")) (, ",") (binary_expression "puVar5 + 1" (identifier "puVar5") (+ "+") (number_literal "1")) (, ",") (pointer_expression "&local_f8" (& "&") (identifier "local_f8")) (, ",") (number_literal "1") () ")"))) (; ";")) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (} "}")) (else_clause "else {\n        if (uVar22 < *(uint *)(param_3 + 0x120)) {\n          local_a8 = (byte *)0x0;\nLAB_00192adb:\n                    \n          FUN_001e9890("../../gold/gc.h",0x11c,"gc_process_relocs");\n        }\n        uVar23 = (ulong)(uVar22 - *(uint *)(param_3 + 0x120));\n        if ((ulong)(*(long *)(param_3 + 0x138) - *(long *)(param_3 + 0x130) >> 3) <= uVar23) {\n                    \n          FUN_001e9890("../../gold/object.h",0x8ad,"global_symbol");\n        }\n        local_a8 = *(byte **)(*(long *)(param_3 + 0x130) + uVar23 * 8);\n        if (local_a8 == (byte *)0x0) goto LAB_00192adb;\n        if ((local_a8[0x3a] & 0x10) != 0) {\n          local_a8 = (byte *)FUN_002ddad0(param_1,local_a8);\n        }\n        if ((local_a8[0x3a] & 7) == 0) {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          pbVar24 = *(byte **)(local_a8 + 0x10);\n          local_134 = uVar4 + local_150;\n          if ((pbVar24[0x3c] & 1) == 0) {\n            uVar10 = *(uint *)(local_a8 + 0x18);\n            bVar18 = local_a8[0x3b] >> 5 & 1;\n            uVar25 = (local_a8[0x38] & 0xf) < 2;\n            uVar29 = (local_a8[0x38] & 0xf) == 2;\n            if ((bool)uVar29) {\n              uVar25 = 0;\n              uVar29 = local_136 == '\0';\n              if (!(bool)uVar29) {\n                uVar25 = false;\n                uVar29 = bVar18 == 0;\n                if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }\n                local_100 = *(long *)(param_1 + 0x298) + 0x68;\n                local_d8 = pbVar24;\n                local_d0 = uVar10;\n                    \n                FUN_001bcb90(local_100,&local_d8,&local_100,1);\n              }\n            }\n          }\n          else {\n            bVar18 = 0;\n            uVar10 = 0;\n            uVar25 = 0;\n            pbVar24 = (byte *)0x0;\n            uVar29 = 1;\n          }\n        }\n        else {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          bVar18 = 0;\n          uVar10 = 0;\n          uVar25 = 0;\n          pbVar24 = (byte *)0x0;\n          uVar29 = 1;\n          local_134 = uVar4 + local_150;\n        }\nLAB_00192930:\n        pbVar17 = *(byte **)local_a8;\n        lVar19 = 8;\n        pbVar20 = (byte *)"__start_";\n        pbVar21 = pbVar17;\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          uVar25 = *pbVar20 < *pbVar21;\n          uVar29 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n          pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n        } while ((bool)uVar29);\n        bVar26 = false;\n        bVar30 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;\n        if (bVar30) {\n          pbVar17 = pbVar17 + 8;\n        }\n        else {\n          lVar19 = 7;\n          pbVar20 = (byte *)"__stop_";\n          pbVar21 = pbVar17;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar21;\n            bVar30 = *pbVar20 == *pbVar21;\n            pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n            pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n          } while (bVar30);\n          pbVar17 = pbVar17 + 7;\n          if ((!bVar26 && !bVar30) != bVar26) {\n            pbVar17 = local_158;\n          }\n        }\n        local_158 = pbVar17;\n        if (bVar28) {\n          if (bVar18 == 0) {\n            local_58 = (byte *)0x0;\n            local_50 = (ulong)local_50._4_4_ << 0x20;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          else {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = pbVar24;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          puVar5 = *(undefined8 **)(local_170 + 8);\n          if (puVar5 == *(undefined8 **)(local_170 + 0x10)) {\n            FUN_001bbf50(local_170,puVar5,&local_a8);\n          }\n          else {\n            *puVar5 = local_a8;\n            *(undefined8 **)(local_170 + 8) = puVar5 + 1;\n          }\n          local_58 = (byte *)(ulong)local_150;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_b8 = (byte *)((ulong)local_b8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_b8);\n        }\n        if (bVar18 != 0) goto LAB_001925a8;\n      }" (else "else") (compound_statement "{\n        if (uVar22 < *(uint *)(param_3 + 0x120)) {\n          local_a8 = (byte *)0x0;\nLAB_00192adb:\n                    \n          FUN_001e9890("../../gold/gc.h",0x11c,"gc_process_relocs");\n        }\n        uVar23 = (ulong)(uVar22 - *(uint *)(param_3 + 0x120));\n        if ((ulong)(*(long *)(param_3 + 0x138) - *(long *)(param_3 + 0x130) >> 3) <= uVar23) {\n                    \n          FUN_001e9890("../../gold/object.h",0x8ad,"global_symbol");\n        }\n        local_a8 = *(byte **)(*(long *)(param_3 + 0x130) + uVar23 * 8);\n        if (local_a8 == (byte *)0x0) goto LAB_00192adb;\n        if ((local_a8[0x3a] & 0x10) != 0) {\n          local_a8 = (byte *)FUN_002ddad0(param_1,local_a8);\n        }\n        if ((local_a8[0x3a] & 7) == 0) {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          pbVar24 = *(byte **)(local_a8 + 0x10);\n          local_134 = uVar4 + local_150;\n          if ((pbVar24[0x3c] & 1) == 0) {\n            uVar10 = *(uint *)(local_a8 + 0x18);\n            bVar18 = local_a8[0x3b] >> 5 & 1;\n            uVar25 = (local_a8[0x38] & 0xf) < 2;\n            uVar29 = (local_a8[0x38] & 0xf) == 2;\n            if ((bool)uVar29) {\n              uVar25 = 0;\n              uVar29 = local_136 == '\0';\n              if (!(bool)uVar29) {\n                uVar25 = false;\n                uVar29 = bVar18 == 0;\n                if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }\n                local_100 = *(long *)(param_1 + 0x298) + 0x68;\n                local_d8 = pbVar24;\n                local_d0 = uVar10;\n                    \n                FUN_001bcb90(local_100,&local_d8,&local_100,1);\n              }\n            }\n          }\n          else {\n            bVar18 = 0;\n            uVar10 = 0;\n            uVar25 = 0;\n            pbVar24 = (byte *)0x0;\n            uVar29 = 1;\n          }\n        }\n        else {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          bVar18 = 0;\n          uVar10 = 0;\n          uVar25 = 0;\n          pbVar24 = (byte *)0x0;\n          uVar29 = 1;\n          local_134 = uVar4 + local_150;\n        }\nLAB_00192930:\n        pbVar17 = *(byte **)local_a8;\n        lVar19 = 8;\n        pbVar20 = (byte *)"__start_";\n        pbVar21 = pbVar17;\n        do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          uVar25 = *pbVar20 < *pbVar21;\n          uVar29 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n          pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n        } while ((bool)uVar29);\n        bVar26 = false;\n        bVar30 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;\n        if (bVar30) {\n          pbVar17 = pbVar17 + 8;\n        }\n        else {\n          lVar19 = 7;\n          pbVar20 = (byte *)"__stop_";\n          pbVar21 = pbVar17;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar21;\n            bVar30 = *pbVar20 == *pbVar21;\n            pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n            pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n          } while (bVar30);\n          pbVar17 = pbVar17 + 7;\n          if ((!bVar26 && !bVar30) != bVar26) {\n            pbVar17 = local_158;\n          }\n        }\n        local_158 = pbVar17;\n        if (bVar28) {\n          if (bVar18 == 0) {\n            local_58 = (byte *)0x0;\n            local_50 = (ulong)local_50._4_4_ << 0x20;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          else {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = pbVar24;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          puVar5 = *(undefined8 **)(local_170 + 8);\n          if (puVar5 == *(undefined8 **)(local_170 + 0x10)) {\n            FUN_001bbf50(local_170,puVar5,&local_a8);\n          }\n          else {\n            *puVar5 = local_a8;\n            *(undefined8 **)(local_170 + 8) = puVar5 + 1;\n          }\n          local_58 = (byte *)(ulong)local_150;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_b8 = (byte *)((ulong)local_b8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_b8);\n        }\n        if (bVar18 != 0) goto LAB_001925a8;\n      }" ({ "{") (if_statement "if (uVar22 < *(uint *)(param_3 + 0x120)) {\n          local_a8 = (byte *)0x0;\nLAB_00192adb:\n                    \n          FUN_001e9890("../../gold/gc.h",0x11c,"gc_process_relocs");\n        }" (if "if") (parenthesized_expression "(uVar22 < *(uint *)(param_3 + 0x120))" (( "(") (binary_expression "uVar22 < *(uint *)(param_3 + 0x120)" (identifier "uVar22") (< "<") (pointer_expression "*(uint *)(param_3 + 0x120)" (* "*") (cast_expression "(uint *)(param_3 + 0x120)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x120)" (( "(") (binary_expression "param_3 + 0x120" (identifier "param_3") (+ "+") (number_literal "0x120")) () ")"))))) () ")")) (compound_statement "{\n          local_a8 = (byte *)0x0;\nLAB_00192adb:\n                    \n          FUN_001e9890("../../gold/gc.h",0x11c,"gc_process_relocs");\n        }" ({ "{") (expression_statement "local_a8 = (byte *)0x0;" (assignment_expression "local_a8 = (byte *)0x0" (identifier "local_a8") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (labeled_statement "LAB_00192adb:\n                    \n          FUN_001e9890("../../gold/gc.h",0x11c,"gc_process_relocs");" (statement_identifier "LAB_00192adb") (: ":") (expression_statement "FUN_001e9890("../../gold/gc.h",0x11c,"gc_process_relocs");" (call_expression "FUN_001e9890("../../gold/gc.h",0x11c,"gc_process_relocs")" (identifier "FUN_001e9890") (argument_list "("../../gold/gc.h",0x11c,"gc_process_relocs")" (( "(") (string_literal ""../../gold/gc.h"" (" """) (string_content "../../gold/gc.h") (" """)) (, ",") (number_literal "0x11c") (, ",") (string_literal ""gc_process_relocs"" (" """) (string_content "gc_process_relocs") (" """)) () ")"))) (; ";"))) (} "}"))) (expression_statement "uVar23 = (ulong)(uVar22 - *(uint *)(param_3 + 0x120));" (assignment_expression "uVar23 = (ulong)(uVar22 - *(uint *)(param_3 + 0x120))" (identifier "uVar23") (= "=") (call_expression "(ulong)(uVar22 - *(uint *)(param_3 + 0x120))" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar22 - *(uint *)(param_3 + 0x120))" (( "(") (binary_expression "uVar22 - *(uint *)(param_3 + 0x120)" (identifier "uVar22") (- "-") (pointer_expression "*(uint *)(param_3 + 0x120)" (* "*") (cast_expression "(uint *)(param_3 + 0x120)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x120)" (( "(") (binary_expression "param_3 + 0x120" (identifier "param_3") (+ "+") (number_literal "0x120")) () ")"))))) () ")")))) (; ";")) (if_statement "if ((ulong)(*(long *)(param_3 + 0x138) - *(long *)(param_3 + 0x130) >> 3) <= uVar23) {\n                    \n          FUN_001e9890("../../gold/object.h",0x8ad,"global_symbol");\n        }" (if "if") (parenthesized_expression "((ulong)(*(long *)(param_3 + 0x138) - *(long *)(param_3 + 0x130) >> 3) <= uVar23)" (( "(") (binary_expression "(ulong)(*(long *)(param_3 + 0x138) - *(long *)(param_3 + 0x130) >> 3) <= uVar23" (call_expression "(ulong)(*(long *)(param_3 + 0x138) - *(long *)(param_3 + 0x130) >> 3)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(*(long *)(param_3 + 0x138) - *(long *)(param_3 + 0x130) >> 3)" (( "(") (binary_expression "*(long *)(param_3 + 0x138) - *(long *)(param_3 + 0x130) >> 3" (binary_expression "*(long *)(param_3 + 0x138) - *(long *)(param_3 + 0x130)" (pointer_expression "*(long *)(param_3 + 0x138)" (* "*") (cast_expression "(long *)(param_3 + 0x138)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x138)" (( "(") (binary_expression "param_3 + 0x138" (identifier "param_3") (+ "+") (number_literal "0x138")) () ")")))) (- "-") (pointer_expression "*(long *)(param_3 + 0x130)" (* "*") (cast_expression "(long *)(param_3 + 0x130)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x130)" (( "(") (binary_expression "param_3 + 0x130" (identifier "param_3") (+ "+") (number_literal "0x130")) () ")"))))) (>> ">>") (number_literal "3")) () ")"))) (<= "<=") (identifier "uVar23")) () ")")) (compound_statement "{\n                    \n          FUN_001e9890("../../gold/object.h",0x8ad,"global_symbol");\n        }" ({ "{") (expression_statement "FUN_001e9890("../../gold/object.h",0x8ad,"global_symbol");" (call_expression "FUN_001e9890("../../gold/object.h",0x8ad,"global_symbol")" (identifier "FUN_001e9890") (argument_list "("../../gold/object.h",0x8ad,"global_symbol")" (( "(") (string_literal ""../../gold/object.h"" (" """) (string_content "../../gold/object.h") (" """)) (, ",") (number_literal "0x8ad") (, ",") (string_literal ""global_symbol"" (" """) (string_content "global_symbol") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "local_a8 = *(byte **)(*(long *)(param_3 + 0x130) + uVar23 * 8);" (assignment_expression "local_a8 = *(byte **)(*(long *)(param_3 + 0x130) + uVar23 * 8)" (identifier "local_a8") (= "=") (pointer_expression "*(byte **)(*(long *)(param_3 + 0x130) + uVar23 * 8)" (* "*") (cast_expression "(byte **)(*(long *)(param_3 + 0x130) + uVar23 * 8)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(long *)(param_3 + 0x130) + uVar23 * 8)" (( "(") (binary_expression "*(long *)(param_3 + 0x130) + uVar23 * 8" (pointer_expression "*(long *)(param_3 + 0x130)" (* "*") (cast_expression "(long *)(param_3 + 0x130)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x130)" (( "(") (binary_expression "param_3 + 0x130" (identifier "param_3") (+ "+") (number_literal "0x130")) () ")")))) (+ "+") (binary_expression "uVar23 * 8" (identifier "uVar23") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (if_statement "if (local_a8 == (byte *)0x0) goto LAB_00192adb;" (if "if") (parenthesized_expression "(local_a8 == (byte *)0x0)" (( "(") (binary_expression "local_a8 == (byte *)0x0" (identifier "local_a8") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00192adb;" (goto "goto") (statement_identifier "LAB_00192adb") (; ";"))) (if_statement "if ((local_a8[0x3a] & 0x10) != 0) {\n          local_a8 = (byte *)FUN_002ddad0(param_1,local_a8);\n        }" (if "if") (parenthesized_expression "((local_a8[0x3a] & 0x10) != 0)" (( "(") (binary_expression "(local_a8[0x3a] & 0x10) != 0" (parenthesized_expression "(local_a8[0x3a] & 0x10)" (( "(") (binary_expression "local_a8[0x3a] & 0x10" (subscript_expression "local_a8[0x3a]" (identifier "local_a8") ([ "[") (number_literal "0x3a") (] "]")) (& "&") (number_literal "0x10")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          local_a8 = (byte *)FUN_002ddad0(param_1,local_a8);\n        }" ({ "{") (expression_statement "local_a8 = (byte *)FUN_002ddad0(param_1,local_a8);" (assignment_expression "local_a8 = (byte *)FUN_002ddad0(param_1,local_a8)" (identifier "local_a8") (= "=") (cast_expression "(byte *)FUN_002ddad0(param_1,local_a8)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_002ddad0(param_1,local_a8)" (identifier "FUN_002ddad0") (argument_list "(param_1,local_a8)" (( "(") (identifier "param_1") (, ",") (identifier "local_a8") () ")"))))) (; ";")) (} "}"))) (if_statement "if ((local_a8[0x3a] & 7) == 0) {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          pbVar24 = *(byte **)(local_a8 + 0x10);\n          local_134 = uVar4 + local_150;\n          if ((pbVar24[0x3c] & 1) == 0) {\n            uVar10 = *(uint *)(local_a8 + 0x18);\n            bVar18 = local_a8[0x3b] >> 5 & 1;\n            uVar25 = (local_a8[0x38] & 0xf) < 2;\n            uVar29 = (local_a8[0x38] & 0xf) == 2;\n            if ((bool)uVar29) {\n              uVar25 = 0;\n              uVar29 = local_136 == '\0';\n              if (!(bool)uVar29) {\n                uVar25 = false;\n                uVar29 = bVar18 == 0;\n                if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }\n                local_100 = *(long *)(param_1 + 0x298) + 0x68;\n                local_d8 = pbVar24;\n                local_d0 = uVar10;\n                    \n                FUN_001bcb90(local_100,&local_d8,&local_100,1);\n              }\n            }\n          }\n          else {\n            bVar18 = 0;\n            uVar10 = 0;\n            uVar25 = 0;\n            pbVar24 = (byte *)0x0;\n            uVar29 = 1;\n          }\n        }\n        else {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          bVar18 = 0;\n          uVar10 = 0;\n          uVar25 = 0;\n          pbVar24 = (byte *)0x0;\n          uVar29 = 1;\n          local_134 = uVar4 + local_150;\n        }" (if "if") (parenthesized_expression "((local_a8[0x3a] & 7) == 0)" (( "(") (binary_expression "(local_a8[0x3a] & 7) == 0" (parenthesized_expression "(local_a8[0x3a] & 7)" (( "(") (binary_expression "local_a8[0x3a] & 7" (subscript_expression "local_a8[0x3a]" (identifier "local_a8") ([ "[") (number_literal "0x3a") (] "]")) (& "&") (number_literal "7")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          local_150 = *(uint *)(local_a8 + 0x40);\n          pbVar24 = *(byte **)(local_a8 + 0x10);\n          local_134 = uVar4 + local_150;\n          if ((pbVar24[0x3c] & 1) == 0) {\n            uVar10 = *(uint *)(local_a8 + 0x18);\n            bVar18 = local_a8[0x3b] >> 5 & 1;\n            uVar25 = (local_a8[0x38] & 0xf) < 2;\n            uVar29 = (local_a8[0x38] & 0xf) == 2;\n            if ((bool)uVar29) {\n              uVar25 = 0;\n              uVar29 = local_136 == '\0';\n              if (!(bool)uVar29) {\n                uVar25 = false;\n                uVar29 = bVar18 == 0;\n                if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }\n                local_100 = *(long *)(param_1 + 0x298) + 0x68;\n                local_d8 = pbVar24;\n                local_d0 = uVar10;\n                    \n                FUN_001bcb90(local_100,&local_d8,&local_100,1);\n              }\n            }\n          }\n          else {\n            bVar18 = 0;\n            uVar10 = 0;\n            uVar25 = 0;\n            pbVar24 = (byte *)0x0;\n            uVar29 = 1;\n          }\n        }" ({ "{") (expression_statement "local_150 = *(uint *)(local_a8 + 0x40);" (assignment_expression "local_150 = *(uint *)(local_a8 + 0x40)" (identifier "local_150") (= "=") (pointer_expression "*(uint *)(local_a8 + 0x40)" (* "*") (cast_expression "(uint *)(local_a8 + 0x40)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_a8 + 0x40)" (( "(") (binary_expression "local_a8 + 0x40" (identifier "local_a8") (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (expression_statement "pbVar24 = *(byte **)(local_a8 + 0x10);" (assignment_expression "pbVar24 = *(byte **)(local_a8 + 0x10)" (identifier "pbVar24") (= "=") (pointer_expression "*(byte **)(local_a8 + 0x10)" (* "*") (cast_expression "(byte **)(local_a8 + 0x10)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_a8 + 0x10)" (( "(") (binary_expression "local_a8 + 0x10" (identifier "local_a8") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "local_134 = uVar4 + local_150;" (assignment_expression "local_134 = uVar4 + local_150" (identifier "local_134") (= "=") (binary_expression "uVar4 + local_150" (identifier "uVar4") (+ "+") (identifier "local_150"))) (; ";")) (if_statement "if ((pbVar24[0x3c] & 1) == 0) {\n            uVar10 = *(uint *)(local_a8 + 0x18);\n            bVar18 = local_a8[0x3b] >> 5 & 1;\n            uVar25 = (local_a8[0x38] & 0xf) < 2;\n            uVar29 = (local_a8[0x38] & 0xf) == 2;\n            if ((bool)uVar29) {\n              uVar25 = 0;\n              uVar29 = local_136 == '\0';\n              if (!(bool)uVar29) {\n                uVar25 = false;\n                uVar29 = bVar18 == 0;\n                if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }\n                local_100 = *(long *)(param_1 + 0x298) + 0x68;\n                local_d8 = pbVar24;\n                local_d0 = uVar10;\n                    \n                FUN_001bcb90(local_100,&local_d8,&local_100,1);\n              }\n            }\n          }\n          else {\n            bVar18 = 0;\n            uVar10 = 0;\n            uVar25 = 0;\n            pbVar24 = (byte *)0x0;\n            uVar29 = 1;\n          }" (if "if") (parenthesized_expression "((pbVar24[0x3c] & 1) == 0)" (( "(") (binary_expression "(pbVar24[0x3c] & 1) == 0" (parenthesized_expression "(pbVar24[0x3c] & 1)" (( "(") (binary_expression "pbVar24[0x3c] & 1" (subscript_expression "pbVar24[0x3c]" (identifier "pbVar24") ([ "[") (number_literal "0x3c") (] "]")) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            uVar10 = *(uint *)(local_a8 + 0x18);\n            bVar18 = local_a8[0x3b] >> 5 & 1;\n            uVar25 = (local_a8[0x38] & 0xf) < 2;\n            uVar29 = (local_a8[0x38] & 0xf) == 2;\n            if ((bool)uVar29) {\n              uVar25 = 0;\n              uVar29 = local_136 == '\0';\n              if (!(bool)uVar29) {\n                uVar25 = false;\n                uVar29 = bVar18 == 0;\n                if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }\n                local_100 = *(long *)(param_1 + 0x298) + 0x68;\n                local_d8 = pbVar24;\n                local_d0 = uVar10;\n                    \n                FUN_001bcb90(local_100,&local_d8,&local_100,1);\n              }\n            }\n          }" ({ "{") (expression_statement "uVar10 = *(uint *)(local_a8 + 0x18);" (assignment_expression "uVar10 = *(uint *)(local_a8 + 0x18)" (identifier "uVar10") (= "=") (pointer_expression "*(uint *)(local_a8 + 0x18)" (* "*") (cast_expression "(uint *)(local_a8 + 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_a8 + 0x18)" (( "(") (binary_expression "local_a8 + 0x18" (identifier "local_a8") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "bVar18 = local_a8[0x3b] >> 5 & 1;" (assignment_expression "bVar18 = local_a8[0x3b] >> 5 & 1" (identifier "bVar18") (= "=") (binary_expression "local_a8[0x3b] >> 5 & 1" (binary_expression "local_a8[0x3b] >> 5" (subscript_expression "local_a8[0x3b]" (identifier "local_a8") ([ "[") (number_literal "0x3b") (] "]")) (>> ">>") (number_literal "5")) (& "&") (number_literal "1"))) (; ";")) (expression_statement "uVar25 = (local_a8[0x38] & 0xf) < 2;" (assignment_expression "uVar25 = (local_a8[0x38] & 0xf) < 2" (identifier "uVar25") (= "=") (binary_expression "(local_a8[0x38] & 0xf) < 2" (parenthesized_expression "(local_a8[0x38] & 0xf)" (( "(") (binary_expression "local_a8[0x38] & 0xf" (subscript_expression "local_a8[0x38]" (identifier "local_a8") ([ "[") (number_literal "0x38") (] "]")) (& "&") (number_literal "0xf")) () ")")) (< "<") (number_literal "2"))) (; ";")) (expression_statement "uVar29 = (local_a8[0x38] & 0xf) == 2;" (assignment_expression "uVar29 = (local_a8[0x38] & 0xf) == 2" (identifier "uVar29") (= "=") (binary_expression "(local_a8[0x38] & 0xf) == 2" (parenthesized_expression "(local_a8[0x38] & 0xf)" (( "(") (binary_expression "local_a8[0x38] & 0xf" (subscript_expression "local_a8[0x38]" (identifier "local_a8") ([ "[") (number_literal "0x38") (] "]")) (& "&") (number_literal "0xf")) () ")")) (== "==") (number_literal "2"))) (; ";")) (if_statement "if ((bool)uVar29) {\n              uVar25 = 0;\n              uVar29 = local_136 == '\0';\n              if (!(bool)uVar29) {\n                uVar25 = false;\n                uVar29 = bVar18 == 0;\n                if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }\n                local_100 = *(long *)(param_1 + 0x298) + 0x68;\n                local_d8 = pbVar24;\n                local_d0 = uVar10;\n                    \n                FUN_001bcb90(local_100,&local_d8,&local_100,1);\n              }\n            }" (if "if") (parenthesized_expression "((bool)uVar29)" (( "(") (cast_expression "(bool)uVar29" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "uVar29")) () ")")) (compound_statement "{\n              uVar25 = 0;\n              uVar29 = local_136 == '\0';\n              if (!(bool)uVar29) {\n                uVar25 = false;\n                uVar29 = bVar18 == 0;\n                if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }\n                local_100 = *(long *)(param_1 + 0x298) + 0x68;\n                local_d8 = pbVar24;\n                local_d0 = uVar10;\n                    \n                FUN_001bcb90(local_100,&local_d8,&local_100,1);\n              }\n            }" ({ "{") (expression_statement "uVar25 = 0;" (assignment_expression "uVar25 = 0" (identifier "uVar25") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar29 = local_136 == '\0';" (assignment_expression "uVar29 = local_136 == '\0'" (identifier "uVar29") (= "=") (binary_expression "local_136 == '\0'" (identifier "local_136") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) (; ";")) (if_statement "if (!(bool)uVar29) {\n                uVar25 = false;\n                uVar29 = bVar18 == 0;\n                if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }\n                local_100 = *(long *)(param_1 + 0x298) + 0x68;\n                local_d8 = pbVar24;\n                local_d0 = uVar10;\n                    \n                FUN_001bcb90(local_100,&local_d8,&local_100,1);\n              }" (if "if") (parenthesized_expression "(!(bool)uVar29)" (( "(") (unary_expression "!(bool)uVar29" (! "!") (cast_expression "(bool)uVar29" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "uVar29"))) () ")")) (compound_statement "{\n                uVar25 = false;\n                uVar29 = bVar18 == 0;\n                if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }\n                local_100 = *(long *)(param_1 + 0x298) + 0x68;\n                local_d8 = pbVar24;\n                local_d0 = uVar10;\n                    \n                FUN_001bcb90(local_100,&local_d8,&local_100,1);\n              }" ({ "{") (expression_statement "uVar25 = false;" (assignment_expression "uVar25 = false" (identifier "uVar25") (= "=") (false "false")) (; ";")) (expression_statement "uVar29 = bVar18 == 0;" (assignment_expression "uVar29 = bVar18 == 0" (identifier "uVar29") (= "=") (binary_expression "bVar18 == 0" (identifier "bVar18") (== "==") (number_literal "0"))) (; ";")) (if_statement "if (!(bool)uVar29) {\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }" (if "if") (parenthesized_expression "(!(bool)uVar29)" (( "(") (unary_expression "!(bool)uVar29" (! "!") (cast_expression "(bool)uVar29" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "uVar29"))) () ")")) (compound_statement "{\n                  uVar25 = uVar7 < 0x17;\n                  uVar29 = uVar7 == 0x17;\n                  if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;\n                }" ({ "{") (expression_statement "uVar25 = uVar7 < 0x17;" (assignment_expression "uVar25 = uVar7 < 0x17" (identifier "uVar25") (= "=") (binary_expression "uVar7 < 0x17" (identifier "uVar7") (< "<") (number_literal "0x17"))) (; ";")) (expression_statement "uVar29 = uVar7 == 0x17;" (assignment_expression "uVar29 = uVar7 == 0x17" (identifier "uVar29") (= "=") (binary_expression "uVar7 == 0x17" (identifier "uVar7") (== "==") (number_literal "0x17"))) (; ";")) (if_statement "if ((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))\n                  goto LAB_00192930;" (if "if") (parenthesized_expression "((uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))" (( "(") (binary_expression "(uVar7 < 0x18) &&\n                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25)" (parenthesized_expression "(uVar7 < 0x18)" (( "(") (binary_expression "uVar7 < 0x18" (identifier "uVar7") (< "<") (number_literal "0x18")) () ")")) (&& "&&") (parenthesized_expression "(uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25)" (( "(") (comma_expression "uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25" (assignment_expression "uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0" (identifier "uVar25") (= "=") (binary_expression "(0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0" (parenthesized_expression "(0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1)" (( "(") (binary_expression "0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1" (binary_expression "0x843f84UL >> ((ulong)uVar3 & 0x3f)" (number_literal "0x843f84UL") (>> ">>") (parenthesized_expression "((ulong)uVar3 & 0x3f)" (( "(") (binary_expression "(ulong)uVar3 & 0x3f" (cast_expression "(ulong)uVar3" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar3")) (& "&") (number_literal "0x3f")) () ")"))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0"))) (, ",") (cast_expression "(bool)uVar25" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "uVar25"))) () ")"))) () ")")) (goto_statement "goto LAB_00192930;" (goto "goto") (statement_identifier "LAB_00192930") (; ";"))) (} "}"))) (expression_statement "local_100 = *(long *)(param_1 + 0x298) + 0x68;" (assignment_expression "local_100 = *(long *)(param_1 + 0x298) + 0x68" (identifier "local_100") (= "=") (binary_expression "*(long *)(param_1 + 0x298) + 0x68" (pointer_expression "*(long *)(param_1 + 0x298)" (* "*") (cast_expression "(long *)(param_1 + 0x298)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x298)" (( "(") (binary_expression "param_1 + 0x298" (identifier "param_1") (+ "+") (number_literal "0x298")) () ")")))) (+ "+") (number_literal "0x68"))) (; ";")) (expression_statement "local_d8 = pbVar24;" (assignment_expression "local_d8 = pbVar24" (identifier "local_d8") (= "=") (identifier "pbVar24")) (; ";")) (expression_statement "local_d0 = uVar10;" (assignment_expression "local_d0 = uVar10" (identifier "local_d0") (= "=") (identifier "uVar10")) (; ";")) (expression_statement "FUN_001bcb90(local_100,&local_d8,&local_100,1);" (call_expression "FUN_001bcb90(local_100,&local_d8,&local_100,1)" (identifier "FUN_001bcb90") (argument_list "(local_100,&local_d8,&local_100,1)" (( "(") (identifier "local_100") (, ",") (pointer_expression "&local_d8" (& "&") (identifier "local_d8")) (, ",") (pointer_expression "&local_100" (& "&") (identifier "local_100")) (, ",") (number_literal "1") () ")"))) (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else {\n            bVar18 = 0;\n            uVar10 = 0;\n            uVar25 = 0;\n            pbVar24 = (byte *)0x0;\n            uVar29 = 1;\n          }" (else "else") (compound_statement "{\n            bVar18 = 0;\n            uVar10 = 0;\n            uVar25 = 0;\n            pbVar24 = (byte *)0x0;\n            uVar29 = 1;\n          }" ({ "{") (expression_statement "bVar18 = 0;" (assignment_expression "bVar18 = 0" (identifier "bVar18") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" (identifier "uVar10") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar25 = 0;" (assignment_expression "uVar25 = 0" (identifier "uVar25") (= "=") (number_literal "0")) (; ";")) (expression_statement "pbVar24 = (byte *)0x0;" (assignment_expression "pbVar24 = (byte *)0x0" (identifier "pbVar24") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "uVar29 = 1;" (assignment_expression "uVar29 = 1" (identifier "uVar29") (= "=") (number_literal "1")) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n          local_150 = *(uint *)(local_a8 + 0x40);\n          bVar18 = 0;\n          uVar10 = 0;\n          uVar25 = 0;\n          pbVar24 = (byte *)0x0;\n          uVar29 = 1;\n          local_134 = uVar4 + local_150;\n        }" (else "else") (compound_statement "{\n          local_150 = *(uint *)(local_a8 + 0x40);\n          bVar18 = 0;\n          uVar10 = 0;\n          uVar25 = 0;\n          pbVar24 = (byte *)0x0;\n          uVar29 = 1;\n          local_134 = uVar4 + local_150;\n        }" ({ "{") (expression_statement "local_150 = *(uint *)(local_a8 + 0x40);" (assignment_expression "local_150 = *(uint *)(local_a8 + 0x40)" (identifier "local_150") (= "=") (pointer_expression "*(uint *)(local_a8 + 0x40)" (* "*") (cast_expression "(uint *)(local_a8 + 0x40)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_a8 + 0x40)" (( "(") (binary_expression "local_a8 + 0x40" (identifier "local_a8") (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (expression_statement "bVar18 = 0;" (assignment_expression "bVar18 = 0" (identifier "bVar18") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" (identifier "uVar10") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar25 = 0;" (assignment_expression "uVar25 = 0" (identifier "uVar25") (= "=") (number_literal "0")) (; ";")) (expression_statement "pbVar24 = (byte *)0x0;" (assignment_expression "pbVar24 = (byte *)0x0" (identifier "pbVar24") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "uVar29 = 1;" (assignment_expression "uVar29 = 1" (identifier "uVar29") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_134 = uVar4 + local_150;" (assignment_expression "local_134 = uVar4 + local_150" (identifier "local_134") (= "=") (binary_expression "uVar4 + local_150" (identifier "uVar4") (+ "+") (identifier "local_150"))) (; ";")) (} "}")))) (labeled_statement "LAB_00192930:\n        pbVar17 = *(byte **)local_a8;" (statement_identifier "LAB_00192930") (: ":") (expression_statement "pbVar17 = *(byte **)local_a8;" (assignment_expression "pbVar17 = *(byte **)local_a8" (identifier "pbVar17") (= "=") (pointer_expression "*(byte **)local_a8" (* "*") (cast_expression "(byte **)local_a8" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "local_a8")))) (; ";"))) (expression_statement "lVar19 = 8;" (assignment_expression "lVar19 = 8" (identifier "lVar19") (= "=") (number_literal "8")) (; ";")) (expression_statement "pbVar20 = (byte *)"__start_";" (assignment_expression "pbVar20 = (byte *)"__start_"" (identifier "pbVar20") (= "=") (cast_expression "(byte *)"__start_"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""__start_"" (" """) (string_content "__start_") (" """)))) (; ";")) (expression_statement "pbVar21 = pbVar17;" (assignment_expression "pbVar21 = pbVar17" (identifier "pbVar21") (= "=") (identifier "pbVar17")) (; ";")) (do_statement "do {\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          uVar25 = *pbVar20 < *pbVar21;\n          uVar29 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n          pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n        } while ((bool)uVar29);" (do "do") (compound_statement "{\n          if (lVar19 == 0) break;\n          lVar19 = lVar19 + -1;\n          uVar25 = *pbVar20 < *pbVar21;\n          uVar29 = *pbVar20 == *pbVar21;\n          pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n          pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n        }" ({ "{") (if_statement "if (lVar19 == 0) break;" (if "if") (parenthesized_expression "(lVar19 == 0)" (( "(") (binary_expression "lVar19 == 0" (identifier "lVar19") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar19 = lVar19 + -1;" (assignment_expression "lVar19 = lVar19 + -1" (identifier "lVar19") (= "=") (binary_expression "lVar19 + -1" (identifier "lVar19") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "uVar25 = *pbVar20 < *pbVar21;" (assignment_expression "uVar25 = *pbVar20 < *pbVar21" (identifier "uVar25") (= "=") (binary_expression "*pbVar20 < *pbVar21" (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")) (< "<") (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")))) (; ";")) (expression_statement "uVar29 = *pbVar20 == *pbVar21;" (assignment_expression "uVar29 = *pbVar20 == *pbVar21" (identifier "uVar29") (= "=") (binary_expression "*pbVar20 == *pbVar21" (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")) (== "==") (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")))) (; ";")) (expression_statement "pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1" (identifier "pbVar20") (= "=") (binary_expression "pbVar20 + (ulong)bVar31 * -2 + 1" (binary_expression "pbVar20 + (ulong)bVar31 * -2" (identifier "pbVar20") (+ "+") (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar31")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1" (identifier "pbVar21") (= "=") (binary_expression "pbVar21 + (ulong)bVar31 * -2 + 1" (binary_expression "pbVar21 + (ulong)bVar31 * -2" (identifier "pbVar21") (+ "+") (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar31")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((bool)uVar29)" (( "(") (cast_expression "(bool)uVar29" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "uVar29")) () ")")) (; ";")) (expression_statement "bVar26 = false;" (assignment_expression "bVar26 = false" (identifier "bVar26") (= "=") (false "false")) (; ";")) (expression_statement "bVar30 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;" (assignment_expression "bVar30 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25" (identifier "bVar30") (= "=") (binary_expression "(!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25" (parenthesized_expression "(!(bool)uVar25 && !(bool)uVar29)" (( "(") (binary_expression "!(bool)uVar25 && !(bool)uVar29" (unary_expression "!(bool)uVar25" (! "!") (cast_expression "(bool)uVar25" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "uVar25"))) (&& "&&") (unary_expression "!(bool)uVar29" (! "!") (cast_expression "(bool)uVar29" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "uVar29")))) () ")")) (== "==") (cast_expression "(bool)uVar25" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "uVar25")))) (; ";")) (if_statement "if (bVar30) {\n          pbVar17 = pbVar17 + 8;\n        }\n        else {\n          lVar19 = 7;\n          pbVar20 = (byte *)"__stop_";\n          pbVar21 = pbVar17;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar21;\n            bVar30 = *pbVar20 == *pbVar21;\n            pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n            pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n          } while (bVar30);\n          pbVar17 = pbVar17 + 7;\n          if ((!bVar26 && !bVar30) != bVar26) {\n            pbVar17 = local_158;\n          }\n        }" (if "if") (parenthesized_expression "(bVar30)" (( "(") (identifier "bVar30") () ")")) (compound_statement "{\n          pbVar17 = pbVar17 + 8;\n        }" ({ "{") (expression_statement "pbVar17 = pbVar17 + 8;" (assignment_expression "pbVar17 = pbVar17 + 8" (identifier "pbVar17") (= "=") (binary_expression "pbVar17 + 8" (identifier "pbVar17") (+ "+") (number_literal "8"))) (; ";")) (} "}")) (else_clause "else {\n          lVar19 = 7;\n          pbVar20 = (byte *)"__stop_";\n          pbVar21 = pbVar17;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar21;\n            bVar30 = *pbVar20 == *pbVar21;\n            pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n            pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n          } while (bVar30);\n          pbVar17 = pbVar17 + 7;\n          if ((!bVar26 && !bVar30) != bVar26) {\n            pbVar17 = local_158;\n          }\n        }" (else "else") (compound_statement "{\n          lVar19 = 7;\n          pbVar20 = (byte *)"__stop_";\n          pbVar21 = pbVar17;\n          do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar21;\n            bVar30 = *pbVar20 == *pbVar21;\n            pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n            pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n          } while (bVar30);\n          pbVar17 = pbVar17 + 7;\n          if ((!bVar26 && !bVar30) != bVar26) {\n            pbVar17 = local_158;\n          }\n        }" ({ "{") (expression_statement "lVar19 = 7;" (assignment_expression "lVar19 = 7" (identifier "lVar19") (= "=") (number_literal "7")) (; ";")) (expression_statement "pbVar20 = (byte *)"__stop_";" (assignment_expression "pbVar20 = (byte *)"__stop_"" (identifier "pbVar20") (= "=") (cast_expression "(byte *)"__stop_"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""__stop_"" (" """) (string_content "__stop_") (" """)))) (; ";")) (expression_statement "pbVar21 = pbVar17;" (assignment_expression "pbVar21 = pbVar17" (identifier "pbVar21") (= "=") (identifier "pbVar17")) (; ";")) (do_statement "do {\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar21;\n            bVar30 = *pbVar20 == *pbVar21;\n            pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n            pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n          } while (bVar30);" (do "do") (compound_statement "{\n            if (lVar19 == 0) break;\n            lVar19 = lVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar21;\n            bVar30 = *pbVar20 == *pbVar21;\n            pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;\n            pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;\n          }" ({ "{") (if_statement "if (lVar19 == 0) break;" (if "if") (parenthesized_expression "(lVar19 == 0)" (( "(") (binary_expression "lVar19 == 0" (identifier "lVar19") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar19 = lVar19 + -1;" (assignment_expression "lVar19 = lVar19 + -1" (identifier "lVar19") (= "=") (binary_expression "lVar19 + -1" (identifier "lVar19") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar26 = *pbVar20 < *pbVar21;" (assignment_expression "bVar26 = *pbVar20 < *pbVar21" (identifier "bVar26") (= "=") (binary_expression "*pbVar20 < *pbVar21" (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")) (< "<") (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")))) (; ";")) (expression_statement "bVar30 = *pbVar20 == *pbVar21;" (assignment_expression "bVar30 = *pbVar20 == *pbVar21" (identifier "bVar30") (= "=") (binary_expression "*pbVar20 == *pbVar21" (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")) (== "==") (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")))) (; ";")) (expression_statement "pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1" (identifier "pbVar20") (= "=") (binary_expression "pbVar20 + (ulong)bVar31 * -2 + 1" (binary_expression "pbVar20 + (ulong)bVar31 * -2" (identifier "pbVar20") (+ "+") (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar31")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1" (identifier "pbVar21") (= "=") (binary_expression "pbVar21 + (ulong)bVar31 * -2 + 1" (binary_expression "pbVar21 + (ulong)bVar31 * -2" (identifier "pbVar21") (+ "+") (binary_expression "(ulong)bVar31 * -2" (cast_expression "(ulong)bVar31" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar31")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar30)" (( "(") (identifier "bVar30") () ")")) (; ";")) (expression_statement "pbVar17 = pbVar17 + 7;" (assignment_expression "pbVar17 = pbVar17 + 7" (identifier "pbVar17") (= "=") (binary_expression "pbVar17 + 7" (identifier "pbVar17") (+ "+") (number_literal "7"))) (; ";")) (if_statement "if ((!bVar26 && !bVar30) != bVar26) {\n            pbVar17 = local_158;\n          }" (if "if") (parenthesized_expression "((!bVar26 && !bVar30) != bVar26)" (( "(") (binary_expression "(!bVar26 && !bVar30) != bVar26" (parenthesized_expression "(!bVar26 && !bVar30)" (( "(") (binary_expression "!bVar26 && !bVar30" (unary_expression "!bVar26" (! "!") (identifier "bVar26")) (&& "&&") (unary_expression "!bVar30" (! "!") (identifier "bVar30"))) () ")")) (!= "!=") (identifier "bVar26")) () ")")) (compound_statement "{\n            pbVar17 = local_158;\n          }" ({ "{") (expression_statement "pbVar17 = local_158;" (assignment_expression "pbVar17 = local_158" (identifier "pbVar17") (= "=") (identifier "local_158")) (; ";")) (} "}"))) (} "}")))) (expression_statement "local_158 = pbVar17;" (assignment_expression "local_158 = pbVar17" (identifier "local_158") (= "=") (identifier "pbVar17")) (; ";")) (if_statement "if (bVar28) {\n          if (bVar18 == 0) {\n            local_58 = (byte *)0x0;\n            local_50 = (ulong)local_50._4_4_ << 0x20;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          else {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = pbVar24;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          puVar5 = *(undefined8 **)(local_170 + 8);\n          if (puVar5 == *(undefined8 **)(local_170 + 0x10)) {\n            FUN_001bbf50(local_170,puVar5,&local_a8);\n          }\n          else {\n            *puVar5 = local_a8;\n            *(undefined8 **)(local_170 + 8) = puVar5 + 1;\n          }\n          local_58 = (byte *)(ulong)local_150;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_b8 = (byte *)((ulong)local_b8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_b8);\n        }" (if "if") (parenthesized_expression "(bVar28)" (( "(") (identifier "bVar28") () ")")) (compound_statement "{\n          if (bVar18 == 0) {\n            local_58 = (byte *)0x0;\n            local_50 = (ulong)local_50._4_4_ << 0x20;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          else {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = pbVar24;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          puVar5 = *(undefined8 **)(local_170 + 8);\n          if (puVar5 == *(undefined8 **)(local_170 + 0x10)) {\n            FUN_001bbf50(local_170,puVar5,&local_a8);\n          }\n          else {\n            *puVar5 = local_a8;\n            *(undefined8 **)(local_170 + 8) = puVar5 + 1;\n          }\n          local_58 = (byte *)(ulong)local_150;\n          local_50 = (long)(int)uVar4;\n          FUN_001be700(local_180,&local_58);\n          local_58 = (byte *)(ulong)*local_128;\n          puVar5 = *(undefined8 **)(local_168 + 8);\n          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }\n          local_b8 = (byte *)((ulong)local_b8 & 0xffffffff00000000);\n          FUN_001be890(local_188,&local_b8);\n        }" ({ "{") (if_statement "if (bVar18 == 0) {\n            local_58 = (byte *)0x0;\n            local_50 = (ulong)local_50._4_4_ << 0x20;\n            FUN_001bdee0(local_178,&local_58);\n          }\n          else {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = pbVar24;\n            FUN_001bdee0(local_178,&local_58);\n          }" (if "if") (parenthesized_expression "(bVar18 == 0)" (( "(") (binary_expression "bVar18 == 0" (identifier "bVar18") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            local_58 = (byte *)0x0;\n            local_50 = (ulong)local_50._4_4_ << 0x20;\n            FUN_001bdee0(local_178,&local_58);\n          }" ({ "{") (expression_statement "local_58 = (byte *)0x0;" (assignment_expression "local_58 = (byte *)0x0" (identifier "local_58") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_50 = (ulong)local_50._4_4_ << 0x20;" (assignment_expression "local_50 = (ulong)local_50._4_4_ << 0x20" (identifier "local_50") (= "=") (binary_expression "(ulong)local_50._4_4_ << 0x20" (cast_expression "(ulong)local_50._4_4_" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (field_expression "local_50._4_4_" (identifier "local_50") (. ".") (field_identifier "_4_4_"))) (<< "<<") (number_literal "0x20"))) (; ";")) (expression_statement "FUN_001bdee0(local_178,&local_58);" (call_expression "FUN_001bdee0(local_178,&local_58)" (identifier "FUN_001bdee0") (argument_list "(local_178,&local_58)" (( "(") (identifier "local_178") (, ",") (pointer_expression "&local_58" (& "&") (identifier "local_58")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = pbVar24;\n            FUN_001bdee0(local_178,&local_58);\n          }" (else "else") (compound_statement "{\n            local_50 = CONCAT44(local_50._4_4_,uVar10);\n            local_58 = pbVar24;\n            FUN_001bdee0(local_178,&local_58);\n          }" ({ "{") (expression_statement "local_50 = CONCAT44(local_50._4_4_,uVar10);" (assignment_expression "local_50 = CONCAT44(local_50._4_4_,uVar10)" (identifier "local_50") (= "=") (call_expression "CONCAT44(local_50._4_4_,uVar10)" (identifier "CONCAT44") (argument_list "(local_50._4_4_,uVar10)" (( "(") (field_expression "local_50._4_4_" (identifier "local_50") (. ".") (field_identifier "_4_4_")) (, ",") (identifier "uVar10") () ")")))) (; ";")) (expression_statement "local_58 = pbVar24;" (assignment_expression "local_58 = pbVar24" (identifier "local_58") (= "=") (identifier "pbVar24")) (; ";")) (expression_statement "FUN_001bdee0(local_178,&local_58);" (call_expression "FUN_001bdee0(local_178,&local_58)" (identifier "FUN_001bdee0") (argument_list "(local_178,&local_58)" (( "(") (identifier "local_178") (, ",") (pointer_expression "&local_58" (& "&") (identifier "local_58")) () ")"))) (; ";")) (} "}")))) (expression_statement "puVar5 = *(undefined8 **)(local_170 + 8);" (assignment_expression "puVar5 = *(undefined8 **)(local_170 + 8)" (identifier "puVar5") (= "=") (pointer_expression "*(undefined8 **)(local_170 + 8)" (* "*") (cast_expression "(undefined8 **)(local_170 + 8)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_170 + 8)" (( "(") (binary_expression "local_170 + 8" (identifier "local_170") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (puVar5 == *(undefined8 **)(local_170 + 0x10)) {\n            FUN_001bbf50(local_170,puVar5,&local_a8);\n          }\n          else {\n            *puVar5 = local_a8;\n            *(undefined8 **)(local_170 + 8) = puVar5 + 1;\n          }" (if "if") (parenthesized_expression "(puVar5 == *(undefined8 **)(local_170 + 0x10))" (( "(") (binary_expression "puVar5 == *(undefined8 **)(local_170 + 0x10)" (identifier "puVar5") (== "==") (pointer_expression "*(undefined8 **)(local_170 + 0x10)" (* "*") (cast_expression "(undefined8 **)(local_170 + 0x10)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_170 + 0x10)" (( "(") (binary_expression "local_170 + 0x10" (identifier "local_170") (+ "+") (number_literal "0x10")) () ")"))))) () ")")) (compound_statement "{\n            FUN_001bbf50(local_170,puVar5,&local_a8);\n          }" ({ "{") (expression_statement "FUN_001bbf50(local_170,puVar5,&local_a8);" (call_expression "FUN_001bbf50(local_170,puVar5,&local_a8)" (identifier "FUN_001bbf50") (argument_list "(local_170,puVar5,&local_a8)" (( "(") (identifier "local_170") (, ",") (identifier "puVar5") (, ",") (pointer_expression "&local_a8" (& "&") (identifier "local_a8")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n            *puVar5 = local_a8;\n            *(undefined8 **)(local_170 + 8) = puVar5 + 1;\n          }" (else "else") (compound_statement "{\n            *puVar5 = local_a8;\n            *(undefined8 **)(local_170 + 8) = puVar5 + 1;\n          }" ({ "{") (expression_statement "*puVar5 = local_a8;" (assignment_expression "*puVar5 = local_a8" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (identifier "local_a8")) (; ";")) (expression_statement "*(undefined8 **)(local_170 + 8) = puVar5 + 1;" (assignment_expression "*(undefined8 **)(local_170 + 8) = puVar5 + 1" (pointer_expression "*(undefined8 **)(local_170 + 8)" (* "*") (cast_expression "(undefined8 **)(local_170 + 8)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_170 + 8)" (( "(") (binary_expression "local_170 + 8" (identifier "local_170") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "puVar5 + 1" (identifier "puVar5") (+ "+") (number_literal "1"))) (; ";")) (} "}")))) (expression_statement "local_58 = (byte *)(ulong)local_150;" (assignment_expression "local_58 = (byte *)(ulong)local_150" (identifier "local_58") (= "=") (cast_expression "(byte *)(ulong)local_150" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(ulong)local_150" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "local_150")))) (; ";")) (expression_statement "local_50 = (long)(int)uVar4;" (assignment_expression "local_50 = (long)(int)uVar4" (identifier "local_50") (= "=") (cast_expression "(long)(int)uVar4" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (cast_expression "(int)uVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar4")))) (; ";")) (expression_statement "FUN_001be700(local_180,&local_58);" (call_expression "FUN_001be700(local_180,&local_58)" (identifier "FUN_001be700") (argument_list "(local_180,&local_58)" (( "(") (identifier "local_180") (, ",") (pointer_expression "&local_58" (& "&") (identifier "local_58")) () ")"))) (; ";")) (expression_statement "local_58 = (byte *)(ulong)*local_128;" (assignment_expression "local_58 = (byte *)(ulong)*local_128" (identifier "local_58") (= "=") (binary_expression "(byte *)(ulong)*local_128" (cast_expression "(byte *)(ulong)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")"))) (* "*") (identifier "local_128"))) (; ";")) (expression_statement "puVar5 = *(undefined8 **)(local_168 + 8);" (assignment_expression "puVar5 = *(undefined8 **)(local_168 + 8)" (identifier "puVar5") (= "=") (pointer_expression "*(undefined8 **)(local_168 + 8)" (* "*") (cast_expression "(undefined8 **)(local_168 + 8)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_168 + 8)" (( "(") (binary_expression "local_168 + 8" (identifier "local_168") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }\n          else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }" (if "if") (parenthesized_expression "(puVar5 == *(undefined8 **)(local_168 + 0x10))" (( "(") (binary_expression "puVar5 == *(undefined8 **)(local_168 + 0x10)" (identifier "puVar5") (== "==") (pointer_expression "*(undefined8 **)(local_168 + 0x10)" (* "*") (cast_expression "(undefined8 **)(local_168 + 0x10)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_168 + 0x10)" (( "(") (binary_expression "local_168 + 0x10" (identifier "local_168") (+ "+") (number_literal "0x10")) () ")"))))) () ")")) (compound_statement "{\n            FUN_001bdf10(local_168,puVar5,&local_58);\n          }" ({ "{") (expression_statement "FUN_001bdf10(local_168,puVar5,&local_58);" (call_expression "FUN_001bdf10(local_168,puVar5,&local_58)" (identifier "FUN_001bdf10") (argument_list "(local_168,puVar5,&local_58)" (( "(") (identifier "local_168") (, ",") (identifier "puVar5") (, ",") (pointer_expression "&local_58" (& "&") (identifier "local_58")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }" (else "else") (compound_statement "{\n            *puVar5 = local_58;\n            *(undefined8 **)(local_168 + 8) = puVar5 + 1;\n          }" ({ "{") (expression_statement "*puVar5 = local_58;" (assignment_expression "*puVar5 = local_58" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (identifier "local_58")) (; ";")) (expression_statement "*(undefined8 **)(local_168 + 8) = puVar5 + 1;" (assignment_expression "*(undefined8 **)(local_168 + 8) = puVar5 + 1" (pointer_expression "*(undefined8 **)(local_168 + 8)" (* "*") (cast_expression "(undefined8 **)(local_168 + 8)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_168 + 8)" (( "(") (binary_expression "local_168 + 8" (identifier "local_168") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "puVar5 + 1" (identifier "puVar5") (+ "+") (number_literal "1"))) (; ";")) (} "}")))) (expression_statement "local_b8 = (byte *)((ulong)local_b8 & 0xffffffff00000000);" (assignment_expression "local_b8 = (byte *)((ulong)local_b8 & 0xffffffff00000000)" (identifier "local_b8") (= "=") (cast_expression "(byte *)((ulong)local_b8 & 0xffffffff00000000)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulong)local_b8 & 0xffffffff00000000)" (( "(") (binary_expression "(ulong)local_b8 & 0xffffffff00000000" (cast_expression "(ulong)local_b8" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "local_b8")) (& "&") (number_literal "0xffffffff00000000")) () ")")))) (; ";")) (expression_statement "FUN_001be890(local_188,&local_b8);" (call_expression "FUN_001be890(local_188,&local_b8)" (identifier "FUN_001be890") (argument_list "(local_188,&local_b8)" (( "(") (identifier "local_188") (, ",") (pointer_expression "&local_b8" (& "&") (identifier "local_b8")) () ")"))) (; ";")) (} "}"))) (if_statement "if (bVar18 != 0) goto LAB_001925a8;" (if "if") (parenthesized_expression "(bVar18 != 0)" (( "(") (binary_expression "bVar18 != 0" (identifier "bVar18") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_001925a8;" (goto "goto") (statement_identifier "LAB_001925a8") (; ";"))) (} "}")))) (labeled_statement "LAB_00192480:\n      local_120 = local_120 + 1;" (statement_identifier "LAB_00192480") (: ":") (expression_statement "local_120 = local_120 + 1;" (assignment_expression "local_120 = local_120 + 1" (identifier "local_120") (= "=") (binary_expression "local_120 + 1" (identifier "local_120") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "local_128 = local_128 + 3;" (assignment_expression "local_128 = local_128 + 3" (identifier "local_128") (= "=") (binary_expression "local_128 + 3" (identifier "local_128") (+ "+") (number_literal "3"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(param_6 != local_120)" (( "(") (binary_expression "param_6 != local_120" (identifier "param_6") (!= "!=") (identifier "local_120")) () ")")) (; ";")) (} "}")))) (if_statement "if (local_78[0] != local_68) {\n    FUN_00338a40();\n  }" (if "if") (parenthesized_expression "(local_78[0] != local_68)" (( "(") (binary_expression "local_78[0] != local_68" (subscript_expression "local_78[0]" (identifier "local_78") ([ "[") (number_literal "0") (] "]")) (!= "!=") (identifier "local_68")) () ")")) (compound_statement "{\n    FUN_00338a40();\n  }" ({ "{") (expression_statement "FUN_00338a40();" (call_expression "FUN_00338a40()" (identifier "FUN_00338a40") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if ((local_98 != 0) && (local_90 != 0)) {\n    uVar16 = gettext("missing expected __tls_get_addr call");\n    FUN_001e1b30(local_90,local_88,local_80,uVar16);\n  }" (if "if") (parenthesized_expression "((local_98 != 0) && (local_90 != 0))" (( "(") (binary_expression "(local_98 != 0) && (local_90 != 0)" (parenthesized_expression "(local_98 != 0)" (( "(") (binary_expression "local_98 != 0" (identifier "local_98") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(local_90 != 0)" (( "(") (binary_expression "local_90 != 0" (identifier "local_90") (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n    uVar16 = gettext("missing expected __tls_get_addr call");\n    FUN_001e1b30(local_90,local_88,local_80,uVar16);\n  }" ({ "{") (expression_statement "uVar16 = gettext("missing expected __tls_get_addr call");" (assignment_expression "uVar16 = gettext("missing expected __tls_get_addr call")" (identifier "uVar16") (= "=") (call_expression "gettext("missing expected __tls_get_addr call")" (identifier "gettext") (argument_list "("missing expected __tls_get_addr call")" (( "(") (string_literal ""missing expected __tls_get_addr call"" (" """) (string_content "missing expected __tls_get_addr call") (" """)) () ")")))) (; ";")) (expression_statement "FUN_001e1b30(local_90,local_88,local_80,uVar16);" (call_expression "FUN_001e1b30(local_90,local_88,local_80,uVar16)" (identifier "FUN_001e1b30") (argument_list "(local_90,local_88,local_80,uVar16)" (( "(") (identifier "local_90") (, ",") (identifier "local_88") (, ",") (identifier "local_80") (, ",") (identifier "uVar16") () ")"))) (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Removing unreachable block (ram,0x00192c13) */
/* WARNING: Removing unreachable block (ram,0x00192c1d) */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Struct "Scan": ignoring overlapping field "issued_non_pic_error_" */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* DWARF original name: gc_process_relocs<32, false, (anonymous namespace)::Target_powerpc<32,
   false>, (anonymous namespace)::Target_powerpc<32, false>::Scan, gold::Default_classify_reloc<4,
   32, false> > */

void var_46::
     gc_process_relocs<32,var_15,var_23(anonymous_namespace)::var_8<32,var_15>,var_23(anonymous_namespace)::var_8<32,var_15>::type_26,_gold::Default_classify_reloc<4,_32,var_15>var_23>
               (Symbol_table *symtab,Layout *param_2,var_8<32,var_15> *var_64,
               var_14<32,var_15> *src_obj,type_3 src_indx,type_23 *var_37,size_t var_40
               ,type_30 *var_41,bool param_9,size_t param_10,type_23 *plocal_syms)

{
  type_33 *var_65;
  type_1 *pp_Var2;
  type_2 var_42;
  type_3 var_38;
  type_3 var_43;
  type_4 iVar6;
  type_5 *pGVar7;
  type_1 var_62;
  type_6 *var_66;
  type_1 var_69;
  type_7 **var_76;
  type_4 __position;
  type_8 *pcVar12;
  type_3 var_60;
  char var_33;
  type_9 to;
  type_10 cVar15;
  size_t var_20;
  type_4 iVar17;
  type_1 p_Var18;
  var_1<32,var_15> *var_48;
  type_3 var_61;
  long var_25;
  type_11 var_75;
  type_12 pcVar21;
  type_11 var_26;
  type_3 var_70;
  type_11 *var_27;
  type_7 **pp_Var25;
  type_13 _Var26;
  type_14 *pRVar27;
  type_15 in_register_00000084;
  type_9 var_71;
  type_3 var_39;
  type_16 *pOVar30;
  type_17 uVar31;
  bool var_34;
  bool var_35;
  bool var_28;
  type_17 uVar35;
  bool var_36;
  type_11 bVar37;
  type_18 *local_188;
  type_19 *local_180;
  type_20 *local_178;
  type_21 *local_170;
  type_22 *local_168;
  type_7 **var_67;
  type_3 var_73;
  char var_59;
  type_3 var_44;
  type_3 *var_52;
  type_23 *var_78;
  var_2<> var_3;
  var_2<> var_4;
  type_24 __node_gen_2;
  type_24 __node_gen_3;
  type_24 __node_gen;
  type_24 __node_gen_1;
  _Head_base<0,_const_std::var_45<var_46::type_14*,var_5>&,var_15> var_6;
  _Head_base<0,_const_std::var_45<var_46::type_14*,var_5>&,var_15> var_7;
  type_16 *local_d8;
  type_3 local_d0;
  var_8<32,var_15> *local_c8;
  type_3 local_c0;
  type_25 src_id_2;
  type_25 dst_id;
  type_26 scan;
  type_27 src_section_name;
  type_25 var_24;
  
  var_52 = (type_3 *)var_9(in_register_00000084,src_indx);
  bVar37 = 0;
  var_61 = (type_3)src_obj;
  if (parameters->options_ == (type_28 *)0x0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00192fa2 to 00192fa6 has its CatchHandler @ 00192fdf */
    var_10("../../gold/parameters.h",0x5c,"options");
  }
  if (parameters->options_->icf_status_ == var_11) {
    src_section_name._M_dataplus._M_p = (type_12)&src_section_name.field_2;
                    /* try { // try from 00192ecc to 00192eeb has its CatchHandler @ 00192fdf */
    std::__cxx11::basic_string<var_22,var_74::char_traits<var_22>,var_74::var_21<var_22>var_23>::
    var_12<var_13*>(&src_section_name,"");
  }
  else if (*(type_8 **)(*(long *)var_64 + 0x80) == var_14<32,var_15>::var_16) {
                    /* try { // try from 001922c4 to 001922c8 has its CatchHandler @ 00192fdf */
    elfcpp::Elf_file<32,var_15,_gold::var_18>::var_17
              (&src_section_name,(Elf_file<32,var_15,_gold::var_18> *var_54)&var_64->tocsave_loc_,var_61);
  }
  else {
    (**(type_8 **)(*(long *)var_64 + 0x80))(&src_section_name,var_64,(type_9)src_obj & 0xffffffff);
  }
  _Var26._M_p = src_section_name._M_dataplus._M_p;
  if (parameters->options_ == (type_28 *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_10("../../gold/parameters.h",0x5c,"options");
  }
  if (parameters->options_->icf_status_ == var_11) {
LAB_001922eb:
    var_28 = false;
    local_188 = (type_18 *)0x0;
    local_168 = (type_22 *)0x0;
    local_180 = (type_19 *)0x0;
    local_170 = (type_21 *)0x0;
    local_178 = (type_20 *)0x0;
  }
  else {
    pcVar21 = (type_12)0xffffffffffffffff;
    var_24.first = (type_14 *)&stack0xffffffffffffffb8;
    uVar31 = 0;
    uVar35 = src_section_name._M_dataplus._M_p == (type_12)0x0;
    if (!(bool)uVar35) {
      var_20 = var_19(src_section_name._M_dataplus._M_p);
      pcVar21 = _Var26._M_p + var_20;
    }
    std::__cxx11::basic_string<var_22,var_74::char_traits<var_22>,var_74::var_21<var_22>var_23>::
    var_12<var_13*>
              ((basic_string<var_22,var_74::char_traits<var_22>,var_74::var_21<var_22>var_23> *var_54)&var_24,
               _Var26._M_p,pcVar21);
    var_25 = 5;
    var_27 = (type_11 *)".text";
    pRVar27 = var_24.first;
    do {
      if (var_25 == 0) break;
      var_25 = var_25 + -1;
      var_26 = *(type_11 *)&(pRVar27->super_Object)._vptr_Object;
      uVar31 = *var_27 < var_26;
      uVar35 = *var_27 == var_26;
      var_27 = var_27 + (type_9)bVar37 * -2 + 1;
      pRVar27 = (type_14 *)((long)pRVar27 + (type_9)bVar37 * -2 + 1);
    } while ((bool)uVar35);
    var_28 = false;
    var_34 = (!(bool)uVar31 && !(bool)uVar35) == (bool)uVar31;
    if (!var_34) {
      var_25 = 0xf;
      var_27 = (type_11 *)".gnu.linkonce.t";
      pRVar27 = var_24.first;
      do {
        if (var_25 == 0) break;
        var_25 = var_25 + -1;
        var_26 = *(type_11 *)&(pRVar27->super_Object)._vptr_Object;
        var_28 = *var_27 < var_26;
        var_34 = *var_27 == var_26;
        var_27 = var_27 + (type_9)bVar37 * -2 + 1;
        pRVar27 = (type_14 *)((long)pRVar27 + (type_9)bVar37 * -2 + 1);
      } while (var_34);
      if ((!var_28 && !var_34) != var_28) {
        if (var_24.first != (type_14 *)&stack0xffffffffffffffb8) {
          var_29(var_24.first);
        }
        goto LAB_001922eb;
      }
    }
    if (var_24.first != (type_14 *)&stack0xffffffffffffffb8) {
      var_29(var_24.first);
    }
    var_24.second = var_61;
    var_24.first = (type_14 *)var_64;
    local_178 = std::__detail::
                _Map_base<std::var_45<var_46::type_14*,var_5>,var_74::var_45<var_63::var_45<var_46::type_14*,var_5>,_gold::Icf::Reloc_info>,var_74::var_21<std::var_45<var_63::var_45<var_46::type_14*,var_5>,_gold::Icf::Reloc_info>var_23>,var_74::__detail::_Select1st,var_74::equal_to<std::var_45<var_46::type_14*,var_5>var_23>,_gold::Section_id_hash,var_74::__detail::_Mod_range_hashing,var_74::__detail::_Default_ranged_hash,var_74::__detail::_Prime_rehash_policy,var_74::__detail::var_30<true,var_15,var_31>,var_31>
                ::operator[var_54]((_Map_base<std::var_45<var_46::type_14*,var_5>,var_74::var_45<var_63::var_45<var_46::type_14*,var_5>,_gold::Icf::Reloc_info>,var_74::var_21<std::var_45<var_63::var_45<var_46::type_14*,var_5>,_gold::Icf::Reloc_info>var_23>,var_74::__detail::_Select1st,var_74::equal_to<std::var_45<var_46::type_14*,var_5>var_23>,_gold::Section_id_hash,var_74::__detail::_Mod_range_hashing,var_74::__detail::_Default_ranged_hash,var_74::__detail::_Prime_rehash_policy,var_74::__detail::var_30<true,var_15,var_31>,var_31>
                              *var_54)&symtab->icf_->reloc_info_list_,(type_29 *)&var_24);
    local_170 = &local_178->symbol_info;
    local_180 = &local_178->addend_info;
    local_168 = &local_178->offset_info;
    local_188 = &local_178->reloc_addend_size_info;
    var_28 = true;
  }
  if (parameters->options_ == (type_28 *)0x0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00192fba to 00192fd6 has its CatchHandler @ 00192fd7 */
    var_10("../../gold/parameters.h",0x5c,"options");
  }
  if ((parameters->options_->icf_status_ == var_32) &&
     (var_33 = (**(type_8 **)(*(long *)param_2 + 0x90))(param_2), var_33 != '\0')) {
    pcVar12 = *(type_8 **)(*(long *)param_2 + 0x10);
    if (pcVar12 != type_6::section_may_have_icf_unsafe_pointers) {
                    /* try { // try from 00192f0b to 00192f8e has its CatchHandler @ 00192fd7 */
      var_59 = (*pcVar12)(param_2,src_section_name._M_dataplus._M_p);
      goto LAB_0019234a;
    }
    pcVar12 = *(type_8 **)(*(long *)param_2 + 0x98);
    var_34 = pcVar12 < type_6::do_section_may_have_icf_unsafe_pointers;
    var_36 = pcVar12 == type_6::do_section_may_have_icf_unsafe_pointers;
    if (!var_36) {
      var_59 = (*pcVar12)(param_2,src_section_name._M_dataplus._M_p);
      goto LAB_0019234a;
    }
    var_25 = 0xc;
    var_27 = (type_11 *)".rodata._ZTV";
    _Var26 = src_section_name._M_dataplus;
    do {
      if (var_25 == 0) break;
      var_25 = var_25 + -1;
      var_34 = *var_27 < (type_11)*_Var26._M_p;
      var_36 = *var_27 == *_Var26._M_p;
      var_27 = var_27 + (type_9)bVar37 * -2 + 1;
      _Var26._M_p = (type_12)((type_11 *)_Var26._M_p + (type_9)bVar37 * -2 + 1);
    } while (var_36);
    var_35 = false;
    var_34 = (!var_34 && !var_36) == var_34;
    if (!var_34) {
      var_25 = 0x11;
      var_27 = (type_11 *)".data.rel.ro._ZTV";
      _Var26 = src_section_name._M_dataplus;
      do {
        if (var_25 == 0) break;
        var_25 = var_25 + -1;
        var_35 = *var_27 < (type_11)*_Var26._M_p;
        var_34 = *var_27 == *_Var26._M_p;
        var_27 = var_27 + (type_9)bVar37 * -2 + 1;
        _Var26._M_p = (type_12)((type_11 *)_Var26._M_p + (type_9)bVar37 * -2 + 1);
      } while (var_34);
      var_36 = false;
      var_34 = (!var_35 && !var_34) == var_35;
      if (!var_34) {
        var_25 = 0xc;
        var_27 = (type_11 *)".rodata._ZTC";
        _Var26 = src_section_name._M_dataplus;
        do {
          if (var_25 == 0) break;
          var_25 = var_25 + -1;
          var_36 = *var_27 < (type_11)*_Var26._M_p;
          var_34 = *var_27 == *_Var26._M_p;
          var_27 = var_27 + (type_9)bVar37 * -2 + 1;
          _Var26._M_p = (type_12)((type_11 *)_Var26._M_p + (type_9)bVar37 * -2 + 1);
        } while (var_34);
        var_35 = false;
        var_34 = (!var_36 && !var_34) == var_36;
        if (!var_34) {
          var_25 = 0x11;
          var_27 = (type_11 *)".data.rel.ro._ZTC";
          _Var26 = src_section_name._M_dataplus;
          do {
            if (var_25 == 0) break;
            var_25 = var_25 + -1;
            var_35 = *var_27 < (type_11)*_Var26._M_p;
            var_34 = *var_27 == *_Var26._M_p;
            var_27 = var_27 + (type_9)bVar37 * -2 + 1;
            _Var26._M_p = (type_12)((type_11 *)_Var26._M_p + (type_9)bVar37 * -2 + 1);
          } while (var_34);
          var_36 = false;
          var_34 = (!var_35 && !var_34) == var_35;
          if (!var_34) {
            var_25 = 9;
            var_27 = (type_11 *)".eh_frame";
            _Var26 = src_section_name._M_dataplus;
            do {
              if (var_25 == 0) break;
              var_25 = var_25 + -1;
              var_36 = *var_27 < (type_11)*_Var26._M_p;
              var_34 = *var_27 == *_Var26._M_p;
              var_27 = var_27 + (type_9)bVar37 * -2 + 1;
              _Var26._M_p = (type_12)((type_11 *)_Var26._M_p + (type_9)bVar37 * -2 + 1);
            } while (var_34);
            var_59 = (!var_36 && !var_34) != var_36;
            goto LAB_0019234a;
          }
        }
      }
    }
  }
  var_59 = '\0';
LAB_0019234a:
  if (var_37 != (type_23 *)0x0) {
    var_67 = (type_7 **)0x0;
    var_78 = (type_23 *)0x0;
    do {
      var_38 = var_52[1];
      var_43 = var_52[2];
      var_39 = var_38 >> 8;
      var_60 = var_38 & 0xff;
      if (var_39 < var_40) {
        if (var_41 == (type_30 *)0x0) {
                    /* WARNING: Subroutine does not return */
          var_10("../../gold/gc.h",0xea,"gc_process_relocs");
        }
        var_70 = var_39 << 4;
        var_42 = *(type_2 *)((long)&(var_41->super_Output_data).address_ + (type_9)var_70 + 6);
        var_71 = (type_9)var_42;
        if (var_42 < 0xff00) {
LAB_001924f6:
          var_44 = *(type_3 *)((long)&(var_41->super_Output_data)._vptr_Output_data +
                               (type_9)var_70 + 4);
          pRVar27 = (type_14 *)(type_9)var_44;
          var_44 = var_43 + var_44;
          if (var_28) {
            var_24.second = (type_3)var_71;
            var_24.first = (type_14 *)var_64;
            std::
            vector<std::var_45<var_46::type_14*,var_5>,var_74::var_21<std::var_45<var_46::type_14*,var_5>var_23>var_23>
            ::var_57<std::var_45<var_46::type_14*,var_5>var_23>
                      (&local_178->section_info,(var_45<var_46::type_14*,var_5> *var_54)&var_24);
            var_34 = true;
            if ((*(type_11 *)((long)&(var_41->super_Output_data).address_ + (type_9)var_70 + 4) & 0xf)
                != 3) goto LAB_001923f0;
LAB_0019253e:
            var_24.first = (type_14 *)0xffffffffffffffff;
            std::vector<var_46::var_47*,var_74::var_21<var_46::var_47*>var_23>::var_57<var_46::var_47*>
                      (local_170,(var_47 **)&var_24);
            goto LAB_0019240b;
          }
        }
        else {
          if (var_42 == 0xffff) {
            var_48 = var_64->brlt_section_;
            if (var_48 == (var_1<32,var_15> *)0x0) {
              var_48 = (var_1<32,var_15> *var_54)
                     (**(type_8 **)(*(long *)var_64 + 0xd8))(var_64);
              var_64->brlt_section_ = var_48;
            }
            var_39 = type_31::var_49((type_31 *)var_48,(var_18 *)var_64,var_39);
            var_71 = (type_9)var_39;
            goto LAB_001924f6;
          }
          var_44 = *(type_3 *)((long)&(var_41->super_Output_data)._vptr_Output_data +
                               (type_9)var_70 + 4);
          pRVar27 = (type_14 *)(type_9)var_44;
          var_44 = var_43 + var_44;
          if (!var_28) goto LAB_00192480;
          var_24.first = (type_14 *)0x0;
          var_24._8_8_ = var_24._8_8_ & 0xffffffff00000000;
                    /* try { // try from 001923d5 to 00192be2 has its CatchHandler @ 00192fd7 */
          std::
          vector<std::var_45<var_46::type_14*,var_5>,var_74::var_21<std::var_45<var_46::type_14*,var_5>var_23>var_23>
          ::var_57<std::var_45<var_46::type_14*,var_5>var_23>
                    (&local_178->section_info,(var_45<var_46::type_14*,var_5> *var_54)&var_24);
          var_34 = false;
          if ((*(type_11 *)((long)&(var_41->super_Output_data).address_ + (type_9)var_70 + 4) & 0xf) ==
              3) goto LAB_0019253e;
LAB_001923f0:
          var_24.first = (type_14 *)0x0;
          std::vector<var_46::var_47*,var_74::var_21<var_46::var_47*>var_23>::var_57<var_46::var_47*>
                    (local_170,(var_47 **)&var_24);
LAB_0019240b:
          var_24.first = pRVar27;
          var_24._8_8_ = (long)(int)var_43;
          std::
          vector<std::var_45<var_50,var_51>,var_74::var_21<std::var_45<var_50,var_51>var_23>var_23>
          ::var_57<std::var_45<var_50,var_51>var_23>
                    (local_180,(var_45<var_50,var_51> *var_54)&var_24);
          var_24.first = (type_14 *)(type_9)*var_52;
          iVar6._M_current =
               (local_168->super__Vector_base<var_53,var_74::var_21<var_53>var_23>var_54
               )._M_impl._M_finish;
          if (iVar6._M_current ==
              (local_168->super__Vector_base<var_53,var_74::var_21<var_53>var_23>var_54)
              ._M_impl._M_end_of_storage) {
            std::vector<var_53,var_74::var_21<var_53>var_23>::
            var_55<var_56&>(local_168,iVar6,(type_9 *)&var_24);
          }
          else {
            *iVar6._M_current = (type_9)var_24.first;
            (local_168->super__Vector_base<var_53,var_74::var_21<var_53>var_23>var_54).
            _M_impl._M_finish = iVar6._M_current + 1;
          }
          dst_id.first = (type_14 *)((type_9)dst_id.first & 0xffffffff00000000);
          std::vector<var_58,var_74::var_21<var_58>var_23>::var_57<var_58>
                    (local_188,(type_3 *)&dst_id);
          if (!var_34) goto LAB_00192480;
        }
        if (((var_59 != '\0') &&
            ((*(type_11 *)((long)&(var_41->super_Output_data).address_ + (type_9)var_70 + 4) & 0xf) !=
             1)) && ((0x17 < var_60 || ((0x843f84UL >> ((type_9)var_38 & 0x3f) & 1) == 0)))) {
          local_c0 = (type_3)*(type_2 *)
                            ((long)&(var_41->super_Output_data).address_ + (type_9)var_70 + 6);
          __node_gen_2._M_h = (type_32 *)&symtab->icf_->fptr_section_id_;
          local_c8 = var_64;
          std::
          _Hashtable<std::var_45<var_46::type_14*,var_5>,var_74::var_45<var_46::type_14*,var_5>,var_74::var_21<std::var_45<var_46::type_14*,var_5>var_23>,var_74::__detail::_Identity,var_74::equal_to<std::var_45<var_46::type_14*,var_5>var_23>,_gold::Section_id_hash,var_74::__detail::_Mod_range_hashing,var_74::__detail::_Default_ranged_hash,var_74::__detail::_Prime_rehash_policy,var_74::__detail::var_30<true,var_31,var_31>var_23>
          ::
          _M_insert<std::var_45<var_46::type_14*,var_5>,var_74::__detail::_AllocNode<std::var_21<std::__detail::_Hash_node<std::var_45<var_46::type_14*,var_5>,var_31>var_23>var_23>var_23>
                    ((_Hashtable<std::var_45<var_46::type_14*,var_5>,var_74::var_45<var_46::type_14*,var_5>,var_74::var_21<std::var_45<var_46::type_14*,var_5>var_23>,var_74::__detail::_Identity,var_74::equal_to<std::var_45<var_46::type_14*,var_5>var_23>,_gold::Section_id_hash,var_74::__detail::_Mod_range_hashing,var_74::__detail::_Default_ranged_hash,var_74::__detail::_Prime_rehash_policy,var_74::__detail::var_30<true,var_31,var_31>var_23>
                      *)__node_gen_2._M_h,&local_c8,&__node_gen_2,1);
        }
        pOVar30 = (type_16 *)var_64;
        if (var_61 != (type_3)var_71) {
LAB_001925a8:
          if (parameters->options_ == (type_28 *)0x0) {
                    /* WARNING: Subroutine does not return */
            var_10("../../gold/parameters.h",0x5c,"options");
          }
          if ((parameters->options_->gc_sections_).value != false) {
            pGVar7 = symtab->gc_;
            dst_id.second = (type_3)var_71;
            var_62 = (pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.
                     _M_parent;
            var_65 = &(pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header;
            p_Var18 = &var_65->_M_header;
            cVar15._M_node = &var_65->_M_header;
            src_id_2.first = (type_14 *)var_64;
            src_id_2.second = var_61;
            dst_id.first = (type_14 *)pOVar30;
            if (var_62 == (type_1)0x0) {
LAB_00192660:
              var_6._M_head_impl = &src_id_2;
              cVar15._M_node =
                   (type_1)
                   std::
                   _Rb_tree<std::var_45<var_46::type_14*,var_5>,var_74::var_45<var_63::var_45<var_46::type_14*,var_5>,var_74::unordered_set<std::var_45<var_46::type_14*,var_5>,_gold::Section_id_hash,var_74::equal_to<std::var_45<var_46::type_14*,var_5>var_23>,var_74::var_21<std::var_45<var_46::type_14*,var_5>var_23>var_23>var_23>,var_74::_Select1st<std::var_45<var_63::var_45<var_46::type_14*,var_5>,var_74::unordered_set<std::var_45<var_46::type_14*,var_5>,_gold::Section_id_hash,var_74::equal_to<std::var_45<var_46::type_14*,var_5>var_23>,var_74::var_21<std::var_45<var_46::type_14*,var_5>var_23>var_23>var_23>var_23>,var_74::less<std::var_45<var_46::type_14*,var_5>var_23>,var_74::var_21<std::var_45<var_63::var_45<var_46::type_14*,var_5>,var_74::unordered_set<std::var_45<var_46::type_14*,var_5>,_gold::Section_id_hash,var_74::equal_to<std::var_45<var_46::type_14*,var_5>var_23>,var_74::var_21<std::var_45<var_46::type_14*,var_5>var_23>var_23>var_23>var_23>var_23>
                   ::
                   _M_emplace_hint_unique<var_63::piecewise_construct_t&,var_74::var_2<var_63::var_45<var_46::type_14*,var_5>&>,var_74::var_2<>var_23>
                             (&(pGVar7->section_reloc_map_)._M_t,cVar15,
                              (piecewise_construct_t *)&std::piecewise_construct,
                              (var_2<var_63::var_45<var_46::type_14*,var_5>&> *var_54)&var_6,
                              &var_3);
            }
            else {
              do {
                while ((cVar15._M_node = var_62,
                       var_64 <= *(var_8<32,var_15> **var_54)(cVar15._M_node + 1) &&
                       ((var_64 != *(var_8<32,var_15> **var_54)(cVar15._M_node + 1) ||
                        (var_61 <= *(type_3 *)&cVar15._M_node[1]._M_parent))))) {
                  p_Var18 = cVar15._M_node;
                  var_62 = (cVar15._M_node)->_M_left;
                  if ((cVar15._M_node)->_M_left == (type_1)0x0) goto LAB_0019263a;
                }
                pp_Var2 = &(cVar15._M_node)->_M_right;
                cVar15._M_node = p_Var18;
                var_62 = *pp_Var2;
              } while (*pp_Var2 != (type_1)0x0);
LAB_0019263a:
              if ((((type_33 *)cVar15._M_node == var_65) ||
                  (var_64 < *(var_8<32,var_15> **var_54)(cVar15._M_node + 1))) ||
                 ((var_64 == *(var_8<32,var_15> **var_54)(cVar15._M_node + 1) &&
                  (var_61 < *(type_3 *)&cVar15._M_node[1]._M_parent)))) goto LAB_00192660;
            }
            __node_gen_1._M_h = (type_32 *)&cVar15._M_node[1]._M_left;
            std::
            _Hashtable<std::var_45<var_46::type_14*,var_5>,var_74::var_45<var_46::type_14*,var_5>,var_74::var_21<std::var_45<var_46::type_14*,var_5>var_23>,var_74::__detail::_Identity,var_74::equal_to<std::var_45<var_46::type_14*,var_5>var_23>,_gold::Section_id_hash,var_74::__detail::_Mod_range_hashing,var_74::__detail::_Default_ranged_hash,var_74::__detail::_Prime_rehash_policy,var_74::__detail::var_30<true,var_31,var_31>var_23>
            ::
            _M_insert<var_63::var_45<var_46::type_14*,var_5>&,var_74::__detail::_AllocNode<std::var_21<std::__detail::_Hash_node<std::var_45<var_46::type_14*,var_5>,var_31>var_23>var_23>var_23>
                      ((_Hashtable<std::var_45<var_46::type_14*,var_5>,var_74::var_45<var_46::type_14*,var_5>,var_74::var_21<std::var_45<var_46::type_14*,var_5>var_23>,var_74::__detail::_Identity,var_74::equal_to<std::var_45<var_46::type_14*,var_5>var_23>,_gold::Section_id_hash,var_74::__detail::_Mod_range_hashing,var_74::__detail::_Default_ranged_hash,var_74::__detail::_Prime_rehash_policy,var_74::__detail::var_30<true,var_31,var_31>var_23>
                        *)__node_gen_1._M_h,&dst_id,&__node_gen_1,1);
            var_66 = parameters->target_;
            if (var_66 == (type_6 *)0x0) {
                    /* WARNING: Subroutine does not return */
              var_10("../../gold/parameters.h",0x73,"sized_target");
            }
            (*var_66->_vptr_Target[0x41])
                      (var_66,symtab,var_64,(type_9)src_obj & 0xffffffff,pOVar30,var_71,
                       (type_9)var_44);
            if (var_67 != (type_7 **)0x0) {
              pGVar7 = symtab->gc_;
              var_24.first = (type_14 *)&stack0xffffffffffffffb8;
              var_20 = var_19((char *)var_67);
              std::__cxx11::basic_string<var_22,var_74::char_traits<var_22>,var_74::var_21<var_22>var_23>::
              var_12<var_13*>
                        ((basic_string<var_22,var_74::char_traits<var_22>,var_74::var_21<var_22>var_23> *var_54)
                         &var_24,var_67,(type_11 *)((long)var_67 + var_20));
              iVar17 = std::
                       _Rb_tree<std::__cxx11::basic_string<var_22,var_74::char_traits<var_22>,var_74::var_21<var_22>var_23>,var_74::var_45<var_63::__cxx11::basic_string<var_22,var_74::char_traits<var_22>,var_74::var_21<var_22>var_23>,var_74::unordered_set<std::var_45<var_46::type_14*,var_5>,_gold::Section_id_hash,var_74::equal_to<std::var_45<var_46::type_14*,var_5>var_23>,var_74::var_21<std::var_45<var_46::type_14*,var_5>var_23>var_23>var_23>,var_74::_Select1st<std::var_45<var_63::__cxx11::basic_string<var_22,var_74::char_traits<var_22>,var_74::var_21<var_22>var_23>,var_74::unordered_set<std::var_45<var_46::type_14*,var_5>,_gold::Section_id_hash,var_74::equal_to<std::var_45<var_46::type_14*,var_5>var_23>,var_74::var_21<std::var_45<var_46::type_14*,var_5>var_23>var_23>var_23>var_23>,var_74::less<std::__cxx11::basic_string<var_22,var_74::char_traits<var_22>,var_74::var_21<var_22>var_23>var_23>,var_74::var_21<std::var_45<var_63::__cxx11::basic_string<var_22,var_74::char_traits<var_22>,var_74::var_21<var_22>var_23>,var_74::unordered_set<std::var_45<var_46::type_14*,var_5>,_gold::Section_id_hash,var_74::equal_to<std::var_45<var_46::type_14*,var_5>var_23>,var_74::var_21<std::var_45<var_46::type_14*,var_5>var_23>var_23>var_23>var_23>var_23>
                       ::var_68(&(pGVar7->cident_sections_)._M_t,
                              (basic_string<var_22,var_74::char_traits<var_22>,var_74::var_21<var_22>var_23> *var_54)
                              &var_24);
              if (var_24.first != (type_14 *)&stack0xffffffffffffffb8) {
                var_29(var_24.first);
              }
              pGVar7 = symtab->gc_;
              if ((type_33 *)iVar17._M_node !=
                  &(pGVar7->cident_sections_)._M_t._M_impl.super__Rb_tree_header) {
                var_62 = (pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.
                         _M_parent;
                var_65 = &(pGVar7->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header;
                var_24.second = var_61;
                p_Var18 = &var_65->_M_header;
                cVar15._M_node = &var_65->_M_header;
                if (var_62 == (type_1)0x0) {
LAB_00192b80:
                  var_7._M_head_impl = (var_45<var_46::type_14*,var_5> *var_54)&var_24;
                  var_24.first = (type_14 *)var_64;
                  cVar15._M_node =
                       (type_1)
                       std::
                       _Rb_tree<std::var_45<var_46::type_14*,var_5>,var_74::var_45<var_63::var_45<var_46::type_14*,var_5>,var_74::unordered_set<std::var_45<var_46::type_14*,var_5>,_gold::Section_id_hash,var_74::equal_to<std::var_45<var_46::type_14*,var_5>var_23>,var_74::var_21<std::var_45<var_46::type_14*,var_5>var_23>var_23>var_23>,var_74::_Select1st<std::var_45<var_63::var_45<var_46::type_14*,var_5>,var_74::unordered_set<std::var_45<var_46::type_14*,var_5>,_gold::Section_id_hash,var_74::equal_to<std::var_45<var_46::type_14*,var_5>var_23>,var_74::var_21<std::var_45<var_46::type_14*,var_5>var_23>var_23>var_23>var_23>,var_74::less<std::var_45<var_46::type_14*,var_5>var_23>,var_74::var_21<std::var_45<var_63::var_45<var_46::type_14*,var_5>,var_74::unordered_set<std::var_45<var_46::type_14*,var_5>,_gold::Section_id_hash,var_74::equal_to<std::var_45<var_46::type_14*,var_5>var_23>,var_74::var_21<std::var_45<var_46::type_14*,var_5>var_23>var_23>var_23>var_23>var_23>
                       ::
                       _M_emplace_hint_unique<var_63::piecewise_construct_t&,var_74::var_2<var_63::var_45<var_46::type_14*,var_5>&>,var_74::var_2<>var_23>
                                 (&(pGVar7->section_reloc_map_)._M_t,cVar15,
                                  (piecewise_construct_t *)&std::piecewise_construct,
                                  (var_2<var_63::var_45<var_46::type_14*,var_5>&> *var_54)&var_7,
                                  &var_4);
                }
                else {
                  do {
                    while ((cVar15._M_node = var_62,
                           var_64 <= *(var_8<32,var_15> **var_54)(cVar15._M_node + 1) &&
                           ((var_64 != *(var_8<32,var_15> **var_54)(cVar15._M_node + 1) ||
                            (var_61 <= *(type_3 *)&cVar15._M_node[1]._M_parent))))) {
                      p_Var18 = cVar15._M_node;
                      var_62 = (cVar15._M_node)->_M_left;
                      if ((cVar15._M_node)->_M_left == (type_1)0x0) goto LAB_001927c2;
                    }
                    pp_Var2 = &(cVar15._M_node)->_M_right;
                    cVar15._M_node = p_Var18;
                    var_62 = *pp_Var2;
                  } while (*pp_Var2 != (type_1)0x0);
LAB_001927c2:
                  if ((((type_33 *)cVar15._M_node == var_65) ||
                      (var_64 < *(var_8<32,var_15> **var_54)(cVar15._M_node + 1))) ||
                     ((var_24.first = (type_14 *)var_64,
                      var_64 == *(var_8<32,var_15> **var_54)(cVar15._M_node + 1) &&
                      (var_61 < *(type_3 *)&cVar15._M_node[1]._M_parent)))) goto LAB_00192b80;
                }
                for (var_69 = iVar17._M_node[2]._M_left; var_69 != (type_1)0x0;
                    var_69 = *(type_1 *)var_69) {
                  __node_gen._M_h = (type_32 *)&cVar15._M_node[1]._M_left;
                  std::
                  _Hashtable<std::var_45<var_46::type_14*,var_5>,var_74::var_45<var_46::type_14*,var_5>,var_74::var_21<std::var_45<var_46::type_14*,var_5>var_23>,var_74::__detail::_Identity,var_74::equal_to<std::var_45<var_46::type_14*,var_5>var_23>,_gold::Section_id_hash,var_74::__detail::_Mod_range_hashing,var_74::__detail::_Default_ranged_hash,var_74::__detail::_Prime_rehash_policy,var_74::__detail::var_30<true,var_31,var_31>var_23>
                  ::
                  _M_insert<var_63::var_45<var_46::type_14*,var_5>&,var_74::__detail::_AllocNode<std::var_21<std::__detail::_Hash_node<std::var_45<var_46::type_14*,var_5>,var_31>var_23>var_23>var_23>
                            ((_Hashtable<std::var_45<var_46::type_14*,var_5>,var_74::var_45<var_46::type_14*,var_5>,var_74::var_21<std::var_45<var_46::type_14*,var_5>var_23>,var_74::__detail::_Identity,var_74::equal_to<std::var_45<var_46::type_14*,var_5>var_23>,_gold::Section_id_hash,var_74::__detail::_Mod_range_hashing,var_74::__detail::_Default_ranged_hash,var_74::__detail::_Prime_rehash_policy,var_74::__detail::var_30<true,var_31,var_31>var_23>
                              *var_54)&cVar15._M_node[1]._M_left,&var_69->_M_parent,&__node_gen,1);
                }
              }
            }
          }
        }
      }
      else {
        var_70 = (type_3)(var_64->tocsave_loc_)._M_h._M_rehash_policy._M_next_resize;
        if (var_39 < var_70) {
          dst_id.first = (type_14 *)0x0;
LAB_00192adb:
                    /* WARNING: Subroutine does not return */
          var_10("../../gold/gc.h",0x11c,"gc_process_relocs");
        }
        var_71 = (type_9)(var_39 - var_70);
        if ((type_9)(*(long *)&var_64->relax_fail_count_ - *(long *)&var_64->plt_thread_safe_ >> 3)
            <= var_71) {
                    /* WARNING: Subroutine does not return */
          var_10("../../gold/object.h",0x8ad,"global_symbol");
        }
        dst_id.first = *(type_14 **)(*(long *)&var_64->plt_thread_safe_ + var_71 * 8);
        if (dst_id.first == (type_14 *)0x0) goto LAB_00192adb;
        if ((((dst_id.first)->super_Object).shnum_ & 0x100000) != 0) {
          dst_id.first = (type_14 *)Symbol_table::var_72(symtab,(var_47 *)dst_id.first);
        }
        if ((((dst_id.first)->super_Object).shnum_ & 0x70000) == 0) {
          var_73 = *(type_3 *)&((dst_id.first)->super_Object).xindex_;
          pOVar30 = ((type_34 *)
                    &((dst_id.first)->super_Object).name_._M_string_length)->output_segment;
          var_44 = var_43 + var_73;
          if (((type_9)pOVar30->output_lists_[2].
                      super__Vector_base<var_46::Output_data*,var_74::var_21<var_46::Output_data*>var_23>.
                      _M_impl._M_finish & 0x100000000) == 0) {
            var_39 = *(type_3 *)&((dst_id.first)->super_Object).name_.field_2;
            var_71 = (type_9)var_39;
            var_75 = (type_11)((dst_id.first)->super_Object).shnum_ & 0xf;
            var_26 = *(type_11 *)((long)&((dst_id.first)->super_Object).shnum_ + 3) >> 5 & 1;
            uVar31 = var_75 < 2;
            uVar35 = var_75 == 2;
            if ((bool)uVar35) {
              uVar31 = 0;
              uVar35 = var_59 == '\0';
              if (!(bool)uVar35) {
                uVar31 = false;
                uVar35 = var_26 == 0;
                if (!(bool)uVar35) {
                  uVar31 = var_60 < 0x17;
                  uVar35 = var_60 == 0x17;
                  if ((var_60 < 0x18) &&
                     (uVar31 = (0x843f84UL >> ((type_9)var_38 & 0x3f) & 1) != 0, (bool)uVar31))
                  goto LAB_00192930;
                }
                __node_gen_3._M_h = (type_32 *)&symtab->icf_->fptr_section_id_;
                local_d8 = pOVar30;
                local_d0 = var_39;
                    /* try { // try from 00192ca4 to 00192e68 has its CatchHandler @ 00192fd7 */
                std::
                _Hashtable<std::var_45<var_46::type_14*,var_5>,var_74::var_45<var_46::type_14*,var_5>,var_74::var_21<std::var_45<var_46::type_14*,var_5>var_23>,var_74::__detail::_Identity,var_74::equal_to<std::var_45<var_46::type_14*,var_5>var_23>,_gold::Section_id_hash,var_74::__detail::_Mod_range_hashing,var_74::__detail::_Default_ranged_hash,var_74::__detail::_Prime_rehash_policy,var_74::__detail::var_30<true,var_31,var_31>var_23>
                ::
                _M_insert<std::var_45<var_46::type_14*,var_5>,var_74::__detail::_AllocNode<std::var_21<std::__detail::_Hash_node<std::var_45<var_46::type_14*,var_5>,var_31>var_23>var_23>var_23>
                          ((_Hashtable<std::var_45<var_46::type_14*,var_5>,var_74::var_45<var_46::type_14*,var_5>,var_74::var_21<std::var_45<var_46::type_14*,var_5>var_23>,var_74::__detail::_Identity,var_74::equal_to<std::var_45<var_46::type_14*,var_5>var_23>,_gold::Section_id_hash,var_74::__detail::_Mod_range_hashing,var_74::__detail::_Default_ranged_hash,var_74::__detail::_Prime_rehash_policy,var_74::__detail::var_30<true,var_31,var_31>var_23>
                            *)__node_gen_3._M_h,&local_d8,&__node_gen_3,1);
              }
            }
          }
          else {
            var_26 = 0;
            var_71 = 0;
            uVar31 = 0;
            pOVar30 = (type_16 *)0x0;
            uVar35 = 1;
          }
        }
        else {
          var_73 = *(type_3 *)&((dst_id.first)->super_Object).xindex_;
          var_26 = 0;
          var_71 = 0;
          uVar31 = 0;
          pOVar30 = (type_16 *)0x0;
          uVar35 = 1;
          var_44 = var_43 + var_73;
        }
LAB_00192930:
        var_76 = ((dst_id.first)->super_Object)._vptr_Object;
        var_25 = 8;
        var_27 = (type_11 *)"__start_";
        pp_Var25 = var_76;
        do {
          if (var_25 == 0) break;
          var_25 = var_25 + -1;
          uVar31 = *var_27 < *(type_11 *)pp_Var25;
          uVar35 = *var_27 == *(type_11 *)pp_Var25;
          var_27 = var_27 + (type_9)bVar37 * -2 + 1;
          pp_Var25 = (type_7 **)((long)pp_Var25 + (type_9)bVar37 * -2 + 1);
        } while ((bool)uVar35);
        var_34 = false;
        var_36 = (!(bool)uVar31 && !(bool)uVar35) == (bool)uVar31;
        if (var_36) {
          var_76 = var_76 + 1;
        }
        else {
          var_25 = 7;
          var_27 = (type_11 *)"__stop_";
          pp_Var25 = var_76;
          do {
            if (var_25 == 0) break;
            var_25 = var_25 + -1;
            var_34 = *var_27 < *(type_11 *)pp_Var25;
            var_36 = *var_27 == *(type_11 *)pp_Var25;
            var_27 = var_27 + (type_9)bVar37 * -2 + 1;
            pp_Var25 = (type_7 **)((long)pp_Var25 + (type_9)bVar37 * -2 + 1);
          } while (var_36);
          var_76 = (type_7 **)((long)var_76 + 7);
          if ((!var_34 && !var_36) != var_34) {
            var_76 = var_67;
          }
        }
        var_67 = var_76;
        if (var_28) {
          if (var_26 == 0) {
            var_24.first = (type_14 *)0x0;
            var_24._8_8_ = (type_9)(type_3)var_24._12_4_ << 0x20;
            std::
            vector<std::var_45<var_46::type_14*,var_5>,var_74::var_21<std::var_45<var_46::type_14*,var_5>var_23>var_23>
            ::var_57<std::var_45<var_46::type_14*,var_5>var_23>
                      (&local_178->section_info,(var_45<var_46::type_14*,var_5> *var_54)&var_24);
          }
          else {
            var_24.second = (type_3)var_71;
            var_24.first = (type_14 *)pOVar30;
            std::
            vector<std::var_45<var_46::type_14*,var_5>,var_74::var_21<std::var_45<var_46::type_14*,var_5>var_23>var_23>
            ::var_57<std::var_45<var_46::type_14*,var_5>var_23>
                      (&local_178->section_info,(var_45<var_46::type_14*,var_5> *var_54)&var_24);
          }
          __position._M_current =
               (local_170->super__Vector_base<var_46::var_47*,var_74::var_21<var_46::var_47*>var_23>var_54).
               _M_impl._M_finish;
          if (__position._M_current ==
              (local_170->super__Vector_base<var_46::var_47*,var_74::var_21<var_46::var_47*>var_23>var_54)._M_impl
              ._M_end_of_storage) {
            std::vector<var_46::var_47*,var_74::var_21<var_46::var_47*>var_23>::
            var_55<var_46::var_47*var_77&>(local_170,__position,(var_47 **)&dst_id);
          }
          else {
            *__position._M_current = (var_47 *)dst_id.first;
            (local_170->super__Vector_base<var_46::var_47*,var_74::var_21<var_46::var_47*>var_23>var_54)._M_impl.
            _M_finish = __position._M_current + 1;
          }
          var_24.first = (type_14 *)(type_9)var_73;
          var_24._8_8_ = (long)(int)var_43;
          std::
          vector<std::var_45<var_50,var_51>,var_74::var_21<std::var_45<var_50,var_51>var_23>var_23>
          ::var_57<std::var_45<var_50,var_51>var_23>
                    (local_180,(var_45<var_50,var_51> *var_54)&var_24);
          var_24.first = (type_14 *)(type_9)*var_52;
          iVar6._M_current =
               (local_168->super__Vector_base<var_53,var_74::var_21<var_53>var_23>var_54
               )._M_impl._M_finish;
          if (iVar6._M_current ==
              (local_168->super__Vector_base<var_53,var_74::var_21<var_53>var_23>var_54)
              ._M_impl._M_end_of_storage) {
            std::vector<var_53,var_74::var_21<var_53>var_23>::
            var_55<var_56&>(local_168,iVar6,(type_9 *)&var_24);
          }
          else {
            *iVar6._M_current = (type_9)var_24.first;
            (local_168->super__Vector_base<var_53,var_74::var_21<var_53>var_23>var_54).
            _M_impl._M_finish = iVar6._M_current + 1;
          }
          src_id_2.first = (type_14 *)((type_9)src_id_2.first & 0xffffffff00000000);
          std::vector<var_58,var_74::var_21<var_58>var_23>::var_57<var_58>
                    (local_188,(type_3 *)&src_id_2);
        }
        if (var_26 != 0) goto LAB_001925a8;
      }
LAB_00192480:
      var_78 = var_78 + 1;
      var_52 = var_52 + 3;
    } while (var_37 != var_78);
  }
  if ((anon_union_16_2_edb7204a_for_basic_string<var_22,var_74::char_traits<var_22>,var_74::var_21<var_22>var_23>var_79
       *)src_section_name._M_dataplus._M_p != &src_section_name.field_2) {
    var_29(src_section_name._M_dataplus._M_p);
  }
  return;
}


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

void MASKED(long param_1,long *param_2,byte *param_3,uint param_4,uint *param_5,long param_6,
                 ulong param_7,long param_8)

{
  long *plVar1;
  ushort uVar2;
  uint uVar3;
  uint uVar4;
  undefined8 *puVar5;
  code *pcVar6;
  uint uVar7;
  long lVar8;
  char cVar9;
  uint uVar10;
  long lVar11;
  long lVar12;
  size_t sVar13;
  long lVar14;
  long lVar15;
  undefined8 uVar16;
  byte *pbVar17;
  byte bVar18;
  long lVar19;
  byte *pbVar20;
  byte *pbVar21;
  uint uVar22;
  ulong uVar23;
  byte *pbVar24;
  undefined1 uVar25;
  bool bVar26;
  bool bVar27;
  bool bVar28;
  undefined1 uVar29;
  bool bVar30;
  byte bVar31;
  long local_188;
  long local_180;
  long local_178;
  long local_170;
  long local_168;
  byte *local_158;
  uint local_150;
  char local_136;
  int local_134;
  uint *local_128;
  long local_120;
  undefined1 local_10a;
  undefined1 local_109;
  long local_108;
  long local_100;
  long local_f8;
  long local_f0;
  byte **local_e8;
  byte **local_e0;
  byte *local_d8;
  uint local_d0;
  byte *local_c8;
  uint local_c0;
  byte *local_b8;
  uint local_b0;
  byte *local_a8;
  uint local_a0;
  int local_98;
  long local_90;
  undefined8 local_88;
  undefined4 local_80;
  undefined1 local_7c;
  byte *local_78 [2];
  byte local_68 [16];
  byte *local_58;
  undefined8 local_50;
  byte local_48 [24];
  
  bVar31 = 0;
  local_7c = 0;
  local_98 = 0;
  local_90 = 0;
  local_88 = 0;
  local_80 = 0;
  if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00192fa2 to 00192fa6 has its CatchHandler @ 00192fdf */
    FUN_001e9890("../../gold/parameters.h",0x5c,"options");
  }
  if (*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 0) {
    local_78[0] = local_68;
                    /* try { // try from 00192ecc to 00192eeb has its CatchHandler @ 00192fdf */
    FUN_001bc4c0(local_78,"");
  }
  else if (*(code **)(*(long *)param_3 + 0x80) == FUN_001c3900) {
                    /* try { // try from 001922c4 to 001922c8 has its CatchHandler @ 00192fdf */
    FUN_001c3780(local_78,param_3 + 0xf8,param_4);
  }
  else {
    (**(code **)(*(long *)param_3 + 0x80))(local_78,param_3,param_4);
  }
  pbVar24 = local_78[0];
  if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {
                    /* WARNING: Subroutine does not return */
    FUN_001e9890("../../gold/parameters.h",0x5c,"options");
  }
  if (*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 0) {
LAB_001922eb:
    bVar28 = false;
    local_188 = 0;
    local_168 = 0;
    local_180 = 0;
    local_170 = 0;
    local_178 = 0;
  }
  else {
    pbVar17 = (byte *)0xffffffffffffffff;
    local_58 = local_48;
    uVar25 = 0;
    uVar29 = local_78[0] == (byte *)0x0;
    if (!(bool)uVar29) {
      sVar13 = strlen((char *)local_78[0]);
      pbVar17 = pbVar24 + sVar13;
    }
    FUN_001bc4c0(&local_58,pbVar24,pbVar17);
    lVar19 = 5;
    pbVar24 = (byte *)".text";
    pbVar17 = local_58;
    do {
      if (lVar19 == 0) break;
      lVar19 = lVar19 + -1;
      uVar25 = *pbVar24 < *pbVar17;
      uVar29 = *pbVar24 == *pbVar17;
      pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;
      pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;
    } while ((bool)uVar29);
    bVar28 = false;
    bVar26 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;
    if (!bVar26) {
      lVar19 = 0xf;
      pbVar24 = (byte *)".gnu.linkonce.t";
      pbVar17 = local_58;
      do {
        if (lVar19 == 0) break;
        lVar19 = lVar19 + -1;
        bVar28 = *pbVar24 < *pbVar17;
        bVar26 = *pbVar24 == *pbVar17;
        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;
        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;
      } while (bVar26);
      if ((!bVar28 && !bVar26) != bVar28) {
        if (local_58 != local_48) {
          FUN_00338a40(local_58);
        }
        goto LAB_001922eb;
      }
    }
    if (local_58 != local_48) {
      FUN_00338a40(local_58);
    }
    local_50 = CONCAT44(local_50._4_4_,param_4);
    local_58 = param_3;
    local_178 = FUN_001c0160(*(long *)(param_1 + 0x298) + 0xa8,&local_58);
    local_170 = local_178 + 0x18;
    local_180 = local_178 + 0x30;
    local_168 = local_178 + 0x48;
    local_188 = local_178 + 0x60;
    bVar28 = true;
  }
  if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00192fba to 00192fd6 has its CatchHandler @ 00192fd7 */
    FUN_001e9890("../../gold/parameters.h",0x5c,"options");
  }
  if ((*(int *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x9050) == 2) &&
     (cVar9 = (**(code **)(*param_2 + 0x90))(param_2), cVar9 != '\0')) {
    pcVar6 = *(code **)(*param_2 + 0x10);
    if (pcVar6 != FUN_001ba9d0) {
                    /* try { // try from 00192f0b to 00192f8e has its CatchHandler @ 00192fd7 */
      local_136 = (*pcVar6)(param_2,local_78[0]);
      goto LAB_0019234a;
    }
    pcVar6 = *(code **)(*param_2 + 0x98);
    bVar26 = pcVar6 < FUN_001baa90;
    bVar30 = pcVar6 == FUN_001baa90;
    if (!bVar30) {
      local_136 = (*pcVar6)(param_2,local_78[0]);
      goto LAB_0019234a;
    }
    lVar19 = 0xc;
    pbVar24 = (byte *)".rodata._ZTV";
    pbVar17 = local_78[0];
    do {
      if (lVar19 == 0) break;
      lVar19 = lVar19 + -1;
      bVar26 = *pbVar24 < *pbVar17;
      bVar30 = *pbVar24 == *pbVar17;
      pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;
      pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;
    } while (bVar30);
    bVar27 = false;
    bVar26 = (!bVar26 && !bVar30) == bVar26;
    if (!bVar26) {
      lVar19 = 0x11;
      pbVar24 = (byte *)".data.rel.ro._ZTV";
      pbVar17 = local_78[0];
      do {
        if (lVar19 == 0) break;
        lVar19 = lVar19 + -1;
        bVar27 = *pbVar24 < *pbVar17;
        bVar26 = *pbVar24 == *pbVar17;
        pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;
        pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;
      } while (bVar26);
      bVar30 = false;
      bVar26 = (!bVar27 && !bVar26) == bVar27;
      if (!bVar26) {
        lVar19 = 0xc;
        pbVar24 = (byte *)".rodata._ZTC";
        pbVar17 = local_78[0];
        do {
          if (lVar19 == 0) break;
          lVar19 = lVar19 + -1;
          bVar30 = *pbVar24 < *pbVar17;
          bVar26 = *pbVar24 == *pbVar17;
          pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;
          pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;
        } while (bVar26);
        bVar27 = false;
        bVar26 = (!bVar30 && !bVar26) == bVar30;
        if (!bVar26) {
          lVar19 = 0x11;
          pbVar24 = (byte *)".data.rel.ro._ZTC";
          pbVar17 = local_78[0];
          do {
            if (lVar19 == 0) break;
            lVar19 = lVar19 + -1;
            bVar27 = *pbVar24 < *pbVar17;
            bVar26 = *pbVar24 == *pbVar17;
            pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;
            pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;
          } while (bVar26);
          bVar30 = false;
          bVar26 = (!bVar27 && !bVar26) == bVar27;
          if (!bVar26) {
            lVar19 = 9;
            pbVar24 = (byte *)".eh_frame";
            pbVar17 = local_78[0];
            do {
              if (lVar19 == 0) break;
              lVar19 = lVar19 + -1;
              bVar30 = *pbVar24 < *pbVar17;
              bVar26 = *pbVar24 == *pbVar17;
              pbVar24 = pbVar24 + (ulong)bVar31 * -2 + 1;
              pbVar17 = pbVar17 + (ulong)bVar31 * -2 + 1;
            } while (bVar26);
            local_136 = (!bVar30 && !bVar26) != bVar30;
            goto LAB_0019234a;
          }
        }
      }
    }
  }
  local_136 = '\0';
LAB_0019234a:
  if (param_6 != 0) {
    local_158 = (byte *)0x0;
    local_120 = 0;
    local_128 = param_5;
    do {
      uVar3 = local_128[1];
      uVar4 = local_128[2];
      uVar22 = uVar3 >> 8;
      uVar7 = uVar3 & 0xff;
      if (uVar22 < param_7) {
        if (param_8 == 0) {
                    /* WARNING: Subroutine does not return */
          FUN_001e9890("../../gold/gc.h",0xea,"gc_process_relocs");
        }
        lVar19 = (ulong)(uVar22 << 4) + param_8;
        uVar2 = *(ushort *)(lVar19 + 0xe);
        uVar10 = (uint)uVar2;
        if (uVar2 < 0xff00) {
LAB_001924f6:
          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);
          local_134 = uVar4 + *(uint *)(lVar19 + 4);
          if (bVar28) {
            local_50 = CONCAT44(local_50._4_4_,uVar10);
            local_58 = param_3;
            FUN_001bdee0(local_178,&local_58);
            bVar26 = true;
            if ((*(byte *)(lVar19 + 0xc) & 0xf) == 3) goto LAB_0019253e;
LAB_001923f0:
            local_58 = (byte *)0x0;
            FUN_001be560(local_170,&local_58);
            goto LAB_0019240b;
          }
        }
        else {
          if (uVar2 == 0xffff) {
            lVar14 = *(long *)(param_3 + 0x40);
            if (lVar14 == 0) {
              lVar14 = (**(code **)(*(long *)param_3 + 0xd8))(param_3);
              *(long *)(param_3 + 0x40) = lVar14;
            }
            uVar10 = FUN_0022a020(lVar14,param_3,uVar22);
            goto LAB_001924f6;
          }
          pbVar24 = (byte *)(ulong)*(uint *)(lVar19 + 4);
          local_134 = uVar4 + *(uint *)(lVar19 + 4);
          if (!bVar28) goto LAB_00192480;
          local_58 = (byte *)0x0;
          local_50 = local_50 & 0xffffffff00000000;
                    /* try { // try from 001923d5 to 00192be2 has its CatchHandler @ 00192fd7 */
          FUN_001bdee0(local_178,&local_58);
          bVar26 = false;
          if ((*(byte *)(lVar19 + 0xc) & 0xf) != 3) goto LAB_001923f0;
LAB_0019253e:
          local_58 = (byte *)0xffffffffffffffff;
          FUN_001be560(local_170,&local_58);
LAB_0019240b:
          local_58 = pbVar24;
          local_50 = (long)(int)uVar4;
          FUN_001be700(local_180,&local_58);
          local_58 = (byte *)(ulong)*local_128;
          puVar5 = *(undefined8 **)(local_168 + 8);
          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {
            FUN_001bdf10(local_168,puVar5,&local_58);
          }
          else {
            *puVar5 = local_58;
            *(undefined8 **)(local_168 + 8) = puVar5 + 1;
          }
          local_a8 = (byte *)((ulong)local_a8 & 0xffffffff00000000);
          FUN_001be890(local_188,&local_a8);
          if (!bVar26) goto LAB_00192480;
        }
        if (((local_136 != '\0') && ((*(byte *)(lVar19 + 0xc) & 0xf) != 1)) &&
           ((0x17 < uVar7 || ((0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) == 0)))) {
          local_c0 = (uint)*(ushort *)(lVar19 + 0xe);
          local_108 = *(long *)(param_1 + 0x298) + 0x68;
          local_c8 = param_3;
          FUN_001bcb90(local_108,&local_c8,&local_108,1);
        }
        pbVar24 = param_3;
        if (param_4 != uVar10) {
LAB_001925a8:
          if (*(long *)(PTR_DAT_004ba7c8 + 0x10) == 0) {
                    /* WARNING: Subroutine does not return */
            FUN_001e9890("../../gold/parameters.h",0x5c,"options");
          }
          if (*(char *)(*(long *)(PTR_DAT_004ba7c8 + 0x10) + 0x2809) != '\0') {
            lVar14 = *(long *)(param_1 + 0x290);
            lVar19 = lVar14 + 0x28;
            lVar11 = lVar19;
            lVar12 = lVar19;
            lVar15 = *(long *)(lVar14 + 0x30);
            local_b8 = param_3;
            local_b0 = param_4;
            local_a8 = pbVar24;
            local_a0 = uVar10;
            if (*(long *)(lVar14 + 0x30) == 0) {
LAB_00192660:
              local_e8 = &local_b8;
              lVar12 = FUN_001bc7f0(lVar14 + 0x20,lVar12,&DAT_003de3e0,&local_e8,&local_10a);
            }
            else {
              do {
                while ((lVar12 = lVar15, *(byte **)(lVar12 + 0x20) < param_3 ||
                       ((param_3 == *(byte **)(lVar12 + 0x20) &&
                        (*(uint *)(lVar12 + 0x28) < param_4))))) {
                  plVar1 = (long *)(lVar12 + 0x18);
                  lVar12 = lVar11;
                  lVar15 = *plVar1;
                  if (*plVar1 == 0) goto LAB_0019263a;
                }
                lVar11 = lVar12;
                lVar15 = *(long *)(lVar12 + 0x10);
              } while (*(long *)(lVar12 + 0x10) != 0);
LAB_0019263a:
              if (((lVar12 == lVar19) || (param_3 < *(byte **)(lVar12 + 0x20))) ||
                 ((param_3 == *(byte **)(lVar12 + 0x20) && (param_4 < *(uint *)(lVar12 + 0x28)))))
              goto LAB_00192660;
            }
            local_f0 = lVar12 + 0x30;
            FUN_001bcaf0(local_f0,&local_a8,&local_f0,1);
            plVar1 = *(long **)(PTR_DAT_004ba7c8 + 0x18);
            if (plVar1 == (long *)0x0) {
                    /* WARNING: Subroutine does not return */
              FUN_001e9890("../../gold/parameters.h",0x73,"sized_target");
            }
            (**(code **)(*plVar1 + 0x208))(plVar1,param_1,param_3,param_4,pbVar24,uVar10,local_134);
            if (local_158 != (byte *)0x0) {
              lVar19 = *(long *)(param_1 + 0x290);
              local_58 = local_48;
              sVar13 = strlen((char *)local_158);
              FUN_001bc4c0(&local_58,local_158,local_158 + sVar13);
              lVar19 = FUN_001be060(lVar19 + 0x88,&local_58);
              if (local_58 != local_48) {
                FUN_00338a40();
              }
              lVar14 = *(long *)(param_1 + 0x290);
              if (lVar19 != lVar14 + 0x90) {
                lVar11 = lVar14 + 0x28;
                local_50 = CONCAT44(local_50._4_4_,param_4);
                lVar12 = lVar11;
                lVar15 = lVar11;
                lVar8 = *(long *)(lVar14 + 0x30);
                if (*(long *)(lVar14 + 0x30) == 0) {
LAB_00192b80:
                  local_e0 = &local_58;
                  local_58 = param_3;
                  lVar15 = FUN_001bc7f0(lVar14 + 0x20,lVar15,&DAT_003de3e0,&local_e0,&local_109);
                }
                else {
                  do {
                    while ((lVar15 = lVar8, *(byte **)(lVar15 + 0x20) < param_3 ||
                           ((param_3 == *(byte **)(lVar15 + 0x20) &&
                            (*(uint *)(lVar15 + 0x28) < param_4))))) {
                      plVar1 = (long *)(lVar15 + 0x18);
                      lVar15 = lVar12;
                      lVar8 = *plVar1;
                      if (*plVar1 == 0) goto LAB_001927c2;
                    }
                    lVar12 = lVar15;
                    lVar8 = *(long *)(lVar15 + 0x10);
                  } while (*(long *)(lVar15 + 0x10) != 0);
LAB_001927c2:
                  if (((lVar15 == lVar11) || (param_3 < *(byte **)(lVar15 + 0x20))) ||
                     ((local_58 = param_3, param_3 == *(byte **)(lVar15 + 0x20) &&
                      (param_4 < *(uint *)(lVar15 + 0x28))))) goto LAB_00192b80;
                }
                for (puVar5 = *(undefined8 **)(lVar19 + 0x50); puVar5 != (undefined8 *)0x0;
                    puVar5 = (undefined8 *)*puVar5) {
                  local_f8 = lVar15 + 0x30;
                  FUN_001bcaf0(lVar15 + 0x30,puVar5 + 1,&local_f8,1);
                }
              }
            }
          }
        }
      }
      else {
        if (uVar22 < *(uint *)(param_3 + 0x120)) {
          local_a8 = (byte *)0x0;
LAB_00192adb:
                    /* WARNING: Subroutine does not return */
          FUN_001e9890("../../gold/gc.h",0x11c,"gc_process_relocs");
        }
        uVar23 = (ulong)(uVar22 - *(uint *)(param_3 + 0x120));
        if ((ulong)(*(long *)(param_3 + 0x138) - *(long *)(param_3 + 0x130) >> 3) <= uVar23) {
                    /* WARNING: Subroutine does not return */
          FUN_001e9890("../../gold/object.h",0x8ad,"global_symbol");
        }
        local_a8 = *(byte **)(*(long *)(param_3 + 0x130) + uVar23 * 8);
        if (local_a8 == (byte *)0x0) goto LAB_00192adb;
        if ((local_a8[0x3a] & 0x10) != 0) {
          local_a8 = (byte *)FUN_002ddad0(param_1,local_a8);
        }
        if ((local_a8[0x3a] & 7) == 0) {
          local_150 = *(uint *)(local_a8 + 0x40);
          pbVar24 = *(byte **)(local_a8 + 0x10);
          local_134 = uVar4 + local_150;
          if ((pbVar24[0x3c] & 1) == 0) {
            uVar10 = *(uint *)(local_a8 + 0x18);
            bVar18 = local_a8[0x3b] >> 5 & 1;
            uVar25 = (local_a8[0x38] & 0xf) < 2;
            uVar29 = (local_a8[0x38] & 0xf) == 2;
            if ((bool)uVar29) {
              uVar25 = 0;
              uVar29 = local_136 == '\0';
              if (!(bool)uVar29) {
                uVar25 = false;
                uVar29 = bVar18 == 0;
                if (!(bool)uVar29) {
                  uVar25 = uVar7 < 0x17;
                  uVar29 = uVar7 == 0x17;
                  if ((uVar7 < 0x18) &&
                     (uVar25 = (0x843f84UL >> ((ulong)uVar3 & 0x3f) & 1) != 0, (bool)uVar25))
                  goto LAB_00192930;
                }
                local_100 = *(long *)(param_1 + 0x298) + 0x68;
                local_d8 = pbVar24;
                local_d0 = uVar10;
                    /* try { // try from 00192ca4 to 00192e68 has its CatchHandler @ 00192fd7 */
                FUN_001bcb90(local_100,&local_d8,&local_100,1);
              }
            }
          }
          else {
            bVar18 = 0;
            uVar10 = 0;
            uVar25 = 0;
            pbVar24 = (byte *)0x0;
            uVar29 = 1;
          }
        }
        else {
          local_150 = *(uint *)(local_a8 + 0x40);
          bVar18 = 0;
          uVar10 = 0;
          uVar25 = 0;
          pbVar24 = (byte *)0x0;
          uVar29 = 1;
          local_134 = uVar4 + local_150;
        }
LAB_00192930:
        pbVar17 = *(byte **)local_a8;
        lVar19 = 8;
        pbVar20 = (byte *)"__start_";
        pbVar21 = pbVar17;
        do {
          if (lVar19 == 0) break;
          lVar19 = lVar19 + -1;
          uVar25 = *pbVar20 < *pbVar21;
          uVar29 = *pbVar20 == *pbVar21;
          pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;
          pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;
        } while ((bool)uVar29);
        bVar26 = false;
        bVar30 = (!(bool)uVar25 && !(bool)uVar29) == (bool)uVar25;
        if (bVar30) {
          pbVar17 = pbVar17 + 8;
        }
        else {
          lVar19 = 7;
          pbVar20 = (byte *)"__stop_";
          pbVar21 = pbVar17;
          do {
            if (lVar19 == 0) break;
            lVar19 = lVar19 + -1;
            bVar26 = *pbVar20 < *pbVar21;
            bVar30 = *pbVar20 == *pbVar21;
            pbVar20 = pbVar20 + (ulong)bVar31 * -2 + 1;
            pbVar21 = pbVar21 + (ulong)bVar31 * -2 + 1;
          } while (bVar30);
          pbVar17 = pbVar17 + 7;
          if ((!bVar26 && !bVar30) != bVar26) {
            pbVar17 = local_158;
          }
        }
        local_158 = pbVar17;
        if (bVar28) {
          if (bVar18 == 0) {
            local_58 = (byte *)0x0;
            local_50 = (ulong)local_50._4_4_ << 0x20;
            FUN_001bdee0(local_178,&local_58);
          }
          else {
            local_50 = CONCAT44(local_50._4_4_,uVar10);
            local_58 = pbVar24;
            FUN_001bdee0(local_178,&local_58);
          }
          puVar5 = *(undefined8 **)(local_170 + 8);
          if (puVar5 == *(undefined8 **)(local_170 + 0x10)) {
            FUN_001bbf50(local_170,puVar5,&local_a8);
          }
          else {
            *puVar5 = local_a8;
            *(undefined8 **)(local_170 + 8) = puVar5 + 1;
          }
          local_58 = (byte *)(ulong)local_150;
          local_50 = (long)(int)uVar4;
          FUN_001be700(local_180,&local_58);
          local_58 = (byte *)(ulong)*local_128;
          puVar5 = *(undefined8 **)(local_168 + 8);
          if (puVar5 == *(undefined8 **)(local_168 + 0x10)) {
            FUN_001bdf10(local_168,puVar5,&local_58);
          }
          else {
            *puVar5 = local_58;
            *(undefined8 **)(local_168 + 8) = puVar5 + 1;
          }
          local_b8 = (byte *)((ulong)local_b8 & 0xffffffff00000000);
          FUN_001be890(local_188,&local_b8);
        }
        if (bVar18 != 0) goto LAB_001925a8;
      }
LAB_00192480:
      local_120 = local_120 + 1;
      local_128 = local_128 + 3;
    } while (param_6 != local_120);
  }
  if (local_78[0] != local_68) {
    FUN_00338a40();
  }
  if ((local_98 != 0) && (local_90 != 0)) {
    uVar16 = gettext("missing expected __tls_get_addr call");
    FUN_001e1b30(local_90,local_88,local_80,uVar16);
  }
  return;
}

