
/* WARNING: Type propagation algorithm not settling */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* DWARF original prototype: bool include_section_group(Sized_relobj_file<64,_true> * this,
   Symbol_table * symtab, Layout * layout, uint index, char * name, uchar * shdrs, char *
   section_names, section_size_type section_names_size, vector<bool,_std::allocator<bool>_> * omit)
    */

bool __thiscall
gold::Sized_relobj_file<64,_true>::include_section_group
          (Sized_relobj_file<64,_true> *this,Symbol_table *symtab,Layout *layout,uint index,
          char *name,uchar *shdrs,char *section_names,section_size_type section_names_size,
          vector<bool,_std::allocator<bool>_> *omit)

{
  uint uVar1;
  ulong uVar2;
  _func_int_varargs *p_Var3;
  _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>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_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>_>,_gold::Kept_section::Comdat_section_info>_>_>
  *this_00;
  Elf_Word EVar4;
  char cVar5;
  ushort uVar6;
  uint uVar7;
  int iVar8;
  uint *puVar9;
  off_t start;
  uchar *puVar10;
  uint *puVar11;
  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
  *paVar12;
  size_t sVar13;
  char *pcVar14;
  ulong uVar15;
  ulong *puVar16;
  undefined4 extraout_var;
  bool *is_ordinary_00;
  bool *size;
  char *__s;
  Input_file *this_01;
  uint uVar17;
  Location LVar18;
  bool local_122;
  char local_121;
  ulong local_118;
  vector<unsigned_int,_std::allocator<unsigned_int>_> *local_110;
  Elf_Word shndx;
  Shdr shdr;
  section_size_type symnamelen;
  Kept_section *kept_section;
  vector<unsigned_int,_std::allocator<unsigned_int>_> shndxes;
  string signature;
  string mname;
  pair<unsigned_int,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section> local_88;
  bool is_ordinary;
  uint7 uStack_67;
  char local_58 [16];
  Elf_Word local_48;
  ulong local_40;
  
  shdr.p_ = (Shdr_data<64> *)(shdrs + (index << 6));
  this_01 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.input_file_;
  uVar15 = (shdr.p_)->sh_size;
  uVar2 = (shdr.p_)->sh_offset;
  if (this_01 == (Input_file *)0x0) {
LAB_001e7390:
                    /* WARNING: Subroutine does not return */
    Object::input_file((Object *)this_01);
  }
  puVar9 = (uint *)File_read::get_view(&this_01->file_,
                                       (this->super_Sized_relobj<64,_true>).super_Relobj.
                                       super_Object.offset_,
                                       uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 |
                                       (uVar2 & 0xff0000000000) >> 0x18 |
                                       (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 |
                                       (uVar2 & 0xff0000) << 0x18 | (uVar2 & 0xff00) << 0x28 |
                                       uVar2 << 0x38,
                                       uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |
                                       (uVar15 & 0xff0000000000) >> 0x18 |
                                       (uVar15 & 0xff00000000) >> 8 | (uVar15 & 0xff000000) << 8 |
                                       (uVar15 & 0xff0000) << 0x18 | (uVar15 & 0xff00) << 0x28 |
                                       uVar15 << 0x38,true,false);
  uVar1 = *puVar9;
  uVar7 = (shdr.p_)->sh_link;
  uVar7 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;
  if (0xfeff < uVar7) {
    elfcpp::Elf_file<64,_true,_gold::Object>::initialize_shnum(&this->elf_file_);
    uVar7 = uVar7 + (this->elf_file_).large_shndx_offset_;
  }
  start = elfcpp::Elf_file<64,_true,_gold::Object>::section_header_offset(&this->elf_file_,uVar7);
  this_01 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.input_file_;
  if (this_01 == (Input_file *)0x0) goto LAB_001e7390;
  puVar10 = File_read::get_view(&this_01->file_,
                                (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.
                                offset_,start,0x40,true,true);
  uVar15 = *(ulong *)(puVar10 + 0x20);
  uVar7 = (shdr.p_)->sh_info;
  uVar7 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;
  if ((uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 | (uVar15 & 0xff0000000000) >> 0x18 |
       (uVar15 & 0xff00000000) >> 8 | (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |
       (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38) / 0x18 <= (ulong)uVar7) {
    pcVar14 = (char *)gettext("section group %u info %u out of range");
    uVar15 = (ulong)index;
LAB_001e6ed5:
    Object::error((Object *)this,pcVar14,uVar15,(ulong)uVar7);
    return (bool)'\0';
  }
  uVar15 = *(ulong *)(puVar10 + 0x18);
  this_01 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.input_file_;
  if (this_01 == (Input_file *)0x0) goto LAB_001e7390;
  is_ordinary_00 = (bool *)0x18;
  puVar11 = (uint *)File_read::get_view(&this_01->file_,
                                        (this->super_Sized_relobj<64,_true>).super_Relobj.
                                        super_Object.offset_,
                                        (ulong)(uVar7 * 0x18) +
                                        (uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |
                                         (uVar15 & 0xff0000000000) >> 0x18 |
                                         (uVar15 & 0xff00000000) >> 8 | (uVar15 & 0xff000000) << 8 |
                                         (uVar15 & 0xff0000) << 0x18 | (uVar15 & 0xff00) << 0x28 |
                                        uVar15 << 0x38),0x18,true,false);
  uVar17 = *(uint *)(puVar10 + 0x28);
  uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 | uVar17 << 0x18;
  if (0xfeff < uVar17) {
    elfcpp::Elf_file<64,_true,_gold::Object>::initialize_shnum(&this->elf_file_);
    uVar17 = uVar17 + (this->elf_file_).large_shndx_offset_;
  }
  p_Var3 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object[0xe];
  if (p_Var3 == do_section_contents) {
    LVar18 = elfcpp::Elf_file<64,_true,_gold::Object>::section_contents(&this->elf_file_,uVar17);
    size = (bool *)LVar18.data_size;
    puVar10 = "";
    symnamelen = (section_size_type)size;
    if (size != (bool *)0x0) {
      this_01 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.input_file_;
      if (this_01 == (Input_file *)0x0) goto LAB_001e7390;
      puVar10 = File_read::get_view(&this_01->file_,
                                    (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.
                                    offset_,LVar18.file_offset,(section_size_type)size,true,true);
      is_ordinary_00 = size;
    }
  }
  else {
    is_ordinary_00 = (bool *)0x1;
    iVar8 = (*p_Var3)(this,(ulong)uVar17,&symnamelen);
    puVar10 = (uchar *)CONCAT44(extraout_var,iVar8);
  }
  uVar17 = *puVar11;
  uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 | uVar17 << 0x18;
  if (symnamelen <= uVar17) {
    pcVar14 = (char *)gettext("symbol %u name offset %u out of range");
    uVar15 = (ulong)uVar7;
    uVar7 = uVar17;
    goto LAB_001e6ed5;
  }
  std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::basic_string
            (&signature,(char *)(puVar10 + uVar17),(allocator<char> *)symnamelen);
  if ((*signature._M_dataplus._M_p == '\0') && ((puVar11[1] & 0xf) == 3)) {
    uVar6 = *(ushort *)((long)puVar11 + 6) << 8 | *(ushort *)((long)puVar11 + 6) >> 8;
    uVar17 = (uint)uVar6;
    if (uVar17 < 0xff00) {
      is_ordinary = true;
LAB_001e6f84:
      if (uVar17 < (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_) {
        uVar17 = *(uint *)(shdrs + (uVar17 << 6));
        uVar15 = (ulong)(uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |
                        uVar17 << 0x18);
        if (uVar15 < section_names_size) {
                    /* try { // try from 001e6fba to 001e6fbe has its CatchHandler @ 001e7432 */
          std::string::assign((string *)&signature,section_names + uVar15);
        }
        goto LAB_001e6c3f;
      }
    }
    else if (uVar6 == 0xffff) {
      uVar17 = Object::adjust_sym_shndx((Object *)this,uVar7,(uint)&is_ordinary,is_ordinary_00);
      if (is_ordinary != false) goto LAB_001e6f84;
    }
    else {
      _is_ordinary = (pointer)((ulong)uStack_67 << 8);
    }
    pcVar14 = (char *)gettext("symbol %u invalid section index %u");
                    /* try { // try from 001e7358 to 001e737a has its CatchHandler @ 001e7432 */
    Object::error((Object *)this,pcVar14,(ulong)uVar7,(ulong)uVar17);
LAB_001e735d:
    local_121 = '\0';
    goto LAB_001e70e8;
  }
LAB_001e6c3f:
  kept_section = (Kept_section *)0x0;
  if ((uVar1 >> 0x18 & 1) == 0) {
    uVar15 = (shdr.p_)->sh_size;
    local_122 = false;
    local_118 = uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |
                (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |
                (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 | (uVar15 & 0xff00) << 0x28
                | uVar15 << 0x38;
LAB_001e6c9f:
    local_118 = local_118 >> 2;
    shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
    _M_end_of_storage = (pointer)0x0;
    shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =
         (pointer)0x0;
    shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start =
         (pointer)0x0;
    if (parameters->options_ == (General_options *)0x0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 001e73a8 to 001e73ac has its CatchHandler @ 001e73c5 */
      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
    }
    cVar5 = (parameters->options_->relocatable_).value;
    if ((bool)cVar5 != false) {
                    /* try { // try from 001e7314 to 001e7318 has its CatchHandler @ 001e73c5 */
      std::vector<unsigned_int,_std::allocator<unsigned_int>_>::reserve(&shndxes,local_118 - 1);
      local_121 = cVar5;
      if (1 < local_118) goto LAB_001e6cd9;
      goto LAB_001e7093;
    }
    local_121 = '\x01';
    if (1 < local_118) goto LAB_001e6cd9;
  }
  else {
                    /* try { // try from 001e71ff to 001e7228 has its CatchHandler @ 001e7432 */
    cVar5 = Layout::find_or_add_kept_section
                      (layout,&signature,(Relobj *)this,index,true,true,&kept_section);
    if ((bool)cVar5) {
      if (layout->incremental_inputs_ != (Incremental_inputs *)0x0) {
        Incremental_inputs::report_comdat_group
                  (layout->incremental_inputs_,(Object *)this,signature._M_dataplus._M_p);
      }
      uVar15 = (shdr.p_)->sh_size;
      local_118 = uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |
                  (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |
                  (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |
                  (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38;
      local_122 = (bool)cVar5;
      goto LAB_001e6c9f;
    }
    shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start =
         (pointer)0x0;
    shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =
         (pointer)0x0;
    shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
    _M_end_of_storage = (pointer)0x0;
    uVar15 = (shdr.p_)->sh_size;
    local_118 = (uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |
                 (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |
                 (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |
                 (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38) >> 2;
    if (local_118 < 2) goto LAB_001e735d;
    local_121 = '\0';
    local_122 = true;
LAB_001e6cd9:
    local_110 = (vector<unsigned_int,_std::allocator<unsigned_int>_> *)0x1;
    paVar12 = &mname.field_2;
    do {
      uVar17 = puVar9[(long)local_110];
      uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 | uVar17 << 0x18;
      if (uVar17 < 0xff00) {
        shndx = uVar17;
        if (cVar5 != '\0') goto LAB_001e6e26;
LAB_001e6d30:
        if ((this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_ <= shndx)
        goto LAB_001e6e59;
LAB_001e6d3a:
        EVar4 = shndx;
        if (shndx < index) {
          pcVar14 = (char *)gettext("invalid section group %u refers to earlier section %u");
                    /* try { // try from 001e6fe2 to 001e6fe6 has its CatchHandler @ 001e73c5 */
          Object::error((Object *)this,pcVar14,(ulong)index,(ulong)EVar4);
        }
        puVar11 = (uint *)(shdrs + (shndx << 6));
        uVar17 = *puVar11;
        uVar15 = (ulong)(uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |
                        uVar17 << 0x18);
        if (uVar15 < section_names_size) {
          pcVar14 = (char *)0xffffffffffffffff;
          __s = section_names + uVar15;
          mname._M_dataplus._M_p = (pointer)paVar12;
          if (__s != (char *)0x0) {
            sVar13 = strlen(__s);
            pcVar14 = __s + sVar13;
          }
                    /* try { // try from 001e6d98 to 001e6e77 has its CatchHandler @ 001e73c5 */
          std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
          _M_construct<char_const*>(&mname,__s,pcVar14);
          EVar4 = shndx;
          if (local_121 == '\0') {
            puVar16 = (ulong *)((ulong)(shndx >> 3 & 0x1ffffff8) +
                               (long)(omit->super__Bvector_base<std::allocator<bool>_>)._M_impl.
                                     super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p
                               );
            *puVar16 = *puVar16 | 1L << ((byte)shndx & 0x3f);
            if ((local_122 != false) && ((local_118 == 2 || (kept_section->is_comdat_ != false)))) {
              uVar15 = *(ulong *)(puVar11 + 8);
              local_88.second.kept_section = kept_section;
              local_88.first = shndx;
              local_88.second.sh_size =
                   uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |
                   (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |
                   (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |
                   (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38;
              local_88.second.is_comdat = true;
              local_88.second.symndx = uVar7;
                    /* try { // try from 001e706e to 001e7072 has its CatchHandler @ 001e73ca */
              std::
              _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>_>_>
              ::
              _M_emplace_unique<std::pair<unsigned_int,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>_>
                        (&(this->kept_comdat_sections_)._M_t,&local_88);
            }
          }
          else if (local_122 != false) {
            uVar15 = *(ulong *)(puVar11 + 8);
            if (kept_section->is_comdat_ == false) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 001e73c0 to 001e73c4 has its CatchHandler @ 001e73ca */
              do_gold_unreachable("../../gold/layout.h",0x135,"add_comdat_section");
            }
            this_00 = &((kept_section->u_).group_sections)->_M_t;
            _is_ordinary = local_58;
                    /* try { // try from 001e7166 to 001e716a has its CatchHandler @ 001e73ca */
            std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
            _M_construct<char*>((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *
                                )&is_ordinary,mname._M_dataplus._M_p,
                                mname._M_dataplus._M_p + mname._M_string_length);
            local_48 = EVar4;
            local_40 = uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |
                       (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |
                       (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |
                       (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38;
                    /* try { // try from 001e7189 to 001e718d has its CatchHandler @ 001e7437 */
            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>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_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>_>,_gold::Kept_section::Comdat_section_info>_>_>
            ::
            _M_emplace_unique<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>
                      (this_00,(pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>
                                *)&is_ordinary);
            if (_is_ordinary != local_58) {
              operator_delete(_is_ordinary);
            }
          }
          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
               *)mname._M_dataplus._M_p != paVar12) {
            operator_delete(mname._M_dataplus._M_p);
          }
        }
      }
      else {
        elfcpp::Elf_file<64,_true,_gold::Object>::initialize_shnum(&this->elf_file_);
        uVar17 = uVar17 + (this->elf_file_).large_shndx_offset_;
        shndx = uVar17;
        if (cVar5 == '\0') goto LAB_001e6d30;
LAB_001e6e26:
        shndx = uVar17;
        if (shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
            _M_finish ==
            shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
            _M_end_of_storage) {
                    /* try { // try from 001e71be to 001e71c2 has its CatchHandler @ 001e73c5 */
          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::
          _M_realloc_insert<unsigned_int_const&>
                    (&shndxes,(iterator)
                              shndxes.
                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.
                              _M_impl._M_finish,&shndx);
          goto LAB_001e6d30;
        }
        *shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =
             uVar17;
        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =
             shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
             _M_finish + 1;
        if (uVar17 < (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_)
        goto LAB_001e6d3a;
LAB_001e6e59:
        EVar4 = shndx;
        pcVar14 = (char *)gettext("section %u in section group %u out of range");
        Object::error((Object *)this,pcVar14,(ulong)EVar4,(ulong)index);
      }
      local_110 = (vector<unsigned_int,_std::allocator<unsigned_int>_> *)((long)local_110 + 1);
    } while (local_110 < local_118);
    if (cVar5 != '\0') {
LAB_001e7093:
      local_110 = &shndxes;
                    /* try { // try from 001e70ce to 001e70d2 has its CatchHandler @ 001e73c5 */
      Layout::layout_group<64,_true>
                (layout,symtab,this,index,name,signature._M_dataplus._M_p,&shdr,
                 uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,
                 local_110);
    }
  }
  if (shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start !=
      (pointer)0x0) {
    operator_delete(shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
                    _M_start);
  }
LAB_001e70e8:
  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
       *)signature._M_dataplus._M_p != &signature.field_2) {
    operator_delete(signature._M_dataplus._M_p);
  }
  return (bool)local_121;
}



char FUN_001e6a30(long *param_1,undefined8 param_2,long param_3,uint param_4,undefined8 param_5,
                 long param_6,long param_7,ulong param_8,long *param_9)

{
  uint uVar1;
  ulong uVar2;
  ushort uVar3;
  uint uVar4;
  uint *puVar5;
  undefined8 uVar6;
  long lVar7;
  uint *puVar8;
  size_t sVar9;
  ulong uVar10;
  ulong *puVar11;
  undefined8 extraout_RDX;
  char *pcVar12;
  undefined8 extraout_RDX_00;
  undefined8 extraout_RDX_01;
  undefined8 extraout_RDX_02;
  undefined4 *puVar13;
  char *__s;
  char cVar14;
  uint uVar15;
  undefined1 auVar16 [16];
  undefined8 uStack_1a0;
  char local_122;
  char local_121;
  ulong local_118;
  long *local_110;
  uint local_104;
  long local_100;
  ulong local_f8;
  long local_f0;
  long local_e8;
  uint *local_e0;
  uint *local_d8;
  char *local_c8 [2];
  char acStack_b8 [16];
  undefined1 *local_a8;
  long local_a0;
  undefined1 auStack_98 [16];
  uint local_88 [2];
  ulong local_80;
  long local_78;
  uint local_70;
  undefined1 local_6c;
  undefined1 *local_68 [2];
  undefined1 local_58 [16];
  uint local_48;
  ulong local_40;
  
  local_100 = (ulong)(param_4 << 6) + param_6;
  uVar10 = *(ulong *)(local_100 + 0x20);
  uVar2 = *(ulong *)(local_100 + 0x18);
  if (param_1[5] == 0) {
LAB_001e7390:
                    /* WARNING: Subroutine does not return */
    FUN_001d17f0();
  }
  puVar5 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],
                                uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 |
                                (uVar2 & 0xff0000000000) >> 0x18 | (uVar2 & 0xff00000000) >> 8 |
                                (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |
                                (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38,
                                uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |
                                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |
                                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |
                                (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38,1,0);
  uVar1 = *puVar5;
  uVar4 = *(uint *)(local_100 + 0x28);
  uVar4 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;
  if (0xfeff < uVar4) {
    FUN_001dab60(param_1 + 0x1f);
    uVar4 = uVar4 + (int)param_1[0x22];
  }
  uVar6 = FUN_001e0b10(param_1 + 0x1f,uVar4);
  if (param_1[5] == 0) goto LAB_001e7390;
  lVar7 = FUN_0018a760(param_1[5] + 0x28,param_1[6],uVar6,0x40,1,1);
  uVar10 = *(ulong *)(lVar7 + 0x20);
  uVar4 = *(uint *)(local_100 + 0x2c);
  uVar4 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;
  if ((uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |
       (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |
       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38) / 0x18 <= (ulong)uVar4) {
    uVar6 = gettext("section group %u info %u out of range");
    uVar15 = uVar4;
LAB_001e6ed5:
    FUN_001d19e0(param_1,uVar6,param_4,uVar15);
    return '\0';
  }
  uVar10 = *(ulong *)(lVar7 + 0x18);
  if (param_1[5] == 0) goto LAB_001e7390;
  puVar8 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],
                                (ulong)(uVar4 * 0x18) +
                                (uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |
                                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |
                                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |
                                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38),0x18,1,0);
  uVar15 = *(uint *)(lVar7 + 0x28);
  uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;
  if (0xfeff < uVar15) {
    FUN_001dab60(param_1 + 0x1f);
    uVar15 = uVar15 + (int)param_1[0x22];
  }
  if (*(code **)(*param_1 + 0x70) == FUN_001e0d50) {
    auVar16 = FUN_001e0ca0(param_1 + 0x1f,uVar15);
    local_f8 = auVar16._8_8_;
    puVar13 = &DAT_00393c8a;
    if (local_f8 != 0) {
      if (param_1[5] == 0) goto LAB_001e7390;
      puVar13 = (undefined4 *)FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar16._0_8_,local_f8,1,1);
    }
  }
  else {
    puVar13 = (undefined4 *)(**(code **)(*param_1 + 0x70))(param_1,uVar15,&local_f8,1);
  }
  uVar15 = *puVar8;
  uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;
  if (local_f8 <= uVar15) {
    uVar6 = gettext("symbol %u name offset %u out of range");
    param_4 = uVar4;
    goto LAB_001e6ed5;
  }
  uStack_1a0 = 0x1e6c17;
  FUN_001d26c0(local_c8,(long)puVar13 + (ulong)uVar15);
  uVar6 = extraout_RDX;
  if ((*local_c8[0] == '\0') && ((puVar8[1] & 0xf) == 3)) {
    uVar3 = *(ushort *)((long)puVar8 + 6) << 8 | *(ushort *)((long)puVar8 + 6) >> 8;
    uVar15 = (uint)uVar3;
    if (uVar15 < 0xff00) {
      local_68[0] = (undefined1 *)CONCAT71(local_68[0]._1_7_,1);
LAB_001e6f84:
      if (uVar15 < *(uint *)(param_1 + 7)) {
        uVar15 = *(uint *)(param_6 + (ulong)(uVar15 << 6));
        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |
                        uVar15 << 0x18);
        if (uVar10 < param_8) {
                    /* try { // try from 001e6fba to 001e6fbe has its CatchHandler @ 001e7432 */
          uStack_1a0 = 0x1e6fbf;
          FUN_002f9af0(local_c8,uVar10 + param_7);
          uVar6 = extraout_RDX_00;
        }
        goto LAB_001e6c3f;
      }
    }
    else if (uVar3 == 0xffff) {
      uStack_1a0 = 0x1e737b;
      uVar15 = FUN_001d1b60(param_1,uVar4,local_68);
      uVar6 = extraout_RDX_02;
      if ((char)local_68[0] != '\0') goto LAB_001e6f84;
    }
    else {
      local_68[0] = (undefined1 *)((ulong)local_68[0]._1_7_ << 8);
    }
    uVar6 = gettext("symbol %u invalid section index %u");
                    /* try { // try from 001e7358 to 001e737a has its CatchHandler @ 001e7432 */
    FUN_001d19e0(param_1,uVar6,uVar4,uVar15);
LAB_001e735d:
    local_121 = '\0';
    goto LAB_001e70e8;
  }
LAB_001e6c3f:
  local_f0 = 0;
  if ((uVar1 >> 0x18 & 1) == 0) {
    uVar10 = *(ulong *)(local_100 + 0x20);
    local_122 = '\0';
    local_118 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |
                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |
                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28
                | uVar10 << 0x38;
    uStack_1a0 = uVar6;
LAB_001e6c9f:
    local_118 = local_118 >> 2;
    local_d8 = (uint *)0x0;
    local_e0 = (uint *)0x0;
    local_e8 = 0;
    if (*(long *)(PTR_DAT_0045c708 + 0x10) == 0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 001e73a8 to 001e73ac has its CatchHandler @ 001e73c5 */
      FUN_0018ff20("../../gold/parameters.h",0x5c,"options");
    }
    cVar14 = *(char *)(*(long *)(PTR_DAT_0045c708 + 0x10) + 0x5051);
    if (cVar14 != '\0') {
                    /* try { // try from 001e7314 to 001e7318 has its CatchHandler @ 001e73c5 */
      FUN_001da300(&local_e8,local_118 - 1,uStack_1a0);
      local_121 = cVar14;
      if (1 < local_118) goto LAB_001e6cd9;
      goto LAB_001e7093;
    }
    local_121 = '\x01';
    if (1 < local_118) goto LAB_001e6cd9;
  }
  else {
                    /* try { // try from 001e71ff to 001e7228 has its CatchHandler @ 001e7432 */
    local_122 = FUN_001c1720(param_3,local_c8,param_1,param_4,1,1,&local_f0);
    if (local_122 != '\0') {
      if (*(long *)(param_3 + 0x378) != 0) {
        FUN_00197030(*(long *)(param_3 + 0x378),param_1,local_c8[0]);
        uStack_1a0 = extraout_RDX_01;
      }
      uVar10 = *(ulong *)(local_100 + 0x20);
      local_118 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |
                  (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |
                  (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |
                  (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;
      goto LAB_001e6c9f;
    }
    local_e8 = 0;
    local_e0 = (uint *)0x0;
    local_d8 = (uint *)0x0;
    uVar10 = *(ulong *)(local_100 + 0x20);
    local_118 = (uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |
                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |
                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |
                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38) >> 2;
    if (local_118 < 2) goto LAB_001e735d;
    local_121 = '\0';
    local_122 = '\x01';
    cVar14 = '\0';
LAB_001e6cd9:
    local_110 = (long *)0x1;
    do {
      uVar15 = puVar5[(long)local_110];
      uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;
      if (uVar15 < 0xff00) {
        local_104 = uVar15;
        if (cVar14 != '\0') goto LAB_001e6e26;
LAB_001e6d30:
        if (*(uint *)(param_1 + 7) <= local_104) goto LAB_001e6e59;
LAB_001e6d3a:
        uVar15 = local_104;
        if (local_104 < param_4) {
          uVar6 = gettext("invalid section group %u refers to earlier section %u");
                    /* try { // try from 001e6fe2 to 001e6fe6 has its CatchHandler @ 001e73c5 */
          FUN_001d19e0(param_1,uVar6,param_4,uVar15);
        }
        puVar8 = (uint *)((ulong)(local_104 << 6) + param_6);
        uVar15 = *puVar8;
        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |
                        uVar15 << 0x18);
        if (uVar10 < param_8) {
          pcVar12 = (char *)0xffffffffffffffff;
          __s = (char *)(uVar10 + param_7);
          local_a8 = auStack_98;
          if (__s != (char *)0x0) {
            sVar9 = strlen(__s);
            pcVar12 = __s + sVar9;
          }
                    /* try { // try from 001e6d98 to 001e6e77 has its CatchHandler @ 001e73c5 */
          FUN_00174550(&local_a8,__s,pcVar12);
          uVar15 = local_104;
          if (local_121 == '\0') {
            puVar11 = (ulong *)((ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9);
            *puVar11 = *puVar11 | 1L << ((byte)local_104 & 0x3f);
            if ((local_122 != '\0') && ((local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0')))) {
              uVar10 = *(ulong *)(puVar8 + 8);
              local_78 = local_f0;
              local_88[0] = local_104;
              local_80 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |
                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |
                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |
                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;
              local_6c = 1;
              local_70 = uVar4;
                    /* try { // try from 001e706e to 001e7072 has its CatchHandler @ 001e73ca */
              FUN_001e2560(param_1 + 0x36,local_88);
            }
          }
          else if (local_122 != '\0') {
            uVar10 = *(ulong *)(puVar8 + 8);
            if (*(char *)(local_f0 + 0xc) == '\0') {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 001e73c0 to 001e73c4 has its CatchHandler @ 001e73ca */
              FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");
            }
            uVar6 = *(undefined8 *)(local_f0 + 0x10);
            local_68[0] = local_58;
                    /* try { // try from 001e7166 to 001e716a has its CatchHandler @ 001e73ca */
            FUN_0017d640(local_68,local_a8,local_a8 + local_a0);
            local_48 = uVar15;
            local_40 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |
                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |
                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |
                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;
                    /* try { // try from 001e7189 to 001e718d has its CatchHandler @ 001e7437 */
            FUN_001d9dc0(uVar6,local_68);
            if (local_68[0] != local_58) {
              FUN_002f1e60();
            }
          }
          if (local_a8 != auStack_98) {
            FUN_002f1e60();
          }
        }
      }
      else {
        FUN_001dab60(param_1 + 0x1f);
        uVar15 = uVar15 + (int)param_1[0x22];
        local_104 = uVar15;
        if (cVar14 == '\0') goto LAB_001e6d30;
LAB_001e6e26:
        local_104 = uVar15;
        if (local_e0 == local_d8) {
                    /* try { // try from 001e71be to 001e71c2 has its CatchHandler @ 001e73c5 */
          FUN_001a8910(&local_e8,local_e0,&local_104);
          goto LAB_001e6d30;
        }
        *local_e0 = uVar15;
        local_e0 = local_e0 + 1;
        if (uVar15 < *(uint *)(param_1 + 7)) goto LAB_001e6d3a;
LAB_001e6e59:
        uVar15 = local_104;
        uVar6 = gettext("section %u in section group %u out of range");
        FUN_001d19e0(param_1,uVar6,uVar15,param_4);
      }
      local_110 = (long *)((long)local_110 + 1);
    } while (local_110 < local_118);
    if (cVar14 != '\0') {
LAB_001e7093:
      local_110 = &local_e8;
                    /* try { // try from 001e70ce to 001e70d2 has its CatchHandler @ 001e73c5 */
      FUN_001caee0(param_3,param_2,param_1,param_4,param_5,local_c8[0],&local_100,
                   uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,
                   local_110);
    }
  }
  if (local_e8 != 0) {
    FUN_002f1e60();
  }
LAB_001e70e8:
  if (local_c8[0] != acStack_b8) {
    FUN_002f1e60();
  }
  return local_121;
}


PUSH RBP
MOV EAX,ECX
SHL EAX,0x6
ADD RAX,R9
MOV RBP,RSP
PUSH R15
MOV R15D,ECX
PUSH R14
PUSH R13
PUSH R12
PUSH RBX
MOV RBX,RDI
SUB RSP,0x168
MOV RDI,qword ptr [RDI + 0x28]
MOV qword ptr [RBP + -0x148],RDX
MOV qword ptr [RBP + -0x150],RSI
MOV RCX,qword ptr [RAX + 0x20]
MOV qword ptr [RBP + -0x158],R8
MOV RDX,qword ptr [RAX + 0x18]
MOV qword ptr [RBP + -0x118],R9
MOV qword ptr [RBP + -0xf8],RAX
TEST RDI,RDI
JZ 0x001e7390
MOV RSI,qword ptr [RBX + 0x30]
ADD RDI,0x28
XOR R9D,R9D
BSWAP RCX
MOV R8D,0x1
BSWAP RDX
CALL 0x0018a760
LEA RCX,[RBX + 0xf8]
MOV R12,RAX
MOV R13D,dword ptr [RAX]
MOV RAX,qword ptr [RBP + -0xf8]
MOV qword ptr [RBP + -0x130],RCX
MOV EAX,dword ptr [RAX + 0x28]
BSWAP EAX
MOV R14D,EAX
CMP EAX,0xfeff
JA 0x001e6f40
LEA RDI,[RBX + 0xf8]
MOV ESI,R14D
CALL 0x001e0b10
MOV RDI,qword ptr [RBX + 0x28]
TEST RDI,RDI
JZ 0x001e7390
MOV RSI,qword ptr [RBX + 0x30]
MOV ECX,0x40
MOV RDX,RAX
ADD RDI,0x28
MOV R9D,0x1
MOV R8D,0x1
CALL 0x0018a760
MOV RSI,-0x5555555555555555
MOV R14,RAX
MOV RAX,qword ptr [RBP + -0xf8]
MOV RDX,qword ptr [R14 + 0x20]
MOV EAX,dword ptr [RAX + 0x2c]
BSWAP RDX
BSWAP EAX
MOV dword ptr [RBP + -0x120],EAX
MOV ECX,EAX
MOV RAX,RDX
MUL RSI
SHR RDX,0x4
CMP RCX,RDX
JNC 0x001e6f20
MOV RDX,qword ptr [R14 + 0x18]
MOV ECX,dword ptr [RBP + -0x120]
MOV RDI,qword ptr [RBX + 0x28]
MOV RAX,RDX
LEA EDX,[RCX + RCX*0x2]
SHL EDX,0x3
BSWAP RAX
ADD RDX,RAX
TEST RDI,RDI
JZ 0x001e7390
MOV RSI,qword ptr [RBX + 0x30]
ADD RDI,0x28
XOR R9D,R9D
MOV ECX,0x18
MOV R8D,0x1
CALL 0x0018a760
MOV R14D,dword ptr [R14 + 0x28]
MOV qword ptr [RBP + -0x108],RAX
BSWAP R14D
CMP R14D,0xfeff
JA 0x001e6f00
MOV RAX,qword ptr [RBX]
LEA RDX,[0x1e0d50]
MOV RAX,qword ptr [RAX + 0x70]
CMP RAX,RDX
JNZ 0x001e72d0
MOV ESI,R14D
LEA RDI,[RBX + 0xf8]
CALL 0x001e0ca0
LEA RSI,[0x393c8a]
MOV qword ptr [RBP + -0xf0],RDX
TEST RDX,RDX
JNZ 0x001e6e80
MOV RAX,qword ptr [RBP + -0x108]
MOV R14D,dword ptr [RAX]
BSWAP R14D
MOV EAX,R14D
CMP RAX,RDX
JNC 0x001e6ec0
ADD RSI,RAX
LEA RAX,[RBP + -0xc0]
MOV RDI,RAX
MOV qword ptr [RBP + -0x160],RAX
CALL 0x001d26c0
MOV RAX,qword ptr [RBP + -0xc0]
CMP byte ptr [RAX],0x0
JNZ 0x001e6c3f
MOV RAX,qword ptr [RBP + -0x108]
MOVZX EAX,byte ptr [RAX + 0x4]
MOV byte ptr [RBP + -0x110],AL
AND EAX,0xf
CMP AL,0x3
JZ 0x001e6f60
MOV qword ptr [RBP + -0xe8],0x0
BSWAP R13D
MOV dword ptr [RBP + -0x174],R13D
AND R13D,0x1
JNZ 0x001e71d0
MOV RAX,qword ptr [RBP + -0xf8]
MOV qword ptr [RBP + -0xe0],0x0
MOV qword ptr [RBP + -0xd8],0x0
MOV RAX,qword ptr [RAX + 0x20]
MOV byte ptr [RBP + -0x11a],0x0
MOV qword ptr [RBP + -0xd0],0x0
BSWAP RAX
SHR RAX,0x2
MOV qword ptr [RBP + -0x110],RAX
MOV RAX,qword ptr [0x0045c708]
MOV RAX,qword ptr [RAX + 0x10]
TEST RAX,RAX
JZ 0x001e7395
MOVZX R14D,byte ptr [RAX + 0x5051]
TEST R14B,R14B
JNZ 0x001e72f8
CMP qword ptr [RBP + -0x110],0x1
MOV byte ptr [RBP + -0x119],0x1
JBE 0x001e70d7
LEA RAX,[RBP + -0xfc]
MOV qword ptr [RBP + -0x108],0x1
MOV qword ptr [RBP + -0x168],RAX
LEA RAX,[RBP + -0xe0]
MOV qword ptr [RBP + -0x170],RAX
LEA RAX,[RBP + -0xa0]
MOV qword ptr [RBP + -0x140],RAX
ADD RAX,0x10
MOV qword ptr [RBP + -0x128],RAX
JMP 0x001e6de8
MOV dword ptr [RBP + -0xfc],R13D
TEST R14B,R14B
JNZ 0x001e6e26
CMP dword ptr [RBX + 0x38],R13D
JBE 0x001e6e59
CMP R15D,R13D
JA 0x001e6fc8
SHL R13D,0x6
ADD R13,qword ptr [RBP + -0x118]
MOV ESI,dword ptr [R13]
BSWAP ESI
MOV ESI,ESI
CMP RSI,qword ptr [RBP + 0x18]
JNC 0x001e6dcc
MOV RAX,qword ptr [RBP + -0x128]
MOV RDX,-0x1
MOV qword ptr [RBP + -0xa0],RAX
ADD RSI,qword ptr [RBP + 0x10]
JZ 0x001e6d91
MOV RDI,RSI
MOV qword ptr [RBP + -0x138],RSI
CALL 0x00149490
MOV RSI,qword ptr [RBP + -0x138]
LEA RDX,[RSI + RAX*0x1]
MOV RDI,qword ptr [RBP + -0x140]
CALL 0x00174550
CMP byte ptr [RBP + -0x119],0x0
JZ 0x001e6ff8
CMP byte ptr [RBP + -0x11a],0x0
JNZ 0x001e7110
MOV RDI,qword ptr [RBP + -0xa0]
CMP RDI,qword ptr [RBP + -0x128]
JZ 0x001e6dcc
CALL 0x002f1e60
ADD qword ptr [RBP + -0x108],0x1
MOV RAX,qword ptr [RBP + -0x108]
CMP RAX,qword ptr [RBP + -0x110]
JNC 0x001e7080
MOV RAX,qword ptr [RBP + -0x108]
MOV R13D,dword ptr [R12 + RAX*0x4]
BSWAP R13D
CMP R13D,0xfeff
JBE 0x001e6d20
MOV RDI,qword ptr [RBP + -0x130]
CALL 0x001dab60
ADD R13D,dword ptr [RBX + 0x110]
MOV dword ptr [RBP + -0xfc],R13D
TEST R14B,R14B
JZ 0x001e6d30
MOV RSI,qword ptr [RBP + -0xd8]
CMP RSI,qword ptr [RBP + -0xd0]
JZ 0x001e71b0
MOV dword ptr [RSI],R13D
ADD RSI,0x4
MOV R13D,dword ptr [RBP + -0xfc]
MOV qword ptr [RBP + -0xd8],RSI
CMP dword ptr [RBX + 0x38],R13D
JA 0x001e6d3a
LEA RDI,[0x392578]
CALL 0x00149320
MOV ECX,R15D
MOV EDX,R13D
MOV RDI,RBX
MOV RSI,RAX
XOR EAX,EAX
CALL 0x001d19e0
JMP 0x001e6dcc
MOV RDI,qword ptr [RBX + 0x28]
TEST RDI,RDI
JZ 0x001e7390
MOV RSI,qword ptr [RBX + 0x30]
MOV RCX,RDX
ADD RDI,0x28
MOV RDX,RAX
MOV R9D,0x1
MOV R8D,0x1
CALL 0x0018a760
MOV RDX,qword ptr [RBP + -0xf0]
MOV RSI,RAX
JMP 0x001e6be5
LEA RDI,[0x392528]
CALL 0x00149320
MOV EDX,dword ptr [RBP + -0x120]
MOV ECX,R14D
MOV RSI,RAX
MOV RDI,RBX
XOR EAX,EAX
CALL 0x001d19e0
MOV byte ptr [RBP + -0x119],0x0
MOVZX EAX,byte ptr [RBP + -0x119]
LEA RSP,[RBP + -0x28]
POP RBX
POP R12
POP R13
POP R14
POP R15
POP RBP
RET
LEA RDI,[RBX + 0xf8]
CALL 0x001dab60
ADD R14D,dword ptr [RBX + 0x110]
JMP 0x001e6ba8
LEA RDI,[0x392500]
CALL 0x00149320
MOV ECX,dword ptr [RBP + -0x120]
MOV EDX,R15D
JMP 0x001e6ed5
MOV RDI,RCX
CALL 0x001dab60
MOV ECX,dword ptr [RBX + 0x110]
MOV EAX,R14D
ADD EAX,ECX
MOV R14D,EAX
JMP 0x001e6ad4
MOV RAX,qword ptr [RBP + -0x108]
MOVZX EAX,word ptr [RAX + 0x6]
ROL AX,0x8
MOVZX EAX,AX
MOV R14D,EAX
CMP EAX,0xfeff
JA 0x001e7330
MOV byte ptr [RBP + -0x60],0x1
MOV EAX,R14D
CMP dword ptr [RBX + 0x38],R14D
JBE 0x001e733b
MOV RCX,qword ptr [RBP + -0x118]
SHL EAX,0x6
MOV EAX,dword ptr [RCX + RAX*0x1]
BSWAP EAX
MOV EAX,EAX
CMP RAX,qword ptr [RBP + 0x18]
JNC 0x001e6c3f
ADD RAX,qword ptr [RBP + 0x10]
MOV RDI,qword ptr [RBP + -0x160]
MOV RSI,RAX
CALL 0x002f9af0
JMP 0x001e6c3f
LEA RDI,[0x3925a8]
CALL 0x00149320
MOV ECX,R13D
MOV EDX,R15D
MOV RDI,RBX
MOV RSI,RAX
XOR EAX,EAX
CALL 0x001d19e0
MOV R13D,dword ptr [RBP + -0xfc]
JMP 0x001e6d43
MOV ECX,dword ptr [RBP + -0xfc]
MOV RDI,qword ptr [RBP + 0x20]
MOV EDX,0x1
MOV RAX,RCX
SHL RDX,CL
SHR RAX,0x3
AND EAX,0x1ffffff8
ADD RAX,qword ptr [RDI]
OR qword ptr [RAX],RDX
CMP byte ptr [RBP + -0x11a],0x0
JZ 0x001e6db7
CMP qword ptr [RBP + -0x110],0x2
MOV RAX,qword ptr [RBP + -0xe8]
JZ 0x001e7044
CMP byte ptr [RAX + 0xc],0x0
JZ 0x001e6db7
MOV RDX,qword ptr [R13 + 0x20]
MOV qword ptr [RBP + -0x70],RAX
LEA RSI,[RBP + -0x80]
LEA RDI,[RBX + 0x1b0]
MOV EAX,dword ptr [RBP + -0x120]
MOV dword ptr [RBP + -0x80],ECX
BSWAP RDX
MOV byte ptr [RBP + -0x64],0x1
MOV qword ptr [RBP + -0x78],RDX
MOV dword ptr [RBP + -0x68],EAX
CALL 0x001e2560
JMP 0x001e6db7
TEST R14B,R14B
JZ 0x001e70d7
LEA RAX,[RBP + -0xe0]
MOV qword ptr [RBP + -0x108],RAX
MOV EAX,dword ptr [RBP + -0x174]
SUB RSP,0x8
MOV ECX,R15D
MOV RDX,RBX
PUSH qword ptr [RBP + -0x108]
MOV R9,qword ptr [RBP + -0xc0]
MOV R8,qword ptr [RBP + -0x158]
PUSH RAX
LEA RAX,[RBP + -0xf8]
MOV RSI,qword ptr [RBP + -0x150]
MOV RDI,qword ptr [RBP + -0x148]
PUSH RAX
CALL 0x001caee0
ADD RSP,0x20
MOV RDI,qword ptr [RBP + -0xe0]
TEST RDI,RDI
JZ 0x001e70e8
CALL 0x002f1e60
MOV RAX,qword ptr [RBP + -0x160]
MOV RDI,qword ptr [RBP + -0xc0]
ADD RAX,0x10
CMP RDI,RAX
JZ 0x001e6ee9
CALL 0x002f1e60
JMP 0x001e6ee9
MOV RAX,qword ptr [RBP + -0xe8]
MOV RDX,qword ptr [R13 + 0x20]
MOV ECX,dword ptr [RBP + -0xfc]
CMP byte ptr [RAX + 0xc],0x0
BSWAP RDX
MOV qword ptr [RBP + -0x180],RDX
MOV dword ptr [RBP + -0x138],ECX
JZ 0x001e73ad
MOV RAX,qword ptr [RAX + 0x10]
MOV RSI,qword ptr [RBP + -0xa0]
LEA R13,[RBP + -0x60]
MOV RDX,qword ptr [RBP + -0x98]
MOV RDI,R13
MOV qword ptr [RBP + -0x188],RAX
LEA RAX,[R13 + 0x10]
ADD RDX,RSI
MOV qword ptr [RBP + -0x60],RAX
CALL 0x0017d640
MOV ECX,dword ptr [RBP + -0x138]
MOV RDI,qword ptr [RBP + -0x188]
MOV RSI,R13
MOV dword ptr [RBP + -0x40],ECX
MOV RCX,qword ptr [RBP + -0x180]
MOV qword ptr [RBP + -0x38],RCX
CALL 0x001d9dc0
MOV RDI,qword ptr [RBP + -0x60]
ADD R13,0x10
CMP RDI,R13
JZ 0x001e6db7
CALL 0x002f1e60
JMP 0x001e6db7
MOV RDX,qword ptr [RBP + -0x168]
MOV RDI,qword ptr [RBP + -0x170]
CALL 0x001a8910
MOV R13D,dword ptr [RBP + -0xfc]
JMP 0x001e6d30
SUB RSP,0x8
MOV R9D,0x1
MOV ECX,R15D
MOV RDX,RBX
LEA RAX,[RBP + -0xe8]
MOV R13,qword ptr [RBP + -0x148]
MOV RSI,qword ptr [RBP + -0x160]
MOV R8D,0x1
PUSH RAX
MOV RDI,R13
CALL 0x001c1720
MOV R14D,EAX
POP RAX
POP RDX
TEST R14B,R14B
JZ 0x001e726f
MOV RDI,qword ptr [R13 + 0x378]
TEST RDI,RDI
JZ 0x001e7229
MOV RDX,qword ptr [RBP + -0xc0]
MOV RSI,RBX
CALL 0x00197030
MOV RAX,qword ptr [RBP + -0xf8]
MOV RAX,qword ptr [RAX + 0x20]
MOV byte ptr [RBP + -0x11a],R14B
MOV qword ptr [RBP + -0xe0],0x0
MOV qword ptr [RBP + -0xd8],0x0
BSWAP RAX
SHR RAX,0x2
MOV qword ptr [RBP + -0x110],RAX
MOV qword ptr [RBP + -0xd0],0x0
JMP 0x001e6c9f
MOV RAX,qword ptr [RBP + -0xf8]
MOV qword ptr [RBP + -0xe0],0x0
MOV qword ptr [RBP + -0xd8],0x0
MOV qword ptr [RBP + -0xd0],0x0
MOV RAX,qword ptr [RAX + 0x20]
BSWAP RAX
SHR RAX,0x2
MOV qword ptr [RBP + -0x110],RAX
CMP RAX,0x1
JBE 0x001e735d
MOV byte ptr [RBP + -0x119],0x0
MOV byte ptr [RBP + -0x11a],0x1
JMP 0x001e6cd9
LEA RDX,[RBP + -0xf0]
MOV ESI,R14D
MOV ECX,0x1
MOV RDI,RBX
CALL RAX
MOV RDX,qword ptr [RBP + -0xf0]
MOV RSI,RAX
JMP 0x001e6be5
MOV R13,qword ptr [RBP + -0x110]
LEA RAX,[RBP + -0xe0]
MOV RDI,RAX
MOV qword ptr [RBP + -0x108],RAX
LEA RSI,[R13 + -0x1]
CALL 0x001da300
MOV byte ptr [RBP + -0x119],R14B
CMP R13,0x1
JA 0x001e6cd9
JMP 0x001e7093
CMP EAX,0xffff
JZ 0x001e7369
MOV byte ptr [RBP + -0x60],0x0
LEA RDI,[0x392550]
CALL 0x00149320
MOV EDX,dword ptr [RBP + -0x120]
MOV ECX,R14D
MOV RDI,RBX
MOV RSI,RAX
XOR EAX,EAX
CALL 0x001d19e0
MOV byte ptr [RBP + -0x119],0x0
JMP 0x001e70e8
MOV ESI,dword ptr [RBP + -0x120]
LEA RDX,[RBP + -0x60]
MOV RDI,RBX
CALL 0x001d1b60
CMP byte ptr [RBP + -0x60],0x0
MOV R14D,EAX
JNZ 0x001e6f84
JMP 0x001e733b
CALL 0x001d17f0
LEA RDX,[0x393a30]
MOV ESI,0x5c
LEA RDI,[0x382279]
CALL 0x0018ff20
LEA RDX,[0x393480]
MOV ESI,0x135
LEA RDI,[0x38d441]
CALL 0x0018ff20
(translation_unit "char FUN_001e6a30(long *param_1,undefined8 param_2,long param_3,uint param_4,undefined8 param_5,\n                 long param_6,long param_7,ulong param_8,long *param_9)\n\n{\n  uint uVar1;\n  ulong uVar2;\n  ushort uVar3;\n  uint uVar4;\n  uint *puVar5;\n  undefined8 uVar6;\n  long lVar7;\n  uint *puVar8;\n  size_t sVar9;\n  ulong uVar10;\n  ulong *puVar11;\n  undefined8 extraout_RDX;\n  char *pcVar12;\n  undefined8 extraout_RDX_00;\n  undefined8 extraout_RDX_01;\n  undefined8 extraout_RDX_02;\n  undefined4 *puVar13;\n  char *__s;\n  char cVar14;\n  uint uVar15;\n  undefined1 auVar16 [16];\n  undefined8 uStack_1a0;\n  char local_122;\n  char local_121;\n  ulong local_118;\n  long *local_110;\n  uint local_104;\n  long local_100;\n  ulong local_f8;\n  long local_f0;\n  long local_e8;\n  uint *local_e0;\n  uint *local_d8;\n  char *local_c8 [2];\n  char acStack_b8 [16];\n  undefined1 *local_a8;\n  long local_a0;\n  undefined1 auStack_98 [16];\n  uint local_88 [2];\n  ulong local_80;\n  long local_78;\n  uint local_70;\n  undefined1 local_6c;\n  undefined1 *local_68 [2];\n  undefined1 local_58 [16];\n  uint local_48;\n  ulong local_40;\n  \n  local_100 = (ulong)(param_4 << 6) + param_6;\n  uVar10 = *(ulong *)(local_100 + 0x20);\n  uVar2 = *(ulong *)(local_100 + 0x18);\n  if (param_1[5] == 0) {\nLAB_001e7390:\n                    /* WARNING: Subroutine does not return */\n    FUN_001d17f0();\n  }\n  puVar5 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],\n                                uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 |\n                                (uVar2 & 0xff0000000000) >> 0x18 | (uVar2 & 0xff00000000) >> 8 |\n                                (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n                                (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38,\n                                uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38,1,0);\n  uVar1 = *puVar5;\n  uVar4 = *(uint *)(local_100 + 0x28);\n  uVar4 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n  if (0xfeff < uVar4) {\n    FUN_001dab60(param_1 + 0x1f);\n    uVar4 = uVar4 + (int)param_1[0x22];\n  }\n  uVar6 = FUN_001e0b10(param_1 + 0x1f,uVar4);\n  if (param_1[5] == 0) goto LAB_001e7390;\n  lVar7 = FUN_0018a760(param_1[5] + 0x28,param_1[6],uVar6,0x40,1,1);\n  uVar10 = *(ulong *)(lVar7 + 0x20);\n  uVar4 = *(uint *)(local_100 + 0x2c);\n  uVar4 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n  if ((uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n       (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38) / 0x18 <= (ulong)uVar4) {\n    uVar6 = gettext("section group %u info %u out of range");\n    uVar15 = uVar4;\nLAB_001e6ed5:\n    FUN_001d19e0(param_1,uVar6,param_4,uVar15);\n    return '\0';\n  }\n  uVar10 = *(ulong *)(lVar7 + 0x18);\n  if (param_1[5] == 0) goto LAB_001e7390;\n  puVar8 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],\n                                (ulong)(uVar4 * 0x18) +\n                                (uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38),0x18,1,0);\n  uVar15 = *(uint *)(lVar7 + 0x28);\n  uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n  if (0xfeff < uVar15) {\n    FUN_001dab60(param_1 + 0x1f);\n    uVar15 = uVar15 + (int)param_1[0x22];\n  }\n  if (*(code **)(*param_1 + 0x70) == FUN_001e0d50) {\n    auVar16 = FUN_001e0ca0(param_1 + 0x1f,uVar15);\n    local_f8 = auVar16._8_8_;\n    puVar13 = &DAT_00393c8a;\n    if (local_f8 != 0) {\n      if (param_1[5] == 0) goto LAB_001e7390;\n      puVar13 = (undefined4 *)FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar16._0_8_,local_f8,1,1);\n    }\n  }\n  else {\n    puVar13 = (undefined4 *)(**(code **)(*param_1 + 0x70))(param_1,uVar15,&local_f8,1);\n  }\n  uVar15 = *puVar8;\n  uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n  if (local_f8 <= uVar15) {\n    uVar6 = gettext("symbol %u name offset %u out of range");\n    param_4 = uVar4;\n    goto LAB_001e6ed5;\n  }\n  uStack_1a0 = 0x1e6c17;\n  FUN_001d26c0(local_c8,(long)puVar13 + (ulong)uVar15);\n  uVar6 = extraout_RDX;\n  if ((*local_c8[0] == '\0') && ((puVar8[1] & 0xf) == 3)) {\n    uVar3 = *(ushort *)((long)puVar8 + 6) << 8 | *(ushort *)((long)puVar8 + 6) >> 8;\n    uVar15 = (uint)uVar3;\n    if (uVar15 < 0xff00) {\n      local_68[0] = (undefined1 *)CONCAT71(local_68[0]._1_7_,1);\nLAB_001e6f84:\n      if (uVar15 < *(uint *)(param_1 + 7)) {\n        uVar15 = *(uint *)(param_6 + (ulong)(uVar15 << 6));\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n                    /* try { // try from 001e6fba to 001e6fbe has its CatchHandler @ 001e7432 */\n          uStack_1a0 = 0x1e6fbf;\n          FUN_002f9af0(local_c8,uVar10 + param_7);\n          uVar6 = extraout_RDX_00;\n        }\n        goto LAB_001e6c3f;\n      }\n    }\n    else if (uVar3 == 0xffff) {\n      uStack_1a0 = 0x1e737b;\n      uVar15 = FUN_001d1b60(param_1,uVar4,local_68);\n      uVar6 = extraout_RDX_02;\n      if ((char)local_68[0] != '\0') goto LAB_001e6f84;\n    }\n    else {\n      local_68[0] = (undefined1 *)((ulong)local_68[0]._1_7_ << 8);\n    }\n    uVar6 = gettext("symbol %u invalid section index %u");\n                    /* try { // try from 001e7358 to 001e737a has its CatchHandler @ 001e7432 */\n    FUN_001d19e0(param_1,uVar6,uVar4,uVar15);\nLAB_001e735d:\n    local_121 = '\0';\n    goto LAB_001e70e8;\n  }\nLAB_001e6c3f:\n  local_f0 = 0;\n  if ((uVar1 >> 0x18 & 1) == 0) {\n    uVar10 = *(ulong *)(local_100 + 0x20);\n    local_122 = '\0';\n    local_118 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28\n                | uVar10 << 0x38;\n    uStack_1a0 = uVar6;\nLAB_001e6c9f:\n    local_118 = local_118 >> 2;\n    local_d8 = (uint *)0x0;\n    local_e0 = (uint *)0x0;\n    local_e8 = 0;\n    if (*(long *)(PTR_DAT_0045c708 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001e73a8 to 001e73ac has its CatchHandler @ 001e73c5 */\n      FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n    }\n    cVar14 = *(char *)(*(long *)(PTR_DAT_0045c708 + 0x10) + 0x5051);\n    if (cVar14 != '\0') {\n                    /* try { // try from 001e7314 to 001e7318 has its CatchHandler @ 001e73c5 */\n      FUN_001da300(&local_e8,local_118 - 1,uStack_1a0);\n      local_121 = cVar14;\n      if (1 < local_118) goto LAB_001e6cd9;\n      goto LAB_001e7093;\n    }\n    local_121 = '\x01';\n    if (1 < local_118) goto LAB_001e6cd9;\n  }\n  else {\n                    /* try { // try from 001e71ff to 001e7228 has its CatchHandler @ 001e7432 */\n    local_122 = FUN_001c1720(param_3,local_c8,param_1,param_4,1,1,&local_f0);\n    if (local_122 != '\0') {\n      if (*(long *)(param_3 + 0x378) != 0) {\n        FUN_00197030(*(long *)(param_3 + 0x378),param_1,local_c8[0]);\n        uStack_1a0 = extraout_RDX_01;\n      }\n      uVar10 = *(ulong *)(local_100 + 0x20);\n      local_118 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                  (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                  (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                  (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n      goto LAB_001e6c9f;\n    }\n    local_e8 = 0;\n    local_e0 = (uint *)0x0;\n    local_d8 = (uint *)0x0;\n    uVar10 = *(ulong *)(local_100 + 0x20);\n    local_118 = (uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38) >> 2;\n    if (local_118 < 2) goto LAB_001e735d;\n    local_121 = '\0';\n    local_122 = '\x01';\n    cVar14 = '\0';\nLAB_001e6cd9:\n    local_110 = (long *)0x1;\n    do {\n      uVar15 = puVar5[(long)local_110];\n      uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n      if (uVar15 < 0xff00) {\n        local_104 = uVar15;\n        if (cVar14 != '\0') goto LAB_001e6e26;\nLAB_001e6d30:\n        if (*(uint *)(param_1 + 7) <= local_104) goto LAB_001e6e59;\nLAB_001e6d3a:\n        uVar15 = local_104;\n        if (local_104 < param_4) {\n          uVar6 = gettext("invalid section group %u refers to earlier section %u");\n                    /* try { // try from 001e6fe2 to 001e6fe6 has its CatchHandler @ 001e73c5 */\n          FUN_001d19e0(param_1,uVar6,param_4,uVar15);\n        }\n        puVar8 = (uint *)((ulong)(local_104 << 6) + param_6);\n        uVar15 = *puVar8;\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n          pcVar12 = (char *)0xffffffffffffffff;\n          __s = (char *)(uVar10 + param_7);\n          local_a8 = auStack_98;\n          if (__s != (char *)0x0) {\n            sVar9 = strlen(__s);\n            pcVar12 = __s + sVar9;\n          }\n                    /* try { // try from 001e6d98 to 001e6e77 has its CatchHandler @ 001e73c5 */\n          FUN_00174550(&local_a8,__s,pcVar12);\n          uVar15 = local_104;\n          if (local_121 == '\0') {\n            puVar11 = (ulong *)((ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9);\n            *puVar11 = *puVar11 | 1L << ((byte)local_104 & 0x3f);\n            if ((local_122 != '\0') && ((local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0')))) {\n              uVar10 = *(ulong *)(puVar8 + 8);\n              local_78 = local_f0;\n              local_88[0] = local_104;\n              local_80 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n              local_6c = 1;\n              local_70 = uVar4;\n                    /* try { // try from 001e706e to 001e7072 has its CatchHandler @ 001e73ca */\n              FUN_001e2560(param_1 + 0x36,local_88);\n            }\n          }\n          else if (local_122 != '\0') {\n            uVar10 = *(ulong *)(puVar8 + 8);\n            if (*(char *)(local_f0 + 0xc) == '\0') {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001e73c0 to 001e73c4 has its CatchHandler @ 001e73ca */\n              FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            uVar6 = *(undefined8 *)(local_f0 + 0x10);\n            local_68[0] = local_58;\n                    /* try { // try from 001e7166 to 001e716a has its CatchHandler @ 001e73ca */\n            FUN_0017d640(local_68,local_a8,local_a8 + local_a0);\n            local_48 = uVar15;\n            local_40 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n                    /* try { // try from 001e7189 to 001e718d has its CatchHandler @ 001e7437 */\n            FUN_001d9dc0(uVar6,local_68);\n            if (local_68[0] != local_58) {\n              FUN_002f1e60();\n            }\n          }\n          if (local_a8 != auStack_98) {\n            FUN_002f1e60();\n          }\n        }\n      }\n      else {\n        FUN_001dab60(param_1 + 0x1f);\n        uVar15 = uVar15 + (int)param_1[0x22];\n        local_104 = uVar15;\n        if (cVar14 == '\0') goto LAB_001e6d30;\nLAB_001e6e26:\n        local_104 = uVar15;\n        if (local_e0 == local_d8) {\n                    /* try { // try from 001e71be to 001e71c2 has its CatchHandler @ 001e73c5 */\n          FUN_001a8910(&local_e8,local_e0,&local_104);\n          goto LAB_001e6d30;\n        }\n        *local_e0 = uVar15;\n        local_e0 = local_e0 + 1;\n        if (uVar15 < *(uint *)(param_1 + 7)) goto LAB_001e6d3a;\nLAB_001e6e59:\n        uVar15 = local_104;\n        uVar6 = gettext("section %u in section group %u out of range");\n        FUN_001d19e0(param_1,uVar6,uVar15,param_4);\n      }\n      local_110 = (long *)((long)local_110 + 1);\n    } while (local_110 < local_118);\n    if (cVar14 != '\0') {\nLAB_001e7093:\n      local_110 = &local_e8;\n                    /* try { // try from 001e70ce to 001e70d2 has its CatchHandler @ 001e73c5 */\n      FUN_001caee0(param_3,param_2,param_1,param_4,param_5,local_c8[0],&local_100,\n                   uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                   local_110);\n    }\n  }\n  if (local_e8 != 0) {\n    FUN_002f1e60();\n  }\nLAB_001e70e8:\n  if (local_c8[0] != acStack_b8) {\n    FUN_002f1e60();\n  }\n  return local_121;\n}\n\n" (function_definition "char FUN_001e6a30(long *param_1,undefined8 param_2,long param_3,uint param_4,undefined8 param_5,\n                 long param_6,long param_7,ulong param_8,long *param_9)\n\n{\n  uint uVar1;\n  ulong uVar2;\n  ushort uVar3;\n  uint uVar4;\n  uint *puVar5;\n  undefined8 uVar6;\n  long lVar7;\n  uint *puVar8;\n  size_t sVar9;\n  ulong uVar10;\n  ulong *puVar11;\n  undefined8 extraout_RDX;\n  char *pcVar12;\n  undefined8 extraout_RDX_00;\n  undefined8 extraout_RDX_01;\n  undefined8 extraout_RDX_02;\n  undefined4 *puVar13;\n  char *__s;\n  char cVar14;\n  uint uVar15;\n  undefined1 auVar16 [16];\n  undefined8 uStack_1a0;\n  char local_122;\n  char local_121;\n  ulong local_118;\n  long *local_110;\n  uint local_104;\n  long local_100;\n  ulong local_f8;\n  long local_f0;\n  long local_e8;\n  uint *local_e0;\n  uint *local_d8;\n  char *local_c8 [2];\n  char acStack_b8 [16];\n  undefined1 *local_a8;\n  long local_a0;\n  undefined1 auStack_98 [16];\n  uint local_88 [2];\n  ulong local_80;\n  long local_78;\n  uint local_70;\n  undefined1 local_6c;\n  undefined1 *local_68 [2];\n  undefined1 local_58 [16];\n  uint local_48;\n  ulong local_40;\n  \n  local_100 = (ulong)(param_4 << 6) + param_6;\n  uVar10 = *(ulong *)(local_100 + 0x20);\n  uVar2 = *(ulong *)(local_100 + 0x18);\n  if (param_1[5] == 0) {\nLAB_001e7390:\n                    /* WARNING: Subroutine does not return */\n    FUN_001d17f0();\n  }\n  puVar5 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],\n                                uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 |\n                                (uVar2 & 0xff0000000000) >> 0x18 | (uVar2 & 0xff00000000) >> 8 |\n                                (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n                                (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38,\n                                uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38,1,0);\n  uVar1 = *puVar5;\n  uVar4 = *(uint *)(local_100 + 0x28);\n  uVar4 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n  if (0xfeff < uVar4) {\n    FUN_001dab60(param_1 + 0x1f);\n    uVar4 = uVar4 + (int)param_1[0x22];\n  }\n  uVar6 = FUN_001e0b10(param_1 + 0x1f,uVar4);\n  if (param_1[5] == 0) goto LAB_001e7390;\n  lVar7 = FUN_0018a760(param_1[5] + 0x28,param_1[6],uVar6,0x40,1,1);\n  uVar10 = *(ulong *)(lVar7 + 0x20);\n  uVar4 = *(uint *)(local_100 + 0x2c);\n  uVar4 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n  if ((uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n       (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38) / 0x18 <= (ulong)uVar4) {\n    uVar6 = gettext("section group %u info %u out of range");\n    uVar15 = uVar4;\nLAB_001e6ed5:\n    FUN_001d19e0(param_1,uVar6,param_4,uVar15);\n    return '\0';\n  }\n  uVar10 = *(ulong *)(lVar7 + 0x18);\n  if (param_1[5] == 0) goto LAB_001e7390;\n  puVar8 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],\n                                (ulong)(uVar4 * 0x18) +\n                                (uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38),0x18,1,0);\n  uVar15 = *(uint *)(lVar7 + 0x28);\n  uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n  if (0xfeff < uVar15) {\n    FUN_001dab60(param_1 + 0x1f);\n    uVar15 = uVar15 + (int)param_1[0x22];\n  }\n  if (*(code **)(*param_1 + 0x70) == FUN_001e0d50) {\n    auVar16 = FUN_001e0ca0(param_1 + 0x1f,uVar15);\n    local_f8 = auVar16._8_8_;\n    puVar13 = &DAT_00393c8a;\n    if (local_f8 != 0) {\n      if (param_1[5] == 0) goto LAB_001e7390;\n      puVar13 = (undefined4 *)FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar16._0_8_,local_f8,1,1);\n    }\n  }\n  else {\n    puVar13 = (undefined4 *)(**(code **)(*param_1 + 0x70))(param_1,uVar15,&local_f8,1);\n  }\n  uVar15 = *puVar8;\n  uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n  if (local_f8 <= uVar15) {\n    uVar6 = gettext("symbol %u name offset %u out of range");\n    param_4 = uVar4;\n    goto LAB_001e6ed5;\n  }\n  uStack_1a0 = 0x1e6c17;\n  FUN_001d26c0(local_c8,(long)puVar13 + (ulong)uVar15);\n  uVar6 = extraout_RDX;\n  if ((*local_c8[0] == '\0') && ((puVar8[1] & 0xf) == 3)) {\n    uVar3 = *(ushort *)((long)puVar8 + 6) << 8 | *(ushort *)((long)puVar8 + 6) >> 8;\n    uVar15 = (uint)uVar3;\n    if (uVar15 < 0xff00) {\n      local_68[0] = (undefined1 *)CONCAT71(local_68[0]._1_7_,1);\nLAB_001e6f84:\n      if (uVar15 < *(uint *)(param_1 + 7)) {\n        uVar15 = *(uint *)(param_6 + (ulong)(uVar15 << 6));\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n                    /* try { // try from 001e6fba to 001e6fbe has its CatchHandler @ 001e7432 */\n          uStack_1a0 = 0x1e6fbf;\n          FUN_002f9af0(local_c8,uVar10 + param_7);\n          uVar6 = extraout_RDX_00;\n        }\n        goto LAB_001e6c3f;\n      }\n    }\n    else if (uVar3 == 0xffff) {\n      uStack_1a0 = 0x1e737b;\n      uVar15 = FUN_001d1b60(param_1,uVar4,local_68);\n      uVar6 = extraout_RDX_02;\n      if ((char)local_68[0] != '\0') goto LAB_001e6f84;\n    }\n    else {\n      local_68[0] = (undefined1 *)((ulong)local_68[0]._1_7_ << 8);\n    }\n    uVar6 = gettext("symbol %u invalid section index %u");\n                    /* try { // try from 001e7358 to 001e737a has its CatchHandler @ 001e7432 */\n    FUN_001d19e0(param_1,uVar6,uVar4,uVar15);\nLAB_001e735d:\n    local_121 = '\0';\n    goto LAB_001e70e8;\n  }\nLAB_001e6c3f:\n  local_f0 = 0;\n  if ((uVar1 >> 0x18 & 1) == 0) {\n    uVar10 = *(ulong *)(local_100 + 0x20);\n    local_122 = '\0';\n    local_118 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28\n                | uVar10 << 0x38;\n    uStack_1a0 = uVar6;\nLAB_001e6c9f:\n    local_118 = local_118 >> 2;\n    local_d8 = (uint *)0x0;\n    local_e0 = (uint *)0x0;\n    local_e8 = 0;\n    if (*(long *)(PTR_DAT_0045c708 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001e73a8 to 001e73ac has its CatchHandler @ 001e73c5 */\n      FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n    }\n    cVar14 = *(char *)(*(long *)(PTR_DAT_0045c708 + 0x10) + 0x5051);\n    if (cVar14 != '\0') {\n                    /* try { // try from 001e7314 to 001e7318 has its CatchHandler @ 001e73c5 */\n      FUN_001da300(&local_e8,local_118 - 1,uStack_1a0);\n      local_121 = cVar14;\n      if (1 < local_118) goto LAB_001e6cd9;\n      goto LAB_001e7093;\n    }\n    local_121 = '\x01';\n    if (1 < local_118) goto LAB_001e6cd9;\n  }\n  else {\n                    /* try { // try from 001e71ff to 001e7228 has its CatchHandler @ 001e7432 */\n    local_122 = FUN_001c1720(param_3,local_c8,param_1,param_4,1,1,&local_f0);\n    if (local_122 != '\0') {\n      if (*(long *)(param_3 + 0x378) != 0) {\n        FUN_00197030(*(long *)(param_3 + 0x378),param_1,local_c8[0]);\n        uStack_1a0 = extraout_RDX_01;\n      }\n      uVar10 = *(ulong *)(local_100 + 0x20);\n      local_118 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                  (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                  (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                  (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n      goto LAB_001e6c9f;\n    }\n    local_e8 = 0;\n    local_e0 = (uint *)0x0;\n    local_d8 = (uint *)0x0;\n    uVar10 = *(ulong *)(local_100 + 0x20);\n    local_118 = (uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38) >> 2;\n    if (local_118 < 2) goto LAB_001e735d;\n    local_121 = '\0';\n    local_122 = '\x01';\n    cVar14 = '\0';\nLAB_001e6cd9:\n    local_110 = (long *)0x1;\n    do {\n      uVar15 = puVar5[(long)local_110];\n      uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n      if (uVar15 < 0xff00) {\n        local_104 = uVar15;\n        if (cVar14 != '\0') goto LAB_001e6e26;\nLAB_001e6d30:\n        if (*(uint *)(param_1 + 7) <= local_104) goto LAB_001e6e59;\nLAB_001e6d3a:\n        uVar15 = local_104;\n        if (local_104 < param_4) {\n          uVar6 = gettext("invalid section group %u refers to earlier section %u");\n                    /* try { // try from 001e6fe2 to 001e6fe6 has its CatchHandler @ 001e73c5 */\n          FUN_001d19e0(param_1,uVar6,param_4,uVar15);\n        }\n        puVar8 = (uint *)((ulong)(local_104 << 6) + param_6);\n        uVar15 = *puVar8;\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n          pcVar12 = (char *)0xffffffffffffffff;\n          __s = (char *)(uVar10 + param_7);\n          local_a8 = auStack_98;\n          if (__s != (char *)0x0) {\n            sVar9 = strlen(__s);\n            pcVar12 = __s + sVar9;\n          }\n                    /* try { // try from 001e6d98 to 001e6e77 has its CatchHandler @ 001e73c5 */\n          FUN_00174550(&local_a8,__s,pcVar12);\n          uVar15 = local_104;\n          if (local_121 == '\0') {\n            puVar11 = (ulong *)((ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9);\n            *puVar11 = *puVar11 | 1L << ((byte)local_104 & 0x3f);\n            if ((local_122 != '\0') && ((local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0')))) {\n              uVar10 = *(ulong *)(puVar8 + 8);\n              local_78 = local_f0;\n              local_88[0] = local_104;\n              local_80 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n              local_6c = 1;\n              local_70 = uVar4;\n                    /* try { // try from 001e706e to 001e7072 has its CatchHandler @ 001e73ca */\n              FUN_001e2560(param_1 + 0x36,local_88);\n            }\n          }\n          else if (local_122 != '\0') {\n            uVar10 = *(ulong *)(puVar8 + 8);\n            if (*(char *)(local_f0 + 0xc) == '\0') {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001e73c0 to 001e73c4 has its CatchHandler @ 001e73ca */\n              FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            uVar6 = *(undefined8 *)(local_f0 + 0x10);\n            local_68[0] = local_58;\n                    /* try { // try from 001e7166 to 001e716a has its CatchHandler @ 001e73ca */\n            FUN_0017d640(local_68,local_a8,local_a8 + local_a0);\n            local_48 = uVar15;\n            local_40 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n                    /* try { // try from 001e7189 to 001e718d has its CatchHandler @ 001e7437 */\n            FUN_001d9dc0(uVar6,local_68);\n            if (local_68[0] != local_58) {\n              FUN_002f1e60();\n            }\n          }\n          if (local_a8 != auStack_98) {\n            FUN_002f1e60();\n          }\n        }\n      }\n      else {\n        FUN_001dab60(param_1 + 0x1f);\n        uVar15 = uVar15 + (int)param_1[0x22];\n        local_104 = uVar15;\n        if (cVar14 == '\0') goto LAB_001e6d30;\nLAB_001e6e26:\n        local_104 = uVar15;\n        if (local_e0 == local_d8) {\n                    /* try { // try from 001e71be to 001e71c2 has its CatchHandler @ 001e73c5 */\n          FUN_001a8910(&local_e8,local_e0,&local_104);\n          goto LAB_001e6d30;\n        }\n        *local_e0 = uVar15;\n        local_e0 = local_e0 + 1;\n        if (uVar15 < *(uint *)(param_1 + 7)) goto LAB_001e6d3a;\nLAB_001e6e59:\n        uVar15 = local_104;\n        uVar6 = gettext("section %u in section group %u out of range");\n        FUN_001d19e0(param_1,uVar6,uVar15,param_4);\n      }\n      local_110 = (long *)((long)local_110 + 1);\n    } while (local_110 < local_118);\n    if (cVar14 != '\0') {\nLAB_001e7093:\n      local_110 = &local_e8;\n                    /* try { // try from 001e70ce to 001e70d2 has its CatchHandler @ 001e73c5 */\n      FUN_001caee0(param_3,param_2,param_1,param_4,param_5,local_c8[0],&local_100,\n                   uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                   local_110);\n    }\n  }\n  if (local_e8 != 0) {\n    FUN_002f1e60();\n  }\nLAB_001e70e8:\n  if (local_c8[0] != acStack_b8) {\n    FUN_002f1e60();\n  }\n  return local_121;\n}" primitive_type (function_declarator "FUN_001e6a30(long *param_1,undefined8 param_2,long param_3,uint param_4,undefined8 param_5,\n                 long param_6,long param_7,ulong param_8,long *param_9)" identifier (parameter_list "(long *param_1,undefined8 param_2,long param_3,uint param_4,undefined8 param_5,\n                 long param_6,long param_7,ulong param_8,long *param_9)" ( (parameter_declaration "long *param_1" (sized_type_specifier "long" long) (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined8 param_2" type_identifier identifier) , (parameter_declaration "long param_3" (sized_type_specifier "long" long) identifier) , (parameter_declaration "uint param_4" type_identifier identifier) , (parameter_declaration "undefined8 param_5" type_identifier identifier) , (parameter_declaration "long param_6" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long param_7" (sized_type_specifier "long" long) identifier) , (parameter_declaration "ulong param_8" type_identifier identifier) , (parameter_declaration "long *param_9" (sized_type_specifier "long" long) (pointer_declarator "*param_9" * identifier)) ))) (compound_statement "{\n  uint uVar1;\n  ulong uVar2;\n  ushort uVar3;\n  uint uVar4;\n  uint *puVar5;\n  undefined8 uVar6;\n  long lVar7;\n  uint *puVar8;\n  size_t sVar9;\n  ulong uVar10;\n  ulong *puVar11;\n  undefined8 extraout_RDX;\n  char *pcVar12;\n  undefined8 extraout_RDX_00;\n  undefined8 extraout_RDX_01;\n  undefined8 extraout_RDX_02;\n  undefined4 *puVar13;\n  char *__s;\n  char cVar14;\n  uint uVar15;\n  undefined1 auVar16 [16];\n  undefined8 uStack_1a0;\n  char local_122;\n  char local_121;\n  ulong local_118;\n  long *local_110;\n  uint local_104;\n  long local_100;\n  ulong local_f8;\n  long local_f0;\n  long local_e8;\n  uint *local_e0;\n  uint *local_d8;\n  char *local_c8 [2];\n  char acStack_b8 [16];\n  undefined1 *local_a8;\n  long local_a0;\n  undefined1 auStack_98 [16];\n  uint local_88 [2];\n  ulong local_80;\n  long local_78;\n  uint local_70;\n  undefined1 local_6c;\n  undefined1 *local_68 [2];\n  undefined1 local_58 [16];\n  uint local_48;\n  ulong local_40;\n  \n  local_100 = (ulong)(param_4 << 6) + param_6;\n  uVar10 = *(ulong *)(local_100 + 0x20);\n  uVar2 = *(ulong *)(local_100 + 0x18);\n  if (param_1[5] == 0) {\nLAB_001e7390:\n                    /* WARNING: Subroutine does not return */\n    FUN_001d17f0();\n  }\n  puVar5 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],\n                                uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 |\n                                (uVar2 & 0xff0000000000) >> 0x18 | (uVar2 & 0xff00000000) >> 8 |\n                                (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n                                (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38,\n                                uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38,1,0);\n  uVar1 = *puVar5;\n  uVar4 = *(uint *)(local_100 + 0x28);\n  uVar4 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n  if (0xfeff < uVar4) {\n    FUN_001dab60(param_1 + 0x1f);\n    uVar4 = uVar4 + (int)param_1[0x22];\n  }\n  uVar6 = FUN_001e0b10(param_1 + 0x1f,uVar4);\n  if (param_1[5] == 0) goto LAB_001e7390;\n  lVar7 = FUN_0018a760(param_1[5] + 0x28,param_1[6],uVar6,0x40,1,1);\n  uVar10 = *(ulong *)(lVar7 + 0x20);\n  uVar4 = *(uint *)(local_100 + 0x2c);\n  uVar4 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n  if ((uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n       (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38) / 0x18 <= (ulong)uVar4) {\n    uVar6 = gettext("section group %u info %u out of range");\n    uVar15 = uVar4;\nLAB_001e6ed5:\n    FUN_001d19e0(param_1,uVar6,param_4,uVar15);\n    return '\0';\n  }\n  uVar10 = *(ulong *)(lVar7 + 0x18);\n  if (param_1[5] == 0) goto LAB_001e7390;\n  puVar8 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],\n                                (ulong)(uVar4 * 0x18) +\n                                (uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38),0x18,1,0);\n  uVar15 = *(uint *)(lVar7 + 0x28);\n  uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n  if (0xfeff < uVar15) {\n    FUN_001dab60(param_1 + 0x1f);\n    uVar15 = uVar15 + (int)param_1[0x22];\n  }\n  if (*(code **)(*param_1 + 0x70) == FUN_001e0d50) {\n    auVar16 = FUN_001e0ca0(param_1 + 0x1f,uVar15);\n    local_f8 = auVar16._8_8_;\n    puVar13 = &DAT_00393c8a;\n    if (local_f8 != 0) {\n      if (param_1[5] == 0) goto LAB_001e7390;\n      puVar13 = (undefined4 *)FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar16._0_8_,local_f8,1,1);\n    }\n  }\n  else {\n    puVar13 = (undefined4 *)(**(code **)(*param_1 + 0x70))(param_1,uVar15,&local_f8,1);\n  }\n  uVar15 = *puVar8;\n  uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n  if (local_f8 <= uVar15) {\n    uVar6 = gettext("symbol %u name offset %u out of range");\n    param_4 = uVar4;\n    goto LAB_001e6ed5;\n  }\n  uStack_1a0 = 0x1e6c17;\n  FUN_001d26c0(local_c8,(long)puVar13 + (ulong)uVar15);\n  uVar6 = extraout_RDX;\n  if ((*local_c8[0] == '\0') && ((puVar8[1] & 0xf) == 3)) {\n    uVar3 = *(ushort *)((long)puVar8 + 6) << 8 | *(ushort *)((long)puVar8 + 6) >> 8;\n    uVar15 = (uint)uVar3;\n    if (uVar15 < 0xff00) {\n      local_68[0] = (undefined1 *)CONCAT71(local_68[0]._1_7_,1);\nLAB_001e6f84:\n      if (uVar15 < *(uint *)(param_1 + 7)) {\n        uVar15 = *(uint *)(param_6 + (ulong)(uVar15 << 6));\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n                    /* try { // try from 001e6fba to 001e6fbe has its CatchHandler @ 001e7432 */\n          uStack_1a0 = 0x1e6fbf;\n          FUN_002f9af0(local_c8,uVar10 + param_7);\n          uVar6 = extraout_RDX_00;\n        }\n        goto LAB_001e6c3f;\n      }\n    }\n    else if (uVar3 == 0xffff) {\n      uStack_1a0 = 0x1e737b;\n      uVar15 = FUN_001d1b60(param_1,uVar4,local_68);\n      uVar6 = extraout_RDX_02;\n      if ((char)local_68[0] != '\0') goto LAB_001e6f84;\n    }\n    else {\n      local_68[0] = (undefined1 *)((ulong)local_68[0]._1_7_ << 8);\n    }\n    uVar6 = gettext("symbol %u invalid section index %u");\n                    /* try { // try from 001e7358 to 001e737a has its CatchHandler @ 001e7432 */\n    FUN_001d19e0(param_1,uVar6,uVar4,uVar15);\nLAB_001e735d:\n    local_121 = '\0';\n    goto LAB_001e70e8;\n  }\nLAB_001e6c3f:\n  local_f0 = 0;\n  if ((uVar1 >> 0x18 & 1) == 0) {\n    uVar10 = *(ulong *)(local_100 + 0x20);\n    local_122 = '\0';\n    local_118 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28\n                | uVar10 << 0x38;\n    uStack_1a0 = uVar6;\nLAB_001e6c9f:\n    local_118 = local_118 >> 2;\n    local_d8 = (uint *)0x0;\n    local_e0 = (uint *)0x0;\n    local_e8 = 0;\n    if (*(long *)(PTR_DAT_0045c708 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001e73a8 to 001e73ac has its CatchHandler @ 001e73c5 */\n      FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n    }\n    cVar14 = *(char *)(*(long *)(PTR_DAT_0045c708 + 0x10) + 0x5051);\n    if (cVar14 != '\0') {\n                    /* try { // try from 001e7314 to 001e7318 has its CatchHandler @ 001e73c5 */\n      FUN_001da300(&local_e8,local_118 - 1,uStack_1a0);\n      local_121 = cVar14;\n      if (1 < local_118) goto LAB_001e6cd9;\n      goto LAB_001e7093;\n    }\n    local_121 = '\x01';\n    if (1 < local_118) goto LAB_001e6cd9;\n  }\n  else {\n                    /* try { // try from 001e71ff to 001e7228 has its CatchHandler @ 001e7432 */\n    local_122 = FUN_001c1720(param_3,local_c8,param_1,param_4,1,1,&local_f0);\n    if (local_122 != '\0') {\n      if (*(long *)(param_3 + 0x378) != 0) {\n        FUN_00197030(*(long *)(param_3 + 0x378),param_1,local_c8[0]);\n        uStack_1a0 = extraout_RDX_01;\n      }\n      uVar10 = *(ulong *)(local_100 + 0x20);\n      local_118 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                  (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                  (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                  (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n      goto LAB_001e6c9f;\n    }\n    local_e8 = 0;\n    local_e0 = (uint *)0x0;\n    local_d8 = (uint *)0x0;\n    uVar10 = *(ulong *)(local_100 + 0x20);\n    local_118 = (uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38) >> 2;\n    if (local_118 < 2) goto LAB_001e735d;\n    local_121 = '\0';\n    local_122 = '\x01';\n    cVar14 = '\0';\nLAB_001e6cd9:\n    local_110 = (long *)0x1;\n    do {\n      uVar15 = puVar5[(long)local_110];\n      uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n      if (uVar15 < 0xff00) {\n        local_104 = uVar15;\n        if (cVar14 != '\0') goto LAB_001e6e26;\nLAB_001e6d30:\n        if (*(uint *)(param_1 + 7) <= local_104) goto LAB_001e6e59;\nLAB_001e6d3a:\n        uVar15 = local_104;\n        if (local_104 < param_4) {\n          uVar6 = gettext("invalid section group %u refers to earlier section %u");\n                    /* try { // try from 001e6fe2 to 001e6fe6 has its CatchHandler @ 001e73c5 */\n          FUN_001d19e0(param_1,uVar6,param_4,uVar15);\n        }\n        puVar8 = (uint *)((ulong)(local_104 << 6) + param_6);\n        uVar15 = *puVar8;\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n          pcVar12 = (char *)0xffffffffffffffff;\n          __s = (char *)(uVar10 + param_7);\n          local_a8 = auStack_98;\n          if (__s != (char *)0x0) {\n            sVar9 = strlen(__s);\n            pcVar12 = __s + sVar9;\n          }\n                    /* try { // try from 001e6d98 to 001e6e77 has its CatchHandler @ 001e73c5 */\n          FUN_00174550(&local_a8,__s,pcVar12);\n          uVar15 = local_104;\n          if (local_121 == '\0') {\n            puVar11 = (ulong *)((ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9);\n            *puVar11 = *puVar11 | 1L << ((byte)local_104 & 0x3f);\n            if ((local_122 != '\0') && ((local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0')))) {\n              uVar10 = *(ulong *)(puVar8 + 8);\n              local_78 = local_f0;\n              local_88[0] = local_104;\n              local_80 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n              local_6c = 1;\n              local_70 = uVar4;\n                    /* try { // try from 001e706e to 001e7072 has its CatchHandler @ 001e73ca */\n              FUN_001e2560(param_1 + 0x36,local_88);\n            }\n          }\n          else if (local_122 != '\0') {\n            uVar10 = *(ulong *)(puVar8 + 8);\n            if (*(char *)(local_f0 + 0xc) == '\0') {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001e73c0 to 001e73c4 has its CatchHandler @ 001e73ca */\n              FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            uVar6 = *(undefined8 *)(local_f0 + 0x10);\n            local_68[0] = local_58;\n                    /* try { // try from 001e7166 to 001e716a has its CatchHandler @ 001e73ca */\n            FUN_0017d640(local_68,local_a8,local_a8 + local_a0);\n            local_48 = uVar15;\n            local_40 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n                    /* try { // try from 001e7189 to 001e718d has its CatchHandler @ 001e7437 */\n            FUN_001d9dc0(uVar6,local_68);\n            if (local_68[0] != local_58) {\n              FUN_002f1e60();\n            }\n          }\n          if (local_a8 != auStack_98) {\n            FUN_002f1e60();\n          }\n        }\n      }\n      else {\n        FUN_001dab60(param_1 + 0x1f);\n        uVar15 = uVar15 + (int)param_1[0x22];\n        local_104 = uVar15;\n        if (cVar14 == '\0') goto LAB_001e6d30;\nLAB_001e6e26:\n        local_104 = uVar15;\n        if (local_e0 == local_d8) {\n                    /* try { // try from 001e71be to 001e71c2 has its CatchHandler @ 001e73c5 */\n          FUN_001a8910(&local_e8,local_e0,&local_104);\n          goto LAB_001e6d30;\n        }\n        *local_e0 = uVar15;\n        local_e0 = local_e0 + 1;\n        if (uVar15 < *(uint *)(param_1 + 7)) goto LAB_001e6d3a;\nLAB_001e6e59:\n        uVar15 = local_104;\n        uVar6 = gettext("section %u in section group %u out of range");\n        FUN_001d19e0(param_1,uVar6,uVar15,param_4);\n      }\n      local_110 = (long *)((long)local_110 + 1);\n    } while (local_110 < local_118);\n    if (cVar14 != '\0') {\nLAB_001e7093:\n      local_110 = &local_e8;\n                    /* try { // try from 001e70ce to 001e70d2 has its CatchHandler @ 001e73c5 */\n      FUN_001caee0(param_3,param_2,param_1,param_4,param_5,local_c8[0],&local_100,\n                   uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                   local_110);\n    }\n  }\n  if (local_e8 != 0) {\n    FUN_002f1e60();\n  }\nLAB_001e70e8:\n  if (local_c8[0] != acStack_b8) {\n    FUN_002f1e60();\n  }\n  return local_121;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "ulong uVar2;" type_identifier identifier ;) (declaration "ushort uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined8 uVar6;" type_identifier identifier ;) (declaration "long lVar7;" (sized_type_specifier "long" long) identifier ;) (declaration "uint *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "size_t sVar9;" primitive_type identifier ;) (declaration "ulong uVar10;" type_identifier identifier ;) (declaration "ulong *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "undefined8 extraout_RDX;" type_identifier identifier ;) (declaration "char *pcVar12;" primitive_type (pointer_declarator "*pcVar12" * identifier) ;) (declaration "undefined8 extraout_RDX_00;" type_identifier identifier ;) (declaration "undefined8 extraout_RDX_01;" type_identifier identifier ;) (declaration "undefined8 extraout_RDX_02;" type_identifier identifier ;) (declaration "undefined4 *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "char *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "char cVar14;" primitive_type identifier ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "undefined1 auVar16 [16];" type_identifier (array_declarator "auVar16 [16]" identifier [ number_literal ]) ;) (declaration "undefined8 uStack_1a0;" type_identifier identifier ;) (declaration "char local_122;" primitive_type identifier ;) (declaration "char local_121;" primitive_type identifier ;) (declaration "ulong local_118;" type_identifier identifier ;) (declaration "long *local_110;" (sized_type_specifier "long" long) (pointer_declarator "*local_110" * identifier) ;) (declaration "uint local_104;" type_identifier identifier ;) (declaration "long local_100;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong local_f8;" type_identifier identifier ;) (declaration "long local_f0;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_e8;" (sized_type_specifier "long" long) identifier ;) (declaration "uint *local_e0;" type_identifier (pointer_declarator "*local_e0" * identifier) ;) (declaration "uint *local_d8;" type_identifier (pointer_declarator "*local_d8" * identifier) ;) (declaration "char *local_c8 [2];" primitive_type (pointer_declarator "*local_c8 [2]" * (array_declarator "local_c8 [2]" identifier [ number_literal ])) ;) (declaration "char acStack_b8 [16];" primitive_type (array_declarator "acStack_b8 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 *local_a8;" type_identifier (pointer_declarator "*local_a8" * identifier) ;) (declaration "long local_a0;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined1 auStack_98 [16];" type_identifier (array_declarator "auStack_98 [16]" identifier [ number_literal ]) ;) (declaration "uint local_88 [2];" type_identifier (array_declarator "local_88 [2]" identifier [ number_literal ]) ;) (declaration "ulong local_80;" type_identifier identifier ;) (declaration "long local_78;" (sized_type_specifier "long" long) identifier ;) (declaration "uint local_70;" type_identifier identifier ;) (declaration "undefined1 local_6c;" type_identifier identifier ;) (declaration "undefined1 *local_68 [2];" type_identifier (pointer_declarator "*local_68 [2]" * (array_declarator "local_68 [2]" identifier [ number_literal ])) ;) (declaration "undefined1 local_58 [16];" type_identifier (array_declarator "local_58 [16]" identifier [ number_literal ]) ;) (declaration "uint local_48;" type_identifier identifier ;) (declaration "ulong local_40;" type_identifier identifier ;) (expression_statement "local_100 = (ulong)(param_4 << 6) + param_6;" (assignment_expression "local_100 = (ulong)(param_4 << 6) + param_6" identifier = (binary_expression "(ulong)(param_4 << 6) + param_6" (call_expression "(ulong)(param_4 << 6)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(param_4 << 6)" ( (binary_expression "param_4 << 6" identifier << number_literal) ))) + identifier)) ;) (expression_statement "uVar10 = *(ulong *)(local_100 + 0x20);" (assignment_expression "uVar10 = *(ulong *)(local_100 + 0x20)" identifier = (pointer_expression "*(ulong *)(local_100 + 0x20)" * (cast_expression "(ulong *)(local_100 + 0x20)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_100 + 0x20)" ( (binary_expression "local_100 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "uVar2 = *(ulong *)(local_100 + 0x18);" (assignment_expression "uVar2 = *(ulong *)(local_100 + 0x18)" identifier = (pointer_expression "*(ulong *)(local_100 + 0x18)" * (cast_expression "(ulong *)(local_100 + 0x18)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_100 + 0x18)" ( (binary_expression "local_100 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (param_1[5] == 0) {\nLAB_001e7390:\n                    /* WARNING: Subroutine does not return */\n    FUN_001d17f0();\n  }" if (parenthesized_expression "(param_1[5] == 0)" ( (binary_expression "param_1[5] == 0" (subscript_expression "param_1[5]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\nLAB_001e7390:\n                    /* WARNING: Subroutine does not return */\n    FUN_001d17f0();\n  }" { (labeled_statement "LAB_001e7390:\n                    /* WARNING: Subroutine does not return */\n    FUN_001d17f0();" statement_identifier : comment (expression_statement "FUN_001d17f0();" (call_expression "FUN_001d17f0()" identifier (argument_list "()" ( ))) ;)) })) (expression_statement "puVar5 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],\n                                uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 |\n                                (uVar2 & 0xff0000000000) >> 0x18 | (uVar2 & 0xff00000000) >> 8 |\n                                (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n                                (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38,\n                                uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38,1,0);" (assignment_expression "puVar5 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],\n                                uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 |\n                                (uVar2 & 0xff0000000000) >> 0x18 | (uVar2 & 0xff00000000) >> 8 |\n                                (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n                                (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38,\n                                uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38,1,0)" identifier = (cast_expression "(uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],\n                                uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 |\n                                (uVar2 & 0xff0000000000) >> 0x18 | (uVar2 & 0xff00000000) >> 8 |\n                                (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n                                (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38,\n                                uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38,1,0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0018a760(param_1[5] + 0x28,param_1[6],\n                                uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 |\n                                (uVar2 & 0xff0000000000) >> 0x18 | (uVar2 & 0xff00000000) >> 8 |\n                                (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n                                (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38,\n                                uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38,1,0)" identifier (argument_list "(param_1[5] + 0x28,param_1[6],\n                                uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 |\n                                (uVar2 & 0xff0000000000) >> 0x18 | (uVar2 & 0xff00000000) >> 8 |\n                                (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n                                (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38,\n                                uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38,1,0)" ( (binary_expression "param_1[5] + 0x28" (subscript_expression "param_1[5]" identifier [ number_literal ]) + number_literal) , (subscript_expression "param_1[6]" identifier [ number_literal ]) , (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 |\n                                (uVar2 & 0xff0000000000) >> 0x18 | (uVar2 & 0xff00000000) >> 8 |\n                                (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n                                (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 |\n                                (uVar2 & 0xff0000000000) >> 0x18 | (uVar2 & 0xff00000000) >> 8 |\n                                (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n                                (uVar2 & 0xff00) << 0x28" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 |\n                                (uVar2 & 0xff0000000000) >> 0x18 | (uVar2 & 0xff00000000) >> 8 |\n                                (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 |\n                                (uVar2 & 0xff0000000000) >> 0x18 | (uVar2 & 0xff00000000) >> 8 |\n                                (uVar2 & 0xff000000) << 8" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 |\n                                (uVar2 & 0xff0000000000) >> 0x18 | (uVar2 & 0xff00000000) >> 8" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 |\n                                (uVar2 & 0xff0000000000) >> 0x18" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28" (binary_expression "uVar2 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar2 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar2 & 0xff000000000000)" ( (binary_expression "uVar2 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar2 & 0xff0000000000)" ( (binary_expression "uVar2 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff00000000) >> 8" (parenthesized_expression "(uVar2 & 0xff00000000)" ( (binary_expression "uVar2 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff000000) << 8" (parenthesized_expression "(uVar2 & 0xff000000)" ( (binary_expression "uVar2 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar2 & 0xff0000) << 0x18" (parenthesized_expression "(uVar2 & 0xff0000)" ( (binary_expression "uVar2 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar2 & 0xff00) << 0x28" (parenthesized_expression "(uVar2 & 0xff00)" ( (binary_expression "uVar2 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar2 << 0x38" identifier << number_literal)) , (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                (uVar10 & 0xff00) << 0x28" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                (uVar10 & 0xff000000) << 8" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                (uVar10 & 0xff0000000000) >> 0x18" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28" (binary_expression "uVar10 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar10 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar10 & 0xff000000000000)" ( (binary_expression "uVar10 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar10 & 0xff0000000000)" ( (binary_expression "uVar10 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff00000000) >> 8" (parenthesized_expression "(uVar10 & 0xff00000000)" ( (binary_expression "uVar10 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff000000) << 8" (parenthesized_expression "(uVar10 & 0xff000000)" ( (binary_expression "uVar10 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar10 & 0xff0000) << 0x18" (parenthesized_expression "(uVar10 & 0xff0000)" ( (binary_expression "uVar10 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar10 & 0xff00) << 0x28" (parenthesized_expression "(uVar10 & 0xff00)" ( (binary_expression "uVar10 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar10 << 0x38" identifier << number_literal)) , number_literal , number_literal ))))) ;) (expression_statement "uVar1 = *puVar5;" (assignment_expression "uVar1 = *puVar5" identifier = (pointer_expression "*puVar5" * identifier)) ;) (expression_statement "uVar4 = *(uint *)(local_100 + 0x28);" (assignment_expression "uVar4 = *(uint *)(local_100 + 0x28)" identifier = (pointer_expression "*(uint *)(local_100 + 0x28)" * (cast_expression "(uint *)(local_100 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_100 + 0x28)" ( (binary_expression "local_100 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "uVar4 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;" (assignment_expression "uVar4 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18" identifier = (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18" (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8" (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8" (binary_expression "uVar4 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar4 & 0xff0000) >> 8" (parenthesized_expression "(uVar4 & 0xff0000)" ( (binary_expression "uVar4 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar4 & 0xff00) << 8" (parenthesized_expression "(uVar4 & 0xff00)" ( (binary_expression "uVar4 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar4 << 0x18" identifier << number_literal))) ;) (if_statement "if (0xfeff < uVar4) {\n    FUN_001dab60(param_1 + 0x1f);\n    uVar4 = uVar4 + (int)param_1[0x22];\n  }" if (parenthesized_expression "(0xfeff < uVar4)" ( (binary_expression "0xfeff < uVar4" number_literal < identifier) )) (compound_statement "{\n    FUN_001dab60(param_1 + 0x1f);\n    uVar4 = uVar4 + (int)param_1[0x22];\n  }" { (expression_statement "FUN_001dab60(param_1 + 0x1f);" (call_expression "FUN_001dab60(param_1 + 0x1f)" identifier (argument_list "(param_1 + 0x1f)" ( (binary_expression "param_1 + 0x1f" identifier + number_literal) ))) ;) (expression_statement "uVar4 = uVar4 + (int)param_1[0x22];" (assignment_expression "uVar4 = uVar4 + (int)param_1[0x22]" identifier = (binary_expression "uVar4 + (int)param_1[0x22]" identifier + (cast_expression "(int)param_1[0x22]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_1[0x22]" identifier [ number_literal ])))) ;) })) (expression_statement "uVar6 = FUN_001e0b10(param_1 + 0x1f,uVar4);" (assignment_expression "uVar6 = FUN_001e0b10(param_1 + 0x1f,uVar4)" identifier = (call_expression "FUN_001e0b10(param_1 + 0x1f,uVar4)" identifier (argument_list "(param_1 + 0x1f,uVar4)" ( (binary_expression "param_1 + 0x1f" identifier + number_literal) , identifier )))) ;) (if_statement "if (param_1[5] == 0) goto LAB_001e7390;" if (parenthesized_expression "(param_1[5] == 0)" ( (binary_expression "param_1[5] == 0" (subscript_expression "param_1[5]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_001e7390;" goto statement_identifier ;)) (expression_statement "lVar7 = FUN_0018a760(param_1[5] + 0x28,param_1[6],uVar6,0x40,1,1);" (assignment_expression "lVar7 = FUN_0018a760(param_1[5] + 0x28,param_1[6],uVar6,0x40,1,1)" identifier = (call_expression "FUN_0018a760(param_1[5] + 0x28,param_1[6],uVar6,0x40,1,1)" identifier (argument_list "(param_1[5] + 0x28,param_1[6],uVar6,0x40,1,1)" ( (binary_expression "param_1[5] + 0x28" (subscript_expression "param_1[5]" identifier [ number_literal ]) + number_literal) , (subscript_expression "param_1[6]" identifier [ number_literal ]) , identifier , number_literal , number_literal , number_literal )))) ;) (expression_statement "uVar10 = *(ulong *)(lVar7 + 0x20);" (assignment_expression "uVar10 = *(ulong *)(lVar7 + 0x20)" identifier = (pointer_expression "*(ulong *)(lVar7 + 0x20)" * (cast_expression "(ulong *)(lVar7 + 0x20)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar7 + 0x20)" ( (binary_expression "lVar7 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "uVar4 = *(uint *)(local_100 + 0x2c);" (assignment_expression "uVar4 = *(uint *)(local_100 + 0x2c)" identifier = (pointer_expression "*(uint *)(local_100 + 0x2c)" * (cast_expression "(uint *)(local_100 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_100 + 0x2c)" ( (binary_expression "local_100 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "uVar4 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;" (assignment_expression "uVar4 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18" identifier = (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18" (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8" (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8" (binary_expression "uVar4 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar4 & 0xff0000) >> 8" (parenthesized_expression "(uVar4 & 0xff0000)" ( (binary_expression "uVar4 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar4 & 0xff00) << 8" (parenthesized_expression "(uVar4 & 0xff00)" ( (binary_expression "uVar4 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar4 << 0x18" identifier << number_literal))) ;) (if_statement "if ((uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n       (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38) / 0x18 <= (ulong)uVar4) {\n    uVar6 = gettext("section group %u info %u out of range");\n    uVar15 = uVar4;\nLAB_001e6ed5:\n    FUN_001d19e0(param_1,uVar6,param_4,uVar15);\n    return '\0';\n  }" if (parenthesized_expression "((uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n       (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38) / 0x18 <= (ulong)uVar4)" ( (binary_expression "(uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n       (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38) / 0x18 <= (ulong)uVar4" (binary_expression "(uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n       (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38) / 0x18" (parenthesized_expression "(uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n       (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38)" ( (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n       (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n       (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n       (uVar10 & 0xff00) << 0x28" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n       (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n       (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n       (uVar10 & 0xff00000000) >> 8" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28" (binary_expression "uVar10 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar10 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar10 & 0xff000000000000)" ( (binary_expression "uVar10 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar10 & 0xff0000000000)" ( (binary_expression "uVar10 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff00000000) >> 8" (parenthesized_expression "(uVar10 & 0xff00000000)" ( (binary_expression "uVar10 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff000000) << 8" (parenthesized_expression "(uVar10 & 0xff000000)" ( (binary_expression "uVar10 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar10 & 0xff0000) << 0x18" (parenthesized_expression "(uVar10 & 0xff0000)" ( (binary_expression "uVar10 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar10 & 0xff00) << 0x28" (parenthesized_expression "(uVar10 & 0xff00)" ( (binary_expression "uVar10 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar10 << 0x38" identifier << number_literal)) )) / number_literal) <= (cast_expression "(ulong)uVar4" ( (type_descriptor "ulong" type_identifier) ) identifier)) )) (compound_statement "{\n    uVar6 = gettext("section group %u info %u out of range");\n    uVar15 = uVar4;\nLAB_001e6ed5:\n    FUN_001d19e0(param_1,uVar6,param_4,uVar15);\n    return '\0';\n  }" { (expression_statement "uVar6 = gettext("section group %u info %u out of range");" (assignment_expression "uVar6 = gettext("section group %u info %u out of range")" identifier = (call_expression "gettext("section group %u info %u out of range")" identifier (argument_list "("section group %u info %u out of range")" ( (string_literal ""section group %u info %u out of range"" " string_content ") )))) ;) (expression_statement "uVar15 = uVar4;" (assignment_expression "uVar15 = uVar4" identifier = identifier) ;) (labeled_statement "LAB_001e6ed5:\n    FUN_001d19e0(param_1,uVar6,param_4,uVar15);" statement_identifier : (expression_statement "FUN_001d19e0(param_1,uVar6,param_4,uVar15);" (call_expression "FUN_001d19e0(param_1,uVar6,param_4,uVar15)" identifier (argument_list "(param_1,uVar6,param_4,uVar15)" ( identifier , identifier , identifier , identifier ))) ;)) (return_statement "return '\0';" return (char_literal "'\0'" ' escape_sequence ') ;) })) (expression_statement "uVar10 = *(ulong *)(lVar7 + 0x18);" (assignment_expression "uVar10 = *(ulong *)(lVar7 + 0x18)" identifier = (pointer_expression "*(ulong *)(lVar7 + 0x18)" * (cast_expression "(ulong *)(lVar7 + 0x18)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar7 + 0x18)" ( (binary_expression "lVar7 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (param_1[5] == 0) goto LAB_001e7390;" if (parenthesized_expression "(param_1[5] == 0)" ( (binary_expression "param_1[5] == 0" (subscript_expression "param_1[5]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_001e7390;" goto statement_identifier ;)) (expression_statement "puVar8 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],\n                                (ulong)(uVar4 * 0x18) +\n                                (uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38),0x18,1,0);" (assignment_expression "puVar8 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],\n                                (ulong)(uVar4 * 0x18) +\n                                (uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38),0x18,1,0)" identifier = (cast_expression "(uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],\n                                (ulong)(uVar4 * 0x18) +\n                                (uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38),0x18,1,0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0018a760(param_1[5] + 0x28,param_1[6],\n                                (ulong)(uVar4 * 0x18) +\n                                (uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38),0x18,1,0)" identifier (argument_list "(param_1[5] + 0x28,param_1[6],\n                                (ulong)(uVar4 * 0x18) +\n                                (uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38),0x18,1,0)" ( (binary_expression "param_1[5] + 0x28" (subscript_expression "param_1[5]" identifier [ number_literal ]) + number_literal) , (subscript_expression "param_1[6]" identifier [ number_literal ]) , (binary_expression "(ulong)(uVar4 * 0x18) +\n                                (uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38)" (call_expression "(ulong)(uVar4 * 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar4 * 0x18)" ( (binary_expression "uVar4 * 0x18" identifier * number_literal) ))) + (parenthesized_expression "(uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38)" ( (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                 (uVar10 & 0xff00) << 0x28" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                 (uVar10 & 0xff000000) << 8" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                 (uVar10 & 0xff0000000000) >> 0x18" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28" (binary_expression "uVar10 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar10 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar10 & 0xff000000000000)" ( (binary_expression "uVar10 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar10 & 0xff0000000000)" ( (binary_expression "uVar10 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff00000000) >> 8" (parenthesized_expression "(uVar10 & 0xff00000000)" ( (binary_expression "uVar10 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff000000) << 8" (parenthesized_expression "(uVar10 & 0xff000000)" ( (binary_expression "uVar10 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar10 & 0xff0000) << 0x18" (parenthesized_expression "(uVar10 & 0xff0000)" ( (binary_expression "uVar10 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar10 & 0xff00) << 0x28" (parenthesized_expression "(uVar10 & 0xff00)" ( (binary_expression "uVar10 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar10 << 0x38" identifier << number_literal)) ))) , number_literal , number_literal , number_literal ))))) ;) (expression_statement "uVar15 = *(uint *)(lVar7 + 0x28);" (assignment_expression "uVar15 = *(uint *)(lVar7 + 0x28)" identifier = (pointer_expression "*(uint *)(lVar7 + 0x28)" * (cast_expression "(uint *)(lVar7 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar7 + 0x28)" ( (binary_expression "lVar7 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;" (assignment_expression "uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18" identifier = (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18" (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8" (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8" (binary_expression "uVar15 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar15 & 0xff0000) >> 8" (parenthesized_expression "(uVar15 & 0xff0000)" ( (binary_expression "uVar15 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar15 & 0xff00) << 8" (parenthesized_expression "(uVar15 & 0xff00)" ( (binary_expression "uVar15 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar15 << 0x18" identifier << number_literal))) ;) (if_statement "if (0xfeff < uVar15) {\n    FUN_001dab60(param_1 + 0x1f);\n    uVar15 = uVar15 + (int)param_1[0x22];\n  }" if (parenthesized_expression "(0xfeff < uVar15)" ( (binary_expression "0xfeff < uVar15" number_literal < identifier) )) (compound_statement "{\n    FUN_001dab60(param_1 + 0x1f);\n    uVar15 = uVar15 + (int)param_1[0x22];\n  }" { (expression_statement "FUN_001dab60(param_1 + 0x1f);" (call_expression "FUN_001dab60(param_1 + 0x1f)" identifier (argument_list "(param_1 + 0x1f)" ( (binary_expression "param_1 + 0x1f" identifier + number_literal) ))) ;) (expression_statement "uVar15 = uVar15 + (int)param_1[0x22];" (assignment_expression "uVar15 = uVar15 + (int)param_1[0x22]" identifier = (binary_expression "uVar15 + (int)param_1[0x22]" identifier + (cast_expression "(int)param_1[0x22]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_1[0x22]" identifier [ number_literal ])))) ;) })) (if_statement "if (*(code **)(*param_1 + 0x70) == FUN_001e0d50) {\n    auVar16 = FUN_001e0ca0(param_1 + 0x1f,uVar15);\n    local_f8 = auVar16._8_8_;\n    puVar13 = &DAT_00393c8a;\n    if (local_f8 != 0) {\n      if (param_1[5] == 0) goto LAB_001e7390;\n      puVar13 = (undefined4 *)FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar16._0_8_,local_f8,1,1);\n    }\n  }\n  else {\n    puVar13 = (undefined4 *)(**(code **)(*param_1 + 0x70))(param_1,uVar15,&local_f8,1);\n  }" if (parenthesized_expression "(*(code **)(*param_1 + 0x70) == FUN_001e0d50)" ( (binary_expression "*(code **)(*param_1 + 0x70) == FUN_001e0d50" (pointer_expression "*(code **)(*param_1 + 0x70)" * (cast_expression "(code **)(*param_1 + 0x70)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x70)" ( (binary_expression "*param_1 + 0x70" (pointer_expression "*param_1" * identifier) + number_literal) )))) == identifier) )) (compound_statement "{\n    auVar16 = FUN_001e0ca0(param_1 + 0x1f,uVar15);\n    local_f8 = auVar16._8_8_;\n    puVar13 = &DAT_00393c8a;\n    if (local_f8 != 0) {\n      if (param_1[5] == 0) goto LAB_001e7390;\n      puVar13 = (undefined4 *)FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar16._0_8_,local_f8,1,1);\n    }\n  }" { (expression_statement "auVar16 = FUN_001e0ca0(param_1 + 0x1f,uVar15);" (assignment_expression "auVar16 = FUN_001e0ca0(param_1 + 0x1f,uVar15)" identifier = (call_expression "FUN_001e0ca0(param_1 + 0x1f,uVar15)" identifier (argument_list "(param_1 + 0x1f,uVar15)" ( (binary_expression "param_1 + 0x1f" identifier + number_literal) , identifier )))) ;) (expression_statement "local_f8 = auVar16._8_8_;" (assignment_expression "local_f8 = auVar16._8_8_" identifier = (field_expression "auVar16._8_8_" identifier . field_identifier)) ;) (expression_statement "puVar13 = &DAT_00393c8a;" (assignment_expression "puVar13 = &DAT_00393c8a" identifier = (pointer_expression "&DAT_00393c8a" & identifier)) ;) (if_statement "if (local_f8 != 0) {\n      if (param_1[5] == 0) goto LAB_001e7390;\n      puVar13 = (undefined4 *)FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar16._0_8_,local_f8,1,1);\n    }" if (parenthesized_expression "(local_f8 != 0)" ( (binary_expression "local_f8 != 0" identifier != number_literal) )) (compound_statement "{\n      if (param_1[5] == 0) goto LAB_001e7390;\n      puVar13 = (undefined4 *)FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar16._0_8_,local_f8,1,1);\n    }" { (if_statement "if (param_1[5] == 0) goto LAB_001e7390;" if (parenthesized_expression "(param_1[5] == 0)" ( (binary_expression "param_1[5] == 0" (subscript_expression "param_1[5]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_001e7390;" goto statement_identifier ;)) (expression_statement "puVar13 = (undefined4 *)FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar16._0_8_,local_f8,1,1);" (assignment_expression "puVar13 = (undefined4 *)FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar16._0_8_,local_f8,1,1)" identifier = (cast_expression "(undefined4 *)FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar16._0_8_,local_f8,1,1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar16._0_8_,local_f8,1,1)" identifier (argument_list "(param_1[5] + 0x28,param_1[6],auVar16._0_8_,local_f8,1,1)" ( (binary_expression "param_1[5] + 0x28" (subscript_expression "param_1[5]" identifier [ number_literal ]) + number_literal) , (subscript_expression "param_1[6]" identifier [ number_literal ]) , (field_expression "auVar16._0_8_" identifier . field_identifier) , identifier , number_literal , number_literal ))))) ;) })) }) (else_clause "else {\n    puVar13 = (undefined4 *)(**(code **)(*param_1 + 0x70))(param_1,uVar15,&local_f8,1);\n  }" else (compound_statement "{\n    puVar13 = (undefined4 *)(**(code **)(*param_1 + 0x70))(param_1,uVar15,&local_f8,1);\n  }" { (expression_statement "puVar13 = (undefined4 *)(**(code **)(*param_1 + 0x70))(param_1,uVar15,&local_f8,1);" (assignment_expression "puVar13 = (undefined4 *)(**(code **)(*param_1 + 0x70))(param_1,uVar15,&local_f8,1)" identifier = (cast_expression "(undefined4 *)(**(code **)(*param_1 + 0x70))(param_1,uVar15,&local_f8,1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*param_1 + 0x70))(param_1,uVar15,&local_f8,1)" (parenthesized_expression "(**(code **)(*param_1 + 0x70))" ( (pointer_expression "**(code **)(*param_1 + 0x70)" * (pointer_expression "*(code **)(*param_1 + 0x70)" * (cast_expression "(code **)(*param_1 + 0x70)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x70)" ( (binary_expression "*param_1 + 0x70" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )) (argument_list "(param_1,uVar15,&local_f8,1)" ( identifier , identifier , (pointer_expression "&local_f8" & identifier) , number_literal ))))) ;) }))) (expression_statement "uVar15 = *puVar8;" (assignment_expression "uVar15 = *puVar8" identifier = (pointer_expression "*puVar8" * identifier)) ;) (expression_statement "uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;" (assignment_expression "uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18" identifier = (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18" (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8" (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8" (binary_expression "uVar15 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar15 & 0xff0000) >> 8" (parenthesized_expression "(uVar15 & 0xff0000)" ( (binary_expression "uVar15 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar15 & 0xff00) << 8" (parenthesized_expression "(uVar15 & 0xff00)" ( (binary_expression "uVar15 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar15 << 0x18" identifier << number_literal))) ;) (if_statement "if (local_f8 <= uVar15) {\n    uVar6 = gettext("symbol %u name offset %u out of range");\n    param_4 = uVar4;\n    goto LAB_001e6ed5;\n  }" if (parenthesized_expression "(local_f8 <= uVar15)" ( (binary_expression "local_f8 <= uVar15" identifier <= identifier) )) (compound_statement "{\n    uVar6 = gettext("symbol %u name offset %u out of range");\n    param_4 = uVar4;\n    goto LAB_001e6ed5;\n  }" { (expression_statement "uVar6 = gettext("symbol %u name offset %u out of range");" (assignment_expression "uVar6 = gettext("symbol %u name offset %u out of range")" identifier = (call_expression "gettext("symbol %u name offset %u out of range")" identifier (argument_list "("symbol %u name offset %u out of range")" ( (string_literal ""symbol %u name offset %u out of range"" " string_content ") )))) ;) (expression_statement "param_4 = uVar4;" (assignment_expression "param_4 = uVar4" identifier = identifier) ;) (goto_statement "goto LAB_001e6ed5;" goto statement_identifier ;) })) (expression_statement "uStack_1a0 = 0x1e6c17;" (assignment_expression "uStack_1a0 = 0x1e6c17" identifier = number_literal) ;) (expression_statement "FUN_001d26c0(local_c8,(long)puVar13 + (ulong)uVar15);" (call_expression "FUN_001d26c0(local_c8,(long)puVar13 + (ulong)uVar15)" identifier (argument_list "(local_c8,(long)puVar13 + (ulong)uVar15)" ( identifier , (binary_expression "(long)puVar13 + (ulong)uVar15" (cast_expression "(long)puVar13" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (cast_expression "(ulong)uVar15" ( (type_descriptor "ulong" type_identifier) ) identifier)) ))) ;) (expression_statement "uVar6 = extraout_RDX;" (assignment_expression "uVar6 = extraout_RDX" identifier = identifier) ;) (if_statement "if ((*local_c8[0] == '\0') && ((puVar8[1] & 0xf) == 3)) {\n    uVar3 = *(ushort *)((long)puVar8 + 6) << 8 | *(ushort *)((long)puVar8 + 6) >> 8;\n    uVar15 = (uint)uVar3;\n    if (uVar15 < 0xff00) {\n      local_68[0] = (undefined1 *)CONCAT71(local_68[0]._1_7_,1);\nLAB_001e6f84:\n      if (uVar15 < *(uint *)(param_1 + 7)) {\n        uVar15 = *(uint *)(param_6 + (ulong)(uVar15 << 6));\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n                    /* try { // try from 001e6fba to 001e6fbe has its CatchHandler @ 001e7432 */\n          uStack_1a0 = 0x1e6fbf;\n          FUN_002f9af0(local_c8,uVar10 + param_7);\n          uVar6 = extraout_RDX_00;\n        }\n        goto LAB_001e6c3f;\n      }\n    }\n    else if (uVar3 == 0xffff) {\n      uStack_1a0 = 0x1e737b;\n      uVar15 = FUN_001d1b60(param_1,uVar4,local_68);\n      uVar6 = extraout_RDX_02;\n      if ((char)local_68[0] != '\0') goto LAB_001e6f84;\n    }\n    else {\n      local_68[0] = (undefined1 *)((ulong)local_68[0]._1_7_ << 8);\n    }\n    uVar6 = gettext("symbol %u invalid section index %u");\n                    /* try { // try from 001e7358 to 001e737a has its CatchHandler @ 001e7432 */\n    FUN_001d19e0(param_1,uVar6,uVar4,uVar15);\nLAB_001e735d:\n    local_121 = '\0';\n    goto LAB_001e70e8;\n  }" if (parenthesized_expression "((*local_c8[0] == '\0') && ((puVar8[1] & 0xf) == 3))" ( (binary_expression "(*local_c8[0] == '\0') && ((puVar8[1] & 0xf) == 3)" (parenthesized_expression "(*local_c8[0] == '\0')" ( (binary_expression "*local_c8[0] == '\0'" (pointer_expression "*local_c8[0]" * (subscript_expression "local_c8[0]" identifier [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "((puVar8[1] & 0xf) == 3)" ( (binary_expression "(puVar8[1] & 0xf) == 3" (parenthesized_expression "(puVar8[1] & 0xf)" ( (binary_expression "puVar8[1] & 0xf" (subscript_expression "puVar8[1]" identifier [ number_literal ]) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n    uVar3 = *(ushort *)((long)puVar8 + 6) << 8 | *(ushort *)((long)puVar8 + 6) >> 8;\n    uVar15 = (uint)uVar3;\n    if (uVar15 < 0xff00) {\n      local_68[0] = (undefined1 *)CONCAT71(local_68[0]._1_7_,1);\nLAB_001e6f84:\n      if (uVar15 < *(uint *)(param_1 + 7)) {\n        uVar15 = *(uint *)(param_6 + (ulong)(uVar15 << 6));\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n                    /* try { // try from 001e6fba to 001e6fbe has its CatchHandler @ 001e7432 */\n          uStack_1a0 = 0x1e6fbf;\n          FUN_002f9af0(local_c8,uVar10 + param_7);\n          uVar6 = extraout_RDX_00;\n        }\n        goto LAB_001e6c3f;\n      }\n    }\n    else if (uVar3 == 0xffff) {\n      uStack_1a0 = 0x1e737b;\n      uVar15 = FUN_001d1b60(param_1,uVar4,local_68);\n      uVar6 = extraout_RDX_02;\n      if ((char)local_68[0] != '\0') goto LAB_001e6f84;\n    }\n    else {\n      local_68[0] = (undefined1 *)((ulong)local_68[0]._1_7_ << 8);\n    }\n    uVar6 = gettext("symbol %u invalid section index %u");\n                    /* try { // try from 001e7358 to 001e737a has its CatchHandler @ 001e7432 */\n    FUN_001d19e0(param_1,uVar6,uVar4,uVar15);\nLAB_001e735d:\n    local_121 = '\0';\n    goto LAB_001e70e8;\n  }" { (expression_statement "uVar3 = *(ushort *)((long)puVar8 + 6) << 8 | *(ushort *)((long)puVar8 + 6) >> 8;" (assignment_expression "uVar3 = *(ushort *)((long)puVar8 + 6) << 8 | *(ushort *)((long)puVar8 + 6) >> 8" identifier = (binary_expression "*(ushort *)((long)puVar8 + 6) << 8 | *(ushort *)((long)puVar8 + 6) >> 8" (binary_expression "*(ushort *)((long)puVar8 + 6) << 8" (pointer_expression "*(ushort *)((long)puVar8 + 6)" * (cast_expression "(ushort *)((long)puVar8 + 6)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar8 + 6)" ( (binary_expression "(long)puVar8 + 6" (cast_expression "(long)puVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) << number_literal) | (binary_expression "*(ushort *)((long)puVar8 + 6) >> 8" (pointer_expression "*(ushort *)((long)puVar8 + 6)" * (cast_expression "(ushort *)((long)puVar8 + 6)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar8 + 6)" ( (binary_expression "(long)puVar8 + 6" (cast_expression "(long)puVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) >> number_literal))) ;) (expression_statement "uVar15 = (uint)uVar3;" (assignment_expression "uVar15 = (uint)uVar3" identifier = (cast_expression "(uint)uVar3" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (uVar15 < 0xff00) {\n      local_68[0] = (undefined1 *)CONCAT71(local_68[0]._1_7_,1);\nLAB_001e6f84:\n      if (uVar15 < *(uint *)(param_1 + 7)) {\n        uVar15 = *(uint *)(param_6 + (ulong)(uVar15 << 6));\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n                    /* try { // try from 001e6fba to 001e6fbe has its CatchHandler @ 001e7432 */\n          uStack_1a0 = 0x1e6fbf;\n          FUN_002f9af0(local_c8,uVar10 + param_7);\n          uVar6 = extraout_RDX_00;\n        }\n        goto LAB_001e6c3f;\n      }\n    }\n    else if (uVar3 == 0xffff) {\n      uStack_1a0 = 0x1e737b;\n      uVar15 = FUN_001d1b60(param_1,uVar4,local_68);\n      uVar6 = extraout_RDX_02;\n      if ((char)local_68[0] != '\0') goto LAB_001e6f84;\n    }\n    else {\n      local_68[0] = (undefined1 *)((ulong)local_68[0]._1_7_ << 8);\n    }" if (parenthesized_expression "(uVar15 < 0xff00)" ( (binary_expression "uVar15 < 0xff00" identifier < number_literal) )) (compound_statement "{\n      local_68[0] = (undefined1 *)CONCAT71(local_68[0]._1_7_,1);\nLAB_001e6f84:\n      if (uVar15 < *(uint *)(param_1 + 7)) {\n        uVar15 = *(uint *)(param_6 + (ulong)(uVar15 << 6));\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n                    /* try { // try from 001e6fba to 001e6fbe has its CatchHandler @ 001e7432 */\n          uStack_1a0 = 0x1e6fbf;\n          FUN_002f9af0(local_c8,uVar10 + param_7);\n          uVar6 = extraout_RDX_00;\n        }\n        goto LAB_001e6c3f;\n      }\n    }" { (expression_statement "local_68[0] = (undefined1 *)CONCAT71(local_68[0]._1_7_,1);" (assignment_expression "local_68[0] = (undefined1 *)CONCAT71(local_68[0]._1_7_,1)" (subscript_expression "local_68[0]" identifier [ number_literal ]) = (cast_expression "(undefined1 *)CONCAT71(local_68[0]._1_7_,1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT71(local_68[0]._1_7_,1)" identifier (argument_list "(local_68[0]._1_7_,1)" ( (field_expression "local_68[0]._1_7_" (subscript_expression "local_68[0]" identifier [ number_literal ]) . field_identifier) , number_literal ))))) ;) (labeled_statement "LAB_001e6f84:\n      if (uVar15 < *(uint *)(param_1 + 7)) {\n        uVar15 = *(uint *)(param_6 + (ulong)(uVar15 << 6));\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n                    /* try { // try from 001e6fba to 001e6fbe has its CatchHandler @ 001e7432 */\n          uStack_1a0 = 0x1e6fbf;\n          FUN_002f9af0(local_c8,uVar10 + param_7);\n          uVar6 = extraout_RDX_00;\n        }\n        goto LAB_001e6c3f;\n      }" statement_identifier : (if_statement "if (uVar15 < *(uint *)(param_1 + 7)) {\n        uVar15 = *(uint *)(param_6 + (ulong)(uVar15 << 6));\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n                    /* try { // try from 001e6fba to 001e6fbe has its CatchHandler @ 001e7432 */\n          uStack_1a0 = 0x1e6fbf;\n          FUN_002f9af0(local_c8,uVar10 + param_7);\n          uVar6 = extraout_RDX_00;\n        }\n        goto LAB_001e6c3f;\n      }" if (parenthesized_expression "(uVar15 < *(uint *)(param_1 + 7))" ( (binary_expression "uVar15 < *(uint *)(param_1 + 7)" identifier < (pointer_expression "*(uint *)(param_1 + 7)" * (cast_expression "(uint *)(param_1 + 7)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 7)" ( (binary_expression "param_1 + 7" identifier + number_literal) ))))) )) (compound_statement "{\n        uVar15 = *(uint *)(param_6 + (ulong)(uVar15 << 6));\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n                    /* try { // try from 001e6fba to 001e6fbe has its CatchHandler @ 001e7432 */\n          uStack_1a0 = 0x1e6fbf;\n          FUN_002f9af0(local_c8,uVar10 + param_7);\n          uVar6 = extraout_RDX_00;\n        }\n        goto LAB_001e6c3f;\n      }" { (expression_statement "uVar15 = *(uint *)(param_6 + (ulong)(uVar15 << 6));" (assignment_expression "uVar15 = *(uint *)(param_6 + (ulong)(uVar15 << 6))" identifier = (pointer_expression "*(uint *)(param_6 + (ulong)(uVar15 << 6))" * (cast_expression "(uint *)(param_6 + (ulong)(uVar15 << 6))" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + (ulong)(uVar15 << 6))" ( (binary_expression "param_6 + (ulong)(uVar15 << 6)" identifier + (call_expression "(ulong)(uVar15 << 6)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar15 << 6)" ( (binary_expression "uVar15 << 6" identifier << number_literal) )))) ))))) ;) (expression_statement "uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);" (assignment_expression "uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18)" identifier = (call_expression "(ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18)" ( (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18" (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8" (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8" (binary_expression "uVar15 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar15 & 0xff0000) >> 8" (parenthesized_expression "(uVar15 & 0xff0000)" ( (binary_expression "uVar15 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar15 & 0xff00) << 8" (parenthesized_expression "(uVar15 & 0xff00)" ( (binary_expression "uVar15 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar15 << 0x18" identifier << number_literal)) )))) ;) (if_statement "if (uVar10 < param_8) {\n                    /* try { // try from 001e6fba to 001e6fbe has its CatchHandler @ 001e7432 */\n          uStack_1a0 = 0x1e6fbf;\n          FUN_002f9af0(local_c8,uVar10 + param_7);\n          uVar6 = extraout_RDX_00;\n        }" if (parenthesized_expression "(uVar10 < param_8)" ( (binary_expression "uVar10 < param_8" identifier < identifier) )) (compound_statement "{\n                    /* try { // try from 001e6fba to 001e6fbe has its CatchHandler @ 001e7432 */\n          uStack_1a0 = 0x1e6fbf;\n          FUN_002f9af0(local_c8,uVar10 + param_7);\n          uVar6 = extraout_RDX_00;\n        }" { comment (expression_statement "uStack_1a0 = 0x1e6fbf;" (assignment_expression "uStack_1a0 = 0x1e6fbf" identifier = number_literal) ;) (expression_statement "FUN_002f9af0(local_c8,uVar10 + param_7);" (call_expression "FUN_002f9af0(local_c8,uVar10 + param_7)" identifier (argument_list "(local_c8,uVar10 + param_7)" ( identifier , (binary_expression "uVar10 + param_7" identifier + identifier) ))) ;) (expression_statement "uVar6 = extraout_RDX_00;" (assignment_expression "uVar6 = extraout_RDX_00" identifier = identifier) ;) })) (goto_statement "goto LAB_001e6c3f;" goto statement_identifier ;) }))) }) (else_clause "else if (uVar3 == 0xffff) {\n      uStack_1a0 = 0x1e737b;\n      uVar15 = FUN_001d1b60(param_1,uVar4,local_68);\n      uVar6 = extraout_RDX_02;\n      if ((char)local_68[0] != '\0') goto LAB_001e6f84;\n    }\n    else {\n      local_68[0] = (undefined1 *)((ulong)local_68[0]._1_7_ << 8);\n    }" else (if_statement "if (uVar3 == 0xffff) {\n      uStack_1a0 = 0x1e737b;\n      uVar15 = FUN_001d1b60(param_1,uVar4,local_68);\n      uVar6 = extraout_RDX_02;\n      if ((char)local_68[0] != '\0') goto LAB_001e6f84;\n    }\n    else {\n      local_68[0] = (undefined1 *)((ulong)local_68[0]._1_7_ << 8);\n    }" if (parenthesized_expression "(uVar3 == 0xffff)" ( (binary_expression "uVar3 == 0xffff" identifier == number_literal) )) (compound_statement "{\n      uStack_1a0 = 0x1e737b;\n      uVar15 = FUN_001d1b60(param_1,uVar4,local_68);\n      uVar6 = extraout_RDX_02;\n      if ((char)local_68[0] != '\0') goto LAB_001e6f84;\n    }" { (expression_statement "uStack_1a0 = 0x1e737b;" (assignment_expression "uStack_1a0 = 0x1e737b" identifier = number_literal) ;) (expression_statement "uVar15 = FUN_001d1b60(param_1,uVar4,local_68);" (assignment_expression "uVar15 = FUN_001d1b60(param_1,uVar4,local_68)" identifier = (call_expression "FUN_001d1b60(param_1,uVar4,local_68)" identifier (argument_list "(param_1,uVar4,local_68)" ( identifier , identifier , identifier )))) ;) (expression_statement "uVar6 = extraout_RDX_02;" (assignment_expression "uVar6 = extraout_RDX_02" identifier = identifier) ;) (if_statement "if ((char)local_68[0] != '\0') goto LAB_001e6f84;" if (parenthesized_expression "((char)local_68[0] != '\0')" ( (binary_expression "(char)local_68[0] != '\0'" (cast_expression "(char)local_68[0]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "local_68[0]" identifier [ number_literal ])) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_001e6f84;" goto statement_identifier ;)) }) (else_clause "else {\n      local_68[0] = (undefined1 *)((ulong)local_68[0]._1_7_ << 8);\n    }" else (compound_statement "{\n      local_68[0] = (undefined1 *)((ulong)local_68[0]._1_7_ << 8);\n    }" { (expression_statement "local_68[0] = (undefined1 *)((ulong)local_68[0]._1_7_ << 8);" (assignment_expression "local_68[0] = (undefined1 *)((ulong)local_68[0]._1_7_ << 8)" (subscript_expression "local_68[0]" identifier [ number_literal ]) = (cast_expression "(undefined1 *)((ulong)local_68[0]._1_7_ << 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)local_68[0]._1_7_ << 8)" ( (binary_expression "(ulong)local_68[0]._1_7_ << 8" (cast_expression "(ulong)local_68[0]._1_7_" ( (type_descriptor "ulong" type_identifier) ) (field_expression "local_68[0]._1_7_" (subscript_expression "local_68[0]" identifier [ number_literal ]) . field_identifier)) << number_literal) )))) ;) }))))) (expression_statement "uVar6 = gettext("symbol %u invalid section index %u");" (assignment_expression "uVar6 = gettext("symbol %u invalid section index %u")" identifier = (call_expression "gettext("symbol %u invalid section index %u")" identifier (argument_list "("symbol %u invalid section index %u")" ( (string_literal ""symbol %u invalid section index %u"" " string_content ") )))) ;) comment (expression_statement "FUN_001d19e0(param_1,uVar6,uVar4,uVar15);" (call_expression "FUN_001d19e0(param_1,uVar6,uVar4,uVar15)" identifier (argument_list "(param_1,uVar6,uVar4,uVar15)" ( identifier , identifier , identifier , identifier ))) ;) (labeled_statement "LAB_001e735d:\n    local_121 = '\0';" statement_identifier : (expression_statement "local_121 = '\0';" (assignment_expression "local_121 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;)) (goto_statement "goto LAB_001e70e8;" goto statement_identifier ;) })) (labeled_statement "LAB_001e6c3f:\n  local_f0 = 0;" statement_identifier : (expression_statement "local_f0 = 0;" (assignment_expression "local_f0 = 0" identifier = number_literal) ;)) (if_statement "if ((uVar1 >> 0x18 & 1) == 0) {\n    uVar10 = *(ulong *)(local_100 + 0x20);\n    local_122 = '\0';\n    local_118 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28\n                | uVar10 << 0x38;\n    uStack_1a0 = uVar6;\nLAB_001e6c9f:\n    local_118 = local_118 >> 2;\n    local_d8 = (uint *)0x0;\n    local_e0 = (uint *)0x0;\n    local_e8 = 0;\n    if (*(long *)(PTR_DAT_0045c708 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001e73a8 to 001e73ac has its CatchHandler @ 001e73c5 */\n      FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n    }\n    cVar14 = *(char *)(*(long *)(PTR_DAT_0045c708 + 0x10) + 0x5051);\n    if (cVar14 != '\0') {\n                    /* try { // try from 001e7314 to 001e7318 has its CatchHandler @ 001e73c5 */\n      FUN_001da300(&local_e8,local_118 - 1,uStack_1a0);\n      local_121 = cVar14;\n      if (1 < local_118) goto LAB_001e6cd9;\n      goto LAB_001e7093;\n    }\n    local_121 = '\x01';\n    if (1 < local_118) goto LAB_001e6cd9;\n  }\n  else {\n                    /* try { // try from 001e71ff to 001e7228 has its CatchHandler @ 001e7432 */\n    local_122 = FUN_001c1720(param_3,local_c8,param_1,param_4,1,1,&local_f0);\n    if (local_122 != '\0') {\n      if (*(long *)(param_3 + 0x378) != 0) {\n        FUN_00197030(*(long *)(param_3 + 0x378),param_1,local_c8[0]);\n        uStack_1a0 = extraout_RDX_01;\n      }\n      uVar10 = *(ulong *)(local_100 + 0x20);\n      local_118 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                  (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                  (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                  (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n      goto LAB_001e6c9f;\n    }\n    local_e8 = 0;\n    local_e0 = (uint *)0x0;\n    local_d8 = (uint *)0x0;\n    uVar10 = *(ulong *)(local_100 + 0x20);\n    local_118 = (uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38) >> 2;\n    if (local_118 < 2) goto LAB_001e735d;\n    local_121 = '\0';\n    local_122 = '\x01';\n    cVar14 = '\0';\nLAB_001e6cd9:\n    local_110 = (long *)0x1;\n    do {\n      uVar15 = puVar5[(long)local_110];\n      uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n      if (uVar15 < 0xff00) {\n        local_104 = uVar15;\n        if (cVar14 != '\0') goto LAB_001e6e26;\nLAB_001e6d30:\n        if (*(uint *)(param_1 + 7) <= local_104) goto LAB_001e6e59;\nLAB_001e6d3a:\n        uVar15 = local_104;\n        if (local_104 < param_4) {\n          uVar6 = gettext("invalid section group %u refers to earlier section %u");\n                    /* try { // try from 001e6fe2 to 001e6fe6 has its CatchHandler @ 001e73c5 */\n          FUN_001d19e0(param_1,uVar6,param_4,uVar15);\n        }\n        puVar8 = (uint *)((ulong)(local_104 << 6) + param_6);\n        uVar15 = *puVar8;\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n          pcVar12 = (char *)0xffffffffffffffff;\n          __s = (char *)(uVar10 + param_7);\n          local_a8 = auStack_98;\n          if (__s != (char *)0x0) {\n            sVar9 = strlen(__s);\n            pcVar12 = __s + sVar9;\n          }\n                    /* try { // try from 001e6d98 to 001e6e77 has its CatchHandler @ 001e73c5 */\n          FUN_00174550(&local_a8,__s,pcVar12);\n          uVar15 = local_104;\n          if (local_121 == '\0') {\n            puVar11 = (ulong *)((ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9);\n            *puVar11 = *puVar11 | 1L << ((byte)local_104 & 0x3f);\n            if ((local_122 != '\0') && ((local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0')))) {\n              uVar10 = *(ulong *)(puVar8 + 8);\n              local_78 = local_f0;\n              local_88[0] = local_104;\n              local_80 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n              local_6c = 1;\n              local_70 = uVar4;\n                    /* try { // try from 001e706e to 001e7072 has its CatchHandler @ 001e73ca */\n              FUN_001e2560(param_1 + 0x36,local_88);\n            }\n          }\n          else if (local_122 != '\0') {\n            uVar10 = *(ulong *)(puVar8 + 8);\n            if (*(char *)(local_f0 + 0xc) == '\0') {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001e73c0 to 001e73c4 has its CatchHandler @ 001e73ca */\n              FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            uVar6 = *(undefined8 *)(local_f0 + 0x10);\n            local_68[0] = local_58;\n                    /* try { // try from 001e7166 to 001e716a has its CatchHandler @ 001e73ca */\n            FUN_0017d640(local_68,local_a8,local_a8 + local_a0);\n            local_48 = uVar15;\n            local_40 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n                    /* try { // try from 001e7189 to 001e718d has its CatchHandler @ 001e7437 */\n            FUN_001d9dc0(uVar6,local_68);\n            if (local_68[0] != local_58) {\n              FUN_002f1e60();\n            }\n          }\n          if (local_a8 != auStack_98) {\n            FUN_002f1e60();\n          }\n        }\n      }\n      else {\n        FUN_001dab60(param_1 + 0x1f);\n        uVar15 = uVar15 + (int)param_1[0x22];\n        local_104 = uVar15;\n        if (cVar14 == '\0') goto LAB_001e6d30;\nLAB_001e6e26:\n        local_104 = uVar15;\n        if (local_e0 == local_d8) {\n                    /* try { // try from 001e71be to 001e71c2 has its CatchHandler @ 001e73c5 */\n          FUN_001a8910(&local_e8,local_e0,&local_104);\n          goto LAB_001e6d30;\n        }\n        *local_e0 = uVar15;\n        local_e0 = local_e0 + 1;\n        if (uVar15 < *(uint *)(param_1 + 7)) goto LAB_001e6d3a;\nLAB_001e6e59:\n        uVar15 = local_104;\n        uVar6 = gettext("section %u in section group %u out of range");\n        FUN_001d19e0(param_1,uVar6,uVar15,param_4);\n      }\n      local_110 = (long *)((long)local_110 + 1);\n    } while (local_110 < local_118);\n    if (cVar14 != '\0') {\nLAB_001e7093:\n      local_110 = &local_e8;\n                    /* try { // try from 001e70ce to 001e70d2 has its CatchHandler @ 001e73c5 */\n      FUN_001caee0(param_3,param_2,param_1,param_4,param_5,local_c8[0],&local_100,\n                   uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                   local_110);\n    }\n  }" if (parenthesized_expression "((uVar1 >> 0x18 & 1) == 0)" ( (binary_expression "(uVar1 >> 0x18 & 1) == 0" (parenthesized_expression "(uVar1 >> 0x18 & 1)" ( (binary_expression "uVar1 >> 0x18 & 1" (binary_expression "uVar1 >> 0x18" identifier >> number_literal) & number_literal) )) == number_literal) )) (compound_statement "{\n    uVar10 = *(ulong *)(local_100 + 0x20);\n    local_122 = '\0';\n    local_118 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28\n                | uVar10 << 0x38;\n    uStack_1a0 = uVar6;\nLAB_001e6c9f:\n    local_118 = local_118 >> 2;\n    local_d8 = (uint *)0x0;\n    local_e0 = (uint *)0x0;\n    local_e8 = 0;\n    if (*(long *)(PTR_DAT_0045c708 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001e73a8 to 001e73ac has its CatchHandler @ 001e73c5 */\n      FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n    }\n    cVar14 = *(char *)(*(long *)(PTR_DAT_0045c708 + 0x10) + 0x5051);\n    if (cVar14 != '\0') {\n                    /* try { // try from 001e7314 to 001e7318 has its CatchHandler @ 001e73c5 */\n      FUN_001da300(&local_e8,local_118 - 1,uStack_1a0);\n      local_121 = cVar14;\n      if (1 < local_118) goto LAB_001e6cd9;\n      goto LAB_001e7093;\n    }\n    local_121 = '\x01';\n    if (1 < local_118) goto LAB_001e6cd9;\n  }" { (expression_statement "uVar10 = *(ulong *)(local_100 + 0x20);" (assignment_expression "uVar10 = *(ulong *)(local_100 + 0x20)" identifier = (pointer_expression "*(ulong *)(local_100 + 0x20)" * (cast_expression "(ulong *)(local_100 + 0x20)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_100 + 0x20)" ( (binary_expression "local_100 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "local_122 = '\0';" (assignment_expression "local_122 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_118 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28\n                | uVar10 << 0x38;" (assignment_expression "local_118 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28\n                | uVar10 << 0x38" identifier = (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28\n                | uVar10 << 0x38" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                (uVar10 & 0xff000000) << 8" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                (uVar10 & 0xff0000000000) >> 0x18" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28" (binary_expression "uVar10 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar10 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar10 & 0xff000000000000)" ( (binary_expression "uVar10 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar10 & 0xff0000000000)" ( (binary_expression "uVar10 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff00000000) >> 8" (parenthesized_expression "(uVar10 & 0xff00000000)" ( (binary_expression "uVar10 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff000000) << 8" (parenthesized_expression "(uVar10 & 0xff000000)" ( (binary_expression "uVar10 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar10 & 0xff0000) << 0x18" (parenthesized_expression "(uVar10 & 0xff0000)" ( (binary_expression "uVar10 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar10 & 0xff00) << 0x28" (parenthesized_expression "(uVar10 & 0xff00)" ( (binary_expression "uVar10 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar10 << 0x38" identifier << number_literal))) ;) (expression_statement "uStack_1a0 = uVar6;" (assignment_expression "uStack_1a0 = uVar6" identifier = identifier) ;) (labeled_statement "LAB_001e6c9f:\n    local_118 = local_118 >> 2;" statement_identifier : (expression_statement "local_118 = local_118 >> 2;" (assignment_expression "local_118 = local_118 >> 2" identifier = (binary_expression "local_118 >> 2" identifier >> number_literal)) ;)) (expression_statement "local_d8 = (uint *)0x0;" (assignment_expression "local_d8 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_e0 = (uint *)0x0;" (assignment_expression "local_e0 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_e8 = 0;" (assignment_expression "local_e8 = 0" identifier = number_literal) ;) (if_statement "if (*(long *)(PTR_DAT_0045c708 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001e73a8 to 001e73ac has its CatchHandler @ 001e73c5 */\n      FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n    }" if (parenthesized_expression "(*(long *)(PTR_DAT_0045c708 + 0x10) == 0)" ( (binary_expression "*(long *)(PTR_DAT_0045c708 + 0x10) == 0" (pointer_expression "*(long *)(PTR_DAT_0045c708 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0045c708 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0045c708 + 0x10)" ( (binary_expression "PTR_DAT_0045c708 + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001e73a8 to 001e73ac has its CatchHandler @ 001e73c5 */\n      FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n    }" { comment comment (expression_statement "FUN_0018ff20("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0018ff20("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (expression_statement "cVar14 = *(char *)(*(long *)(PTR_DAT_0045c708 + 0x10) + 0x5051);" (assignment_expression "cVar14 = *(char *)(*(long *)(PTR_DAT_0045c708 + 0x10) + 0x5051)" identifier = (pointer_expression "*(char *)(*(long *)(PTR_DAT_0045c708 + 0x10) + 0x5051)" * (cast_expression "(char *)(*(long *)(PTR_DAT_0045c708 + 0x10) + 0x5051)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(PTR_DAT_0045c708 + 0x10) + 0x5051)" ( (binary_expression "*(long *)(PTR_DAT_0045c708 + 0x10) + 0x5051" (pointer_expression "*(long *)(PTR_DAT_0045c708 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0045c708 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0045c708 + 0x10)" ( (binary_expression "PTR_DAT_0045c708 + 0x10" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (cVar14 != '\0') {\n                    /* try { // try from 001e7314 to 001e7318 has its CatchHandler @ 001e73c5 */\n      FUN_001da300(&local_e8,local_118 - 1,uStack_1a0);\n      local_121 = cVar14;\n      if (1 < local_118) goto LAB_001e6cd9;\n      goto LAB_001e7093;\n    }" if (parenthesized_expression "(cVar14 != '\0')" ( (binary_expression "cVar14 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    /* try { // try from 001e7314 to 001e7318 has its CatchHandler @ 001e73c5 */\n      FUN_001da300(&local_e8,local_118 - 1,uStack_1a0);\n      local_121 = cVar14;\n      if (1 < local_118) goto LAB_001e6cd9;\n      goto LAB_001e7093;\n    }" { comment (expression_statement "FUN_001da300(&local_e8,local_118 - 1,uStack_1a0);" (call_expression "FUN_001da300(&local_e8,local_118 - 1,uStack_1a0)" identifier (argument_list "(&local_e8,local_118 - 1,uStack_1a0)" ( (pointer_expression "&local_e8" & identifier) , (binary_expression "local_118 - 1" identifier - number_literal) , identifier ))) ;) (expression_statement "local_121 = cVar14;" (assignment_expression "local_121 = cVar14" identifier = identifier) ;) (if_statement "if (1 < local_118) goto LAB_001e6cd9;" if (parenthesized_expression "(1 < local_118)" ( (binary_expression "1 < local_118" number_literal < identifier) )) (goto_statement "goto LAB_001e6cd9;" goto statement_identifier ;)) (goto_statement "goto LAB_001e7093;" goto statement_identifier ;) })) (expression_statement "local_121 = '\x01';" (assignment_expression "local_121 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (if_statement "if (1 < local_118) goto LAB_001e6cd9;" if (parenthesized_expression "(1 < local_118)" ( (binary_expression "1 < local_118" number_literal < identifier) )) (goto_statement "goto LAB_001e6cd9;" goto statement_identifier ;)) }) (else_clause "else {\n                    /* try { // try from 001e71ff to 001e7228 has its CatchHandler @ 001e7432 */\n    local_122 = FUN_001c1720(param_3,local_c8,param_1,param_4,1,1,&local_f0);\n    if (local_122 != '\0') {\n      if (*(long *)(param_3 + 0x378) != 0) {\n        FUN_00197030(*(long *)(param_3 + 0x378),param_1,local_c8[0]);\n        uStack_1a0 = extraout_RDX_01;\n      }\n      uVar10 = *(ulong *)(local_100 + 0x20);\n      local_118 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                  (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                  (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                  (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n      goto LAB_001e6c9f;\n    }\n    local_e8 = 0;\n    local_e0 = (uint *)0x0;\n    local_d8 = (uint *)0x0;\n    uVar10 = *(ulong *)(local_100 + 0x20);\n    local_118 = (uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38) >> 2;\n    if (local_118 < 2) goto LAB_001e735d;\n    local_121 = '\0';\n    local_122 = '\x01';\n    cVar14 = '\0';\nLAB_001e6cd9:\n    local_110 = (long *)0x1;\n    do {\n      uVar15 = puVar5[(long)local_110];\n      uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n      if (uVar15 < 0xff00) {\n        local_104 = uVar15;\n        if (cVar14 != '\0') goto LAB_001e6e26;\nLAB_001e6d30:\n        if (*(uint *)(param_1 + 7) <= local_104) goto LAB_001e6e59;\nLAB_001e6d3a:\n        uVar15 = local_104;\n        if (local_104 < param_4) {\n          uVar6 = gettext("invalid section group %u refers to earlier section %u");\n                    /* try { // try from 001e6fe2 to 001e6fe6 has its CatchHandler @ 001e73c5 */\n          FUN_001d19e0(param_1,uVar6,param_4,uVar15);\n        }\n        puVar8 = (uint *)((ulong)(local_104 << 6) + param_6);\n        uVar15 = *puVar8;\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n          pcVar12 = (char *)0xffffffffffffffff;\n          __s = (char *)(uVar10 + param_7);\n          local_a8 = auStack_98;\n          if (__s != (char *)0x0) {\n            sVar9 = strlen(__s);\n            pcVar12 = __s + sVar9;\n          }\n                    /* try { // try from 001e6d98 to 001e6e77 has its CatchHandler @ 001e73c5 */\n          FUN_00174550(&local_a8,__s,pcVar12);\n          uVar15 = local_104;\n          if (local_121 == '\0') {\n            puVar11 = (ulong *)((ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9);\n            *puVar11 = *puVar11 | 1L << ((byte)local_104 & 0x3f);\n            if ((local_122 != '\0') && ((local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0')))) {\n              uVar10 = *(ulong *)(puVar8 + 8);\n              local_78 = local_f0;\n              local_88[0] = local_104;\n              local_80 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n              local_6c = 1;\n              local_70 = uVar4;\n                    /* try { // try from 001e706e to 001e7072 has its CatchHandler @ 001e73ca */\n              FUN_001e2560(param_1 + 0x36,local_88);\n            }\n          }\n          else if (local_122 != '\0') {\n            uVar10 = *(ulong *)(puVar8 + 8);\n            if (*(char *)(local_f0 + 0xc) == '\0') {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001e73c0 to 001e73c4 has its CatchHandler @ 001e73ca */\n              FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            uVar6 = *(undefined8 *)(local_f0 + 0x10);\n            local_68[0] = local_58;\n                    /* try { // try from 001e7166 to 001e716a has its CatchHandler @ 001e73ca */\n            FUN_0017d640(local_68,local_a8,local_a8 + local_a0);\n            local_48 = uVar15;\n            local_40 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n                    /* try { // try from 001e7189 to 001e718d has its CatchHandler @ 001e7437 */\n            FUN_001d9dc0(uVar6,local_68);\n            if (local_68[0] != local_58) {\n              FUN_002f1e60();\n            }\n          }\n          if (local_a8 != auStack_98) {\n            FUN_002f1e60();\n          }\n        }\n      }\n      else {\n        FUN_001dab60(param_1 + 0x1f);\n        uVar15 = uVar15 + (int)param_1[0x22];\n        local_104 = uVar15;\n        if (cVar14 == '\0') goto LAB_001e6d30;\nLAB_001e6e26:\n        local_104 = uVar15;\n        if (local_e0 == local_d8) {\n                    /* try { // try from 001e71be to 001e71c2 has its CatchHandler @ 001e73c5 */\n          FUN_001a8910(&local_e8,local_e0,&local_104);\n          goto LAB_001e6d30;\n        }\n        *local_e0 = uVar15;\n        local_e0 = local_e0 + 1;\n        if (uVar15 < *(uint *)(param_1 + 7)) goto LAB_001e6d3a;\nLAB_001e6e59:\n        uVar15 = local_104;\n        uVar6 = gettext("section %u in section group %u out of range");\n        FUN_001d19e0(param_1,uVar6,uVar15,param_4);\n      }\n      local_110 = (long *)((long)local_110 + 1);\n    } while (local_110 < local_118);\n    if (cVar14 != '\0') {\nLAB_001e7093:\n      local_110 = &local_e8;\n                    /* try { // try from 001e70ce to 001e70d2 has its CatchHandler @ 001e73c5 */\n      FUN_001caee0(param_3,param_2,param_1,param_4,param_5,local_c8[0],&local_100,\n                   uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                   local_110);\n    }\n  }" else (compound_statement "{\n                    /* try { // try from 001e71ff to 001e7228 has its CatchHandler @ 001e7432 */\n    local_122 = FUN_001c1720(param_3,local_c8,param_1,param_4,1,1,&local_f0);\n    if (local_122 != '\0') {\n      if (*(long *)(param_3 + 0x378) != 0) {\n        FUN_00197030(*(long *)(param_3 + 0x378),param_1,local_c8[0]);\n        uStack_1a0 = extraout_RDX_01;\n      }\n      uVar10 = *(ulong *)(local_100 + 0x20);\n      local_118 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                  (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                  (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                  (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n      goto LAB_001e6c9f;\n    }\n    local_e8 = 0;\n    local_e0 = (uint *)0x0;\n    local_d8 = (uint *)0x0;\n    uVar10 = *(ulong *)(local_100 + 0x20);\n    local_118 = (uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38) >> 2;\n    if (local_118 < 2) goto LAB_001e735d;\n    local_121 = '\0';\n    local_122 = '\x01';\n    cVar14 = '\0';\nLAB_001e6cd9:\n    local_110 = (long *)0x1;\n    do {\n      uVar15 = puVar5[(long)local_110];\n      uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n      if (uVar15 < 0xff00) {\n        local_104 = uVar15;\n        if (cVar14 != '\0') goto LAB_001e6e26;\nLAB_001e6d30:\n        if (*(uint *)(param_1 + 7) <= local_104) goto LAB_001e6e59;\nLAB_001e6d3a:\n        uVar15 = local_104;\n        if (local_104 < param_4) {\n          uVar6 = gettext("invalid section group %u refers to earlier section %u");\n                    /* try { // try from 001e6fe2 to 001e6fe6 has its CatchHandler @ 001e73c5 */\n          FUN_001d19e0(param_1,uVar6,param_4,uVar15);\n        }\n        puVar8 = (uint *)((ulong)(local_104 << 6) + param_6);\n        uVar15 = *puVar8;\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n          pcVar12 = (char *)0xffffffffffffffff;\n          __s = (char *)(uVar10 + param_7);\n          local_a8 = auStack_98;\n          if (__s != (char *)0x0) {\n            sVar9 = strlen(__s);\n            pcVar12 = __s + sVar9;\n          }\n                    /* try { // try from 001e6d98 to 001e6e77 has its CatchHandler @ 001e73c5 */\n          FUN_00174550(&local_a8,__s,pcVar12);\n          uVar15 = local_104;\n          if (local_121 == '\0') {\n            puVar11 = (ulong *)((ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9);\n            *puVar11 = *puVar11 | 1L << ((byte)local_104 & 0x3f);\n            if ((local_122 != '\0') && ((local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0')))) {\n              uVar10 = *(ulong *)(puVar8 + 8);\n              local_78 = local_f0;\n              local_88[0] = local_104;\n              local_80 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n              local_6c = 1;\n              local_70 = uVar4;\n                    /* try { // try from 001e706e to 001e7072 has its CatchHandler @ 001e73ca */\n              FUN_001e2560(param_1 + 0x36,local_88);\n            }\n          }\n          else if (local_122 != '\0') {\n            uVar10 = *(ulong *)(puVar8 + 8);\n            if (*(char *)(local_f0 + 0xc) == '\0') {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001e73c0 to 001e73c4 has its CatchHandler @ 001e73ca */\n              FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            uVar6 = *(undefined8 *)(local_f0 + 0x10);\n            local_68[0] = local_58;\n                    /* try { // try from 001e7166 to 001e716a has its CatchHandler @ 001e73ca */\n            FUN_0017d640(local_68,local_a8,local_a8 + local_a0);\n            local_48 = uVar15;\n            local_40 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n                    /* try { // try from 001e7189 to 001e718d has its CatchHandler @ 001e7437 */\n            FUN_001d9dc0(uVar6,local_68);\n            if (local_68[0] != local_58) {\n              FUN_002f1e60();\n            }\n          }\n          if (local_a8 != auStack_98) {\n            FUN_002f1e60();\n          }\n        }\n      }\n      else {\n        FUN_001dab60(param_1 + 0x1f);\n        uVar15 = uVar15 + (int)param_1[0x22];\n        local_104 = uVar15;\n        if (cVar14 == '\0') goto LAB_001e6d30;\nLAB_001e6e26:\n        local_104 = uVar15;\n        if (local_e0 == local_d8) {\n                    /* try { // try from 001e71be to 001e71c2 has its CatchHandler @ 001e73c5 */\n          FUN_001a8910(&local_e8,local_e0,&local_104);\n          goto LAB_001e6d30;\n        }\n        *local_e0 = uVar15;\n        local_e0 = local_e0 + 1;\n        if (uVar15 < *(uint *)(param_1 + 7)) goto LAB_001e6d3a;\nLAB_001e6e59:\n        uVar15 = local_104;\n        uVar6 = gettext("section %u in section group %u out of range");\n        FUN_001d19e0(param_1,uVar6,uVar15,param_4);\n      }\n      local_110 = (long *)((long)local_110 + 1);\n    } while (local_110 < local_118);\n    if (cVar14 != '\0') {\nLAB_001e7093:\n      local_110 = &local_e8;\n                    /* try { // try from 001e70ce to 001e70d2 has its CatchHandler @ 001e73c5 */\n      FUN_001caee0(param_3,param_2,param_1,param_4,param_5,local_c8[0],&local_100,\n                   uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                   local_110);\n    }\n  }" { comment (expression_statement "local_122 = FUN_001c1720(param_3,local_c8,param_1,param_4,1,1,&local_f0);" (assignment_expression "local_122 = FUN_001c1720(param_3,local_c8,param_1,param_4,1,1,&local_f0)" identifier = (call_expression "FUN_001c1720(param_3,local_c8,param_1,param_4,1,1,&local_f0)" identifier (argument_list "(param_3,local_c8,param_1,param_4,1,1,&local_f0)" ( identifier , identifier , identifier , identifier , number_literal , number_literal , (pointer_expression "&local_f0" & identifier) )))) ;) (if_statement "if (local_122 != '\0') {\n      if (*(long *)(param_3 + 0x378) != 0) {\n        FUN_00197030(*(long *)(param_3 + 0x378),param_1,local_c8[0]);\n        uStack_1a0 = extraout_RDX_01;\n      }\n      uVar10 = *(ulong *)(local_100 + 0x20);\n      local_118 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                  (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                  (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                  (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n      goto LAB_001e6c9f;\n    }" if (parenthesized_expression "(local_122 != '\0')" ( (binary_expression "local_122 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      if (*(long *)(param_3 + 0x378) != 0) {\n        FUN_00197030(*(long *)(param_3 + 0x378),param_1,local_c8[0]);\n        uStack_1a0 = extraout_RDX_01;\n      }\n      uVar10 = *(ulong *)(local_100 + 0x20);\n      local_118 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                  (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                  (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                  (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n      goto LAB_001e6c9f;\n    }" { (if_statement "if (*(long *)(param_3 + 0x378) != 0) {\n        FUN_00197030(*(long *)(param_3 + 0x378),param_1,local_c8[0]);\n        uStack_1a0 = extraout_RDX_01;\n      }" if (parenthesized_expression "(*(long *)(param_3 + 0x378) != 0)" ( (binary_expression "*(long *)(param_3 + 0x378) != 0" (pointer_expression "*(long *)(param_3 + 0x378)" * (cast_expression "(long *)(param_3 + 0x378)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x378)" ( (binary_expression "param_3 + 0x378" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        FUN_00197030(*(long *)(param_3 + 0x378),param_1,local_c8[0]);\n        uStack_1a0 = extraout_RDX_01;\n      }" { (expression_statement "FUN_00197030(*(long *)(param_3 + 0x378),param_1,local_c8[0]);" (call_expression "FUN_00197030(*(long *)(param_3 + 0x378),param_1,local_c8[0])" identifier (argument_list "(*(long *)(param_3 + 0x378),param_1,local_c8[0])" ( (pointer_expression "*(long *)(param_3 + 0x378)" * (cast_expression "(long *)(param_3 + 0x378)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x378)" ( (binary_expression "param_3 + 0x378" identifier + number_literal) )))) , identifier , (subscript_expression "local_c8[0]" identifier [ number_literal ]) ))) ;) (expression_statement "uStack_1a0 = extraout_RDX_01;" (assignment_expression "uStack_1a0 = extraout_RDX_01" identifier = identifier) ;) })) (expression_statement "uVar10 = *(ulong *)(local_100 + 0x20);" (assignment_expression "uVar10 = *(ulong *)(local_100 + 0x20)" identifier = (pointer_expression "*(ulong *)(local_100 + 0x20)" * (cast_expression "(ulong *)(local_100 + 0x20)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_100 + 0x20)" ( (binary_expression "local_100 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "local_118 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                  (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                  (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                  (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;" (assignment_expression "local_118 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                  (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                  (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                  (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38" identifier = (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                  (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                  (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                  (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                  (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                  (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                  (uVar10 & 0xff00) << 0x28" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                  (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                  (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                  (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                  (uVar10 & 0xff000000) << 8" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                  (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                  (uVar10 & 0xff0000000000) >> 0x18" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28" (binary_expression "uVar10 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar10 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar10 & 0xff000000000000)" ( (binary_expression "uVar10 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar10 & 0xff0000000000)" ( (binary_expression "uVar10 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff00000000) >> 8" (parenthesized_expression "(uVar10 & 0xff00000000)" ( (binary_expression "uVar10 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff000000) << 8" (parenthesized_expression "(uVar10 & 0xff000000)" ( (binary_expression "uVar10 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar10 & 0xff0000) << 0x18" (parenthesized_expression "(uVar10 & 0xff0000)" ( (binary_expression "uVar10 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar10 & 0xff00) << 0x28" (parenthesized_expression "(uVar10 & 0xff00)" ( (binary_expression "uVar10 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar10 << 0x38" identifier << number_literal))) ;) (goto_statement "goto LAB_001e6c9f;" goto statement_identifier ;) })) (expression_statement "local_e8 = 0;" (assignment_expression "local_e8 = 0" identifier = number_literal) ;) (expression_statement "local_e0 = (uint *)0x0;" (assignment_expression "local_e0 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_d8 = (uint *)0x0;" (assignment_expression "local_d8 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar10 = *(ulong *)(local_100 + 0x20);" (assignment_expression "uVar10 = *(ulong *)(local_100 + 0x20)" identifier = (pointer_expression "*(ulong *)(local_100 + 0x20)" * (cast_expression "(ulong *)(local_100 + 0x20)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_100 + 0x20)" ( (binary_expression "local_100 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "local_118 = (uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38) >> 2;" (assignment_expression "local_118 = (uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38) >> 2" identifier = (binary_expression "(uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38) >> 2" (parenthesized_expression "(uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38)" ( (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                 (uVar10 & 0xff00) << 0x28" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                 (uVar10 & 0xff000000) << 8" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                 (uVar10 & 0xff0000000000) >> 0x18" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28" (binary_expression "uVar10 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar10 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar10 & 0xff000000000000)" ( (binary_expression "uVar10 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar10 & 0xff0000000000)" ( (binary_expression "uVar10 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff00000000) >> 8" (parenthesized_expression "(uVar10 & 0xff00000000)" ( (binary_expression "uVar10 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff000000) << 8" (parenthesized_expression "(uVar10 & 0xff000000)" ( (binary_expression "uVar10 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar10 & 0xff0000) << 0x18" (parenthesized_expression "(uVar10 & 0xff0000)" ( (binary_expression "uVar10 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar10 & 0xff00) << 0x28" (parenthesized_expression "(uVar10 & 0xff00)" ( (binary_expression "uVar10 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar10 << 0x38" identifier << number_literal)) )) >> number_literal)) ;) (if_statement "if (local_118 < 2) goto LAB_001e735d;" if (parenthesized_expression "(local_118 < 2)" ( (binary_expression "local_118 < 2" identifier < number_literal) )) (goto_statement "goto LAB_001e735d;" goto statement_identifier ;)) (expression_statement "local_121 = '\0';" (assignment_expression "local_121 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_122 = '\x01';" (assignment_expression "local_122 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "cVar14 = '\0';" (assignment_expression "cVar14 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (labeled_statement "LAB_001e6cd9:\n    local_110 = (long *)0x1;" statement_identifier : (expression_statement "local_110 = (long *)0x1;" (assignment_expression "local_110 = (long *)0x1" identifier = (cast_expression "(long *)0x1" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (do_statement "do {\n      uVar15 = puVar5[(long)local_110];\n      uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n      if (uVar15 < 0xff00) {\n        local_104 = uVar15;\n        if (cVar14 != '\0') goto LAB_001e6e26;\nLAB_001e6d30:\n        if (*(uint *)(param_1 + 7) <= local_104) goto LAB_001e6e59;\nLAB_001e6d3a:\n        uVar15 = local_104;\n        if (local_104 < param_4) {\n          uVar6 = gettext("invalid section group %u refers to earlier section %u");\n                    /* try { // try from 001e6fe2 to 001e6fe6 has its CatchHandler @ 001e73c5 */\n          FUN_001d19e0(param_1,uVar6,param_4,uVar15);\n        }\n        puVar8 = (uint *)((ulong)(local_104 << 6) + param_6);\n        uVar15 = *puVar8;\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n          pcVar12 = (char *)0xffffffffffffffff;\n          __s = (char *)(uVar10 + param_7);\n          local_a8 = auStack_98;\n          if (__s != (char *)0x0) {\n            sVar9 = strlen(__s);\n            pcVar12 = __s + sVar9;\n          }\n                    /* try { // try from 001e6d98 to 001e6e77 has its CatchHandler @ 001e73c5 */\n          FUN_00174550(&local_a8,__s,pcVar12);\n          uVar15 = local_104;\n          if (local_121 == '\0') {\n            puVar11 = (ulong *)((ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9);\n            *puVar11 = *puVar11 | 1L << ((byte)local_104 & 0x3f);\n            if ((local_122 != '\0') && ((local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0')))) {\n              uVar10 = *(ulong *)(puVar8 + 8);\n              local_78 = local_f0;\n              local_88[0] = local_104;\n              local_80 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n              local_6c = 1;\n              local_70 = uVar4;\n                    /* try { // try from 001e706e to 001e7072 has its CatchHandler @ 001e73ca */\n              FUN_001e2560(param_1 + 0x36,local_88);\n            }\n          }\n          else if (local_122 != '\0') {\n            uVar10 = *(ulong *)(puVar8 + 8);\n            if (*(char *)(local_f0 + 0xc) == '\0') {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001e73c0 to 001e73c4 has its CatchHandler @ 001e73ca */\n              FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            uVar6 = *(undefined8 *)(local_f0 + 0x10);\n            local_68[0] = local_58;\n                    /* try { // try from 001e7166 to 001e716a has its CatchHandler @ 001e73ca */\n            FUN_0017d640(local_68,local_a8,local_a8 + local_a0);\n            local_48 = uVar15;\n            local_40 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n                    /* try { // try from 001e7189 to 001e718d has its CatchHandler @ 001e7437 */\n            FUN_001d9dc0(uVar6,local_68);\n            if (local_68[0] != local_58) {\n              FUN_002f1e60();\n            }\n          }\n          if (local_a8 != auStack_98) {\n            FUN_002f1e60();\n          }\n        }\n      }\n      else {\n        FUN_001dab60(param_1 + 0x1f);\n        uVar15 = uVar15 + (int)param_1[0x22];\n        local_104 = uVar15;\n        if (cVar14 == '\0') goto LAB_001e6d30;\nLAB_001e6e26:\n        local_104 = uVar15;\n        if (local_e0 == local_d8) {\n                    /* try { // try from 001e71be to 001e71c2 has its CatchHandler @ 001e73c5 */\n          FUN_001a8910(&local_e8,local_e0,&local_104);\n          goto LAB_001e6d30;\n        }\n        *local_e0 = uVar15;\n        local_e0 = local_e0 + 1;\n        if (uVar15 < *(uint *)(param_1 + 7)) goto LAB_001e6d3a;\nLAB_001e6e59:\n        uVar15 = local_104;\n        uVar6 = gettext("section %u in section group %u out of range");\n        FUN_001d19e0(param_1,uVar6,uVar15,param_4);\n      }\n      local_110 = (long *)((long)local_110 + 1);\n    } while (local_110 < local_118);" do (compound_statement "{\n      uVar15 = puVar5[(long)local_110];\n      uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n      if (uVar15 < 0xff00) {\n        local_104 = uVar15;\n        if (cVar14 != '\0') goto LAB_001e6e26;\nLAB_001e6d30:\n        if (*(uint *)(param_1 + 7) <= local_104) goto LAB_001e6e59;\nLAB_001e6d3a:\n        uVar15 = local_104;\n        if (local_104 < param_4) {\n          uVar6 = gettext("invalid section group %u refers to earlier section %u");\n                    /* try { // try from 001e6fe2 to 001e6fe6 has its CatchHandler @ 001e73c5 */\n          FUN_001d19e0(param_1,uVar6,param_4,uVar15);\n        }\n        puVar8 = (uint *)((ulong)(local_104 << 6) + param_6);\n        uVar15 = *puVar8;\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n          pcVar12 = (char *)0xffffffffffffffff;\n          __s = (char *)(uVar10 + param_7);\n          local_a8 = auStack_98;\n          if (__s != (char *)0x0) {\n            sVar9 = strlen(__s);\n            pcVar12 = __s + sVar9;\n          }\n                    /* try { // try from 001e6d98 to 001e6e77 has its CatchHandler @ 001e73c5 */\n          FUN_00174550(&local_a8,__s,pcVar12);\n          uVar15 = local_104;\n          if (local_121 == '\0') {\n            puVar11 = (ulong *)((ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9);\n            *puVar11 = *puVar11 | 1L << ((byte)local_104 & 0x3f);\n            if ((local_122 != '\0') && ((local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0')))) {\n              uVar10 = *(ulong *)(puVar8 + 8);\n              local_78 = local_f0;\n              local_88[0] = local_104;\n              local_80 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n              local_6c = 1;\n              local_70 = uVar4;\n                    /* try { // try from 001e706e to 001e7072 has its CatchHandler @ 001e73ca */\n              FUN_001e2560(param_1 + 0x36,local_88);\n            }\n          }\n          else if (local_122 != '\0') {\n            uVar10 = *(ulong *)(puVar8 + 8);\n            if (*(char *)(local_f0 + 0xc) == '\0') {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001e73c0 to 001e73c4 has its CatchHandler @ 001e73ca */\n              FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            uVar6 = *(undefined8 *)(local_f0 + 0x10);\n            local_68[0] = local_58;\n                    /* try { // try from 001e7166 to 001e716a has its CatchHandler @ 001e73ca */\n            FUN_0017d640(local_68,local_a8,local_a8 + local_a0);\n            local_48 = uVar15;\n            local_40 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n                    /* try { // try from 001e7189 to 001e718d has its CatchHandler @ 001e7437 */\n            FUN_001d9dc0(uVar6,local_68);\n            if (local_68[0] != local_58) {\n              FUN_002f1e60();\n            }\n          }\n          if (local_a8 != auStack_98) {\n            FUN_002f1e60();\n          }\n        }\n      }\n      else {\n        FUN_001dab60(param_1 + 0x1f);\n        uVar15 = uVar15 + (int)param_1[0x22];\n        local_104 = uVar15;\n        if (cVar14 == '\0') goto LAB_001e6d30;\nLAB_001e6e26:\n        local_104 = uVar15;\n        if (local_e0 == local_d8) {\n                    /* try { // try from 001e71be to 001e71c2 has its CatchHandler @ 001e73c5 */\n          FUN_001a8910(&local_e8,local_e0,&local_104);\n          goto LAB_001e6d30;\n        }\n        *local_e0 = uVar15;\n        local_e0 = local_e0 + 1;\n        if (uVar15 < *(uint *)(param_1 + 7)) goto LAB_001e6d3a;\nLAB_001e6e59:\n        uVar15 = local_104;\n        uVar6 = gettext("section %u in section group %u out of range");\n        FUN_001d19e0(param_1,uVar6,uVar15,param_4);\n      }\n      local_110 = (long *)((long)local_110 + 1);\n    }" { (expression_statement "uVar15 = puVar5[(long)local_110];" (assignment_expression "uVar15 = puVar5[(long)local_110]" identifier = (subscript_expression "puVar5[(long)local_110]" identifier [ (cast_expression "(long)local_110" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) ])) ;) (expression_statement "uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;" (assignment_expression "uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18" identifier = (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18" (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8" (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8" (binary_expression "uVar15 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar15 & 0xff0000) >> 8" (parenthesized_expression "(uVar15 & 0xff0000)" ( (binary_expression "uVar15 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar15 & 0xff00) << 8" (parenthesized_expression "(uVar15 & 0xff00)" ( (binary_expression "uVar15 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar15 << 0x18" identifier << number_literal))) ;) (if_statement "if (uVar15 < 0xff00) {\n        local_104 = uVar15;\n        if (cVar14 != '\0') goto LAB_001e6e26;\nLAB_001e6d30:\n        if (*(uint *)(param_1 + 7) <= local_104) goto LAB_001e6e59;\nLAB_001e6d3a:\n        uVar15 = local_104;\n        if (local_104 < param_4) {\n          uVar6 = gettext("invalid section group %u refers to earlier section %u");\n                    /* try { // try from 001e6fe2 to 001e6fe6 has its CatchHandler @ 001e73c5 */\n          FUN_001d19e0(param_1,uVar6,param_4,uVar15);\n        }\n        puVar8 = (uint *)((ulong)(local_104 << 6) + param_6);\n        uVar15 = *puVar8;\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n          pcVar12 = (char *)0xffffffffffffffff;\n          __s = (char *)(uVar10 + param_7);\n          local_a8 = auStack_98;\n          if (__s != (char *)0x0) {\n            sVar9 = strlen(__s);\n            pcVar12 = __s + sVar9;\n          }\n                    /* try { // try from 001e6d98 to 001e6e77 has its CatchHandler @ 001e73c5 */\n          FUN_00174550(&local_a8,__s,pcVar12);\n          uVar15 = local_104;\n          if (local_121 == '\0') {\n            puVar11 = (ulong *)((ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9);\n            *puVar11 = *puVar11 | 1L << ((byte)local_104 & 0x3f);\n            if ((local_122 != '\0') && ((local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0')))) {\n              uVar10 = *(ulong *)(puVar8 + 8);\n              local_78 = local_f0;\n              local_88[0] = local_104;\n              local_80 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n              local_6c = 1;\n              local_70 = uVar4;\n                    /* try { // try from 001e706e to 001e7072 has its CatchHandler @ 001e73ca */\n              FUN_001e2560(param_1 + 0x36,local_88);\n            }\n          }\n          else if (local_122 != '\0') {\n            uVar10 = *(ulong *)(puVar8 + 8);\n            if (*(char *)(local_f0 + 0xc) == '\0') {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001e73c0 to 001e73c4 has its CatchHandler @ 001e73ca */\n              FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            uVar6 = *(undefined8 *)(local_f0 + 0x10);\n            local_68[0] = local_58;\n                    /* try { // try from 001e7166 to 001e716a has its CatchHandler @ 001e73ca */\n            FUN_0017d640(local_68,local_a8,local_a8 + local_a0);\n            local_48 = uVar15;\n            local_40 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n                    /* try { // try from 001e7189 to 001e718d has its CatchHandler @ 001e7437 */\n            FUN_001d9dc0(uVar6,local_68);\n            if (local_68[0] != local_58) {\n              FUN_002f1e60();\n            }\n          }\n          if (local_a8 != auStack_98) {\n            FUN_002f1e60();\n          }\n        }\n      }\n      else {\n        FUN_001dab60(param_1 + 0x1f);\n        uVar15 = uVar15 + (int)param_1[0x22];\n        local_104 = uVar15;\n        if (cVar14 == '\0') goto LAB_001e6d30;\nLAB_001e6e26:\n        local_104 = uVar15;\n        if (local_e0 == local_d8) {\n                    /* try { // try from 001e71be to 001e71c2 has its CatchHandler @ 001e73c5 */\n          FUN_001a8910(&local_e8,local_e0,&local_104);\n          goto LAB_001e6d30;\n        }\n        *local_e0 = uVar15;\n        local_e0 = local_e0 + 1;\n        if (uVar15 < *(uint *)(param_1 + 7)) goto LAB_001e6d3a;\nLAB_001e6e59:\n        uVar15 = local_104;\n        uVar6 = gettext("section %u in section group %u out of range");\n        FUN_001d19e0(param_1,uVar6,uVar15,param_4);\n      }" if (parenthesized_expression "(uVar15 < 0xff00)" ( (binary_expression "uVar15 < 0xff00" identifier < number_literal) )) (compound_statement "{\n        local_104 = uVar15;\n        if (cVar14 != '\0') goto LAB_001e6e26;\nLAB_001e6d30:\n        if (*(uint *)(param_1 + 7) <= local_104) goto LAB_001e6e59;\nLAB_001e6d3a:\n        uVar15 = local_104;\n        if (local_104 < param_4) {\n          uVar6 = gettext("invalid section group %u refers to earlier section %u");\n                    /* try { // try from 001e6fe2 to 001e6fe6 has its CatchHandler @ 001e73c5 */\n          FUN_001d19e0(param_1,uVar6,param_4,uVar15);\n        }\n        puVar8 = (uint *)((ulong)(local_104 << 6) + param_6);\n        uVar15 = *puVar8;\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n          pcVar12 = (char *)0xffffffffffffffff;\n          __s = (char *)(uVar10 + param_7);\n          local_a8 = auStack_98;\n          if (__s != (char *)0x0) {\n            sVar9 = strlen(__s);\n            pcVar12 = __s + sVar9;\n          }\n                    /* try { // try from 001e6d98 to 001e6e77 has its CatchHandler @ 001e73c5 */\n          FUN_00174550(&local_a8,__s,pcVar12);\n          uVar15 = local_104;\n          if (local_121 == '\0') {\n            puVar11 = (ulong *)((ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9);\n            *puVar11 = *puVar11 | 1L << ((byte)local_104 & 0x3f);\n            if ((local_122 != '\0') && ((local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0')))) {\n              uVar10 = *(ulong *)(puVar8 + 8);\n              local_78 = local_f0;\n              local_88[0] = local_104;\n              local_80 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n              local_6c = 1;\n              local_70 = uVar4;\n                    /* try { // try from 001e706e to 001e7072 has its CatchHandler @ 001e73ca */\n              FUN_001e2560(param_1 + 0x36,local_88);\n            }\n          }\n          else if (local_122 != '\0') {\n            uVar10 = *(ulong *)(puVar8 + 8);\n            if (*(char *)(local_f0 + 0xc) == '\0') {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001e73c0 to 001e73c4 has its CatchHandler @ 001e73ca */\n              FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            uVar6 = *(undefined8 *)(local_f0 + 0x10);\n            local_68[0] = local_58;\n                    /* try { // try from 001e7166 to 001e716a has its CatchHandler @ 001e73ca */\n            FUN_0017d640(local_68,local_a8,local_a8 + local_a0);\n            local_48 = uVar15;\n            local_40 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n                    /* try { // try from 001e7189 to 001e718d has its CatchHandler @ 001e7437 */\n            FUN_001d9dc0(uVar6,local_68);\n            if (local_68[0] != local_58) {\n              FUN_002f1e60();\n            }\n          }\n          if (local_a8 != auStack_98) {\n            FUN_002f1e60();\n          }\n        }\n      }" { (expression_statement "local_104 = uVar15;" (assignment_expression "local_104 = uVar15" identifier = identifier) ;) (if_statement "if (cVar14 != '\0') goto LAB_001e6e26;" if (parenthesized_expression "(cVar14 != '\0')" ( (binary_expression "cVar14 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_001e6e26;" goto statement_identifier ;)) (labeled_statement "LAB_001e6d30:\n        if (*(uint *)(param_1 + 7) <= local_104) goto LAB_001e6e59;" statement_identifier : (if_statement "if (*(uint *)(param_1 + 7) <= local_104) goto LAB_001e6e59;" if (parenthesized_expression "(*(uint *)(param_1 + 7) <= local_104)" ( (binary_expression "*(uint *)(param_1 + 7) <= local_104" (pointer_expression "*(uint *)(param_1 + 7)" * (cast_expression "(uint *)(param_1 + 7)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 7)" ( (binary_expression "param_1 + 7" identifier + number_literal) )))) <= identifier) )) (goto_statement "goto LAB_001e6e59;" goto statement_identifier ;))) (labeled_statement "LAB_001e6d3a:\n        uVar15 = local_104;" statement_identifier : (expression_statement "uVar15 = local_104;" (assignment_expression "uVar15 = local_104" identifier = identifier) ;)) (if_statement "if (local_104 < param_4) {\n          uVar6 = gettext("invalid section group %u refers to earlier section %u");\n                    /* try { // try from 001e6fe2 to 001e6fe6 has its CatchHandler @ 001e73c5 */\n          FUN_001d19e0(param_1,uVar6,param_4,uVar15);\n        }" if (parenthesized_expression "(local_104 < param_4)" ( (binary_expression "local_104 < param_4" identifier < identifier) )) (compound_statement "{\n          uVar6 = gettext("invalid section group %u refers to earlier section %u");\n                    /* try { // try from 001e6fe2 to 001e6fe6 has its CatchHandler @ 001e73c5 */\n          FUN_001d19e0(param_1,uVar6,param_4,uVar15);\n        }" { (expression_statement "uVar6 = gettext("invalid section group %u refers to earlier section %u");" (assignment_expression "uVar6 = gettext("invalid section group %u refers to earlier section %u")" identifier = (call_expression "gettext("invalid section group %u refers to earlier section %u")" identifier (argument_list "("invalid section group %u refers to earlier section %u")" ( (string_literal ""invalid section group %u refers to earlier section %u"" " string_content ") )))) ;) comment (expression_statement "FUN_001d19e0(param_1,uVar6,param_4,uVar15);" (call_expression "FUN_001d19e0(param_1,uVar6,param_4,uVar15)" identifier (argument_list "(param_1,uVar6,param_4,uVar15)" ( identifier , identifier , identifier , identifier ))) ;) })) (expression_statement "puVar8 = (uint *)((ulong)(local_104 << 6) + param_6);" (assignment_expression "puVar8 = (uint *)((ulong)(local_104 << 6) + param_6)" identifier = (cast_expression "(uint *)((ulong)(local_104 << 6) + param_6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)(local_104 << 6) + param_6)" ( (binary_expression "(ulong)(local_104 << 6) + param_6" (call_expression "(ulong)(local_104 << 6)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(local_104 << 6)" ( (binary_expression "local_104 << 6" identifier << number_literal) ))) + identifier) )))) ;) (expression_statement "uVar15 = *puVar8;" (assignment_expression "uVar15 = *puVar8" identifier = (pointer_expression "*puVar8" * identifier)) ;) (expression_statement "uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);" (assignment_expression "uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18)" identifier = (call_expression "(ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18)" ( (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18" (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8" (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8" (binary_expression "uVar15 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar15 & 0xff0000) >> 8" (parenthesized_expression "(uVar15 & 0xff0000)" ( (binary_expression "uVar15 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar15 & 0xff00) << 8" (parenthesized_expression "(uVar15 & 0xff00)" ( (binary_expression "uVar15 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar15 << 0x18" identifier << number_literal)) )))) ;) (if_statement "if (uVar10 < param_8) {\n          pcVar12 = (char *)0xffffffffffffffff;\n          __s = (char *)(uVar10 + param_7);\n          local_a8 = auStack_98;\n          if (__s != (char *)0x0) {\n            sVar9 = strlen(__s);\n            pcVar12 = __s + sVar9;\n          }\n                    /* try { // try from 001e6d98 to 001e6e77 has its CatchHandler @ 001e73c5 */\n          FUN_00174550(&local_a8,__s,pcVar12);\n          uVar15 = local_104;\n          if (local_121 == '\0') {\n            puVar11 = (ulong *)((ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9);\n            *puVar11 = *puVar11 | 1L << ((byte)local_104 & 0x3f);\n            if ((local_122 != '\0') && ((local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0')))) {\n              uVar10 = *(ulong *)(puVar8 + 8);\n              local_78 = local_f0;\n              local_88[0] = local_104;\n              local_80 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n              local_6c = 1;\n              local_70 = uVar4;\n                    /* try { // try from 001e706e to 001e7072 has its CatchHandler @ 001e73ca */\n              FUN_001e2560(param_1 + 0x36,local_88);\n            }\n          }\n          else if (local_122 != '\0') {\n            uVar10 = *(ulong *)(puVar8 + 8);\n            if (*(char *)(local_f0 + 0xc) == '\0') {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001e73c0 to 001e73c4 has its CatchHandler @ 001e73ca */\n              FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            uVar6 = *(undefined8 *)(local_f0 + 0x10);\n            local_68[0] = local_58;\n                    /* try { // try from 001e7166 to 001e716a has its CatchHandler @ 001e73ca */\n            FUN_0017d640(local_68,local_a8,local_a8 + local_a0);\n            local_48 = uVar15;\n            local_40 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n                    /* try { // try from 001e7189 to 001e718d has its CatchHandler @ 001e7437 */\n            FUN_001d9dc0(uVar6,local_68);\n            if (local_68[0] != local_58) {\n              FUN_002f1e60();\n            }\n          }\n          if (local_a8 != auStack_98) {\n            FUN_002f1e60();\n          }\n        }" if (parenthesized_expression "(uVar10 < param_8)" ( (binary_expression "uVar10 < param_8" identifier < identifier) )) (compound_statement "{\n          pcVar12 = (char *)0xffffffffffffffff;\n          __s = (char *)(uVar10 + param_7);\n          local_a8 = auStack_98;\n          if (__s != (char *)0x0) {\n            sVar9 = strlen(__s);\n            pcVar12 = __s + sVar9;\n          }\n                    /* try { // try from 001e6d98 to 001e6e77 has its CatchHandler @ 001e73c5 */\n          FUN_00174550(&local_a8,__s,pcVar12);\n          uVar15 = local_104;\n          if (local_121 == '\0') {\n            puVar11 = (ulong *)((ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9);\n            *puVar11 = *puVar11 | 1L << ((byte)local_104 & 0x3f);\n            if ((local_122 != '\0') && ((local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0')))) {\n              uVar10 = *(ulong *)(puVar8 + 8);\n              local_78 = local_f0;\n              local_88[0] = local_104;\n              local_80 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n              local_6c = 1;\n              local_70 = uVar4;\n                    /* try { // try from 001e706e to 001e7072 has its CatchHandler @ 001e73ca */\n              FUN_001e2560(param_1 + 0x36,local_88);\n            }\n          }\n          else if (local_122 != '\0') {\n            uVar10 = *(ulong *)(puVar8 + 8);\n            if (*(char *)(local_f0 + 0xc) == '\0') {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001e73c0 to 001e73c4 has its CatchHandler @ 001e73ca */\n              FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            uVar6 = *(undefined8 *)(local_f0 + 0x10);\n            local_68[0] = local_58;\n                    /* try { // try from 001e7166 to 001e716a has its CatchHandler @ 001e73ca */\n            FUN_0017d640(local_68,local_a8,local_a8 + local_a0);\n            local_48 = uVar15;\n            local_40 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n                    /* try { // try from 001e7189 to 001e718d has its CatchHandler @ 001e7437 */\n            FUN_001d9dc0(uVar6,local_68);\n            if (local_68[0] != local_58) {\n              FUN_002f1e60();\n            }\n          }\n          if (local_a8 != auStack_98) {\n            FUN_002f1e60();\n          }\n        }" { (expression_statement "pcVar12 = (char *)0xffffffffffffffff;" (assignment_expression "pcVar12 = (char *)0xffffffffffffffff" identifier = (cast_expression "(char *)0xffffffffffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "__s = (char *)(uVar10 + param_7);" (assignment_expression "__s = (char *)(uVar10 + param_7)" identifier = (cast_expression "(char *)(uVar10 + param_7)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar10 + param_7)" ( (binary_expression "uVar10 + param_7" identifier + identifier) )))) ;) (expression_statement "local_a8 = auStack_98;" (assignment_expression "local_a8 = auStack_98" identifier = identifier) ;) (if_statement "if (__s != (char *)0x0) {\n            sVar9 = strlen(__s);\n            pcVar12 = __s + sVar9;\n          }" if (parenthesized_expression "(__s != (char *)0x0)" ( (binary_expression "__s != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            sVar9 = strlen(__s);\n            pcVar12 = __s + sVar9;\n          }" { (expression_statement "sVar9 = strlen(__s);" (assignment_expression "sVar9 = strlen(__s)" identifier = (call_expression "strlen(__s)" identifier (argument_list "(__s)" ( identifier )))) ;) (expression_statement "pcVar12 = __s + sVar9;" (assignment_expression "pcVar12 = __s + sVar9" identifier = (binary_expression "__s + sVar9" identifier + identifier)) ;) })) comment (expression_statement "FUN_00174550(&local_a8,__s,pcVar12);" (call_expression "FUN_00174550(&local_a8,__s,pcVar12)" identifier (argument_list "(&local_a8,__s,pcVar12)" ( (pointer_expression "&local_a8" & identifier) , identifier , identifier ))) ;) (expression_statement "uVar15 = local_104;" (assignment_expression "uVar15 = local_104" identifier = identifier) ;) (if_statement "if (local_121 == '\0') {\n            puVar11 = (ulong *)((ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9);\n            *puVar11 = *puVar11 | 1L << ((byte)local_104 & 0x3f);\n            if ((local_122 != '\0') && ((local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0')))) {\n              uVar10 = *(ulong *)(puVar8 + 8);\n              local_78 = local_f0;\n              local_88[0] = local_104;\n              local_80 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n              local_6c = 1;\n              local_70 = uVar4;\n                    /* try { // try from 001e706e to 001e7072 has its CatchHandler @ 001e73ca */\n              FUN_001e2560(param_1 + 0x36,local_88);\n            }\n          }\n          else if (local_122 != '\0') {\n            uVar10 = *(ulong *)(puVar8 + 8);\n            if (*(char *)(local_f0 + 0xc) == '\0') {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001e73c0 to 001e73c4 has its CatchHandler @ 001e73ca */\n              FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            uVar6 = *(undefined8 *)(local_f0 + 0x10);\n            local_68[0] = local_58;\n                    /* try { // try from 001e7166 to 001e716a has its CatchHandler @ 001e73ca */\n            FUN_0017d640(local_68,local_a8,local_a8 + local_a0);\n            local_48 = uVar15;\n            local_40 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n                    /* try { // try from 001e7189 to 001e718d has its CatchHandler @ 001e7437 */\n            FUN_001d9dc0(uVar6,local_68);\n            if (local_68[0] != local_58) {\n              FUN_002f1e60();\n            }\n          }" if (parenthesized_expression "(local_121 == '\0')" ( (binary_expression "local_121 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            puVar11 = (ulong *)((ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9);\n            *puVar11 = *puVar11 | 1L << ((byte)local_104 & 0x3f);\n            if ((local_122 != '\0') && ((local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0')))) {\n              uVar10 = *(ulong *)(puVar8 + 8);\n              local_78 = local_f0;\n              local_88[0] = local_104;\n              local_80 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n              local_6c = 1;\n              local_70 = uVar4;\n                    /* try { // try from 001e706e to 001e7072 has its CatchHandler @ 001e73ca */\n              FUN_001e2560(param_1 + 0x36,local_88);\n            }\n          }" { (expression_statement "puVar11 = (ulong *)((ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9);" (assignment_expression "puVar11 = (ulong *)((ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9)" identifier = (cast_expression "(ulong *)((ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9)" ( (binary_expression "(ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9" (call_expression "(ulong)(local_104 >> 3 & 0x1ffffff8)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(local_104 >> 3 & 0x1ffffff8)" ( (binary_expression "local_104 >> 3 & 0x1ffffff8" (binary_expression "local_104 >> 3" identifier >> number_literal) & number_literal) ))) + (pointer_expression "*param_9" * identifier)) )))) ;) (expression_statement "*puVar11 = *puVar11 | 1L << ((byte)local_104 & 0x3f);" (assignment_expression "*puVar11 = *puVar11 | 1L << ((byte)local_104 & 0x3f)" (pointer_expression "*puVar11" * identifier) = (binary_expression "*puVar11 | 1L << ((byte)local_104 & 0x3f)" (pointer_expression "*puVar11" * identifier) | (binary_expression "1L << ((byte)local_104 & 0x3f)" number_literal << (parenthesized_expression "((byte)local_104 & 0x3f)" ( (binary_expression "(byte)local_104 & 0x3f" (cast_expression "(byte)local_104" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))))) ;) (if_statement "if ((local_122 != '\0') && ((local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0')))) {\n              uVar10 = *(ulong *)(puVar8 + 8);\n              local_78 = local_f0;\n              local_88[0] = local_104;\n              local_80 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n              local_6c = 1;\n              local_70 = uVar4;\n                    /* try { // try from 001e706e to 001e7072 has its CatchHandler @ 001e73ca */\n              FUN_001e2560(param_1 + 0x36,local_88);\n            }" if (parenthesized_expression "((local_122 != '\0') && ((local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0'))))" ( (binary_expression "(local_122 != '\0') && ((local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0')))" (parenthesized_expression "(local_122 != '\0')" ( (binary_expression "local_122 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "((local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0')))" ( (parenthesized_expression "(local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0'))" ( (binary_expression "local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0')" (binary_expression "local_118 == 2" identifier == number_literal) || (parenthesized_expression "(*(char *)(local_f0 + 0xc) != '\0')" ( (binary_expression "*(char *)(local_f0 + 0xc) != '\0'" (pointer_expression "*(char *)(local_f0 + 0xc)" * (cast_expression "(char *)(local_f0 + 0xc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_f0 + 0xc)" ( (binary_expression "local_f0 + 0xc" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) ))) )) (compound_statement "{\n              uVar10 = *(ulong *)(puVar8 + 8);\n              local_78 = local_f0;\n              local_88[0] = local_104;\n              local_80 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n              local_6c = 1;\n              local_70 = uVar4;\n                    /* try { // try from 001e706e to 001e7072 has its CatchHandler @ 001e73ca */\n              FUN_001e2560(param_1 + 0x36,local_88);\n            }" { (expression_statement "uVar10 = *(ulong *)(puVar8 + 8);" (assignment_expression "uVar10 = *(ulong *)(puVar8 + 8)" identifier = (pointer_expression "*(ulong *)(puVar8 + 8)" * (cast_expression "(ulong *)(puVar8 + 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 8)" ( (binary_expression "puVar8 + 8" identifier + number_literal) ))))) ;) (expression_statement "local_78 = local_f0;" (assignment_expression "local_78 = local_f0" identifier = identifier) ;) (expression_statement "local_88[0] = local_104;" (assignment_expression "local_88[0] = local_104" (subscript_expression "local_88[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_80 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;" (assignment_expression "local_80 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38" identifier = (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28" (binary_expression "uVar10 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar10 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar10 & 0xff000000000000)" ( (binary_expression "uVar10 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar10 & 0xff0000000000)" ( (binary_expression "uVar10 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff00000000) >> 8" (parenthesized_expression "(uVar10 & 0xff00000000)" ( (binary_expression "uVar10 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff000000) << 8" (parenthesized_expression "(uVar10 & 0xff000000)" ( (binary_expression "uVar10 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar10 & 0xff0000) << 0x18" (parenthesized_expression "(uVar10 & 0xff0000)" ( (binary_expression "uVar10 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar10 & 0xff00) << 0x28" (parenthesized_expression "(uVar10 & 0xff00)" ( (binary_expression "uVar10 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar10 << 0x38" identifier << number_literal))) ;) (expression_statement "local_6c = 1;" (assignment_expression "local_6c = 1" identifier = number_literal) ;) (expression_statement "local_70 = uVar4;" (assignment_expression "local_70 = uVar4" identifier = identifier) ;) comment (expression_statement "FUN_001e2560(param_1 + 0x36,local_88);" (call_expression "FUN_001e2560(param_1 + 0x36,local_88)" identifier (argument_list "(param_1 + 0x36,local_88)" ( (binary_expression "param_1 + 0x36" identifier + number_literal) , identifier ))) ;) })) }) (else_clause "else if (local_122 != '\0') {\n            uVar10 = *(ulong *)(puVar8 + 8);\n            if (*(char *)(local_f0 + 0xc) == '\0') {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001e73c0 to 001e73c4 has its CatchHandler @ 001e73ca */\n              FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            uVar6 = *(undefined8 *)(local_f0 + 0x10);\n            local_68[0] = local_58;\n                    /* try { // try from 001e7166 to 001e716a has its CatchHandler @ 001e73ca */\n            FUN_0017d640(local_68,local_a8,local_a8 + local_a0);\n            local_48 = uVar15;\n            local_40 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n                    /* try { // try from 001e7189 to 001e718d has its CatchHandler @ 001e7437 */\n            FUN_001d9dc0(uVar6,local_68);\n            if (local_68[0] != local_58) {\n              FUN_002f1e60();\n            }\n          }" else (if_statement "if (local_122 != '\0') {\n            uVar10 = *(ulong *)(puVar8 + 8);\n            if (*(char *)(local_f0 + 0xc) == '\0') {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001e73c0 to 001e73c4 has its CatchHandler @ 001e73ca */\n              FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            uVar6 = *(undefined8 *)(local_f0 + 0x10);\n            local_68[0] = local_58;\n                    /* try { // try from 001e7166 to 001e716a has its CatchHandler @ 001e73ca */\n            FUN_0017d640(local_68,local_a8,local_a8 + local_a0);\n            local_48 = uVar15;\n            local_40 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n                    /* try { // try from 001e7189 to 001e718d has its CatchHandler @ 001e7437 */\n            FUN_001d9dc0(uVar6,local_68);\n            if (local_68[0] != local_58) {\n              FUN_002f1e60();\n            }\n          }" if (parenthesized_expression "(local_122 != '\0')" ( (binary_expression "local_122 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            uVar10 = *(ulong *)(puVar8 + 8);\n            if (*(char *)(local_f0 + 0xc) == '\0') {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001e73c0 to 001e73c4 has its CatchHandler @ 001e73ca */\n              FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            uVar6 = *(undefined8 *)(local_f0 + 0x10);\n            local_68[0] = local_58;\n                    /* try { // try from 001e7166 to 001e716a has its CatchHandler @ 001e73ca */\n            FUN_0017d640(local_68,local_a8,local_a8 + local_a0);\n            local_48 = uVar15;\n            local_40 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n                    /* try { // try from 001e7189 to 001e718d has its CatchHandler @ 001e7437 */\n            FUN_001d9dc0(uVar6,local_68);\n            if (local_68[0] != local_58) {\n              FUN_002f1e60();\n            }\n          }" { (expression_statement "uVar10 = *(ulong *)(puVar8 + 8);" (assignment_expression "uVar10 = *(ulong *)(puVar8 + 8)" identifier = (pointer_expression "*(ulong *)(puVar8 + 8)" * (cast_expression "(ulong *)(puVar8 + 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 8)" ( (binary_expression "puVar8 + 8" identifier + number_literal) ))))) ;) (if_statement "if (*(char *)(local_f0 + 0xc) == '\0') {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001e73c0 to 001e73c4 has its CatchHandler @ 001e73ca */\n              FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");\n            }" if (parenthesized_expression "(*(char *)(local_f0 + 0xc) == '\0')" ( (binary_expression "*(char *)(local_f0 + 0xc) == '\0'" (pointer_expression "*(char *)(local_f0 + 0xc)" * (cast_expression "(char *)(local_f0 + 0xc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_f0 + 0xc)" ( (binary_expression "local_f0 + 0xc" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001e73c0 to 001e73c4 has its CatchHandler @ 001e73ca */\n              FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");\n            }" { comment comment (expression_statement "FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");" (call_expression "FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section")" identifier (argument_list "("../../gold/layout.h",0x135,"add_comdat_section")" ( (string_literal ""../../gold/layout.h"" " string_content ") , number_literal , (string_literal ""add_comdat_section"" " string_content ") ))) ;) })) (expression_statement "uVar6 = *(undefined8 *)(local_f0 + 0x10);" (assignment_expression "uVar6 = *(undefined8 *)(local_f0 + 0x10)" identifier = (pointer_expression "*(undefined8 *)(local_f0 + 0x10)" * (cast_expression "(undefined8 *)(local_f0 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_f0 + 0x10)" ( (binary_expression "local_f0 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "local_68[0] = local_58;" (assignment_expression "local_68[0] = local_58" (subscript_expression "local_68[0]" identifier [ number_literal ]) = identifier) ;) comment (expression_statement "FUN_0017d640(local_68,local_a8,local_a8 + local_a0);" (call_expression "FUN_0017d640(local_68,local_a8,local_a8 + local_a0)" identifier (argument_list "(local_68,local_a8,local_a8 + local_a0)" ( identifier , identifier , (binary_expression "local_a8 + local_a0" identifier + identifier) ))) ;) (expression_statement "local_48 = uVar15;" (assignment_expression "local_48 = uVar15" identifier = identifier) ;) (expression_statement "local_40 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;" (assignment_expression "local_40 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38" identifier = (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28" (binary_expression "uVar10 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar10 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar10 & 0xff000000000000)" ( (binary_expression "uVar10 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar10 & 0xff0000000000)" ( (binary_expression "uVar10 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff00000000) >> 8" (parenthesized_expression "(uVar10 & 0xff00000000)" ( (binary_expression "uVar10 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff000000) << 8" (parenthesized_expression "(uVar10 & 0xff000000)" ( (binary_expression "uVar10 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar10 & 0xff0000) << 0x18" (parenthesized_expression "(uVar10 & 0xff0000)" ( (binary_expression "uVar10 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar10 & 0xff00) << 0x28" (parenthesized_expression "(uVar10 & 0xff00)" ( (binary_expression "uVar10 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar10 << 0x38" identifier << number_literal))) ;) comment (expression_statement "FUN_001d9dc0(uVar6,local_68);" (call_expression "FUN_001d9dc0(uVar6,local_68)" identifier (argument_list "(uVar6,local_68)" ( identifier , identifier ))) ;) (if_statement "if (local_68[0] != local_58) {\n              FUN_002f1e60();\n            }" if (parenthesized_expression "(local_68[0] != local_58)" ( (binary_expression "local_68[0] != local_58" (subscript_expression "local_68[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n              FUN_002f1e60();\n            }" { (expression_statement "FUN_002f1e60();" (call_expression "FUN_002f1e60()" identifier (argument_list "()" ( ))) ;) })) })))) (if_statement "if (local_a8 != auStack_98) {\n            FUN_002f1e60();\n          }" if (parenthesized_expression "(local_a8 != auStack_98)" ( (binary_expression "local_a8 != auStack_98" identifier != identifier) )) (compound_statement "{\n            FUN_002f1e60();\n          }" { (expression_statement "FUN_002f1e60();" (call_expression "FUN_002f1e60()" identifier (argument_list "()" ( ))) ;) })) })) }) (else_clause "else {\n        FUN_001dab60(param_1 + 0x1f);\n        uVar15 = uVar15 + (int)param_1[0x22];\n        local_104 = uVar15;\n        if (cVar14 == '\0') goto LAB_001e6d30;\nLAB_001e6e26:\n        local_104 = uVar15;\n        if (local_e0 == local_d8) {\n                    /* try { // try from 001e71be to 001e71c2 has its CatchHandler @ 001e73c5 */\n          FUN_001a8910(&local_e8,local_e0,&local_104);\n          goto LAB_001e6d30;\n        }\n        *local_e0 = uVar15;\n        local_e0 = local_e0 + 1;\n        if (uVar15 < *(uint *)(param_1 + 7)) goto LAB_001e6d3a;\nLAB_001e6e59:\n        uVar15 = local_104;\n        uVar6 = gettext("section %u in section group %u out of range");\n        FUN_001d19e0(param_1,uVar6,uVar15,param_4);\n      }" else (compound_statement "{\n        FUN_001dab60(param_1 + 0x1f);\n        uVar15 = uVar15 + (int)param_1[0x22];\n        local_104 = uVar15;\n        if (cVar14 == '\0') goto LAB_001e6d30;\nLAB_001e6e26:\n        local_104 = uVar15;\n        if (local_e0 == local_d8) {\n                    /* try { // try from 001e71be to 001e71c2 has its CatchHandler @ 001e73c5 */\n          FUN_001a8910(&local_e8,local_e0,&local_104);\n          goto LAB_001e6d30;\n        }\n        *local_e0 = uVar15;\n        local_e0 = local_e0 + 1;\n        if (uVar15 < *(uint *)(param_1 + 7)) goto LAB_001e6d3a;\nLAB_001e6e59:\n        uVar15 = local_104;\n        uVar6 = gettext("section %u in section group %u out of range");\n        FUN_001d19e0(param_1,uVar6,uVar15,param_4);\n      }" { (expression_statement "FUN_001dab60(param_1 + 0x1f);" (call_expression "FUN_001dab60(param_1 + 0x1f)" identifier (argument_list "(param_1 + 0x1f)" ( (binary_expression "param_1 + 0x1f" identifier + number_literal) ))) ;) (expression_statement "uVar15 = uVar15 + (int)param_1[0x22];" (assignment_expression "uVar15 = uVar15 + (int)param_1[0x22]" identifier = (binary_expression "uVar15 + (int)param_1[0x22]" identifier + (cast_expression "(int)param_1[0x22]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_1[0x22]" identifier [ number_literal ])))) ;) (expression_statement "local_104 = uVar15;" (assignment_expression "local_104 = uVar15" identifier = identifier) ;) (if_statement "if (cVar14 == '\0') goto LAB_001e6d30;" if (parenthesized_expression "(cVar14 == '\0')" ( (binary_expression "cVar14 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_001e6d30;" goto statement_identifier ;)) (labeled_statement "LAB_001e6e26:\n        local_104 = uVar15;" statement_identifier : (expression_statement "local_104 = uVar15;" (assignment_expression "local_104 = uVar15" identifier = identifier) ;)) (if_statement "if (local_e0 == local_d8) {\n                    /* try { // try from 001e71be to 001e71c2 has its CatchHandler @ 001e73c5 */\n          FUN_001a8910(&local_e8,local_e0,&local_104);\n          goto LAB_001e6d30;\n        }" if (parenthesized_expression "(local_e0 == local_d8)" ( (binary_expression "local_e0 == local_d8" identifier == identifier) )) (compound_statement "{\n                    /* try { // try from 001e71be to 001e71c2 has its CatchHandler @ 001e73c5 */\n          FUN_001a8910(&local_e8,local_e0,&local_104);\n          goto LAB_001e6d30;\n        }" { comment (expression_statement "FUN_001a8910(&local_e8,local_e0,&local_104);" (call_expression "FUN_001a8910(&local_e8,local_e0,&local_104)" identifier (argument_list "(&local_e8,local_e0,&local_104)" ( (pointer_expression "&local_e8" & identifier) , identifier , (pointer_expression "&local_104" & identifier) ))) ;) (goto_statement "goto LAB_001e6d30;" goto statement_identifier ;) })) (expression_statement "*local_e0 = uVar15;" (assignment_expression "*local_e0 = uVar15" (pointer_expression "*local_e0" * identifier) = identifier) ;) (expression_statement "local_e0 = local_e0 + 1;" (assignment_expression "local_e0 = local_e0 + 1" identifier = (binary_expression "local_e0 + 1" identifier + number_literal)) ;) (if_statement "if (uVar15 < *(uint *)(param_1 + 7)) goto LAB_001e6d3a;" if (parenthesized_expression "(uVar15 < *(uint *)(param_1 + 7))" ( (binary_expression "uVar15 < *(uint *)(param_1 + 7)" identifier < (pointer_expression "*(uint *)(param_1 + 7)" * (cast_expression "(uint *)(param_1 + 7)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 7)" ( (binary_expression "param_1 + 7" identifier + number_literal) ))))) )) (goto_statement "goto LAB_001e6d3a;" goto statement_identifier ;)) (labeled_statement "LAB_001e6e59:\n        uVar15 = local_104;" statement_identifier : (expression_statement "uVar15 = local_104;" (assignment_expression "uVar15 = local_104" identifier = identifier) ;)) (expression_statement "uVar6 = gettext("section %u in section group %u out of range");" (assignment_expression "uVar6 = gettext("section %u in section group %u out of range")" identifier = (call_expression "gettext("section %u in section group %u out of range")" identifier (argument_list "("section %u in section group %u out of range")" ( (string_literal ""section %u in section group %u out of range"" " string_content ") )))) ;) (expression_statement "FUN_001d19e0(param_1,uVar6,uVar15,param_4);" (call_expression "FUN_001d19e0(param_1,uVar6,uVar15,param_4)" identifier (argument_list "(param_1,uVar6,uVar15,param_4)" ( identifier , identifier , identifier , identifier ))) ;) }))) (expression_statement "local_110 = (long *)((long)local_110 + 1);" (assignment_expression "local_110 = (long *)((long)local_110 + 1)" identifier = (cast_expression "(long *)((long)local_110 + 1)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_110 + 1)" ( (binary_expression "(long)local_110 + 1" (cast_expression "(long)local_110" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(local_110 < local_118)" ( (binary_expression "local_110 < local_118" identifier < identifier) )) ;) (if_statement "if (cVar14 != '\0') {\nLAB_001e7093:\n      local_110 = &local_e8;\n                    /* try { // try from 001e70ce to 001e70d2 has its CatchHandler @ 001e73c5 */\n      FUN_001caee0(param_3,param_2,param_1,param_4,param_5,local_c8[0],&local_100,\n                   uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                   local_110);\n    }" if (parenthesized_expression "(cVar14 != '\0')" ( (binary_expression "cVar14 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_001e7093:\n      local_110 = &local_e8;\n                    /* try { // try from 001e70ce to 001e70d2 has its CatchHandler @ 001e73c5 */\n      FUN_001caee0(param_3,param_2,param_1,param_4,param_5,local_c8[0],&local_100,\n                   uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                   local_110);\n    }" { (labeled_statement "LAB_001e7093:\n      local_110 = &local_e8;" statement_identifier : (expression_statement "local_110 = &local_e8;" (assignment_expression "local_110 = &local_e8" identifier = (pointer_expression "&local_e8" & identifier)) ;)) comment (expression_statement "FUN_001caee0(param_3,param_2,param_1,param_4,param_5,local_c8[0],&local_100,\n                   uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                   local_110);" (call_expression "FUN_001caee0(param_3,param_2,param_1,param_4,param_5,local_c8[0],&local_100,\n                   uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                   local_110)" identifier (argument_list "(param_3,param_2,param_1,param_4,param_5,local_c8[0],&local_100,\n                   uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                   local_110)" ( identifier , identifier , identifier , identifier , identifier , (subscript_expression "local_c8[0]" identifier [ number_literal ]) , (pointer_expression "&local_100" & identifier) , (binary_expression "uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18" (binary_expression "uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8" (binary_expression "uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8" (binary_expression "uVar1 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar1 & 0xff0000) >> 8" (parenthesized_expression "(uVar1 & 0xff0000)" ( (binary_expression "uVar1 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar1 & 0xff00) << 8" (parenthesized_expression "(uVar1 & 0xff00)" ( (binary_expression "uVar1 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar1 << 0x18" identifier << number_literal)) , identifier ))) ;) })) }))) (if_statement "if (local_e8 != 0) {\n    FUN_002f1e60();\n  }" if (parenthesized_expression "(local_e8 != 0)" ( (binary_expression "local_e8 != 0" identifier != number_literal) )) (compound_statement "{\n    FUN_002f1e60();\n  }" { (expression_statement "FUN_002f1e60();" (call_expression "FUN_002f1e60()" identifier (argument_list "()" ( ))) ;) })) (labeled_statement "LAB_001e70e8:\n  if (local_c8[0] != acStack_b8) {\n    FUN_002f1e60();\n  }" statement_identifier : (if_statement "if (local_c8[0] != acStack_b8) {\n    FUN_002f1e60();\n  }" if (parenthesized_expression "(local_c8[0] != acStack_b8)" ( (binary_expression "local_c8[0] != acStack_b8" (subscript_expression "local_c8[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n    FUN_002f1e60();\n  }" { (expression_statement "FUN_002f1e60();" (call_expression "FUN_002f1e60()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return local_121;" return identifier ;) })))
(translation_unit "/* WARNING: Type propagation algorithm not settling */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* WARNING: Enum "ELFOSABI": Some values do not have unique names */\n/* DWARF original prototype: bool include_section_group(Sized_relobj_file<64,_true> * this,\n   Symbol_table * symtab, Layout * layout, uint index, char * name, uchar * shdrs, char *\n   section_names, section_size_type section_names_size, vector<bool,_std::allocator<bool>_> * omit)\n    */\n\nbool __thiscall\ngold::Sized_relobj_file<64,_true>::include_section_group\n          (Sized_relobj_file<64,_true> *this,Symbol_table *symtab,Layout *layout,uint index,\n          char *name,uchar *shdrs,char *section_names,section_size_type section_names_size,\n          vector<bool,_std::allocator<bool>_> *omit)\n\n{\n  uint uVar1;\n  ulong uVar2;\n  _func_int_varargs *p_Var3;\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>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_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>_>,_gold::Kept_section::Comdat_section_info>_>_>\n  *this_00;\n  Elf_Word EVar4;\n  char cVar5;\n  ushort uVar6;\n  uint uVar7;\n  int iVar8;\n  uint *puVar9;\n  off_t start;\n  uchar *puVar10;\n  uint *puVar11;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *paVar12;\n  size_t sVar13;\n  char *pcVar14;\n  ulong uVar15;\n  ulong *puVar16;\n  undefined4 extraout_var;\n  bool *is_ordinary_00;\n  bool *size;\n  char *__s;\n  Input_file *this_01;\n  uint uVar17;\n  Location LVar18;\n  bool local_122;\n  char local_121;\n  ulong local_118;\n  vector<unsigned_int,_std::allocator<unsigned_int>_> *local_110;\n  Elf_Word shndx;\n  Shdr shdr;\n  section_size_type symnamelen;\n  Kept_section *kept_section;\n  vector<unsigned_int,_std::allocator<unsigned_int>_> shndxes;\n  string signature;\n  string mname;\n  pair<unsigned_int,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section> local_88;\n  bool is_ordinary;\n  uint7 uStack_67;\n  char local_58 [16];\n  Elf_Word local_48;\n  ulong local_40;\n  \n  shdr.p_ = (Shdr_data<64> *)(shdrs + (index << 6));\n  this_01 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.input_file_;\n  uVar15 = (shdr.p_)->sh_size;\n  uVar2 = (shdr.p_)->sh_offset;\n  if (this_01 == (Input_file *)0x0) {\nLAB_001e7390:\n                    /* WARNING: Subroutine does not return */\n    Object::input_file((Object *)this_01);\n  }\n  puVar9 = (uint *)File_read::get_view(&this_01->file_,\n                                       (this->super_Sized_relobj<64,_true>).super_Relobj.\n                                       super_Object.offset_,\n                                       uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 |\n                                       (uVar2 & 0xff0000000000) >> 0x18 |\n                                       (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 |\n                                       (uVar2 & 0xff0000) << 0x18 | (uVar2 & 0xff00) << 0x28 |\n                                       uVar2 << 0x38,\n                                       uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                                       (uVar15 & 0xff0000000000) >> 0x18 |\n                                       (uVar15 & 0xff00000000) >> 8 | (uVar15 & 0xff000000) << 8 |\n                                       (uVar15 & 0xff0000) << 0x18 | (uVar15 & 0xff00) << 0x28 |\n                                       uVar15 << 0x38,true,false);\n  uVar1 = *puVar9;\n  uVar7 = (shdr.p_)->sh_link;\n  uVar7 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n  if (0xfeff < uVar7) {\n    elfcpp::Elf_file<64,_true,_gold::Object>::initialize_shnum(&this->elf_file_);\n    uVar7 = uVar7 + (this->elf_file_).large_shndx_offset_;\n  }\n  start = elfcpp::Elf_file<64,_true,_gold::Object>::section_header_offset(&this->elf_file_,uVar7);\n  this_01 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.input_file_;\n  if (this_01 == (Input_file *)0x0) goto LAB_001e7390;\n  puVar10 = File_read::get_view(&this_01->file_,\n                                (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                                offset_,start,0x40,true,true);\n  uVar15 = *(ulong *)(puVar10 + 0x20);\n  uVar7 = (shdr.p_)->sh_info;\n  uVar7 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n  if ((uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 | (uVar15 & 0xff0000000000) >> 0x18 |\n       (uVar15 & 0xff00000000) >> 8 | (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n       (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38) / 0x18 <= (ulong)uVar7) {\n    pcVar14 = (char *)gettext("section group %u info %u out of range");\n    uVar15 = (ulong)index;\nLAB_001e6ed5:\n    Object::error((Object *)this,pcVar14,uVar15,(ulong)uVar7);\n    return (bool)'\0';\n  }\n  uVar15 = *(ulong *)(puVar10 + 0x18);\n  this_01 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.input_file_;\n  if (this_01 == (Input_file *)0x0) goto LAB_001e7390;\n  is_ordinary_00 = (bool *)0x18;\n  puVar11 = (uint *)File_read::get_view(&this_01->file_,\n                                        (this->super_Sized_relobj<64,_true>).super_Relobj.\n                                        super_Object.offset_,\n                                        (ulong)(uVar7 * 0x18) +\n                                        (uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                                         (uVar15 & 0xff0000000000) >> 0x18 |\n                                         (uVar15 & 0xff00000000) >> 8 | (uVar15 & 0xff000000) << 8 |\n                                         (uVar15 & 0xff0000) << 0x18 | (uVar15 & 0xff00) << 0x28 |\n                                        uVar15 << 0x38),0x18,true,false);\n  uVar17 = *(uint *)(puVar10 + 0x28);\n  uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n  if (0xfeff < uVar17) {\n    elfcpp::Elf_file<64,_true,_gold::Object>::initialize_shnum(&this->elf_file_);\n    uVar17 = uVar17 + (this->elf_file_).large_shndx_offset_;\n  }\n  p_Var3 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object[0xe];\n  if (p_Var3 == do_section_contents) {\n    LVar18 = elfcpp::Elf_file<64,_true,_gold::Object>::section_contents(&this->elf_file_,uVar17);\n    size = (bool *)LVar18.data_size;\n    puVar10 = "";\n    symnamelen = (section_size_type)size;\n    if (size != (bool *)0x0) {\n      this_01 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.input_file_;\n      if (this_01 == (Input_file *)0x0) goto LAB_001e7390;\n      puVar10 = File_read::get_view(&this_01->file_,\n                                    (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                                    offset_,LVar18.file_offset,(section_size_type)size,true,true);\n      is_ordinary_00 = size;\n    }\n  }\n  else {\n    is_ordinary_00 = (bool *)0x1;\n    iVar8 = (*p_Var3)(this,(ulong)uVar17,&symnamelen);\n    puVar10 = (uchar *)CONCAT44(extraout_var,iVar8);\n  }\n  uVar17 = *puVar11;\n  uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n  if (symnamelen <= uVar17) {\n    pcVar14 = (char *)gettext("symbol %u name offset %u out of range");\n    uVar15 = (ulong)uVar7;\n    uVar7 = uVar17;\n    goto LAB_001e6ed5;\n  }\n  std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::basic_string\n            (&signature,(char *)(puVar10 + uVar17),(allocator<char> *)symnamelen);\n  if ((*signature._M_dataplus._M_p == '\0') && ((puVar11[1] & 0xf) == 3)) {\n    uVar6 = *(ushort *)((long)puVar11 + 6) << 8 | *(ushort *)((long)puVar11 + 6) >> 8;\n    uVar17 = (uint)uVar6;\n    if (uVar17 < 0xff00) {\n      is_ordinary = true;\nLAB_001e6f84:\n      if (uVar17 < (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_) {\n        uVar17 = *(uint *)(shdrs + (uVar17 << 6));\n        uVar15 = (ulong)(uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                        uVar17 << 0x18);\n        if (uVar15 < section_names_size) {\n                    /* try { // try from 001e6fba to 001e6fbe has its CatchHandler @ 001e7432 */\n          std::string::assign((string *)&signature,section_names + uVar15);\n        }\n        goto LAB_001e6c3f;\n      }\n    }\n    else if (uVar6 == 0xffff) {\n      uVar17 = Object::adjust_sym_shndx((Object *)this,uVar7,(uint)&is_ordinary,is_ordinary_00);\n      if (is_ordinary != false) goto LAB_001e6f84;\n    }\n    else {\n      _is_ordinary = (pointer)((ulong)uStack_67 << 8);\n    }\n    pcVar14 = (char *)gettext("symbol %u invalid section index %u");\n                    /* try { // try from 001e7358 to 001e737a has its CatchHandler @ 001e7432 */\n    Object::error((Object *)this,pcVar14,(ulong)uVar7,(ulong)uVar17);\nLAB_001e735d:\n    local_121 = '\0';\n    goto LAB_001e70e8;\n  }\nLAB_001e6c3f:\n  kept_section = (Kept_section *)0x0;\n  if ((uVar1 >> 0x18 & 1) == 0) {\n    uVar15 = (shdr.p_)->sh_size;\n    local_122 = false;\n    local_118 = uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 | (uVar15 & 0xff00) << 0x28\n                | uVar15 << 0x38;\nLAB_001e6c9f:\n    local_118 = local_118 >> 2;\n    shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_end_of_storage = (pointer)0x0;\n    shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n         (pointer)0x0;\n    shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start =\n         (pointer)0x0;\n    if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001e73a8 to 001e73ac has its CatchHandler @ 001e73c5 */\n      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n    }\n    cVar5 = (parameters->options_->relocatable_).value;\n    if ((bool)cVar5 != false) {\n                    /* try { // try from 001e7314 to 001e7318 has its CatchHandler @ 001e73c5 */\n      std::vector<unsigned_int,_std::allocator<unsigned_int>_>::reserve(&shndxes,local_118 - 1);\n      local_121 = cVar5;\n      if (1 < local_118) goto LAB_001e6cd9;\n      goto LAB_001e7093;\n    }\n    local_121 = '\x01';\n    if (1 < local_118) goto LAB_001e6cd9;\n  }\n  else {\n                    /* try { // try from 001e71ff to 001e7228 has its CatchHandler @ 001e7432 */\n    cVar5 = Layout::find_or_add_kept_section\n                      (layout,&signature,(Relobj *)this,index,true,true,&kept_section);\n    if ((bool)cVar5) {\n      if (layout->incremental_inputs_ != (Incremental_inputs *)0x0) {\n        Incremental_inputs::report_comdat_group\n                  (layout->incremental_inputs_,(Object *)this,signature._M_dataplus._M_p);\n      }\n      uVar15 = (shdr.p_)->sh_size;\n      local_118 = uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                  (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                  (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n                  (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38;\n      local_122 = (bool)cVar5;\n      goto LAB_001e6c9f;\n    }\n    shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start =\n         (pointer)0x0;\n    shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n         (pointer)0x0;\n    shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_end_of_storage = (pointer)0x0;\n    uVar15 = (shdr.p_)->sh_size;\n    local_118 = (uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                 (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                 (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n                 (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38) >> 2;\n    if (local_118 < 2) goto LAB_001e735d;\n    local_121 = '\0';\n    local_122 = true;\nLAB_001e6cd9:\n    local_110 = (vector<unsigned_int,_std::allocator<unsigned_int>_> *)0x1;\n    paVar12 = &mname.field_2;\n    do {\n      uVar17 = puVar9[(long)local_110];\n      uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n      if (uVar17 < 0xff00) {\n        shndx = uVar17;\n        if (cVar5 != '\0') goto LAB_001e6e26;\nLAB_001e6d30:\n        if ((this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_ <= shndx)\n        goto LAB_001e6e59;\nLAB_001e6d3a:\n        EVar4 = shndx;\n        if (shndx < index) {\n          pcVar14 = (char *)gettext("invalid section group %u refers to earlier section %u");\n                    /* try { // try from 001e6fe2 to 001e6fe6 has its CatchHandler @ 001e73c5 */\n          Object::error((Object *)this,pcVar14,(ulong)index,(ulong)EVar4);\n        }\n        puVar11 = (uint *)(shdrs + (shndx << 6));\n        uVar17 = *puVar11;\n        uVar15 = (ulong)(uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                        uVar17 << 0x18);\n        if (uVar15 < section_names_size) {\n          pcVar14 = (char *)0xffffffffffffffff;\n          __s = section_names + uVar15;\n          mname._M_dataplus._M_p = (pointer)paVar12;\n          if (__s != (char *)0x0) {\n            sVar13 = strlen(__s);\n            pcVar14 = __s + sVar13;\n          }\n                    /* try { // try from 001e6d98 to 001e6e77 has its CatchHandler @ 001e73c5 */\n          std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n          _M_construct<char_const*>(&mname,__s,pcVar14);\n          EVar4 = shndx;\n          if (local_121 == '\0') {\n            puVar16 = (ulong *)((ulong)(shndx >> 3 & 0x1ffffff8) +\n                               (long)(omit->super__Bvector_base<std::allocator<bool>_>)._M_impl.\n                                     super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p\n                               );\n            *puVar16 = *puVar16 | 1L << ((byte)shndx & 0x3f);\n            if ((local_122 != false) && ((local_118 == 2 || (kept_section->is_comdat_ != false)))) {\n              uVar15 = *(ulong *)(puVar11 + 8);\n              local_88.second.kept_section = kept_section;\n              local_88.first = shndx;\n              local_88.second.sh_size =\n                   uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                   (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                   (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n                   (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38;\n              local_88.second.is_comdat = true;\n              local_88.second.symndx = uVar7;\n                    /* try { // try from 001e706e to 001e7072 has its CatchHandler @ 001e73ca */\n              std::\n              _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>_>_>\n              ::\n              _M_emplace_unique<std::pair<unsigned_int,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>_>\n                        (&(this->kept_comdat_sections_)._M_t,&local_88);\n            }\n          }\n          else if (local_122 != false) {\n            uVar15 = *(ulong *)(puVar11 + 8);\n            if (kept_section->is_comdat_ == false) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001e73c0 to 001e73c4 has its CatchHandler @ 001e73ca */\n              do_gold_unreachable("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            this_00 = &((kept_section->u_).group_sections)->_M_t;\n            _is_ordinary = local_58;\n                    /* try { // try from 001e7166 to 001e716a has its CatchHandler @ 001e73ca */\n            std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n            _M_construct<char*>((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *\n                                )&is_ordinary,mname._M_dataplus._M_p,\n                                mname._M_dataplus._M_p + mname._M_string_length);\n            local_48 = EVar4;\n            local_40 = uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                       (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                       (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n                       (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38;\n                    /* try { // try from 001e7189 to 001e718d has its CatchHandler @ 001e7437 */\n            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>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_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>_>,_gold::Kept_section::Comdat_section_info>_>_>\n            ::\n            _M_emplace_unique<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>\n                      (this_00,(pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>\n                                *)&is_ordinary);\n            if (_is_ordinary != local_58) {\n              operator_delete(_is_ordinary);\n            }\n          }\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)mname._M_dataplus._M_p != paVar12) {\n            operator_delete(mname._M_dataplus._M_p);\n          }\n        }\n      }\n      else {\n        elfcpp::Elf_file<64,_true,_gold::Object>::initialize_shnum(&this->elf_file_);\n        uVar17 = uVar17 + (this->elf_file_).large_shndx_offset_;\n        shndx = uVar17;\n        if (cVar5 == '\0') goto LAB_001e6d30;\nLAB_001e6e26:\n        shndx = uVar17;\n        if (shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish ==\n            shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_end_of_storage) {\n                    /* try { // try from 001e71be to 001e71c2 has its CatchHandler @ 001e73c5 */\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::\n          _M_realloc_insert<unsigned_int_const&>\n                    (&shndxes,(iterator)\n                              shndxes.\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                              _M_impl._M_finish,&shndx);\n          goto LAB_001e6d30;\n        }\n        *shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n             uVar17;\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n             shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n             _M_finish + 1;\n        if (uVar17 < (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_)\n        goto LAB_001e6d3a;\nLAB_001e6e59:\n        EVar4 = shndx;\n        pcVar14 = (char *)gettext("section %u in section group %u out of range");\n        Object::error((Object *)this,pcVar14,(ulong)EVar4,(ulong)index);\n      }\n      local_110 = (vector<unsigned_int,_std::allocator<unsigned_int>_> *)((long)local_110 + 1);\n    } while (local_110 < local_118);\n    if (cVar5 != '\0') {\nLAB_001e7093:\n      local_110 = &shndxes;\n                    /* try { // try from 001e70ce to 001e70d2 has its CatchHandler @ 001e73c5 */\n      Layout::layout_group<64,_true>\n                (layout,symtab,this,index,name,signature._M_dataplus._M_p,&shdr,\n                 uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                 local_110);\n    }\n  }\n  if (shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start !=\n      (pointer)0x0) {\n    operator_delete(shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                    _M_start);\n  }\nLAB_001e70e8:\n  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)signature._M_dataplus._M_p != &signature.field_2) {\n    operator_delete(signature._M_dataplus._M_p);\n  }\n  return (bool)local_121;\n}\n\n" comment comment comment comment (declaration "bool __thiscall\ngold::Sized_relobj_file<64,_true>::include_section_group\n          (Sized_relobj_file<64,_true> *this,Symbol_table *symtab,Layout *layout,uint index,\n          char *name,uchar *shdrs,char *section_names,section_size_type section_names_size,\n          vector<bool,_std::allocator<bool>_> *omit)\n\n{\n  uint uVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::" identifier : :) identifier (ERROR "<64" < number_literal) , (ERROR "_true>::include_section_group\n          (Sized_relobj_file<64,_true> *this,Symbol_table *symtab,Layout *layout,uint index,\n          char *name,uchar *shdrs,char *section_names,section_size_type section_names_size,\n          vector<bool,_std::allocator<bool>_> *omit)\n\n{\n  uint" identifier > : : (function_declarator "include_section_group\n          (Sized_relobj_file<64,_true> *this,Symbol_table *symtab,Layout *layout,uint index,\n          char *name,uchar *shdrs,char *section_names,section_size_type section_names_size,\n          vector<bool,_std::allocator<bool>_> *omit)" identifier (parameter_list "(Sized_relobj_file<64,_true> *this,Symbol_table *symtab,Layout *layout,uint index,\n          char *name,uchar *shdrs,char *section_names,section_size_type section_names_size,\n          vector<bool,_std::allocator<bool>_> *omit)" ( (parameter_declaration "Sized_relobj_file" type_identifier) (ERROR "<64" < number_literal) , (parameter_declaration "_true> *this" type_identifier (ERROR ">" >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "Symbol_table *symtab" type_identifier (pointer_declarator "*symtab" * identifier)) , (parameter_declaration "Layout *layout" type_identifier (pointer_declarator "*layout" * identifier)) , (parameter_declaration "uint index" type_identifier identifier) , (parameter_declaration "char *name" primitive_type (pointer_declarator "*name" * identifier)) , (parameter_declaration "uchar *shdrs" type_identifier (pointer_declarator "*shdrs" * identifier)) , (parameter_declaration "char *section_names" primitive_type (pointer_declarator "*section_names" * identifier)) , (parameter_declaration "section_size_type section_names_size" type_identifier identifier) , (parameter_declaration "vector" type_identifier) (ERROR "<bool" < primitive_type) , (parameter_declaration "_std::allocator<bool>_> *omit" type_identifier (ERROR "::allocator<bool>_>" : : identifier < primitive_type > identifier >) (pointer_declarator "*omit" * identifier)) ))) { identifier) identifier ;) (declaration "ulong uVar2;" type_identifier identifier ;) (declaration "_func_int_varargs *p_Var3;" type_identifier (pointer_declarator "*p_Var3" * identifier) ;) (ERROR "_Rb_tree<std::" (binary_expression "_Rb_tree<std" identifier < identifier) : :) (labeled_statement "__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>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_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>_>,_gold::Kept_section::Comdat_section_info>_>_>\n  *this_00;" statement_identifier (ERROR "::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>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_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>_>,_gold:" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "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>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (comma_expression "Kept_section::Comdat_section_info>,_std" identifier (ERROR "::Comdat_section_info>" : : identifier >) , 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>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (comma_expression "Kept_section::Comdat_section_info>_>,_std" identifier (ERROR "::Comdat_section_info>_>" : : (binary_expression "Comdat_section_info>_" identifier > identifier) >) , 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>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) :) : (labeled_statement "Kept_section::Comdat_section_info>_>_>\n  *this_00;" statement_identifier : (ERROR ":" :) (expression_statement "Comdat_section_info>_>_>\n  *this_00;" (binary_expression "Comdat_section_info>_>_>\n  *this_00" (binary_expression "Comdat_section_info>_>_" (binary_expression "Comdat_section_info>_" identifier > identifier) > identifier) > (pointer_expression "*this_00" * identifier)) ;))) (declaration "Elf_Word EVar4;" type_identifier identifier ;) (declaration "char cVar5;" primitive_type identifier ;) (declaration "ushort uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "uint *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "off_t start;" type_identifier identifier ;) (declaration "uchar *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "uint *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (ERROR "anon_union_16_2_edb7204a_for_basic_string<char," (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) ,) (labeled_statement "_std::char_traits<char>,_std::allocator<char>_>_9\n  *paVar12;" statement_identifier (ERROR "::char_traits<char>,_std:" : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) :) : (expression_statement "allocator<char>_>_9\n  *paVar12;" (binary_expression "allocator<char>_>_9\n  *paVar12" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n  *paVar12" identifier * identifier)) ;)) (declaration "size_t sVar13;" primitive_type identifier ;) (declaration "char *pcVar14;" primitive_type (pointer_declarator "*pcVar14" * identifier) ;) (declaration "ulong uVar15;" type_identifier identifier ;) (declaration "ulong *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "undefined4 extraout_var;" type_identifier identifier ;) (declaration "bool *is_ordinary_00;" primitive_type (pointer_declarator "*is_ordinary_00" * identifier) ;) (declaration "bool *size;" primitive_type (pointer_declarator "*size" * identifier) ;) (declaration "char *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "Input_file *this_01;" type_identifier (pointer_declarator "*this_01" * identifier) ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "Location LVar18;" type_identifier identifier ;) (declaration "bool local_122;" primitive_type identifier ;) (declaration "char local_121;" primitive_type identifier ;) (declaration "ulong local_118;" type_identifier identifier ;) (ERROR "vector<unsigned_int," (binary_expression "vector<unsigned_int" identifier < identifier) ,) (labeled_statement "_std::allocator<unsigned_int>_> *local_110;" statement_identifier : (ERROR ":" :) (expression_statement "allocator<unsigned_int>_> *local_110;" (binary_expression "allocator<unsigned_int>_> *local_110" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) > (pointer_expression "*local_110" * identifier)) ;)) (declaration "Elf_Word shndx;" type_identifier identifier ;) (declaration "Shdr shdr;" type_identifier identifier ;) (declaration "section_size_type symnamelen;" type_identifier identifier ;) (declaration "Kept_section *kept_section;" type_identifier (pointer_declarator "*kept_section" * identifier) ;) (ERROR "vector<unsigned_int," (binary_expression "vector<unsigned_int" identifier < identifier) ,) (labeled_statement "_std::allocator<unsigned_int>_> shndxes;" statement_identifier : (ERROR ":" :) (expression_statement "allocator<unsigned_int>_> shndxes;" (binary_expression "allocator<unsigned_int>_> shndxes" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) > identifier) ;)) (declaration "string signature;" type_identifier identifier ;) (declaration "string mname;" type_identifier identifier ;) (ERROR "pair<unsigned_int," (binary_expression "pair<unsigned_int" identifier < identifier) ,) (labeled_statement "_gold::Sized_relobj_file<64,_true>::Kept_comdat_section> local_88;" statement_identifier : (ERROR ":" :) (expression_statement "Sized_relobj_file<64,_true>::Kept_comdat_section> local_88;" (comma_expression "Sized_relobj_file<64,_true>::Kept_comdat_section> local_88" (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (binary_expression "_true>::Kept_comdat_section> local_88" (binary_expression "_true>::Kept_comdat_section" identifier > (ERROR "::" : :) identifier) > identifier)) ;)) (declaration "bool is_ordinary;" primitive_type identifier ;) (declaration "uint7 uStack_67;" type_identifier identifier ;) (declaration "char local_58 [16];" primitive_type (array_declarator "local_58 [16]" identifier [ number_literal ]) ;) (declaration "Elf_Word local_48;" type_identifier identifier ;) (declaration "ulong local_40;" type_identifier identifier ;) (expression_statement "shdr.p_ = (Shdr_data<64> *)(shdrs + (index << 6));" (assignment_expression "shdr.p_ = (Shdr_data<64> *)(shdrs + (index << 6))" (field_expression "shdr.p_" identifier . field_identifier) = (call_expression "(Shdr_data<64> *)(shdrs + (index << 6))" (parenthesized_expression "(Shdr_data<64> *)" ( (binary_expression "Shdr_data<64> *" (binary_expression "Shdr_data<64" identifier < number_literal) > (pointer_expression "*" * identifier)) )) (argument_list "(shdrs + (index << 6))" ( (binary_expression "shdrs + (index << 6)" identifier + (parenthesized_expression "(index << 6)" ( (binary_expression "index << 6" identifier << number_literal) ))) )))) ;) (expression_statement "this_01 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.input_file_;" (assignment_expression "this_01 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.input_file_" identifier = (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.input_file_" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_true>)" ( (comma_expression "this->super_Sized_relobj<64,_true" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "uVar15 = (shdr.p_)->sh_size;" (assignment_expression "uVar15 = (shdr.p_)->sh_size" identifier = (field_expression "(shdr.p_)->sh_size" (parenthesized_expression "(shdr.p_)" ( (field_expression "shdr.p_" identifier . field_identifier) )) -> field_identifier)) ;) (expression_statement "uVar2 = (shdr.p_)->sh_offset;" (assignment_expression "uVar2 = (shdr.p_)->sh_offset" identifier = (field_expression "(shdr.p_)->sh_offset" (parenthesized_expression "(shdr.p_)" ( (field_expression "shdr.p_" identifier . field_identifier) )) -> field_identifier)) ;) (if_statement "if (this_01 == (Input_file *)0x0) {\nLAB_001e7390:\n                    /* WARNING: Subroutine does not return */\n    Object::input_file((Object *)this_01);\n  }" if (parenthesized_expression "(this_01 == (Input_file *)0x0)" ( (binary_expression "this_01 == (Input_file *)0x0" identifier == (cast_expression "(Input_file *)0x0" ( (type_descriptor "Input_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_001e7390:\n                    /* WARNING: Subroutine does not return */\n    Object::input_file((Object *)this_01);\n  }" { (labeled_statement "LAB_001e7390:\n                    /* WARNING: Subroutine does not return */\n    Object::input_file((Object *)this_01);" statement_identifier : comment (labeled_statement "Object::input_file((Object *)this_01);" statement_identifier : (ERROR ":" :) (expression_statement "input_file((Object *)this_01);" (call_expression "input_file((Object *)this_01)" identifier (argument_list "((Object *)this_01)" ( (cast_expression "(Object *)this_01" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;))) })) (ERROR "puVar9 = (uint *)File_read::" (assignment_expression "puVar9 = (uint *)File_read" identifier = (cast_expression "(uint *)File_read" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) : :) (expression_statement "get_view(&this_01->file_,\n                                       (this->super_Sized_relobj<64,_true>).super_Relobj.\n                                       super_Object.offset_,\n                                       uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 |\n                                       (uVar2 & 0xff0000000000) >> 0x18 |\n                                       (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 |\n                                       (uVar2 & 0xff0000) << 0x18 | (uVar2 & 0xff00) << 0x28 |\n                                       uVar2 << 0x38,\n                                       uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                                       (uVar15 & 0xff0000000000) >> 0x18 |\n                                       (uVar15 & 0xff00000000) >> 8 | (uVar15 & 0xff000000) << 8 |\n                                       (uVar15 & 0xff0000) << 0x18 | (uVar15 & 0xff00) << 0x28 |\n                                       uVar15 << 0x38,true,false);" (call_expression "get_view(&this_01->file_,\n                                       (this->super_Sized_relobj<64,_true>).super_Relobj.\n                                       super_Object.offset_,\n                                       uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 |\n                                       (uVar2 & 0xff0000000000) >> 0x18 |\n                                       (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 |\n                                       (uVar2 & 0xff0000) << 0x18 | (uVar2 & 0xff00) << 0x28 |\n                                       uVar2 << 0x38,\n                                       uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                                       (uVar15 & 0xff0000000000) >> 0x18 |\n                                       (uVar15 & 0xff00000000) >> 8 | (uVar15 & 0xff000000) << 8 |\n                                       (uVar15 & 0xff0000) << 0x18 | (uVar15 & 0xff00) << 0x28 |\n                                       uVar15 << 0x38,true,false)" identifier (argument_list "(&this_01->file_,\n                                       (this->super_Sized_relobj<64,_true>).super_Relobj.\n                                       super_Object.offset_,\n                                       uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 |\n                                       (uVar2 & 0xff0000000000) >> 0x18 |\n                                       (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 |\n                                       (uVar2 & 0xff0000) << 0x18 | (uVar2 & 0xff00) << 0x28 |\n                                       uVar2 << 0x38,\n                                       uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                                       (uVar15 & 0xff0000000000) >> 0x18 |\n                                       (uVar15 & 0xff00000000) >> 8 | (uVar15 & 0xff000000) << 8 |\n                                       (uVar15 & 0xff0000) << 0x18 | (uVar15 & 0xff00) << 0x28 |\n                                       uVar15 << 0x38,true,false)" ( (pointer_expression "&this_01->file_" & (field_expression "this_01->file_" identifier -> field_identifier)) , (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.\n                                       super_Object.offset_" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.\n                                       super_Object" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_true>)" ( (comma_expression "this->super_Sized_relobj<64,_true" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) , (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 |\n                                       (uVar2 & 0xff0000000000) >> 0x18 |\n                                       (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 |\n                                       (uVar2 & 0xff0000) << 0x18 | (uVar2 & 0xff00) << 0x28 |\n                                       uVar2 << 0x38" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 |\n                                       (uVar2 & 0xff0000000000) >> 0x18 |\n                                       (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 |\n                                       (uVar2 & 0xff0000) << 0x18 | (uVar2 & 0xff00) << 0x28" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 |\n                                       (uVar2 & 0xff0000000000) >> 0x18 |\n                                       (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 |\n                                       (uVar2 & 0xff0000) << 0x18" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 |\n                                       (uVar2 & 0xff0000000000) >> 0x18 |\n                                       (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 |\n                                       (uVar2 & 0xff0000000000) >> 0x18 |\n                                       (uVar2 & 0xff00000000) >> 8" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 |\n                                       (uVar2 & 0xff0000000000) >> 0x18" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28" (binary_expression "uVar2 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar2 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar2 & 0xff000000000000)" ( (binary_expression "uVar2 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar2 & 0xff0000000000)" ( (binary_expression "uVar2 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff00000000) >> 8" (parenthesized_expression "(uVar2 & 0xff00000000)" ( (binary_expression "uVar2 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff000000) << 8" (parenthesized_expression "(uVar2 & 0xff000000)" ( (binary_expression "uVar2 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar2 & 0xff0000) << 0x18" (parenthesized_expression "(uVar2 & 0xff0000)" ( (binary_expression "uVar2 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar2 & 0xff00) << 0x28" (parenthesized_expression "(uVar2 & 0xff00)" ( (binary_expression "uVar2 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar2 << 0x38" identifier << number_literal)) , (binary_expression "uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                                       (uVar15 & 0xff0000000000) >> 0x18 |\n                                       (uVar15 & 0xff00000000) >> 8 | (uVar15 & 0xff000000) << 8 |\n                                       (uVar15 & 0xff0000) << 0x18 | (uVar15 & 0xff00) << 0x28 |\n                                       uVar15 << 0x38" (binary_expression "uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                                       (uVar15 & 0xff0000000000) >> 0x18 |\n                                       (uVar15 & 0xff00000000) >> 8 | (uVar15 & 0xff000000) << 8 |\n                                       (uVar15 & 0xff0000) << 0x18 | (uVar15 & 0xff00) << 0x28" (binary_expression "uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                                       (uVar15 & 0xff0000000000) >> 0x18 |\n                                       (uVar15 & 0xff00000000) >> 8 | (uVar15 & 0xff000000) << 8 |\n                                       (uVar15 & 0xff0000) << 0x18" (binary_expression "uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                                       (uVar15 & 0xff0000000000) >> 0x18 |\n                                       (uVar15 & 0xff00000000) >> 8 | (uVar15 & 0xff000000) << 8" (binary_expression "uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                                       (uVar15 & 0xff0000000000) >> 0x18 |\n                                       (uVar15 & 0xff00000000) >> 8" (binary_expression "uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                                       (uVar15 & 0xff0000000000) >> 0x18" (binary_expression "uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28" (binary_expression "uVar15 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar15 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar15 & 0xff000000000000)" ( (binary_expression "uVar15 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar15 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar15 & 0xff0000000000)" ( (binary_expression "uVar15 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar15 & 0xff00000000) >> 8" (parenthesized_expression "(uVar15 & 0xff00000000)" ( (binary_expression "uVar15 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar15 & 0xff000000) << 8" (parenthesized_expression "(uVar15 & 0xff000000)" ( (binary_expression "uVar15 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar15 & 0xff0000) << 0x18" (parenthesized_expression "(uVar15 & 0xff0000)" ( (binary_expression "uVar15 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar15 & 0xff00) << 0x28" (parenthesized_expression "(uVar15 & 0xff00)" ( (binary_expression "uVar15 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar15 << 0x38" identifier << number_literal)) , true , false ))) ;) (expression_statement "uVar1 = *puVar9;" (assignment_expression "uVar1 = *puVar9" identifier = (pointer_expression "*puVar9" * identifier)) ;) (expression_statement "uVar7 = (shdr.p_)->sh_link;" (assignment_expression "uVar7 = (shdr.p_)->sh_link" identifier = (field_expression "(shdr.p_)->sh_link" (parenthesized_expression "(shdr.p_)" ( (field_expression "shdr.p_" identifier . field_identifier) )) -> field_identifier)) ;) (expression_statement "uVar7 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;" (assignment_expression "uVar7 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18" identifier = (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8" (binary_expression "uVar7 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar7 & 0xff0000) >> 8" (parenthesized_expression "(uVar7 & 0xff0000)" ( (binary_expression "uVar7 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar7 & 0xff00) << 8" (parenthesized_expression "(uVar7 & 0xff00)" ( (binary_expression "uVar7 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar7 << 0x18" identifier << number_literal))) ;) (if_statement "if (0xfeff < uVar7) {\n    elfcpp::Elf_file<64,_true,_gold::Object>::initialize_shnum(&this->elf_file_);\n    uVar7 = uVar7 + (this->elf_file_).large_shndx_offset_;\n  }" if (parenthesized_expression "(0xfeff < uVar7)" ( (binary_expression "0xfeff < uVar7" number_literal < identifier) )) (compound_statement "{\n    elfcpp::Elf_file<64,_true,_gold::Object>::initialize_shnum(&this->elf_file_);\n    uVar7 = uVar7 + (this->elf_file_).large_shndx_offset_;\n  }" { (labeled_statement "elfcpp::Elf_file<64,_true,_gold::Object>::initialize_shnum(&this->elf_file_);" statement_identifier (ERROR "::Elf_file<64,_true,_gold::Object>:" : : (comma_expression "Elf_file<64,_true,_gold" (binary_expression "Elf_file<64" identifier < number_literal) , (comma_expression "_true,_gold" identifier , identifier)) : : identifier > :) : (expression_statement "initialize_shnum(&this->elf_file_);" (call_expression "initialize_shnum(&this->elf_file_)" identifier (argument_list "(&this->elf_file_)" ( (pointer_expression "&this->elf_file_" & (field_expression "this->elf_file_" identifier -> field_identifier)) ))) ;)) (expression_statement "uVar7 = uVar7 + (this->elf_file_).large_shndx_offset_;" (assignment_expression "uVar7 = uVar7 + (this->elf_file_).large_shndx_offset_" identifier = (binary_expression "uVar7 + (this->elf_file_).large_shndx_offset_" identifier + (field_expression "(this->elf_file_).large_shndx_offset_" (parenthesized_expression "(this->elf_file_)" ( (field_expression "this->elf_file_" identifier -> field_identifier) )) . field_identifier))) ;) })) (ERROR "start = elfcpp::Elf_file<64,_true," (binary_expression "start = elfcpp::Elf_file<64" (assignment_expression "start = elfcpp" identifier = identifier) (ERROR "::Elf_file" : : identifier) < number_literal) , identifier ,) (labeled_statement "_gold::Object>::section_header_offset(&this->elf_file_,uVar7);" statement_identifier (ERROR "::Object>:" : : identifier > :) : (expression_statement "section_header_offset(&this->elf_file_,uVar7);" (call_expression "section_header_offset(&this->elf_file_,uVar7)" identifier (argument_list "(&this->elf_file_,uVar7)" ( (pointer_expression "&this->elf_file_" & (field_expression "this->elf_file_" identifier -> field_identifier)) , identifier ))) ;)) (expression_statement "this_01 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.input_file_;" (assignment_expression "this_01 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.input_file_" identifier = (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.input_file_" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_true>)" ( (comma_expression "this->super_Sized_relobj<64,_true" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier)) ;) (if_statement "if (this_01 == (Input_file *)0x0) goto LAB_001e7390;" if (parenthesized_expression "(this_01 == (Input_file *)0x0)" ( (binary_expression "this_01 == (Input_file *)0x0" identifier == (cast_expression "(Input_file *)0x0" ( (type_descriptor "Input_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001e7390;" goto statement_identifier ;)) (ERROR "puVar10 = File_read::" (assignment_expression "puVar10 = File_read" identifier = identifier) : :) (expression_statement "get_view(&this_01->file_,\n                                (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                                offset_,start,0x40,true,true);" (call_expression "get_view(&this_01->file_,\n                                (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                                offset_,start,0x40,true,true)" identifier (argument_list "(&this_01->file_,\n                                (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                                offset_,start,0x40,true,true)" ( (pointer_expression "&this_01->file_" & (field_expression "this_01->file_" identifier -> field_identifier)) , (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                                offset_" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_true>)" ( (comma_expression "this->super_Sized_relobj<64,_true" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) , identifier , number_literal , true , true ))) ;) (expression_statement "uVar15 = *(ulong *)(puVar10 + 0x20);" (assignment_expression "uVar15 = *(ulong *)(puVar10 + 0x20)" identifier = (pointer_expression "*(ulong *)(puVar10 + 0x20)" * (cast_expression "(ulong *)(puVar10 + 0x20)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x20)" ( (binary_expression "puVar10 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = (shdr.p_)->sh_info;" (assignment_expression "uVar7 = (shdr.p_)->sh_info" identifier = (field_expression "(shdr.p_)->sh_info" (parenthesized_expression "(shdr.p_)" ( (field_expression "shdr.p_" identifier . field_identifier) )) -> field_identifier)) ;) (expression_statement "uVar7 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;" (assignment_expression "uVar7 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18" identifier = (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8" (binary_expression "uVar7 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar7 & 0xff0000) >> 8" (parenthesized_expression "(uVar7 & 0xff0000)" ( (binary_expression "uVar7 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar7 & 0xff00) << 8" (parenthesized_expression "(uVar7 & 0xff00)" ( (binary_expression "uVar7 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar7 << 0x18" identifier << number_literal))) ;) (if_statement "if ((uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 | (uVar15 & 0xff0000000000) >> 0x18 |\n       (uVar15 & 0xff00000000) >> 8 | (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n       (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38) / 0x18 <= (ulong)uVar7) {\n    pcVar14 = (char *)gettext("section group %u info %u out of range");\n    uVar15 = (ulong)index;\nLAB_001e6ed5:\n    Object::error((Object *)this,pcVar14,uVar15,(ulong)uVar7);\n    return (bool)'\0';\n  }" if (parenthesized_expression "((uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 | (uVar15 & 0xff0000000000) >> 0x18 |\n       (uVar15 & 0xff00000000) >> 8 | (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n       (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38) / 0x18 <= (ulong)uVar7)" ( (binary_expression "(uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 | (uVar15 & 0xff0000000000) >> 0x18 |\n       (uVar15 & 0xff00000000) >> 8 | (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n       (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38) / 0x18 <= (ulong)uVar7" (binary_expression "(uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 | (uVar15 & 0xff0000000000) >> 0x18 |\n       (uVar15 & 0xff00000000) >> 8 | (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n       (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38) / 0x18" (parenthesized_expression "(uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 | (uVar15 & 0xff0000000000) >> 0x18 |\n       (uVar15 & 0xff00000000) >> 8 | (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n       (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38)" ( (binary_expression "uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 | (uVar15 & 0xff0000000000) >> 0x18 |\n       (uVar15 & 0xff00000000) >> 8 | (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n       (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38" (binary_expression "uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 | (uVar15 & 0xff0000000000) >> 0x18 |\n       (uVar15 & 0xff00000000) >> 8 | (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n       (uVar15 & 0xff00) << 0x28" (binary_expression "uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 | (uVar15 & 0xff0000000000) >> 0x18 |\n       (uVar15 & 0xff00000000) >> 8 | (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18" (binary_expression "uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 | (uVar15 & 0xff0000000000) >> 0x18 |\n       (uVar15 & 0xff00000000) >> 8 | (uVar15 & 0xff000000) << 8" (binary_expression "uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 | (uVar15 & 0xff0000000000) >> 0x18 |\n       (uVar15 & 0xff00000000) >> 8" (binary_expression "uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 | (uVar15 & 0xff0000000000) >> 0x18" (binary_expression "uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28" (binary_expression "uVar15 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar15 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar15 & 0xff000000000000)" ( (binary_expression "uVar15 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar15 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar15 & 0xff0000000000)" ( (binary_expression "uVar15 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar15 & 0xff00000000) >> 8" (parenthesized_expression "(uVar15 & 0xff00000000)" ( (binary_expression "uVar15 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar15 & 0xff000000) << 8" (parenthesized_expression "(uVar15 & 0xff000000)" ( (binary_expression "uVar15 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar15 & 0xff0000) << 0x18" (parenthesized_expression "(uVar15 & 0xff0000)" ( (binary_expression "uVar15 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar15 & 0xff00) << 0x28" (parenthesized_expression "(uVar15 & 0xff00)" ( (binary_expression "uVar15 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar15 << 0x38" identifier << number_literal)) )) / number_literal) <= (cast_expression "(ulong)uVar7" ( (type_descriptor "ulong" type_identifier) ) identifier)) )) (compound_statement "{\n    pcVar14 = (char *)gettext("section group %u info %u out of range");\n    uVar15 = (ulong)index;\nLAB_001e6ed5:\n    Object::error((Object *)this,pcVar14,uVar15,(ulong)uVar7);\n    return (bool)'\0';\n  }" { (expression_statement "pcVar14 = (char *)gettext("section group %u info %u out of range");" (assignment_expression "pcVar14 = (char *)gettext("section group %u info %u out of range")" identifier = (cast_expression "(char *)gettext("section group %u info %u out of range")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("section group %u info %u out of range")" identifier (argument_list "("section group %u info %u out of range")" ( (string_literal ""section group %u info %u out of range"" " string_content ") ))))) ;) (expression_statement "uVar15 = (ulong)index;" (assignment_expression "uVar15 = (ulong)index" identifier = (cast_expression "(ulong)index" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (labeled_statement "LAB_001e6ed5:\n    Object::error((Object *)this,pcVar14,uVar15,(ulong)uVar7);" statement_identifier : (labeled_statement "Object::error((Object *)this,pcVar14,uVar15,(ulong)uVar7);" statement_identifier : (ERROR ":" :) (expression_statement "error((Object *)this,pcVar14,uVar15,(ulong)uVar7);" (call_expression "error((Object *)this,pcVar14,uVar15,(ulong)uVar7)" identifier (argument_list "((Object *)this,pcVar14,uVar15,(ulong)uVar7)" ( (cast_expression "(Object *)this" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , identifier , (cast_expression "(ulong)uVar7" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;))) (return_statement "return (bool)'\0';" return (cast_expression "(bool)'\0'" ( (type_descriptor "bool" primitive_type) ) (char_literal "'\0'" ' escape_sequence ')) ;) })) (expression_statement "uVar15 = *(ulong *)(puVar10 + 0x18);" (assignment_expression "uVar15 = *(ulong *)(puVar10 + 0x18)" identifier = (pointer_expression "*(ulong *)(puVar10 + 0x18)" * (cast_expression "(ulong *)(puVar10 + 0x18)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x18)" ( (binary_expression "puVar10 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "this_01 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.input_file_;" (assignment_expression "this_01 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.input_file_" identifier = (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.input_file_" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_true>)" ( (comma_expression "this->super_Sized_relobj<64,_true" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier)) ;) (if_statement "if (this_01 == (Input_file *)0x0) goto LAB_001e7390;" if (parenthesized_expression "(this_01 == (Input_file *)0x0)" ( (binary_expression "this_01 == (Input_file *)0x0" identifier == (cast_expression "(Input_file *)0x0" ( (type_descriptor "Input_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001e7390;" goto statement_identifier ;)) (expression_statement "is_ordinary_00 = (bool *)0x18;" (assignment_expression "is_ordinary_00 = (bool *)0x18" identifier = (cast_expression "(bool *)0x18" ( (type_descriptor "bool *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (ERROR "puVar11 = (uint *)File_read::" (assignment_expression "puVar11 = (uint *)File_read" identifier = (cast_expression "(uint *)File_read" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) : :) (expression_statement "get_view(&this_01->file_,\n                                        (this->super_Sized_relobj<64,_true>).super_Relobj.\n                                        super_Object.offset_,\n                                        (ulong)(uVar7 * 0x18) +\n                                        (uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                                         (uVar15 & 0xff0000000000) >> 0x18 |\n                                         (uVar15 & 0xff00000000) >> 8 | (uVar15 & 0xff000000) << 8 |\n                                         (uVar15 & 0xff0000) << 0x18 | (uVar15 & 0xff00) << 0x28 |\n                                        uVar15 << 0x38),0x18,true,false);" (call_expression "get_view(&this_01->file_,\n                                        (this->super_Sized_relobj<64,_true>).super_Relobj.\n                                        super_Object.offset_,\n                                        (ulong)(uVar7 * 0x18) +\n                                        (uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                                         (uVar15 & 0xff0000000000) >> 0x18 |\n                                         (uVar15 & 0xff00000000) >> 8 | (uVar15 & 0xff000000) << 8 |\n                                         (uVar15 & 0xff0000) << 0x18 | (uVar15 & 0xff00) << 0x28 |\n                                        uVar15 << 0x38),0x18,true,false)" identifier (argument_list "(&this_01->file_,\n                                        (this->super_Sized_relobj<64,_true>).super_Relobj.\n                                        super_Object.offset_,\n                                        (ulong)(uVar7 * 0x18) +\n                                        (uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                                         (uVar15 & 0xff0000000000) >> 0x18 |\n                                         (uVar15 & 0xff00000000) >> 8 | (uVar15 & 0xff000000) << 8 |\n                                         (uVar15 & 0xff0000) << 0x18 | (uVar15 & 0xff00) << 0x28 |\n                                        uVar15 << 0x38),0x18,true,false)" ( (pointer_expression "&this_01->file_" & (field_expression "this_01->file_" identifier -> field_identifier)) , (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.\n                                        super_Object.offset_" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.\n                                        super_Object" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_true>)" ( (comma_expression "this->super_Sized_relobj<64,_true" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) , (binary_expression "(ulong)(uVar7 * 0x18) +\n                                        (uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                                         (uVar15 & 0xff0000000000) >> 0x18 |\n                                         (uVar15 & 0xff00000000) >> 8 | (uVar15 & 0xff000000) << 8 |\n                                         (uVar15 & 0xff0000) << 0x18 | (uVar15 & 0xff00) << 0x28 |\n                                        uVar15 << 0x38)" (call_expression "(ulong)(uVar7 * 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar7 * 0x18)" ( (binary_expression "uVar7 * 0x18" identifier * number_literal) ))) + (parenthesized_expression "(uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                                         (uVar15 & 0xff0000000000) >> 0x18 |\n                                         (uVar15 & 0xff00000000) >> 8 | (uVar15 & 0xff000000) << 8 |\n                                         (uVar15 & 0xff0000) << 0x18 | (uVar15 & 0xff00) << 0x28 |\n                                        uVar15 << 0x38)" ( (binary_expression "uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                                         (uVar15 & 0xff0000000000) >> 0x18 |\n                                         (uVar15 & 0xff00000000) >> 8 | (uVar15 & 0xff000000) << 8 |\n                                         (uVar15 & 0xff0000) << 0x18 | (uVar15 & 0xff00) << 0x28 |\n                                        uVar15 << 0x38" (binary_expression "uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                                         (uVar15 & 0xff0000000000) >> 0x18 |\n                                         (uVar15 & 0xff00000000) >> 8 | (uVar15 & 0xff000000) << 8 |\n                                         (uVar15 & 0xff0000) << 0x18 | (uVar15 & 0xff00) << 0x28" (binary_expression "uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                                         (uVar15 & 0xff0000000000) >> 0x18 |\n                                         (uVar15 & 0xff00000000) >> 8 | (uVar15 & 0xff000000) << 8 |\n                                         (uVar15 & 0xff0000) << 0x18" (binary_expression "uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                                         (uVar15 & 0xff0000000000) >> 0x18 |\n                                         (uVar15 & 0xff00000000) >> 8 | (uVar15 & 0xff000000) << 8" (binary_expression "uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                                         (uVar15 & 0xff0000000000) >> 0x18 |\n                                         (uVar15 & 0xff00000000) >> 8" (binary_expression "uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                                         (uVar15 & 0xff0000000000) >> 0x18" (binary_expression "uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28" (binary_expression "uVar15 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar15 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar15 & 0xff000000000000)" ( (binary_expression "uVar15 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar15 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar15 & 0xff0000000000)" ( (binary_expression "uVar15 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar15 & 0xff00000000) >> 8" (parenthesized_expression "(uVar15 & 0xff00000000)" ( (binary_expression "uVar15 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar15 & 0xff000000) << 8" (parenthesized_expression "(uVar15 & 0xff000000)" ( (binary_expression "uVar15 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar15 & 0xff0000) << 0x18" (parenthesized_expression "(uVar15 & 0xff0000)" ( (binary_expression "uVar15 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar15 & 0xff00) << 0x28" (parenthesized_expression "(uVar15 & 0xff00)" ( (binary_expression "uVar15 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar15 << 0x38" identifier << number_literal)) ))) , number_literal , true , false ))) ;) (expression_statement "uVar17 = *(uint *)(puVar10 + 0x28);" (assignment_expression "uVar17 = *(uint *)(puVar10 + 0x28)" identifier = (pointer_expression "*(uint *)(puVar10 + 0x28)" * (cast_expression "(uint *)(puVar10 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x28)" ( (binary_expression "puVar10 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 | uVar17 << 0x18;" (assignment_expression "uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 | uVar17 << 0x18" identifier = (binary_expression "uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 | uVar17 << 0x18" (binary_expression "uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8" (binary_expression "uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8" (binary_expression "uVar17 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar17 & 0xff0000) >> 8" (parenthesized_expression "(uVar17 & 0xff0000)" ( (binary_expression "uVar17 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar17 & 0xff00) << 8" (parenthesized_expression "(uVar17 & 0xff00)" ( (binary_expression "uVar17 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar17 << 0x18" identifier << number_literal))) ;) (if_statement "if (0xfeff < uVar17) {\n    elfcpp::Elf_file<64,_true,_gold::Object>::initialize_shnum(&this->elf_file_);\n    uVar17 = uVar17 + (this->elf_file_).large_shndx_offset_;\n  }" if (parenthesized_expression "(0xfeff < uVar17)" ( (binary_expression "0xfeff < uVar17" number_literal < identifier) )) (compound_statement "{\n    elfcpp::Elf_file<64,_true,_gold::Object>::initialize_shnum(&this->elf_file_);\n    uVar17 = uVar17 + (this->elf_file_).large_shndx_offset_;\n  }" { (labeled_statement "elfcpp::Elf_file<64,_true,_gold::Object>::initialize_shnum(&this->elf_file_);" statement_identifier (ERROR "::Elf_file<64,_true,_gold::Object>:" : : (comma_expression "Elf_file<64,_true,_gold" (binary_expression "Elf_file<64" identifier < number_literal) , (comma_expression "_true,_gold" identifier , identifier)) : : identifier > :) : (expression_statement "initialize_shnum(&this->elf_file_);" (call_expression "initialize_shnum(&this->elf_file_)" identifier (argument_list "(&this->elf_file_)" ( (pointer_expression "&this->elf_file_" & (field_expression "this->elf_file_" identifier -> field_identifier)) ))) ;)) (expression_statement "uVar17 = uVar17 + (this->elf_file_).large_shndx_offset_;" (assignment_expression "uVar17 = uVar17 + (this->elf_file_).large_shndx_offset_" identifier = (binary_expression "uVar17 + (this->elf_file_).large_shndx_offset_" identifier + (field_expression "(this->elf_file_).large_shndx_offset_" (parenthesized_expression "(this->elf_file_)" ( (field_expression "this->elf_file_" identifier -> field_identifier) )) . field_identifier))) ;) })) (expression_statement "p_Var3 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object[0xe];" (assignment_expression "p_Var3 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object[0xe]" identifier = (subscript_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object[0xe]" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_true>)" ( (comma_expression "this->super_Sized_relobj<64,_true" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) [ number_literal ])) ;) (if_statement "if (p_Var3 == do_section_contents) {\n    LVar18 = elfcpp::Elf_file<64,_true,_gold::Object>::section_contents(&this->elf_file_,uVar17);\n    size = (bool *)LVar18.data_size;\n    puVar10 = "";\n    symnamelen = (section_size_type)size;\n    if (size != (bool *)0x0) {\n      this_01 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.input_file_;\n      if (this_01 == (Input_file *)0x0) goto LAB_001e7390;\n      puVar10 = File_read::get_view(&this_01->file_,\n                                    (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                                    offset_,LVar18.file_offset,(section_size_type)size,true,true);\n      is_ordinary_00 = size;\n    }\n  }\n  else {\n    is_ordinary_00 = (bool *)0x1;\n    iVar8 = (*p_Var3)(this,(ulong)uVar17,&symnamelen);\n    puVar10 = (uchar *)CONCAT44(extraout_var,iVar8);\n  }" if (parenthesized_expression "(p_Var3 == do_section_contents)" ( (binary_expression "p_Var3 == do_section_contents" identifier == identifier) )) (compound_statement "{\n    LVar18 = elfcpp::Elf_file<64,_true,_gold::Object>::section_contents(&this->elf_file_,uVar17);\n    size = (bool *)LVar18.data_size;\n    puVar10 = "";\n    symnamelen = (section_size_type)size;\n    if (size != (bool *)0x0) {\n      this_01 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.input_file_;\n      if (this_01 == (Input_file *)0x0) goto LAB_001e7390;\n      puVar10 = File_read::get_view(&this_01->file_,\n                                    (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                                    offset_,LVar18.file_offset,(section_size_type)size,true,true);\n      is_ordinary_00 = size;\n    }\n  }" { (ERROR "LVar18 = elfcpp::Elf_file<64,_true,_gold::" (comma_expression "LVar18 = elfcpp::Elf_file<64,_true,_gold" (binary_expression "LVar18 = elfcpp::Elf_file<64" (assignment_expression "LVar18 = elfcpp" identifier = identifier) (ERROR "::Elf_file" : : identifier) < number_literal) , (comma_expression "_true,_gold" identifier , identifier)) : :) (expression_statement "Object>::section_contents(&this->elf_file_,uVar17);" (binary_expression "Object>::section_contents(&this->elf_file_,uVar17)" identifier > (ERROR "::" : :) (call_expression "section_contents(&this->elf_file_,uVar17)" identifier (argument_list "(&this->elf_file_,uVar17)" ( (pointer_expression "&this->elf_file_" & (field_expression "this->elf_file_" identifier -> field_identifier)) , identifier )))) ;) (expression_statement "size = (bool *)LVar18.data_size;" (assignment_expression "size = (bool *)LVar18.data_size" identifier = (cast_expression "(bool *)LVar18.data_size" ( (type_descriptor "bool *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "LVar18.data_size" identifier . field_identifier))) ;) (expression_statement "puVar10 = "";" (assignment_expression "puVar10 = """ identifier = (string_literal """" " ")) ;) (expression_statement "symnamelen = (section_size_type)size;" (assignment_expression "symnamelen = (section_size_type)size" identifier = (cast_expression "(section_size_type)size" ( (type_descriptor "section_size_type" type_identifier) ) identifier)) ;) (if_statement "if (size != (bool *)0x0) {\n      this_01 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.input_file_;\n      if (this_01 == (Input_file *)0x0) goto LAB_001e7390;\n      puVar10 = File_read::get_view(&this_01->file_,\n                                    (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                                    offset_,LVar18.file_offset,(section_size_type)size,true,true);\n      is_ordinary_00 = size;\n    }" if (parenthesized_expression "(size != (bool *)0x0)" ( (binary_expression "size != (bool *)0x0" identifier != (cast_expression "(bool *)0x0" ( (type_descriptor "bool *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      this_01 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.input_file_;\n      if (this_01 == (Input_file *)0x0) goto LAB_001e7390;\n      puVar10 = File_read::get_view(&this_01->file_,\n                                    (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                                    offset_,LVar18.file_offset,(section_size_type)size,true,true);\n      is_ordinary_00 = size;\n    }" { (expression_statement "this_01 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.input_file_;" (assignment_expression "this_01 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.input_file_" identifier = (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.input_file_" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_true>)" ( (comma_expression "this->super_Sized_relobj<64,_true" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier)) ;) (if_statement "if (this_01 == (Input_file *)0x0) goto LAB_001e7390;" if (parenthesized_expression "(this_01 == (Input_file *)0x0)" ( (binary_expression "this_01 == (Input_file *)0x0" identifier == (cast_expression "(Input_file *)0x0" ( (type_descriptor "Input_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001e7390;" goto statement_identifier ;)) (ERROR "puVar10 = File_read::" (assignment_expression "puVar10 = File_read" identifier = identifier) : :) (expression_statement "get_view(&this_01->file_,\n                                    (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                                    offset_,LVar18.file_offset,(section_size_type)size,true,true);" (call_expression "get_view(&this_01->file_,\n                                    (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                                    offset_,LVar18.file_offset,(section_size_type)size,true,true)" identifier (argument_list "(&this_01->file_,\n                                    (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                                    offset_,LVar18.file_offset,(section_size_type)size,true,true)" ( (pointer_expression "&this_01->file_" & (field_expression "this_01->file_" identifier -> field_identifier)) , (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                                    offset_" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_true>)" ( (comma_expression "this->super_Sized_relobj<64,_true" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) , (field_expression "LVar18.file_offset" identifier . field_identifier) , (cast_expression "(section_size_type)size" ( (type_descriptor "section_size_type" type_identifier) ) identifier) , true , true ))) ;) (expression_statement "is_ordinary_00 = size;" (assignment_expression "is_ordinary_00 = size" identifier = identifier) ;) })) }) (else_clause "else {\n    is_ordinary_00 = (bool *)0x1;\n    iVar8 = (*p_Var3)(this,(ulong)uVar17,&symnamelen);\n    puVar10 = (uchar *)CONCAT44(extraout_var,iVar8);\n  }" else (compound_statement "{\n    is_ordinary_00 = (bool *)0x1;\n    iVar8 = (*p_Var3)(this,(ulong)uVar17,&symnamelen);\n    puVar10 = (uchar *)CONCAT44(extraout_var,iVar8);\n  }" { (expression_statement "is_ordinary_00 = (bool *)0x1;" (assignment_expression "is_ordinary_00 = (bool *)0x1" identifier = (cast_expression "(bool *)0x1" ( (type_descriptor "bool *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar8 = (*p_Var3)(this,(ulong)uVar17,&symnamelen);" (assignment_expression "iVar8 = (*p_Var3)(this,(ulong)uVar17,&symnamelen)" identifier = (call_expression "(*p_Var3)(this,(ulong)uVar17,&symnamelen)" (parenthesized_expression "(*p_Var3)" ( (pointer_expression "*p_Var3" * identifier) )) (argument_list "(this,(ulong)uVar17,&symnamelen)" ( identifier , (cast_expression "(ulong)uVar17" ( (type_descriptor "ulong" type_identifier) ) identifier) , (pointer_expression "&symnamelen" & identifier) )))) ;) (expression_statement "puVar10 = (uchar *)CONCAT44(extraout_var,iVar8);" (assignment_expression "puVar10 = (uchar *)CONCAT44(extraout_var,iVar8)" identifier = (cast_expression "(uchar *)CONCAT44(extraout_var,iVar8)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT44(extraout_var,iVar8)" identifier (argument_list "(extraout_var,iVar8)" ( identifier , identifier ))))) ;) }))) (expression_statement "uVar17 = *puVar11;" (assignment_expression "uVar17 = *puVar11" identifier = (pointer_expression "*puVar11" * identifier)) ;) (expression_statement "uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 | uVar17 << 0x18;" (assignment_expression "uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 | uVar17 << 0x18" identifier = (binary_expression "uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 | uVar17 << 0x18" (binary_expression "uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8" (binary_expression "uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8" (binary_expression "uVar17 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar17 & 0xff0000) >> 8" (parenthesized_expression "(uVar17 & 0xff0000)" ( (binary_expression "uVar17 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar17 & 0xff00) << 8" (parenthesized_expression "(uVar17 & 0xff00)" ( (binary_expression "uVar17 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar17 << 0x18" identifier << number_literal))) ;) (if_statement "if (symnamelen <= uVar17) {\n    pcVar14 = (char *)gettext("symbol %u name offset %u out of range");\n    uVar15 = (ulong)uVar7;\n    uVar7 = uVar17;\n    goto LAB_001e6ed5;\n  }" if (parenthesized_expression "(symnamelen <= uVar17)" ( (binary_expression "symnamelen <= uVar17" identifier <= identifier) )) (compound_statement "{\n    pcVar14 = (char *)gettext("symbol %u name offset %u out of range");\n    uVar15 = (ulong)uVar7;\n    uVar7 = uVar17;\n    goto LAB_001e6ed5;\n  }" { (expression_statement "pcVar14 = (char *)gettext("symbol %u name offset %u out of range");" (assignment_expression "pcVar14 = (char *)gettext("symbol %u name offset %u out of range")" identifier = (cast_expression "(char *)gettext("symbol %u name offset %u out of range")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("symbol %u name offset %u out of range")" identifier (argument_list "("symbol %u name offset %u out of range")" ( (string_literal ""symbol %u name offset %u out of range"" " string_content ") ))))) ;) (expression_statement "uVar15 = (ulong)uVar7;" (assignment_expression "uVar15 = (ulong)uVar7" identifier = (cast_expression "(ulong)uVar7" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "uVar7 = uVar17;" (assignment_expression "uVar7 = uVar17" identifier = identifier) ;) (goto_statement "goto LAB_001e6ed5;" goto statement_identifier ;) })) (labeled_statement "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::basic_string\n            (&signature,(char *)(puVar10 + uVar17),(allocator<char> *)symnamelen);" 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 "basic_string\n            (&signature,(char *)(puVar10 + uVar17),(allocator<char> *)symnamelen);" (call_expression "basic_string\n            (&signature,(char *)(puVar10 + uVar17),(allocator<char> *)symnamelen)" identifier (argument_list "(&signature,(char *)(puVar10 + uVar17),(allocator<char> *)symnamelen)" ( (pointer_expression "&signature" & identifier) , (cast_expression "(char *)(puVar10 + uVar17)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + uVar17)" ( (binary_expression "puVar10 + uVar17" identifier + identifier) ))) , (parenthesized_expression "(allocator<char> *)symnamelen)" ( (binary_expression "allocator<char> *)symnamelen" (binary_expression "allocator<char" identifier < identifier) > (pointer_expression "*)symnamelen" * (ERROR ")" )) identifier)) )) ))) ;)) (if_statement "if ((*signature._M_dataplus._M_p == '\0') && ((puVar11[1] & 0xf) == 3)) {\n    uVar6 = *(ushort *)((long)puVar11 + 6) << 8 | *(ushort *)((long)puVar11 + 6) >> 8;\n    uVar17 = (uint)uVar6;\n    if (uVar17 < 0xff00) {\n      is_ordinary = true;\nLAB_001e6f84:\n      if (uVar17 < (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_) {\n        uVar17 = *(uint *)(shdrs + (uVar17 << 6));\n        uVar15 = (ulong)(uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                        uVar17 << 0x18);\n        if (uVar15 < section_names_size) {\n                    /* try { // try from 001e6fba to 001e6fbe has its CatchHandler @ 001e7432 */\n          std::string::assign((string *)&signature,section_names + uVar15);\n        }\n        goto LAB_001e6c3f;\n      }\n    }\n    else if (uVar6 == 0xffff) {\n      uVar17 = Object::adjust_sym_shndx((Object *)this,uVar7,(uint)&is_ordinary,is_ordinary_00);\n      if (is_ordinary != false) goto LAB_001e6f84;\n    }\n    else {\n      _is_ordinary = (pointer)((ulong)uStack_67 << 8);\n    }\n    pcVar14 = (char *)gettext("symbol %u invalid section index %u");\n                    /* try { // try from 001e7358 to 001e737a has its CatchHandler @ 001e7432 */\n    Object::error((Object *)this,pcVar14,(ulong)uVar7,(ulong)uVar17);\nLAB_001e735d:\n    local_121 = '\0';\n    goto LAB_001e70e8;\n  }" if (parenthesized_expression "((*signature._M_dataplus._M_p == '\0') && ((puVar11[1] & 0xf) == 3))" ( (binary_expression "(*signature._M_dataplus._M_p == '\0') && ((puVar11[1] & 0xf) == 3)" (parenthesized_expression "(*signature._M_dataplus._M_p == '\0')" ( (binary_expression "*signature._M_dataplus._M_p == '\0'" (pointer_expression "*signature._M_dataplus._M_p" * (field_expression "signature._M_dataplus._M_p" (field_expression "signature._M_dataplus" identifier . field_identifier) . field_identifier)) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "((puVar11[1] & 0xf) == 3)" ( (binary_expression "(puVar11[1] & 0xf) == 3" (parenthesized_expression "(puVar11[1] & 0xf)" ( (binary_expression "puVar11[1] & 0xf" (subscript_expression "puVar11[1]" identifier [ number_literal ]) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n    uVar6 = *(ushort *)((long)puVar11 + 6) << 8 | *(ushort *)((long)puVar11 + 6) >> 8;\n    uVar17 = (uint)uVar6;\n    if (uVar17 < 0xff00) {\n      is_ordinary = true;\nLAB_001e6f84:\n      if (uVar17 < (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_) {\n        uVar17 = *(uint *)(shdrs + (uVar17 << 6));\n        uVar15 = (ulong)(uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                        uVar17 << 0x18);\n        if (uVar15 < section_names_size) {\n                    /* try { // try from 001e6fba to 001e6fbe has its CatchHandler @ 001e7432 */\n          std::string::assign((string *)&signature,section_names + uVar15);\n        }\n        goto LAB_001e6c3f;\n      }\n    }\n    else if (uVar6 == 0xffff) {\n      uVar17 = Object::adjust_sym_shndx((Object *)this,uVar7,(uint)&is_ordinary,is_ordinary_00);\n      if (is_ordinary != false) goto LAB_001e6f84;\n    }\n    else {\n      _is_ordinary = (pointer)((ulong)uStack_67 << 8);\n    }\n    pcVar14 = (char *)gettext("symbol %u invalid section index %u");\n                    /* try { // try from 001e7358 to 001e737a has its CatchHandler @ 001e7432 */\n    Object::error((Object *)this,pcVar14,(ulong)uVar7,(ulong)uVar17);\nLAB_001e735d:\n    local_121 = '\0';\n    goto LAB_001e70e8;\n  }" { (expression_statement "uVar6 = *(ushort *)((long)puVar11 + 6) << 8 | *(ushort *)((long)puVar11 + 6) >> 8;" (assignment_expression "uVar6 = *(ushort *)((long)puVar11 + 6) << 8 | *(ushort *)((long)puVar11 + 6) >> 8" identifier = (binary_expression "*(ushort *)((long)puVar11 + 6) << 8 | *(ushort *)((long)puVar11 + 6) >> 8" (binary_expression "*(ushort *)((long)puVar11 + 6) << 8" (pointer_expression "*(ushort *)((long)puVar11 + 6)" * (cast_expression "(ushort *)((long)puVar11 + 6)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar11 + 6)" ( (binary_expression "(long)puVar11 + 6" (cast_expression "(long)puVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) << number_literal) | (binary_expression "*(ushort *)((long)puVar11 + 6) >> 8" (pointer_expression "*(ushort *)((long)puVar11 + 6)" * (cast_expression "(ushort *)((long)puVar11 + 6)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar11 + 6)" ( (binary_expression "(long)puVar11 + 6" (cast_expression "(long)puVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) >> number_literal))) ;) (expression_statement "uVar17 = (uint)uVar6;" (assignment_expression "uVar17 = (uint)uVar6" identifier = (cast_expression "(uint)uVar6" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (uVar17 < 0xff00) {\n      is_ordinary = true;\nLAB_001e6f84:\n      if (uVar17 < (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_) {\n        uVar17 = *(uint *)(shdrs + (uVar17 << 6));\n        uVar15 = (ulong)(uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                        uVar17 << 0x18);\n        if (uVar15 < section_names_size) {\n                    /* try { // try from 001e6fba to 001e6fbe has its CatchHandler @ 001e7432 */\n          std::string::assign((string *)&signature,section_names + uVar15);\n        }\n        goto LAB_001e6c3f;\n      }\n    }\n    else if (uVar6 == 0xffff) {\n      uVar17 = Object::adjust_sym_shndx((Object *)this,uVar7,(uint)&is_ordinary,is_ordinary_00);\n      if (is_ordinary != false) goto LAB_001e6f84;\n    }\n    else {\n      _is_ordinary = (pointer)((ulong)uStack_67 << 8);\n    }" if (parenthesized_expression "(uVar17 < 0xff00)" ( (binary_expression "uVar17 < 0xff00" identifier < number_literal) )) (compound_statement "{\n      is_ordinary = true;\nLAB_001e6f84:\n      if (uVar17 < (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_) {\n        uVar17 = *(uint *)(shdrs + (uVar17 << 6));\n        uVar15 = (ulong)(uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                        uVar17 << 0x18);\n        if (uVar15 < section_names_size) {\n                    /* try { // try from 001e6fba to 001e6fbe has its CatchHandler @ 001e7432 */\n          std::string::assign((string *)&signature,section_names + uVar15);\n        }\n        goto LAB_001e6c3f;\n      }\n    }" { (expression_statement "is_ordinary = true;" (assignment_expression "is_ordinary = true" identifier = true) ;) (labeled_statement "LAB_001e6f84:\n      if (uVar17 < (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_) {\n        uVar17 = *(uint *)(shdrs + (uVar17 << 6));\n        uVar15 = (ulong)(uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                        uVar17 << 0x18);\n        if (uVar15 < section_names_size) {\n                    /* try { // try from 001e6fba to 001e6fbe has its CatchHandler @ 001e7432 */\n          std::string::assign((string *)&signature,section_names + uVar15);\n        }\n        goto LAB_001e6c3f;\n      }" statement_identifier : (if_statement "if (uVar17 < (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_) {\n        uVar17 = *(uint *)(shdrs + (uVar17 << 6));\n        uVar15 = (ulong)(uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                        uVar17 << 0x18);\n        if (uVar15 < section_names_size) {\n                    /* try { // try from 001e6fba to 001e6fbe has its CatchHandler @ 001e7432 */\n          std::string::assign((string *)&signature,section_names + uVar15);\n        }\n        goto LAB_001e6c3f;\n      }" if (parenthesized_expression "(uVar17 < (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_)" ( (binary_expression "uVar17 < (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_" identifier < (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_true>)" ( (comma_expression "this->super_Sized_relobj<64,_true" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier)) )) (compound_statement "{\n        uVar17 = *(uint *)(shdrs + (uVar17 << 6));\n        uVar15 = (ulong)(uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                        uVar17 << 0x18);\n        if (uVar15 < section_names_size) {\n                    /* try { // try from 001e6fba to 001e6fbe has its CatchHandler @ 001e7432 */\n          std::string::assign((string *)&signature,section_names + uVar15);\n        }\n        goto LAB_001e6c3f;\n      }" { (expression_statement "uVar17 = *(uint *)(shdrs + (uVar17 << 6));" (assignment_expression "uVar17 = *(uint *)(shdrs + (uVar17 << 6))" identifier = (pointer_expression "*(uint *)(shdrs + (uVar17 << 6))" * (cast_expression "(uint *)(shdrs + (uVar17 << 6))" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(shdrs + (uVar17 << 6))" ( (binary_expression "shdrs + (uVar17 << 6)" identifier + (parenthesized_expression "(uVar17 << 6)" ( (binary_expression "uVar17 << 6" identifier << number_literal) ))) ))))) ;) (expression_statement "uVar15 = (ulong)(uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                        uVar17 << 0x18);" (assignment_expression "uVar15 = (ulong)(uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                        uVar17 << 0x18)" identifier = (call_expression "(ulong)(uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                        uVar17 << 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                        uVar17 << 0x18)" ( (binary_expression "uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                        uVar17 << 0x18" (binary_expression "uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8" (binary_expression "uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8" (binary_expression "uVar17 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar17 & 0xff0000) >> 8" (parenthesized_expression "(uVar17 & 0xff0000)" ( (binary_expression "uVar17 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar17 & 0xff00) << 8" (parenthesized_expression "(uVar17 & 0xff00)" ( (binary_expression "uVar17 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar17 << 0x18" identifier << number_literal)) )))) ;) (if_statement "if (uVar15 < section_names_size) {\n                    /* try { // try from 001e6fba to 001e6fbe has its CatchHandler @ 001e7432 */\n          std::string::assign((string *)&signature,section_names + uVar15);\n        }" if (parenthesized_expression "(uVar15 < section_names_size)" ( (binary_expression "uVar15 < section_names_size" identifier < identifier) )) (compound_statement "{\n                    /* try { // try from 001e6fba to 001e6fbe has its CatchHandler @ 001e7432 */\n          std::string::assign((string *)&signature,section_names + uVar15);\n        }" { comment (labeled_statement "std::string::assign((string *)&signature,section_names + uVar15);" statement_identifier : (ERROR ":" :) (labeled_statement "string::assign((string *)&signature,section_names + uVar15);" statement_identifier : (ERROR ":" :) (expression_statement "assign((string *)&signature,section_names + uVar15);" (call_expression "assign((string *)&signature,section_names + uVar15)" identifier (argument_list "((string *)&signature,section_names + uVar15)" ( (cast_expression "(string *)&signature" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&signature" & identifier)) , (binary_expression "section_names + uVar15" identifier + identifier) ))) ;))) })) (goto_statement "goto LAB_001e6c3f;" goto statement_identifier ;) }))) }) (else_clause "else if (uVar6 == 0xffff) {\n      uVar17 = Object::adjust_sym_shndx((Object *)this,uVar7,(uint)&is_ordinary,is_ordinary_00);\n      if (is_ordinary != false) goto LAB_001e6f84;\n    }\n    else {\n      _is_ordinary = (pointer)((ulong)uStack_67 << 8);\n    }" else (if_statement "if (uVar6 == 0xffff) {\n      uVar17 = Object::adjust_sym_shndx((Object *)this,uVar7,(uint)&is_ordinary,is_ordinary_00);\n      if (is_ordinary != false) goto LAB_001e6f84;\n    }\n    else {\n      _is_ordinary = (pointer)((ulong)uStack_67 << 8);\n    }" if (parenthesized_expression "(uVar6 == 0xffff)" ( (binary_expression "uVar6 == 0xffff" identifier == number_literal) )) (compound_statement "{\n      uVar17 = Object::adjust_sym_shndx((Object *)this,uVar7,(uint)&is_ordinary,is_ordinary_00);\n      if (is_ordinary != false) goto LAB_001e6f84;\n    }" { (ERROR "uVar17 = Object::" (assignment_expression "uVar17 = Object" identifier = identifier) : :) (expression_statement "adjust_sym_shndx((Object *)this,uVar7,(uint)&is_ordinary,is_ordinary_00);" (call_expression "adjust_sym_shndx((Object *)this,uVar7,(uint)&is_ordinary,is_ordinary_00)" identifier (argument_list "((Object *)this,uVar7,(uint)&is_ordinary,is_ordinary_00)" ( (cast_expression "(Object *)this" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , (binary_expression "(uint)&is_ordinary" (parenthesized_expression "(uint)" ( identifier )) & identifier) , identifier ))) ;) (if_statement "if (is_ordinary != false) goto LAB_001e6f84;" if (parenthesized_expression "(is_ordinary != false)" ( (binary_expression "is_ordinary != false" identifier != false) )) (goto_statement "goto LAB_001e6f84;" goto statement_identifier ;)) }) (else_clause "else {\n      _is_ordinary = (pointer)((ulong)uStack_67 << 8);\n    }" else (compound_statement "{\n      _is_ordinary = (pointer)((ulong)uStack_67 << 8);\n    }" { (expression_statement "_is_ordinary = (pointer)((ulong)uStack_67 << 8);" (assignment_expression "_is_ordinary = (pointer)((ulong)uStack_67 << 8)" identifier = (call_expression "(pointer)((ulong)uStack_67 << 8)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((ulong)uStack_67 << 8)" ( (binary_expression "(ulong)uStack_67 << 8" (cast_expression "(ulong)uStack_67" ( (type_descriptor "ulong" type_identifier) ) identifier) << number_literal) )))) ;) }))))) (expression_statement "pcVar14 = (char *)gettext("symbol %u invalid section index %u");" (assignment_expression "pcVar14 = (char *)gettext("symbol %u invalid section index %u")" identifier = (cast_expression "(char *)gettext("symbol %u invalid section index %u")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("symbol %u invalid section index %u")" identifier (argument_list "("symbol %u invalid section index %u")" ( (string_literal ""symbol %u invalid section index %u"" " string_content ") ))))) ;) comment (labeled_statement "Object::error((Object *)this,pcVar14,(ulong)uVar7,(ulong)uVar17);" statement_identifier : (ERROR ":" :) (expression_statement "error((Object *)this,pcVar14,(ulong)uVar7,(ulong)uVar17);" (call_expression "error((Object *)this,pcVar14,(ulong)uVar7,(ulong)uVar17)" identifier (argument_list "((Object *)this,pcVar14,(ulong)uVar7,(ulong)uVar17)" ( (cast_expression "(Object *)this" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , (cast_expression "(ulong)uVar7" ( (type_descriptor "ulong" type_identifier) ) identifier) , (cast_expression "(ulong)uVar17" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;)) (labeled_statement "LAB_001e735d:\n    local_121 = '\0';" statement_identifier : (expression_statement "local_121 = '\0';" (assignment_expression "local_121 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;)) (goto_statement "goto LAB_001e70e8;" goto statement_identifier ;) })) (labeled_statement "LAB_001e6c3f:\n  kept_section = (Kept_section *)0x0;" statement_identifier : (expression_statement "kept_section = (Kept_section *)0x0;" (assignment_expression "kept_section = (Kept_section *)0x0" identifier = (cast_expression "(Kept_section *)0x0" ( (type_descriptor "Kept_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (if_statement "if ((uVar1 >> 0x18 & 1) == 0) {\n    uVar15 = (shdr.p_)->sh_size;\n    local_122 = false;\n    local_118 = uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 | (uVar15 & 0xff00) << 0x28\n                | uVar15 << 0x38;\nLAB_001e6c9f:\n    local_118 = local_118 >> 2;\n    shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_end_of_storage = (pointer)0x0;\n    shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n         (pointer)0x0;\n    shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start =\n         (pointer)0x0;\n    if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001e73a8 to 001e73ac has its CatchHandler @ 001e73c5 */\n      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n    }\n    cVar5 = (parameters->options_->relocatable_).value;\n    if ((bool)cVar5 != false) {\n                    /* try { // try from 001e7314 to 001e7318 has its CatchHandler @ 001e73c5 */\n      std::vector<unsigned_int,_std::allocator<unsigned_int>_>::reserve(&shndxes,local_118 - 1);\n      local_121 = cVar5;\n      if (1 < local_118) goto LAB_001e6cd9;\n      goto LAB_001e7093;\n    }\n    local_121 = '\x01';\n    if (1 < local_118) goto LAB_001e6cd9;\n  }\n  else {\n                    /* try { // try from 001e71ff to 001e7228 has its CatchHandler @ 001e7432 */\n    cVar5 = Layout::find_or_add_kept_section\n                      (layout,&signature,(Relobj *)this,index,true,true,&kept_section);\n    if ((bool)cVar5) {\n      if (layout->incremental_inputs_ != (Incremental_inputs *)0x0) {\n        Incremental_inputs::report_comdat_group\n                  (layout->incremental_inputs_,(Object *)this,signature._M_dataplus._M_p);\n      }\n      uVar15 = (shdr.p_)->sh_size;\n      local_118 = uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                  (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                  (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n                  (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38;\n      local_122 = (bool)cVar5;\n      goto LAB_001e6c9f;\n    }\n    shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start =\n         (pointer)0x0;\n    shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n         (pointer)0x0;\n    shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_end_of_storage = (pointer)0x0;\n    uVar15 = (shdr.p_)->sh_size;\n    local_118 = (uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                 (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                 (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n                 (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38) >> 2;\n    if (local_118 < 2) goto LAB_001e735d;\n    local_121 = '\0';\n    local_122 = true;\nLAB_001e6cd9:\n    local_110 = (vector<unsigned_int,_std::allocator<unsigned_int>_> *)0x1;\n    paVar12 = &mname.field_2;\n    do {\n      uVar17 = puVar9[(long)local_110];\n      uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n      if (uVar17 < 0xff00) {\n        shndx = uVar17;\n        if (cVar5 != '\0') goto LAB_001e6e26;\nLAB_001e6d30:\n        if ((this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_ <= shndx)\n        goto LAB_001e6e59;\nLAB_001e6d3a:\n        EVar4 = shndx;\n        if (shndx < index) {\n          pcVar14 = (char *)gettext("invalid section group %u refers to earlier section %u");\n                    /* try { // try from 001e6fe2 to 001e6fe6 has its CatchHandler @ 001e73c5 */\n          Object::error((Object *)this,pcVar14,(ulong)index,(ulong)EVar4);\n        }\n        puVar11 = (uint *)(shdrs + (shndx << 6));\n        uVar17 = *puVar11;\n        uVar15 = (ulong)(uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                        uVar17 << 0x18);\n        if (uVar15 < section_names_size) {\n          pcVar14 = (char *)0xffffffffffffffff;\n          __s = section_names + uVar15;\n          mname._M_dataplus._M_p = (pointer)paVar12;\n          if (__s != (char *)0x0) {\n            sVar13 = strlen(__s);\n            pcVar14 = __s + sVar13;\n          }\n                    /* try { // try from 001e6d98 to 001e6e77 has its CatchHandler @ 001e73c5 */\n          std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n          _M_construct<char_const*>(&mname,__s,pcVar14);\n          EVar4 = shndx;\n          if (local_121 == '\0') {\n            puVar16 = (ulong *)((ulong)(shndx >> 3 & 0x1ffffff8) +\n                               (long)(omit->super__Bvector_base<std::allocator<bool>_>)._M_impl.\n                                     super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p\n                               );\n            *puVar16 = *puVar16 | 1L << ((byte)shndx & 0x3f);\n            if ((local_122 != false) && ((local_118 == 2 || (kept_section->is_comdat_ != false)))) {\n              uVar15 = *(ulong *)(puVar11 + 8);\n              local_88.second.kept_section = kept_section;\n              local_88.first = shndx;\n              local_88.second.sh_size =\n                   uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                   (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                   (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n                   (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38;\n              local_88.second.is_comdat = true;\n              local_88.second.symndx = uVar7;\n                    /* try { // try from 001e706e to 001e7072 has its CatchHandler @ 001e73ca */\n              std::\n              _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>_>_>\n              ::\n              _M_emplace_unique<std::pair<unsigned_int,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>_>\n                        (&(this->kept_comdat_sections_)._M_t,&local_88);\n            }\n          }\n          else if (local_122 != false) {\n            uVar15 = *(ulong *)(puVar11 + 8);\n            if (kept_section->is_comdat_ == false) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001e73c0 to 001e73c4 has its CatchHandler @ 001e73ca */\n              do_gold_unreachable("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            this_00 = &((kept_section->u_).group_sections)->_M_t;\n            _is_ordinary = local_58;\n                    /* try { // try from 001e7166 to 001e716a has its CatchHandler @ 001e73ca */\n            std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n            _M_construct<char*>((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *\n                                )&is_ordinary,mname._M_dataplus._M_p,\n                                mname._M_dataplus._M_p + mname._M_string_length);\n            local_48 = EVar4;\n            local_40 = uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                       (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                       (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n                       (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38;\n                    /* try { // try from 001e7189 to 001e718d has its CatchHandler @ 001e7437 */\n            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>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_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>_>,_gold::Kept_section::Comdat_section_info>_>_>\n            ::\n            _M_emplace_unique<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>\n                      (this_00,(pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>\n                                *)&is_ordinary);\n            if (_is_ordinary != local_58) {\n              operator_delete(_is_ordinary);\n            }\n          }\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)mname._M_dataplus._M_p != paVar12) {\n            operator_delete(mname._M_dataplus._M_p);\n          }\n        }\n      }\n      else {\n        elfcpp::Elf_file<64,_true,_gold::Object>::initialize_shnum(&this->elf_file_);\n        uVar17 = uVar17 + (this->elf_file_).large_shndx_offset_;\n        shndx = uVar17;\n        if (cVar5 == '\0') goto LAB_001e6d30;\nLAB_001e6e26:\n        shndx = uVar17;\n        if (shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish ==\n            shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_end_of_storage) {\n                    /* try { // try from 001e71be to 001e71c2 has its CatchHandler @ 001e73c5 */\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::\n          _M_realloc_insert<unsigned_int_const&>\n                    (&shndxes,(iterator)\n                              shndxes.\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                              _M_impl._M_finish,&shndx);\n          goto LAB_001e6d30;\n        }\n        *shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n             uVar17;\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n             shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n             _M_finish + 1;\n        if (uVar17 < (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_)\n        goto LAB_001e6d3a;\nLAB_001e6e59:\n        EVar4 = shndx;\n        pcVar14 = (char *)gettext("section %u in section group %u out of range");\n        Object::error((Object *)this,pcVar14,(ulong)EVar4,(ulong)index);\n      }\n      local_110 = (vector<unsigned_int,_std::allocator<unsigned_int>_> *)((long)local_110 + 1);\n    } while (local_110 < local_118);\n    if (cVar5 != '\0') {\nLAB_001e7093:\n      local_110 = &shndxes;\n                    /* try { // try from 001e70ce to 001e70d2 has its CatchHandler @ 001e73c5 */\n      Layout::layout_group<64,_true>\n                (layout,symtab,this,index,name,signature._M_dataplus._M_p,&shdr,\n                 uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                 local_110);\n    }\n  }" if (parenthesized_expression "((uVar1 >> 0x18 & 1) == 0)" ( (binary_expression "(uVar1 >> 0x18 & 1) == 0" (parenthesized_expression "(uVar1 >> 0x18 & 1)" ( (binary_expression "uVar1 >> 0x18 & 1" (binary_expression "uVar1 >> 0x18" identifier >> number_literal) & number_literal) )) == number_literal) )) (compound_statement "{\n    uVar15 = (shdr.p_)->sh_size;\n    local_122 = false;\n    local_118 = uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 | (uVar15 & 0xff00) << 0x28\n                | uVar15 << 0x38;\nLAB_001e6c9f:\n    local_118 = local_118 >> 2;\n    shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_end_of_storage = (pointer)0x0;\n    shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n         (pointer)0x0;\n    shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start =\n         (pointer)0x0;\n    if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001e73a8 to 001e73ac has its CatchHandler @ 001e73c5 */\n      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n    }\n    cVar5 = (parameters->options_->relocatable_).value;\n    if ((bool)cVar5 != false) {\n                    /* try { // try from 001e7314 to 001e7318 has its CatchHandler @ 001e73c5 */\n      std::vector<unsigned_int,_std::allocator<unsigned_int>_>::reserve(&shndxes,local_118 - 1);\n      local_121 = cVar5;\n      if (1 < local_118) goto LAB_001e6cd9;\n      goto LAB_001e7093;\n    }\n    local_121 = '\x01';\n    if (1 < local_118) goto LAB_001e6cd9;\n  }" { (expression_statement "uVar15 = (shdr.p_)->sh_size;" (assignment_expression "uVar15 = (shdr.p_)->sh_size" identifier = (field_expression "(shdr.p_)->sh_size" (parenthesized_expression "(shdr.p_)" ( (field_expression "shdr.p_" identifier . field_identifier) )) -> field_identifier)) ;) (expression_statement "local_122 = false;" (assignment_expression "local_122 = false" identifier = false) ;) (expression_statement "local_118 = uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 | (uVar15 & 0xff00) << 0x28\n                | uVar15 << 0x38;" (assignment_expression "local_118 = uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 | (uVar15 & 0xff00) << 0x28\n                | uVar15 << 0x38" identifier = (binary_expression "uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 | (uVar15 & 0xff00) << 0x28\n                | uVar15 << 0x38" (binary_expression "uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 | (uVar15 & 0xff00) << 0x28" (binary_expression "uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18" (binary_expression "uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                (uVar15 & 0xff000000) << 8" (binary_expression "uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8" (binary_expression "uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                (uVar15 & 0xff0000000000) >> 0x18" (binary_expression "uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28" (binary_expression "uVar15 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar15 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar15 & 0xff000000000000)" ( (binary_expression "uVar15 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar15 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar15 & 0xff0000000000)" ( (binary_expression "uVar15 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar15 & 0xff00000000) >> 8" (parenthesized_expression "(uVar15 & 0xff00000000)" ( (binary_expression "uVar15 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar15 & 0xff000000) << 8" (parenthesized_expression "(uVar15 & 0xff000000)" ( (binary_expression "uVar15 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar15 & 0xff0000) << 0x18" (parenthesized_expression "(uVar15 & 0xff0000)" ( (binary_expression "uVar15 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar15 & 0xff00) << 0x28" (parenthesized_expression "(uVar15 & 0xff00)" ( (binary_expression "uVar15 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar15 << 0x38" identifier << number_literal))) ;) (labeled_statement "LAB_001e6c9f:\n    local_118 = local_118 >> 2;" statement_identifier : (expression_statement "local_118 = local_118 >> 2;" (assignment_expression "local_118 = local_118 >> 2" identifier = (binary_expression "local_118 >> 2" identifier >> number_literal)) ;)) (ERROR "shndxes.super__Vector_base<unsigned_int,_std::" (comma_expression "shndxes.super__Vector_base<unsigned_int,_std" (binary_expression "shndxes.super__Vector_base<unsigned_int" (field_expression "shndxes.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : :) (expression_statement "allocator<unsigned_int>_>._M_impl.\n    _M_end_of_storage = (pointer)0x0;" (assignment_expression "allocator<unsigned_int>_>._M_impl.\n    _M_end_of_storage = (pointer)0x0" (field_expression "allocator<unsigned_int>_>._M_impl.\n    _M_end_of_storage" (field_expression "allocator<unsigned_int>_>._M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (ERROR "shndxes.super__Vector_base<unsigned_int,_std::" (comma_expression "shndxes.super__Vector_base<unsigned_int,_std" (binary_expression "shndxes.super__Vector_base<unsigned_int" (field_expression "shndxes.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : :) (expression_statement "allocator<unsigned_int>_>._M_impl._M_finish =\n         (pointer)0x0;" (assignment_expression "allocator<unsigned_int>_>._M_impl._M_finish =\n         (pointer)0x0" (field_expression "allocator<unsigned_int>_>._M_impl._M_finish" (field_expression "allocator<unsigned_int>_>._M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (ERROR "shndxes.super__Vector_base<unsigned_int,_std::" (comma_expression "shndxes.super__Vector_base<unsigned_int,_std" (binary_expression "shndxes.super__Vector_base<unsigned_int" (field_expression "shndxes.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : :) (expression_statement "allocator<unsigned_int>_>._M_impl._M_start =\n         (pointer)0x0;" (assignment_expression "allocator<unsigned_int>_>._M_impl._M_start =\n         (pointer)0x0" (field_expression "allocator<unsigned_int>_>._M_impl._M_start" (field_expression "allocator<unsigned_int>_>._M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (if_statement "if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001e73a8 to 001e73ac has its CatchHandler @ 001e73c5 */\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 001e73a8 to 001e73ac has its CatchHandler @ 001e73c5 */\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 ") ))) ;) })) (expression_statement "cVar5 = (parameters->options_->relocatable_).value;" (assignment_expression "cVar5 = (parameters->options_->relocatable_).value" identifier = (field_expression "(parameters->options_->relocatable_).value" (parenthesized_expression "(parameters->options_->relocatable_)" ( (field_expression "parameters->options_->relocatable_" (field_expression "parameters->options_" identifier -> field_identifier) -> field_identifier) )) . field_identifier)) ;) (if_statement "if ((bool)cVar5 != false) {\n                    /* try { // try from 001e7314 to 001e7318 has its CatchHandler @ 001e73c5 */\n      std::vector<unsigned_int,_std::allocator<unsigned_int>_>::reserve(&shndxes,local_118 - 1);\n      local_121 = cVar5;\n      if (1 < local_118) goto LAB_001e6cd9;\n      goto LAB_001e7093;\n    }" if (parenthesized_expression "((bool)cVar5 != false)" ( (binary_expression "(bool)cVar5 != false" (cast_expression "(bool)cVar5" ( (type_descriptor "bool" primitive_type) ) identifier) != false) )) (compound_statement "{\n                    /* try { // try from 001e7314 to 001e7318 has its CatchHandler @ 001e73c5 */\n      std::vector<unsigned_int,_std::allocator<unsigned_int>_>::reserve(&shndxes,local_118 - 1);\n      local_121 = cVar5;\n      if (1 < local_118) goto LAB_001e6cd9;\n      goto LAB_001e7093;\n    }" { comment (labeled_statement "std::vector<unsigned_int,_std::allocator<unsigned_int>_>::reserve(&shndxes,local_118 - 1);" 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 "reserve(&shndxes,local_118 - 1);" (call_expression "reserve(&shndxes,local_118 - 1)" identifier (argument_list "(&shndxes,local_118 - 1)" ( (pointer_expression "&shndxes" & identifier) , (binary_expression "local_118 - 1" identifier - number_literal) ))) ;)) (expression_statement "local_121 = cVar5;" (assignment_expression "local_121 = cVar5" identifier = identifier) ;) (if_statement "if (1 < local_118) goto LAB_001e6cd9;" if (parenthesized_expression "(1 < local_118)" ( (binary_expression "1 < local_118" number_literal < identifier) )) (goto_statement "goto LAB_001e6cd9;" goto statement_identifier ;)) (goto_statement "goto LAB_001e7093;" goto statement_identifier ;) })) (expression_statement "local_121 = '\x01';" (assignment_expression "local_121 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (if_statement "if (1 < local_118) goto LAB_001e6cd9;" if (parenthesized_expression "(1 < local_118)" ( (binary_expression "1 < local_118" number_literal < identifier) )) (goto_statement "goto LAB_001e6cd9;" goto statement_identifier ;)) }) (else_clause "else {\n                    /* try { // try from 001e71ff to 001e7228 has its CatchHandler @ 001e7432 */\n    cVar5 = Layout::find_or_add_kept_section\n                      (layout,&signature,(Relobj *)this,index,true,true,&kept_section);\n    if ((bool)cVar5) {\n      if (layout->incremental_inputs_ != (Incremental_inputs *)0x0) {\n        Incremental_inputs::report_comdat_group\n                  (layout->incremental_inputs_,(Object *)this,signature._M_dataplus._M_p);\n      }\n      uVar15 = (shdr.p_)->sh_size;\n      local_118 = uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                  (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                  (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n                  (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38;\n      local_122 = (bool)cVar5;\n      goto LAB_001e6c9f;\n    }\n    shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start =\n         (pointer)0x0;\n    shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n         (pointer)0x0;\n    shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_end_of_storage = (pointer)0x0;\n    uVar15 = (shdr.p_)->sh_size;\n    local_118 = (uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                 (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                 (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n                 (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38) >> 2;\n    if (local_118 < 2) goto LAB_001e735d;\n    local_121 = '\0';\n    local_122 = true;\nLAB_001e6cd9:\n    local_110 = (vector<unsigned_int,_std::allocator<unsigned_int>_> *)0x1;\n    paVar12 = &mname.field_2;\n    do {\n      uVar17 = puVar9[(long)local_110];\n      uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n      if (uVar17 < 0xff00) {\n        shndx = uVar17;\n        if (cVar5 != '\0') goto LAB_001e6e26;\nLAB_001e6d30:\n        if ((this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_ <= shndx)\n        goto LAB_001e6e59;\nLAB_001e6d3a:\n        EVar4 = shndx;\n        if (shndx < index) {\n          pcVar14 = (char *)gettext("invalid section group %u refers to earlier section %u");\n                    /* try { // try from 001e6fe2 to 001e6fe6 has its CatchHandler @ 001e73c5 */\n          Object::error((Object *)this,pcVar14,(ulong)index,(ulong)EVar4);\n        }\n        puVar11 = (uint *)(shdrs + (shndx << 6));\n        uVar17 = *puVar11;\n        uVar15 = (ulong)(uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                        uVar17 << 0x18);\n        if (uVar15 < section_names_size) {\n          pcVar14 = (char *)0xffffffffffffffff;\n          __s = section_names + uVar15;\n          mname._M_dataplus._M_p = (pointer)paVar12;\n          if (__s != (char *)0x0) {\n            sVar13 = strlen(__s);\n            pcVar14 = __s + sVar13;\n          }\n                    /* try { // try from 001e6d98 to 001e6e77 has its CatchHandler @ 001e73c5 */\n          std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n          _M_construct<char_const*>(&mname,__s,pcVar14);\n          EVar4 = shndx;\n          if (local_121 == '\0') {\n            puVar16 = (ulong *)((ulong)(shndx >> 3 & 0x1ffffff8) +\n                               (long)(omit->super__Bvector_base<std::allocator<bool>_>)._M_impl.\n                                     super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p\n                               );\n            *puVar16 = *puVar16 | 1L << ((byte)shndx & 0x3f);\n            if ((local_122 != false) && ((local_118 == 2 || (kept_section->is_comdat_ != false)))) {\n              uVar15 = *(ulong *)(puVar11 + 8);\n              local_88.second.kept_section = kept_section;\n              local_88.first = shndx;\n              local_88.second.sh_size =\n                   uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                   (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                   (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n                   (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38;\n              local_88.second.is_comdat = true;\n              local_88.second.symndx = uVar7;\n                    /* try { // try from 001e706e to 001e7072 has its CatchHandler @ 001e73ca */\n              std::\n              _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>_>_>\n              ::\n              _M_emplace_unique<std::pair<unsigned_int,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>_>\n                        (&(this->kept_comdat_sections_)._M_t,&local_88);\n            }\n          }\n          else if (local_122 != false) {\n            uVar15 = *(ulong *)(puVar11 + 8);\n            if (kept_section->is_comdat_ == false) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001e73c0 to 001e73c4 has its CatchHandler @ 001e73ca */\n              do_gold_unreachable("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            this_00 = &((kept_section->u_).group_sections)->_M_t;\n            _is_ordinary = local_58;\n                    /* try { // try from 001e7166 to 001e716a has its CatchHandler @ 001e73ca */\n            std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n            _M_construct<char*>((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *\n                                )&is_ordinary,mname._M_dataplus._M_p,\n                                mname._M_dataplus._M_p + mname._M_string_length);\n            local_48 = EVar4;\n            local_40 = uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                       (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                       (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n                       (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38;\n                    /* try { // try from 001e7189 to 001e718d has its CatchHandler @ 001e7437 */\n            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>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_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>_>,_gold::Kept_section::Comdat_section_info>_>_>\n            ::\n            _M_emplace_unique<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>\n                      (this_00,(pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>\n                                *)&is_ordinary);\n            if (_is_ordinary != local_58) {\n              operator_delete(_is_ordinary);\n            }\n          }\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)mname._M_dataplus._M_p != paVar12) {\n            operator_delete(mname._M_dataplus._M_p);\n          }\n        }\n      }\n      else {\n        elfcpp::Elf_file<64,_true,_gold::Object>::initialize_shnum(&this->elf_file_);\n        uVar17 = uVar17 + (this->elf_file_).large_shndx_offset_;\n        shndx = uVar17;\n        if (cVar5 == '\0') goto LAB_001e6d30;\nLAB_001e6e26:\n        shndx = uVar17;\n        if (shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish ==\n            shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_end_of_storage) {\n                    /* try { // try from 001e71be to 001e71c2 has its CatchHandler @ 001e73c5 */\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::\n          _M_realloc_insert<unsigned_int_const&>\n                    (&shndxes,(iterator)\n                              shndxes.\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                              _M_impl._M_finish,&shndx);\n          goto LAB_001e6d30;\n        }\n        *shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n             uVar17;\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n             shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n             _M_finish + 1;\n        if (uVar17 < (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_)\n        goto LAB_001e6d3a;\nLAB_001e6e59:\n        EVar4 = shndx;\n        pcVar14 = (char *)gettext("section %u in section group %u out of range");\n        Object::error((Object *)this,pcVar14,(ulong)EVar4,(ulong)index);\n      }\n      local_110 = (vector<unsigned_int,_std::allocator<unsigned_int>_> *)((long)local_110 + 1);\n    } while (local_110 < local_118);\n    if (cVar5 != '\0') {\nLAB_001e7093:\n      local_110 = &shndxes;\n                    /* try { // try from 001e70ce to 001e70d2 has its CatchHandler @ 001e73c5 */\n      Layout::layout_group<64,_true>\n                (layout,symtab,this,index,name,signature._M_dataplus._M_p,&shdr,\n                 uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                 local_110);\n    }\n  }" else (compound_statement "{\n                    /* try { // try from 001e71ff to 001e7228 has its CatchHandler @ 001e7432 */\n    cVar5 = Layout::find_or_add_kept_section\n                      (layout,&signature,(Relobj *)this,index,true,true,&kept_section);\n    if ((bool)cVar5) {\n      if (layout->incremental_inputs_ != (Incremental_inputs *)0x0) {\n        Incremental_inputs::report_comdat_group\n                  (layout->incremental_inputs_,(Object *)this,signature._M_dataplus._M_p);\n      }\n      uVar15 = (shdr.p_)->sh_size;\n      local_118 = uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                  (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                  (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n                  (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38;\n      local_122 = (bool)cVar5;\n      goto LAB_001e6c9f;\n    }\n    shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start =\n         (pointer)0x0;\n    shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n         (pointer)0x0;\n    shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_end_of_storage = (pointer)0x0;\n    uVar15 = (shdr.p_)->sh_size;\n    local_118 = (uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                 (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                 (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n                 (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38) >> 2;\n    if (local_118 < 2) goto LAB_001e735d;\n    local_121 = '\0';\n    local_122 = true;\nLAB_001e6cd9:\n    local_110 = (vector<unsigned_int,_std::allocator<unsigned_int>_> *)0x1;\n    paVar12 = &mname.field_2;\n    do {\n      uVar17 = puVar9[(long)local_110];\n      uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n      if (uVar17 < 0xff00) {\n        shndx = uVar17;\n        if (cVar5 != '\0') goto LAB_001e6e26;\nLAB_001e6d30:\n        if ((this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_ <= shndx)\n        goto LAB_001e6e59;\nLAB_001e6d3a:\n        EVar4 = shndx;\n        if (shndx < index) {\n          pcVar14 = (char *)gettext("invalid section group %u refers to earlier section %u");\n                    /* try { // try from 001e6fe2 to 001e6fe6 has its CatchHandler @ 001e73c5 */\n          Object::error((Object *)this,pcVar14,(ulong)index,(ulong)EVar4);\n        }\n        puVar11 = (uint *)(shdrs + (shndx << 6));\n        uVar17 = *puVar11;\n        uVar15 = (ulong)(uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                        uVar17 << 0x18);\n        if (uVar15 < section_names_size) {\n          pcVar14 = (char *)0xffffffffffffffff;\n          __s = section_names + uVar15;\n          mname._M_dataplus._M_p = (pointer)paVar12;\n          if (__s != (char *)0x0) {\n            sVar13 = strlen(__s);\n            pcVar14 = __s + sVar13;\n          }\n                    /* try { // try from 001e6d98 to 001e6e77 has its CatchHandler @ 001e73c5 */\n          std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n          _M_construct<char_const*>(&mname,__s,pcVar14);\n          EVar4 = shndx;\n          if (local_121 == '\0') {\n            puVar16 = (ulong *)((ulong)(shndx >> 3 & 0x1ffffff8) +\n                               (long)(omit->super__Bvector_base<std::allocator<bool>_>)._M_impl.\n                                     super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p\n                               );\n            *puVar16 = *puVar16 | 1L << ((byte)shndx & 0x3f);\n            if ((local_122 != false) && ((local_118 == 2 || (kept_section->is_comdat_ != false)))) {\n              uVar15 = *(ulong *)(puVar11 + 8);\n              local_88.second.kept_section = kept_section;\n              local_88.first = shndx;\n              local_88.second.sh_size =\n                   uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                   (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                   (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n                   (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38;\n              local_88.second.is_comdat = true;\n              local_88.second.symndx = uVar7;\n                    /* try { // try from 001e706e to 001e7072 has its CatchHandler @ 001e73ca */\n              std::\n              _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>_>_>\n              ::\n              _M_emplace_unique<std::pair<unsigned_int,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>_>\n                        (&(this->kept_comdat_sections_)._M_t,&local_88);\n            }\n          }\n          else if (local_122 != false) {\n            uVar15 = *(ulong *)(puVar11 + 8);\n            if (kept_section->is_comdat_ == false) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001e73c0 to 001e73c4 has its CatchHandler @ 001e73ca */\n              do_gold_unreachable("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            this_00 = &((kept_section->u_).group_sections)->_M_t;\n            _is_ordinary = local_58;\n                    /* try { // try from 001e7166 to 001e716a has its CatchHandler @ 001e73ca */\n            std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n            _M_construct<char*>((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *\n                                )&is_ordinary,mname._M_dataplus._M_p,\n                                mname._M_dataplus._M_p + mname._M_string_length);\n            local_48 = EVar4;\n            local_40 = uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                       (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                       (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n                       (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38;\n                    /* try { // try from 001e7189 to 001e718d has its CatchHandler @ 001e7437 */\n            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>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_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>_>,_gold::Kept_section::Comdat_section_info>_>_>\n            ::\n            _M_emplace_unique<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>\n                      (this_00,(pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>\n                                *)&is_ordinary);\n            if (_is_ordinary != local_58) {\n              operator_delete(_is_ordinary);\n            }\n          }\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)mname._M_dataplus._M_p != paVar12) {\n            operator_delete(mname._M_dataplus._M_p);\n          }\n        }\n      }\n      else {\n        elfcpp::Elf_file<64,_true,_gold::Object>::initialize_shnum(&this->elf_file_);\n        uVar17 = uVar17 + (this->elf_file_).large_shndx_offset_;\n        shndx = uVar17;\n        if (cVar5 == '\0') goto LAB_001e6d30;\nLAB_001e6e26:\n        shndx = uVar17;\n        if (shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish ==\n            shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_end_of_storage) {\n                    /* try { // try from 001e71be to 001e71c2 has its CatchHandler @ 001e73c5 */\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::\n          _M_realloc_insert<unsigned_int_const&>\n                    (&shndxes,(iterator)\n                              shndxes.\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                              _M_impl._M_finish,&shndx);\n          goto LAB_001e6d30;\n        }\n        *shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n             uVar17;\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n             shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n             _M_finish + 1;\n        if (uVar17 < (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_)\n        goto LAB_001e6d3a;\nLAB_001e6e59:\n        EVar4 = shndx;\n        pcVar14 = (char *)gettext("section %u in section group %u out of range");\n        Object::error((Object *)this,pcVar14,(ulong)EVar4,(ulong)index);\n      }\n      local_110 = (vector<unsigned_int,_std::allocator<unsigned_int>_> *)((long)local_110 + 1);\n    } while (local_110 < local_118);\n    if (cVar5 != '\0') {\nLAB_001e7093:\n      local_110 = &shndxes;\n                    /* try { // try from 001e70ce to 001e70d2 has its CatchHandler @ 001e73c5 */\n      Layout::layout_group<64,_true>\n                (layout,symtab,this,index,name,signature._M_dataplus._M_p,&shdr,\n                 uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                 local_110);\n    }\n  }" { comment (ERROR "cVar5 = Layout::" (assignment_expression "cVar5 = Layout" identifier = identifier) : :) (expression_statement "find_or_add_kept_section\n                      (layout,&signature,(Relobj *)this,index,true,true,&kept_section);" (call_expression "find_or_add_kept_section\n                      (layout,&signature,(Relobj *)this,index,true,true,&kept_section)" identifier (argument_list "(layout,&signature,(Relobj *)this,index,true,true,&kept_section)" ( identifier , (pointer_expression "&signature" & identifier) , (cast_expression "(Relobj *)this" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , true , true , (pointer_expression "&kept_section" & identifier) ))) ;) (if_statement "if ((bool)cVar5) {\n      if (layout->incremental_inputs_ != (Incremental_inputs *)0x0) {\n        Incremental_inputs::report_comdat_group\n                  (layout->incremental_inputs_,(Object *)this,signature._M_dataplus._M_p);\n      }\n      uVar15 = (shdr.p_)->sh_size;\n      local_118 = uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                  (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                  (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n                  (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38;\n      local_122 = (bool)cVar5;\n      goto LAB_001e6c9f;\n    }" if (parenthesized_expression "((bool)cVar5)" ( (cast_expression "(bool)cVar5" ( (type_descriptor "bool" primitive_type) ) identifier) )) (compound_statement "{\n      if (layout->incremental_inputs_ != (Incremental_inputs *)0x0) {\n        Incremental_inputs::report_comdat_group\n                  (layout->incremental_inputs_,(Object *)this,signature._M_dataplus._M_p);\n      }\n      uVar15 = (shdr.p_)->sh_size;\n      local_118 = uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                  (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                  (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n                  (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38;\n      local_122 = (bool)cVar5;\n      goto LAB_001e6c9f;\n    }" { (if_statement "if (layout->incremental_inputs_ != (Incremental_inputs *)0x0) {\n        Incremental_inputs::report_comdat_group\n                  (layout->incremental_inputs_,(Object *)this,signature._M_dataplus._M_p);\n      }" if (parenthesized_expression "(layout->incremental_inputs_ != (Incremental_inputs *)0x0)" ( (binary_expression "layout->incremental_inputs_ != (Incremental_inputs *)0x0" (field_expression "layout->incremental_inputs_" identifier -> field_identifier) != (cast_expression "(Incremental_inputs *)0x0" ( (type_descriptor "Incremental_inputs *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        Incremental_inputs::report_comdat_group\n                  (layout->incremental_inputs_,(Object *)this,signature._M_dataplus._M_p);\n      }" { (labeled_statement "Incremental_inputs::report_comdat_group\n                  (layout->incremental_inputs_,(Object *)this,signature._M_dataplus._M_p);" statement_identifier : (ERROR ":" :) (expression_statement "report_comdat_group\n                  (layout->incremental_inputs_,(Object *)this,signature._M_dataplus._M_p);" (call_expression "report_comdat_group\n                  (layout->incremental_inputs_,(Object *)this,signature._M_dataplus._M_p)" identifier (argument_list "(layout->incremental_inputs_,(Object *)this,signature._M_dataplus._M_p)" ( (field_expression "layout->incremental_inputs_" identifier -> field_identifier) , (cast_expression "(Object *)this" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (field_expression "signature._M_dataplus._M_p" (field_expression "signature._M_dataplus" identifier . field_identifier) . field_identifier) ))) ;)) })) (expression_statement "uVar15 = (shdr.p_)->sh_size;" (assignment_expression "uVar15 = (shdr.p_)->sh_size" identifier = (field_expression "(shdr.p_)->sh_size" (parenthesized_expression "(shdr.p_)" ( (field_expression "shdr.p_" identifier . field_identifier) )) -> field_identifier)) ;) (expression_statement "local_118 = uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                  (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                  (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n                  (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38;" (assignment_expression "local_118 = uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                  (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                  (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n                  (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38" identifier = (binary_expression "uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                  (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                  (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n                  (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38" (binary_expression "uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                  (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                  (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n                  (uVar15 & 0xff00) << 0x28" (binary_expression "uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                  (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                  (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18" (binary_expression "uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                  (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                  (uVar15 & 0xff000000) << 8" (binary_expression "uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                  (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8" (binary_expression "uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                  (uVar15 & 0xff0000000000) >> 0x18" (binary_expression "uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28" (binary_expression "uVar15 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar15 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar15 & 0xff000000000000)" ( (binary_expression "uVar15 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar15 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar15 & 0xff0000000000)" ( (binary_expression "uVar15 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar15 & 0xff00000000) >> 8" (parenthesized_expression "(uVar15 & 0xff00000000)" ( (binary_expression "uVar15 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar15 & 0xff000000) << 8" (parenthesized_expression "(uVar15 & 0xff000000)" ( (binary_expression "uVar15 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar15 & 0xff0000) << 0x18" (parenthesized_expression "(uVar15 & 0xff0000)" ( (binary_expression "uVar15 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar15 & 0xff00) << 0x28" (parenthesized_expression "(uVar15 & 0xff00)" ( (binary_expression "uVar15 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar15 << 0x38" identifier << number_literal))) ;) (expression_statement "local_122 = (bool)cVar5;" (assignment_expression "local_122 = (bool)cVar5" identifier = (cast_expression "(bool)cVar5" ( (type_descriptor "bool" primitive_type) ) identifier)) ;) (goto_statement "goto LAB_001e6c9f;" goto statement_identifier ;) })) (ERROR "shndxes.super__Vector_base<unsigned_int,_std::" (comma_expression "shndxes.super__Vector_base<unsigned_int,_std" (binary_expression "shndxes.super__Vector_base<unsigned_int" (field_expression "shndxes.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : :) (expression_statement "allocator<unsigned_int>_>._M_impl._M_start =\n         (pointer)0x0;" (assignment_expression "allocator<unsigned_int>_>._M_impl._M_start =\n         (pointer)0x0" (field_expression "allocator<unsigned_int>_>._M_impl._M_start" (field_expression "allocator<unsigned_int>_>._M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (ERROR "shndxes.super__Vector_base<unsigned_int,_std::" (comma_expression "shndxes.super__Vector_base<unsigned_int,_std" (binary_expression "shndxes.super__Vector_base<unsigned_int" (field_expression "shndxes.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : :) (expression_statement "allocator<unsigned_int>_>._M_impl._M_finish =\n         (pointer)0x0;" (assignment_expression "allocator<unsigned_int>_>._M_impl._M_finish =\n         (pointer)0x0" (field_expression "allocator<unsigned_int>_>._M_impl._M_finish" (field_expression "allocator<unsigned_int>_>._M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (ERROR "shndxes.super__Vector_base<unsigned_int,_std::" (comma_expression "shndxes.super__Vector_base<unsigned_int,_std" (binary_expression "shndxes.super__Vector_base<unsigned_int" (field_expression "shndxes.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : :) (expression_statement "allocator<unsigned_int>_>._M_impl.\n    _M_end_of_storage = (pointer)0x0;" (assignment_expression "allocator<unsigned_int>_>._M_impl.\n    _M_end_of_storage = (pointer)0x0" (field_expression "allocator<unsigned_int>_>._M_impl.\n    _M_end_of_storage" (field_expression "allocator<unsigned_int>_>._M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "uVar15 = (shdr.p_)->sh_size;" (assignment_expression "uVar15 = (shdr.p_)->sh_size" identifier = (field_expression "(shdr.p_)->sh_size" (parenthesized_expression "(shdr.p_)" ( (field_expression "shdr.p_" identifier . field_identifier) )) -> field_identifier)) ;) (expression_statement "local_118 = (uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                 (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                 (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n                 (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38) >> 2;" (assignment_expression "local_118 = (uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                 (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                 (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n                 (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38) >> 2" identifier = (binary_expression "(uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                 (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                 (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n                 (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38) >> 2" (parenthesized_expression "(uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                 (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                 (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n                 (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38)" ( (binary_expression "uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                 (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                 (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n                 (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38" (binary_expression "uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                 (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                 (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n                 (uVar15 & 0xff00) << 0x28" (binary_expression "uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                 (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                 (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18" (binary_expression "uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                 (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                 (uVar15 & 0xff000000) << 8" (binary_expression "uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                 (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8" (binary_expression "uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                 (uVar15 & 0xff0000000000) >> 0x18" (binary_expression "uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28" (binary_expression "uVar15 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar15 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar15 & 0xff000000000000)" ( (binary_expression "uVar15 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar15 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar15 & 0xff0000000000)" ( (binary_expression "uVar15 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar15 & 0xff00000000) >> 8" (parenthesized_expression "(uVar15 & 0xff00000000)" ( (binary_expression "uVar15 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar15 & 0xff000000) << 8" (parenthesized_expression "(uVar15 & 0xff000000)" ( (binary_expression "uVar15 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar15 & 0xff0000) << 0x18" (parenthesized_expression "(uVar15 & 0xff0000)" ( (binary_expression "uVar15 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar15 & 0xff00) << 0x28" (parenthesized_expression "(uVar15 & 0xff00)" ( (binary_expression "uVar15 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar15 << 0x38" identifier << number_literal)) )) >> number_literal)) ;) (if_statement "if (local_118 < 2) goto LAB_001e735d;" if (parenthesized_expression "(local_118 < 2)" ( (binary_expression "local_118 < 2" identifier < number_literal) )) (goto_statement "goto LAB_001e735d;" goto statement_identifier ;)) (expression_statement "local_121 = '\0';" (assignment_expression "local_121 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_122 = true;" (assignment_expression "local_122 = true" identifier = true) ;) (labeled_statement "LAB_001e6cd9:\n    local_110 = (vector<unsigned_int,_std::allocator<unsigned_int>_> *)0x1;\n    paVar12 = &mname.field_2;" statement_identifier : (expression_statement "local_110 = (vector<unsigned_int,_std::allocator<unsigned_int>_> *)0x1;\n    paVar12 = &mname.field_2;" (assignment_expression "local_110 = (vector<unsigned_int,_std::allocator<unsigned_int>_> *)0x1;\n    paVar12 = &mname.field_2" identifier = (parenthesized_expression "(vector<unsigned_int,_std::allocator<unsigned_int>_> *)0x1;\n    paVar12 = &mname.field_2" ( (ERROR "vector<unsigned_int,_std::allocator<unsigned_int>_> *)0x1;" (comma_expression "vector<unsigned_int,_std" (binary_expression "vector<unsigned_int" identifier < identifier) , identifier) : : (binary_expression "allocator<unsigned_int>_> *)0x1" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) > (pointer_expression "*)0x1" * (ERROR ")" )) number_literal)) ;) (assignment_expression "paVar12 = &mname.field_2" identifier = (pointer_expression "&mname.field_2" & (field_expression "mname.field_2" identifier . field_identifier))) ))) ;)) (do_statement "do {\n      uVar17 = puVar9[(long)local_110];\n      uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n      if (uVar17 < 0xff00) {\n        shndx = uVar17;\n        if (cVar5 != '\0') goto LAB_001e6e26;\nLAB_001e6d30:\n        if ((this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_ <= shndx)\n        goto LAB_001e6e59;\nLAB_001e6d3a:\n        EVar4 = shndx;\n        if (shndx < index) {\n          pcVar14 = (char *)gettext("invalid section group %u refers to earlier section %u");\n                    /* try { // try from 001e6fe2 to 001e6fe6 has its CatchHandler @ 001e73c5 */\n          Object::error((Object *)this,pcVar14,(ulong)index,(ulong)EVar4);\n        }\n        puVar11 = (uint *)(shdrs + (shndx << 6));\n        uVar17 = *puVar11;\n        uVar15 = (ulong)(uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                        uVar17 << 0x18);\n        if (uVar15 < section_names_size) {\n          pcVar14 = (char *)0xffffffffffffffff;\n          __s = section_names + uVar15;\n          mname._M_dataplus._M_p = (pointer)paVar12;\n          if (__s != (char *)0x0) {\n            sVar13 = strlen(__s);\n            pcVar14 = __s + sVar13;\n          }\n                    /* try { // try from 001e6d98 to 001e6e77 has its CatchHandler @ 001e73c5 */\n          std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n          _M_construct<char_const*>(&mname,__s,pcVar14);\n          EVar4 = shndx;\n          if (local_121 == '\0') {\n            puVar16 = (ulong *)((ulong)(shndx >> 3 & 0x1ffffff8) +\n                               (long)(omit->super__Bvector_base<std::allocator<bool>_>)._M_impl.\n                                     super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p\n                               );\n            *puVar16 = *puVar16 | 1L << ((byte)shndx & 0x3f);\n            if ((local_122 != false) && ((local_118 == 2 || (kept_section->is_comdat_ != false)))) {\n              uVar15 = *(ulong *)(puVar11 + 8);\n              local_88.second.kept_section = kept_section;\n              local_88.first = shndx;\n              local_88.second.sh_size =\n                   uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                   (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                   (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n                   (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38;\n              local_88.second.is_comdat = true;\n              local_88.second.symndx = uVar7;\n                    /* try { // try from 001e706e to 001e7072 has its CatchHandler @ 001e73ca */\n              std::\n              _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>_>_>\n              ::\n              _M_emplace_unique<std::pair<unsigned_int,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>_>\n                        (&(this->kept_comdat_sections_)._M_t,&local_88);\n            }\n          }\n          else if (local_122 != false) {\n            uVar15 = *(ulong *)(puVar11 + 8);\n            if (kept_section->is_comdat_ == false) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001e73c0 to 001e73c4 has its CatchHandler @ 001e73ca */\n              do_gold_unreachable("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            this_00 = &((kept_section->u_).group_sections)->_M_t;\n            _is_ordinary = local_58;\n                    /* try { // try from 001e7166 to 001e716a has its CatchHandler @ 001e73ca */\n            std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n            _M_construct<char*>((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *\n                                )&is_ordinary,mname._M_dataplus._M_p,\n                                mname._M_dataplus._M_p + mname._M_string_length);\n            local_48 = EVar4;\n            local_40 = uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                       (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                       (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n                       (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38;\n                    /* try { // try from 001e7189 to 001e718d has its CatchHandler @ 001e7437 */\n            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>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_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>_>,_gold::Kept_section::Comdat_section_info>_>_>\n            ::\n            _M_emplace_unique<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>\n                      (this_00,(pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>\n                                *)&is_ordinary);\n            if (_is_ordinary != local_58) {\n              operator_delete(_is_ordinary);\n            }\n          }\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)mname._M_dataplus._M_p != paVar12) {\n            operator_delete(mname._M_dataplus._M_p);\n          }\n        }\n      }\n      else {\n        elfcpp::Elf_file<64,_true,_gold::Object>::initialize_shnum(&this->elf_file_);\n        uVar17 = uVar17 + (this->elf_file_).large_shndx_offset_;\n        shndx = uVar17;\n        if (cVar5 == '\0') goto LAB_001e6d30;\nLAB_001e6e26:\n        shndx = uVar17;\n        if (shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish ==\n            shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_end_of_storage) {\n                    /* try { // try from 001e71be to 001e71c2 has its CatchHandler @ 001e73c5 */\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::\n          _M_realloc_insert<unsigned_int_const&>\n                    (&shndxes,(iterator)\n                              shndxes.\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                              _M_impl._M_finish,&shndx);\n          goto LAB_001e6d30;\n        }\n        *shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n             uVar17;\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n             shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n             _M_finish + 1;\n        if (uVar17 < (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_)\n        goto LAB_001e6d3a;\nLAB_001e6e59:\n        EVar4 = shndx;\n        pcVar14 = (char *)gettext("section %u in section group %u out of range");\n        Object::error((Object *)this,pcVar14,(ulong)EVar4,(ulong)index);\n      }\n      local_110 = (vector<unsigned_int,_std::allocator<unsigned_int>_> *)((long)local_110 + 1);\n    } while (local_110 < local_118);" do (compound_statement "{\n      uVar17 = puVar9[(long)local_110];\n      uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n      if (uVar17 < 0xff00) {\n        shndx = uVar17;\n        if (cVar5 != '\0') goto LAB_001e6e26;\nLAB_001e6d30:\n        if ((this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_ <= shndx)\n        goto LAB_001e6e59;\nLAB_001e6d3a:\n        EVar4 = shndx;\n        if (shndx < index) {\n          pcVar14 = (char *)gettext("invalid section group %u refers to earlier section %u");\n                    /* try { // try from 001e6fe2 to 001e6fe6 has its CatchHandler @ 001e73c5 */\n          Object::error((Object *)this,pcVar14,(ulong)index,(ulong)EVar4);\n        }\n        puVar11 = (uint *)(shdrs + (shndx << 6));\n        uVar17 = *puVar11;\n        uVar15 = (ulong)(uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                        uVar17 << 0x18);\n        if (uVar15 < section_names_size) {\n          pcVar14 = (char *)0xffffffffffffffff;\n          __s = section_names + uVar15;\n          mname._M_dataplus._M_p = (pointer)paVar12;\n          if (__s != (char *)0x0) {\n            sVar13 = strlen(__s);\n            pcVar14 = __s + sVar13;\n          }\n                    /* try { // try from 001e6d98 to 001e6e77 has its CatchHandler @ 001e73c5 */\n          std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n          _M_construct<char_const*>(&mname,__s,pcVar14);\n          EVar4 = shndx;\n          if (local_121 == '\0') {\n            puVar16 = (ulong *)((ulong)(shndx >> 3 & 0x1ffffff8) +\n                               (long)(omit->super__Bvector_base<std::allocator<bool>_>)._M_impl.\n                                     super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p\n                               );\n            *puVar16 = *puVar16 | 1L << ((byte)shndx & 0x3f);\n            if ((local_122 != false) && ((local_118 == 2 || (kept_section->is_comdat_ != false)))) {\n              uVar15 = *(ulong *)(puVar11 + 8);\n              local_88.second.kept_section = kept_section;\n              local_88.first = shndx;\n              local_88.second.sh_size =\n                   uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                   (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                   (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n                   (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38;\n              local_88.second.is_comdat = true;\n              local_88.second.symndx = uVar7;\n                    /* try { // try from 001e706e to 001e7072 has its CatchHandler @ 001e73ca */\n              std::\n              _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>_>_>\n              ::\n              _M_emplace_unique<std::pair<unsigned_int,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>_>\n                        (&(this->kept_comdat_sections_)._M_t,&local_88);\n            }\n          }\n          else if (local_122 != false) {\n            uVar15 = *(ulong *)(puVar11 + 8);\n            if (kept_section->is_comdat_ == false) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001e73c0 to 001e73c4 has its CatchHandler @ 001e73ca */\n              do_gold_unreachable("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            this_00 = &((kept_section->u_).group_sections)->_M_t;\n            _is_ordinary = local_58;\n                    /* try { // try from 001e7166 to 001e716a has its CatchHandler @ 001e73ca */\n            std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n            _M_construct<char*>((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *\n                                )&is_ordinary,mname._M_dataplus._M_p,\n                                mname._M_dataplus._M_p + mname._M_string_length);\n            local_48 = EVar4;\n            local_40 = uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                       (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                       (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n                       (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38;\n                    /* try { // try from 001e7189 to 001e718d has its CatchHandler @ 001e7437 */\n            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>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_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>_>,_gold::Kept_section::Comdat_section_info>_>_>\n            ::\n            _M_emplace_unique<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>\n                      (this_00,(pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>\n                                *)&is_ordinary);\n            if (_is_ordinary != local_58) {\n              operator_delete(_is_ordinary);\n            }\n          }\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)mname._M_dataplus._M_p != paVar12) {\n            operator_delete(mname._M_dataplus._M_p);\n          }\n        }\n      }\n      else {\n        elfcpp::Elf_file<64,_true,_gold::Object>::initialize_shnum(&this->elf_file_);\n        uVar17 = uVar17 + (this->elf_file_).large_shndx_offset_;\n        shndx = uVar17;\n        if (cVar5 == '\0') goto LAB_001e6d30;\nLAB_001e6e26:\n        shndx = uVar17;\n        if (shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish ==\n            shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_end_of_storage) {\n                    /* try { // try from 001e71be to 001e71c2 has its CatchHandler @ 001e73c5 */\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::\n          _M_realloc_insert<unsigned_int_const&>\n                    (&shndxes,(iterator)\n                              shndxes.\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                              _M_impl._M_finish,&shndx);\n          goto LAB_001e6d30;\n        }\n        *shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n             uVar17;\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n             shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n             _M_finish + 1;\n        if (uVar17 < (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_)\n        goto LAB_001e6d3a;\nLAB_001e6e59:\n        EVar4 = shndx;\n        pcVar14 = (char *)gettext("section %u in section group %u out of range");\n        Object::error((Object *)this,pcVar14,(ulong)EVar4,(ulong)index);\n      }\n      local_110 = (vector<unsigned_int,_std::allocator<unsigned_int>_> *)((long)local_110 + 1);\n    }" { (expression_statement "uVar17 = puVar9[(long)local_110];" (assignment_expression "uVar17 = puVar9[(long)local_110]" identifier = (subscript_expression "puVar9[(long)local_110]" identifier [ (cast_expression "(long)local_110" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) ])) ;) (expression_statement "uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 | uVar17 << 0x18;" (assignment_expression "uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 | uVar17 << 0x18" identifier = (binary_expression "uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 | uVar17 << 0x18" (binary_expression "uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8" (binary_expression "uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8" (binary_expression "uVar17 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar17 & 0xff0000) >> 8" (parenthesized_expression "(uVar17 & 0xff0000)" ( (binary_expression "uVar17 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar17 & 0xff00) << 8" (parenthesized_expression "(uVar17 & 0xff00)" ( (binary_expression "uVar17 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar17 << 0x18" identifier << number_literal))) ;) (if_statement "if (uVar17 < 0xff00) {\n        shndx = uVar17;\n        if (cVar5 != '\0') goto LAB_001e6e26;\nLAB_001e6d30:\n        if ((this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_ <= shndx)\n        goto LAB_001e6e59;\nLAB_001e6d3a:\n        EVar4 = shndx;\n        if (shndx < index) {\n          pcVar14 = (char *)gettext("invalid section group %u refers to earlier section %u");\n                    /* try { // try from 001e6fe2 to 001e6fe6 has its CatchHandler @ 001e73c5 */\n          Object::error((Object *)this,pcVar14,(ulong)index,(ulong)EVar4);\n        }\n        puVar11 = (uint *)(shdrs + (shndx << 6));\n        uVar17 = *puVar11;\n        uVar15 = (ulong)(uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                        uVar17 << 0x18);\n        if (uVar15 < section_names_size) {\n          pcVar14 = (char *)0xffffffffffffffff;\n          __s = section_names + uVar15;\n          mname._M_dataplus._M_p = (pointer)paVar12;\n          if (__s != (char *)0x0) {\n            sVar13 = strlen(__s);\n            pcVar14 = __s + sVar13;\n          }\n                    /* try { // try from 001e6d98 to 001e6e77 has its CatchHandler @ 001e73c5 */\n          std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n          _M_construct<char_const*>(&mname,__s,pcVar14);\n          EVar4 = shndx;\n          if (local_121 == '\0') {\n            puVar16 = (ulong *)((ulong)(shndx >> 3 & 0x1ffffff8) +\n                               (long)(omit->super__Bvector_base<std::allocator<bool>_>)._M_impl.\n                                     super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p\n                               );\n            *puVar16 = *puVar16 | 1L << ((byte)shndx & 0x3f);\n            if ((local_122 != false) && ((local_118 == 2 || (kept_section->is_comdat_ != false)))) {\n              uVar15 = *(ulong *)(puVar11 + 8);\n              local_88.second.kept_section = kept_section;\n              local_88.first = shndx;\n              local_88.second.sh_size =\n                   uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                   (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                   (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n                   (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38;\n              local_88.second.is_comdat = true;\n              local_88.second.symndx = uVar7;\n                    /* try { // try from 001e706e to 001e7072 has its CatchHandler @ 001e73ca */\n              std::\n              _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>_>_>\n              ::\n              _M_emplace_unique<std::pair<unsigned_int,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>_>\n                        (&(this->kept_comdat_sections_)._M_t,&local_88);\n            }\n          }\n          else if (local_122 != false) {\n            uVar15 = *(ulong *)(puVar11 + 8);\n            if (kept_section->is_comdat_ == false) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001e73c0 to 001e73c4 has its CatchHandler @ 001e73ca */\n              do_gold_unreachable("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            this_00 = &((kept_section->u_).group_sections)->_M_t;\n            _is_ordinary = local_58;\n                    /* try { // try from 001e7166 to 001e716a has its CatchHandler @ 001e73ca */\n            std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n            _M_construct<char*>((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *\n                                )&is_ordinary,mname._M_dataplus._M_p,\n                                mname._M_dataplus._M_p + mname._M_string_length);\n            local_48 = EVar4;\n            local_40 = uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                       (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                       (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n                       (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38;\n                    /* try { // try from 001e7189 to 001e718d has its CatchHandler @ 001e7437 */\n            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>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_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>_>,_gold::Kept_section::Comdat_section_info>_>_>\n            ::\n            _M_emplace_unique<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>\n                      (this_00,(pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>\n                                *)&is_ordinary);\n            if (_is_ordinary != local_58) {\n              operator_delete(_is_ordinary);\n            }\n          }\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)mname._M_dataplus._M_p != paVar12) {\n            operator_delete(mname._M_dataplus._M_p);\n          }\n        }\n      }\n      else {\n        elfcpp::Elf_file<64,_true,_gold::Object>::initialize_shnum(&this->elf_file_);\n        uVar17 = uVar17 + (this->elf_file_).large_shndx_offset_;\n        shndx = uVar17;\n        if (cVar5 == '\0') goto LAB_001e6d30;\nLAB_001e6e26:\n        shndx = uVar17;\n        if (shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish ==\n            shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_end_of_storage) {\n                    /* try { // try from 001e71be to 001e71c2 has its CatchHandler @ 001e73c5 */\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::\n          _M_realloc_insert<unsigned_int_const&>\n                    (&shndxes,(iterator)\n                              shndxes.\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                              _M_impl._M_finish,&shndx);\n          goto LAB_001e6d30;\n        }\n        *shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n             uVar17;\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n             shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n             _M_finish + 1;\n        if (uVar17 < (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_)\n        goto LAB_001e6d3a;\nLAB_001e6e59:\n        EVar4 = shndx;\n        pcVar14 = (char *)gettext("section %u in section group %u out of range");\n        Object::error((Object *)this,pcVar14,(ulong)EVar4,(ulong)index);\n      }" if (parenthesized_expression "(uVar17 < 0xff00)" ( (binary_expression "uVar17 < 0xff00" identifier < number_literal) )) (compound_statement "{\n        shndx = uVar17;\n        if (cVar5 != '\0') goto LAB_001e6e26;\nLAB_001e6d30:\n        if ((this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_ <= shndx)\n        goto LAB_001e6e59;\nLAB_001e6d3a:\n        EVar4 = shndx;\n        if (shndx < index) {\n          pcVar14 = (char *)gettext("invalid section group %u refers to earlier section %u");\n                    /* try { // try from 001e6fe2 to 001e6fe6 has its CatchHandler @ 001e73c5 */\n          Object::error((Object *)this,pcVar14,(ulong)index,(ulong)EVar4);\n        }\n        puVar11 = (uint *)(shdrs + (shndx << 6));\n        uVar17 = *puVar11;\n        uVar15 = (ulong)(uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                        uVar17 << 0x18);\n        if (uVar15 < section_names_size) {\n          pcVar14 = (char *)0xffffffffffffffff;\n          __s = section_names + uVar15;\n          mname._M_dataplus._M_p = (pointer)paVar12;\n          if (__s != (char *)0x0) {\n            sVar13 = strlen(__s);\n            pcVar14 = __s + sVar13;\n          }\n                    /* try { // try from 001e6d98 to 001e6e77 has its CatchHandler @ 001e73c5 */\n          std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n          _M_construct<char_const*>(&mname,__s,pcVar14);\n          EVar4 = shndx;\n          if (local_121 == '\0') {\n            puVar16 = (ulong *)((ulong)(shndx >> 3 & 0x1ffffff8) +\n                               (long)(omit->super__Bvector_base<std::allocator<bool>_>)._M_impl.\n                                     super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p\n                               );\n            *puVar16 = *puVar16 | 1L << ((byte)shndx & 0x3f);\n            if ((local_122 != false) && ((local_118 == 2 || (kept_section->is_comdat_ != false)))) {\n              uVar15 = *(ulong *)(puVar11 + 8);\n              local_88.second.kept_section = kept_section;\n              local_88.first = shndx;\n              local_88.second.sh_size =\n                   uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                   (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                   (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n                   (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38;\n              local_88.second.is_comdat = true;\n              local_88.second.symndx = uVar7;\n                    /* try { // try from 001e706e to 001e7072 has its CatchHandler @ 001e73ca */\n              std::\n              _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>_>_>\n              ::\n              _M_emplace_unique<std::pair<unsigned_int,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>_>\n                        (&(this->kept_comdat_sections_)._M_t,&local_88);\n            }\n          }\n          else if (local_122 != false) {\n            uVar15 = *(ulong *)(puVar11 + 8);\n            if (kept_section->is_comdat_ == false) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001e73c0 to 001e73c4 has its CatchHandler @ 001e73ca */\n              do_gold_unreachable("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            this_00 = &((kept_section->u_).group_sections)->_M_t;\n            _is_ordinary = local_58;\n                    /* try { // try from 001e7166 to 001e716a has its CatchHandler @ 001e73ca */\n            std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n            _M_construct<char*>((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *\n                                )&is_ordinary,mname._M_dataplus._M_p,\n                                mname._M_dataplus._M_p + mname._M_string_length);\n            local_48 = EVar4;\n            local_40 = uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                       (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                       (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n                       (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38;\n                    /* try { // try from 001e7189 to 001e718d has its CatchHandler @ 001e7437 */\n            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>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_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>_>,_gold::Kept_section::Comdat_section_info>_>_>\n            ::\n            _M_emplace_unique<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>\n                      (this_00,(pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>\n                                *)&is_ordinary);\n            if (_is_ordinary != local_58) {\n              operator_delete(_is_ordinary);\n            }\n          }\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)mname._M_dataplus._M_p != paVar12) {\n            operator_delete(mname._M_dataplus._M_p);\n          }\n        }\n      }" { (expression_statement "shndx = uVar17;" (assignment_expression "shndx = uVar17" identifier = identifier) ;) (if_statement "if (cVar5 != '\0') goto LAB_001e6e26;" if (parenthesized_expression "(cVar5 != '\0')" ( (binary_expression "cVar5 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_001e6e26;" goto statement_identifier ;)) (labeled_statement "LAB_001e6d30:\n        if ((this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_ <= shndx)\n        goto LAB_001e6e59;" statement_identifier : (if_statement "if ((this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_ <= shndx)\n        goto LAB_001e6e59;" if (parenthesized_expression "((this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_ <= shndx)" ( (binary_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_ <= shndx" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_true>)" ( (comma_expression "this->super_Sized_relobj<64,_true" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) <= identifier) )) (goto_statement "goto LAB_001e6e59;" goto statement_identifier ;))) (labeled_statement "LAB_001e6d3a:\n        EVar4 = shndx;" statement_identifier : (expression_statement "EVar4 = shndx;" (assignment_expression "EVar4 = shndx" identifier = identifier) ;)) (if_statement "if (shndx < index) {\n          pcVar14 = (char *)gettext("invalid section group %u refers to earlier section %u");\n                    /* try { // try from 001e6fe2 to 001e6fe6 has its CatchHandler @ 001e73c5 */\n          Object::error((Object *)this,pcVar14,(ulong)index,(ulong)EVar4);\n        }" if (parenthesized_expression "(shndx < index)" ( (binary_expression "shndx < index" identifier < identifier) )) (compound_statement "{\n          pcVar14 = (char *)gettext("invalid section group %u refers to earlier section %u");\n                    /* try { // try from 001e6fe2 to 001e6fe6 has its CatchHandler @ 001e73c5 */\n          Object::error((Object *)this,pcVar14,(ulong)index,(ulong)EVar4);\n        }" { (expression_statement "pcVar14 = (char *)gettext("invalid section group %u refers to earlier section %u");" (assignment_expression "pcVar14 = (char *)gettext("invalid section group %u refers to earlier section %u")" identifier = (cast_expression "(char *)gettext("invalid section group %u refers to earlier section %u")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("invalid section group %u refers to earlier section %u")" identifier (argument_list "("invalid section group %u refers to earlier section %u")" ( (string_literal ""invalid section group %u refers to earlier section %u"" " string_content ") ))))) ;) comment (labeled_statement "Object::error((Object *)this,pcVar14,(ulong)index,(ulong)EVar4);" statement_identifier : (ERROR ":" :) (expression_statement "error((Object *)this,pcVar14,(ulong)index,(ulong)EVar4);" (call_expression "error((Object *)this,pcVar14,(ulong)index,(ulong)EVar4)" identifier (argument_list "((Object *)this,pcVar14,(ulong)index,(ulong)EVar4)" ( (cast_expression "(Object *)this" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , (cast_expression "(ulong)index" ( (type_descriptor "ulong" type_identifier) ) identifier) , (cast_expression "(ulong)EVar4" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;)) })) (expression_statement "puVar11 = (uint *)(shdrs + (shndx << 6));" (assignment_expression "puVar11 = (uint *)(shdrs + (shndx << 6))" identifier = (cast_expression "(uint *)(shdrs + (shndx << 6))" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(shdrs + (shndx << 6))" ( (binary_expression "shdrs + (shndx << 6)" identifier + (parenthesized_expression "(shndx << 6)" ( (binary_expression "shndx << 6" identifier << number_literal) ))) )))) ;) (expression_statement "uVar17 = *puVar11;" (assignment_expression "uVar17 = *puVar11" identifier = (pointer_expression "*puVar11" * identifier)) ;) (expression_statement "uVar15 = (ulong)(uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                        uVar17 << 0x18);" (assignment_expression "uVar15 = (ulong)(uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                        uVar17 << 0x18)" identifier = (call_expression "(ulong)(uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                        uVar17 << 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                        uVar17 << 0x18)" ( (binary_expression "uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 |\n                        uVar17 << 0x18" (binary_expression "uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8" (binary_expression "uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8" (binary_expression "uVar17 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar17 & 0xff0000) >> 8" (parenthesized_expression "(uVar17 & 0xff0000)" ( (binary_expression "uVar17 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar17 & 0xff00) << 8" (parenthesized_expression "(uVar17 & 0xff00)" ( (binary_expression "uVar17 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar17 << 0x18" identifier << number_literal)) )))) ;) (if_statement "if (uVar15 < section_names_size) {\n          pcVar14 = (char *)0xffffffffffffffff;\n          __s = section_names + uVar15;\n          mname._M_dataplus._M_p = (pointer)paVar12;\n          if (__s != (char *)0x0) {\n            sVar13 = strlen(__s);\n            pcVar14 = __s + sVar13;\n          }\n                    /* try { // try from 001e6d98 to 001e6e77 has its CatchHandler @ 001e73c5 */\n          std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n          _M_construct<char_const*>(&mname,__s,pcVar14);\n          EVar4 = shndx;\n          if (local_121 == '\0') {\n            puVar16 = (ulong *)((ulong)(shndx >> 3 & 0x1ffffff8) +\n                               (long)(omit->super__Bvector_base<std::allocator<bool>_>)._M_impl.\n                                     super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p\n                               );\n            *puVar16 = *puVar16 | 1L << ((byte)shndx & 0x3f);\n            if ((local_122 != false) && ((local_118 == 2 || (kept_section->is_comdat_ != false)))) {\n              uVar15 = *(ulong *)(puVar11 + 8);\n              local_88.second.kept_section = kept_section;\n              local_88.first = shndx;\n              local_88.second.sh_size =\n                   uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                   (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                   (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n                   (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38;\n              local_88.second.is_comdat = true;\n              local_88.second.symndx = uVar7;\n                    /* try { // try from 001e706e to 001e7072 has its CatchHandler @ 001e73ca */\n              std::\n              _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>_>_>\n              ::\n              _M_emplace_unique<std::pair<unsigned_int,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>_>\n                        (&(this->kept_comdat_sections_)._M_t,&local_88);\n            }\n          }\n          else if (local_122 != false) {\n            uVar15 = *(ulong *)(puVar11 + 8);\n            if (kept_section->is_comdat_ == false) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001e73c0 to 001e73c4 has its CatchHandler @ 001e73ca */\n              do_gold_unreachable("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            this_00 = &((kept_section->u_).group_sections)->_M_t;\n            _is_ordinary = local_58;\n                    /* try { // try from 001e7166 to 001e716a has its CatchHandler @ 001e73ca */\n            std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n            _M_construct<char*>((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *\n                                )&is_ordinary,mname._M_dataplus._M_p,\n                                mname._M_dataplus._M_p + mname._M_string_length);\n            local_48 = EVar4;\n            local_40 = uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                       (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                       (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n                       (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38;\n                    /* try { // try from 001e7189 to 001e718d has its CatchHandler @ 001e7437 */\n            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>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_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>_>,_gold::Kept_section::Comdat_section_info>_>_>\n            ::\n            _M_emplace_unique<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>\n                      (this_00,(pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>\n                                *)&is_ordinary);\n            if (_is_ordinary != local_58) {\n              operator_delete(_is_ordinary);\n            }\n          }\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)mname._M_dataplus._M_p != paVar12) {\n            operator_delete(mname._M_dataplus._M_p);\n          }\n        }" if (parenthesized_expression "(uVar15 < section_names_size)" ( (binary_expression "uVar15 < section_names_size" identifier < identifier) )) (compound_statement "{\n          pcVar14 = (char *)0xffffffffffffffff;\n          __s = section_names + uVar15;\n          mname._M_dataplus._M_p = (pointer)paVar12;\n          if (__s != (char *)0x0) {\n            sVar13 = strlen(__s);\n            pcVar14 = __s + sVar13;\n          }\n                    /* try { // try from 001e6d98 to 001e6e77 has its CatchHandler @ 001e73c5 */\n          std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n          _M_construct<char_const*>(&mname,__s,pcVar14);\n          EVar4 = shndx;\n          if (local_121 == '\0') {\n            puVar16 = (ulong *)((ulong)(shndx >> 3 & 0x1ffffff8) +\n                               (long)(omit->super__Bvector_base<std::allocator<bool>_>)._M_impl.\n                                     super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p\n                               );\n            *puVar16 = *puVar16 | 1L << ((byte)shndx & 0x3f);\n            if ((local_122 != false) && ((local_118 == 2 || (kept_section->is_comdat_ != false)))) {\n              uVar15 = *(ulong *)(puVar11 + 8);\n              local_88.second.kept_section = kept_section;\n              local_88.first = shndx;\n              local_88.second.sh_size =\n                   uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                   (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                   (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n                   (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38;\n              local_88.second.is_comdat = true;\n              local_88.second.symndx = uVar7;\n                    /* try { // try from 001e706e to 001e7072 has its CatchHandler @ 001e73ca */\n              std::\n              _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>_>_>\n              ::\n              _M_emplace_unique<std::pair<unsigned_int,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>_>\n                        (&(this->kept_comdat_sections_)._M_t,&local_88);\n            }\n          }\n          else if (local_122 != false) {\n            uVar15 = *(ulong *)(puVar11 + 8);\n            if (kept_section->is_comdat_ == false) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001e73c0 to 001e73c4 has its CatchHandler @ 001e73ca */\n              do_gold_unreachable("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            this_00 = &((kept_section->u_).group_sections)->_M_t;\n            _is_ordinary = local_58;\n                    /* try { // try from 001e7166 to 001e716a has its CatchHandler @ 001e73ca */\n            std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n            _M_construct<char*>((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *\n                                )&is_ordinary,mname._M_dataplus._M_p,\n                                mname._M_dataplus._M_p + mname._M_string_length);\n            local_48 = EVar4;\n            local_40 = uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                       (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                       (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n                       (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38;\n                    /* try { // try from 001e7189 to 001e718d has its CatchHandler @ 001e7437 */\n            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>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_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>_>,_gold::Kept_section::Comdat_section_info>_>_>\n            ::\n            _M_emplace_unique<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>\n                      (this_00,(pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>\n                                *)&is_ordinary);\n            if (_is_ordinary != local_58) {\n              operator_delete(_is_ordinary);\n            }\n          }\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)mname._M_dataplus._M_p != paVar12) {\n            operator_delete(mname._M_dataplus._M_p);\n          }\n        }" { (expression_statement "pcVar14 = (char *)0xffffffffffffffff;" (assignment_expression "pcVar14 = (char *)0xffffffffffffffff" identifier = (cast_expression "(char *)0xffffffffffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "__s = section_names + uVar15;" (assignment_expression "__s = section_names + uVar15" identifier = (binary_expression "section_names + uVar15" identifier + identifier)) ;) (expression_statement "mname._M_dataplus._M_p = (pointer)paVar12;" (assignment_expression "mname._M_dataplus._M_p = (pointer)paVar12" (field_expression "mname._M_dataplus._M_p" (field_expression "mname._M_dataplus" identifier . field_identifier) . field_identifier) = (cast_expression "(pointer)paVar12" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) (if_statement "if (__s != (char *)0x0) {\n            sVar13 = strlen(__s);\n            pcVar14 = __s + sVar13;\n          }" if (parenthesized_expression "(__s != (char *)0x0)" ( (binary_expression "__s != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            sVar13 = strlen(__s);\n            pcVar14 = __s + sVar13;\n          }" { (expression_statement "sVar13 = strlen(__s);" (assignment_expression "sVar13 = strlen(__s)" identifier = (call_expression "strlen(__s)" identifier (argument_list "(__s)" ( identifier )))) ;) (expression_statement "pcVar14 = __s + sVar13;" (assignment_expression "pcVar14 = __s + sVar13" identifier = (binary_expression "__s + sVar13" identifier + identifier)) ;) })) comment (labeled_statement "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n          _M_construct<char_const*>(&mname,__s,pcVar14);" 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*>(&mname,__s,pcVar14);" (binary_expression "_M_construct<char_const*>(&mname,__s,pcVar14)" (binary_expression "_M_construct<char_const" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "(&mname,__s,pcVar14)" ( (comma_expression "&mname,__s,pcVar14" (pointer_expression "&mname" & identifier) , (comma_expression "__s,pcVar14" identifier , identifier)) ))) ;)) (expression_statement "EVar4 = shndx;" (assignment_expression "EVar4 = shndx" identifier = identifier) ;) (if_statement "if (local_121 == '\0') {\n            puVar16 = (ulong *)((ulong)(shndx >> 3 & 0x1ffffff8) +\n                               (long)(omit->super__Bvector_base<std::allocator<bool>_>)._M_impl.\n                                     super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p\n                               );\n            *puVar16 = *puVar16 | 1L << ((byte)shndx & 0x3f);\n            if ((local_122 != false) && ((local_118 == 2 || (kept_section->is_comdat_ != false)))) {\n              uVar15 = *(ulong *)(puVar11 + 8);\n              local_88.second.kept_section = kept_section;\n              local_88.first = shndx;\n              local_88.second.sh_size =\n                   uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                   (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                   (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n                   (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38;\n              local_88.second.is_comdat = true;\n              local_88.second.symndx = uVar7;\n                    /* try { // try from 001e706e to 001e7072 has its CatchHandler @ 001e73ca */\n              std::\n              _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>_>_>\n              ::\n              _M_emplace_unique<std::pair<unsigned_int,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>_>\n                        (&(this->kept_comdat_sections_)._M_t,&local_88);\n            }\n          }\n          else if (local_122 != false) {\n            uVar15 = *(ulong *)(puVar11 + 8);\n            if (kept_section->is_comdat_ == false) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001e73c0 to 001e73c4 has its CatchHandler @ 001e73ca */\n              do_gold_unreachable("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            this_00 = &((kept_section->u_).group_sections)->_M_t;\n            _is_ordinary = local_58;\n                    /* try { // try from 001e7166 to 001e716a has its CatchHandler @ 001e73ca */\n            std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n            _M_construct<char*>((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *\n                                )&is_ordinary,mname._M_dataplus._M_p,\n                                mname._M_dataplus._M_p + mname._M_string_length);\n            local_48 = EVar4;\n            local_40 = uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                       (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                       (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n                       (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38;\n                    /* try { // try from 001e7189 to 001e718d has its CatchHandler @ 001e7437 */\n            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>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_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>_>,_gold::Kept_section::Comdat_section_info>_>_>\n            ::\n            _M_emplace_unique<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>\n                      (this_00,(pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>\n                                *)&is_ordinary);\n            if (_is_ordinary != local_58) {\n              operator_delete(_is_ordinary);\n            }\n          }" if (parenthesized_expression "(local_121 == '\0')" ( (binary_expression "local_121 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            puVar16 = (ulong *)((ulong)(shndx >> 3 & 0x1ffffff8) +\n                               (long)(omit->super__Bvector_base<std::allocator<bool>_>)._M_impl.\n                                     super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p\n                               );\n            *puVar16 = *puVar16 | 1L << ((byte)shndx & 0x3f);\n            if ((local_122 != false) && ((local_118 == 2 || (kept_section->is_comdat_ != false)))) {\n              uVar15 = *(ulong *)(puVar11 + 8);\n              local_88.second.kept_section = kept_section;\n              local_88.first = shndx;\n              local_88.second.sh_size =\n                   uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                   (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                   (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n                   (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38;\n              local_88.second.is_comdat = true;\n              local_88.second.symndx = uVar7;\n                    /* try { // try from 001e706e to 001e7072 has its CatchHandler @ 001e73ca */\n              std::\n              _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>_>_>\n              ::\n              _M_emplace_unique<std::pair<unsigned_int,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>_>\n                        (&(this->kept_comdat_sections_)._M_t,&local_88);\n            }\n          }" { (expression_statement "puVar16 = (ulong *)((ulong)(shndx >> 3 & 0x1ffffff8) +\n                               (long)(omit->super__Bvector_base<std::allocator<bool>_>)._M_impl.\n                                     super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p\n                               );" (assignment_expression "puVar16 = (ulong *)((ulong)(shndx >> 3 & 0x1ffffff8) +\n                               (long)(omit->super__Bvector_base<std::allocator<bool>_>)._M_impl.\n                                     super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p\n                               )" identifier = (cast_expression "(ulong *)((ulong)(shndx >> 3 & 0x1ffffff8) +\n                               (long)(omit->super__Bvector_base<std::allocator<bool>_>)._M_impl.\n                                     super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p\n                               )" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)(shndx >> 3 & 0x1ffffff8) +\n                               (long)(omit->super__Bvector_base<std::allocator<bool>_>)._M_impl.\n                                     super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p\n                               )" ( (binary_expression "(ulong)(shndx >> 3 & 0x1ffffff8) +\n                               (long)(omit->super__Bvector_base<std::allocator<bool>_>)._M_impl.\n                                     super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p" (call_expression "(ulong)(shndx >> 3 & 0x1ffffff8)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(shndx >> 3 & 0x1ffffff8)" ( (binary_expression "shndx >> 3 & 0x1ffffff8" (binary_expression "shndx >> 3" identifier >> number_literal) & number_literal) ))) + (cast_expression "(long)(omit->super__Bvector_base<std::allocator<bool>_>)._M_impl.\n                                     super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "(omit->super__Bvector_base<std::allocator<bool>_>)._M_impl.\n                                     super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p" (field_expression "(omit->super__Bvector_base<std::allocator<bool>_>)._M_impl.\n                                     super__Bvector_impl_data._M_start.super__Bit_iterator_base" (field_expression "(omit->super__Bvector_base<std::allocator<bool>_>)._M_impl.\n                                     super__Bvector_impl_data._M_start" (field_expression "(omit->super__Bvector_base<std::allocator<bool>_>)._M_impl.\n                                     super__Bvector_impl_data" (field_expression "(omit->super__Bvector_base<std::allocator<bool>_>)._M_impl" (parenthesized_expression "(omit->super__Bvector_base<std::allocator<bool>_>)" ( (binary_expression "omit->super__Bvector_base<std::allocator<bool>_>" (binary_expression "omit->super__Bvector_base<std::allocator<bool>_" (binary_expression "omit->super__Bvector_base<std::allocator<bool" (binary_expression "omit->super__Bvector_base<std" (field_expression "omit->super__Bvector_base" identifier -> field_identifier) < identifier) (ERROR "::allocator" : : identifier) < identifier) > identifier) > identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier))) )))) ;) (expression_statement "*puVar16 = *puVar16 | 1L << ((byte)shndx & 0x3f);" (assignment_expression "*puVar16 = *puVar16 | 1L << ((byte)shndx & 0x3f)" (pointer_expression "*puVar16" * identifier) = (binary_expression "*puVar16 | 1L << ((byte)shndx & 0x3f)" (pointer_expression "*puVar16" * identifier) | (binary_expression "1L << ((byte)shndx & 0x3f)" number_literal << (parenthesized_expression "((byte)shndx & 0x3f)" ( (binary_expression "(byte)shndx & 0x3f" (cast_expression "(byte)shndx" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))))) ;) (if_statement "if ((local_122 != false) && ((local_118 == 2 || (kept_section->is_comdat_ != false)))) {\n              uVar15 = *(ulong *)(puVar11 + 8);\n              local_88.second.kept_section = kept_section;\n              local_88.first = shndx;\n              local_88.second.sh_size =\n                   uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                   (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                   (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n                   (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38;\n              local_88.second.is_comdat = true;\n              local_88.second.symndx = uVar7;\n                    /* try { // try from 001e706e to 001e7072 has its CatchHandler @ 001e73ca */\n              std::\n              _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>_>_>\n              ::\n              _M_emplace_unique<std::pair<unsigned_int,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>_>\n                        (&(this->kept_comdat_sections_)._M_t,&local_88);\n            }" if (parenthesized_expression "((local_122 != false) && ((local_118 == 2 || (kept_section->is_comdat_ != false))))" ( (binary_expression "(local_122 != false) && ((local_118 == 2 || (kept_section->is_comdat_ != false)))" (parenthesized_expression "(local_122 != false)" ( (binary_expression "local_122 != false" identifier != false) )) && (parenthesized_expression "((local_118 == 2 || (kept_section->is_comdat_ != false)))" ( (parenthesized_expression "(local_118 == 2 || (kept_section->is_comdat_ != false))" ( (binary_expression "local_118 == 2 || (kept_section->is_comdat_ != false)" (binary_expression "local_118 == 2" identifier == number_literal) || (parenthesized_expression "(kept_section->is_comdat_ != false)" ( (binary_expression "kept_section->is_comdat_ != false" (field_expression "kept_section->is_comdat_" identifier -> field_identifier) != false) ))) )) ))) )) (compound_statement "{\n              uVar15 = *(ulong *)(puVar11 + 8);\n              local_88.second.kept_section = kept_section;\n              local_88.first = shndx;\n              local_88.second.sh_size =\n                   uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                   (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                   (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n                   (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38;\n              local_88.second.is_comdat = true;\n              local_88.second.symndx = uVar7;\n                    /* try { // try from 001e706e to 001e7072 has its CatchHandler @ 001e73ca */\n              std::\n              _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>_>_>\n              ::\n              _M_emplace_unique<std::pair<unsigned_int,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>_>\n                        (&(this->kept_comdat_sections_)._M_t,&local_88);\n            }" { (expression_statement "uVar15 = *(ulong *)(puVar11 + 8);" (assignment_expression "uVar15 = *(ulong *)(puVar11 + 8)" identifier = (pointer_expression "*(ulong *)(puVar11 + 8)" * (cast_expression "(ulong *)(puVar11 + 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 8)" ( (binary_expression "puVar11 + 8" identifier + number_literal) ))))) ;) (expression_statement "local_88.second.kept_section = kept_section;" (assignment_expression "local_88.second.kept_section = kept_section" (field_expression "local_88.second.kept_section" (field_expression "local_88.second" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "local_88.first = shndx;" (assignment_expression "local_88.first = shndx" (field_expression "local_88.first" identifier . field_identifier) = identifier) ;) (expression_statement "local_88.second.sh_size =\n                   uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                   (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                   (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n                   (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38;" (assignment_expression "local_88.second.sh_size =\n                   uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                   (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                   (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n                   (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38" (field_expression "local_88.second.sh_size" (field_expression "local_88.second" identifier . field_identifier) . field_identifier) = (binary_expression "uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                   (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                   (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n                   (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38" (binary_expression "uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                   (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                   (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n                   (uVar15 & 0xff00) << 0x28" (binary_expression "uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                   (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                   (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18" (binary_expression "uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                   (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                   (uVar15 & 0xff000000) << 8" (binary_expression "uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                   (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8" (binary_expression "uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                   (uVar15 & 0xff0000000000) >> 0x18" (binary_expression "uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28" (binary_expression "uVar15 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar15 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar15 & 0xff000000000000)" ( (binary_expression "uVar15 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar15 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar15 & 0xff0000000000)" ( (binary_expression "uVar15 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar15 & 0xff00000000) >> 8" (parenthesized_expression "(uVar15 & 0xff00000000)" ( (binary_expression "uVar15 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar15 & 0xff000000) << 8" (parenthesized_expression "(uVar15 & 0xff000000)" ( (binary_expression "uVar15 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar15 & 0xff0000) << 0x18" (parenthesized_expression "(uVar15 & 0xff0000)" ( (binary_expression "uVar15 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar15 & 0xff00) << 0x28" (parenthesized_expression "(uVar15 & 0xff00)" ( (binary_expression "uVar15 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar15 << 0x38" identifier << number_literal))) ;) (expression_statement "local_88.second.is_comdat = true;" (assignment_expression "local_88.second.is_comdat = true" (field_expression "local_88.second.is_comdat" (field_expression "local_88.second" identifier . field_identifier) . field_identifier) = true) ;) (expression_statement "local_88.second.symndx = uVar7;" (assignment_expression "local_88.second.symndx = uVar7" (field_expression "local_88.second.symndx" (field_expression "local_88.second" identifier . field_identifier) . field_identifier) = identifier) ;) comment (ERROR "std::\n              _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>_>_>\n              ::\n              _M_emplace_unique<std::pair<unsigned_int,_gold::" (comma_expression "std::\n              _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>_>,_std::less<unsigned_int>,_std" identifier (ERROR "::\n              _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Sized_relobj_file<64,_true>::Kept_comdat_section>_>,_std::less<unsigned_int>" : : (comma_expression "_Rb_tree<unsigned_int,_std" (binary_expression "_Rb_tree<unsigned_int" identifier < identifier) , identifier) : : (comma_expression "pair<unsigned_int_const,_gold" (binary_expression "pair<unsigned_int_const" identifier < identifier) , identifier) : : (comma_expression "Sized_relobj_file<64,_true>::Kept_comdat_section>,_std" (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (binary_expression "_true>::Kept_comdat_section>,_std" (binary_expression "_true>::Kept_comdat_section" identifier > (ERROR "::" : :) identifier) > (ERROR "," ,) identifier)) : : (binary_expression "_Select1st<std" identifier < identifier) : : (comma_expression "pair<unsigned_int_const,_gold" (binary_expression "pair<unsigned_int_const" identifier < identifier) , identifier) : : (comma_expression "Sized_relobj_file<64,_true>::Kept_comdat_section>_>,_std" (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (binary_expression "_true>::Kept_comdat_section>_>,_std" (binary_expression "_true>::Kept_comdat_section>_" (binary_expression "_true>::Kept_comdat_section" identifier > (ERROR "::" : :) identifier) > identifier) > (ERROR "," ,) identifier)) : : (binary_expression "less<unsigned_int" identifier < identifier) >) , identifier) : : identifier < identifier : : (comma_expression "pair<unsigned_int_const,_gold" (binary_expression "pair<unsigned_int_const" identifier < identifier) , identifier) : : (comma_expression "Sized_relobj_file<64,_true>::Kept_comdat_section>_>_>\n              ::\n              _M_emplace_unique<std" (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (binary_expression "_true>::Kept_comdat_section>_>_>\n              ::\n              _M_emplace_unique<std" (binary_expression "_true>::Kept_comdat_section>_>_>\n              ::\n              _M_emplace_unique" (binary_expression "_true>::Kept_comdat_section>_>_" (binary_expression "_true>::Kept_comdat_section>_" (binary_expression "_true>::Kept_comdat_section" identifier > (ERROR "::" : :) identifier) > identifier) > identifier) > (ERROR "::" : :) identifier) < identifier)) : : (comma_expression "pair<unsigned_int,_gold" (binary_expression "pair<unsigned_int" identifier < identifier) , identifier) : :) (expression_statement "Sized_relobj_file<64,_true>::Kept_comdat_section>_>\n                        (&(this->kept_comdat_sections_)._M_t,&local_88);" (comma_expression "Sized_relobj_file<64,_true>::Kept_comdat_section>_>\n                        (&(this->kept_comdat_sections_)._M_t,&local_88)" (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (binary_expression "_true>::Kept_comdat_section>_>\n                        (&(this->kept_comdat_sections_)._M_t,&local_88)" (binary_expression "_true>::Kept_comdat_section>_" (binary_expression "_true>::Kept_comdat_section" identifier > (ERROR "::" : :) identifier) > identifier) > (parenthesized_expression "(&(this->kept_comdat_sections_)._M_t,&local_88)" ( (comma_expression "&(this->kept_comdat_sections_)._M_t,&local_88" (pointer_expression "&(this->kept_comdat_sections_)._M_t" & (field_expression "(this->kept_comdat_sections_)._M_t" (parenthesized_expression "(this->kept_comdat_sections_)" ( (field_expression "this->kept_comdat_sections_" identifier -> field_identifier) )) . field_identifier)) , (pointer_expression "&local_88" & identifier)) )))) ;) })) }) (else_clause "else if (local_122 != false) {\n            uVar15 = *(ulong *)(puVar11 + 8);\n            if (kept_section->is_comdat_ == false) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001e73c0 to 001e73c4 has its CatchHandler @ 001e73ca */\n              do_gold_unreachable("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            this_00 = &((kept_section->u_).group_sections)->_M_t;\n            _is_ordinary = local_58;\n                    /* try { // try from 001e7166 to 001e716a has its CatchHandler @ 001e73ca */\n            std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n            _M_construct<char*>((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *\n                                )&is_ordinary,mname._M_dataplus._M_p,\n                                mname._M_dataplus._M_p + mname._M_string_length);\n            local_48 = EVar4;\n            local_40 = uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                       (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                       (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n                       (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38;\n                    /* try { // try from 001e7189 to 001e718d has its CatchHandler @ 001e7437 */\n            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>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_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>_>,_gold::Kept_section::Comdat_section_info>_>_>\n            ::\n            _M_emplace_unique<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>\n                      (this_00,(pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>\n                                *)&is_ordinary);\n            if (_is_ordinary != local_58) {\n              operator_delete(_is_ordinary);\n            }\n          }" else (if_statement "if (local_122 != false) {\n            uVar15 = *(ulong *)(puVar11 + 8);\n            if (kept_section->is_comdat_ == false) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001e73c0 to 001e73c4 has its CatchHandler @ 001e73ca */\n              do_gold_unreachable("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            this_00 = &((kept_section->u_).group_sections)->_M_t;\n            _is_ordinary = local_58;\n                    /* try { // try from 001e7166 to 001e716a has its CatchHandler @ 001e73ca */\n            std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n            _M_construct<char*>((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *\n                                )&is_ordinary,mname._M_dataplus._M_p,\n                                mname._M_dataplus._M_p + mname._M_string_length);\n            local_48 = EVar4;\n            local_40 = uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                       (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                       (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n                       (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38;\n                    /* try { // try from 001e7189 to 001e718d has its CatchHandler @ 001e7437 */\n            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>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_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>_>,_gold::Kept_section::Comdat_section_info>_>_>\n            ::\n            _M_emplace_unique<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>\n                      (this_00,(pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>\n                                *)&is_ordinary);\n            if (_is_ordinary != local_58) {\n              operator_delete(_is_ordinary);\n            }\n          }" if (parenthesized_expression "(local_122 != false)" ( (binary_expression "local_122 != false" identifier != false) )) (compound_statement "{\n            uVar15 = *(ulong *)(puVar11 + 8);\n            if (kept_section->is_comdat_ == false) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001e73c0 to 001e73c4 has its CatchHandler @ 001e73ca */\n              do_gold_unreachable("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            this_00 = &((kept_section->u_).group_sections)->_M_t;\n            _is_ordinary = local_58;\n                    /* try { // try from 001e7166 to 001e716a has its CatchHandler @ 001e73ca */\n            std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n            _M_construct<char*>((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *\n                                )&is_ordinary,mname._M_dataplus._M_p,\n                                mname._M_dataplus._M_p + mname._M_string_length);\n            local_48 = EVar4;\n            local_40 = uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                       (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                       (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n                       (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38;\n                    /* try { // try from 001e7189 to 001e718d has its CatchHandler @ 001e7437 */\n            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>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_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>_>,_gold::Kept_section::Comdat_section_info>_>_>\n            ::\n            _M_emplace_unique<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>\n                      (this_00,(pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>\n                                *)&is_ordinary);\n            if (_is_ordinary != local_58) {\n              operator_delete(_is_ordinary);\n            }\n          }" { (expression_statement "uVar15 = *(ulong *)(puVar11 + 8);" (assignment_expression "uVar15 = *(ulong *)(puVar11 + 8)" identifier = (pointer_expression "*(ulong *)(puVar11 + 8)" * (cast_expression "(ulong *)(puVar11 + 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 8)" ( (binary_expression "puVar11 + 8" identifier + number_literal) ))))) ;) (if_statement "if (kept_section->is_comdat_ == false) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001e73c0 to 001e73c4 has its CatchHandler @ 001e73ca */\n              do_gold_unreachable("../../gold/layout.h",0x135,"add_comdat_section");\n            }" if (parenthesized_expression "(kept_section->is_comdat_ == false)" ( (binary_expression "kept_section->is_comdat_ == false" (field_expression "kept_section->is_comdat_" identifier -> field_identifier) == false) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001e73c0 to 001e73c4 has its CatchHandler @ 001e73ca */\n              do_gold_unreachable("../../gold/layout.h",0x135,"add_comdat_section");\n            }" { comment comment (expression_statement "do_gold_unreachable("../../gold/layout.h",0x135,"add_comdat_section");" (call_expression "do_gold_unreachable("../../gold/layout.h",0x135,"add_comdat_section")" identifier (argument_list "("../../gold/layout.h",0x135,"add_comdat_section")" ( (string_literal ""../../gold/layout.h"" " string_content ") , number_literal , (string_literal ""add_comdat_section"" " string_content ") ))) ;) })) (expression_statement "this_00 = &((kept_section->u_).group_sections)->_M_t;" (assignment_expression "this_00 = &((kept_section->u_).group_sections)->_M_t" identifier = (pointer_expression "&((kept_section->u_).group_sections)->_M_t" & (field_expression "((kept_section->u_).group_sections)->_M_t" (parenthesized_expression "((kept_section->u_).group_sections)" ( (field_expression "(kept_section->u_).group_sections" (parenthesized_expression "(kept_section->u_)" ( (field_expression "kept_section->u_" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier))) ;) (expression_statement "_is_ordinary = local_58;" (assignment_expression "_is_ordinary = local_58" identifier = identifier) ;) comment (ERROR "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n            _M_construct<char*>((basic_string<char,_std::char_traits<char>,_std::" (comma_expression "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n            _M_construct<char*>((basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n            _M_construct<char*>((basic_string<char,_std::char_traits<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) > : : (binary_expression "_M_construct<char" identifier < identifier) (ERROR "*" *) > ( ( (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_> *\n                                )&is_ordinary,mname._M_dataplus._M_p,\n                                mname._M_dataplus._M_p + mname._M_string_length);" (comma_expression "allocator<char>_> *\n                                )&is_ordinary,mname._M_dataplus._M_p,\n                                mname._M_dataplus._M_p + mname._M_string_length" (binary_expression "allocator<char>_> *\n                                )&is_ordinary" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (pointer_expression "*\n                                )&is_ordinary" * (ERROR ")" )) (pointer_expression "&is_ordinary" & identifier))) , (comma_expression "mname._M_dataplus._M_p,\n                                mname._M_dataplus._M_p + mname._M_string_length" (field_expression "mname._M_dataplus._M_p" (field_expression "mname._M_dataplus" identifier . field_identifier) . field_identifier) , (binary_expression "mname._M_dataplus._M_p + mname._M_string_length" (field_expression "mname._M_dataplus._M_p" (field_expression "mname._M_dataplus" identifier . field_identifier) . field_identifier) + (field_expression "mname._M_string_length" identifier . field_identifier)))) (ERROR ")" )) ;) (expression_statement "local_48 = EVar4;" (assignment_expression "local_48 = EVar4" identifier = identifier) ;) (expression_statement "local_40 = uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                       (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                       (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n                       (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38;" (assignment_expression "local_40 = uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                       (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                       (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n                       (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38" identifier = (binary_expression "uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                       (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                       (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n                       (uVar15 & 0xff00) << 0x28 | uVar15 << 0x38" (binary_expression "uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                       (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                       (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18 |\n                       (uVar15 & 0xff00) << 0x28" (binary_expression "uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                       (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                       (uVar15 & 0xff000000) << 8 | (uVar15 & 0xff0000) << 0x18" (binary_expression "uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                       (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8 |\n                       (uVar15 & 0xff000000) << 8" (binary_expression "uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                       (uVar15 & 0xff0000000000) >> 0x18 | (uVar15 & 0xff00000000) >> 8" (binary_expression "uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28 |\n                       (uVar15 & 0xff0000000000) >> 0x18" (binary_expression "uVar15 >> 0x38 | (uVar15 & 0xff000000000000) >> 0x28" (binary_expression "uVar15 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar15 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar15 & 0xff000000000000)" ( (binary_expression "uVar15 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar15 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar15 & 0xff0000000000)" ( (binary_expression "uVar15 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar15 & 0xff00000000) >> 8" (parenthesized_expression "(uVar15 & 0xff00000000)" ( (binary_expression "uVar15 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar15 & 0xff000000) << 8" (parenthesized_expression "(uVar15 & 0xff000000)" ( (binary_expression "uVar15 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar15 & 0xff0000) << 0x18" (parenthesized_expression "(uVar15 & 0xff0000)" ( (binary_expression "uVar15 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar15 & 0xff00) << 0x28" (parenthesized_expression "(uVar15 & 0xff00)" ( (binary_expression "uVar15 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar15 << 0x38" identifier << number_literal))) ;) comment (ERROR "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>_>,_gold::Kept_section::Comdat_section_info>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>_>,_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>_>,_gold::Kept_section::Comdat_section_info>_>_>\n            ::\n            _M_emplace_unique<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::" (comma_expression "std::\n            _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std" identifier (ERROR "::\n            _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>" : : (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>_" (binary_expression "allocator<char" identifier < identifier) > 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>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (comma_expression "Kept_section::Comdat_section_info>,_std" identifier (ERROR "::Comdat_section_info>" : : identifier >) , 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>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (comma_expression "Kept_section::Comdat_section_info>_>,_std" identifier (ERROR "::Comdat_section_info>_>" : : (binary_expression "Comdat_section_info>_" identifier > identifier) >) , 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>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (comma_expression "Kept_section::Comdat_section_info>_>_>\n            ::\n            _M_emplace_unique<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold" identifier (ERROR "::Comdat_section_info>_>_>\n            ::\n            _M_emplace_unique<std::pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>" : : (binary_expression "Comdat_section_info>_>_" (binary_expression "Comdat_section_info>_" identifier > identifier) > identifier) > : : (binary_expression "_M_emplace_unique<std" identifier < identifier) : : (binary_expression "pair<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) >) , identifier) : :) (labeled_statement "Kept_section::Comdat_section_info>_>\n                      (this_00,(pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>\n                                *)&is_ordinary);" statement_identifier : (ERROR ":" :) (expression_statement "Comdat_section_info>_>\n                      (this_00,(pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>\n                                *)&is_ordinary);" (binary_expression "Comdat_section_info>_>\n                      (this_00,(pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>\n                                *)&is_ordinary)" (binary_expression "Comdat_section_info>_" identifier > identifier) > (parenthesized_expression "(this_00,(pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>\n                                *)&is_ordinary)" ( (comma_expression "this_00,(pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>\n                                *)&is_ordinary" identifier , (binary_expression "(pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>\n                                *)&is_ordinary" (parenthesized_expression "(pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::Comdat_section_info>\n                                *)" ( (ERROR "pair<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Kept_section::" (binary_expression "pair<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : identifier : :) (binary_expression "Comdat_section_info>\n                                *" identifier > (pointer_expression "*" * identifier)) )) & identifier)) ))) ;)) (if_statement "if (_is_ordinary != local_58) {\n              operator_delete(_is_ordinary);\n            }" if (parenthesized_expression "(_is_ordinary != local_58)" ( (binary_expression "_is_ordinary != local_58" identifier != identifier) )) (compound_statement "{\n              operator_delete(_is_ordinary);\n            }" { (expression_statement "operator_delete(_is_ordinary);" (call_expression "operator_delete(_is_ordinary)" identifier (argument_list "(_is_ordinary)" ( identifier ))) ;) })) })))) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)mname._M_dataplus._M_p != paVar12) {\n            operator_delete(mname._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               *)mname._M_dataplus._M_p != paVar12)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)mname._M_dataplus._M_p != paVar12)" ( (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               *)mname._M_dataplus._M_p != paVar12" (binary_expression "allocator<char>_>_9\n               *)mname._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n               *)mname._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "mname._M_dataplus._M_p" (field_expression "mname._M_dataplus" identifier . field_identifier) . field_identifier))) != identifier) )) )) (compound_statement "{\n            operator_delete(mname._M_dataplus._M_p);\n          }" { (expression_statement "operator_delete(mname._M_dataplus._M_p);" (call_expression "operator_delete(mname._M_dataplus._M_p)" identifier (argument_list "(mname._M_dataplus._M_p)" ( (field_expression "mname._M_dataplus._M_p" (field_expression "mname._M_dataplus" identifier . field_identifier) . field_identifier) ))) ;) })) })) }) (else_clause "else {\n        elfcpp::Elf_file<64,_true,_gold::Object>::initialize_shnum(&this->elf_file_);\n        uVar17 = uVar17 + (this->elf_file_).large_shndx_offset_;\n        shndx = uVar17;\n        if (cVar5 == '\0') goto LAB_001e6d30;\nLAB_001e6e26:\n        shndx = uVar17;\n        if (shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish ==\n            shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_end_of_storage) {\n                    /* try { // try from 001e71be to 001e71c2 has its CatchHandler @ 001e73c5 */\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::\n          _M_realloc_insert<unsigned_int_const&>\n                    (&shndxes,(iterator)\n                              shndxes.\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                              _M_impl._M_finish,&shndx);\n          goto LAB_001e6d30;\n        }\n        *shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n             uVar17;\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n             shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n             _M_finish + 1;\n        if (uVar17 < (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_)\n        goto LAB_001e6d3a;\nLAB_001e6e59:\n        EVar4 = shndx;\n        pcVar14 = (char *)gettext("section %u in section group %u out of range");\n        Object::error((Object *)this,pcVar14,(ulong)EVar4,(ulong)index);\n      }" else (compound_statement "{\n        elfcpp::Elf_file<64,_true,_gold::Object>::initialize_shnum(&this->elf_file_);\n        uVar17 = uVar17 + (this->elf_file_).large_shndx_offset_;\n        shndx = uVar17;\n        if (cVar5 == '\0') goto LAB_001e6d30;\nLAB_001e6e26:\n        shndx = uVar17;\n        if (shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish ==\n            shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_end_of_storage) {\n                    /* try { // try from 001e71be to 001e71c2 has its CatchHandler @ 001e73c5 */\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::\n          _M_realloc_insert<unsigned_int_const&>\n                    (&shndxes,(iterator)\n                              shndxes.\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                              _M_impl._M_finish,&shndx);\n          goto LAB_001e6d30;\n        }\n        *shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n             uVar17;\n        shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n             shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n             _M_finish + 1;\n        if (uVar17 < (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_)\n        goto LAB_001e6d3a;\nLAB_001e6e59:\n        EVar4 = shndx;\n        pcVar14 = (char *)gettext("section %u in section group %u out of range");\n        Object::error((Object *)this,pcVar14,(ulong)EVar4,(ulong)index);\n      }" { (labeled_statement "elfcpp::Elf_file<64,_true,_gold::Object>::initialize_shnum(&this->elf_file_);" statement_identifier (ERROR "::Elf_file<64,_true,_gold::Object>:" : : (comma_expression "Elf_file<64,_true,_gold" (binary_expression "Elf_file<64" identifier < number_literal) , (comma_expression "_true,_gold" identifier , identifier)) : : identifier > :) : (expression_statement "initialize_shnum(&this->elf_file_);" (call_expression "initialize_shnum(&this->elf_file_)" identifier (argument_list "(&this->elf_file_)" ( (pointer_expression "&this->elf_file_" & (field_expression "this->elf_file_" identifier -> field_identifier)) ))) ;)) (expression_statement "uVar17 = uVar17 + (this->elf_file_).large_shndx_offset_;" (assignment_expression "uVar17 = uVar17 + (this->elf_file_).large_shndx_offset_" identifier = (binary_expression "uVar17 + (this->elf_file_).large_shndx_offset_" identifier + (field_expression "(this->elf_file_).large_shndx_offset_" (parenthesized_expression "(this->elf_file_)" ( (field_expression "this->elf_file_" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "shndx = uVar17;" (assignment_expression "shndx = uVar17" identifier = identifier) ;) (if_statement "if (cVar5 == '\0') goto LAB_001e6d30;" if (parenthesized_expression "(cVar5 == '\0')" ( (binary_expression "cVar5 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_001e6d30;" goto statement_identifier ;)) (labeled_statement "LAB_001e6e26:\n        shndx = uVar17;" statement_identifier : (expression_statement "shndx = uVar17;" (assignment_expression "shndx = uVar17" identifier = identifier) ;)) (if_statement "if (shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish ==\n            shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_end_of_storage) {\n                    /* try { // try from 001e71be to 001e71c2 has its CatchHandler @ 001e73c5 */\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::\n          _M_realloc_insert<unsigned_int_const&>\n                    (&shndxes,(iterator)\n                              shndxes.\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                              _M_impl._M_finish,&shndx);\n          goto LAB_001e6d30;\n        }" if (parenthesized_expression "(shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish ==\n            shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_end_of_storage)" ( (ERROR "shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish ==\n            shndxes.super__Vector_base<unsigned_int,_std::" (comma_expression "shndxes.super__Vector_base<unsigned_int,_std" (binary_expression "shndxes.super__Vector_base<unsigned_int" (field_expression "shndxes.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : : (comma_expression "allocator<unsigned_int>_>._M_impl.\n            _M_finish ==\n            shndxes.super__Vector_base<unsigned_int,_std" (binary_expression "allocator<unsigned_int>_>._M_impl.\n            _M_finish ==\n            shndxes.super__Vector_base<unsigned_int" (field_expression "allocator<unsigned_int>_>._M_impl.\n            _M_finish" (field_expression "allocator<unsigned_int>_>._M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) == (binary_expression "shndxes.super__Vector_base<unsigned_int" (field_expression "shndxes.super__Vector_base" identifier . field_identifier) < identifier)) , identifier) : :) (field_expression "allocator<unsigned_int>_>._M_impl.\n            _M_end_of_storage" (field_expression "allocator<unsigned_int>_>._M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n                    /* try { // try from 001e71be to 001e71c2 has its CatchHandler @ 001e73c5 */\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::\n          _M_realloc_insert<unsigned_int_const&>\n                    (&shndxes,(iterator)\n                              shndxes.\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                              _M_impl._M_finish,&shndx);\n          goto LAB_001e6d30;\n        }" { comment (labeled_statement "std::vector<unsigned_int,_std::allocator<unsigned_int>_>::\n          _M_realloc_insert<unsigned_int_const&>\n                    (&shndxes,(iterator)\n                              shndxes.\n                              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                              _M_impl._M_finish,&shndx);" statement_identifier (ERROR "::vector<unsigned_int,_std::allocator<unsigned_int>_>::\n          _M_realloc_insert<unsigned_int_const&>\n                    (&shndxes,(iterator)\n                              shndxes.\n                              super__Vector_base<unsigned_int,_std:" : : (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) > : : (binary_expression "_M_realloc_insert<unsigned_int_const" identifier < identifier) (ERROR "&" &) > ( (comma_expression "&shndxes,(iterator)\n                              shndxes.\n                              super__Vector_base<unsigned_int,_std" (pointer_expression "&shndxes" & identifier) , (comma_expression "(iterator)\n                              shndxes.\n                              super__Vector_base<unsigned_int,_std" (binary_expression "(iterator)\n                              shndxes.\n                              super__Vector_base<unsigned_int" (cast_expression "(iterator)\n                              shndxes.\n                              super__Vector_base" ( (type_descriptor "iterator" type_identifier) ) (field_expression "shndxes.\n                              super__Vector_base" identifier . field_identifier)) < identifier) , identifier)) :) : (expression_statement "allocator<unsigned_int>_>.\n                              _M_impl._M_finish,&shndx);" (comma_expression "allocator<unsigned_int>_>.\n                              _M_impl._M_finish,&shndx" (field_expression "allocator<unsigned_int>_>.\n                              _M_impl._M_finish" (field_expression "allocator<unsigned_int>_>.\n                              _M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) , (pointer_expression "&shndx" & identifier)) (ERROR ")" )) ;)) (goto_statement "goto LAB_001e6d30;" goto statement_identifier ;) })) (ERROR "*shndxes.super__Vector_base<unsigned_int,_std::" (comma_expression "*shndxes.super__Vector_base<unsigned_int,_std" (binary_expression "*shndxes.super__Vector_base<unsigned_int" (pointer_expression "*shndxes.super__Vector_base" * (field_expression "shndxes.super__Vector_base" identifier . field_identifier)) < identifier) , identifier) : :) (expression_statement "allocator<unsigned_int>_>._M_impl._M_finish =\n             uVar17;" (assignment_expression "allocator<unsigned_int>_>._M_impl._M_finish =\n             uVar17" (field_expression "allocator<unsigned_int>_>._M_impl._M_finish" (field_expression "allocator<unsigned_int>_>._M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = identifier) ;) (ERROR "shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish =\n             shndxes.super__Vector_base<unsigned_int,_std::" (comma_expression "shndxes.super__Vector_base<unsigned_int,_std" (binary_expression "shndxes.super__Vector_base<unsigned_int" (field_expression "shndxes.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : : (comma_expression "allocator<unsigned_int>_>._M_impl._M_finish =\n             shndxes.super__Vector_base<unsigned_int,_std" (assignment_expression "allocator<unsigned_int>_>._M_impl._M_finish =\n             shndxes.super__Vector_base<unsigned_int" (field_expression "allocator<unsigned_int>_>._M_impl._M_finish" (field_expression "allocator<unsigned_int>_>._M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (binary_expression "shndxes.super__Vector_base<unsigned_int" (field_expression "shndxes.super__Vector_base" identifier . field_identifier) < identifier)) , identifier) : :) (expression_statement "allocator<unsigned_int>_>._M_impl.\n             _M_finish + 1;" (binary_expression "allocator<unsigned_int>_>._M_impl.\n             _M_finish + 1" (field_expression "allocator<unsigned_int>_>._M_impl.\n             _M_finish" (field_expression "allocator<unsigned_int>_>._M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) + number_literal) ;) (if_statement "if (uVar17 < (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_)\n        goto LAB_001e6d3a;" if (parenthesized_expression "(uVar17 < (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_)" ( (binary_expression "uVar17 < (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_" identifier < (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_true>)" ( (comma_expression "this->super_Sized_relobj<64,_true" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier)) )) (goto_statement "goto LAB_001e6d3a;" goto statement_identifier ;)) (labeled_statement "LAB_001e6e59:\n        EVar4 = shndx;" statement_identifier : (expression_statement "EVar4 = shndx;" (assignment_expression "EVar4 = shndx" identifier = identifier) ;)) (expression_statement "pcVar14 = (char *)gettext("section %u in section group %u out of range");" (assignment_expression "pcVar14 = (char *)gettext("section %u in section group %u out of range")" identifier = (cast_expression "(char *)gettext("section %u in section group %u out of range")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("section %u in section group %u out of range")" identifier (argument_list "("section %u in section group %u out of range")" ( (string_literal ""section %u in section group %u out of range"" " string_content ") ))))) ;) (labeled_statement "Object::error((Object *)this,pcVar14,(ulong)EVar4,(ulong)index);" statement_identifier : (ERROR ":" :) (expression_statement "error((Object *)this,pcVar14,(ulong)EVar4,(ulong)index);" (call_expression "error((Object *)this,pcVar14,(ulong)EVar4,(ulong)index)" identifier (argument_list "((Object *)this,pcVar14,(ulong)EVar4,(ulong)index)" ( (cast_expression "(Object *)this" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , (cast_expression "(ulong)EVar4" ( (type_descriptor "ulong" type_identifier) ) identifier) , (cast_expression "(ulong)index" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;)) }))) (expression_statement "local_110 = (vector<unsigned_int,_std::allocator<unsigned_int>_> *)((long)local_110 + 1);" (assignment_expression "local_110 = (vector<unsigned_int,_std::allocator<unsigned_int>_> *)((long)local_110 + 1)" identifier = (call_expression "(vector<unsigned_int,_std::allocator<unsigned_int>_> *)((long)local_110 + 1)" (parenthesized_expression "(vector<unsigned_int,_std::allocator<unsigned_int>_> *)" ( (ERROR "vector<unsigned_int,_std::" (comma_expression "vector<unsigned_int,_std" (binary_expression "vector<unsigned_int" identifier < identifier) , identifier) : :) (binary_expression "allocator<unsigned_int>_> *" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) > (pointer_expression "*" * identifier)) )) (argument_list "((long)local_110 + 1)" ( (binary_expression "(long)local_110 + 1" (cast_expression "(long)local_110" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(local_110 < local_118)" ( (binary_expression "local_110 < local_118" identifier < identifier) )) ;) (if_statement "if (cVar5 != '\0') {\nLAB_001e7093:\n      local_110 = &shndxes;\n                    /* try { // try from 001e70ce to 001e70d2 has its CatchHandler @ 001e73c5 */\n      Layout::layout_group<64,_true>\n                (layout,symtab,this,index,name,signature._M_dataplus._M_p,&shdr,\n                 uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                 local_110);\n    }" if (parenthesized_expression "(cVar5 != '\0')" ( (binary_expression "cVar5 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_001e7093:\n      local_110 = &shndxes;\n                    /* try { // try from 001e70ce to 001e70d2 has its CatchHandler @ 001e73c5 */\n      Layout::layout_group<64,_true>\n                (layout,symtab,this,index,name,signature._M_dataplus._M_p,&shdr,\n                 uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                 local_110);\n    }" { (labeled_statement "LAB_001e7093:\n      local_110 = &shndxes;" statement_identifier : (expression_statement "local_110 = &shndxes;" (assignment_expression "local_110 = &shndxes" identifier = (pointer_expression "&shndxes" & identifier)) ;)) comment (labeled_statement "Layout::layout_group<64,_true>\n                (layout,symtab,this,index,name,signature._M_dataplus._M_p,&shdr,\n                 uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                 local_110);" statement_identifier : (ERROR ":" :) (expression_statement "layout_group<64,_true>\n                (layout,symtab,this,index,name,signature._M_dataplus._M_p,&shdr,\n                 uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                 local_110);" (comma_expression "layout_group<64,_true>\n                (layout,symtab,this,index,name,signature._M_dataplus._M_p,&shdr,\n                 uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                 local_110)" (binary_expression "layout_group<64" identifier < number_literal) , (binary_expression "_true>\n                (layout,symtab,this,index,name,signature._M_dataplus._M_p,&shdr,\n                 uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                 local_110)" identifier > (parenthesized_expression "(layout,symtab,this,index,name,signature._M_dataplus._M_p,&shdr,\n                 uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                 local_110)" ( (comma_expression "layout,symtab,this,index,name,signature._M_dataplus._M_p,&shdr,\n                 uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                 local_110" identifier , (comma_expression "symtab,this,index,name,signature._M_dataplus._M_p,&shdr,\n                 uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                 local_110" identifier , (comma_expression "this,index,name,signature._M_dataplus._M_p,&shdr,\n                 uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                 local_110" identifier , (comma_expression "index,name,signature._M_dataplus._M_p,&shdr,\n                 uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                 local_110" identifier , (comma_expression "name,signature._M_dataplus._M_p,&shdr,\n                 uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                 local_110" identifier , (comma_expression "signature._M_dataplus._M_p,&shdr,\n                 uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                 local_110" (field_expression "signature._M_dataplus._M_p" (field_expression "signature._M_dataplus" identifier . field_identifier) . field_identifier) , (comma_expression "&shdr,\n                 uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                 local_110" (pointer_expression "&shdr" & identifier) , (comma_expression "uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                 local_110" (binary_expression "uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18" (binary_expression "uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8" (binary_expression "uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8" (binary_expression "uVar1 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar1 & 0xff0000) >> 8" (parenthesized_expression "(uVar1 & 0xff0000)" ( (binary_expression "uVar1 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar1 & 0xff00) << 8" (parenthesized_expression "(uVar1 & 0xff00)" ( (binary_expression "uVar1 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar1 << 0x18" identifier << number_literal)) , identifier)))))))) )))) ;)) })) }))) (if_statement "if (shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start !=\n      (pointer)0x0) {\n    operator_delete(shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                    _M_start);\n  }" if (parenthesized_expression "(shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start !=\n      (pointer)0x0)" ( (ERROR "shndxes.super__Vector_base<unsigned_int,_std::" (comma_expression "shndxes.super__Vector_base<unsigned_int,_std" (binary_expression "shndxes.super__Vector_base<unsigned_int" (field_expression "shndxes.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : :) (binary_expression "allocator<unsigned_int>_>._M_impl._M_start !=\n      (pointer)0x0" (field_expression "allocator<unsigned_int>_>._M_impl._M_start" (field_expression "allocator<unsigned_int>_>._M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) != (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) )) (compound_statement "{\n    operator_delete(shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                    _M_start);\n  }" { (expression_statement "operator_delete(shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                    _M_start);" (call_expression "operator_delete(shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                    _M_start)" identifier (argument_list "(shndxes.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                    _M_start)" ( (binary_expression "shndxes.super__Vector_base<unsigned_int" (field_expression "shndxes.super__Vector_base" identifier . field_identifier) < identifier) , (ERROR "_std::" identifier : :) (field_expression "allocator<unsigned_int>_>._M_impl.\n                    _M_start" (field_expression "allocator<unsigned_int>_>._M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ))) ;) })) (labeled_statement "LAB_001e70e8:\n  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)signature._M_dataplus._M_p != &signature.field_2) {\n    operator_delete(signature._M_dataplus._M_p);\n  }" statement_identifier : (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)signature._M_dataplus._M_p != &signature.field_2) {\n    operator_delete(signature._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       *)signature._M_dataplus._M_p != &signature.field_2)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)signature._M_dataplus._M_p != &signature.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       *)signature._M_dataplus._M_p != &signature.field_2" (binary_expression "allocator<char>_>_9\n       *)signature._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n       *)signature._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "signature._M_dataplus._M_p" (field_expression "signature._M_dataplus" identifier . field_identifier) . field_identifier))) != (pointer_expression "&signature.field_2" & (field_expression "signature.field_2" identifier . field_identifier))) )) )) (compound_statement "{\n    operator_delete(signature._M_dataplus._M_p);\n  }" { (expression_statement "operator_delete(signature._M_dataplus._M_p);" (call_expression "operator_delete(signature._M_dataplus._M_p)" identifier (argument_list "(signature._M_dataplus._M_p)" ( (field_expression "signature._M_dataplus._M_p" (field_expression "signature._M_dataplus" identifier . field_identifier) . field_identifier) ))) ;) }))) (return_statement "return (bool)local_121;" return (cast_expression "(bool)local_121" ( (type_descriptor "bool" primitive_type) ) identifier) ;) (ERROR "}" }))
(translation_unit "char FUN_001e6a30(long *param_1,undefined8 param_2,long param_3,uint param_4,undefined8 param_5,\n                 long param_6,long param_7,ulong param_8,long *param_9)\n\n{\n  uint uVar1;\n  ulong uVar2;\n  ushort uVar3;\n  uint uVar4;\n  uint *puVar5;\n  undefined8 uVar6;\n  long lVar7;\n  uint *puVar8;\n  size_t sVar9;\n  ulong uVar10;\n  ulong *puVar11;\n  undefined8 extraout_RDX;\n  char *pcVar12;\n  undefined8 extraout_RDX_00;\n  undefined8 extraout_RDX_01;\n  undefined8 extraout_RDX_02;\n  undefined4 *puVar13;\n  char *__s;\n  char cVar14;\n  uint uVar15;\n  undefined1 auVar16 [16];\n  undefined8 uStack_1a0;\n  char local_122;\n  char local_121;\n  ulong local_118;\n  long *local_110;\n  uint local_104;\n  long local_100;\n  ulong local_f8;\n  long local_f0;\n  long local_e8;\n  uint *local_e0;\n  uint *local_d8;\n  char *local_c8 [2];\n  char acStack_b8 [16];\n  undefined1 *local_a8;\n  long local_a0;\n  undefined1 auStack_98 [16];\n  uint local_88 [2];\n  ulong local_80;\n  long local_78;\n  uint local_70;\n  undefined1 local_6c;\n  undefined1 *local_68 [2];\n  undefined1 local_58 [16];\n  uint local_48;\n  ulong local_40;\n  \n  local_100 = (ulong)(param_4 << 6) + param_6;\n  uVar10 = *(ulong *)(local_100 + 0x20);\n  uVar2 = *(ulong *)(local_100 + 0x18);\n  if (param_1[5] == 0) {\nLAB_001e7390:\n                    \n    FUN_001d17f0();\n  }\n  puVar5 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],\n                                uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 |\n                                (uVar2 & 0xff0000000000) >> 0x18 | (uVar2 & 0xff00000000) >> 8 |\n                                (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n                                (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38,\n                                uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38,1,0);\n  uVar1 = *puVar5;\n  uVar4 = *(uint *)(local_100 + 0x28);\n  uVar4 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n  if (0xfeff < uVar4) {\n    FUN_001dab60(param_1 + 0x1f);\n    uVar4 = uVar4 + (int)param_1[0x22];\n  }\n  uVar6 = FUN_001e0b10(param_1 + 0x1f,uVar4);\n  if (param_1[5] == 0) goto LAB_001e7390;\n  lVar7 = FUN_0018a760(param_1[5] + 0x28,param_1[6],uVar6,0x40,1,1);\n  uVar10 = *(ulong *)(lVar7 + 0x20);\n  uVar4 = *(uint *)(local_100 + 0x2c);\n  uVar4 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n  if ((uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n       (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38) / 0x18 <= (ulong)uVar4) {\n    uVar6 = gettext("section group %u info %u out of range");\n    uVar15 = uVar4;\nLAB_001e6ed5:\n    FUN_001d19e0(param_1,uVar6,param_4,uVar15);\n    return '\0';\n  }\n  uVar10 = *(ulong *)(lVar7 + 0x18);\n  if (param_1[5] == 0) goto LAB_001e7390;\n  puVar8 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],\n                                (ulong)(uVar4 * 0x18) +\n                                (uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38),0x18,1,0);\n  uVar15 = *(uint *)(lVar7 + 0x28);\n  uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n  if (0xfeff < uVar15) {\n    FUN_001dab60(param_1 + 0x1f);\n    uVar15 = uVar15 + (int)param_1[0x22];\n  }\n  if (*(code **)(*param_1 + 0x70) == FUN_001e0d50) {\n    auVar16 = FUN_001e0ca0(param_1 + 0x1f,uVar15);\n    local_f8 = auVar16._8_8_;\n    puVar13 = &DAT_00393c8a;\n    if (local_f8 != 0) {\n      if (param_1[5] == 0) goto LAB_001e7390;\n      puVar13 = (undefined4 *)FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar16._0_8_,local_f8,1,1);\n    }\n  }\n  else {\n    puVar13 = (undefined4 *)(**(code **)(*param_1 + 0x70))(param_1,uVar15,&local_f8,1);\n  }\n  uVar15 = *puVar8;\n  uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n  if (local_f8 <= uVar15) {\n    uVar6 = gettext("symbol %u name offset %u out of range");\n    param_4 = uVar4;\n    goto LAB_001e6ed5;\n  }\n  uStack_1a0 = 0x1e6c17;\n  FUN_001d26c0(local_c8,(long)puVar13 + (ulong)uVar15);\n  uVar6 = extraout_RDX;\n  if ((*local_c8[0] == '\0') && ((puVar8[1] & 0xf) == 3)) {\n    uVar3 = *(ushort *)((long)puVar8 + 6) << 8 | *(ushort *)((long)puVar8 + 6) >> 8;\n    uVar15 = (uint)uVar3;\n    if (uVar15 < 0xff00) {\n      local_68[0] = (undefined1 *)CONCAT71(local_68[0]._1_7_,1);\nLAB_001e6f84:\n      if (uVar15 < *(uint *)(param_1 + 7)) {\n        uVar15 = *(uint *)(param_6 + (ulong)(uVar15 << 6));\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n                    \n          uStack_1a0 = 0x1e6fbf;\n          FUN_002f9af0(local_c8,uVar10 + param_7);\n          uVar6 = extraout_RDX_00;\n        }\n        goto LAB_001e6c3f;\n      }\n    }\n    else if (uVar3 == 0xffff) {\n      uStack_1a0 = 0x1e737b;\n      uVar15 = FUN_001d1b60(param_1,uVar4,local_68);\n      uVar6 = extraout_RDX_02;\n      if ((char)local_68[0] != '\0') goto LAB_001e6f84;\n    }\n    else {\n      local_68[0] = (undefined1 *)((ulong)local_68[0]._1_7_ << 8);\n    }\n    uVar6 = gettext("symbol %u invalid section index %u");\n                    \n    FUN_001d19e0(param_1,uVar6,uVar4,uVar15);\nLAB_001e735d:\n    local_121 = '\0';\n    goto LAB_001e70e8;\n  }\nLAB_001e6c3f:\n  local_f0 = 0;\n  if ((uVar1 >> 0x18 & 1) == 0) {\n    uVar10 = *(ulong *)(local_100 + 0x20);\n    local_122 = '\0';\n    local_118 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28\n                | uVar10 << 0x38;\n    uStack_1a0 = uVar6;\nLAB_001e6c9f:\n    local_118 = local_118 >> 2;\n    local_d8 = (uint *)0x0;\n    local_e0 = (uint *)0x0;\n    local_e8 = 0;\n    if (*(long *)(PTR_DAT_0045c708 + 0x10) == 0) {\n                    \n                    \n      FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n    }\n    cVar14 = *(char *)(*(long *)(PTR_DAT_0045c708 + 0x10) + 0x5051);\n    if (cVar14 != '\0') {\n                    \n      FUN_001da300(&local_e8,local_118 - 1,uStack_1a0);\n      local_121 = cVar14;\n      if (1 < local_118) goto LAB_001e6cd9;\n      goto LAB_001e7093;\n    }\n    local_121 = '\x01';\n    if (1 < local_118) goto LAB_001e6cd9;\n  }\n  else {\n                    \n    local_122 = FUN_001c1720(param_3,local_c8,param_1,param_4,1,1,&local_f0);\n    if (local_122 != '\0') {\n      if (*(long *)(param_3 + 0x378) != 0) {\n        FUN_00197030(*(long *)(param_3 + 0x378),param_1,local_c8[0]);\n        uStack_1a0 = extraout_RDX_01;\n      }\n      uVar10 = *(ulong *)(local_100 + 0x20);\n      local_118 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                  (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                  (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                  (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n      goto LAB_001e6c9f;\n    }\n    local_e8 = 0;\n    local_e0 = (uint *)0x0;\n    local_d8 = (uint *)0x0;\n    uVar10 = *(ulong *)(local_100 + 0x20);\n    local_118 = (uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38) >> 2;\n    if (local_118 < 2) goto LAB_001e735d;\n    local_121 = '\0';\n    local_122 = '\x01';\n    cVar14 = '\0';\nLAB_001e6cd9:\n    local_110 = (long *)0x1;\n    do {\n      uVar15 = puVar5[(long)local_110];\n      uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n      if (uVar15 < 0xff00) {\n        local_104 = uVar15;\n        if (cVar14 != '\0') goto LAB_001e6e26;\nLAB_001e6d30:\n        if (*(uint *)(param_1 + 7) <= local_104) goto LAB_001e6e59;\nLAB_001e6d3a:\n        uVar15 = local_104;\n        if (local_104 < param_4) {\n          uVar6 = gettext("invalid section group %u refers to earlier section %u");\n                    \n          FUN_001d19e0(param_1,uVar6,param_4,uVar15);\n        }\n        puVar8 = (uint *)((ulong)(local_104 << 6) + param_6);\n        uVar15 = *puVar8;\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n          pcVar12 = (char *)0xffffffffffffffff;\n          __s = (char *)(uVar10 + param_7);\n          local_a8 = auStack_98;\n          if (__s != (char *)0x0) {\n            sVar9 = strlen(__s);\n            pcVar12 = __s + sVar9;\n          }\n                    \n          FUN_00174550(&local_a8,__s,pcVar12);\n          uVar15 = local_104;\n          if (local_121 == '\0') {\n            puVar11 = (ulong *)((ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9);\n            *puVar11 = *puVar11 | 1L << ((byte)local_104 & 0x3f);\n            if ((local_122 != '\0') && ((local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0')))) {\n              uVar10 = *(ulong *)(puVar8 + 8);\n              local_78 = local_f0;\n              local_88[0] = local_104;\n              local_80 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n              local_6c = 1;\n              local_70 = uVar4;\n                    \n              FUN_001e2560(param_1 + 0x36,local_88);\n            }\n          }\n          else if (local_122 != '\0') {\n            uVar10 = *(ulong *)(puVar8 + 8);\n            if (*(char *)(local_f0 + 0xc) == '\0') {\n                    \n                    \n              FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            uVar6 = *(undefined8 *)(local_f0 + 0x10);\n            local_68[0] = local_58;\n                    \n            FUN_0017d640(local_68,local_a8,local_a8 + local_a0);\n            local_48 = uVar15;\n            local_40 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n                    \n            FUN_001d9dc0(uVar6,local_68);\n            if (local_68[0] != local_58) {\n              FUN_002f1e60();\n            }\n          }\n          if (local_a8 != auStack_98) {\n            FUN_002f1e60();\n          }\n        }\n      }\n      else {\n        FUN_001dab60(param_1 + 0x1f);\n        uVar15 = uVar15 + (int)param_1[0x22];\n        local_104 = uVar15;\n        if (cVar14 == '\0') goto LAB_001e6d30;\nLAB_001e6e26:\n        local_104 = uVar15;\n        if (local_e0 == local_d8) {\n                    \n          FUN_001a8910(&local_e8,local_e0,&local_104);\n          goto LAB_001e6d30;\n        }\n        *local_e0 = uVar15;\n        local_e0 = local_e0 + 1;\n        if (uVar15 < *(uint *)(param_1 + 7)) goto LAB_001e6d3a;\nLAB_001e6e59:\n        uVar15 = local_104;\n        uVar6 = gettext("section %u in section group %u out of range");\n        FUN_001d19e0(param_1,uVar6,uVar15,param_4);\n      }\n      local_110 = (long *)((long)local_110 + 1);\n    } while (local_110 < local_118);\n    if (cVar14 != '\0') {\nLAB_001e7093:\n      local_110 = &local_e8;\n                    \n      FUN_001caee0(param_3,param_2,param_1,param_4,param_5,local_c8[0],&local_100,\n                   uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                   local_110);\n    }\n  }\n  if (local_e8 != 0) {\n    FUN_002f1e60();\n  }\nLAB_001e70e8:\n  if (local_c8[0] != acStack_b8) {\n    FUN_002f1e60();\n  }\n  return local_121;\n}\n\n" (function_definition "char FUN_001e6a30(long *param_1,undefined8 param_2,long param_3,uint param_4,undefined8 param_5,\n                 long param_6,long param_7,ulong param_8,long *param_9)\n\n{\n  uint uVar1;\n  ulong uVar2;\n  ushort uVar3;\n  uint uVar4;\n  uint *puVar5;\n  undefined8 uVar6;\n  long lVar7;\n  uint *puVar8;\n  size_t sVar9;\n  ulong uVar10;\n  ulong *puVar11;\n  undefined8 extraout_RDX;\n  char *pcVar12;\n  undefined8 extraout_RDX_00;\n  undefined8 extraout_RDX_01;\n  undefined8 extraout_RDX_02;\n  undefined4 *puVar13;\n  char *__s;\n  char cVar14;\n  uint uVar15;\n  undefined1 auVar16 [16];\n  undefined8 uStack_1a0;\n  char local_122;\n  char local_121;\n  ulong local_118;\n  long *local_110;\n  uint local_104;\n  long local_100;\n  ulong local_f8;\n  long local_f0;\n  long local_e8;\n  uint *local_e0;\n  uint *local_d8;\n  char *local_c8 [2];\n  char acStack_b8 [16];\n  undefined1 *local_a8;\n  long local_a0;\n  undefined1 auStack_98 [16];\n  uint local_88 [2];\n  ulong local_80;\n  long local_78;\n  uint local_70;\n  undefined1 local_6c;\n  undefined1 *local_68 [2];\n  undefined1 local_58 [16];\n  uint local_48;\n  ulong local_40;\n  \n  local_100 = (ulong)(param_4 << 6) + param_6;\n  uVar10 = *(ulong *)(local_100 + 0x20);\n  uVar2 = *(ulong *)(local_100 + 0x18);\n  if (param_1[5] == 0) {\nLAB_001e7390:\n                    \n    FUN_001d17f0();\n  }\n  puVar5 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],\n                                uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 |\n                                (uVar2 & 0xff0000000000) >> 0x18 | (uVar2 & 0xff00000000) >> 8 |\n                                (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n                                (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38,\n                                uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38,1,0);\n  uVar1 = *puVar5;\n  uVar4 = *(uint *)(local_100 + 0x28);\n  uVar4 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n  if (0xfeff < uVar4) {\n    FUN_001dab60(param_1 + 0x1f);\n    uVar4 = uVar4 + (int)param_1[0x22];\n  }\n  uVar6 = FUN_001e0b10(param_1 + 0x1f,uVar4);\n  if (param_1[5] == 0) goto LAB_001e7390;\n  lVar7 = FUN_0018a760(param_1[5] + 0x28,param_1[6],uVar6,0x40,1,1);\n  uVar10 = *(ulong *)(lVar7 + 0x20);\n  uVar4 = *(uint *)(local_100 + 0x2c);\n  uVar4 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n  if ((uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n       (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38) / 0x18 <= (ulong)uVar4) {\n    uVar6 = gettext("section group %u info %u out of range");\n    uVar15 = uVar4;\nLAB_001e6ed5:\n    FUN_001d19e0(param_1,uVar6,param_4,uVar15);\n    return '\0';\n  }\n  uVar10 = *(ulong *)(lVar7 + 0x18);\n  if (param_1[5] == 0) goto LAB_001e7390;\n  puVar8 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],\n                                (ulong)(uVar4 * 0x18) +\n                                (uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38),0x18,1,0);\n  uVar15 = *(uint *)(lVar7 + 0x28);\n  uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n  if (0xfeff < uVar15) {\n    FUN_001dab60(param_1 + 0x1f);\n    uVar15 = uVar15 + (int)param_1[0x22];\n  }\n  if (*(code **)(*param_1 + 0x70) == FUN_001e0d50) {\n    auVar16 = FUN_001e0ca0(param_1 + 0x1f,uVar15);\n    local_f8 = auVar16._8_8_;\n    puVar13 = &DAT_00393c8a;\n    if (local_f8 != 0) {\n      if (param_1[5] == 0) goto LAB_001e7390;\n      puVar13 = (undefined4 *)FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar16._0_8_,local_f8,1,1);\n    }\n  }\n  else {\n    puVar13 = (undefined4 *)(**(code **)(*param_1 + 0x70))(param_1,uVar15,&local_f8,1);\n  }\n  uVar15 = *puVar8;\n  uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n  if (local_f8 <= uVar15) {\n    uVar6 = gettext("symbol %u name offset %u out of range");\n    param_4 = uVar4;\n    goto LAB_001e6ed5;\n  }\n  uStack_1a0 = 0x1e6c17;\n  FUN_001d26c0(local_c8,(long)puVar13 + (ulong)uVar15);\n  uVar6 = extraout_RDX;\n  if ((*local_c8[0] == '\0') && ((puVar8[1] & 0xf) == 3)) {\n    uVar3 = *(ushort *)((long)puVar8 + 6) << 8 | *(ushort *)((long)puVar8 + 6) >> 8;\n    uVar15 = (uint)uVar3;\n    if (uVar15 < 0xff00) {\n      local_68[0] = (undefined1 *)CONCAT71(local_68[0]._1_7_,1);\nLAB_001e6f84:\n      if (uVar15 < *(uint *)(param_1 + 7)) {\n        uVar15 = *(uint *)(param_6 + (ulong)(uVar15 << 6));\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n                    \n          uStack_1a0 = 0x1e6fbf;\n          FUN_002f9af0(local_c8,uVar10 + param_7);\n          uVar6 = extraout_RDX_00;\n        }\n        goto LAB_001e6c3f;\n      }\n    }\n    else if (uVar3 == 0xffff) {\n      uStack_1a0 = 0x1e737b;\n      uVar15 = FUN_001d1b60(param_1,uVar4,local_68);\n      uVar6 = extraout_RDX_02;\n      if ((char)local_68[0] != '\0') goto LAB_001e6f84;\n    }\n    else {\n      local_68[0] = (undefined1 *)((ulong)local_68[0]._1_7_ << 8);\n    }\n    uVar6 = gettext("symbol %u invalid section index %u");\n                    \n    FUN_001d19e0(param_1,uVar6,uVar4,uVar15);\nLAB_001e735d:\n    local_121 = '\0';\n    goto LAB_001e70e8;\n  }\nLAB_001e6c3f:\n  local_f0 = 0;\n  if ((uVar1 >> 0x18 & 1) == 0) {\n    uVar10 = *(ulong *)(local_100 + 0x20);\n    local_122 = '\0';\n    local_118 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28\n                | uVar10 << 0x38;\n    uStack_1a0 = uVar6;\nLAB_001e6c9f:\n    local_118 = local_118 >> 2;\n    local_d8 = (uint *)0x0;\n    local_e0 = (uint *)0x0;\n    local_e8 = 0;\n    if (*(long *)(PTR_DAT_0045c708 + 0x10) == 0) {\n                    \n                    \n      FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n    }\n    cVar14 = *(char *)(*(long *)(PTR_DAT_0045c708 + 0x10) + 0x5051);\n    if (cVar14 != '\0') {\n                    \n      FUN_001da300(&local_e8,local_118 - 1,uStack_1a0);\n      local_121 = cVar14;\n      if (1 < local_118) goto LAB_001e6cd9;\n      goto LAB_001e7093;\n    }\n    local_121 = '\x01';\n    if (1 < local_118) goto LAB_001e6cd9;\n  }\n  else {\n                    \n    local_122 = FUN_001c1720(param_3,local_c8,param_1,param_4,1,1,&local_f0);\n    if (local_122 != '\0') {\n      if (*(long *)(param_3 + 0x378) != 0) {\n        FUN_00197030(*(long *)(param_3 + 0x378),param_1,local_c8[0]);\n        uStack_1a0 = extraout_RDX_01;\n      }\n      uVar10 = *(ulong *)(local_100 + 0x20);\n      local_118 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                  (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                  (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                  (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n      goto LAB_001e6c9f;\n    }\n    local_e8 = 0;\n    local_e0 = (uint *)0x0;\n    local_d8 = (uint *)0x0;\n    uVar10 = *(ulong *)(local_100 + 0x20);\n    local_118 = (uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38) >> 2;\n    if (local_118 < 2) goto LAB_001e735d;\n    local_121 = '\0';\n    local_122 = '\x01';\n    cVar14 = '\0';\nLAB_001e6cd9:\n    local_110 = (long *)0x1;\n    do {\n      uVar15 = puVar5[(long)local_110];\n      uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n      if (uVar15 < 0xff00) {\n        local_104 = uVar15;\n        if (cVar14 != '\0') goto LAB_001e6e26;\nLAB_001e6d30:\n        if (*(uint *)(param_1 + 7) <= local_104) goto LAB_001e6e59;\nLAB_001e6d3a:\n        uVar15 = local_104;\n        if (local_104 < param_4) {\n          uVar6 = gettext("invalid section group %u refers to earlier section %u");\n                    \n          FUN_001d19e0(param_1,uVar6,param_4,uVar15);\n        }\n        puVar8 = (uint *)((ulong)(local_104 << 6) + param_6);\n        uVar15 = *puVar8;\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n          pcVar12 = (char *)0xffffffffffffffff;\n          __s = (char *)(uVar10 + param_7);\n          local_a8 = auStack_98;\n          if (__s != (char *)0x0) {\n            sVar9 = strlen(__s);\n            pcVar12 = __s + sVar9;\n          }\n                    \n          FUN_00174550(&local_a8,__s,pcVar12);\n          uVar15 = local_104;\n          if (local_121 == '\0') {\n            puVar11 = (ulong *)((ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9);\n            *puVar11 = *puVar11 | 1L << ((byte)local_104 & 0x3f);\n            if ((local_122 != '\0') && ((local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0')))) {\n              uVar10 = *(ulong *)(puVar8 + 8);\n              local_78 = local_f0;\n              local_88[0] = local_104;\n              local_80 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n              local_6c = 1;\n              local_70 = uVar4;\n                    \n              FUN_001e2560(param_1 + 0x36,local_88);\n            }\n          }\n          else if (local_122 != '\0') {\n            uVar10 = *(ulong *)(puVar8 + 8);\n            if (*(char *)(local_f0 + 0xc) == '\0') {\n                    \n                    \n              FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            uVar6 = *(undefined8 *)(local_f0 + 0x10);\n            local_68[0] = local_58;\n                    \n            FUN_0017d640(local_68,local_a8,local_a8 + local_a0);\n            local_48 = uVar15;\n            local_40 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n                    \n            FUN_001d9dc0(uVar6,local_68);\n            if (local_68[0] != local_58) {\n              FUN_002f1e60();\n            }\n          }\n          if (local_a8 != auStack_98) {\n            FUN_002f1e60();\n          }\n        }\n      }\n      else {\n        FUN_001dab60(param_1 + 0x1f);\n        uVar15 = uVar15 + (int)param_1[0x22];\n        local_104 = uVar15;\n        if (cVar14 == '\0') goto LAB_001e6d30;\nLAB_001e6e26:\n        local_104 = uVar15;\n        if (local_e0 == local_d8) {\n                    \n          FUN_001a8910(&local_e8,local_e0,&local_104);\n          goto LAB_001e6d30;\n        }\n        *local_e0 = uVar15;\n        local_e0 = local_e0 + 1;\n        if (uVar15 < *(uint *)(param_1 + 7)) goto LAB_001e6d3a;\nLAB_001e6e59:\n        uVar15 = local_104;\n        uVar6 = gettext("section %u in section group %u out of range");\n        FUN_001d19e0(param_1,uVar6,uVar15,param_4);\n      }\n      local_110 = (long *)((long)local_110 + 1);\n    } while (local_110 < local_118);\n    if (cVar14 != '\0') {\nLAB_001e7093:\n      local_110 = &local_e8;\n                    \n      FUN_001caee0(param_3,param_2,param_1,param_4,param_5,local_c8[0],&local_100,\n                   uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                   local_110);\n    }\n  }\n  if (local_e8 != 0) {\n    FUN_002f1e60();\n  }\nLAB_001e70e8:\n  if (local_c8[0] != acStack_b8) {\n    FUN_002f1e60();\n  }\n  return local_121;\n}" primitive_type (function_declarator "FUN_001e6a30(long *param_1,undefined8 param_2,long param_3,uint param_4,undefined8 param_5,\n                 long param_6,long param_7,ulong param_8,long *param_9)" identifier (parameter_list "(long *param_1,undefined8 param_2,long param_3,uint param_4,undefined8 param_5,\n                 long param_6,long param_7,ulong param_8,long *param_9)" ( (parameter_declaration "long *param_1" (sized_type_specifier "long" long) (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined8 param_2" type_identifier identifier) , (parameter_declaration "long param_3" (sized_type_specifier "long" long) identifier) , (parameter_declaration "uint param_4" type_identifier identifier) , (parameter_declaration "undefined8 param_5" type_identifier identifier) , (parameter_declaration "long param_6" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long param_7" (sized_type_specifier "long" long) identifier) , (parameter_declaration "ulong param_8" type_identifier identifier) , (parameter_declaration "long *param_9" (sized_type_specifier "long" long) (pointer_declarator "*param_9" * identifier)) ))) (compound_statement "{\n  uint uVar1;\n  ulong uVar2;\n  ushort uVar3;\n  uint uVar4;\n  uint *puVar5;\n  undefined8 uVar6;\n  long lVar7;\n  uint *puVar8;\n  size_t sVar9;\n  ulong uVar10;\n  ulong *puVar11;\n  undefined8 extraout_RDX;\n  char *pcVar12;\n  undefined8 extraout_RDX_00;\n  undefined8 extraout_RDX_01;\n  undefined8 extraout_RDX_02;\n  undefined4 *puVar13;\n  char *__s;\n  char cVar14;\n  uint uVar15;\n  undefined1 auVar16 [16];\n  undefined8 uStack_1a0;\n  char local_122;\n  char local_121;\n  ulong local_118;\n  long *local_110;\n  uint local_104;\n  long local_100;\n  ulong local_f8;\n  long local_f0;\n  long local_e8;\n  uint *local_e0;\n  uint *local_d8;\n  char *local_c8 [2];\n  char acStack_b8 [16];\n  undefined1 *local_a8;\n  long local_a0;\n  undefined1 auStack_98 [16];\n  uint local_88 [2];\n  ulong local_80;\n  long local_78;\n  uint local_70;\n  undefined1 local_6c;\n  undefined1 *local_68 [2];\n  undefined1 local_58 [16];\n  uint local_48;\n  ulong local_40;\n  \n  local_100 = (ulong)(param_4 << 6) + param_6;\n  uVar10 = *(ulong *)(local_100 + 0x20);\n  uVar2 = *(ulong *)(local_100 + 0x18);\n  if (param_1[5] == 0) {\nLAB_001e7390:\n                    \n    FUN_001d17f0();\n  }\n  puVar5 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],\n                                uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 |\n                                (uVar2 & 0xff0000000000) >> 0x18 | (uVar2 & 0xff00000000) >> 8 |\n                                (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n                                (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38,\n                                uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38,1,0);\n  uVar1 = *puVar5;\n  uVar4 = *(uint *)(local_100 + 0x28);\n  uVar4 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n  if (0xfeff < uVar4) {\n    FUN_001dab60(param_1 + 0x1f);\n    uVar4 = uVar4 + (int)param_1[0x22];\n  }\n  uVar6 = FUN_001e0b10(param_1 + 0x1f,uVar4);\n  if (param_1[5] == 0) goto LAB_001e7390;\n  lVar7 = FUN_0018a760(param_1[5] + 0x28,param_1[6],uVar6,0x40,1,1);\n  uVar10 = *(ulong *)(lVar7 + 0x20);\n  uVar4 = *(uint *)(local_100 + 0x2c);\n  uVar4 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n  if ((uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n       (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38) / 0x18 <= (ulong)uVar4) {\n    uVar6 = gettext("section group %u info %u out of range");\n    uVar15 = uVar4;\nLAB_001e6ed5:\n    FUN_001d19e0(param_1,uVar6,param_4,uVar15);\n    return '\0';\n  }\n  uVar10 = *(ulong *)(lVar7 + 0x18);\n  if (param_1[5] == 0) goto LAB_001e7390;\n  puVar8 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],\n                                (ulong)(uVar4 * 0x18) +\n                                (uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38),0x18,1,0);\n  uVar15 = *(uint *)(lVar7 + 0x28);\n  uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n  if (0xfeff < uVar15) {\n    FUN_001dab60(param_1 + 0x1f);\n    uVar15 = uVar15 + (int)param_1[0x22];\n  }\n  if (*(code **)(*param_1 + 0x70) == FUN_001e0d50) {\n    auVar16 = FUN_001e0ca0(param_1 + 0x1f,uVar15);\n    local_f8 = auVar16._8_8_;\n    puVar13 = &DAT_00393c8a;\n    if (local_f8 != 0) {\n      if (param_1[5] == 0) goto LAB_001e7390;\n      puVar13 = (undefined4 *)FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar16._0_8_,local_f8,1,1);\n    }\n  }\n  else {\n    puVar13 = (undefined4 *)(**(code **)(*param_1 + 0x70))(param_1,uVar15,&local_f8,1);\n  }\n  uVar15 = *puVar8;\n  uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n  if (local_f8 <= uVar15) {\n    uVar6 = gettext("symbol %u name offset %u out of range");\n    param_4 = uVar4;\n    goto LAB_001e6ed5;\n  }\n  uStack_1a0 = 0x1e6c17;\n  FUN_001d26c0(local_c8,(long)puVar13 + (ulong)uVar15);\n  uVar6 = extraout_RDX;\n  if ((*local_c8[0] == '\0') && ((puVar8[1] & 0xf) == 3)) {\n    uVar3 = *(ushort *)((long)puVar8 + 6) << 8 | *(ushort *)((long)puVar8 + 6) >> 8;\n    uVar15 = (uint)uVar3;\n    if (uVar15 < 0xff00) {\n      local_68[0] = (undefined1 *)CONCAT71(local_68[0]._1_7_,1);\nLAB_001e6f84:\n      if (uVar15 < *(uint *)(param_1 + 7)) {\n        uVar15 = *(uint *)(param_6 + (ulong)(uVar15 << 6));\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n                    \n          uStack_1a0 = 0x1e6fbf;\n          FUN_002f9af0(local_c8,uVar10 + param_7);\n          uVar6 = extraout_RDX_00;\n        }\n        goto LAB_001e6c3f;\n      }\n    }\n    else if (uVar3 == 0xffff) {\n      uStack_1a0 = 0x1e737b;\n      uVar15 = FUN_001d1b60(param_1,uVar4,local_68);\n      uVar6 = extraout_RDX_02;\n      if ((char)local_68[0] != '\0') goto LAB_001e6f84;\n    }\n    else {\n      local_68[0] = (undefined1 *)((ulong)local_68[0]._1_7_ << 8);\n    }\n    uVar6 = gettext("symbol %u invalid section index %u");\n                    \n    FUN_001d19e0(param_1,uVar6,uVar4,uVar15);\nLAB_001e735d:\n    local_121 = '\0';\n    goto LAB_001e70e8;\n  }\nLAB_001e6c3f:\n  local_f0 = 0;\n  if ((uVar1 >> 0x18 & 1) == 0) {\n    uVar10 = *(ulong *)(local_100 + 0x20);\n    local_122 = '\0';\n    local_118 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28\n                | uVar10 << 0x38;\n    uStack_1a0 = uVar6;\nLAB_001e6c9f:\n    local_118 = local_118 >> 2;\n    local_d8 = (uint *)0x0;\n    local_e0 = (uint *)0x0;\n    local_e8 = 0;\n    if (*(long *)(PTR_DAT_0045c708 + 0x10) == 0) {\n                    \n                    \n      FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n    }\n    cVar14 = *(char *)(*(long *)(PTR_DAT_0045c708 + 0x10) + 0x5051);\n    if (cVar14 != '\0') {\n                    \n      FUN_001da300(&local_e8,local_118 - 1,uStack_1a0);\n      local_121 = cVar14;\n      if (1 < local_118) goto LAB_001e6cd9;\n      goto LAB_001e7093;\n    }\n    local_121 = '\x01';\n    if (1 < local_118) goto LAB_001e6cd9;\n  }\n  else {\n                    \n    local_122 = FUN_001c1720(param_3,local_c8,param_1,param_4,1,1,&local_f0);\n    if (local_122 != '\0') {\n      if (*(long *)(param_3 + 0x378) != 0) {\n        FUN_00197030(*(long *)(param_3 + 0x378),param_1,local_c8[0]);\n        uStack_1a0 = extraout_RDX_01;\n      }\n      uVar10 = *(ulong *)(local_100 + 0x20);\n      local_118 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                  (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                  (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                  (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n      goto LAB_001e6c9f;\n    }\n    local_e8 = 0;\n    local_e0 = (uint *)0x0;\n    local_d8 = (uint *)0x0;\n    uVar10 = *(ulong *)(local_100 + 0x20);\n    local_118 = (uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38) >> 2;\n    if (local_118 < 2) goto LAB_001e735d;\n    local_121 = '\0';\n    local_122 = '\x01';\n    cVar14 = '\0';\nLAB_001e6cd9:\n    local_110 = (long *)0x1;\n    do {\n      uVar15 = puVar5[(long)local_110];\n      uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n      if (uVar15 < 0xff00) {\n        local_104 = uVar15;\n        if (cVar14 != '\0') goto LAB_001e6e26;\nLAB_001e6d30:\n        if (*(uint *)(param_1 + 7) <= local_104) goto LAB_001e6e59;\nLAB_001e6d3a:\n        uVar15 = local_104;\n        if (local_104 < param_4) {\n          uVar6 = gettext("invalid section group %u refers to earlier section %u");\n                    \n          FUN_001d19e0(param_1,uVar6,param_4,uVar15);\n        }\n        puVar8 = (uint *)((ulong)(local_104 << 6) + param_6);\n        uVar15 = *puVar8;\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n          pcVar12 = (char *)0xffffffffffffffff;\n          __s = (char *)(uVar10 + param_7);\n          local_a8 = auStack_98;\n          if (__s != (char *)0x0) {\n            sVar9 = strlen(__s);\n            pcVar12 = __s + sVar9;\n          }\n                    \n          FUN_00174550(&local_a8,__s,pcVar12);\n          uVar15 = local_104;\n          if (local_121 == '\0') {\n            puVar11 = (ulong *)((ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9);\n            *puVar11 = *puVar11 | 1L << ((byte)local_104 & 0x3f);\n            if ((local_122 != '\0') && ((local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0')))) {\n              uVar10 = *(ulong *)(puVar8 + 8);\n              local_78 = local_f0;\n              local_88[0] = local_104;\n              local_80 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n              local_6c = 1;\n              local_70 = uVar4;\n                    \n              FUN_001e2560(param_1 + 0x36,local_88);\n            }\n          }\n          else if (local_122 != '\0') {\n            uVar10 = *(ulong *)(puVar8 + 8);\n            if (*(char *)(local_f0 + 0xc) == '\0') {\n                    \n                    \n              FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            uVar6 = *(undefined8 *)(local_f0 + 0x10);\n            local_68[0] = local_58;\n                    \n            FUN_0017d640(local_68,local_a8,local_a8 + local_a0);\n            local_48 = uVar15;\n            local_40 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n                    \n            FUN_001d9dc0(uVar6,local_68);\n            if (local_68[0] != local_58) {\n              FUN_002f1e60();\n            }\n          }\n          if (local_a8 != auStack_98) {\n            FUN_002f1e60();\n          }\n        }\n      }\n      else {\n        FUN_001dab60(param_1 + 0x1f);\n        uVar15 = uVar15 + (int)param_1[0x22];\n        local_104 = uVar15;\n        if (cVar14 == '\0') goto LAB_001e6d30;\nLAB_001e6e26:\n        local_104 = uVar15;\n        if (local_e0 == local_d8) {\n                    \n          FUN_001a8910(&local_e8,local_e0,&local_104);\n          goto LAB_001e6d30;\n        }\n        *local_e0 = uVar15;\n        local_e0 = local_e0 + 1;\n        if (uVar15 < *(uint *)(param_1 + 7)) goto LAB_001e6d3a;\nLAB_001e6e59:\n        uVar15 = local_104;\n        uVar6 = gettext("section %u in section group %u out of range");\n        FUN_001d19e0(param_1,uVar6,uVar15,param_4);\n      }\n      local_110 = (long *)((long)local_110 + 1);\n    } while (local_110 < local_118);\n    if (cVar14 != '\0') {\nLAB_001e7093:\n      local_110 = &local_e8;\n                    \n      FUN_001caee0(param_3,param_2,param_1,param_4,param_5,local_c8[0],&local_100,\n                   uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                   local_110);\n    }\n  }\n  if (local_e8 != 0) {\n    FUN_002f1e60();\n  }\nLAB_001e70e8:\n  if (local_c8[0] != acStack_b8) {\n    FUN_002f1e60();\n  }\n  return local_121;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "ulong uVar2;" type_identifier identifier ;) (declaration "ushort uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined8 uVar6;" type_identifier identifier ;) (declaration "long lVar7;" (sized_type_specifier "long" long) identifier ;) (declaration "uint *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "size_t sVar9;" primitive_type identifier ;) (declaration "ulong uVar10;" type_identifier identifier ;) (declaration "ulong *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "undefined8 extraout_RDX;" type_identifier identifier ;) (declaration "char *pcVar12;" primitive_type (pointer_declarator "*pcVar12" * identifier) ;) (declaration "undefined8 extraout_RDX_00;" type_identifier identifier ;) (declaration "undefined8 extraout_RDX_01;" type_identifier identifier ;) (declaration "undefined8 extraout_RDX_02;" type_identifier identifier ;) (declaration "undefined4 *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "char *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "char cVar14;" primitive_type identifier ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "undefined1 auVar16 [16];" type_identifier (array_declarator "auVar16 [16]" identifier [ number_literal ]) ;) (declaration "undefined8 uStack_1a0;" type_identifier identifier ;) (declaration "char local_122;" primitive_type identifier ;) (declaration "char local_121;" primitive_type identifier ;) (declaration "ulong local_118;" type_identifier identifier ;) (declaration "long *local_110;" (sized_type_specifier "long" long) (pointer_declarator "*local_110" * identifier) ;) (declaration "uint local_104;" type_identifier identifier ;) (declaration "long local_100;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong local_f8;" type_identifier identifier ;) (declaration "long local_f0;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_e8;" (sized_type_specifier "long" long) identifier ;) (declaration "uint *local_e0;" type_identifier (pointer_declarator "*local_e0" * identifier) ;) (declaration "uint *local_d8;" type_identifier (pointer_declarator "*local_d8" * identifier) ;) (declaration "char *local_c8 [2];" primitive_type (pointer_declarator "*local_c8 [2]" * (array_declarator "local_c8 [2]" identifier [ number_literal ])) ;) (declaration "char acStack_b8 [16];" primitive_type (array_declarator "acStack_b8 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 *local_a8;" type_identifier (pointer_declarator "*local_a8" * identifier) ;) (declaration "long local_a0;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined1 auStack_98 [16];" type_identifier (array_declarator "auStack_98 [16]" identifier [ number_literal ]) ;) (declaration "uint local_88 [2];" type_identifier (array_declarator "local_88 [2]" identifier [ number_literal ]) ;) (declaration "ulong local_80;" type_identifier identifier ;) (declaration "long local_78;" (sized_type_specifier "long" long) identifier ;) (declaration "uint local_70;" type_identifier identifier ;) (declaration "undefined1 local_6c;" type_identifier identifier ;) (declaration "undefined1 *local_68 [2];" type_identifier (pointer_declarator "*local_68 [2]" * (array_declarator "local_68 [2]" identifier [ number_literal ])) ;) (declaration "undefined1 local_58 [16];" type_identifier (array_declarator "local_58 [16]" identifier [ number_literal ]) ;) (declaration "uint local_48;" type_identifier identifier ;) (declaration "ulong local_40;" type_identifier identifier ;) (expression_statement "local_100 = (ulong)(param_4 << 6) + param_6;" (assignment_expression "local_100 = (ulong)(param_4 << 6) + param_6" identifier = (binary_expression "(ulong)(param_4 << 6) + param_6" (call_expression "(ulong)(param_4 << 6)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(param_4 << 6)" ( (binary_expression "param_4 << 6" identifier << number_literal) ))) + identifier)) ;) (expression_statement "uVar10 = *(ulong *)(local_100 + 0x20);" (assignment_expression "uVar10 = *(ulong *)(local_100 + 0x20)" identifier = (pointer_expression "*(ulong *)(local_100 + 0x20)" * (cast_expression "(ulong *)(local_100 + 0x20)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_100 + 0x20)" ( (binary_expression "local_100 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "uVar2 = *(ulong *)(local_100 + 0x18);" (assignment_expression "uVar2 = *(ulong *)(local_100 + 0x18)" identifier = (pointer_expression "*(ulong *)(local_100 + 0x18)" * (cast_expression "(ulong *)(local_100 + 0x18)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_100 + 0x18)" ( (binary_expression "local_100 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (param_1[5] == 0) {\nLAB_001e7390:\n                    \n    FUN_001d17f0();\n  }" if (parenthesized_expression "(param_1[5] == 0)" ( (binary_expression "param_1[5] == 0" (subscript_expression "param_1[5]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\nLAB_001e7390:\n                    \n    FUN_001d17f0();\n  }" { (labeled_statement "LAB_001e7390:\n                    \n    FUN_001d17f0();" statement_identifier : (expression_statement "FUN_001d17f0();" (call_expression "FUN_001d17f0()" identifier (argument_list "()" ( ))) ;)) })) (expression_statement "puVar5 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],\n                                uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 |\n                                (uVar2 & 0xff0000000000) >> 0x18 | (uVar2 & 0xff00000000) >> 8 |\n                                (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n                                (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38,\n                                uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38,1,0);" (assignment_expression "puVar5 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],\n                                uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 |\n                                (uVar2 & 0xff0000000000) >> 0x18 | (uVar2 & 0xff00000000) >> 8 |\n                                (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n                                (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38,\n                                uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38,1,0)" identifier = (cast_expression "(uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],\n                                uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 |\n                                (uVar2 & 0xff0000000000) >> 0x18 | (uVar2 & 0xff00000000) >> 8 |\n                                (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n                                (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38,\n                                uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38,1,0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0018a760(param_1[5] + 0x28,param_1[6],\n                                uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 |\n                                (uVar2 & 0xff0000000000) >> 0x18 | (uVar2 & 0xff00000000) >> 8 |\n                                (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n                                (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38,\n                                uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38,1,0)" identifier (argument_list "(param_1[5] + 0x28,param_1[6],\n                                uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 |\n                                (uVar2 & 0xff0000000000) >> 0x18 | (uVar2 & 0xff00000000) >> 8 |\n                                (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n                                (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38,\n                                uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38,1,0)" ( (binary_expression "param_1[5] + 0x28" (subscript_expression "param_1[5]" identifier [ number_literal ]) + number_literal) , (subscript_expression "param_1[6]" identifier [ number_literal ]) , (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 |\n                                (uVar2 & 0xff0000000000) >> 0x18 | (uVar2 & 0xff00000000) >> 8 |\n                                (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n                                (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 |\n                                (uVar2 & 0xff0000000000) >> 0x18 | (uVar2 & 0xff00000000) >> 8 |\n                                (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n                                (uVar2 & 0xff00) << 0x28" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 |\n                                (uVar2 & 0xff0000000000) >> 0x18 | (uVar2 & 0xff00000000) >> 8 |\n                                (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 |\n                                (uVar2 & 0xff0000000000) >> 0x18 | (uVar2 & 0xff00000000) >> 8 |\n                                (uVar2 & 0xff000000) << 8" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 |\n                                (uVar2 & 0xff0000000000) >> 0x18 | (uVar2 & 0xff00000000) >> 8" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 |\n                                (uVar2 & 0xff0000000000) >> 0x18" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28" (binary_expression "uVar2 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar2 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar2 & 0xff000000000000)" ( (binary_expression "uVar2 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar2 & 0xff0000000000)" ( (binary_expression "uVar2 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff00000000) >> 8" (parenthesized_expression "(uVar2 & 0xff00000000)" ( (binary_expression "uVar2 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff000000) << 8" (parenthesized_expression "(uVar2 & 0xff000000)" ( (binary_expression "uVar2 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar2 & 0xff0000) << 0x18" (parenthesized_expression "(uVar2 & 0xff0000)" ( (binary_expression "uVar2 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar2 & 0xff00) << 0x28" (parenthesized_expression "(uVar2 & 0xff00)" ( (binary_expression "uVar2 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar2 << 0x38" identifier << number_literal)) , (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                (uVar10 & 0xff00) << 0x28" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                (uVar10 & 0xff000000) << 8" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                (uVar10 & 0xff0000000000) >> 0x18" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28" (binary_expression "uVar10 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar10 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar10 & 0xff000000000000)" ( (binary_expression "uVar10 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar10 & 0xff0000000000)" ( (binary_expression "uVar10 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff00000000) >> 8" (parenthesized_expression "(uVar10 & 0xff00000000)" ( (binary_expression "uVar10 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff000000) << 8" (parenthesized_expression "(uVar10 & 0xff000000)" ( (binary_expression "uVar10 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar10 & 0xff0000) << 0x18" (parenthesized_expression "(uVar10 & 0xff0000)" ( (binary_expression "uVar10 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar10 & 0xff00) << 0x28" (parenthesized_expression "(uVar10 & 0xff00)" ( (binary_expression "uVar10 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar10 << 0x38" identifier << number_literal)) , number_literal , number_literal ))))) ;) (expression_statement "uVar1 = *puVar5;" (assignment_expression "uVar1 = *puVar5" identifier = (pointer_expression "*puVar5" * identifier)) ;) (expression_statement "uVar4 = *(uint *)(local_100 + 0x28);" (assignment_expression "uVar4 = *(uint *)(local_100 + 0x28)" identifier = (pointer_expression "*(uint *)(local_100 + 0x28)" * (cast_expression "(uint *)(local_100 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_100 + 0x28)" ( (binary_expression "local_100 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "uVar4 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;" (assignment_expression "uVar4 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18" identifier = (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18" (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8" (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8" (binary_expression "uVar4 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar4 & 0xff0000) >> 8" (parenthesized_expression "(uVar4 & 0xff0000)" ( (binary_expression "uVar4 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar4 & 0xff00) << 8" (parenthesized_expression "(uVar4 & 0xff00)" ( (binary_expression "uVar4 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar4 << 0x18" identifier << number_literal))) ;) (if_statement "if (0xfeff < uVar4) {\n    FUN_001dab60(param_1 + 0x1f);\n    uVar4 = uVar4 + (int)param_1[0x22];\n  }" if (parenthesized_expression "(0xfeff < uVar4)" ( (binary_expression "0xfeff < uVar4" number_literal < identifier) )) (compound_statement "{\n    FUN_001dab60(param_1 + 0x1f);\n    uVar4 = uVar4 + (int)param_1[0x22];\n  }" { (expression_statement "FUN_001dab60(param_1 + 0x1f);" (call_expression "FUN_001dab60(param_1 + 0x1f)" identifier (argument_list "(param_1 + 0x1f)" ( (binary_expression "param_1 + 0x1f" identifier + number_literal) ))) ;) (expression_statement "uVar4 = uVar4 + (int)param_1[0x22];" (assignment_expression "uVar4 = uVar4 + (int)param_1[0x22]" identifier = (binary_expression "uVar4 + (int)param_1[0x22]" identifier + (cast_expression "(int)param_1[0x22]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_1[0x22]" identifier [ number_literal ])))) ;) })) (expression_statement "uVar6 = FUN_001e0b10(param_1 + 0x1f,uVar4);" (assignment_expression "uVar6 = FUN_001e0b10(param_1 + 0x1f,uVar4)" identifier = (call_expression "FUN_001e0b10(param_1 + 0x1f,uVar4)" identifier (argument_list "(param_1 + 0x1f,uVar4)" ( (binary_expression "param_1 + 0x1f" identifier + number_literal) , identifier )))) ;) (if_statement "if (param_1[5] == 0) goto LAB_001e7390;" if (parenthesized_expression "(param_1[5] == 0)" ( (binary_expression "param_1[5] == 0" (subscript_expression "param_1[5]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_001e7390;" goto statement_identifier ;)) (expression_statement "lVar7 = FUN_0018a760(param_1[5] + 0x28,param_1[6],uVar6,0x40,1,1);" (assignment_expression "lVar7 = FUN_0018a760(param_1[5] + 0x28,param_1[6],uVar6,0x40,1,1)" identifier = (call_expression "FUN_0018a760(param_1[5] + 0x28,param_1[6],uVar6,0x40,1,1)" identifier (argument_list "(param_1[5] + 0x28,param_1[6],uVar6,0x40,1,1)" ( (binary_expression "param_1[5] + 0x28" (subscript_expression "param_1[5]" identifier [ number_literal ]) + number_literal) , (subscript_expression "param_1[6]" identifier [ number_literal ]) , identifier , number_literal , number_literal , number_literal )))) ;) (expression_statement "uVar10 = *(ulong *)(lVar7 + 0x20);" (assignment_expression "uVar10 = *(ulong *)(lVar7 + 0x20)" identifier = (pointer_expression "*(ulong *)(lVar7 + 0x20)" * (cast_expression "(ulong *)(lVar7 + 0x20)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar7 + 0x20)" ( (binary_expression "lVar7 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "uVar4 = *(uint *)(local_100 + 0x2c);" (assignment_expression "uVar4 = *(uint *)(local_100 + 0x2c)" identifier = (pointer_expression "*(uint *)(local_100 + 0x2c)" * (cast_expression "(uint *)(local_100 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_100 + 0x2c)" ( (binary_expression "local_100 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "uVar4 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;" (assignment_expression "uVar4 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18" identifier = (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18" (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8" (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8" (binary_expression "uVar4 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar4 & 0xff0000) >> 8" (parenthesized_expression "(uVar4 & 0xff0000)" ( (binary_expression "uVar4 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar4 & 0xff00) << 8" (parenthesized_expression "(uVar4 & 0xff00)" ( (binary_expression "uVar4 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar4 << 0x18" identifier << number_literal))) ;) (if_statement "if ((uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n       (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38) / 0x18 <= (ulong)uVar4) {\n    uVar6 = gettext("section group %u info %u out of range");\n    uVar15 = uVar4;\nLAB_001e6ed5:\n    FUN_001d19e0(param_1,uVar6,param_4,uVar15);\n    return '\0';\n  }" if (parenthesized_expression "((uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n       (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38) / 0x18 <= (ulong)uVar4)" ( (binary_expression "(uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n       (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38) / 0x18 <= (ulong)uVar4" (binary_expression "(uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n       (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38) / 0x18" (parenthesized_expression "(uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n       (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38)" ( (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n       (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n       (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n       (uVar10 & 0xff00) << 0x28" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n       (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n       (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n       (uVar10 & 0xff00000000) >> 8" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28" (binary_expression "uVar10 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar10 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar10 & 0xff000000000000)" ( (binary_expression "uVar10 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar10 & 0xff0000000000)" ( (binary_expression "uVar10 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff00000000) >> 8" (parenthesized_expression "(uVar10 & 0xff00000000)" ( (binary_expression "uVar10 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff000000) << 8" (parenthesized_expression "(uVar10 & 0xff000000)" ( (binary_expression "uVar10 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar10 & 0xff0000) << 0x18" (parenthesized_expression "(uVar10 & 0xff0000)" ( (binary_expression "uVar10 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar10 & 0xff00) << 0x28" (parenthesized_expression "(uVar10 & 0xff00)" ( (binary_expression "uVar10 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar10 << 0x38" identifier << number_literal)) )) / number_literal) <= (cast_expression "(ulong)uVar4" ( (type_descriptor "ulong" type_identifier) ) identifier)) )) (compound_statement "{\n    uVar6 = gettext("section group %u info %u out of range");\n    uVar15 = uVar4;\nLAB_001e6ed5:\n    FUN_001d19e0(param_1,uVar6,param_4,uVar15);\n    return '\0';\n  }" { (expression_statement "uVar6 = gettext("section group %u info %u out of range");" (assignment_expression "uVar6 = gettext("section group %u info %u out of range")" identifier = (call_expression "gettext("section group %u info %u out of range")" identifier (argument_list "("section group %u info %u out of range")" ( (string_literal ""section group %u info %u out of range"" " string_content ") )))) ;) (expression_statement "uVar15 = uVar4;" (assignment_expression "uVar15 = uVar4" identifier = identifier) ;) (labeled_statement "LAB_001e6ed5:\n    FUN_001d19e0(param_1,uVar6,param_4,uVar15);" statement_identifier : (expression_statement "FUN_001d19e0(param_1,uVar6,param_4,uVar15);" (call_expression "FUN_001d19e0(param_1,uVar6,param_4,uVar15)" identifier (argument_list "(param_1,uVar6,param_4,uVar15)" ( identifier , identifier , identifier , identifier ))) ;)) (return_statement "return '\0';" return (char_literal "'\0'" ' escape_sequence ') ;) })) (expression_statement "uVar10 = *(ulong *)(lVar7 + 0x18);" (assignment_expression "uVar10 = *(ulong *)(lVar7 + 0x18)" identifier = (pointer_expression "*(ulong *)(lVar7 + 0x18)" * (cast_expression "(ulong *)(lVar7 + 0x18)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar7 + 0x18)" ( (binary_expression "lVar7 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (param_1[5] == 0) goto LAB_001e7390;" if (parenthesized_expression "(param_1[5] == 0)" ( (binary_expression "param_1[5] == 0" (subscript_expression "param_1[5]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_001e7390;" goto statement_identifier ;)) (expression_statement "puVar8 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],\n                                (ulong)(uVar4 * 0x18) +\n                                (uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38),0x18,1,0);" (assignment_expression "puVar8 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],\n                                (ulong)(uVar4 * 0x18) +\n                                (uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38),0x18,1,0)" identifier = (cast_expression "(uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],\n                                (ulong)(uVar4 * 0x18) +\n                                (uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38),0x18,1,0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0018a760(param_1[5] + 0x28,param_1[6],\n                                (ulong)(uVar4 * 0x18) +\n                                (uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38),0x18,1,0)" identifier (argument_list "(param_1[5] + 0x28,param_1[6],\n                                (ulong)(uVar4 * 0x18) +\n                                (uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38),0x18,1,0)" ( (binary_expression "param_1[5] + 0x28" (subscript_expression "param_1[5]" identifier [ number_literal ]) + number_literal) , (subscript_expression "param_1[6]" identifier [ number_literal ]) , (binary_expression "(ulong)(uVar4 * 0x18) +\n                                (uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38)" (call_expression "(ulong)(uVar4 * 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar4 * 0x18)" ( (binary_expression "uVar4 * 0x18" identifier * number_literal) ))) + (parenthesized_expression "(uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38)" ( (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                 (uVar10 & 0xff00) << 0x28" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                 (uVar10 & 0xff000000) << 8" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                 (uVar10 & 0xff0000000000) >> 0x18" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28" (binary_expression "uVar10 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar10 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar10 & 0xff000000000000)" ( (binary_expression "uVar10 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar10 & 0xff0000000000)" ( (binary_expression "uVar10 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff00000000) >> 8" (parenthesized_expression "(uVar10 & 0xff00000000)" ( (binary_expression "uVar10 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff000000) << 8" (parenthesized_expression "(uVar10 & 0xff000000)" ( (binary_expression "uVar10 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar10 & 0xff0000) << 0x18" (parenthesized_expression "(uVar10 & 0xff0000)" ( (binary_expression "uVar10 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar10 & 0xff00) << 0x28" (parenthesized_expression "(uVar10 & 0xff00)" ( (binary_expression "uVar10 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar10 << 0x38" identifier << number_literal)) ))) , number_literal , number_literal , number_literal ))))) ;) (expression_statement "uVar15 = *(uint *)(lVar7 + 0x28);" (assignment_expression "uVar15 = *(uint *)(lVar7 + 0x28)" identifier = (pointer_expression "*(uint *)(lVar7 + 0x28)" * (cast_expression "(uint *)(lVar7 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar7 + 0x28)" ( (binary_expression "lVar7 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;" (assignment_expression "uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18" identifier = (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18" (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8" (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8" (binary_expression "uVar15 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar15 & 0xff0000) >> 8" (parenthesized_expression "(uVar15 & 0xff0000)" ( (binary_expression "uVar15 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar15 & 0xff00) << 8" (parenthesized_expression "(uVar15 & 0xff00)" ( (binary_expression "uVar15 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar15 << 0x18" identifier << number_literal))) ;) (if_statement "if (0xfeff < uVar15) {\n    FUN_001dab60(param_1 + 0x1f);\n    uVar15 = uVar15 + (int)param_1[0x22];\n  }" if (parenthesized_expression "(0xfeff < uVar15)" ( (binary_expression "0xfeff < uVar15" number_literal < identifier) )) (compound_statement "{\n    FUN_001dab60(param_1 + 0x1f);\n    uVar15 = uVar15 + (int)param_1[0x22];\n  }" { (expression_statement "FUN_001dab60(param_1 + 0x1f);" (call_expression "FUN_001dab60(param_1 + 0x1f)" identifier (argument_list "(param_1 + 0x1f)" ( (binary_expression "param_1 + 0x1f" identifier + number_literal) ))) ;) (expression_statement "uVar15 = uVar15 + (int)param_1[0x22];" (assignment_expression "uVar15 = uVar15 + (int)param_1[0x22]" identifier = (binary_expression "uVar15 + (int)param_1[0x22]" identifier + (cast_expression "(int)param_1[0x22]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_1[0x22]" identifier [ number_literal ])))) ;) })) (if_statement "if (*(code **)(*param_1 + 0x70) == FUN_001e0d50) {\n    auVar16 = FUN_001e0ca0(param_1 + 0x1f,uVar15);\n    local_f8 = auVar16._8_8_;\n    puVar13 = &DAT_00393c8a;\n    if (local_f8 != 0) {\n      if (param_1[5] == 0) goto LAB_001e7390;\n      puVar13 = (undefined4 *)FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar16._0_8_,local_f8,1,1);\n    }\n  }\n  else {\n    puVar13 = (undefined4 *)(**(code **)(*param_1 + 0x70))(param_1,uVar15,&local_f8,1);\n  }" if (parenthesized_expression "(*(code **)(*param_1 + 0x70) == FUN_001e0d50)" ( (binary_expression "*(code **)(*param_1 + 0x70) == FUN_001e0d50" (pointer_expression "*(code **)(*param_1 + 0x70)" * (cast_expression "(code **)(*param_1 + 0x70)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x70)" ( (binary_expression "*param_1 + 0x70" (pointer_expression "*param_1" * identifier) + number_literal) )))) == identifier) )) (compound_statement "{\n    auVar16 = FUN_001e0ca0(param_1 + 0x1f,uVar15);\n    local_f8 = auVar16._8_8_;\n    puVar13 = &DAT_00393c8a;\n    if (local_f8 != 0) {\n      if (param_1[5] == 0) goto LAB_001e7390;\n      puVar13 = (undefined4 *)FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar16._0_8_,local_f8,1,1);\n    }\n  }" { (expression_statement "auVar16 = FUN_001e0ca0(param_1 + 0x1f,uVar15);" (assignment_expression "auVar16 = FUN_001e0ca0(param_1 + 0x1f,uVar15)" identifier = (call_expression "FUN_001e0ca0(param_1 + 0x1f,uVar15)" identifier (argument_list "(param_1 + 0x1f,uVar15)" ( (binary_expression "param_1 + 0x1f" identifier + number_literal) , identifier )))) ;) (expression_statement "local_f8 = auVar16._8_8_;" (assignment_expression "local_f8 = auVar16._8_8_" identifier = (field_expression "auVar16._8_8_" identifier . field_identifier)) ;) (expression_statement "puVar13 = &DAT_00393c8a;" (assignment_expression "puVar13 = &DAT_00393c8a" identifier = (pointer_expression "&DAT_00393c8a" & identifier)) ;) (if_statement "if (local_f8 != 0) {\n      if (param_1[5] == 0) goto LAB_001e7390;\n      puVar13 = (undefined4 *)FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar16._0_8_,local_f8,1,1);\n    }" if (parenthesized_expression "(local_f8 != 0)" ( (binary_expression "local_f8 != 0" identifier != number_literal) )) (compound_statement "{\n      if (param_1[5] == 0) goto LAB_001e7390;\n      puVar13 = (undefined4 *)FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar16._0_8_,local_f8,1,1);\n    }" { (if_statement "if (param_1[5] == 0) goto LAB_001e7390;" if (parenthesized_expression "(param_1[5] == 0)" ( (binary_expression "param_1[5] == 0" (subscript_expression "param_1[5]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_001e7390;" goto statement_identifier ;)) (expression_statement "puVar13 = (undefined4 *)FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar16._0_8_,local_f8,1,1);" (assignment_expression "puVar13 = (undefined4 *)FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar16._0_8_,local_f8,1,1)" identifier = (cast_expression "(undefined4 *)FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar16._0_8_,local_f8,1,1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar16._0_8_,local_f8,1,1)" identifier (argument_list "(param_1[5] + 0x28,param_1[6],auVar16._0_8_,local_f8,1,1)" ( (binary_expression "param_1[5] + 0x28" (subscript_expression "param_1[5]" identifier [ number_literal ]) + number_literal) , (subscript_expression "param_1[6]" identifier [ number_literal ]) , (field_expression "auVar16._0_8_" identifier . field_identifier) , identifier , number_literal , number_literal ))))) ;) })) }) (else_clause "else {\n    puVar13 = (undefined4 *)(**(code **)(*param_1 + 0x70))(param_1,uVar15,&local_f8,1);\n  }" else (compound_statement "{\n    puVar13 = (undefined4 *)(**(code **)(*param_1 + 0x70))(param_1,uVar15,&local_f8,1);\n  }" { (expression_statement "puVar13 = (undefined4 *)(**(code **)(*param_1 + 0x70))(param_1,uVar15,&local_f8,1);" (assignment_expression "puVar13 = (undefined4 *)(**(code **)(*param_1 + 0x70))(param_1,uVar15,&local_f8,1)" identifier = (cast_expression "(undefined4 *)(**(code **)(*param_1 + 0x70))(param_1,uVar15,&local_f8,1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*param_1 + 0x70))(param_1,uVar15,&local_f8,1)" (parenthesized_expression "(**(code **)(*param_1 + 0x70))" ( (pointer_expression "**(code **)(*param_1 + 0x70)" * (pointer_expression "*(code **)(*param_1 + 0x70)" * (cast_expression "(code **)(*param_1 + 0x70)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x70)" ( (binary_expression "*param_1 + 0x70" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )) (argument_list "(param_1,uVar15,&local_f8,1)" ( identifier , identifier , (pointer_expression "&local_f8" & identifier) , number_literal ))))) ;) }))) (expression_statement "uVar15 = *puVar8;" (assignment_expression "uVar15 = *puVar8" identifier = (pointer_expression "*puVar8" * identifier)) ;) (expression_statement "uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;" (assignment_expression "uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18" identifier = (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18" (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8" (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8" (binary_expression "uVar15 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar15 & 0xff0000) >> 8" (parenthesized_expression "(uVar15 & 0xff0000)" ( (binary_expression "uVar15 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar15 & 0xff00) << 8" (parenthesized_expression "(uVar15 & 0xff00)" ( (binary_expression "uVar15 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar15 << 0x18" identifier << number_literal))) ;) (if_statement "if (local_f8 <= uVar15) {\n    uVar6 = gettext("symbol %u name offset %u out of range");\n    param_4 = uVar4;\n    goto LAB_001e6ed5;\n  }" if (parenthesized_expression "(local_f8 <= uVar15)" ( (binary_expression "local_f8 <= uVar15" identifier <= identifier) )) (compound_statement "{\n    uVar6 = gettext("symbol %u name offset %u out of range");\n    param_4 = uVar4;\n    goto LAB_001e6ed5;\n  }" { (expression_statement "uVar6 = gettext("symbol %u name offset %u out of range");" (assignment_expression "uVar6 = gettext("symbol %u name offset %u out of range")" identifier = (call_expression "gettext("symbol %u name offset %u out of range")" identifier (argument_list "("symbol %u name offset %u out of range")" ( (string_literal ""symbol %u name offset %u out of range"" " string_content ") )))) ;) (expression_statement "param_4 = uVar4;" (assignment_expression "param_4 = uVar4" identifier = identifier) ;) (goto_statement "goto LAB_001e6ed5;" goto statement_identifier ;) })) (expression_statement "uStack_1a0 = 0x1e6c17;" (assignment_expression "uStack_1a0 = 0x1e6c17" identifier = number_literal) ;) (expression_statement "FUN_001d26c0(local_c8,(long)puVar13 + (ulong)uVar15);" (call_expression "FUN_001d26c0(local_c8,(long)puVar13 + (ulong)uVar15)" identifier (argument_list "(local_c8,(long)puVar13 + (ulong)uVar15)" ( identifier , (binary_expression "(long)puVar13 + (ulong)uVar15" (cast_expression "(long)puVar13" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (cast_expression "(ulong)uVar15" ( (type_descriptor "ulong" type_identifier) ) identifier)) ))) ;) (expression_statement "uVar6 = extraout_RDX;" (assignment_expression "uVar6 = extraout_RDX" identifier = identifier) ;) (if_statement "if ((*local_c8[0] == '\0') && ((puVar8[1] & 0xf) == 3)) {\n    uVar3 = *(ushort *)((long)puVar8 + 6) << 8 | *(ushort *)((long)puVar8 + 6) >> 8;\n    uVar15 = (uint)uVar3;\n    if (uVar15 < 0xff00) {\n      local_68[0] = (undefined1 *)CONCAT71(local_68[0]._1_7_,1);\nLAB_001e6f84:\n      if (uVar15 < *(uint *)(param_1 + 7)) {\n        uVar15 = *(uint *)(param_6 + (ulong)(uVar15 << 6));\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n                    \n          uStack_1a0 = 0x1e6fbf;\n          FUN_002f9af0(local_c8,uVar10 + param_7);\n          uVar6 = extraout_RDX_00;\n        }\n        goto LAB_001e6c3f;\n      }\n    }\n    else if (uVar3 == 0xffff) {\n      uStack_1a0 = 0x1e737b;\n      uVar15 = FUN_001d1b60(param_1,uVar4,local_68);\n      uVar6 = extraout_RDX_02;\n      if ((char)local_68[0] != '\0') goto LAB_001e6f84;\n    }\n    else {\n      local_68[0] = (undefined1 *)((ulong)local_68[0]._1_7_ << 8);\n    }\n    uVar6 = gettext("symbol %u invalid section index %u");\n                    \n    FUN_001d19e0(param_1,uVar6,uVar4,uVar15);\nLAB_001e735d:\n    local_121 = '\0';\n    goto LAB_001e70e8;\n  }" if (parenthesized_expression "((*local_c8[0] == '\0') && ((puVar8[1] & 0xf) == 3))" ( (binary_expression "(*local_c8[0] == '\0') && ((puVar8[1] & 0xf) == 3)" (parenthesized_expression "(*local_c8[0] == '\0')" ( (binary_expression "*local_c8[0] == '\0'" (pointer_expression "*local_c8[0]" * (subscript_expression "local_c8[0]" identifier [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "((puVar8[1] & 0xf) == 3)" ( (binary_expression "(puVar8[1] & 0xf) == 3" (parenthesized_expression "(puVar8[1] & 0xf)" ( (binary_expression "puVar8[1] & 0xf" (subscript_expression "puVar8[1]" identifier [ number_literal ]) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n    uVar3 = *(ushort *)((long)puVar8 + 6) << 8 | *(ushort *)((long)puVar8 + 6) >> 8;\n    uVar15 = (uint)uVar3;\n    if (uVar15 < 0xff00) {\n      local_68[0] = (undefined1 *)CONCAT71(local_68[0]._1_7_,1);\nLAB_001e6f84:\n      if (uVar15 < *(uint *)(param_1 + 7)) {\n        uVar15 = *(uint *)(param_6 + (ulong)(uVar15 << 6));\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n                    \n          uStack_1a0 = 0x1e6fbf;\n          FUN_002f9af0(local_c8,uVar10 + param_7);\n          uVar6 = extraout_RDX_00;\n        }\n        goto LAB_001e6c3f;\n      }\n    }\n    else if (uVar3 == 0xffff) {\n      uStack_1a0 = 0x1e737b;\n      uVar15 = FUN_001d1b60(param_1,uVar4,local_68);\n      uVar6 = extraout_RDX_02;\n      if ((char)local_68[0] != '\0') goto LAB_001e6f84;\n    }\n    else {\n      local_68[0] = (undefined1 *)((ulong)local_68[0]._1_7_ << 8);\n    }\n    uVar6 = gettext("symbol %u invalid section index %u");\n                    \n    FUN_001d19e0(param_1,uVar6,uVar4,uVar15);\nLAB_001e735d:\n    local_121 = '\0';\n    goto LAB_001e70e8;\n  }" { (expression_statement "uVar3 = *(ushort *)((long)puVar8 + 6) << 8 | *(ushort *)((long)puVar8 + 6) >> 8;" (assignment_expression "uVar3 = *(ushort *)((long)puVar8 + 6) << 8 | *(ushort *)((long)puVar8 + 6) >> 8" identifier = (binary_expression "*(ushort *)((long)puVar8 + 6) << 8 | *(ushort *)((long)puVar8 + 6) >> 8" (binary_expression "*(ushort *)((long)puVar8 + 6) << 8" (pointer_expression "*(ushort *)((long)puVar8 + 6)" * (cast_expression "(ushort *)((long)puVar8 + 6)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar8 + 6)" ( (binary_expression "(long)puVar8 + 6" (cast_expression "(long)puVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) << number_literal) | (binary_expression "*(ushort *)((long)puVar8 + 6) >> 8" (pointer_expression "*(ushort *)((long)puVar8 + 6)" * (cast_expression "(ushort *)((long)puVar8 + 6)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar8 + 6)" ( (binary_expression "(long)puVar8 + 6" (cast_expression "(long)puVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) >> number_literal))) ;) (expression_statement "uVar15 = (uint)uVar3;" (assignment_expression "uVar15 = (uint)uVar3" identifier = (cast_expression "(uint)uVar3" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (uVar15 < 0xff00) {\n      local_68[0] = (undefined1 *)CONCAT71(local_68[0]._1_7_,1);\nLAB_001e6f84:\n      if (uVar15 < *(uint *)(param_1 + 7)) {\n        uVar15 = *(uint *)(param_6 + (ulong)(uVar15 << 6));\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n                    \n          uStack_1a0 = 0x1e6fbf;\n          FUN_002f9af0(local_c8,uVar10 + param_7);\n          uVar6 = extraout_RDX_00;\n        }\n        goto LAB_001e6c3f;\n      }\n    }\n    else if (uVar3 == 0xffff) {\n      uStack_1a0 = 0x1e737b;\n      uVar15 = FUN_001d1b60(param_1,uVar4,local_68);\n      uVar6 = extraout_RDX_02;\n      if ((char)local_68[0] != '\0') goto LAB_001e6f84;\n    }\n    else {\n      local_68[0] = (undefined1 *)((ulong)local_68[0]._1_7_ << 8);\n    }" if (parenthesized_expression "(uVar15 < 0xff00)" ( (binary_expression "uVar15 < 0xff00" identifier < number_literal) )) (compound_statement "{\n      local_68[0] = (undefined1 *)CONCAT71(local_68[0]._1_7_,1);\nLAB_001e6f84:\n      if (uVar15 < *(uint *)(param_1 + 7)) {\n        uVar15 = *(uint *)(param_6 + (ulong)(uVar15 << 6));\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n                    \n          uStack_1a0 = 0x1e6fbf;\n          FUN_002f9af0(local_c8,uVar10 + param_7);\n          uVar6 = extraout_RDX_00;\n        }\n        goto LAB_001e6c3f;\n      }\n    }" { (expression_statement "local_68[0] = (undefined1 *)CONCAT71(local_68[0]._1_7_,1);" (assignment_expression "local_68[0] = (undefined1 *)CONCAT71(local_68[0]._1_7_,1)" (subscript_expression "local_68[0]" identifier [ number_literal ]) = (cast_expression "(undefined1 *)CONCAT71(local_68[0]._1_7_,1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT71(local_68[0]._1_7_,1)" identifier (argument_list "(local_68[0]._1_7_,1)" ( (field_expression "local_68[0]._1_7_" (subscript_expression "local_68[0]" identifier [ number_literal ]) . field_identifier) , number_literal ))))) ;) (labeled_statement "LAB_001e6f84:\n      if (uVar15 < *(uint *)(param_1 + 7)) {\n        uVar15 = *(uint *)(param_6 + (ulong)(uVar15 << 6));\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n                    \n          uStack_1a0 = 0x1e6fbf;\n          FUN_002f9af0(local_c8,uVar10 + param_7);\n          uVar6 = extraout_RDX_00;\n        }\n        goto LAB_001e6c3f;\n      }" statement_identifier : (if_statement "if (uVar15 < *(uint *)(param_1 + 7)) {\n        uVar15 = *(uint *)(param_6 + (ulong)(uVar15 << 6));\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n                    \n          uStack_1a0 = 0x1e6fbf;\n          FUN_002f9af0(local_c8,uVar10 + param_7);\n          uVar6 = extraout_RDX_00;\n        }\n        goto LAB_001e6c3f;\n      }" if (parenthesized_expression "(uVar15 < *(uint *)(param_1 + 7))" ( (binary_expression "uVar15 < *(uint *)(param_1 + 7)" identifier < (pointer_expression "*(uint *)(param_1 + 7)" * (cast_expression "(uint *)(param_1 + 7)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 7)" ( (binary_expression "param_1 + 7" identifier + number_literal) ))))) )) (compound_statement "{\n        uVar15 = *(uint *)(param_6 + (ulong)(uVar15 << 6));\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n                    \n          uStack_1a0 = 0x1e6fbf;\n          FUN_002f9af0(local_c8,uVar10 + param_7);\n          uVar6 = extraout_RDX_00;\n        }\n        goto LAB_001e6c3f;\n      }" { (expression_statement "uVar15 = *(uint *)(param_6 + (ulong)(uVar15 << 6));" (assignment_expression "uVar15 = *(uint *)(param_6 + (ulong)(uVar15 << 6))" identifier = (pointer_expression "*(uint *)(param_6 + (ulong)(uVar15 << 6))" * (cast_expression "(uint *)(param_6 + (ulong)(uVar15 << 6))" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + (ulong)(uVar15 << 6))" ( (binary_expression "param_6 + (ulong)(uVar15 << 6)" identifier + (call_expression "(ulong)(uVar15 << 6)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar15 << 6)" ( (binary_expression "uVar15 << 6" identifier << number_literal) )))) ))))) ;) (expression_statement "uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);" (assignment_expression "uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18)" identifier = (call_expression "(ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18)" ( (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18" (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8" (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8" (binary_expression "uVar15 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar15 & 0xff0000) >> 8" (parenthesized_expression "(uVar15 & 0xff0000)" ( (binary_expression "uVar15 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar15 & 0xff00) << 8" (parenthesized_expression "(uVar15 & 0xff00)" ( (binary_expression "uVar15 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar15 << 0x18" identifier << number_literal)) )))) ;) (if_statement "if (uVar10 < param_8) {\n                    \n          uStack_1a0 = 0x1e6fbf;\n          FUN_002f9af0(local_c8,uVar10 + param_7);\n          uVar6 = extraout_RDX_00;\n        }" if (parenthesized_expression "(uVar10 < param_8)" ( (binary_expression "uVar10 < param_8" identifier < identifier) )) (compound_statement "{\n                    \n          uStack_1a0 = 0x1e6fbf;\n          FUN_002f9af0(local_c8,uVar10 + param_7);\n          uVar6 = extraout_RDX_00;\n        }" { (expression_statement "uStack_1a0 = 0x1e6fbf;" (assignment_expression "uStack_1a0 = 0x1e6fbf" identifier = number_literal) ;) (expression_statement "FUN_002f9af0(local_c8,uVar10 + param_7);" (call_expression "FUN_002f9af0(local_c8,uVar10 + param_7)" identifier (argument_list "(local_c8,uVar10 + param_7)" ( identifier , (binary_expression "uVar10 + param_7" identifier + identifier) ))) ;) (expression_statement "uVar6 = extraout_RDX_00;" (assignment_expression "uVar6 = extraout_RDX_00" identifier = identifier) ;) })) (goto_statement "goto LAB_001e6c3f;" goto statement_identifier ;) }))) }) (else_clause "else if (uVar3 == 0xffff) {\n      uStack_1a0 = 0x1e737b;\n      uVar15 = FUN_001d1b60(param_1,uVar4,local_68);\n      uVar6 = extraout_RDX_02;\n      if ((char)local_68[0] != '\0') goto LAB_001e6f84;\n    }\n    else {\n      local_68[0] = (undefined1 *)((ulong)local_68[0]._1_7_ << 8);\n    }" else (if_statement "if (uVar3 == 0xffff) {\n      uStack_1a0 = 0x1e737b;\n      uVar15 = FUN_001d1b60(param_1,uVar4,local_68);\n      uVar6 = extraout_RDX_02;\n      if ((char)local_68[0] != '\0') goto LAB_001e6f84;\n    }\n    else {\n      local_68[0] = (undefined1 *)((ulong)local_68[0]._1_7_ << 8);\n    }" if (parenthesized_expression "(uVar3 == 0xffff)" ( (binary_expression "uVar3 == 0xffff" identifier == number_literal) )) (compound_statement "{\n      uStack_1a0 = 0x1e737b;\n      uVar15 = FUN_001d1b60(param_1,uVar4,local_68);\n      uVar6 = extraout_RDX_02;\n      if ((char)local_68[0] != '\0') goto LAB_001e6f84;\n    }" { (expression_statement "uStack_1a0 = 0x1e737b;" (assignment_expression "uStack_1a0 = 0x1e737b" identifier = number_literal) ;) (expression_statement "uVar15 = FUN_001d1b60(param_1,uVar4,local_68);" (assignment_expression "uVar15 = FUN_001d1b60(param_1,uVar4,local_68)" identifier = (call_expression "FUN_001d1b60(param_1,uVar4,local_68)" identifier (argument_list "(param_1,uVar4,local_68)" ( identifier , identifier , identifier )))) ;) (expression_statement "uVar6 = extraout_RDX_02;" (assignment_expression "uVar6 = extraout_RDX_02" identifier = identifier) ;) (if_statement "if ((char)local_68[0] != '\0') goto LAB_001e6f84;" if (parenthesized_expression "((char)local_68[0] != '\0')" ( (binary_expression "(char)local_68[0] != '\0'" (cast_expression "(char)local_68[0]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "local_68[0]" identifier [ number_literal ])) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_001e6f84;" goto statement_identifier ;)) }) (else_clause "else {\n      local_68[0] = (undefined1 *)((ulong)local_68[0]._1_7_ << 8);\n    }" else (compound_statement "{\n      local_68[0] = (undefined1 *)((ulong)local_68[0]._1_7_ << 8);\n    }" { (expression_statement "local_68[0] = (undefined1 *)((ulong)local_68[0]._1_7_ << 8);" (assignment_expression "local_68[0] = (undefined1 *)((ulong)local_68[0]._1_7_ << 8)" (subscript_expression "local_68[0]" identifier [ number_literal ]) = (cast_expression "(undefined1 *)((ulong)local_68[0]._1_7_ << 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)local_68[0]._1_7_ << 8)" ( (binary_expression "(ulong)local_68[0]._1_7_ << 8" (cast_expression "(ulong)local_68[0]._1_7_" ( (type_descriptor "ulong" type_identifier) ) (field_expression "local_68[0]._1_7_" (subscript_expression "local_68[0]" identifier [ number_literal ]) . field_identifier)) << number_literal) )))) ;) }))))) (expression_statement "uVar6 = gettext("symbol %u invalid section index %u");" (assignment_expression "uVar6 = gettext("symbol %u invalid section index %u")" identifier = (call_expression "gettext("symbol %u invalid section index %u")" identifier (argument_list "("symbol %u invalid section index %u")" ( (string_literal ""symbol %u invalid section index %u"" " string_content ") )))) ;) (expression_statement "FUN_001d19e0(param_1,uVar6,uVar4,uVar15);" (call_expression "FUN_001d19e0(param_1,uVar6,uVar4,uVar15)" identifier (argument_list "(param_1,uVar6,uVar4,uVar15)" ( identifier , identifier , identifier , identifier ))) ;) (labeled_statement "LAB_001e735d:\n    local_121 = '\0';" statement_identifier : (expression_statement "local_121 = '\0';" (assignment_expression "local_121 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;)) (goto_statement "goto LAB_001e70e8;" goto statement_identifier ;) })) (labeled_statement "LAB_001e6c3f:\n  local_f0 = 0;" statement_identifier : (expression_statement "local_f0 = 0;" (assignment_expression "local_f0 = 0" identifier = number_literal) ;)) (if_statement "if ((uVar1 >> 0x18 & 1) == 0) {\n    uVar10 = *(ulong *)(local_100 + 0x20);\n    local_122 = '\0';\n    local_118 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28\n                | uVar10 << 0x38;\n    uStack_1a0 = uVar6;\nLAB_001e6c9f:\n    local_118 = local_118 >> 2;\n    local_d8 = (uint *)0x0;\n    local_e0 = (uint *)0x0;\n    local_e8 = 0;\n    if (*(long *)(PTR_DAT_0045c708 + 0x10) == 0) {\n                    \n                    \n      FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n    }\n    cVar14 = *(char *)(*(long *)(PTR_DAT_0045c708 + 0x10) + 0x5051);\n    if (cVar14 != '\0') {\n                    \n      FUN_001da300(&local_e8,local_118 - 1,uStack_1a0);\n      local_121 = cVar14;\n      if (1 < local_118) goto LAB_001e6cd9;\n      goto LAB_001e7093;\n    }\n    local_121 = '\x01';\n    if (1 < local_118) goto LAB_001e6cd9;\n  }\n  else {\n                    \n    local_122 = FUN_001c1720(param_3,local_c8,param_1,param_4,1,1,&local_f0);\n    if (local_122 != '\0') {\n      if (*(long *)(param_3 + 0x378) != 0) {\n        FUN_00197030(*(long *)(param_3 + 0x378),param_1,local_c8[0]);\n        uStack_1a0 = extraout_RDX_01;\n      }\n      uVar10 = *(ulong *)(local_100 + 0x20);\n      local_118 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                  (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                  (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                  (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n      goto LAB_001e6c9f;\n    }\n    local_e8 = 0;\n    local_e0 = (uint *)0x0;\n    local_d8 = (uint *)0x0;\n    uVar10 = *(ulong *)(local_100 + 0x20);\n    local_118 = (uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38) >> 2;\n    if (local_118 < 2) goto LAB_001e735d;\n    local_121 = '\0';\n    local_122 = '\x01';\n    cVar14 = '\0';\nLAB_001e6cd9:\n    local_110 = (long *)0x1;\n    do {\n      uVar15 = puVar5[(long)local_110];\n      uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n      if (uVar15 < 0xff00) {\n        local_104 = uVar15;\n        if (cVar14 != '\0') goto LAB_001e6e26;\nLAB_001e6d30:\n        if (*(uint *)(param_1 + 7) <= local_104) goto LAB_001e6e59;\nLAB_001e6d3a:\n        uVar15 = local_104;\n        if (local_104 < param_4) {\n          uVar6 = gettext("invalid section group %u refers to earlier section %u");\n                    \n          FUN_001d19e0(param_1,uVar6,param_4,uVar15);\n        }\n        puVar8 = (uint *)((ulong)(local_104 << 6) + param_6);\n        uVar15 = *puVar8;\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n          pcVar12 = (char *)0xffffffffffffffff;\n          __s = (char *)(uVar10 + param_7);\n          local_a8 = auStack_98;\n          if (__s != (char *)0x0) {\n            sVar9 = strlen(__s);\n            pcVar12 = __s + sVar9;\n          }\n                    \n          FUN_00174550(&local_a8,__s,pcVar12);\n          uVar15 = local_104;\n          if (local_121 == '\0') {\n            puVar11 = (ulong *)((ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9);\n            *puVar11 = *puVar11 | 1L << ((byte)local_104 & 0x3f);\n            if ((local_122 != '\0') && ((local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0')))) {\n              uVar10 = *(ulong *)(puVar8 + 8);\n              local_78 = local_f0;\n              local_88[0] = local_104;\n              local_80 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n              local_6c = 1;\n              local_70 = uVar4;\n                    \n              FUN_001e2560(param_1 + 0x36,local_88);\n            }\n          }\n          else if (local_122 != '\0') {\n            uVar10 = *(ulong *)(puVar8 + 8);\n            if (*(char *)(local_f0 + 0xc) == '\0') {\n                    \n                    \n              FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            uVar6 = *(undefined8 *)(local_f0 + 0x10);\n            local_68[0] = local_58;\n                    \n            FUN_0017d640(local_68,local_a8,local_a8 + local_a0);\n            local_48 = uVar15;\n            local_40 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n                    \n            FUN_001d9dc0(uVar6,local_68);\n            if (local_68[0] != local_58) {\n              FUN_002f1e60();\n            }\n          }\n          if (local_a8 != auStack_98) {\n            FUN_002f1e60();\n          }\n        }\n      }\n      else {\n        FUN_001dab60(param_1 + 0x1f);\n        uVar15 = uVar15 + (int)param_1[0x22];\n        local_104 = uVar15;\n        if (cVar14 == '\0') goto LAB_001e6d30;\nLAB_001e6e26:\n        local_104 = uVar15;\n        if (local_e0 == local_d8) {\n                    \n          FUN_001a8910(&local_e8,local_e0,&local_104);\n          goto LAB_001e6d30;\n        }\n        *local_e0 = uVar15;\n        local_e0 = local_e0 + 1;\n        if (uVar15 < *(uint *)(param_1 + 7)) goto LAB_001e6d3a;\nLAB_001e6e59:\n        uVar15 = local_104;\n        uVar6 = gettext("section %u in section group %u out of range");\n        FUN_001d19e0(param_1,uVar6,uVar15,param_4);\n      }\n      local_110 = (long *)((long)local_110 + 1);\n    } while (local_110 < local_118);\n    if (cVar14 != '\0') {\nLAB_001e7093:\n      local_110 = &local_e8;\n                    \n      FUN_001caee0(param_3,param_2,param_1,param_4,param_5,local_c8[0],&local_100,\n                   uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                   local_110);\n    }\n  }" if (parenthesized_expression "((uVar1 >> 0x18 & 1) == 0)" ( (binary_expression "(uVar1 >> 0x18 & 1) == 0" (parenthesized_expression "(uVar1 >> 0x18 & 1)" ( (binary_expression "uVar1 >> 0x18 & 1" (binary_expression "uVar1 >> 0x18" identifier >> number_literal) & number_literal) )) == number_literal) )) (compound_statement "{\n    uVar10 = *(ulong *)(local_100 + 0x20);\n    local_122 = '\0';\n    local_118 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28\n                | uVar10 << 0x38;\n    uStack_1a0 = uVar6;\nLAB_001e6c9f:\n    local_118 = local_118 >> 2;\n    local_d8 = (uint *)0x0;\n    local_e0 = (uint *)0x0;\n    local_e8 = 0;\n    if (*(long *)(PTR_DAT_0045c708 + 0x10) == 0) {\n                    \n                    \n      FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n    }\n    cVar14 = *(char *)(*(long *)(PTR_DAT_0045c708 + 0x10) + 0x5051);\n    if (cVar14 != '\0') {\n                    \n      FUN_001da300(&local_e8,local_118 - 1,uStack_1a0);\n      local_121 = cVar14;\n      if (1 < local_118) goto LAB_001e6cd9;\n      goto LAB_001e7093;\n    }\n    local_121 = '\x01';\n    if (1 < local_118) goto LAB_001e6cd9;\n  }" { (expression_statement "uVar10 = *(ulong *)(local_100 + 0x20);" (assignment_expression "uVar10 = *(ulong *)(local_100 + 0x20)" identifier = (pointer_expression "*(ulong *)(local_100 + 0x20)" * (cast_expression "(ulong *)(local_100 + 0x20)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_100 + 0x20)" ( (binary_expression "local_100 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "local_122 = '\0';" (assignment_expression "local_122 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_118 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28\n                | uVar10 << 0x38;" (assignment_expression "local_118 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28\n                | uVar10 << 0x38" identifier = (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28\n                | uVar10 << 0x38" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                (uVar10 & 0xff000000) << 8" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                (uVar10 & 0xff0000000000) >> 0x18" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28" (binary_expression "uVar10 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar10 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar10 & 0xff000000000000)" ( (binary_expression "uVar10 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar10 & 0xff0000000000)" ( (binary_expression "uVar10 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff00000000) >> 8" (parenthesized_expression "(uVar10 & 0xff00000000)" ( (binary_expression "uVar10 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff000000) << 8" (parenthesized_expression "(uVar10 & 0xff000000)" ( (binary_expression "uVar10 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar10 & 0xff0000) << 0x18" (parenthesized_expression "(uVar10 & 0xff0000)" ( (binary_expression "uVar10 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar10 & 0xff00) << 0x28" (parenthesized_expression "(uVar10 & 0xff00)" ( (binary_expression "uVar10 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar10 << 0x38" identifier << number_literal))) ;) (expression_statement "uStack_1a0 = uVar6;" (assignment_expression "uStack_1a0 = uVar6" identifier = identifier) ;) (labeled_statement "LAB_001e6c9f:\n    local_118 = local_118 >> 2;" statement_identifier : (expression_statement "local_118 = local_118 >> 2;" (assignment_expression "local_118 = local_118 >> 2" identifier = (binary_expression "local_118 >> 2" identifier >> number_literal)) ;)) (expression_statement "local_d8 = (uint *)0x0;" (assignment_expression "local_d8 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_e0 = (uint *)0x0;" (assignment_expression "local_e0 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_e8 = 0;" (assignment_expression "local_e8 = 0" identifier = number_literal) ;) (if_statement "if (*(long *)(PTR_DAT_0045c708 + 0x10) == 0) {\n                    \n                    \n      FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n    }" if (parenthesized_expression "(*(long *)(PTR_DAT_0045c708 + 0x10) == 0)" ( (binary_expression "*(long *)(PTR_DAT_0045c708 + 0x10) == 0" (pointer_expression "*(long *)(PTR_DAT_0045c708 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0045c708 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0045c708 + 0x10)" ( (binary_expression "PTR_DAT_0045c708 + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    \n                    \n      FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n    }" { (expression_statement "FUN_0018ff20("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0018ff20("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (expression_statement "cVar14 = *(char *)(*(long *)(PTR_DAT_0045c708 + 0x10) + 0x5051);" (assignment_expression "cVar14 = *(char *)(*(long *)(PTR_DAT_0045c708 + 0x10) + 0x5051)" identifier = (pointer_expression "*(char *)(*(long *)(PTR_DAT_0045c708 + 0x10) + 0x5051)" * (cast_expression "(char *)(*(long *)(PTR_DAT_0045c708 + 0x10) + 0x5051)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(PTR_DAT_0045c708 + 0x10) + 0x5051)" ( (binary_expression "*(long *)(PTR_DAT_0045c708 + 0x10) + 0x5051" (pointer_expression "*(long *)(PTR_DAT_0045c708 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0045c708 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0045c708 + 0x10)" ( (binary_expression "PTR_DAT_0045c708 + 0x10" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (cVar14 != '\0') {\n                    \n      FUN_001da300(&local_e8,local_118 - 1,uStack_1a0);\n      local_121 = cVar14;\n      if (1 < local_118) goto LAB_001e6cd9;\n      goto LAB_001e7093;\n    }" if (parenthesized_expression "(cVar14 != '\0')" ( (binary_expression "cVar14 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    \n      FUN_001da300(&local_e8,local_118 - 1,uStack_1a0);\n      local_121 = cVar14;\n      if (1 < local_118) goto LAB_001e6cd9;\n      goto LAB_001e7093;\n    }" { (expression_statement "FUN_001da300(&local_e8,local_118 - 1,uStack_1a0);" (call_expression "FUN_001da300(&local_e8,local_118 - 1,uStack_1a0)" identifier (argument_list "(&local_e8,local_118 - 1,uStack_1a0)" ( (pointer_expression "&local_e8" & identifier) , (binary_expression "local_118 - 1" identifier - number_literal) , identifier ))) ;) (expression_statement "local_121 = cVar14;" (assignment_expression "local_121 = cVar14" identifier = identifier) ;) (if_statement "if (1 < local_118) goto LAB_001e6cd9;" if (parenthesized_expression "(1 < local_118)" ( (binary_expression "1 < local_118" number_literal < identifier) )) (goto_statement "goto LAB_001e6cd9;" goto statement_identifier ;)) (goto_statement "goto LAB_001e7093;" goto statement_identifier ;) })) (expression_statement "local_121 = '\x01';" (assignment_expression "local_121 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (if_statement "if (1 < local_118) goto LAB_001e6cd9;" if (parenthesized_expression "(1 < local_118)" ( (binary_expression "1 < local_118" number_literal < identifier) )) (goto_statement "goto LAB_001e6cd9;" goto statement_identifier ;)) }) (else_clause "else {\n                    \n    local_122 = FUN_001c1720(param_3,local_c8,param_1,param_4,1,1,&local_f0);\n    if (local_122 != '\0') {\n      if (*(long *)(param_3 + 0x378) != 0) {\n        FUN_00197030(*(long *)(param_3 + 0x378),param_1,local_c8[0]);\n        uStack_1a0 = extraout_RDX_01;\n      }\n      uVar10 = *(ulong *)(local_100 + 0x20);\n      local_118 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                  (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                  (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                  (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n      goto LAB_001e6c9f;\n    }\n    local_e8 = 0;\n    local_e0 = (uint *)0x0;\n    local_d8 = (uint *)0x0;\n    uVar10 = *(ulong *)(local_100 + 0x20);\n    local_118 = (uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38) >> 2;\n    if (local_118 < 2) goto LAB_001e735d;\n    local_121 = '\0';\n    local_122 = '\x01';\n    cVar14 = '\0';\nLAB_001e6cd9:\n    local_110 = (long *)0x1;\n    do {\n      uVar15 = puVar5[(long)local_110];\n      uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n      if (uVar15 < 0xff00) {\n        local_104 = uVar15;\n        if (cVar14 != '\0') goto LAB_001e6e26;\nLAB_001e6d30:\n        if (*(uint *)(param_1 + 7) <= local_104) goto LAB_001e6e59;\nLAB_001e6d3a:\n        uVar15 = local_104;\n        if (local_104 < param_4) {\n          uVar6 = gettext("invalid section group %u refers to earlier section %u");\n                    \n          FUN_001d19e0(param_1,uVar6,param_4,uVar15);\n        }\n        puVar8 = (uint *)((ulong)(local_104 << 6) + param_6);\n        uVar15 = *puVar8;\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n          pcVar12 = (char *)0xffffffffffffffff;\n          __s = (char *)(uVar10 + param_7);\n          local_a8 = auStack_98;\n          if (__s != (char *)0x0) {\n            sVar9 = strlen(__s);\n            pcVar12 = __s + sVar9;\n          }\n                    \n          FUN_00174550(&local_a8,__s,pcVar12);\n          uVar15 = local_104;\n          if (local_121 == '\0') {\n            puVar11 = (ulong *)((ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9);\n            *puVar11 = *puVar11 | 1L << ((byte)local_104 & 0x3f);\n            if ((local_122 != '\0') && ((local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0')))) {\n              uVar10 = *(ulong *)(puVar8 + 8);\n              local_78 = local_f0;\n              local_88[0] = local_104;\n              local_80 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n              local_6c = 1;\n              local_70 = uVar4;\n                    \n              FUN_001e2560(param_1 + 0x36,local_88);\n            }\n          }\n          else if (local_122 != '\0') {\n            uVar10 = *(ulong *)(puVar8 + 8);\n            if (*(char *)(local_f0 + 0xc) == '\0') {\n                    \n                    \n              FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            uVar6 = *(undefined8 *)(local_f0 + 0x10);\n            local_68[0] = local_58;\n                    \n            FUN_0017d640(local_68,local_a8,local_a8 + local_a0);\n            local_48 = uVar15;\n            local_40 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n                    \n            FUN_001d9dc0(uVar6,local_68);\n            if (local_68[0] != local_58) {\n              FUN_002f1e60();\n            }\n          }\n          if (local_a8 != auStack_98) {\n            FUN_002f1e60();\n          }\n        }\n      }\n      else {\n        FUN_001dab60(param_1 + 0x1f);\n        uVar15 = uVar15 + (int)param_1[0x22];\n        local_104 = uVar15;\n        if (cVar14 == '\0') goto LAB_001e6d30;\nLAB_001e6e26:\n        local_104 = uVar15;\n        if (local_e0 == local_d8) {\n                    \n          FUN_001a8910(&local_e8,local_e0,&local_104);\n          goto LAB_001e6d30;\n        }\n        *local_e0 = uVar15;\n        local_e0 = local_e0 + 1;\n        if (uVar15 < *(uint *)(param_1 + 7)) goto LAB_001e6d3a;\nLAB_001e6e59:\n        uVar15 = local_104;\n        uVar6 = gettext("section %u in section group %u out of range");\n        FUN_001d19e0(param_1,uVar6,uVar15,param_4);\n      }\n      local_110 = (long *)((long)local_110 + 1);\n    } while (local_110 < local_118);\n    if (cVar14 != '\0') {\nLAB_001e7093:\n      local_110 = &local_e8;\n                    \n      FUN_001caee0(param_3,param_2,param_1,param_4,param_5,local_c8[0],&local_100,\n                   uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                   local_110);\n    }\n  }" else (compound_statement "{\n                    \n    local_122 = FUN_001c1720(param_3,local_c8,param_1,param_4,1,1,&local_f0);\n    if (local_122 != '\0') {\n      if (*(long *)(param_3 + 0x378) != 0) {\n        FUN_00197030(*(long *)(param_3 + 0x378),param_1,local_c8[0]);\n        uStack_1a0 = extraout_RDX_01;\n      }\n      uVar10 = *(ulong *)(local_100 + 0x20);\n      local_118 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                  (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                  (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                  (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n      goto LAB_001e6c9f;\n    }\n    local_e8 = 0;\n    local_e0 = (uint *)0x0;\n    local_d8 = (uint *)0x0;\n    uVar10 = *(ulong *)(local_100 + 0x20);\n    local_118 = (uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38) >> 2;\n    if (local_118 < 2) goto LAB_001e735d;\n    local_121 = '\0';\n    local_122 = '\x01';\n    cVar14 = '\0';\nLAB_001e6cd9:\n    local_110 = (long *)0x1;\n    do {\n      uVar15 = puVar5[(long)local_110];\n      uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n      if (uVar15 < 0xff00) {\n        local_104 = uVar15;\n        if (cVar14 != '\0') goto LAB_001e6e26;\nLAB_001e6d30:\n        if (*(uint *)(param_1 + 7) <= local_104) goto LAB_001e6e59;\nLAB_001e6d3a:\n        uVar15 = local_104;\n        if (local_104 < param_4) {\n          uVar6 = gettext("invalid section group %u refers to earlier section %u");\n                    \n          FUN_001d19e0(param_1,uVar6,param_4,uVar15);\n        }\n        puVar8 = (uint *)((ulong)(local_104 << 6) + param_6);\n        uVar15 = *puVar8;\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n          pcVar12 = (char *)0xffffffffffffffff;\n          __s = (char *)(uVar10 + param_7);\n          local_a8 = auStack_98;\n          if (__s != (char *)0x0) {\n            sVar9 = strlen(__s);\n            pcVar12 = __s + sVar9;\n          }\n                    \n          FUN_00174550(&local_a8,__s,pcVar12);\n          uVar15 = local_104;\n          if (local_121 == '\0') {\n            puVar11 = (ulong *)((ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9);\n            *puVar11 = *puVar11 | 1L << ((byte)local_104 & 0x3f);\n            if ((local_122 != '\0') && ((local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0')))) {\n              uVar10 = *(ulong *)(puVar8 + 8);\n              local_78 = local_f0;\n              local_88[0] = local_104;\n              local_80 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n              local_6c = 1;\n              local_70 = uVar4;\n                    \n              FUN_001e2560(param_1 + 0x36,local_88);\n            }\n          }\n          else if (local_122 != '\0') {\n            uVar10 = *(ulong *)(puVar8 + 8);\n            if (*(char *)(local_f0 + 0xc) == '\0') {\n                    \n                    \n              FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            uVar6 = *(undefined8 *)(local_f0 + 0x10);\n            local_68[0] = local_58;\n                    \n            FUN_0017d640(local_68,local_a8,local_a8 + local_a0);\n            local_48 = uVar15;\n            local_40 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n                    \n            FUN_001d9dc0(uVar6,local_68);\n            if (local_68[0] != local_58) {\n              FUN_002f1e60();\n            }\n          }\n          if (local_a8 != auStack_98) {\n            FUN_002f1e60();\n          }\n        }\n      }\n      else {\n        FUN_001dab60(param_1 + 0x1f);\n        uVar15 = uVar15 + (int)param_1[0x22];\n        local_104 = uVar15;\n        if (cVar14 == '\0') goto LAB_001e6d30;\nLAB_001e6e26:\n        local_104 = uVar15;\n        if (local_e0 == local_d8) {\n                    \n          FUN_001a8910(&local_e8,local_e0,&local_104);\n          goto LAB_001e6d30;\n        }\n        *local_e0 = uVar15;\n        local_e0 = local_e0 + 1;\n        if (uVar15 < *(uint *)(param_1 + 7)) goto LAB_001e6d3a;\nLAB_001e6e59:\n        uVar15 = local_104;\n        uVar6 = gettext("section %u in section group %u out of range");\n        FUN_001d19e0(param_1,uVar6,uVar15,param_4);\n      }\n      local_110 = (long *)((long)local_110 + 1);\n    } while (local_110 < local_118);\n    if (cVar14 != '\0') {\nLAB_001e7093:\n      local_110 = &local_e8;\n                    \n      FUN_001caee0(param_3,param_2,param_1,param_4,param_5,local_c8[0],&local_100,\n                   uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                   local_110);\n    }\n  }" { (expression_statement "local_122 = FUN_001c1720(param_3,local_c8,param_1,param_4,1,1,&local_f0);" (assignment_expression "local_122 = FUN_001c1720(param_3,local_c8,param_1,param_4,1,1,&local_f0)" identifier = (call_expression "FUN_001c1720(param_3,local_c8,param_1,param_4,1,1,&local_f0)" identifier (argument_list "(param_3,local_c8,param_1,param_4,1,1,&local_f0)" ( identifier , identifier , identifier , identifier , number_literal , number_literal , (pointer_expression "&local_f0" & identifier) )))) ;) (if_statement "if (local_122 != '\0') {\n      if (*(long *)(param_3 + 0x378) != 0) {\n        FUN_00197030(*(long *)(param_3 + 0x378),param_1,local_c8[0]);\n        uStack_1a0 = extraout_RDX_01;\n      }\n      uVar10 = *(ulong *)(local_100 + 0x20);\n      local_118 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                  (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                  (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                  (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n      goto LAB_001e6c9f;\n    }" if (parenthesized_expression "(local_122 != '\0')" ( (binary_expression "local_122 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      if (*(long *)(param_3 + 0x378) != 0) {\n        FUN_00197030(*(long *)(param_3 + 0x378),param_1,local_c8[0]);\n        uStack_1a0 = extraout_RDX_01;\n      }\n      uVar10 = *(ulong *)(local_100 + 0x20);\n      local_118 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                  (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                  (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                  (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n      goto LAB_001e6c9f;\n    }" { (if_statement "if (*(long *)(param_3 + 0x378) != 0) {\n        FUN_00197030(*(long *)(param_3 + 0x378),param_1,local_c8[0]);\n        uStack_1a0 = extraout_RDX_01;\n      }" if (parenthesized_expression "(*(long *)(param_3 + 0x378) != 0)" ( (binary_expression "*(long *)(param_3 + 0x378) != 0" (pointer_expression "*(long *)(param_3 + 0x378)" * (cast_expression "(long *)(param_3 + 0x378)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x378)" ( (binary_expression "param_3 + 0x378" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        FUN_00197030(*(long *)(param_3 + 0x378),param_1,local_c8[0]);\n        uStack_1a0 = extraout_RDX_01;\n      }" { (expression_statement "FUN_00197030(*(long *)(param_3 + 0x378),param_1,local_c8[0]);" (call_expression "FUN_00197030(*(long *)(param_3 + 0x378),param_1,local_c8[0])" identifier (argument_list "(*(long *)(param_3 + 0x378),param_1,local_c8[0])" ( (pointer_expression "*(long *)(param_3 + 0x378)" * (cast_expression "(long *)(param_3 + 0x378)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x378)" ( (binary_expression "param_3 + 0x378" identifier + number_literal) )))) , identifier , (subscript_expression "local_c8[0]" identifier [ number_literal ]) ))) ;) (expression_statement "uStack_1a0 = extraout_RDX_01;" (assignment_expression "uStack_1a0 = extraout_RDX_01" identifier = identifier) ;) })) (expression_statement "uVar10 = *(ulong *)(local_100 + 0x20);" (assignment_expression "uVar10 = *(ulong *)(local_100 + 0x20)" identifier = (pointer_expression "*(ulong *)(local_100 + 0x20)" * (cast_expression "(ulong *)(local_100 + 0x20)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_100 + 0x20)" ( (binary_expression "local_100 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "local_118 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                  (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                  (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                  (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;" (assignment_expression "local_118 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                  (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                  (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                  (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38" identifier = (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                  (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                  (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                  (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                  (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                  (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                  (uVar10 & 0xff00) << 0x28" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                  (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                  (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                  (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                  (uVar10 & 0xff000000) << 8" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                  (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                  (uVar10 & 0xff0000000000) >> 0x18" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28" (binary_expression "uVar10 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar10 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar10 & 0xff000000000000)" ( (binary_expression "uVar10 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar10 & 0xff0000000000)" ( (binary_expression "uVar10 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff00000000) >> 8" (parenthesized_expression "(uVar10 & 0xff00000000)" ( (binary_expression "uVar10 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff000000) << 8" (parenthesized_expression "(uVar10 & 0xff000000)" ( (binary_expression "uVar10 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar10 & 0xff0000) << 0x18" (parenthesized_expression "(uVar10 & 0xff0000)" ( (binary_expression "uVar10 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar10 & 0xff00) << 0x28" (parenthesized_expression "(uVar10 & 0xff00)" ( (binary_expression "uVar10 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar10 << 0x38" identifier << number_literal))) ;) (goto_statement "goto LAB_001e6c9f;" goto statement_identifier ;) })) (expression_statement "local_e8 = 0;" (assignment_expression "local_e8 = 0" identifier = number_literal) ;) (expression_statement "local_e0 = (uint *)0x0;" (assignment_expression "local_e0 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_d8 = (uint *)0x0;" (assignment_expression "local_d8 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar10 = *(ulong *)(local_100 + 0x20);" (assignment_expression "uVar10 = *(ulong *)(local_100 + 0x20)" identifier = (pointer_expression "*(ulong *)(local_100 + 0x20)" * (cast_expression "(ulong *)(local_100 + 0x20)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_100 + 0x20)" ( (binary_expression "local_100 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "local_118 = (uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38) >> 2;" (assignment_expression "local_118 = (uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38) >> 2" identifier = (binary_expression "(uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38) >> 2" (parenthesized_expression "(uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38)" ( (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                 (uVar10 & 0xff00) << 0x28" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                 (uVar10 & 0xff000000) << 8" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                 (uVar10 & 0xff0000000000) >> 0x18" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28" (binary_expression "uVar10 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar10 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar10 & 0xff000000000000)" ( (binary_expression "uVar10 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar10 & 0xff0000000000)" ( (binary_expression "uVar10 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff00000000) >> 8" (parenthesized_expression "(uVar10 & 0xff00000000)" ( (binary_expression "uVar10 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff000000) << 8" (parenthesized_expression "(uVar10 & 0xff000000)" ( (binary_expression "uVar10 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar10 & 0xff0000) << 0x18" (parenthesized_expression "(uVar10 & 0xff0000)" ( (binary_expression "uVar10 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar10 & 0xff00) << 0x28" (parenthesized_expression "(uVar10 & 0xff00)" ( (binary_expression "uVar10 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar10 << 0x38" identifier << number_literal)) )) >> number_literal)) ;) (if_statement "if (local_118 < 2) goto LAB_001e735d;" if (parenthesized_expression "(local_118 < 2)" ( (binary_expression "local_118 < 2" identifier < number_literal) )) (goto_statement "goto LAB_001e735d;" goto statement_identifier ;)) (expression_statement "local_121 = '\0';" (assignment_expression "local_121 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_122 = '\x01';" (assignment_expression "local_122 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "cVar14 = '\0';" (assignment_expression "cVar14 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (labeled_statement "LAB_001e6cd9:\n    local_110 = (long *)0x1;" statement_identifier : (expression_statement "local_110 = (long *)0x1;" (assignment_expression "local_110 = (long *)0x1" identifier = (cast_expression "(long *)0x1" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (do_statement "do {\n      uVar15 = puVar5[(long)local_110];\n      uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n      if (uVar15 < 0xff00) {\n        local_104 = uVar15;\n        if (cVar14 != '\0') goto LAB_001e6e26;\nLAB_001e6d30:\n        if (*(uint *)(param_1 + 7) <= local_104) goto LAB_001e6e59;\nLAB_001e6d3a:\n        uVar15 = local_104;\n        if (local_104 < param_4) {\n          uVar6 = gettext("invalid section group %u refers to earlier section %u");\n                    \n          FUN_001d19e0(param_1,uVar6,param_4,uVar15);\n        }\n        puVar8 = (uint *)((ulong)(local_104 << 6) + param_6);\n        uVar15 = *puVar8;\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n          pcVar12 = (char *)0xffffffffffffffff;\n          __s = (char *)(uVar10 + param_7);\n          local_a8 = auStack_98;\n          if (__s != (char *)0x0) {\n            sVar9 = strlen(__s);\n            pcVar12 = __s + sVar9;\n          }\n                    \n          FUN_00174550(&local_a8,__s,pcVar12);\n          uVar15 = local_104;\n          if (local_121 == '\0') {\n            puVar11 = (ulong *)((ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9);\n            *puVar11 = *puVar11 | 1L << ((byte)local_104 & 0x3f);\n            if ((local_122 != '\0') && ((local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0')))) {\n              uVar10 = *(ulong *)(puVar8 + 8);\n              local_78 = local_f0;\n              local_88[0] = local_104;\n              local_80 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n              local_6c = 1;\n              local_70 = uVar4;\n                    \n              FUN_001e2560(param_1 + 0x36,local_88);\n            }\n          }\n          else if (local_122 != '\0') {\n            uVar10 = *(ulong *)(puVar8 + 8);\n            if (*(char *)(local_f0 + 0xc) == '\0') {\n                    \n                    \n              FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            uVar6 = *(undefined8 *)(local_f0 + 0x10);\n            local_68[0] = local_58;\n                    \n            FUN_0017d640(local_68,local_a8,local_a8 + local_a0);\n            local_48 = uVar15;\n            local_40 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n                    \n            FUN_001d9dc0(uVar6,local_68);\n            if (local_68[0] != local_58) {\n              FUN_002f1e60();\n            }\n          }\n          if (local_a8 != auStack_98) {\n            FUN_002f1e60();\n          }\n        }\n      }\n      else {\n        FUN_001dab60(param_1 + 0x1f);\n        uVar15 = uVar15 + (int)param_1[0x22];\n        local_104 = uVar15;\n        if (cVar14 == '\0') goto LAB_001e6d30;\nLAB_001e6e26:\n        local_104 = uVar15;\n        if (local_e0 == local_d8) {\n                    \n          FUN_001a8910(&local_e8,local_e0,&local_104);\n          goto LAB_001e6d30;\n        }\n        *local_e0 = uVar15;\n        local_e0 = local_e0 + 1;\n        if (uVar15 < *(uint *)(param_1 + 7)) goto LAB_001e6d3a;\nLAB_001e6e59:\n        uVar15 = local_104;\n        uVar6 = gettext("section %u in section group %u out of range");\n        FUN_001d19e0(param_1,uVar6,uVar15,param_4);\n      }\n      local_110 = (long *)((long)local_110 + 1);\n    } while (local_110 < local_118);" do (compound_statement "{\n      uVar15 = puVar5[(long)local_110];\n      uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n      if (uVar15 < 0xff00) {\n        local_104 = uVar15;\n        if (cVar14 != '\0') goto LAB_001e6e26;\nLAB_001e6d30:\n        if (*(uint *)(param_1 + 7) <= local_104) goto LAB_001e6e59;\nLAB_001e6d3a:\n        uVar15 = local_104;\n        if (local_104 < param_4) {\n          uVar6 = gettext("invalid section group %u refers to earlier section %u");\n                    \n          FUN_001d19e0(param_1,uVar6,param_4,uVar15);\n        }\n        puVar8 = (uint *)((ulong)(local_104 << 6) + param_6);\n        uVar15 = *puVar8;\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n          pcVar12 = (char *)0xffffffffffffffff;\n          __s = (char *)(uVar10 + param_7);\n          local_a8 = auStack_98;\n          if (__s != (char *)0x0) {\n            sVar9 = strlen(__s);\n            pcVar12 = __s + sVar9;\n          }\n                    \n          FUN_00174550(&local_a8,__s,pcVar12);\n          uVar15 = local_104;\n          if (local_121 == '\0') {\n            puVar11 = (ulong *)((ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9);\n            *puVar11 = *puVar11 | 1L << ((byte)local_104 & 0x3f);\n            if ((local_122 != '\0') && ((local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0')))) {\n              uVar10 = *(ulong *)(puVar8 + 8);\n              local_78 = local_f0;\n              local_88[0] = local_104;\n              local_80 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n              local_6c = 1;\n              local_70 = uVar4;\n                    \n              FUN_001e2560(param_1 + 0x36,local_88);\n            }\n          }\n          else if (local_122 != '\0') {\n            uVar10 = *(ulong *)(puVar8 + 8);\n            if (*(char *)(local_f0 + 0xc) == '\0') {\n                    \n                    \n              FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            uVar6 = *(undefined8 *)(local_f0 + 0x10);\n            local_68[0] = local_58;\n                    \n            FUN_0017d640(local_68,local_a8,local_a8 + local_a0);\n            local_48 = uVar15;\n            local_40 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n                    \n            FUN_001d9dc0(uVar6,local_68);\n            if (local_68[0] != local_58) {\n              FUN_002f1e60();\n            }\n          }\n          if (local_a8 != auStack_98) {\n            FUN_002f1e60();\n          }\n        }\n      }\n      else {\n        FUN_001dab60(param_1 + 0x1f);\n        uVar15 = uVar15 + (int)param_1[0x22];\n        local_104 = uVar15;\n        if (cVar14 == '\0') goto LAB_001e6d30;\nLAB_001e6e26:\n        local_104 = uVar15;\n        if (local_e0 == local_d8) {\n                    \n          FUN_001a8910(&local_e8,local_e0,&local_104);\n          goto LAB_001e6d30;\n        }\n        *local_e0 = uVar15;\n        local_e0 = local_e0 + 1;\n        if (uVar15 < *(uint *)(param_1 + 7)) goto LAB_001e6d3a;\nLAB_001e6e59:\n        uVar15 = local_104;\n        uVar6 = gettext("section %u in section group %u out of range");\n        FUN_001d19e0(param_1,uVar6,uVar15,param_4);\n      }\n      local_110 = (long *)((long)local_110 + 1);\n    }" { (expression_statement "uVar15 = puVar5[(long)local_110];" (assignment_expression "uVar15 = puVar5[(long)local_110]" identifier = (subscript_expression "puVar5[(long)local_110]" identifier [ (cast_expression "(long)local_110" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) ])) ;) (expression_statement "uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;" (assignment_expression "uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18" identifier = (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18" (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8" (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8" (binary_expression "uVar15 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar15 & 0xff0000) >> 8" (parenthesized_expression "(uVar15 & 0xff0000)" ( (binary_expression "uVar15 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar15 & 0xff00) << 8" (parenthesized_expression "(uVar15 & 0xff00)" ( (binary_expression "uVar15 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar15 << 0x18" identifier << number_literal))) ;) (if_statement "if (uVar15 < 0xff00) {\n        local_104 = uVar15;\n        if (cVar14 != '\0') goto LAB_001e6e26;\nLAB_001e6d30:\n        if (*(uint *)(param_1 + 7) <= local_104) goto LAB_001e6e59;\nLAB_001e6d3a:\n        uVar15 = local_104;\n        if (local_104 < param_4) {\n          uVar6 = gettext("invalid section group %u refers to earlier section %u");\n                    \n          FUN_001d19e0(param_1,uVar6,param_4,uVar15);\n        }\n        puVar8 = (uint *)((ulong)(local_104 << 6) + param_6);\n        uVar15 = *puVar8;\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n          pcVar12 = (char *)0xffffffffffffffff;\n          __s = (char *)(uVar10 + param_7);\n          local_a8 = auStack_98;\n          if (__s != (char *)0x0) {\n            sVar9 = strlen(__s);\n            pcVar12 = __s + sVar9;\n          }\n                    \n          FUN_00174550(&local_a8,__s,pcVar12);\n          uVar15 = local_104;\n          if (local_121 == '\0') {\n            puVar11 = (ulong *)((ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9);\n            *puVar11 = *puVar11 | 1L << ((byte)local_104 & 0x3f);\n            if ((local_122 != '\0') && ((local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0')))) {\n              uVar10 = *(ulong *)(puVar8 + 8);\n              local_78 = local_f0;\n              local_88[0] = local_104;\n              local_80 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n              local_6c = 1;\n              local_70 = uVar4;\n                    \n              FUN_001e2560(param_1 + 0x36,local_88);\n            }\n          }\n          else if (local_122 != '\0') {\n            uVar10 = *(ulong *)(puVar8 + 8);\n            if (*(char *)(local_f0 + 0xc) == '\0') {\n                    \n                    \n              FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            uVar6 = *(undefined8 *)(local_f0 + 0x10);\n            local_68[0] = local_58;\n                    \n            FUN_0017d640(local_68,local_a8,local_a8 + local_a0);\n            local_48 = uVar15;\n            local_40 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n                    \n            FUN_001d9dc0(uVar6,local_68);\n            if (local_68[0] != local_58) {\n              FUN_002f1e60();\n            }\n          }\n          if (local_a8 != auStack_98) {\n            FUN_002f1e60();\n          }\n        }\n      }\n      else {\n        FUN_001dab60(param_1 + 0x1f);\n        uVar15 = uVar15 + (int)param_1[0x22];\n        local_104 = uVar15;\n        if (cVar14 == '\0') goto LAB_001e6d30;\nLAB_001e6e26:\n        local_104 = uVar15;\n        if (local_e0 == local_d8) {\n                    \n          FUN_001a8910(&local_e8,local_e0,&local_104);\n          goto LAB_001e6d30;\n        }\n        *local_e0 = uVar15;\n        local_e0 = local_e0 + 1;\n        if (uVar15 < *(uint *)(param_1 + 7)) goto LAB_001e6d3a;\nLAB_001e6e59:\n        uVar15 = local_104;\n        uVar6 = gettext("section %u in section group %u out of range");\n        FUN_001d19e0(param_1,uVar6,uVar15,param_4);\n      }" if (parenthesized_expression "(uVar15 < 0xff00)" ( (binary_expression "uVar15 < 0xff00" identifier < number_literal) )) (compound_statement "{\n        local_104 = uVar15;\n        if (cVar14 != '\0') goto LAB_001e6e26;\nLAB_001e6d30:\n        if (*(uint *)(param_1 + 7) <= local_104) goto LAB_001e6e59;\nLAB_001e6d3a:\n        uVar15 = local_104;\n        if (local_104 < param_4) {\n          uVar6 = gettext("invalid section group %u refers to earlier section %u");\n                    \n          FUN_001d19e0(param_1,uVar6,param_4,uVar15);\n        }\n        puVar8 = (uint *)((ulong)(local_104 << 6) + param_6);\n        uVar15 = *puVar8;\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n          pcVar12 = (char *)0xffffffffffffffff;\n          __s = (char *)(uVar10 + param_7);\n          local_a8 = auStack_98;\n          if (__s != (char *)0x0) {\n            sVar9 = strlen(__s);\n            pcVar12 = __s + sVar9;\n          }\n                    \n          FUN_00174550(&local_a8,__s,pcVar12);\n          uVar15 = local_104;\n          if (local_121 == '\0') {\n            puVar11 = (ulong *)((ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9);\n            *puVar11 = *puVar11 | 1L << ((byte)local_104 & 0x3f);\n            if ((local_122 != '\0') && ((local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0')))) {\n              uVar10 = *(ulong *)(puVar8 + 8);\n              local_78 = local_f0;\n              local_88[0] = local_104;\n              local_80 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n              local_6c = 1;\n              local_70 = uVar4;\n                    \n              FUN_001e2560(param_1 + 0x36,local_88);\n            }\n          }\n          else if (local_122 != '\0') {\n            uVar10 = *(ulong *)(puVar8 + 8);\n            if (*(char *)(local_f0 + 0xc) == '\0') {\n                    \n                    \n              FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            uVar6 = *(undefined8 *)(local_f0 + 0x10);\n            local_68[0] = local_58;\n                    \n            FUN_0017d640(local_68,local_a8,local_a8 + local_a0);\n            local_48 = uVar15;\n            local_40 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n                    \n            FUN_001d9dc0(uVar6,local_68);\n            if (local_68[0] != local_58) {\n              FUN_002f1e60();\n            }\n          }\n          if (local_a8 != auStack_98) {\n            FUN_002f1e60();\n          }\n        }\n      }" { (expression_statement "local_104 = uVar15;" (assignment_expression "local_104 = uVar15" identifier = identifier) ;) (if_statement "if (cVar14 != '\0') goto LAB_001e6e26;" if (parenthesized_expression "(cVar14 != '\0')" ( (binary_expression "cVar14 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_001e6e26;" goto statement_identifier ;)) (labeled_statement "LAB_001e6d30:\n        if (*(uint *)(param_1 + 7) <= local_104) goto LAB_001e6e59;" statement_identifier : (if_statement "if (*(uint *)(param_1 + 7) <= local_104) goto LAB_001e6e59;" if (parenthesized_expression "(*(uint *)(param_1 + 7) <= local_104)" ( (binary_expression "*(uint *)(param_1 + 7) <= local_104" (pointer_expression "*(uint *)(param_1 + 7)" * (cast_expression "(uint *)(param_1 + 7)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 7)" ( (binary_expression "param_1 + 7" identifier + number_literal) )))) <= identifier) )) (goto_statement "goto LAB_001e6e59;" goto statement_identifier ;))) (labeled_statement "LAB_001e6d3a:\n        uVar15 = local_104;" statement_identifier : (expression_statement "uVar15 = local_104;" (assignment_expression "uVar15 = local_104" identifier = identifier) ;)) (if_statement "if (local_104 < param_4) {\n          uVar6 = gettext("invalid section group %u refers to earlier section %u");\n                    \n          FUN_001d19e0(param_1,uVar6,param_4,uVar15);\n        }" if (parenthesized_expression "(local_104 < param_4)" ( (binary_expression "local_104 < param_4" identifier < identifier) )) (compound_statement "{\n          uVar6 = gettext("invalid section group %u refers to earlier section %u");\n                    \n          FUN_001d19e0(param_1,uVar6,param_4,uVar15);\n        }" { (expression_statement "uVar6 = gettext("invalid section group %u refers to earlier section %u");" (assignment_expression "uVar6 = gettext("invalid section group %u refers to earlier section %u")" identifier = (call_expression "gettext("invalid section group %u refers to earlier section %u")" identifier (argument_list "("invalid section group %u refers to earlier section %u")" ( (string_literal ""invalid section group %u refers to earlier section %u"" " string_content ") )))) ;) (expression_statement "FUN_001d19e0(param_1,uVar6,param_4,uVar15);" (call_expression "FUN_001d19e0(param_1,uVar6,param_4,uVar15)" identifier (argument_list "(param_1,uVar6,param_4,uVar15)" ( identifier , identifier , identifier , identifier ))) ;) })) (expression_statement "puVar8 = (uint *)((ulong)(local_104 << 6) + param_6);" (assignment_expression "puVar8 = (uint *)((ulong)(local_104 << 6) + param_6)" identifier = (cast_expression "(uint *)((ulong)(local_104 << 6) + param_6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)(local_104 << 6) + param_6)" ( (binary_expression "(ulong)(local_104 << 6) + param_6" (call_expression "(ulong)(local_104 << 6)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(local_104 << 6)" ( (binary_expression "local_104 << 6" identifier << number_literal) ))) + identifier) )))) ;) (expression_statement "uVar15 = *puVar8;" (assignment_expression "uVar15 = *puVar8" identifier = (pointer_expression "*puVar8" * identifier)) ;) (expression_statement "uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);" (assignment_expression "uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18)" identifier = (call_expression "(ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18)" ( (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18" (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8" (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8" (binary_expression "uVar15 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar15 & 0xff0000) >> 8" (parenthesized_expression "(uVar15 & 0xff0000)" ( (binary_expression "uVar15 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar15 & 0xff00) << 8" (parenthesized_expression "(uVar15 & 0xff00)" ( (binary_expression "uVar15 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar15 << 0x18" identifier << number_literal)) )))) ;) (if_statement "if (uVar10 < param_8) {\n          pcVar12 = (char *)0xffffffffffffffff;\n          __s = (char *)(uVar10 + param_7);\n          local_a8 = auStack_98;\n          if (__s != (char *)0x0) {\n            sVar9 = strlen(__s);\n            pcVar12 = __s + sVar9;\n          }\n                    \n          FUN_00174550(&local_a8,__s,pcVar12);\n          uVar15 = local_104;\n          if (local_121 == '\0') {\n            puVar11 = (ulong *)((ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9);\n            *puVar11 = *puVar11 | 1L << ((byte)local_104 & 0x3f);\n            if ((local_122 != '\0') && ((local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0')))) {\n              uVar10 = *(ulong *)(puVar8 + 8);\n              local_78 = local_f0;\n              local_88[0] = local_104;\n              local_80 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n              local_6c = 1;\n              local_70 = uVar4;\n                    \n              FUN_001e2560(param_1 + 0x36,local_88);\n            }\n          }\n          else if (local_122 != '\0') {\n            uVar10 = *(ulong *)(puVar8 + 8);\n            if (*(char *)(local_f0 + 0xc) == '\0') {\n                    \n                    \n              FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            uVar6 = *(undefined8 *)(local_f0 + 0x10);\n            local_68[0] = local_58;\n                    \n            FUN_0017d640(local_68,local_a8,local_a8 + local_a0);\n            local_48 = uVar15;\n            local_40 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n                    \n            FUN_001d9dc0(uVar6,local_68);\n            if (local_68[0] != local_58) {\n              FUN_002f1e60();\n            }\n          }\n          if (local_a8 != auStack_98) {\n            FUN_002f1e60();\n          }\n        }" if (parenthesized_expression "(uVar10 < param_8)" ( (binary_expression "uVar10 < param_8" identifier < identifier) )) (compound_statement "{\n          pcVar12 = (char *)0xffffffffffffffff;\n          __s = (char *)(uVar10 + param_7);\n          local_a8 = auStack_98;\n          if (__s != (char *)0x0) {\n            sVar9 = strlen(__s);\n            pcVar12 = __s + sVar9;\n          }\n                    \n          FUN_00174550(&local_a8,__s,pcVar12);\n          uVar15 = local_104;\n          if (local_121 == '\0') {\n            puVar11 = (ulong *)((ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9);\n            *puVar11 = *puVar11 | 1L << ((byte)local_104 & 0x3f);\n            if ((local_122 != '\0') && ((local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0')))) {\n              uVar10 = *(ulong *)(puVar8 + 8);\n              local_78 = local_f0;\n              local_88[0] = local_104;\n              local_80 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n              local_6c = 1;\n              local_70 = uVar4;\n                    \n              FUN_001e2560(param_1 + 0x36,local_88);\n            }\n          }\n          else if (local_122 != '\0') {\n            uVar10 = *(ulong *)(puVar8 + 8);\n            if (*(char *)(local_f0 + 0xc) == '\0') {\n                    \n                    \n              FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            uVar6 = *(undefined8 *)(local_f0 + 0x10);\n            local_68[0] = local_58;\n                    \n            FUN_0017d640(local_68,local_a8,local_a8 + local_a0);\n            local_48 = uVar15;\n            local_40 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n                    \n            FUN_001d9dc0(uVar6,local_68);\n            if (local_68[0] != local_58) {\n              FUN_002f1e60();\n            }\n          }\n          if (local_a8 != auStack_98) {\n            FUN_002f1e60();\n          }\n        }" { (expression_statement "pcVar12 = (char *)0xffffffffffffffff;" (assignment_expression "pcVar12 = (char *)0xffffffffffffffff" identifier = (cast_expression "(char *)0xffffffffffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "__s = (char *)(uVar10 + param_7);" (assignment_expression "__s = (char *)(uVar10 + param_7)" identifier = (cast_expression "(char *)(uVar10 + param_7)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar10 + param_7)" ( (binary_expression "uVar10 + param_7" identifier + identifier) )))) ;) (expression_statement "local_a8 = auStack_98;" (assignment_expression "local_a8 = auStack_98" identifier = identifier) ;) (if_statement "if (__s != (char *)0x0) {\n            sVar9 = strlen(__s);\n            pcVar12 = __s + sVar9;\n          }" if (parenthesized_expression "(__s != (char *)0x0)" ( (binary_expression "__s != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            sVar9 = strlen(__s);\n            pcVar12 = __s + sVar9;\n          }" { (expression_statement "sVar9 = strlen(__s);" (assignment_expression "sVar9 = strlen(__s)" identifier = (call_expression "strlen(__s)" identifier (argument_list "(__s)" ( identifier )))) ;) (expression_statement "pcVar12 = __s + sVar9;" (assignment_expression "pcVar12 = __s + sVar9" identifier = (binary_expression "__s + sVar9" identifier + identifier)) ;) })) (expression_statement "FUN_00174550(&local_a8,__s,pcVar12);" (call_expression "FUN_00174550(&local_a8,__s,pcVar12)" identifier (argument_list "(&local_a8,__s,pcVar12)" ( (pointer_expression "&local_a8" & identifier) , identifier , identifier ))) ;) (expression_statement "uVar15 = local_104;" (assignment_expression "uVar15 = local_104" identifier = identifier) ;) (if_statement "if (local_121 == '\0') {\n            puVar11 = (ulong *)((ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9);\n            *puVar11 = *puVar11 | 1L << ((byte)local_104 & 0x3f);\n            if ((local_122 != '\0') && ((local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0')))) {\n              uVar10 = *(ulong *)(puVar8 + 8);\n              local_78 = local_f0;\n              local_88[0] = local_104;\n              local_80 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n              local_6c = 1;\n              local_70 = uVar4;\n                    \n              FUN_001e2560(param_1 + 0x36,local_88);\n            }\n          }\n          else if (local_122 != '\0') {\n            uVar10 = *(ulong *)(puVar8 + 8);\n            if (*(char *)(local_f0 + 0xc) == '\0') {\n                    \n                    \n              FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            uVar6 = *(undefined8 *)(local_f0 + 0x10);\n            local_68[0] = local_58;\n                    \n            FUN_0017d640(local_68,local_a8,local_a8 + local_a0);\n            local_48 = uVar15;\n            local_40 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n                    \n            FUN_001d9dc0(uVar6,local_68);\n            if (local_68[0] != local_58) {\n              FUN_002f1e60();\n            }\n          }" if (parenthesized_expression "(local_121 == '\0')" ( (binary_expression "local_121 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            puVar11 = (ulong *)((ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9);\n            *puVar11 = *puVar11 | 1L << ((byte)local_104 & 0x3f);\n            if ((local_122 != '\0') && ((local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0')))) {\n              uVar10 = *(ulong *)(puVar8 + 8);\n              local_78 = local_f0;\n              local_88[0] = local_104;\n              local_80 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n              local_6c = 1;\n              local_70 = uVar4;\n                    \n              FUN_001e2560(param_1 + 0x36,local_88);\n            }\n          }" { (expression_statement "puVar11 = (ulong *)((ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9);" (assignment_expression "puVar11 = (ulong *)((ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9)" identifier = (cast_expression "(ulong *)((ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9)" ( (binary_expression "(ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9" (call_expression "(ulong)(local_104 >> 3 & 0x1ffffff8)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(local_104 >> 3 & 0x1ffffff8)" ( (binary_expression "local_104 >> 3 & 0x1ffffff8" (binary_expression "local_104 >> 3" identifier >> number_literal) & number_literal) ))) + (pointer_expression "*param_9" * identifier)) )))) ;) (expression_statement "*puVar11 = *puVar11 | 1L << ((byte)local_104 & 0x3f);" (assignment_expression "*puVar11 = *puVar11 | 1L << ((byte)local_104 & 0x3f)" (pointer_expression "*puVar11" * identifier) = (binary_expression "*puVar11 | 1L << ((byte)local_104 & 0x3f)" (pointer_expression "*puVar11" * identifier) | (binary_expression "1L << ((byte)local_104 & 0x3f)" number_literal << (parenthesized_expression "((byte)local_104 & 0x3f)" ( (binary_expression "(byte)local_104 & 0x3f" (cast_expression "(byte)local_104" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))))) ;) (if_statement "if ((local_122 != '\0') && ((local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0')))) {\n              uVar10 = *(ulong *)(puVar8 + 8);\n              local_78 = local_f0;\n              local_88[0] = local_104;\n              local_80 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n              local_6c = 1;\n              local_70 = uVar4;\n                    \n              FUN_001e2560(param_1 + 0x36,local_88);\n            }" if (parenthesized_expression "((local_122 != '\0') && ((local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0'))))" ( (binary_expression "(local_122 != '\0') && ((local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0')))" (parenthesized_expression "(local_122 != '\0')" ( (binary_expression "local_122 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "((local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0')))" ( (parenthesized_expression "(local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0'))" ( (binary_expression "local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0')" (binary_expression "local_118 == 2" identifier == number_literal) || (parenthesized_expression "(*(char *)(local_f0 + 0xc) != '\0')" ( (binary_expression "*(char *)(local_f0 + 0xc) != '\0'" (pointer_expression "*(char *)(local_f0 + 0xc)" * (cast_expression "(char *)(local_f0 + 0xc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_f0 + 0xc)" ( (binary_expression "local_f0 + 0xc" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) ))) )) (compound_statement "{\n              uVar10 = *(ulong *)(puVar8 + 8);\n              local_78 = local_f0;\n              local_88[0] = local_104;\n              local_80 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n              local_6c = 1;\n              local_70 = uVar4;\n                    \n              FUN_001e2560(param_1 + 0x36,local_88);\n            }" { (expression_statement "uVar10 = *(ulong *)(puVar8 + 8);" (assignment_expression "uVar10 = *(ulong *)(puVar8 + 8)" identifier = (pointer_expression "*(ulong *)(puVar8 + 8)" * (cast_expression "(ulong *)(puVar8 + 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 8)" ( (binary_expression "puVar8 + 8" identifier + number_literal) ))))) ;) (expression_statement "local_78 = local_f0;" (assignment_expression "local_78 = local_f0" identifier = identifier) ;) (expression_statement "local_88[0] = local_104;" (assignment_expression "local_88[0] = local_104" (subscript_expression "local_88[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_80 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;" (assignment_expression "local_80 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38" identifier = (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28" (binary_expression "uVar10 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar10 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar10 & 0xff000000000000)" ( (binary_expression "uVar10 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar10 & 0xff0000000000)" ( (binary_expression "uVar10 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff00000000) >> 8" (parenthesized_expression "(uVar10 & 0xff00000000)" ( (binary_expression "uVar10 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff000000) << 8" (parenthesized_expression "(uVar10 & 0xff000000)" ( (binary_expression "uVar10 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar10 & 0xff0000) << 0x18" (parenthesized_expression "(uVar10 & 0xff0000)" ( (binary_expression "uVar10 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar10 & 0xff00) << 0x28" (parenthesized_expression "(uVar10 & 0xff00)" ( (binary_expression "uVar10 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar10 << 0x38" identifier << number_literal))) ;) (expression_statement "local_6c = 1;" (assignment_expression "local_6c = 1" identifier = number_literal) ;) (expression_statement "local_70 = uVar4;" (assignment_expression "local_70 = uVar4" identifier = identifier) ;) (expression_statement "FUN_001e2560(param_1 + 0x36,local_88);" (call_expression "FUN_001e2560(param_1 + 0x36,local_88)" identifier (argument_list "(param_1 + 0x36,local_88)" ( (binary_expression "param_1 + 0x36" identifier + number_literal) , identifier ))) ;) })) }) (else_clause "else if (local_122 != '\0') {\n            uVar10 = *(ulong *)(puVar8 + 8);\n            if (*(char *)(local_f0 + 0xc) == '\0') {\n                    \n                    \n              FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            uVar6 = *(undefined8 *)(local_f0 + 0x10);\n            local_68[0] = local_58;\n                    \n            FUN_0017d640(local_68,local_a8,local_a8 + local_a0);\n            local_48 = uVar15;\n            local_40 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n                    \n            FUN_001d9dc0(uVar6,local_68);\n            if (local_68[0] != local_58) {\n              FUN_002f1e60();\n            }\n          }" else (if_statement "if (local_122 != '\0') {\n            uVar10 = *(ulong *)(puVar8 + 8);\n            if (*(char *)(local_f0 + 0xc) == '\0') {\n                    \n                    \n              FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            uVar6 = *(undefined8 *)(local_f0 + 0x10);\n            local_68[0] = local_58;\n                    \n            FUN_0017d640(local_68,local_a8,local_a8 + local_a0);\n            local_48 = uVar15;\n            local_40 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n                    \n            FUN_001d9dc0(uVar6,local_68);\n            if (local_68[0] != local_58) {\n              FUN_002f1e60();\n            }\n          }" if (parenthesized_expression "(local_122 != '\0')" ( (binary_expression "local_122 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            uVar10 = *(ulong *)(puVar8 + 8);\n            if (*(char *)(local_f0 + 0xc) == '\0') {\n                    \n                    \n              FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            uVar6 = *(undefined8 *)(local_f0 + 0x10);\n            local_68[0] = local_58;\n                    \n            FUN_0017d640(local_68,local_a8,local_a8 + local_a0);\n            local_48 = uVar15;\n            local_40 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n                    \n            FUN_001d9dc0(uVar6,local_68);\n            if (local_68[0] != local_58) {\n              FUN_002f1e60();\n            }\n          }" { (expression_statement "uVar10 = *(ulong *)(puVar8 + 8);" (assignment_expression "uVar10 = *(ulong *)(puVar8 + 8)" identifier = (pointer_expression "*(ulong *)(puVar8 + 8)" * (cast_expression "(ulong *)(puVar8 + 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 8)" ( (binary_expression "puVar8 + 8" identifier + number_literal) ))))) ;) (if_statement "if (*(char *)(local_f0 + 0xc) == '\0') {\n                    \n                    \n              FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");\n            }" if (parenthesized_expression "(*(char *)(local_f0 + 0xc) == '\0')" ( (binary_expression "*(char *)(local_f0 + 0xc) == '\0'" (pointer_expression "*(char *)(local_f0 + 0xc)" * (cast_expression "(char *)(local_f0 + 0xc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_f0 + 0xc)" ( (binary_expression "local_f0 + 0xc" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    \n                    \n              FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");\n            }" { (expression_statement "FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");" (call_expression "FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section")" identifier (argument_list "("../../gold/layout.h",0x135,"add_comdat_section")" ( (string_literal ""../../gold/layout.h"" " string_content ") , number_literal , (string_literal ""add_comdat_section"" " string_content ") ))) ;) })) (expression_statement "uVar6 = *(undefined8 *)(local_f0 + 0x10);" (assignment_expression "uVar6 = *(undefined8 *)(local_f0 + 0x10)" identifier = (pointer_expression "*(undefined8 *)(local_f0 + 0x10)" * (cast_expression "(undefined8 *)(local_f0 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_f0 + 0x10)" ( (binary_expression "local_f0 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "local_68[0] = local_58;" (assignment_expression "local_68[0] = local_58" (subscript_expression "local_68[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_0017d640(local_68,local_a8,local_a8 + local_a0);" (call_expression "FUN_0017d640(local_68,local_a8,local_a8 + local_a0)" identifier (argument_list "(local_68,local_a8,local_a8 + local_a0)" ( identifier , identifier , (binary_expression "local_a8 + local_a0" identifier + identifier) ))) ;) (expression_statement "local_48 = uVar15;" (assignment_expression "local_48 = uVar15" identifier = identifier) ;) (expression_statement "local_40 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;" (assignment_expression "local_40 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38" identifier = (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28" (binary_expression "uVar10 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar10 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar10 & 0xff000000000000)" ( (binary_expression "uVar10 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar10 & 0xff0000000000)" ( (binary_expression "uVar10 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff00000000) >> 8" (parenthesized_expression "(uVar10 & 0xff00000000)" ( (binary_expression "uVar10 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff000000) << 8" (parenthesized_expression "(uVar10 & 0xff000000)" ( (binary_expression "uVar10 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar10 & 0xff0000) << 0x18" (parenthesized_expression "(uVar10 & 0xff0000)" ( (binary_expression "uVar10 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar10 & 0xff00) << 0x28" (parenthesized_expression "(uVar10 & 0xff00)" ( (binary_expression "uVar10 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar10 << 0x38" identifier << number_literal))) ;) (expression_statement "FUN_001d9dc0(uVar6,local_68);" (call_expression "FUN_001d9dc0(uVar6,local_68)" identifier (argument_list "(uVar6,local_68)" ( identifier , identifier ))) ;) (if_statement "if (local_68[0] != local_58) {\n              FUN_002f1e60();\n            }" if (parenthesized_expression "(local_68[0] != local_58)" ( (binary_expression "local_68[0] != local_58" (subscript_expression "local_68[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n              FUN_002f1e60();\n            }" { (expression_statement "FUN_002f1e60();" (call_expression "FUN_002f1e60()" identifier (argument_list "()" ( ))) ;) })) })))) (if_statement "if (local_a8 != auStack_98) {\n            FUN_002f1e60();\n          }" if (parenthesized_expression "(local_a8 != auStack_98)" ( (binary_expression "local_a8 != auStack_98" identifier != identifier) )) (compound_statement "{\n            FUN_002f1e60();\n          }" { (expression_statement "FUN_002f1e60();" (call_expression "FUN_002f1e60()" identifier (argument_list "()" ( ))) ;) })) })) }) (else_clause "else {\n        FUN_001dab60(param_1 + 0x1f);\n        uVar15 = uVar15 + (int)param_1[0x22];\n        local_104 = uVar15;\n        if (cVar14 == '\0') goto LAB_001e6d30;\nLAB_001e6e26:\n        local_104 = uVar15;\n        if (local_e0 == local_d8) {\n                    \n          FUN_001a8910(&local_e8,local_e0,&local_104);\n          goto LAB_001e6d30;\n        }\n        *local_e0 = uVar15;\n        local_e0 = local_e0 + 1;\n        if (uVar15 < *(uint *)(param_1 + 7)) goto LAB_001e6d3a;\nLAB_001e6e59:\n        uVar15 = local_104;\n        uVar6 = gettext("section %u in section group %u out of range");\n        FUN_001d19e0(param_1,uVar6,uVar15,param_4);\n      }" else (compound_statement "{\n        FUN_001dab60(param_1 + 0x1f);\n        uVar15 = uVar15 + (int)param_1[0x22];\n        local_104 = uVar15;\n        if (cVar14 == '\0') goto LAB_001e6d30;\nLAB_001e6e26:\n        local_104 = uVar15;\n        if (local_e0 == local_d8) {\n                    \n          FUN_001a8910(&local_e8,local_e0,&local_104);\n          goto LAB_001e6d30;\n        }\n        *local_e0 = uVar15;\n        local_e0 = local_e0 + 1;\n        if (uVar15 < *(uint *)(param_1 + 7)) goto LAB_001e6d3a;\nLAB_001e6e59:\n        uVar15 = local_104;\n        uVar6 = gettext("section %u in section group %u out of range");\n        FUN_001d19e0(param_1,uVar6,uVar15,param_4);\n      }" { (expression_statement "FUN_001dab60(param_1 + 0x1f);" (call_expression "FUN_001dab60(param_1 + 0x1f)" identifier (argument_list "(param_1 + 0x1f)" ( (binary_expression "param_1 + 0x1f" identifier + number_literal) ))) ;) (expression_statement "uVar15 = uVar15 + (int)param_1[0x22];" (assignment_expression "uVar15 = uVar15 + (int)param_1[0x22]" identifier = (binary_expression "uVar15 + (int)param_1[0x22]" identifier + (cast_expression "(int)param_1[0x22]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_1[0x22]" identifier [ number_literal ])))) ;) (expression_statement "local_104 = uVar15;" (assignment_expression "local_104 = uVar15" identifier = identifier) ;) (if_statement "if (cVar14 == '\0') goto LAB_001e6d30;" if (parenthesized_expression "(cVar14 == '\0')" ( (binary_expression "cVar14 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_001e6d30;" goto statement_identifier ;)) (labeled_statement "LAB_001e6e26:\n        local_104 = uVar15;" statement_identifier : (expression_statement "local_104 = uVar15;" (assignment_expression "local_104 = uVar15" identifier = identifier) ;)) (if_statement "if (local_e0 == local_d8) {\n                    \n          FUN_001a8910(&local_e8,local_e0,&local_104);\n          goto LAB_001e6d30;\n        }" if (parenthesized_expression "(local_e0 == local_d8)" ( (binary_expression "local_e0 == local_d8" identifier == identifier) )) (compound_statement "{\n                    \n          FUN_001a8910(&local_e8,local_e0,&local_104);\n          goto LAB_001e6d30;\n        }" { (expression_statement "FUN_001a8910(&local_e8,local_e0,&local_104);" (call_expression "FUN_001a8910(&local_e8,local_e0,&local_104)" identifier (argument_list "(&local_e8,local_e0,&local_104)" ( (pointer_expression "&local_e8" & identifier) , identifier , (pointer_expression "&local_104" & identifier) ))) ;) (goto_statement "goto LAB_001e6d30;" goto statement_identifier ;) })) (expression_statement "*local_e0 = uVar15;" (assignment_expression "*local_e0 = uVar15" (pointer_expression "*local_e0" * identifier) = identifier) ;) (expression_statement "local_e0 = local_e0 + 1;" (assignment_expression "local_e0 = local_e0 + 1" identifier = (binary_expression "local_e0 + 1" identifier + number_literal)) ;) (if_statement "if (uVar15 < *(uint *)(param_1 + 7)) goto LAB_001e6d3a;" if (parenthesized_expression "(uVar15 < *(uint *)(param_1 + 7))" ( (binary_expression "uVar15 < *(uint *)(param_1 + 7)" identifier < (pointer_expression "*(uint *)(param_1 + 7)" * (cast_expression "(uint *)(param_1 + 7)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 7)" ( (binary_expression "param_1 + 7" identifier + number_literal) ))))) )) (goto_statement "goto LAB_001e6d3a;" goto statement_identifier ;)) (labeled_statement "LAB_001e6e59:\n        uVar15 = local_104;" statement_identifier : (expression_statement "uVar15 = local_104;" (assignment_expression "uVar15 = local_104" identifier = identifier) ;)) (expression_statement "uVar6 = gettext("section %u in section group %u out of range");" (assignment_expression "uVar6 = gettext("section %u in section group %u out of range")" identifier = (call_expression "gettext("section %u in section group %u out of range")" identifier (argument_list "("section %u in section group %u out of range")" ( (string_literal ""section %u in section group %u out of range"" " string_content ") )))) ;) (expression_statement "FUN_001d19e0(param_1,uVar6,uVar15,param_4);" (call_expression "FUN_001d19e0(param_1,uVar6,uVar15,param_4)" identifier (argument_list "(param_1,uVar6,uVar15,param_4)" ( identifier , identifier , identifier , identifier ))) ;) }))) (expression_statement "local_110 = (long *)((long)local_110 + 1);" (assignment_expression "local_110 = (long *)((long)local_110 + 1)" identifier = (cast_expression "(long *)((long)local_110 + 1)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_110 + 1)" ( (binary_expression "(long)local_110 + 1" (cast_expression "(long)local_110" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(local_110 < local_118)" ( (binary_expression "local_110 < local_118" identifier < identifier) )) ;) (if_statement "if (cVar14 != '\0') {\nLAB_001e7093:\n      local_110 = &local_e8;\n                    \n      FUN_001caee0(param_3,param_2,param_1,param_4,param_5,local_c8[0],&local_100,\n                   uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                   local_110);\n    }" if (parenthesized_expression "(cVar14 != '\0')" ( (binary_expression "cVar14 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_001e7093:\n      local_110 = &local_e8;\n                    \n      FUN_001caee0(param_3,param_2,param_1,param_4,param_5,local_c8[0],&local_100,\n                   uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                   local_110);\n    }" { (labeled_statement "LAB_001e7093:\n      local_110 = &local_e8;" statement_identifier : (expression_statement "local_110 = &local_e8;" (assignment_expression "local_110 = &local_e8" identifier = (pointer_expression "&local_e8" & identifier)) ;)) (expression_statement "FUN_001caee0(param_3,param_2,param_1,param_4,param_5,local_c8[0],&local_100,\n                   uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                   local_110);" (call_expression "FUN_001caee0(param_3,param_2,param_1,param_4,param_5,local_c8[0],&local_100,\n                   uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                   local_110)" identifier (argument_list "(param_3,param_2,param_1,param_4,param_5,local_c8[0],&local_100,\n                   uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                   local_110)" ( identifier , identifier , identifier , identifier , identifier , (subscript_expression "local_c8[0]" identifier [ number_literal ]) , (pointer_expression "&local_100" & identifier) , (binary_expression "uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18" (binary_expression "uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8" (binary_expression "uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8" (binary_expression "uVar1 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar1 & 0xff0000) >> 8" (parenthesized_expression "(uVar1 & 0xff0000)" ( (binary_expression "uVar1 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar1 & 0xff00) << 8" (parenthesized_expression "(uVar1 & 0xff00)" ( (binary_expression "uVar1 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar1 << 0x18" identifier << number_literal)) , identifier ))) ;) })) }))) (if_statement "if (local_e8 != 0) {\n    FUN_002f1e60();\n  }" if (parenthesized_expression "(local_e8 != 0)" ( (binary_expression "local_e8 != 0" identifier != number_literal) )) (compound_statement "{\n    FUN_002f1e60();\n  }" { (expression_statement "FUN_002f1e60();" (call_expression "FUN_002f1e60()" identifier (argument_list "()" ( ))) ;) })) (labeled_statement "LAB_001e70e8:\n  if (local_c8[0] != acStack_b8) {\n    FUN_002f1e60();\n  }" statement_identifier : (if_statement "if (local_c8[0] != acStack_b8) {\n    FUN_002f1e60();\n  }" if (parenthesized_expression "(local_c8[0] != acStack_b8)" ( (binary_expression "local_c8[0] != acStack_b8" (subscript_expression "local_c8[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n    FUN_002f1e60();\n  }" { (expression_statement "FUN_002f1e60();" (call_expression "FUN_002f1e60()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return local_121;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration (sized_type_specifier long) (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE 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 IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) , (subscript_expression IDENT [ LIT ]) , (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) , (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) , LIT , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * 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 = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) , (subscript_expression IDENT [ LIT ]) , IDENT , LIT , LIT , LIT )))) ;) (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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) )) / LIT) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;)) (return_statement return (char_literal ' escape_sequence ') ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) , (subscript_expression IDENT [ LIT ]) , (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT * LIT) ))) + (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) ))) , LIT , LIT , LIT ))))) ;) (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 (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) })) (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 * IDENT) + LIT) )))) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) , (subscript_expression IDENT [ LIT ]) , (field_expression IDENT . field_identifier) , IDENT , LIT , LIT ))))) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) , LIT ))))) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (subscript_expression IDENT [ LIT ])) == (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) << LIT) | (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) >> LIT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier) , LIT ))))) ;) (labeled_statement statement_identifier : (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT << LIT) )))) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + IDENT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (goto_statement goto statement_identifier ;) }))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)) << LIT) )))) ;) }))))) (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 ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;)) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (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) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (binary_expression IDENT - LIT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , LIT , LIT , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (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 ( (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = 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 = (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (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 (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) )) >> LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) ;)) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) <= IDENT) )) (goto_statement goto statement_identifier ;))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (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 ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT << LIT) ))) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (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 = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT >> LIT) & LIT) ))) + (pointer_expression * IDENT)) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) | (binary_expression LIT << (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_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) )))) != (char_literal ' escape_sequence ')) ))) )) ))) )) (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 = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT ))) ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (binary_expression IDENT + IDENT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (call_expression IDENT (argument_list ( 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 IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) })) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT , (pointer_expression & IDENT) ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (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 ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (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 ))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , (subscript_expression IDENT [ LIT ]) , (pointer_expression & IDENT) , (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) , IDENT ))) ;) })) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) (return_statement return IDENT ;) })))
(function_definition "char FUN_001e6a30(long *param_1,undefined8 param_2,long param_3,uint param_4,undefined8 param_5,\n                 long param_6,long param_7,ulong param_8,long *param_9)\n\n{\n  uint uVar1;\n  ulong uVar2;\n  ushort uVar3;\n  uint uVar4;\n  uint *puVar5;\n  undefined8 uVar6;\n  long lVar7;\n  uint *puVar8;\n  size_t sVar9;\n  ulong uVar10;\n  ulong *puVar11;\n  undefined8 extraout_RDX;\n  char *pcVar12;\n  undefined8 extraout_RDX_00;\n  undefined8 extraout_RDX_01;\n  undefined8 extraout_RDX_02;\n  undefined4 *puVar13;\n  char *__s;\n  char cVar14;\n  uint uVar15;\n  undefined1 auVar16 [16];\n  undefined8 uStack_1a0;\n  char local_122;\n  char local_121;\n  ulong local_118;\n  long *local_110;\n  uint local_104;\n  long local_100;\n  ulong local_f8;\n  long local_f0;\n  long local_e8;\n  uint *local_e0;\n  uint *local_d8;\n  char *local_c8 [2];\n  char acStack_b8 [16];\n  undefined1 *local_a8;\n  long local_a0;\n  undefined1 auStack_98 [16];\n  uint local_88 [2];\n  ulong local_80;\n  long local_78;\n  uint local_70;\n  undefined1 local_6c;\n  undefined1 *local_68 [2];\n  undefined1 local_58 [16];\n  uint local_48;\n  ulong local_40;\n  \n  local_100 = (ulong)(param_4 << 6) + param_6;\n  uVar10 = *(ulong *)(local_100 + 0x20);\n  uVar2 = *(ulong *)(local_100 + 0x18);\n  if (param_1[5] == 0) {\nLAB_001e7390:\n                    \n    FUN_001d17f0();\n  }\n  puVar5 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],\n                                uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 |\n                                (uVar2 & 0xff0000000000) >> 0x18 | (uVar2 & 0xff00000000) >> 8 |\n                                (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n                                (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38,\n                                uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38,1,0);\n  uVar1 = *puVar5;\n  uVar4 = *(uint *)(local_100 + 0x28);\n  uVar4 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n  if (0xfeff < uVar4) {\n    FUN_001dab60(param_1 + 0x1f);\n    uVar4 = uVar4 + (int)param_1[0x22];\n  }\n  uVar6 = FUN_001e0b10(param_1 + 0x1f,uVar4);\n  if (param_1[5] == 0) goto LAB_001e7390;\n  lVar7 = FUN_0018a760(param_1[5] + 0x28,param_1[6],uVar6,0x40,1,1);\n  uVar10 = *(ulong *)(lVar7 + 0x20);\n  uVar4 = *(uint *)(local_100 + 0x2c);\n  uVar4 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n  if ((uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n       (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38) / 0x18 <= (ulong)uVar4) {\n    uVar6 = gettext("section group %u info %u out of range");\n    uVar15 = uVar4;\nLAB_001e6ed5:\n    FUN_001d19e0(param_1,uVar6,param_4,uVar15);\n    return '\0';\n  }\n  uVar10 = *(ulong *)(lVar7 + 0x18);\n  if (param_1[5] == 0) goto LAB_001e7390;\n  puVar8 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],\n                                (ulong)(uVar4 * 0x18) +\n                                (uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38),0x18,1,0);\n  uVar15 = *(uint *)(lVar7 + 0x28);\n  uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n  if (0xfeff < uVar15) {\n    FUN_001dab60(param_1 + 0x1f);\n    uVar15 = uVar15 + (int)param_1[0x22];\n  }\n  if (*(code **)(*param_1 + 0x70) == FUN_001e0d50) {\n    auVar16 = FUN_001e0ca0(param_1 + 0x1f,uVar15);\n    local_f8 = auVar16._8_8_;\n    puVar13 = &DAT_00393c8a;\n    if (local_f8 != 0) {\n      if (param_1[5] == 0) goto LAB_001e7390;\n      puVar13 = (undefined4 *)FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar16._0_8_,local_f8,1,1);\n    }\n  }\n  else {\n    puVar13 = (undefined4 *)(**(code **)(*param_1 + 0x70))(param_1,uVar15,&local_f8,1);\n  }\n  uVar15 = *puVar8;\n  uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n  if (local_f8 <= uVar15) {\n    uVar6 = gettext("symbol %u name offset %u out of range");\n    param_4 = uVar4;\n    goto LAB_001e6ed5;\n  }\n  uStack_1a0 = 0x1e6c17;\n  FUN_001d26c0(local_c8,(long)puVar13 + (ulong)uVar15);\n  uVar6 = extraout_RDX;\n  if ((*local_c8[0] == '\0') && ((puVar8[1] & 0xf) == 3)) {\n    uVar3 = *(ushort *)((long)puVar8 + 6) << 8 | *(ushort *)((long)puVar8 + 6) >> 8;\n    uVar15 = (uint)uVar3;\n    if (uVar15 < 0xff00) {\n      local_68[0] = (undefined1 *)CONCAT71(local_68[0]._1_7_,1);\nLAB_001e6f84:\n      if (uVar15 < *(uint *)(param_1 + 7)) {\n        uVar15 = *(uint *)(param_6 + (ulong)(uVar15 << 6));\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n                    \n          uStack_1a0 = 0x1e6fbf;\n          FUN_002f9af0(local_c8,uVar10 + param_7);\n          uVar6 = extraout_RDX_00;\n        }\n        goto LAB_001e6c3f;\n      }\n    }\n    else if (uVar3 == 0xffff) {\n      uStack_1a0 = 0x1e737b;\n      uVar15 = FUN_001d1b60(param_1,uVar4,local_68);\n      uVar6 = extraout_RDX_02;\n      if ((char)local_68[0] != '\0') goto LAB_001e6f84;\n    }\n    else {\n      local_68[0] = (undefined1 *)((ulong)local_68[0]._1_7_ << 8);\n    }\n    uVar6 = gettext("symbol %u invalid section index %u");\n                    \n    FUN_001d19e0(param_1,uVar6,uVar4,uVar15);\nLAB_001e735d:\n    local_121 = '\0';\n    goto LAB_001e70e8;\n  }\nLAB_001e6c3f:\n  local_f0 = 0;\n  if ((uVar1 >> 0x18 & 1) == 0) {\n    uVar10 = *(ulong *)(local_100 + 0x20);\n    local_122 = '\0';\n    local_118 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28\n                | uVar10 << 0x38;\n    uStack_1a0 = uVar6;\nLAB_001e6c9f:\n    local_118 = local_118 >> 2;\n    local_d8 = (uint *)0x0;\n    local_e0 = (uint *)0x0;\n    local_e8 = 0;\n    if (*(long *)(PTR_DAT_0045c708 + 0x10) == 0) {\n                    \n                    \n      FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n    }\n    cVar14 = *(char *)(*(long *)(PTR_DAT_0045c708 + 0x10) + 0x5051);\n    if (cVar14 != '\0') {\n                    \n      FUN_001da300(&local_e8,local_118 - 1,uStack_1a0);\n      local_121 = cVar14;\n      if (1 < local_118) goto LAB_001e6cd9;\n      goto LAB_001e7093;\n    }\n    local_121 = '\x01';\n    if (1 < local_118) goto LAB_001e6cd9;\n  }\n  else {\n                    \n    local_122 = FUN_001c1720(param_3,local_c8,param_1,param_4,1,1,&local_f0);\n    if (local_122 != '\0') {\n      if (*(long *)(param_3 + 0x378) != 0) {\n        FUN_00197030(*(long *)(param_3 + 0x378),param_1,local_c8[0]);\n        uStack_1a0 = extraout_RDX_01;\n      }\n      uVar10 = *(ulong *)(local_100 + 0x20);\n      local_118 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                  (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                  (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                  (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n      goto LAB_001e6c9f;\n    }\n    local_e8 = 0;\n    local_e0 = (uint *)0x0;\n    local_d8 = (uint *)0x0;\n    uVar10 = *(ulong *)(local_100 + 0x20);\n    local_118 = (uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38) >> 2;\n    if (local_118 < 2) goto LAB_001e735d;\n    local_121 = '\0';\n    local_122 = '\x01';\n    cVar14 = '\0';\nLAB_001e6cd9:\n    local_110 = (long *)0x1;\n    do {\n      uVar15 = puVar5[(long)local_110];\n      uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n      if (uVar15 < 0xff00) {\n        local_104 = uVar15;\n        if (cVar14 != '\0') goto LAB_001e6e26;\nLAB_001e6d30:\n        if (*(uint *)(param_1 + 7) <= local_104) goto LAB_001e6e59;\nLAB_001e6d3a:\n        uVar15 = local_104;\n        if (local_104 < param_4) {\n          uVar6 = gettext("invalid section group %u refers to earlier section %u");\n                    \n          FUN_001d19e0(param_1,uVar6,param_4,uVar15);\n        }\n        puVar8 = (uint *)((ulong)(local_104 << 6) + param_6);\n        uVar15 = *puVar8;\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n          pcVar12 = (char *)0xffffffffffffffff;\n          __s = (char *)(uVar10 + param_7);\n          local_a8 = auStack_98;\n          if (__s != (char *)0x0) {\n            sVar9 = strlen(__s);\n            pcVar12 = __s + sVar9;\n          }\n                    \n          FUN_00174550(&local_a8,__s,pcVar12);\n          uVar15 = local_104;\n          if (local_121 == '\0') {\n            puVar11 = (ulong *)((ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9);\n            *puVar11 = *puVar11 | 1L << ((byte)local_104 & 0x3f);\n            if ((local_122 != '\0') && ((local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0')))) {\n              uVar10 = *(ulong *)(puVar8 + 8);\n              local_78 = local_f0;\n              local_88[0] = local_104;\n              local_80 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n              local_6c = 1;\n              local_70 = uVar4;\n                    \n              FUN_001e2560(param_1 + 0x36,local_88);\n            }\n          }\n          else if (local_122 != '\0') {\n            uVar10 = *(ulong *)(puVar8 + 8);\n            if (*(char *)(local_f0 + 0xc) == '\0') {\n                    \n                    \n              FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            uVar6 = *(undefined8 *)(local_f0 + 0x10);\n            local_68[0] = local_58;\n                    \n            FUN_0017d640(local_68,local_a8,local_a8 + local_a0);\n            local_48 = uVar15;\n            local_40 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n                    \n            FUN_001d9dc0(uVar6,local_68);\n            if (local_68[0] != local_58) {\n              FUN_002f1e60();\n            }\n          }\n          if (local_a8 != auStack_98) {\n            FUN_002f1e60();\n          }\n        }\n      }\n      else {\n        FUN_001dab60(param_1 + 0x1f);\n        uVar15 = uVar15 + (int)param_1[0x22];\n        local_104 = uVar15;\n        if (cVar14 == '\0') goto LAB_001e6d30;\nLAB_001e6e26:\n        local_104 = uVar15;\n        if (local_e0 == local_d8) {\n                    \n          FUN_001a8910(&local_e8,local_e0,&local_104);\n          goto LAB_001e6d30;\n        }\n        *local_e0 = uVar15;\n        local_e0 = local_e0 + 1;\n        if (uVar15 < *(uint *)(param_1 + 7)) goto LAB_001e6d3a;\nLAB_001e6e59:\n        uVar15 = local_104;\n        uVar6 = gettext("section %u in section group %u out of range");\n        FUN_001d19e0(param_1,uVar6,uVar15,param_4);\n      }\n      local_110 = (long *)((long)local_110 + 1);\n    } while (local_110 < local_118);\n    if (cVar14 != '\0') {\nLAB_001e7093:\n      local_110 = &local_e8;\n                    \n      FUN_001caee0(param_3,param_2,param_1,param_4,param_5,local_c8[0],&local_100,\n                   uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                   local_110);\n    }\n  }\n  if (local_e8 != 0) {\n    FUN_002f1e60();\n  }\nLAB_001e70e8:\n  if (local_c8[0] != acStack_b8) {\n    FUN_002f1e60();\n  }\n  return local_121;\n}" (primitive_type "char") (function_declarator "FUN_001e6a30(long *param_1,undefined8 param_2,long param_3,uint param_4,undefined8 param_5,\n                 long param_6,long param_7,ulong param_8,long *param_9)" (identifier "FUN_001e6a30") (parameter_list "(long *param_1,undefined8 param_2,long param_3,uint param_4,undefined8 param_5,\n                 long param_6,long param_7,ulong param_8,long *param_9)" (( "(") (parameter_declaration "long *param_1" (sized_type_specifier "long" (long "long")) (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "undefined8 param_2" (type_identifier "undefined8") (identifier "param_2")) (, ",") (parameter_declaration "long param_3" (sized_type_specifier "long" (long "long")) (identifier "param_3")) (, ",") (parameter_declaration "uint param_4" (type_identifier "uint") (identifier "param_4")) (, ",") (parameter_declaration "undefined8 param_5" (type_identifier "undefined8") (identifier "param_5")) (, ",") (parameter_declaration "long param_6" (sized_type_specifier "long" (long "long")) (identifier "param_6")) (, ",") (parameter_declaration "long param_7" (sized_type_specifier "long" (long "long")) (identifier "param_7")) (, ",") (parameter_declaration "ulong param_8" (type_identifier "ulong") (identifier "param_8")) (, ",") (parameter_declaration "long *param_9" (sized_type_specifier "long" (long "long")) (pointer_declarator "*param_9" (* "*") (identifier "param_9"))) () ")"))) (compound_statement "{\n  uint uVar1;\n  ulong uVar2;\n  ushort uVar3;\n  uint uVar4;\n  uint *puVar5;\n  undefined8 uVar6;\n  long lVar7;\n  uint *puVar8;\n  size_t sVar9;\n  ulong uVar10;\n  ulong *puVar11;\n  undefined8 extraout_RDX;\n  char *pcVar12;\n  undefined8 extraout_RDX_00;\n  undefined8 extraout_RDX_01;\n  undefined8 extraout_RDX_02;\n  undefined4 *puVar13;\n  char *__s;\n  char cVar14;\n  uint uVar15;\n  undefined1 auVar16 [16];\n  undefined8 uStack_1a0;\n  char local_122;\n  char local_121;\n  ulong local_118;\n  long *local_110;\n  uint local_104;\n  long local_100;\n  ulong local_f8;\n  long local_f0;\n  long local_e8;\n  uint *local_e0;\n  uint *local_d8;\n  char *local_c8 [2];\n  char acStack_b8 [16];\n  undefined1 *local_a8;\n  long local_a0;\n  undefined1 auStack_98 [16];\n  uint local_88 [2];\n  ulong local_80;\n  long local_78;\n  uint local_70;\n  undefined1 local_6c;\n  undefined1 *local_68 [2];\n  undefined1 local_58 [16];\n  uint local_48;\n  ulong local_40;\n  \n  local_100 = (ulong)(param_4 << 6) + param_6;\n  uVar10 = *(ulong *)(local_100 + 0x20);\n  uVar2 = *(ulong *)(local_100 + 0x18);\n  if (param_1[5] == 0) {\nLAB_001e7390:\n                    \n    FUN_001d17f0();\n  }\n  puVar5 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],\n                                uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 |\n                                (uVar2 & 0xff0000000000) >> 0x18 | (uVar2 & 0xff00000000) >> 8 |\n                                (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n                                (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38,\n                                uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38,1,0);\n  uVar1 = *puVar5;\n  uVar4 = *(uint *)(local_100 + 0x28);\n  uVar4 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n  if (0xfeff < uVar4) {\n    FUN_001dab60(param_1 + 0x1f);\n    uVar4 = uVar4 + (int)param_1[0x22];\n  }\n  uVar6 = FUN_001e0b10(param_1 + 0x1f,uVar4);\n  if (param_1[5] == 0) goto LAB_001e7390;\n  lVar7 = FUN_0018a760(param_1[5] + 0x28,param_1[6],uVar6,0x40,1,1);\n  uVar10 = *(ulong *)(lVar7 + 0x20);\n  uVar4 = *(uint *)(local_100 + 0x2c);\n  uVar4 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n  if ((uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n       (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38) / 0x18 <= (ulong)uVar4) {\n    uVar6 = gettext("section group %u info %u out of range");\n    uVar15 = uVar4;\nLAB_001e6ed5:\n    FUN_001d19e0(param_1,uVar6,param_4,uVar15);\n    return '\0';\n  }\n  uVar10 = *(ulong *)(lVar7 + 0x18);\n  if (param_1[5] == 0) goto LAB_001e7390;\n  puVar8 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],\n                                (ulong)(uVar4 * 0x18) +\n                                (uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38),0x18,1,0);\n  uVar15 = *(uint *)(lVar7 + 0x28);\n  uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n  if (0xfeff < uVar15) {\n    FUN_001dab60(param_1 + 0x1f);\n    uVar15 = uVar15 + (int)param_1[0x22];\n  }\n  if (*(code **)(*param_1 + 0x70) == FUN_001e0d50) {\n    auVar16 = FUN_001e0ca0(param_1 + 0x1f,uVar15);\n    local_f8 = auVar16._8_8_;\n    puVar13 = &DAT_00393c8a;\n    if (local_f8 != 0) {\n      if (param_1[5] == 0) goto LAB_001e7390;\n      puVar13 = (undefined4 *)FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar16._0_8_,local_f8,1,1);\n    }\n  }\n  else {\n    puVar13 = (undefined4 *)(**(code **)(*param_1 + 0x70))(param_1,uVar15,&local_f8,1);\n  }\n  uVar15 = *puVar8;\n  uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n  if (local_f8 <= uVar15) {\n    uVar6 = gettext("symbol %u name offset %u out of range");\n    param_4 = uVar4;\n    goto LAB_001e6ed5;\n  }\n  uStack_1a0 = 0x1e6c17;\n  FUN_001d26c0(local_c8,(long)puVar13 + (ulong)uVar15);\n  uVar6 = extraout_RDX;\n  if ((*local_c8[0] == '\0') && ((puVar8[1] & 0xf) == 3)) {\n    uVar3 = *(ushort *)((long)puVar8 + 6) << 8 | *(ushort *)((long)puVar8 + 6) >> 8;\n    uVar15 = (uint)uVar3;\n    if (uVar15 < 0xff00) {\n      local_68[0] = (undefined1 *)CONCAT71(local_68[0]._1_7_,1);\nLAB_001e6f84:\n      if (uVar15 < *(uint *)(param_1 + 7)) {\n        uVar15 = *(uint *)(param_6 + (ulong)(uVar15 << 6));\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n                    \n          uStack_1a0 = 0x1e6fbf;\n          FUN_002f9af0(local_c8,uVar10 + param_7);\n          uVar6 = extraout_RDX_00;\n        }\n        goto LAB_001e6c3f;\n      }\n    }\n    else if (uVar3 == 0xffff) {\n      uStack_1a0 = 0x1e737b;\n      uVar15 = FUN_001d1b60(param_1,uVar4,local_68);\n      uVar6 = extraout_RDX_02;\n      if ((char)local_68[0] != '\0') goto LAB_001e6f84;\n    }\n    else {\n      local_68[0] = (undefined1 *)((ulong)local_68[0]._1_7_ << 8);\n    }\n    uVar6 = gettext("symbol %u invalid section index %u");\n                    \n    FUN_001d19e0(param_1,uVar6,uVar4,uVar15);\nLAB_001e735d:\n    local_121 = '\0';\n    goto LAB_001e70e8;\n  }\nLAB_001e6c3f:\n  local_f0 = 0;\n  if ((uVar1 >> 0x18 & 1) == 0) {\n    uVar10 = *(ulong *)(local_100 + 0x20);\n    local_122 = '\0';\n    local_118 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28\n                | uVar10 << 0x38;\n    uStack_1a0 = uVar6;\nLAB_001e6c9f:\n    local_118 = local_118 >> 2;\n    local_d8 = (uint *)0x0;\n    local_e0 = (uint *)0x0;\n    local_e8 = 0;\n    if (*(long *)(PTR_DAT_0045c708 + 0x10) == 0) {\n                    \n                    \n      FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n    }\n    cVar14 = *(char *)(*(long *)(PTR_DAT_0045c708 + 0x10) + 0x5051);\n    if (cVar14 != '\0') {\n                    \n      FUN_001da300(&local_e8,local_118 - 1,uStack_1a0);\n      local_121 = cVar14;\n      if (1 < local_118) goto LAB_001e6cd9;\n      goto LAB_001e7093;\n    }\n    local_121 = '\x01';\n    if (1 < local_118) goto LAB_001e6cd9;\n  }\n  else {\n                    \n    local_122 = FUN_001c1720(param_3,local_c8,param_1,param_4,1,1,&local_f0);\n    if (local_122 != '\0') {\n      if (*(long *)(param_3 + 0x378) != 0) {\n        FUN_00197030(*(long *)(param_3 + 0x378),param_1,local_c8[0]);\n        uStack_1a0 = extraout_RDX_01;\n      }\n      uVar10 = *(ulong *)(local_100 + 0x20);\n      local_118 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                  (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                  (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                  (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n      goto LAB_001e6c9f;\n    }\n    local_e8 = 0;\n    local_e0 = (uint *)0x0;\n    local_d8 = (uint *)0x0;\n    uVar10 = *(ulong *)(local_100 + 0x20);\n    local_118 = (uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38) >> 2;\n    if (local_118 < 2) goto LAB_001e735d;\n    local_121 = '\0';\n    local_122 = '\x01';\n    cVar14 = '\0';\nLAB_001e6cd9:\n    local_110 = (long *)0x1;\n    do {\n      uVar15 = puVar5[(long)local_110];\n      uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n      if (uVar15 < 0xff00) {\n        local_104 = uVar15;\n        if (cVar14 != '\0') goto LAB_001e6e26;\nLAB_001e6d30:\n        if (*(uint *)(param_1 + 7) <= local_104) goto LAB_001e6e59;\nLAB_001e6d3a:\n        uVar15 = local_104;\n        if (local_104 < param_4) {\n          uVar6 = gettext("invalid section group %u refers to earlier section %u");\n                    \n          FUN_001d19e0(param_1,uVar6,param_4,uVar15);\n        }\n        puVar8 = (uint *)((ulong)(local_104 << 6) + param_6);\n        uVar15 = *puVar8;\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n          pcVar12 = (char *)0xffffffffffffffff;\n          __s = (char *)(uVar10 + param_7);\n          local_a8 = auStack_98;\n          if (__s != (char *)0x0) {\n            sVar9 = strlen(__s);\n            pcVar12 = __s + sVar9;\n          }\n                    \n          FUN_00174550(&local_a8,__s,pcVar12);\n          uVar15 = local_104;\n          if (local_121 == '\0') {\n            puVar11 = (ulong *)((ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9);\n            *puVar11 = *puVar11 | 1L << ((byte)local_104 & 0x3f);\n            if ((local_122 != '\0') && ((local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0')))) {\n              uVar10 = *(ulong *)(puVar8 + 8);\n              local_78 = local_f0;\n              local_88[0] = local_104;\n              local_80 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n              local_6c = 1;\n              local_70 = uVar4;\n                    \n              FUN_001e2560(param_1 + 0x36,local_88);\n            }\n          }\n          else if (local_122 != '\0') {\n            uVar10 = *(ulong *)(puVar8 + 8);\n            if (*(char *)(local_f0 + 0xc) == '\0') {\n                    \n                    \n              FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            uVar6 = *(undefined8 *)(local_f0 + 0x10);\n            local_68[0] = local_58;\n                    \n            FUN_0017d640(local_68,local_a8,local_a8 + local_a0);\n            local_48 = uVar15;\n            local_40 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n                    \n            FUN_001d9dc0(uVar6,local_68);\n            if (local_68[0] != local_58) {\n              FUN_002f1e60();\n            }\n          }\n          if (local_a8 != auStack_98) {\n            FUN_002f1e60();\n          }\n        }\n      }\n      else {\n        FUN_001dab60(param_1 + 0x1f);\n        uVar15 = uVar15 + (int)param_1[0x22];\n        local_104 = uVar15;\n        if (cVar14 == '\0') goto LAB_001e6d30;\nLAB_001e6e26:\n        local_104 = uVar15;\n        if (local_e0 == local_d8) {\n                    \n          FUN_001a8910(&local_e8,local_e0,&local_104);\n          goto LAB_001e6d30;\n        }\n        *local_e0 = uVar15;\n        local_e0 = local_e0 + 1;\n        if (uVar15 < *(uint *)(param_1 + 7)) goto LAB_001e6d3a;\nLAB_001e6e59:\n        uVar15 = local_104;\n        uVar6 = gettext("section %u in section group %u out of range");\n        FUN_001d19e0(param_1,uVar6,uVar15,param_4);\n      }\n      local_110 = (long *)((long)local_110 + 1);\n    } while (local_110 < local_118);\n    if (cVar14 != '\0') {\nLAB_001e7093:\n      local_110 = &local_e8;\n                    \n      FUN_001caee0(param_3,param_2,param_1,param_4,param_5,local_c8[0],&local_100,\n                   uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                   local_110);\n    }\n  }\n  if (local_e8 != 0) {\n    FUN_002f1e60();\n  }\nLAB_001e70e8:\n  if (local_c8[0] != acStack_b8) {\n    FUN_002f1e60();\n  }\n  return local_121;\n}" ({ "{") (declaration "uint uVar1;" (type_identifier "uint") (identifier "uVar1") (; ";")) (declaration "ulong uVar2;" (type_identifier "ulong") (identifier "uVar2") (; ";")) (declaration "ushort uVar3;" (type_identifier "ushort") (identifier "uVar3") (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (declaration "uint *puVar5;" (type_identifier "uint") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "undefined8 uVar6;" (type_identifier "undefined8") (identifier "uVar6") (; ";")) (declaration "long lVar7;" (sized_type_specifier "long" (long "long")) (identifier "lVar7") (; ";")) (declaration "uint *puVar8;" (type_identifier "uint") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "size_t sVar9;" (primitive_type "size_t") (identifier "sVar9") (; ";")) (declaration "ulong uVar10;" (type_identifier "ulong") (identifier "uVar10") (; ";")) (declaration "ulong *puVar11;" (type_identifier "ulong") (pointer_declarator "*puVar11" (* "*") (identifier "puVar11")) (; ";")) (declaration "undefined8 extraout_RDX;" (type_identifier "undefined8") (identifier "extraout_RDX") (; ";")) (declaration "char *pcVar12;" (primitive_type "char") (pointer_declarator "*pcVar12" (* "*") (identifier "pcVar12")) (; ";")) (declaration "undefined8 extraout_RDX_00;" (type_identifier "undefined8") (identifier "extraout_RDX_00") (; ";")) (declaration "undefined8 extraout_RDX_01;" (type_identifier "undefined8") (identifier "extraout_RDX_01") (; ";")) (declaration "undefined8 extraout_RDX_02;" (type_identifier "undefined8") (identifier "extraout_RDX_02") (; ";")) (declaration "undefined4 *puVar13;" (type_identifier "undefined4") (pointer_declarator "*puVar13" (* "*") (identifier "puVar13")) (; ";")) (declaration "char *__s;" (primitive_type "char") (pointer_declarator "*__s" (* "*") (identifier "__s")) (; ";")) (declaration "char cVar14;" (primitive_type "char") (identifier "cVar14") (; ";")) (declaration "uint uVar15;" (type_identifier "uint") (identifier "uVar15") (; ";")) (declaration "undefined1 auVar16 [16];" (type_identifier "undefined1") (array_declarator "auVar16 [16]" (identifier "auVar16") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined8 uStack_1a0;" (type_identifier "undefined8") (identifier "uStack_1a0") (; ";")) (declaration "char local_122;" (primitive_type "char") (identifier "local_122") (; ";")) (declaration "char local_121;" (primitive_type "char") (identifier "local_121") (; ";")) (declaration "ulong local_118;" (type_identifier "ulong") (identifier "local_118") (; ";")) (declaration "long *local_110;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*local_110" (* "*") (identifier "local_110")) (; ";")) (declaration "uint local_104;" (type_identifier "uint") (identifier "local_104") (; ";")) (declaration "long local_100;" (sized_type_specifier "long" (long "long")) (identifier "local_100") (; ";")) (declaration "ulong local_f8;" (type_identifier "ulong") (identifier "local_f8") (; ";")) (declaration "long local_f0;" (sized_type_specifier "long" (long "long")) (identifier "local_f0") (; ";")) (declaration "long local_e8;" (sized_type_specifier "long" (long "long")) (identifier "local_e8") (; ";")) (declaration "uint *local_e0;" (type_identifier "uint") (pointer_declarator "*local_e0" (* "*") (identifier "local_e0")) (; ";")) (declaration "uint *local_d8;" (type_identifier "uint") (pointer_declarator "*local_d8" (* "*") (identifier "local_d8")) (; ";")) (declaration "char *local_c8 [2];" (primitive_type "char") (pointer_declarator "*local_c8 [2]" (* "*") (array_declarator "local_c8 [2]" (identifier "local_c8") ([ "[") (number_literal "2") (] "]"))) (; ";")) (declaration "char acStack_b8 [16];" (primitive_type "char") (array_declarator "acStack_b8 [16]" (identifier "acStack_b8") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 *local_a8;" (type_identifier "undefined1") (pointer_declarator "*local_a8" (* "*") (identifier "local_a8")) (; ";")) (declaration "long local_a0;" (sized_type_specifier "long" (long "long")) (identifier "local_a0") (; ";")) (declaration "undefined1 auStack_98 [16];" (type_identifier "undefined1") (array_declarator "auStack_98 [16]" (identifier "auStack_98") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "uint local_88 [2];" (type_identifier "uint") (array_declarator "local_88 [2]" (identifier "local_88") ([ "[") (number_literal "2") (] "]")) (; ";")) (declaration "ulong local_80;" (type_identifier "ulong") (identifier "local_80") (; ";")) (declaration "long local_78;" (sized_type_specifier "long" (long "long")) (identifier "local_78") (; ";")) (declaration "uint local_70;" (type_identifier "uint") (identifier "local_70") (; ";")) (declaration "undefined1 local_6c;" (type_identifier "undefined1") (identifier "local_6c") (; ";")) (declaration "undefined1 *local_68 [2];" (type_identifier "undefined1") (pointer_declarator "*local_68 [2]" (* "*") (array_declarator "local_68 [2]" (identifier "local_68") ([ "[") (number_literal "2") (] "]"))) (; ";")) (declaration "undefined1 local_58 [16];" (type_identifier "undefined1") (array_declarator "local_58 [16]" (identifier "local_58") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "uint local_48;" (type_identifier "uint") (identifier "local_48") (; ";")) (declaration "ulong local_40;" (type_identifier "ulong") (identifier "local_40") (; ";")) (expression_statement "local_100 = (ulong)(param_4 << 6) + param_6;" (assignment_expression "local_100 = (ulong)(param_4 << 6) + param_6" (identifier "local_100") (= "=") (binary_expression "(ulong)(param_4 << 6) + param_6" (call_expression "(ulong)(param_4 << 6)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(param_4 << 6)" (( "(") (binary_expression "param_4 << 6" (identifier "param_4") (<< "<<") (number_literal "6")) () ")"))) (+ "+") (identifier "param_6"))) (; ";")) (expression_statement "uVar10 = *(ulong *)(local_100 + 0x20);" (assignment_expression "uVar10 = *(ulong *)(local_100 + 0x20)" (identifier "uVar10") (= "=") (pointer_expression "*(ulong *)(local_100 + 0x20)" (* "*") (cast_expression "(ulong *)(local_100 + 0x20)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_100 + 0x20)" (( "(") (binary_expression "local_100 + 0x20" (identifier "local_100") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "uVar2 = *(ulong *)(local_100 + 0x18);" (assignment_expression "uVar2 = *(ulong *)(local_100 + 0x18)" (identifier "uVar2") (= "=") (pointer_expression "*(ulong *)(local_100 + 0x18)" (* "*") (cast_expression "(ulong *)(local_100 + 0x18)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_100 + 0x18)" (( "(") (binary_expression "local_100 + 0x18" (identifier "local_100") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (if_statement "if (param_1[5] == 0) {\nLAB_001e7390:\n                    \n    FUN_001d17f0();\n  }" (if "if") (parenthesized_expression "(param_1[5] == 0)" (( "(") (binary_expression "param_1[5] == 0" (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_001e7390:\n                    \n    FUN_001d17f0();\n  }" ({ "{") (labeled_statement "LAB_001e7390:\n                    \n    FUN_001d17f0();" (statement_identifier "LAB_001e7390") (: ":") (expression_statement "FUN_001d17f0();" (call_expression "FUN_001d17f0()" (identifier "FUN_001d17f0") (argument_list "()" (( "(") () ")"))) (; ";"))) (} "}"))) (expression_statement "puVar5 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],\n                                uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 |\n                                (uVar2 & 0xff0000000000) >> 0x18 | (uVar2 & 0xff00000000) >> 8 |\n                                (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n                                (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38,\n                                uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38,1,0);" (assignment_expression "puVar5 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],\n                                uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 |\n                                (uVar2 & 0xff0000000000) >> 0x18 | (uVar2 & 0xff00000000) >> 8 |\n                                (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n                                (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38,\n                                uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38,1,0)" (identifier "puVar5") (= "=") (cast_expression "(uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],\n                                uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 |\n                                (uVar2 & 0xff0000000000) >> 0x18 | (uVar2 & 0xff00000000) >> 8 |\n                                (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n                                (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38,\n                                uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38,1,0)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0018a760(param_1[5] + 0x28,param_1[6],\n                                uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 |\n                                (uVar2 & 0xff0000000000) >> 0x18 | (uVar2 & 0xff00000000) >> 8 |\n                                (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n                                (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38,\n                                uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38,1,0)" (identifier "FUN_0018a760") (argument_list "(param_1[5] + 0x28,param_1[6],\n                                uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 |\n                                (uVar2 & 0xff0000000000) >> 0x18 | (uVar2 & 0xff00000000) >> 8 |\n                                (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n                                (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38,\n                                uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38,1,0)" (( "(") (binary_expression "param_1[5] + 0x28" (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]")) (+ "+") (number_literal "0x28")) (, ",") (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]")) (, ",") (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 |\n                                (uVar2 & 0xff0000000000) >> 0x18 | (uVar2 & 0xff00000000) >> 8 |\n                                (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n                                (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 |\n                                (uVar2 & 0xff0000000000) >> 0x18 | (uVar2 & 0xff00000000) >> 8 |\n                                (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n                                (uVar2 & 0xff00) << 0x28" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 |\n                                (uVar2 & 0xff0000000000) >> 0x18 | (uVar2 & 0xff00000000) >> 8 |\n                                (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 |\n                                (uVar2 & 0xff0000000000) >> 0x18 | (uVar2 & 0xff00000000) >> 8 |\n                                (uVar2 & 0xff000000) << 8" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 |\n                                (uVar2 & 0xff0000000000) >> 0x18 | (uVar2 & 0xff00000000) >> 8" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 |\n                                (uVar2 & 0xff0000000000) >> 0x18" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28" (binary_expression "uVar2 >> 0x38" (identifier "uVar2") (>> ">>") (number_literal "0x38")) (| "|") (binary_expression "(uVar2 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar2 & 0xff000000000000)" (( "(") (binary_expression "uVar2 & 0xff000000000000" (identifier "uVar2") (& "&") (number_literal "0xff000000000000")) () ")")) (>> ">>") (number_literal "0x28"))) (| "|") (binary_expression "(uVar2 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar2 & 0xff0000000000)" (( "(") (binary_expression "uVar2 & 0xff0000000000" (identifier "uVar2") (& "&") (number_literal "0xff0000000000")) () ")")) (>> ">>") (number_literal "0x18"))) (| "|") (binary_expression "(uVar2 & 0xff00000000) >> 8" (parenthesized_expression "(uVar2 & 0xff00000000)" (( "(") (binary_expression "uVar2 & 0xff00000000" (identifier "uVar2") (& "&") (number_literal "0xff00000000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar2 & 0xff000000) << 8" (parenthesized_expression "(uVar2 & 0xff000000)" (( "(") (binary_expression "uVar2 & 0xff000000" (identifier "uVar2") (& "&") (number_literal "0xff000000")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "(uVar2 & 0xff0000) << 0x18" (parenthesized_expression "(uVar2 & 0xff0000)" (( "(") (binary_expression "uVar2 & 0xff0000" (identifier "uVar2") (& "&") (number_literal "0xff0000")) () ")")) (<< "<<") (number_literal "0x18"))) (| "|") (binary_expression "(uVar2 & 0xff00) << 0x28" (parenthesized_expression "(uVar2 & 0xff00)" (( "(") (binary_expression "uVar2 & 0xff00" (identifier "uVar2") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "0x28"))) (| "|") (binary_expression "uVar2 << 0x38" (identifier "uVar2") (<< "<<") (number_literal "0x38"))) (, ",") (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                (uVar10 & 0xff00) << 0x28" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                (uVar10 & 0xff000000) << 8" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                (uVar10 & 0xff0000000000) >> 0x18" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28" (binary_expression "uVar10 >> 0x38" (identifier "uVar10") (>> ">>") (number_literal "0x38")) (| "|") (binary_expression "(uVar10 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar10 & 0xff000000000000)" (( "(") (binary_expression "uVar10 & 0xff000000000000" (identifier "uVar10") (& "&") (number_literal "0xff000000000000")) () ")")) (>> ">>") (number_literal "0x28"))) (| "|") (binary_expression "(uVar10 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar10 & 0xff0000000000)" (( "(") (binary_expression "uVar10 & 0xff0000000000" (identifier "uVar10") (& "&") (number_literal "0xff0000000000")) () ")")) (>> ">>") (number_literal "0x18"))) (| "|") (binary_expression "(uVar10 & 0xff00000000) >> 8" (parenthesized_expression "(uVar10 & 0xff00000000)" (( "(") (binary_expression "uVar10 & 0xff00000000" (identifier "uVar10") (& "&") (number_literal "0xff00000000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar10 & 0xff000000) << 8" (parenthesized_expression "(uVar10 & 0xff000000)" (( "(") (binary_expression "uVar10 & 0xff000000" (identifier "uVar10") (& "&") (number_literal "0xff000000")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "(uVar10 & 0xff0000) << 0x18" (parenthesized_expression "(uVar10 & 0xff0000)" (( "(") (binary_expression "uVar10 & 0xff0000" (identifier "uVar10") (& "&") (number_literal "0xff0000")) () ")")) (<< "<<") (number_literal "0x18"))) (| "|") (binary_expression "(uVar10 & 0xff00) << 0x28" (parenthesized_expression "(uVar10 & 0xff00)" (( "(") (binary_expression "uVar10 & 0xff00" (identifier "uVar10") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "0x28"))) (| "|") (binary_expression "uVar10 << 0x38" (identifier "uVar10") (<< "<<") (number_literal "0x38"))) (, ",") (number_literal "1") (, ",") (number_literal "0") () ")"))))) (; ";")) (expression_statement "uVar1 = *puVar5;" (assignment_expression "uVar1 = *puVar5" (identifier "uVar1") (= "=") (pointer_expression "*puVar5" (* "*") (identifier "puVar5"))) (; ";")) (expression_statement "uVar4 = *(uint *)(local_100 + 0x28);" (assignment_expression "uVar4 = *(uint *)(local_100 + 0x28)" (identifier "uVar4") (= "=") (pointer_expression "*(uint *)(local_100 + 0x28)" (* "*") (cast_expression "(uint *)(local_100 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_100 + 0x28)" (( "(") (binary_expression "local_100 + 0x28" (identifier "local_100") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "uVar4 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;" (assignment_expression "uVar4 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18" (identifier "uVar4") (= "=") (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18" (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8" (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8" (binary_expression "uVar4 >> 0x18" (identifier "uVar4") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar4 & 0xff0000) >> 8" (parenthesized_expression "(uVar4 & 0xff0000)" (( "(") (binary_expression "uVar4 & 0xff0000" (identifier "uVar4") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar4 & 0xff00) << 8" (parenthesized_expression "(uVar4 & 0xff00)" (( "(") (binary_expression "uVar4 & 0xff00" (identifier "uVar4") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar4 << 0x18" (identifier "uVar4") (<< "<<") (number_literal "0x18")))) (; ";")) (if_statement "if (0xfeff < uVar4) {\n    FUN_001dab60(param_1 + 0x1f);\n    uVar4 = uVar4 + (int)param_1[0x22];\n  }" (if "if") (parenthesized_expression "(0xfeff < uVar4)" (( "(") (binary_expression "0xfeff < uVar4" (number_literal "0xfeff") (< "<") (identifier "uVar4")) () ")")) (compound_statement "{\n    FUN_001dab60(param_1 + 0x1f);\n    uVar4 = uVar4 + (int)param_1[0x22];\n  }" ({ "{") (expression_statement "FUN_001dab60(param_1 + 0x1f);" (call_expression "FUN_001dab60(param_1 + 0x1f)" (identifier "FUN_001dab60") (argument_list "(param_1 + 0x1f)" (( "(") (binary_expression "param_1 + 0x1f" (identifier "param_1") (+ "+") (number_literal "0x1f")) () ")"))) (; ";")) (expression_statement "uVar4 = uVar4 + (int)param_1[0x22];" (assignment_expression "uVar4 = uVar4 + (int)param_1[0x22]" (identifier "uVar4") (= "=") (binary_expression "uVar4 + (int)param_1[0x22]" (identifier "uVar4") (+ "+") (cast_expression "(int)param_1[0x22]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "param_1[0x22]" (identifier "param_1") ([ "[") (number_literal "0x22") (] "]"))))) (; ";")) (} "}"))) (expression_statement "uVar6 = FUN_001e0b10(param_1 + 0x1f,uVar4);" (assignment_expression "uVar6 = FUN_001e0b10(param_1 + 0x1f,uVar4)" (identifier "uVar6") (= "=") (call_expression "FUN_001e0b10(param_1 + 0x1f,uVar4)" (identifier "FUN_001e0b10") (argument_list "(param_1 + 0x1f,uVar4)" (( "(") (binary_expression "param_1 + 0x1f" (identifier "param_1") (+ "+") (number_literal "0x1f")) (, ",") (identifier "uVar4") () ")")))) (; ";")) (if_statement "if (param_1[5] == 0) goto LAB_001e7390;" (if "if") (parenthesized_expression "(param_1[5] == 0)" (( "(") (binary_expression "param_1[5] == 0" (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001e7390;" (goto "goto") (statement_identifier "LAB_001e7390") (; ";"))) (expression_statement "lVar7 = FUN_0018a760(param_1[5] + 0x28,param_1[6],uVar6,0x40,1,1);" (assignment_expression "lVar7 = FUN_0018a760(param_1[5] + 0x28,param_1[6],uVar6,0x40,1,1)" (identifier "lVar7") (= "=") (call_expression "FUN_0018a760(param_1[5] + 0x28,param_1[6],uVar6,0x40,1,1)" (identifier "FUN_0018a760") (argument_list "(param_1[5] + 0x28,param_1[6],uVar6,0x40,1,1)" (( "(") (binary_expression "param_1[5] + 0x28" (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]")) (+ "+") (number_literal "0x28")) (, ",") (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]")) (, ",") (identifier "uVar6") (, ",") (number_literal "0x40") (, ",") (number_literal "1") (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "uVar10 = *(ulong *)(lVar7 + 0x20);" (assignment_expression "uVar10 = *(ulong *)(lVar7 + 0x20)" (identifier "uVar10") (= "=") (pointer_expression "*(ulong *)(lVar7 + 0x20)" (* "*") (cast_expression "(ulong *)(lVar7 + 0x20)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar7 + 0x20)" (( "(") (binary_expression "lVar7 + 0x20" (identifier "lVar7") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "uVar4 = *(uint *)(local_100 + 0x2c);" (assignment_expression "uVar4 = *(uint *)(local_100 + 0x2c)" (identifier "uVar4") (= "=") (pointer_expression "*(uint *)(local_100 + 0x2c)" (* "*") (cast_expression "(uint *)(local_100 + 0x2c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_100 + 0x2c)" (( "(") (binary_expression "local_100 + 0x2c" (identifier "local_100") (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (expression_statement "uVar4 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;" (assignment_expression "uVar4 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18" (identifier "uVar4") (= "=") (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18" (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8" (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8" (binary_expression "uVar4 >> 0x18" (identifier "uVar4") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar4 & 0xff0000) >> 8" (parenthesized_expression "(uVar4 & 0xff0000)" (( "(") (binary_expression "uVar4 & 0xff0000" (identifier "uVar4") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar4 & 0xff00) << 8" (parenthesized_expression "(uVar4 & 0xff00)" (( "(") (binary_expression "uVar4 & 0xff00" (identifier "uVar4") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar4 << 0x18" (identifier "uVar4") (<< "<<") (number_literal "0x18")))) (; ";")) (if_statement "if ((uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n       (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38) / 0x18 <= (ulong)uVar4) {\n    uVar6 = gettext("section group %u info %u out of range");\n    uVar15 = uVar4;\nLAB_001e6ed5:\n    FUN_001d19e0(param_1,uVar6,param_4,uVar15);\n    return '\0';\n  }" (if "if") (parenthesized_expression "((uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n       (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38) / 0x18 <= (ulong)uVar4)" (( "(") (binary_expression "(uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n       (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38) / 0x18 <= (ulong)uVar4" (binary_expression "(uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n       (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38) / 0x18" (parenthesized_expression "(uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n       (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38)" (( "(") (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n       (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n       (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n       (uVar10 & 0xff00) << 0x28" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n       (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n       (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n       (uVar10 & 0xff00000000) >> 8" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28" (binary_expression "uVar10 >> 0x38" (identifier "uVar10") (>> ">>") (number_literal "0x38")) (| "|") (binary_expression "(uVar10 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar10 & 0xff000000000000)" (( "(") (binary_expression "uVar10 & 0xff000000000000" (identifier "uVar10") (& "&") (number_literal "0xff000000000000")) () ")")) (>> ">>") (number_literal "0x28"))) (| "|") (binary_expression "(uVar10 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar10 & 0xff0000000000)" (( "(") (binary_expression "uVar10 & 0xff0000000000" (identifier "uVar10") (& "&") (number_literal "0xff0000000000")) () ")")) (>> ">>") (number_literal "0x18"))) (| "|") (binary_expression "(uVar10 & 0xff00000000) >> 8" (parenthesized_expression "(uVar10 & 0xff00000000)" (( "(") (binary_expression "uVar10 & 0xff00000000" (identifier "uVar10") (& "&") (number_literal "0xff00000000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar10 & 0xff000000) << 8" (parenthesized_expression "(uVar10 & 0xff000000)" (( "(") (binary_expression "uVar10 & 0xff000000" (identifier "uVar10") (& "&") (number_literal "0xff000000")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "(uVar10 & 0xff0000) << 0x18" (parenthesized_expression "(uVar10 & 0xff0000)" (( "(") (binary_expression "uVar10 & 0xff0000" (identifier "uVar10") (& "&") (number_literal "0xff0000")) () ")")) (<< "<<") (number_literal "0x18"))) (| "|") (binary_expression "(uVar10 & 0xff00) << 0x28" (parenthesized_expression "(uVar10 & 0xff00)" (( "(") (binary_expression "uVar10 & 0xff00" (identifier "uVar10") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "0x28"))) (| "|") (binary_expression "uVar10 << 0x38" (identifier "uVar10") (<< "<<") (number_literal "0x38"))) () ")")) (/ "/") (number_literal "0x18")) (<= "<=") (cast_expression "(ulong)uVar4" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar4"))) () ")")) (compound_statement "{\n    uVar6 = gettext("section group %u info %u out of range");\n    uVar15 = uVar4;\nLAB_001e6ed5:\n    FUN_001d19e0(param_1,uVar6,param_4,uVar15);\n    return '\0';\n  }" ({ "{") (expression_statement "uVar6 = gettext("section group %u info %u out of range");" (assignment_expression "uVar6 = gettext("section group %u info %u out of range")" (identifier "uVar6") (= "=") (call_expression "gettext("section group %u info %u out of range")" (identifier "gettext") (argument_list "("section group %u info %u out of range")" (( "(") (string_literal ""section group %u info %u out of range"" (" """) (string_content "section group %u info %u out of range") (" """)) () ")")))) (; ";")) (expression_statement "uVar15 = uVar4;" (assignment_expression "uVar15 = uVar4" (identifier "uVar15") (= "=") (identifier "uVar4")) (; ";")) (labeled_statement "LAB_001e6ed5:\n    FUN_001d19e0(param_1,uVar6,param_4,uVar15);" (statement_identifier "LAB_001e6ed5") (: ":") (expression_statement "FUN_001d19e0(param_1,uVar6,param_4,uVar15);" (call_expression "FUN_001d19e0(param_1,uVar6,param_4,uVar15)" (identifier "FUN_001d19e0") (argument_list "(param_1,uVar6,param_4,uVar15)" (( "(") (identifier "param_1") (, ",") (identifier "uVar6") (, ",") (identifier "param_4") (, ",") (identifier "uVar15") () ")"))) (; ";"))) (return_statement "return '\0';" (return "return") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")) (; ";")) (} "}"))) (expression_statement "uVar10 = *(ulong *)(lVar7 + 0x18);" (assignment_expression "uVar10 = *(ulong *)(lVar7 + 0x18)" (identifier "uVar10") (= "=") (pointer_expression "*(ulong *)(lVar7 + 0x18)" (* "*") (cast_expression "(ulong *)(lVar7 + 0x18)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar7 + 0x18)" (( "(") (binary_expression "lVar7 + 0x18" (identifier "lVar7") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (if_statement "if (param_1[5] == 0) goto LAB_001e7390;" (if "if") (parenthesized_expression "(param_1[5] == 0)" (( "(") (binary_expression "param_1[5] == 0" (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001e7390;" (goto "goto") (statement_identifier "LAB_001e7390") (; ";"))) (expression_statement "puVar8 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],\n                                (ulong)(uVar4 * 0x18) +\n                                (uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38),0x18,1,0);" (assignment_expression "puVar8 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],\n                                (ulong)(uVar4 * 0x18) +\n                                (uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38),0x18,1,0)" (identifier "puVar8") (= "=") (cast_expression "(uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],\n                                (ulong)(uVar4 * 0x18) +\n                                (uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38),0x18,1,0)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0018a760(param_1[5] + 0x28,param_1[6],\n                                (ulong)(uVar4 * 0x18) +\n                                (uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38),0x18,1,0)" (identifier "FUN_0018a760") (argument_list "(param_1[5] + 0x28,param_1[6],\n                                (ulong)(uVar4 * 0x18) +\n                                (uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38),0x18,1,0)" (( "(") (binary_expression "param_1[5] + 0x28" (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]")) (+ "+") (number_literal "0x28")) (, ",") (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]")) (, ",") (binary_expression "(ulong)(uVar4 * 0x18) +\n                                (uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38)" (call_expression "(ulong)(uVar4 * 0x18)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar4 * 0x18)" (( "(") (binary_expression "uVar4 * 0x18" (identifier "uVar4") (* "*") (number_literal "0x18")) () ")"))) (+ "+") (parenthesized_expression "(uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38)" (( "(") (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                                 (uVar10 & 0xff00) << 0x28" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                                 (uVar10 & 0xff000000) << 8" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                                 (uVar10 & 0xff0000000000) >> 0x18" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28" (binary_expression "uVar10 >> 0x38" (identifier "uVar10") (>> ">>") (number_literal "0x38")) (| "|") (binary_expression "(uVar10 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar10 & 0xff000000000000)" (( "(") (binary_expression "uVar10 & 0xff000000000000" (identifier "uVar10") (& "&") (number_literal "0xff000000000000")) () ")")) (>> ">>") (number_literal "0x28"))) (| "|") (binary_expression "(uVar10 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar10 & 0xff0000000000)" (( "(") (binary_expression "uVar10 & 0xff0000000000" (identifier "uVar10") (& "&") (number_literal "0xff0000000000")) () ")")) (>> ">>") (number_literal "0x18"))) (| "|") (binary_expression "(uVar10 & 0xff00000000) >> 8" (parenthesized_expression "(uVar10 & 0xff00000000)" (( "(") (binary_expression "uVar10 & 0xff00000000" (identifier "uVar10") (& "&") (number_literal "0xff00000000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar10 & 0xff000000) << 8" (parenthesized_expression "(uVar10 & 0xff000000)" (( "(") (binary_expression "uVar10 & 0xff000000" (identifier "uVar10") (& "&") (number_literal "0xff000000")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "(uVar10 & 0xff0000) << 0x18" (parenthesized_expression "(uVar10 & 0xff0000)" (( "(") (binary_expression "uVar10 & 0xff0000" (identifier "uVar10") (& "&") (number_literal "0xff0000")) () ")")) (<< "<<") (number_literal "0x18"))) (| "|") (binary_expression "(uVar10 & 0xff00) << 0x28" (parenthesized_expression "(uVar10 & 0xff00)" (( "(") (binary_expression "uVar10 & 0xff00" (identifier "uVar10") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "0x28"))) (| "|") (binary_expression "uVar10 << 0x38" (identifier "uVar10") (<< "<<") (number_literal "0x38"))) () ")"))) (, ",") (number_literal "0x18") (, ",") (number_literal "1") (, ",") (number_literal "0") () ")"))))) (; ";")) (expression_statement "uVar15 = *(uint *)(lVar7 + 0x28);" (assignment_expression "uVar15 = *(uint *)(lVar7 + 0x28)" (identifier "uVar15") (= "=") (pointer_expression "*(uint *)(lVar7 + 0x28)" (* "*") (cast_expression "(uint *)(lVar7 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar7 + 0x28)" (( "(") (binary_expression "lVar7 + 0x28" (identifier "lVar7") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;" (assignment_expression "uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18" (identifier "uVar15") (= "=") (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18" (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8" (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8" (binary_expression "uVar15 >> 0x18" (identifier "uVar15") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar15 & 0xff0000) >> 8" (parenthesized_expression "(uVar15 & 0xff0000)" (( "(") (binary_expression "uVar15 & 0xff0000" (identifier "uVar15") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar15 & 0xff00) << 8" (parenthesized_expression "(uVar15 & 0xff00)" (( "(") (binary_expression "uVar15 & 0xff00" (identifier "uVar15") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar15 << 0x18" (identifier "uVar15") (<< "<<") (number_literal "0x18")))) (; ";")) (if_statement "if (0xfeff < uVar15) {\n    FUN_001dab60(param_1 + 0x1f);\n    uVar15 = uVar15 + (int)param_1[0x22];\n  }" (if "if") (parenthesized_expression "(0xfeff < uVar15)" (( "(") (binary_expression "0xfeff < uVar15" (number_literal "0xfeff") (< "<") (identifier "uVar15")) () ")")) (compound_statement "{\n    FUN_001dab60(param_1 + 0x1f);\n    uVar15 = uVar15 + (int)param_1[0x22];\n  }" ({ "{") (expression_statement "FUN_001dab60(param_1 + 0x1f);" (call_expression "FUN_001dab60(param_1 + 0x1f)" (identifier "FUN_001dab60") (argument_list "(param_1 + 0x1f)" (( "(") (binary_expression "param_1 + 0x1f" (identifier "param_1") (+ "+") (number_literal "0x1f")) () ")"))) (; ";")) (expression_statement "uVar15 = uVar15 + (int)param_1[0x22];" (assignment_expression "uVar15 = uVar15 + (int)param_1[0x22]" (identifier "uVar15") (= "=") (binary_expression "uVar15 + (int)param_1[0x22]" (identifier "uVar15") (+ "+") (cast_expression "(int)param_1[0x22]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "param_1[0x22]" (identifier "param_1") ([ "[") (number_literal "0x22") (] "]"))))) (; ";")) (} "}"))) (if_statement "if (*(code **)(*param_1 + 0x70) == FUN_001e0d50) {\n    auVar16 = FUN_001e0ca0(param_1 + 0x1f,uVar15);\n    local_f8 = auVar16._8_8_;\n    puVar13 = &DAT_00393c8a;\n    if (local_f8 != 0) {\n      if (param_1[5] == 0) goto LAB_001e7390;\n      puVar13 = (undefined4 *)FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar16._0_8_,local_f8,1,1);\n    }\n  }\n  else {\n    puVar13 = (undefined4 *)(**(code **)(*param_1 + 0x70))(param_1,uVar15,&local_f8,1);\n  }" (if "if") (parenthesized_expression "(*(code **)(*param_1 + 0x70) == FUN_001e0d50)" (( "(") (binary_expression "*(code **)(*param_1 + 0x70) == FUN_001e0d50" (pointer_expression "*(code **)(*param_1 + 0x70)" (* "*") (cast_expression "(code **)(*param_1 + 0x70)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_1 + 0x70)" (( "(") (binary_expression "*param_1 + 0x70" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "0x70")) () ")")))) (== "==") (identifier "FUN_001e0d50")) () ")")) (compound_statement "{\n    auVar16 = FUN_001e0ca0(param_1 + 0x1f,uVar15);\n    local_f8 = auVar16._8_8_;\n    puVar13 = &DAT_00393c8a;\n    if (local_f8 != 0) {\n      if (param_1[5] == 0) goto LAB_001e7390;\n      puVar13 = (undefined4 *)FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar16._0_8_,local_f8,1,1);\n    }\n  }" ({ "{") (expression_statement "auVar16 = FUN_001e0ca0(param_1 + 0x1f,uVar15);" (assignment_expression "auVar16 = FUN_001e0ca0(param_1 + 0x1f,uVar15)" (identifier "auVar16") (= "=") (call_expression "FUN_001e0ca0(param_1 + 0x1f,uVar15)" (identifier "FUN_001e0ca0") (argument_list "(param_1 + 0x1f,uVar15)" (( "(") (binary_expression "param_1 + 0x1f" (identifier "param_1") (+ "+") (number_literal "0x1f")) (, ",") (identifier "uVar15") () ")")))) (; ";")) (expression_statement "local_f8 = auVar16._8_8_;" (assignment_expression "local_f8 = auVar16._8_8_" (identifier "local_f8") (= "=") (field_expression "auVar16._8_8_" (identifier "auVar16") (. ".") (field_identifier "_8_8_"))) (; ";")) (expression_statement "puVar13 = &DAT_00393c8a;" (assignment_expression "puVar13 = &DAT_00393c8a" (identifier "puVar13") (= "=") (pointer_expression "&DAT_00393c8a" (& "&") (identifier "DAT_00393c8a"))) (; ";")) (if_statement "if (local_f8 != 0) {\n      if (param_1[5] == 0) goto LAB_001e7390;\n      puVar13 = (undefined4 *)FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar16._0_8_,local_f8,1,1);\n    }" (if "if") (parenthesized_expression "(local_f8 != 0)" (( "(") (binary_expression "local_f8 != 0" (identifier "local_f8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      if (param_1[5] == 0) goto LAB_001e7390;\n      puVar13 = (undefined4 *)FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar16._0_8_,local_f8,1,1);\n    }" ({ "{") (if_statement "if (param_1[5] == 0) goto LAB_001e7390;" (if "if") (parenthesized_expression "(param_1[5] == 0)" (( "(") (binary_expression "param_1[5] == 0" (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001e7390;" (goto "goto") (statement_identifier "LAB_001e7390") (; ";"))) (expression_statement "puVar13 = (undefined4 *)FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar16._0_8_,local_f8,1,1);" (assignment_expression "puVar13 = (undefined4 *)FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar16._0_8_,local_f8,1,1)" (identifier "puVar13") (= "=") (cast_expression "(undefined4 *)FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar16._0_8_,local_f8,1,1)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar16._0_8_,local_f8,1,1)" (identifier "FUN_0018a760") (argument_list "(param_1[5] + 0x28,param_1[6],auVar16._0_8_,local_f8,1,1)" (( "(") (binary_expression "param_1[5] + 0x28" (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]")) (+ "+") (number_literal "0x28")) (, ",") (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]")) (, ",") (field_expression "auVar16._0_8_" (identifier "auVar16") (. ".") (field_identifier "_0_8_")) (, ",") (identifier "local_f8") (, ",") (number_literal "1") (, ",") (number_literal "1") () ")"))))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    puVar13 = (undefined4 *)(**(code **)(*param_1 + 0x70))(param_1,uVar15,&local_f8,1);\n  }" (else "else") (compound_statement "{\n    puVar13 = (undefined4 *)(**(code **)(*param_1 + 0x70))(param_1,uVar15,&local_f8,1);\n  }" ({ "{") (expression_statement "puVar13 = (undefined4 *)(**(code **)(*param_1 + 0x70))(param_1,uVar15,&local_f8,1);" (assignment_expression "puVar13 = (undefined4 *)(**(code **)(*param_1 + 0x70))(param_1,uVar15,&local_f8,1)" (identifier "puVar13") (= "=") (cast_expression "(undefined4 *)(**(code **)(*param_1 + 0x70))(param_1,uVar15,&local_f8,1)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(*param_1 + 0x70))(param_1,uVar15,&local_f8,1)" (parenthesized_expression "(**(code **)(*param_1 + 0x70))" (( "(") (pointer_expression "**(code **)(*param_1 + 0x70)" (* "*") (pointer_expression "*(code **)(*param_1 + 0x70)" (* "*") (cast_expression "(code **)(*param_1 + 0x70)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_1 + 0x70)" (( "(") (binary_expression "*param_1 + 0x70" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "0x70")) () ")"))))) () ")")) (argument_list "(param_1,uVar15,&local_f8,1)" (( "(") (identifier "param_1") (, ",") (identifier "uVar15") (, ",") (pointer_expression "&local_f8" (& "&") (identifier "local_f8")) (, ",") (number_literal "1") () ")"))))) (; ";")) (} "}")))) (expression_statement "uVar15 = *puVar8;" (assignment_expression "uVar15 = *puVar8" (identifier "uVar15") (= "=") (pointer_expression "*puVar8" (* "*") (identifier "puVar8"))) (; ";")) (expression_statement "uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;" (assignment_expression "uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18" (identifier "uVar15") (= "=") (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18" (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8" (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8" (binary_expression "uVar15 >> 0x18" (identifier "uVar15") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar15 & 0xff0000) >> 8" (parenthesized_expression "(uVar15 & 0xff0000)" (( "(") (binary_expression "uVar15 & 0xff0000" (identifier "uVar15") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar15 & 0xff00) << 8" (parenthesized_expression "(uVar15 & 0xff00)" (( "(") (binary_expression "uVar15 & 0xff00" (identifier "uVar15") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar15 << 0x18" (identifier "uVar15") (<< "<<") (number_literal "0x18")))) (; ";")) (if_statement "if (local_f8 <= uVar15) {\n    uVar6 = gettext("symbol %u name offset %u out of range");\n    param_4 = uVar4;\n    goto LAB_001e6ed5;\n  }" (if "if") (parenthesized_expression "(local_f8 <= uVar15)" (( "(") (binary_expression "local_f8 <= uVar15" (identifier "local_f8") (<= "<=") (identifier "uVar15")) () ")")) (compound_statement "{\n    uVar6 = gettext("symbol %u name offset %u out of range");\n    param_4 = uVar4;\n    goto LAB_001e6ed5;\n  }" ({ "{") (expression_statement "uVar6 = gettext("symbol %u name offset %u out of range");" (assignment_expression "uVar6 = gettext("symbol %u name offset %u out of range")" (identifier "uVar6") (= "=") (call_expression "gettext("symbol %u name offset %u out of range")" (identifier "gettext") (argument_list "("symbol %u name offset %u out of range")" (( "(") (string_literal ""symbol %u name offset %u out of range"" (" """) (string_content "symbol %u name offset %u out of range") (" """)) () ")")))) (; ";")) (expression_statement "param_4 = uVar4;" (assignment_expression "param_4 = uVar4" (identifier "param_4") (= "=") (identifier "uVar4")) (; ";")) (goto_statement "goto LAB_001e6ed5;" (goto "goto") (statement_identifier "LAB_001e6ed5") (; ";")) (} "}"))) (expression_statement "uStack_1a0 = 0x1e6c17;" (assignment_expression "uStack_1a0 = 0x1e6c17" (identifier "uStack_1a0") (= "=") (number_literal "0x1e6c17")) (; ";")) (expression_statement "FUN_001d26c0(local_c8,(long)puVar13 + (ulong)uVar15);" (call_expression "FUN_001d26c0(local_c8,(long)puVar13 + (ulong)uVar15)" (identifier "FUN_001d26c0") (argument_list "(local_c8,(long)puVar13 + (ulong)uVar15)" (( "(") (identifier "local_c8") (, ",") (binary_expression "(long)puVar13 + (ulong)uVar15" (cast_expression "(long)puVar13" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar13")) (+ "+") (cast_expression "(ulong)uVar15" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar15"))) () ")"))) (; ";")) (expression_statement "uVar6 = extraout_RDX;" (assignment_expression "uVar6 = extraout_RDX" (identifier "uVar6") (= "=") (identifier "extraout_RDX")) (; ";")) (if_statement "if ((*local_c8[0] == '\0') && ((puVar8[1] & 0xf) == 3)) {\n    uVar3 = *(ushort *)((long)puVar8 + 6) << 8 | *(ushort *)((long)puVar8 + 6) >> 8;\n    uVar15 = (uint)uVar3;\n    if (uVar15 < 0xff00) {\n      local_68[0] = (undefined1 *)CONCAT71(local_68[0]._1_7_,1);\nLAB_001e6f84:\n      if (uVar15 < *(uint *)(param_1 + 7)) {\n        uVar15 = *(uint *)(param_6 + (ulong)(uVar15 << 6));\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n                    \n          uStack_1a0 = 0x1e6fbf;\n          FUN_002f9af0(local_c8,uVar10 + param_7);\n          uVar6 = extraout_RDX_00;\n        }\n        goto LAB_001e6c3f;\n      }\n    }\n    else if (uVar3 == 0xffff) {\n      uStack_1a0 = 0x1e737b;\n      uVar15 = FUN_001d1b60(param_1,uVar4,local_68);\n      uVar6 = extraout_RDX_02;\n      if ((char)local_68[0] != '\0') goto LAB_001e6f84;\n    }\n    else {\n      local_68[0] = (undefined1 *)((ulong)local_68[0]._1_7_ << 8);\n    }\n    uVar6 = gettext("symbol %u invalid section index %u");\n                    \n    FUN_001d19e0(param_1,uVar6,uVar4,uVar15);\nLAB_001e735d:\n    local_121 = '\0';\n    goto LAB_001e70e8;\n  }" (if "if") (parenthesized_expression "((*local_c8[0] == '\0') && ((puVar8[1] & 0xf) == 3))" (( "(") (binary_expression "(*local_c8[0] == '\0') && ((puVar8[1] & 0xf) == 3)" (parenthesized_expression "(*local_c8[0] == '\0')" (( "(") (binary_expression "*local_c8[0] == '\0'" (pointer_expression "*local_c8[0]" (* "*") (subscript_expression "local_c8[0]" (identifier "local_c8") ([ "[") (number_literal "0") (] "]"))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "((puVar8[1] & 0xf) == 3)" (( "(") (binary_expression "(puVar8[1] & 0xf) == 3" (parenthesized_expression "(puVar8[1] & 0xf)" (( "(") (binary_expression "puVar8[1] & 0xf" (subscript_expression "puVar8[1]" (identifier "puVar8") ([ "[") (number_literal "1") (] "]")) (& "&") (number_literal "0xf")) () ")")) (== "==") (number_literal "3")) () ")"))) () ")")) (compound_statement "{\n    uVar3 = *(ushort *)((long)puVar8 + 6) << 8 | *(ushort *)((long)puVar8 + 6) >> 8;\n    uVar15 = (uint)uVar3;\n    if (uVar15 < 0xff00) {\n      local_68[0] = (undefined1 *)CONCAT71(local_68[0]._1_7_,1);\nLAB_001e6f84:\n      if (uVar15 < *(uint *)(param_1 + 7)) {\n        uVar15 = *(uint *)(param_6 + (ulong)(uVar15 << 6));\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n                    \n          uStack_1a0 = 0x1e6fbf;\n          FUN_002f9af0(local_c8,uVar10 + param_7);\n          uVar6 = extraout_RDX_00;\n        }\n        goto LAB_001e6c3f;\n      }\n    }\n    else if (uVar3 == 0xffff) {\n      uStack_1a0 = 0x1e737b;\n      uVar15 = FUN_001d1b60(param_1,uVar4,local_68);\n      uVar6 = extraout_RDX_02;\n      if ((char)local_68[0] != '\0') goto LAB_001e6f84;\n    }\n    else {\n      local_68[0] = (undefined1 *)((ulong)local_68[0]._1_7_ << 8);\n    }\n    uVar6 = gettext("symbol %u invalid section index %u");\n                    \n    FUN_001d19e0(param_1,uVar6,uVar4,uVar15);\nLAB_001e735d:\n    local_121 = '\0';\n    goto LAB_001e70e8;\n  }" ({ "{") (expression_statement "uVar3 = *(ushort *)((long)puVar8 + 6) << 8 | *(ushort *)((long)puVar8 + 6) >> 8;" (assignment_expression "uVar3 = *(ushort *)((long)puVar8 + 6) << 8 | *(ushort *)((long)puVar8 + 6) >> 8" (identifier "uVar3") (= "=") (binary_expression "*(ushort *)((long)puVar8 + 6) << 8 | *(ushort *)((long)puVar8 + 6) >> 8" (binary_expression "*(ushort *)((long)puVar8 + 6) << 8" (pointer_expression "*(ushort *)((long)puVar8 + 6)" (* "*") (cast_expression "(ushort *)((long)puVar8 + 6)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar8 + 6)" (( "(") (binary_expression "(long)puVar8 + 6" (cast_expression "(long)puVar8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar8")) (+ "+") (number_literal "6")) () ")")))) (<< "<<") (number_literal "8")) (| "|") (binary_expression "*(ushort *)((long)puVar8 + 6) >> 8" (pointer_expression "*(ushort *)((long)puVar8 + 6)" (* "*") (cast_expression "(ushort *)((long)puVar8 + 6)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar8 + 6)" (( "(") (binary_expression "(long)puVar8 + 6" (cast_expression "(long)puVar8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar8")) (+ "+") (number_literal "6")) () ")")))) (>> ">>") (number_literal "8")))) (; ";")) (expression_statement "uVar15 = (uint)uVar3;" (assignment_expression "uVar15 = (uint)uVar3" (identifier "uVar15") (= "=") (cast_expression "(uint)uVar3" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar3"))) (; ";")) (if_statement "if (uVar15 < 0xff00) {\n      local_68[0] = (undefined1 *)CONCAT71(local_68[0]._1_7_,1);\nLAB_001e6f84:\n      if (uVar15 < *(uint *)(param_1 + 7)) {\n        uVar15 = *(uint *)(param_6 + (ulong)(uVar15 << 6));\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n                    \n          uStack_1a0 = 0x1e6fbf;\n          FUN_002f9af0(local_c8,uVar10 + param_7);\n          uVar6 = extraout_RDX_00;\n        }\n        goto LAB_001e6c3f;\n      }\n    }\n    else if (uVar3 == 0xffff) {\n      uStack_1a0 = 0x1e737b;\n      uVar15 = FUN_001d1b60(param_1,uVar4,local_68);\n      uVar6 = extraout_RDX_02;\n      if ((char)local_68[0] != '\0') goto LAB_001e6f84;\n    }\n    else {\n      local_68[0] = (undefined1 *)((ulong)local_68[0]._1_7_ << 8);\n    }" (if "if") (parenthesized_expression "(uVar15 < 0xff00)" (( "(") (binary_expression "uVar15 < 0xff00" (identifier "uVar15") (< "<") (number_literal "0xff00")) () ")")) (compound_statement "{\n      local_68[0] = (undefined1 *)CONCAT71(local_68[0]._1_7_,1);\nLAB_001e6f84:\n      if (uVar15 < *(uint *)(param_1 + 7)) {\n        uVar15 = *(uint *)(param_6 + (ulong)(uVar15 << 6));\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n                    \n          uStack_1a0 = 0x1e6fbf;\n          FUN_002f9af0(local_c8,uVar10 + param_7);\n          uVar6 = extraout_RDX_00;\n        }\n        goto LAB_001e6c3f;\n      }\n    }" ({ "{") (expression_statement "local_68[0] = (undefined1 *)CONCAT71(local_68[0]._1_7_,1);" (assignment_expression "local_68[0] = (undefined1 *)CONCAT71(local_68[0]._1_7_,1)" (subscript_expression "local_68[0]" (identifier "local_68") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(undefined1 *)CONCAT71(local_68[0]._1_7_,1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "CONCAT71(local_68[0]._1_7_,1)" (identifier "CONCAT71") (argument_list "(local_68[0]._1_7_,1)" (( "(") (field_expression "local_68[0]._1_7_" (subscript_expression "local_68[0]" (identifier "local_68") ([ "[") (number_literal "0") (] "]")) (. ".") (field_identifier "_1_7_")) (, ",") (number_literal "1") () ")"))))) (; ";")) (labeled_statement "LAB_001e6f84:\n      if (uVar15 < *(uint *)(param_1 + 7)) {\n        uVar15 = *(uint *)(param_6 + (ulong)(uVar15 << 6));\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n                    \n          uStack_1a0 = 0x1e6fbf;\n          FUN_002f9af0(local_c8,uVar10 + param_7);\n          uVar6 = extraout_RDX_00;\n        }\n        goto LAB_001e6c3f;\n      }" (statement_identifier "LAB_001e6f84") (: ":") (if_statement "if (uVar15 < *(uint *)(param_1 + 7)) {\n        uVar15 = *(uint *)(param_6 + (ulong)(uVar15 << 6));\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n                    \n          uStack_1a0 = 0x1e6fbf;\n          FUN_002f9af0(local_c8,uVar10 + param_7);\n          uVar6 = extraout_RDX_00;\n        }\n        goto LAB_001e6c3f;\n      }" (if "if") (parenthesized_expression "(uVar15 < *(uint *)(param_1 + 7))" (( "(") (binary_expression "uVar15 < *(uint *)(param_1 + 7)" (identifier "uVar15") (< "<") (pointer_expression "*(uint *)(param_1 + 7)" (* "*") (cast_expression "(uint *)(param_1 + 7)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 7)" (( "(") (binary_expression "param_1 + 7" (identifier "param_1") (+ "+") (number_literal "7")) () ")"))))) () ")")) (compound_statement "{\n        uVar15 = *(uint *)(param_6 + (ulong)(uVar15 << 6));\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n                    \n          uStack_1a0 = 0x1e6fbf;\n          FUN_002f9af0(local_c8,uVar10 + param_7);\n          uVar6 = extraout_RDX_00;\n        }\n        goto LAB_001e6c3f;\n      }" ({ "{") (expression_statement "uVar15 = *(uint *)(param_6 + (ulong)(uVar15 << 6));" (assignment_expression "uVar15 = *(uint *)(param_6 + (ulong)(uVar15 << 6))" (identifier "uVar15") (= "=") (pointer_expression "*(uint *)(param_6 + (ulong)(uVar15 << 6))" (* "*") (cast_expression "(uint *)(param_6 + (ulong)(uVar15 << 6))" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + (ulong)(uVar15 << 6))" (( "(") (binary_expression "param_6 + (ulong)(uVar15 << 6)" (identifier "param_6") (+ "+") (call_expression "(ulong)(uVar15 << 6)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar15 << 6)" (( "(") (binary_expression "uVar15 << 6" (identifier "uVar15") (<< "<<") (number_literal "6")) () ")")))) () ")"))))) (; ";")) (expression_statement "uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);" (assignment_expression "uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18)" (identifier "uVar10") (= "=") (call_expression "(ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18)" (( "(") (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18" (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8" (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8" (binary_expression "uVar15 >> 0x18" (identifier "uVar15") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar15 & 0xff0000) >> 8" (parenthesized_expression "(uVar15 & 0xff0000)" (( "(") (binary_expression "uVar15 & 0xff0000" (identifier "uVar15") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar15 & 0xff00) << 8" (parenthesized_expression "(uVar15 & 0xff00)" (( "(") (binary_expression "uVar15 & 0xff00" (identifier "uVar15") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar15 << 0x18" (identifier "uVar15") (<< "<<") (number_literal "0x18"))) () ")")))) (; ";")) (if_statement "if (uVar10 < param_8) {\n                    \n          uStack_1a0 = 0x1e6fbf;\n          FUN_002f9af0(local_c8,uVar10 + param_7);\n          uVar6 = extraout_RDX_00;\n        }" (if "if") (parenthesized_expression "(uVar10 < param_8)" (( "(") (binary_expression "uVar10 < param_8" (identifier "uVar10") (< "<") (identifier "param_8")) () ")")) (compound_statement "{\n                    \n          uStack_1a0 = 0x1e6fbf;\n          FUN_002f9af0(local_c8,uVar10 + param_7);\n          uVar6 = extraout_RDX_00;\n        }" ({ "{") (expression_statement "uStack_1a0 = 0x1e6fbf;" (assignment_expression "uStack_1a0 = 0x1e6fbf" (identifier "uStack_1a0") (= "=") (number_literal "0x1e6fbf")) (; ";")) (expression_statement "FUN_002f9af0(local_c8,uVar10 + param_7);" (call_expression "FUN_002f9af0(local_c8,uVar10 + param_7)" (identifier "FUN_002f9af0") (argument_list "(local_c8,uVar10 + param_7)" (( "(") (identifier "local_c8") (, ",") (binary_expression "uVar10 + param_7" (identifier "uVar10") (+ "+") (identifier "param_7")) () ")"))) (; ";")) (expression_statement "uVar6 = extraout_RDX_00;" (assignment_expression "uVar6 = extraout_RDX_00" (identifier "uVar6") (= "=") (identifier "extraout_RDX_00")) (; ";")) (} "}"))) (goto_statement "goto LAB_001e6c3f;" (goto "goto") (statement_identifier "LAB_001e6c3f") (; ";")) (} "}")))) (} "}")) (else_clause "else if (uVar3 == 0xffff) {\n      uStack_1a0 = 0x1e737b;\n      uVar15 = FUN_001d1b60(param_1,uVar4,local_68);\n      uVar6 = extraout_RDX_02;\n      if ((char)local_68[0] != '\0') goto LAB_001e6f84;\n    }\n    else {\n      local_68[0] = (undefined1 *)((ulong)local_68[0]._1_7_ << 8);\n    }" (else "else") (if_statement "if (uVar3 == 0xffff) {\n      uStack_1a0 = 0x1e737b;\n      uVar15 = FUN_001d1b60(param_1,uVar4,local_68);\n      uVar6 = extraout_RDX_02;\n      if ((char)local_68[0] != '\0') goto LAB_001e6f84;\n    }\n    else {\n      local_68[0] = (undefined1 *)((ulong)local_68[0]._1_7_ << 8);\n    }" (if "if") (parenthesized_expression "(uVar3 == 0xffff)" (( "(") (binary_expression "uVar3 == 0xffff" (identifier "uVar3") (== "==") (number_literal "0xffff")) () ")")) (compound_statement "{\n      uStack_1a0 = 0x1e737b;\n      uVar15 = FUN_001d1b60(param_1,uVar4,local_68);\n      uVar6 = extraout_RDX_02;\n      if ((char)local_68[0] != '\0') goto LAB_001e6f84;\n    }" ({ "{") (expression_statement "uStack_1a0 = 0x1e737b;" (assignment_expression "uStack_1a0 = 0x1e737b" (identifier "uStack_1a0") (= "=") (number_literal "0x1e737b")) (; ";")) (expression_statement "uVar15 = FUN_001d1b60(param_1,uVar4,local_68);" (assignment_expression "uVar15 = FUN_001d1b60(param_1,uVar4,local_68)" (identifier "uVar15") (= "=") (call_expression "FUN_001d1b60(param_1,uVar4,local_68)" (identifier "FUN_001d1b60") (argument_list "(param_1,uVar4,local_68)" (( "(") (identifier "param_1") (, ",") (identifier "uVar4") (, ",") (identifier "local_68") () ")")))) (; ";")) (expression_statement "uVar6 = extraout_RDX_02;" (assignment_expression "uVar6 = extraout_RDX_02" (identifier "uVar6") (= "=") (identifier "extraout_RDX_02")) (; ";")) (if_statement "if ((char)local_68[0] != '\0') goto LAB_001e6f84;" (if "if") (parenthesized_expression "((char)local_68[0] != '\0')" (( "(") (binary_expression "(char)local_68[0] != '\0'" (cast_expression "(char)local_68[0]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "local_68[0]" (identifier "local_68") ([ "[") (number_literal "0") (] "]"))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_001e6f84;" (goto "goto") (statement_identifier "LAB_001e6f84") (; ";"))) (} "}")) (else_clause "else {\n      local_68[0] = (undefined1 *)((ulong)local_68[0]._1_7_ << 8);\n    }" (else "else") (compound_statement "{\n      local_68[0] = (undefined1 *)((ulong)local_68[0]._1_7_ << 8);\n    }" ({ "{") (expression_statement "local_68[0] = (undefined1 *)((ulong)local_68[0]._1_7_ << 8);" (assignment_expression "local_68[0] = (undefined1 *)((ulong)local_68[0]._1_7_ << 8)" (subscript_expression "local_68[0]" (identifier "local_68") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(undefined1 *)((ulong)local_68[0]._1_7_ << 8)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulong)local_68[0]._1_7_ << 8)" (( "(") (binary_expression "(ulong)local_68[0]._1_7_ << 8" (cast_expression "(ulong)local_68[0]._1_7_" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (field_expression "local_68[0]._1_7_" (subscript_expression "local_68[0]" (identifier "local_68") ([ "[") (number_literal "0") (] "]")) (. ".") (field_identifier "_1_7_"))) (<< "<<") (number_literal "8")) () ")")))) (; ";")) (} "}")))))) (expression_statement "uVar6 = gettext("symbol %u invalid section index %u");" (assignment_expression "uVar6 = gettext("symbol %u invalid section index %u")" (identifier "uVar6") (= "=") (call_expression "gettext("symbol %u invalid section index %u")" (identifier "gettext") (argument_list "("symbol %u invalid section index %u")" (( "(") (string_literal ""symbol %u invalid section index %u"" (" """) (string_content "symbol %u invalid section index %u") (" """)) () ")")))) (; ";")) (expression_statement "FUN_001d19e0(param_1,uVar6,uVar4,uVar15);" (call_expression "FUN_001d19e0(param_1,uVar6,uVar4,uVar15)" (identifier "FUN_001d19e0") (argument_list "(param_1,uVar6,uVar4,uVar15)" (( "(") (identifier "param_1") (, ",") (identifier "uVar6") (, ",") (identifier "uVar4") (, ",") (identifier "uVar15") () ")"))) (; ";")) (labeled_statement "LAB_001e735d:\n    local_121 = '\0';" (statement_identifier "LAB_001e735d") (: ":") (expression_statement "local_121 = '\0';" (assignment_expression "local_121 = '\0'" (identifier "local_121") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";"))) (goto_statement "goto LAB_001e70e8;" (goto "goto") (statement_identifier "LAB_001e70e8") (; ";")) (} "}"))) (labeled_statement "LAB_001e6c3f:\n  local_f0 = 0;" (statement_identifier "LAB_001e6c3f") (: ":") (expression_statement "local_f0 = 0;" (assignment_expression "local_f0 = 0" (identifier "local_f0") (= "=") (number_literal "0")) (; ";"))) (if_statement "if ((uVar1 >> 0x18 & 1) == 0) {\n    uVar10 = *(ulong *)(local_100 + 0x20);\n    local_122 = '\0';\n    local_118 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28\n                | uVar10 << 0x38;\n    uStack_1a0 = uVar6;\nLAB_001e6c9f:\n    local_118 = local_118 >> 2;\n    local_d8 = (uint *)0x0;\n    local_e0 = (uint *)0x0;\n    local_e8 = 0;\n    if (*(long *)(PTR_DAT_0045c708 + 0x10) == 0) {\n                    \n                    \n      FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n    }\n    cVar14 = *(char *)(*(long *)(PTR_DAT_0045c708 + 0x10) + 0x5051);\n    if (cVar14 != '\0') {\n                    \n      FUN_001da300(&local_e8,local_118 - 1,uStack_1a0);\n      local_121 = cVar14;\n      if (1 < local_118) goto LAB_001e6cd9;\n      goto LAB_001e7093;\n    }\n    local_121 = '\x01';\n    if (1 < local_118) goto LAB_001e6cd9;\n  }\n  else {\n                    \n    local_122 = FUN_001c1720(param_3,local_c8,param_1,param_4,1,1,&local_f0);\n    if (local_122 != '\0') {\n      if (*(long *)(param_3 + 0x378) != 0) {\n        FUN_00197030(*(long *)(param_3 + 0x378),param_1,local_c8[0]);\n        uStack_1a0 = extraout_RDX_01;\n      }\n      uVar10 = *(ulong *)(local_100 + 0x20);\n      local_118 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                  (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                  (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                  (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n      goto LAB_001e6c9f;\n    }\n    local_e8 = 0;\n    local_e0 = (uint *)0x0;\n    local_d8 = (uint *)0x0;\n    uVar10 = *(ulong *)(local_100 + 0x20);\n    local_118 = (uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38) >> 2;\n    if (local_118 < 2) goto LAB_001e735d;\n    local_121 = '\0';\n    local_122 = '\x01';\n    cVar14 = '\0';\nLAB_001e6cd9:\n    local_110 = (long *)0x1;\n    do {\n      uVar15 = puVar5[(long)local_110];\n      uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n      if (uVar15 < 0xff00) {\n        local_104 = uVar15;\n        if (cVar14 != '\0') goto LAB_001e6e26;\nLAB_001e6d30:\n        if (*(uint *)(param_1 + 7) <= local_104) goto LAB_001e6e59;\nLAB_001e6d3a:\n        uVar15 = local_104;\n        if (local_104 < param_4) {\n          uVar6 = gettext("invalid section group %u refers to earlier section %u");\n                    \n          FUN_001d19e0(param_1,uVar6,param_4,uVar15);\n        }\n        puVar8 = (uint *)((ulong)(local_104 << 6) + param_6);\n        uVar15 = *puVar8;\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n          pcVar12 = (char *)0xffffffffffffffff;\n          __s = (char *)(uVar10 + param_7);\n          local_a8 = auStack_98;\n          if (__s != (char *)0x0) {\n            sVar9 = strlen(__s);\n            pcVar12 = __s + sVar9;\n          }\n                    \n          FUN_00174550(&local_a8,__s,pcVar12);\n          uVar15 = local_104;\n          if (local_121 == '\0') {\n            puVar11 = (ulong *)((ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9);\n            *puVar11 = *puVar11 | 1L << ((byte)local_104 & 0x3f);\n            if ((local_122 != '\0') && ((local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0')))) {\n              uVar10 = *(ulong *)(puVar8 + 8);\n              local_78 = local_f0;\n              local_88[0] = local_104;\n              local_80 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n              local_6c = 1;\n              local_70 = uVar4;\n                    \n              FUN_001e2560(param_1 + 0x36,local_88);\n            }\n          }\n          else if (local_122 != '\0') {\n            uVar10 = *(ulong *)(puVar8 + 8);\n            if (*(char *)(local_f0 + 0xc) == '\0') {\n                    \n                    \n              FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            uVar6 = *(undefined8 *)(local_f0 + 0x10);\n            local_68[0] = local_58;\n                    \n            FUN_0017d640(local_68,local_a8,local_a8 + local_a0);\n            local_48 = uVar15;\n            local_40 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n                    \n            FUN_001d9dc0(uVar6,local_68);\n            if (local_68[0] != local_58) {\n              FUN_002f1e60();\n            }\n          }\n          if (local_a8 != auStack_98) {\n            FUN_002f1e60();\n          }\n        }\n      }\n      else {\n        FUN_001dab60(param_1 + 0x1f);\n        uVar15 = uVar15 + (int)param_1[0x22];\n        local_104 = uVar15;\n        if (cVar14 == '\0') goto LAB_001e6d30;\nLAB_001e6e26:\n        local_104 = uVar15;\n        if (local_e0 == local_d8) {\n                    \n          FUN_001a8910(&local_e8,local_e0,&local_104);\n          goto LAB_001e6d30;\n        }\n        *local_e0 = uVar15;\n        local_e0 = local_e0 + 1;\n        if (uVar15 < *(uint *)(param_1 + 7)) goto LAB_001e6d3a;\nLAB_001e6e59:\n        uVar15 = local_104;\n        uVar6 = gettext("section %u in section group %u out of range");\n        FUN_001d19e0(param_1,uVar6,uVar15,param_4);\n      }\n      local_110 = (long *)((long)local_110 + 1);\n    } while (local_110 < local_118);\n    if (cVar14 != '\0') {\nLAB_001e7093:\n      local_110 = &local_e8;\n                    \n      FUN_001caee0(param_3,param_2,param_1,param_4,param_5,local_c8[0],&local_100,\n                   uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                   local_110);\n    }\n  }" (if "if") (parenthesized_expression "((uVar1 >> 0x18 & 1) == 0)" (( "(") (binary_expression "(uVar1 >> 0x18 & 1) == 0" (parenthesized_expression "(uVar1 >> 0x18 & 1)" (( "(") (binary_expression "uVar1 >> 0x18 & 1" (binary_expression "uVar1 >> 0x18" (identifier "uVar1") (>> ">>") (number_literal "0x18")) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    uVar10 = *(ulong *)(local_100 + 0x20);\n    local_122 = '\0';\n    local_118 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28\n                | uVar10 << 0x38;\n    uStack_1a0 = uVar6;\nLAB_001e6c9f:\n    local_118 = local_118 >> 2;\n    local_d8 = (uint *)0x0;\n    local_e0 = (uint *)0x0;\n    local_e8 = 0;\n    if (*(long *)(PTR_DAT_0045c708 + 0x10) == 0) {\n                    \n                    \n      FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n    }\n    cVar14 = *(char *)(*(long *)(PTR_DAT_0045c708 + 0x10) + 0x5051);\n    if (cVar14 != '\0') {\n                    \n      FUN_001da300(&local_e8,local_118 - 1,uStack_1a0);\n      local_121 = cVar14;\n      if (1 < local_118) goto LAB_001e6cd9;\n      goto LAB_001e7093;\n    }\n    local_121 = '\x01';\n    if (1 < local_118) goto LAB_001e6cd9;\n  }" ({ "{") (expression_statement "uVar10 = *(ulong *)(local_100 + 0x20);" (assignment_expression "uVar10 = *(ulong *)(local_100 + 0x20)" (identifier "uVar10") (= "=") (pointer_expression "*(ulong *)(local_100 + 0x20)" (* "*") (cast_expression "(ulong *)(local_100 + 0x20)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_100 + 0x20)" (( "(") (binary_expression "local_100 + 0x20" (identifier "local_100") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "local_122 = '\0';" (assignment_expression "local_122 = '\0'" (identifier "local_122") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "local_118 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28\n                | uVar10 << 0x38;" (assignment_expression "local_118 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28\n                | uVar10 << 0x38" (identifier "local_118") (= "=") (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28\n                | uVar10 << 0x38" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                (uVar10 & 0xff000000) << 8" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                (uVar10 & 0xff0000000000) >> 0x18" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28" (binary_expression "uVar10 >> 0x38" (identifier "uVar10") (>> ">>") (number_literal "0x38")) (| "|") (binary_expression "(uVar10 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar10 & 0xff000000000000)" (( "(") (binary_expression "uVar10 & 0xff000000000000" (identifier "uVar10") (& "&") (number_literal "0xff000000000000")) () ")")) (>> ">>") (number_literal "0x28"))) (| "|") (binary_expression "(uVar10 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar10 & 0xff0000000000)" (( "(") (binary_expression "uVar10 & 0xff0000000000" (identifier "uVar10") (& "&") (number_literal "0xff0000000000")) () ")")) (>> ">>") (number_literal "0x18"))) (| "|") (binary_expression "(uVar10 & 0xff00000000) >> 8" (parenthesized_expression "(uVar10 & 0xff00000000)" (( "(") (binary_expression "uVar10 & 0xff00000000" (identifier "uVar10") (& "&") (number_literal "0xff00000000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar10 & 0xff000000) << 8" (parenthesized_expression "(uVar10 & 0xff000000)" (( "(") (binary_expression "uVar10 & 0xff000000" (identifier "uVar10") (& "&") (number_literal "0xff000000")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "(uVar10 & 0xff0000) << 0x18" (parenthesized_expression "(uVar10 & 0xff0000)" (( "(") (binary_expression "uVar10 & 0xff0000" (identifier "uVar10") (& "&") (number_literal "0xff0000")) () ")")) (<< "<<") (number_literal "0x18"))) (| "|") (binary_expression "(uVar10 & 0xff00) << 0x28" (parenthesized_expression "(uVar10 & 0xff00)" (( "(") (binary_expression "uVar10 & 0xff00" (identifier "uVar10") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "0x28"))) (| "|") (binary_expression "uVar10 << 0x38" (identifier "uVar10") (<< "<<") (number_literal "0x38")))) (; ";")) (expression_statement "uStack_1a0 = uVar6;" (assignment_expression "uStack_1a0 = uVar6" (identifier "uStack_1a0") (= "=") (identifier "uVar6")) (; ";")) (labeled_statement "LAB_001e6c9f:\n    local_118 = local_118 >> 2;" (statement_identifier "LAB_001e6c9f") (: ":") (expression_statement "local_118 = local_118 >> 2;" (assignment_expression "local_118 = local_118 >> 2" (identifier "local_118") (= "=") (binary_expression "local_118 >> 2" (identifier "local_118") (>> ">>") (number_literal "2"))) (; ";"))) (expression_statement "local_d8 = (uint *)0x0;" (assignment_expression "local_d8 = (uint *)0x0" (identifier "local_d8") (= "=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_e0 = (uint *)0x0;" (assignment_expression "local_e0 = (uint *)0x0" (identifier "local_e0") (= "=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_e8 = 0;" (assignment_expression "local_e8 = 0" (identifier "local_e8") (= "=") (number_literal "0")) (; ";")) (if_statement "if (*(long *)(PTR_DAT_0045c708 + 0x10) == 0) {\n                    \n                    \n      FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n    }" (if "if") (parenthesized_expression "(*(long *)(PTR_DAT_0045c708 + 0x10) == 0)" (( "(") (binary_expression "*(long *)(PTR_DAT_0045c708 + 0x10) == 0" (pointer_expression "*(long *)(PTR_DAT_0045c708 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0045c708 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0045c708 + 0x10)" (( "(") (binary_expression "PTR_DAT_0045c708 + 0x10" (identifier "PTR_DAT_0045c708") (+ "+") (number_literal "0x10")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n                    \n      FUN_0018ff20("../../gold/parameters.h",0x5c,"options");\n    }" ({ "{") (expression_statement "FUN_0018ff20("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0018ff20("../../gold/parameters.h",0x5c,"options")" (identifier "FUN_0018ff20") (argument_list "("../../gold/parameters.h",0x5c,"options")" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x5c") (, ",") (string_literal ""options"" (" """) (string_content "options") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "cVar14 = *(char *)(*(long *)(PTR_DAT_0045c708 + 0x10) + 0x5051);" (assignment_expression "cVar14 = *(char *)(*(long *)(PTR_DAT_0045c708 + 0x10) + 0x5051)" (identifier "cVar14") (= "=") (pointer_expression "*(char *)(*(long *)(PTR_DAT_0045c708 + 0x10) + 0x5051)" (* "*") (cast_expression "(char *)(*(long *)(PTR_DAT_0045c708 + 0x10) + 0x5051)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(PTR_DAT_0045c708 + 0x10) + 0x5051)" (( "(") (binary_expression "*(long *)(PTR_DAT_0045c708 + 0x10) + 0x5051" (pointer_expression "*(long *)(PTR_DAT_0045c708 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0045c708 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0045c708 + 0x10)" (( "(") (binary_expression "PTR_DAT_0045c708 + 0x10" (identifier "PTR_DAT_0045c708") (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (number_literal "0x5051")) () ")"))))) (; ";")) (if_statement "if (cVar14 != '\0') {\n                    \n      FUN_001da300(&local_e8,local_118 - 1,uStack_1a0);\n      local_121 = cVar14;\n      if (1 < local_118) goto LAB_001e6cd9;\n      goto LAB_001e7093;\n    }" (if "if") (parenthesized_expression "(cVar14 != '\0')" (( "(") (binary_expression "cVar14 != '\0'" (identifier "cVar14") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                    \n      FUN_001da300(&local_e8,local_118 - 1,uStack_1a0);\n      local_121 = cVar14;\n      if (1 < local_118) goto LAB_001e6cd9;\n      goto LAB_001e7093;\n    }" ({ "{") (expression_statement "FUN_001da300(&local_e8,local_118 - 1,uStack_1a0);" (call_expression "FUN_001da300(&local_e8,local_118 - 1,uStack_1a0)" (identifier "FUN_001da300") (argument_list "(&local_e8,local_118 - 1,uStack_1a0)" (( "(") (pointer_expression "&local_e8" (& "&") (identifier "local_e8")) (, ",") (binary_expression "local_118 - 1" (identifier "local_118") (- "-") (number_literal "1")) (, ",") (identifier "uStack_1a0") () ")"))) (; ";")) (expression_statement "local_121 = cVar14;" (assignment_expression "local_121 = cVar14" (identifier "local_121") (= "=") (identifier "cVar14")) (; ";")) (if_statement "if (1 < local_118) goto LAB_001e6cd9;" (if "if") (parenthesized_expression "(1 < local_118)" (( "(") (binary_expression "1 < local_118" (number_literal "1") (< "<") (identifier "local_118")) () ")")) (goto_statement "goto LAB_001e6cd9;" (goto "goto") (statement_identifier "LAB_001e6cd9") (; ";"))) (goto_statement "goto LAB_001e7093;" (goto "goto") (statement_identifier "LAB_001e7093") (; ";")) (} "}"))) (expression_statement "local_121 = '\x01';" (assignment_expression "local_121 = '\x01'" (identifier "local_121") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (if_statement "if (1 < local_118) goto LAB_001e6cd9;" (if "if") (parenthesized_expression "(1 < local_118)" (( "(") (binary_expression "1 < local_118" (number_literal "1") (< "<") (identifier "local_118")) () ")")) (goto_statement "goto LAB_001e6cd9;" (goto "goto") (statement_identifier "LAB_001e6cd9") (; ";"))) (} "}")) (else_clause "else {\n                    \n    local_122 = FUN_001c1720(param_3,local_c8,param_1,param_4,1,1,&local_f0);\n    if (local_122 != '\0') {\n      if (*(long *)(param_3 + 0x378) != 0) {\n        FUN_00197030(*(long *)(param_3 + 0x378),param_1,local_c8[0]);\n        uStack_1a0 = extraout_RDX_01;\n      }\n      uVar10 = *(ulong *)(local_100 + 0x20);\n      local_118 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                  (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                  (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                  (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n      goto LAB_001e6c9f;\n    }\n    local_e8 = 0;\n    local_e0 = (uint *)0x0;\n    local_d8 = (uint *)0x0;\n    uVar10 = *(ulong *)(local_100 + 0x20);\n    local_118 = (uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38) >> 2;\n    if (local_118 < 2) goto LAB_001e735d;\n    local_121 = '\0';\n    local_122 = '\x01';\n    cVar14 = '\0';\nLAB_001e6cd9:\n    local_110 = (long *)0x1;\n    do {\n      uVar15 = puVar5[(long)local_110];\n      uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n      if (uVar15 < 0xff00) {\n        local_104 = uVar15;\n        if (cVar14 != '\0') goto LAB_001e6e26;\nLAB_001e6d30:\n        if (*(uint *)(param_1 + 7) <= local_104) goto LAB_001e6e59;\nLAB_001e6d3a:\n        uVar15 = local_104;\n        if (local_104 < param_4) {\n          uVar6 = gettext("invalid section group %u refers to earlier section %u");\n                    \n          FUN_001d19e0(param_1,uVar6,param_4,uVar15);\n        }\n        puVar8 = (uint *)((ulong)(local_104 << 6) + param_6);\n        uVar15 = *puVar8;\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n          pcVar12 = (char *)0xffffffffffffffff;\n          __s = (char *)(uVar10 + param_7);\n          local_a8 = auStack_98;\n          if (__s != (char *)0x0) {\n            sVar9 = strlen(__s);\n            pcVar12 = __s + sVar9;\n          }\n                    \n          FUN_00174550(&local_a8,__s,pcVar12);\n          uVar15 = local_104;\n          if (local_121 == '\0') {\n            puVar11 = (ulong *)((ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9);\n            *puVar11 = *puVar11 | 1L << ((byte)local_104 & 0x3f);\n            if ((local_122 != '\0') && ((local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0')))) {\n              uVar10 = *(ulong *)(puVar8 + 8);\n              local_78 = local_f0;\n              local_88[0] = local_104;\n              local_80 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n              local_6c = 1;\n              local_70 = uVar4;\n                    \n              FUN_001e2560(param_1 + 0x36,local_88);\n            }\n          }\n          else if (local_122 != '\0') {\n            uVar10 = *(ulong *)(puVar8 + 8);\n            if (*(char *)(local_f0 + 0xc) == '\0') {\n                    \n                    \n              FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            uVar6 = *(undefined8 *)(local_f0 + 0x10);\n            local_68[0] = local_58;\n                    \n            FUN_0017d640(local_68,local_a8,local_a8 + local_a0);\n            local_48 = uVar15;\n            local_40 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n                    \n            FUN_001d9dc0(uVar6,local_68);\n            if (local_68[0] != local_58) {\n              FUN_002f1e60();\n            }\n          }\n          if (local_a8 != auStack_98) {\n            FUN_002f1e60();\n          }\n        }\n      }\n      else {\n        FUN_001dab60(param_1 + 0x1f);\n        uVar15 = uVar15 + (int)param_1[0x22];\n        local_104 = uVar15;\n        if (cVar14 == '\0') goto LAB_001e6d30;\nLAB_001e6e26:\n        local_104 = uVar15;\n        if (local_e0 == local_d8) {\n                    \n          FUN_001a8910(&local_e8,local_e0,&local_104);\n          goto LAB_001e6d30;\n        }\n        *local_e0 = uVar15;\n        local_e0 = local_e0 + 1;\n        if (uVar15 < *(uint *)(param_1 + 7)) goto LAB_001e6d3a;\nLAB_001e6e59:\n        uVar15 = local_104;\n        uVar6 = gettext("section %u in section group %u out of range");\n        FUN_001d19e0(param_1,uVar6,uVar15,param_4);\n      }\n      local_110 = (long *)((long)local_110 + 1);\n    } while (local_110 < local_118);\n    if (cVar14 != '\0') {\nLAB_001e7093:\n      local_110 = &local_e8;\n                    \n      FUN_001caee0(param_3,param_2,param_1,param_4,param_5,local_c8[0],&local_100,\n                   uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                   local_110);\n    }\n  }" (else "else") (compound_statement "{\n                    \n    local_122 = FUN_001c1720(param_3,local_c8,param_1,param_4,1,1,&local_f0);\n    if (local_122 != '\0') {\n      if (*(long *)(param_3 + 0x378) != 0) {\n        FUN_00197030(*(long *)(param_3 + 0x378),param_1,local_c8[0]);\n        uStack_1a0 = extraout_RDX_01;\n      }\n      uVar10 = *(ulong *)(local_100 + 0x20);\n      local_118 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                  (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                  (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                  (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n      goto LAB_001e6c9f;\n    }\n    local_e8 = 0;\n    local_e0 = (uint *)0x0;\n    local_d8 = (uint *)0x0;\n    uVar10 = *(ulong *)(local_100 + 0x20);\n    local_118 = (uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38) >> 2;\n    if (local_118 < 2) goto LAB_001e735d;\n    local_121 = '\0';\n    local_122 = '\x01';\n    cVar14 = '\0';\nLAB_001e6cd9:\n    local_110 = (long *)0x1;\n    do {\n      uVar15 = puVar5[(long)local_110];\n      uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n      if (uVar15 < 0xff00) {\n        local_104 = uVar15;\n        if (cVar14 != '\0') goto LAB_001e6e26;\nLAB_001e6d30:\n        if (*(uint *)(param_1 + 7) <= local_104) goto LAB_001e6e59;\nLAB_001e6d3a:\n        uVar15 = local_104;\n        if (local_104 < param_4) {\n          uVar6 = gettext("invalid section group %u refers to earlier section %u");\n                    \n          FUN_001d19e0(param_1,uVar6,param_4,uVar15);\n        }\n        puVar8 = (uint *)((ulong)(local_104 << 6) + param_6);\n        uVar15 = *puVar8;\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n          pcVar12 = (char *)0xffffffffffffffff;\n          __s = (char *)(uVar10 + param_7);\n          local_a8 = auStack_98;\n          if (__s != (char *)0x0) {\n            sVar9 = strlen(__s);\n            pcVar12 = __s + sVar9;\n          }\n                    \n          FUN_00174550(&local_a8,__s,pcVar12);\n          uVar15 = local_104;\n          if (local_121 == '\0') {\n            puVar11 = (ulong *)((ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9);\n            *puVar11 = *puVar11 | 1L << ((byte)local_104 & 0x3f);\n            if ((local_122 != '\0') && ((local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0')))) {\n              uVar10 = *(ulong *)(puVar8 + 8);\n              local_78 = local_f0;\n              local_88[0] = local_104;\n              local_80 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n              local_6c = 1;\n              local_70 = uVar4;\n                    \n              FUN_001e2560(param_1 + 0x36,local_88);\n            }\n          }\n          else if (local_122 != '\0') {\n            uVar10 = *(ulong *)(puVar8 + 8);\n            if (*(char *)(local_f0 + 0xc) == '\0') {\n                    \n                    \n              FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            uVar6 = *(undefined8 *)(local_f0 + 0x10);\n            local_68[0] = local_58;\n                    \n            FUN_0017d640(local_68,local_a8,local_a8 + local_a0);\n            local_48 = uVar15;\n            local_40 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n                    \n            FUN_001d9dc0(uVar6,local_68);\n            if (local_68[0] != local_58) {\n              FUN_002f1e60();\n            }\n          }\n          if (local_a8 != auStack_98) {\n            FUN_002f1e60();\n          }\n        }\n      }\n      else {\n        FUN_001dab60(param_1 + 0x1f);\n        uVar15 = uVar15 + (int)param_1[0x22];\n        local_104 = uVar15;\n        if (cVar14 == '\0') goto LAB_001e6d30;\nLAB_001e6e26:\n        local_104 = uVar15;\n        if (local_e0 == local_d8) {\n                    \n          FUN_001a8910(&local_e8,local_e0,&local_104);\n          goto LAB_001e6d30;\n        }\n        *local_e0 = uVar15;\n        local_e0 = local_e0 + 1;\n        if (uVar15 < *(uint *)(param_1 + 7)) goto LAB_001e6d3a;\nLAB_001e6e59:\n        uVar15 = local_104;\n        uVar6 = gettext("section %u in section group %u out of range");\n        FUN_001d19e0(param_1,uVar6,uVar15,param_4);\n      }\n      local_110 = (long *)((long)local_110 + 1);\n    } while (local_110 < local_118);\n    if (cVar14 != '\0') {\nLAB_001e7093:\n      local_110 = &local_e8;\n                    \n      FUN_001caee0(param_3,param_2,param_1,param_4,param_5,local_c8[0],&local_100,\n                   uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                   local_110);\n    }\n  }" ({ "{") (expression_statement "local_122 = FUN_001c1720(param_3,local_c8,param_1,param_4,1,1,&local_f0);" (assignment_expression "local_122 = FUN_001c1720(param_3,local_c8,param_1,param_4,1,1,&local_f0)" (identifier "local_122") (= "=") (call_expression "FUN_001c1720(param_3,local_c8,param_1,param_4,1,1,&local_f0)" (identifier "FUN_001c1720") (argument_list "(param_3,local_c8,param_1,param_4,1,1,&local_f0)" (( "(") (identifier "param_3") (, ",") (identifier "local_c8") (, ",") (identifier "param_1") (, ",") (identifier "param_4") (, ",") (number_literal "1") (, ",") (number_literal "1") (, ",") (pointer_expression "&local_f0" (& "&") (identifier "local_f0")) () ")")))) (; ";")) (if_statement "if (local_122 != '\0') {\n      if (*(long *)(param_3 + 0x378) != 0) {\n        FUN_00197030(*(long *)(param_3 + 0x378),param_1,local_c8[0]);\n        uStack_1a0 = extraout_RDX_01;\n      }\n      uVar10 = *(ulong *)(local_100 + 0x20);\n      local_118 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                  (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                  (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                  (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n      goto LAB_001e6c9f;\n    }" (if "if") (parenthesized_expression "(local_122 != '\0')" (( "(") (binary_expression "local_122 != '\0'" (identifier "local_122") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      if (*(long *)(param_3 + 0x378) != 0) {\n        FUN_00197030(*(long *)(param_3 + 0x378),param_1,local_c8[0]);\n        uStack_1a0 = extraout_RDX_01;\n      }\n      uVar10 = *(ulong *)(local_100 + 0x20);\n      local_118 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                  (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                  (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                  (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n      goto LAB_001e6c9f;\n    }" ({ "{") (if_statement "if (*(long *)(param_3 + 0x378) != 0) {\n        FUN_00197030(*(long *)(param_3 + 0x378),param_1,local_c8[0]);\n        uStack_1a0 = extraout_RDX_01;\n      }" (if "if") (parenthesized_expression "(*(long *)(param_3 + 0x378) != 0)" (( "(") (binary_expression "*(long *)(param_3 + 0x378) != 0" (pointer_expression "*(long *)(param_3 + 0x378)" (* "*") (cast_expression "(long *)(param_3 + 0x378)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x378)" (( "(") (binary_expression "param_3 + 0x378" (identifier "param_3") (+ "+") (number_literal "0x378")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        FUN_00197030(*(long *)(param_3 + 0x378),param_1,local_c8[0]);\n        uStack_1a0 = extraout_RDX_01;\n      }" ({ "{") (expression_statement "FUN_00197030(*(long *)(param_3 + 0x378),param_1,local_c8[0]);" (call_expression "FUN_00197030(*(long *)(param_3 + 0x378),param_1,local_c8[0])" (identifier "FUN_00197030") (argument_list "(*(long *)(param_3 + 0x378),param_1,local_c8[0])" (( "(") (pointer_expression "*(long *)(param_3 + 0x378)" (* "*") (cast_expression "(long *)(param_3 + 0x378)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x378)" (( "(") (binary_expression "param_3 + 0x378" (identifier "param_3") (+ "+") (number_literal "0x378")) () ")")))) (, ",") (identifier "param_1") (, ",") (subscript_expression "local_c8[0]" (identifier "local_c8") ([ "[") (number_literal "0") (] "]")) () ")"))) (; ";")) (expression_statement "uStack_1a0 = extraout_RDX_01;" (assignment_expression "uStack_1a0 = extraout_RDX_01" (identifier "uStack_1a0") (= "=") (identifier "extraout_RDX_01")) (; ";")) (} "}"))) (expression_statement "uVar10 = *(ulong *)(local_100 + 0x20);" (assignment_expression "uVar10 = *(ulong *)(local_100 + 0x20)" (identifier "uVar10") (= "=") (pointer_expression "*(ulong *)(local_100 + 0x20)" (* "*") (cast_expression "(ulong *)(local_100 + 0x20)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_100 + 0x20)" (( "(") (binary_expression "local_100 + 0x20" (identifier "local_100") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "local_118 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                  (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                  (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                  (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;" (assignment_expression "local_118 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                  (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                  (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                  (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38" (identifier "local_118") (= "=") (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                  (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                  (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                  (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                  (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                  (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                  (uVar10 & 0xff00) << 0x28" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                  (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                  (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                  (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                  (uVar10 & 0xff000000) << 8" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                  (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                  (uVar10 & 0xff0000000000) >> 0x18" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28" (binary_expression "uVar10 >> 0x38" (identifier "uVar10") (>> ">>") (number_literal "0x38")) (| "|") (binary_expression "(uVar10 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar10 & 0xff000000000000)" (( "(") (binary_expression "uVar10 & 0xff000000000000" (identifier "uVar10") (& "&") (number_literal "0xff000000000000")) () ")")) (>> ">>") (number_literal "0x28"))) (| "|") (binary_expression "(uVar10 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar10 & 0xff0000000000)" (( "(") (binary_expression "uVar10 & 0xff0000000000" (identifier "uVar10") (& "&") (number_literal "0xff0000000000")) () ")")) (>> ">>") (number_literal "0x18"))) (| "|") (binary_expression "(uVar10 & 0xff00000000) >> 8" (parenthesized_expression "(uVar10 & 0xff00000000)" (( "(") (binary_expression "uVar10 & 0xff00000000" (identifier "uVar10") (& "&") (number_literal "0xff00000000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar10 & 0xff000000) << 8" (parenthesized_expression "(uVar10 & 0xff000000)" (( "(") (binary_expression "uVar10 & 0xff000000" (identifier "uVar10") (& "&") (number_literal "0xff000000")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "(uVar10 & 0xff0000) << 0x18" (parenthesized_expression "(uVar10 & 0xff0000)" (( "(") (binary_expression "uVar10 & 0xff0000" (identifier "uVar10") (& "&") (number_literal "0xff0000")) () ")")) (<< "<<") (number_literal "0x18"))) (| "|") (binary_expression "(uVar10 & 0xff00) << 0x28" (parenthesized_expression "(uVar10 & 0xff00)" (( "(") (binary_expression "uVar10 & 0xff00" (identifier "uVar10") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "0x28"))) (| "|") (binary_expression "uVar10 << 0x38" (identifier "uVar10") (<< "<<") (number_literal "0x38")))) (; ";")) (goto_statement "goto LAB_001e6c9f;" (goto "goto") (statement_identifier "LAB_001e6c9f") (; ";")) (} "}"))) (expression_statement "local_e8 = 0;" (assignment_expression "local_e8 = 0" (identifier "local_e8") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_e0 = (uint *)0x0;" (assignment_expression "local_e0 = (uint *)0x0" (identifier "local_e0") (= "=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_d8 = (uint *)0x0;" (assignment_expression "local_d8 = (uint *)0x0" (identifier "local_d8") (= "=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "uVar10 = *(ulong *)(local_100 + 0x20);" (assignment_expression "uVar10 = *(ulong *)(local_100 + 0x20)" (identifier "uVar10") (= "=") (pointer_expression "*(ulong *)(local_100 + 0x20)" (* "*") (cast_expression "(ulong *)(local_100 + 0x20)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_100 + 0x20)" (( "(") (binary_expression "local_100 + 0x20" (identifier "local_100") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "local_118 = (uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38) >> 2;" (assignment_expression "local_118 = (uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38) >> 2" (identifier "local_118") (= "=") (binary_expression "(uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38) >> 2" (parenthesized_expression "(uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38)" (( "(") (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                 (uVar10 & 0xff00) << 0x28" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                 (uVar10 & 0xff000000) << 8" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                 (uVar10 & 0xff0000000000) >> 0x18" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28" (binary_expression "uVar10 >> 0x38" (identifier "uVar10") (>> ">>") (number_literal "0x38")) (| "|") (binary_expression "(uVar10 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar10 & 0xff000000000000)" (( "(") (binary_expression "uVar10 & 0xff000000000000" (identifier "uVar10") (& "&") (number_literal "0xff000000000000")) () ")")) (>> ">>") (number_literal "0x28"))) (| "|") (binary_expression "(uVar10 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar10 & 0xff0000000000)" (( "(") (binary_expression "uVar10 & 0xff0000000000" (identifier "uVar10") (& "&") (number_literal "0xff0000000000")) () ")")) (>> ">>") (number_literal "0x18"))) (| "|") (binary_expression "(uVar10 & 0xff00000000) >> 8" (parenthesized_expression "(uVar10 & 0xff00000000)" (( "(") (binary_expression "uVar10 & 0xff00000000" (identifier "uVar10") (& "&") (number_literal "0xff00000000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar10 & 0xff000000) << 8" (parenthesized_expression "(uVar10 & 0xff000000)" (( "(") (binary_expression "uVar10 & 0xff000000" (identifier "uVar10") (& "&") (number_literal "0xff000000")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "(uVar10 & 0xff0000) << 0x18" (parenthesized_expression "(uVar10 & 0xff0000)" (( "(") (binary_expression "uVar10 & 0xff0000" (identifier "uVar10") (& "&") (number_literal "0xff0000")) () ")")) (<< "<<") (number_literal "0x18"))) (| "|") (binary_expression "(uVar10 & 0xff00) << 0x28" (parenthesized_expression "(uVar10 & 0xff00)" (( "(") (binary_expression "uVar10 & 0xff00" (identifier "uVar10") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "0x28"))) (| "|") (binary_expression "uVar10 << 0x38" (identifier "uVar10") (<< "<<") (number_literal "0x38"))) () ")")) (>> ">>") (number_literal "2"))) (; ";")) (if_statement "if (local_118 < 2) goto LAB_001e735d;" (if "if") (parenthesized_expression "(local_118 < 2)" (( "(") (binary_expression "local_118 < 2" (identifier "local_118") (< "<") (number_literal "2")) () ")")) (goto_statement "goto LAB_001e735d;" (goto "goto") (statement_identifier "LAB_001e735d") (; ";"))) (expression_statement "local_121 = '\0';" (assignment_expression "local_121 = '\0'" (identifier "local_121") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "local_122 = '\x01';" (assignment_expression "local_122 = '\x01'" (identifier "local_122") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (expression_statement "cVar14 = '\0';" (assignment_expression "cVar14 = '\0'" (identifier "cVar14") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (labeled_statement "LAB_001e6cd9:\n    local_110 = (long *)0x1;" (statement_identifier "LAB_001e6cd9") (: ":") (expression_statement "local_110 = (long *)0x1;" (assignment_expression "local_110 = (long *)0x1" (identifier "local_110") (= "=") (cast_expression "(long *)0x1" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";"))) (do_statement "do {\n      uVar15 = puVar5[(long)local_110];\n      uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n      if (uVar15 < 0xff00) {\n        local_104 = uVar15;\n        if (cVar14 != '\0') goto LAB_001e6e26;\nLAB_001e6d30:\n        if (*(uint *)(param_1 + 7) <= local_104) goto LAB_001e6e59;\nLAB_001e6d3a:\n        uVar15 = local_104;\n        if (local_104 < param_4) {\n          uVar6 = gettext("invalid section group %u refers to earlier section %u");\n                    \n          FUN_001d19e0(param_1,uVar6,param_4,uVar15);\n        }\n        puVar8 = (uint *)((ulong)(local_104 << 6) + param_6);\n        uVar15 = *puVar8;\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n          pcVar12 = (char *)0xffffffffffffffff;\n          __s = (char *)(uVar10 + param_7);\n          local_a8 = auStack_98;\n          if (__s != (char *)0x0) {\n            sVar9 = strlen(__s);\n            pcVar12 = __s + sVar9;\n          }\n                    \n          FUN_00174550(&local_a8,__s,pcVar12);\n          uVar15 = local_104;\n          if (local_121 == '\0') {\n            puVar11 = (ulong *)((ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9);\n            *puVar11 = *puVar11 | 1L << ((byte)local_104 & 0x3f);\n            if ((local_122 != '\0') && ((local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0')))) {\n              uVar10 = *(ulong *)(puVar8 + 8);\n              local_78 = local_f0;\n              local_88[0] = local_104;\n              local_80 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n              local_6c = 1;\n              local_70 = uVar4;\n                    \n              FUN_001e2560(param_1 + 0x36,local_88);\n            }\n          }\n          else if (local_122 != '\0') {\n            uVar10 = *(ulong *)(puVar8 + 8);\n            if (*(char *)(local_f0 + 0xc) == '\0') {\n                    \n                    \n              FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            uVar6 = *(undefined8 *)(local_f0 + 0x10);\n            local_68[0] = local_58;\n                    \n            FUN_0017d640(local_68,local_a8,local_a8 + local_a0);\n            local_48 = uVar15;\n            local_40 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n                    \n            FUN_001d9dc0(uVar6,local_68);\n            if (local_68[0] != local_58) {\n              FUN_002f1e60();\n            }\n          }\n          if (local_a8 != auStack_98) {\n            FUN_002f1e60();\n          }\n        }\n      }\n      else {\n        FUN_001dab60(param_1 + 0x1f);\n        uVar15 = uVar15 + (int)param_1[0x22];\n        local_104 = uVar15;\n        if (cVar14 == '\0') goto LAB_001e6d30;\nLAB_001e6e26:\n        local_104 = uVar15;\n        if (local_e0 == local_d8) {\n                    \n          FUN_001a8910(&local_e8,local_e0,&local_104);\n          goto LAB_001e6d30;\n        }\n        *local_e0 = uVar15;\n        local_e0 = local_e0 + 1;\n        if (uVar15 < *(uint *)(param_1 + 7)) goto LAB_001e6d3a;\nLAB_001e6e59:\n        uVar15 = local_104;\n        uVar6 = gettext("section %u in section group %u out of range");\n        FUN_001d19e0(param_1,uVar6,uVar15,param_4);\n      }\n      local_110 = (long *)((long)local_110 + 1);\n    } while (local_110 < local_118);" (do "do") (compound_statement "{\n      uVar15 = puVar5[(long)local_110];\n      uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n      if (uVar15 < 0xff00) {\n        local_104 = uVar15;\n        if (cVar14 != '\0') goto LAB_001e6e26;\nLAB_001e6d30:\n        if (*(uint *)(param_1 + 7) <= local_104) goto LAB_001e6e59;\nLAB_001e6d3a:\n        uVar15 = local_104;\n        if (local_104 < param_4) {\n          uVar6 = gettext("invalid section group %u refers to earlier section %u");\n                    \n          FUN_001d19e0(param_1,uVar6,param_4,uVar15);\n        }\n        puVar8 = (uint *)((ulong)(local_104 << 6) + param_6);\n        uVar15 = *puVar8;\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n          pcVar12 = (char *)0xffffffffffffffff;\n          __s = (char *)(uVar10 + param_7);\n          local_a8 = auStack_98;\n          if (__s != (char *)0x0) {\n            sVar9 = strlen(__s);\n            pcVar12 = __s + sVar9;\n          }\n                    \n          FUN_00174550(&local_a8,__s,pcVar12);\n          uVar15 = local_104;\n          if (local_121 == '\0') {\n            puVar11 = (ulong *)((ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9);\n            *puVar11 = *puVar11 | 1L << ((byte)local_104 & 0x3f);\n            if ((local_122 != '\0') && ((local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0')))) {\n              uVar10 = *(ulong *)(puVar8 + 8);\n              local_78 = local_f0;\n              local_88[0] = local_104;\n              local_80 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n              local_6c = 1;\n              local_70 = uVar4;\n                    \n              FUN_001e2560(param_1 + 0x36,local_88);\n            }\n          }\n          else if (local_122 != '\0') {\n            uVar10 = *(ulong *)(puVar8 + 8);\n            if (*(char *)(local_f0 + 0xc) == '\0') {\n                    \n                    \n              FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            uVar6 = *(undefined8 *)(local_f0 + 0x10);\n            local_68[0] = local_58;\n                    \n            FUN_0017d640(local_68,local_a8,local_a8 + local_a0);\n            local_48 = uVar15;\n            local_40 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n                    \n            FUN_001d9dc0(uVar6,local_68);\n            if (local_68[0] != local_58) {\n              FUN_002f1e60();\n            }\n          }\n          if (local_a8 != auStack_98) {\n            FUN_002f1e60();\n          }\n        }\n      }\n      else {\n        FUN_001dab60(param_1 + 0x1f);\n        uVar15 = uVar15 + (int)param_1[0x22];\n        local_104 = uVar15;\n        if (cVar14 == '\0') goto LAB_001e6d30;\nLAB_001e6e26:\n        local_104 = uVar15;\n        if (local_e0 == local_d8) {\n                    \n          FUN_001a8910(&local_e8,local_e0,&local_104);\n          goto LAB_001e6d30;\n        }\n        *local_e0 = uVar15;\n        local_e0 = local_e0 + 1;\n        if (uVar15 < *(uint *)(param_1 + 7)) goto LAB_001e6d3a;\nLAB_001e6e59:\n        uVar15 = local_104;\n        uVar6 = gettext("section %u in section group %u out of range");\n        FUN_001d19e0(param_1,uVar6,uVar15,param_4);\n      }\n      local_110 = (long *)((long)local_110 + 1);\n    }" ({ "{") (expression_statement "uVar15 = puVar5[(long)local_110];" (assignment_expression "uVar15 = puVar5[(long)local_110]" (identifier "uVar15") (= "=") (subscript_expression "puVar5[(long)local_110]" (identifier "puVar5") ([ "[") (cast_expression "(long)local_110" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_110")) (] "]"))) (; ";")) (expression_statement "uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;" (assignment_expression "uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18" (identifier "uVar15") (= "=") (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18" (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8" (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8" (binary_expression "uVar15 >> 0x18" (identifier "uVar15") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar15 & 0xff0000) >> 8" (parenthesized_expression "(uVar15 & 0xff0000)" (( "(") (binary_expression "uVar15 & 0xff0000" (identifier "uVar15") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar15 & 0xff00) << 8" (parenthesized_expression "(uVar15 & 0xff00)" (( "(") (binary_expression "uVar15 & 0xff00" (identifier "uVar15") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar15 << 0x18" (identifier "uVar15") (<< "<<") (number_literal "0x18")))) (; ";")) (if_statement "if (uVar15 < 0xff00) {\n        local_104 = uVar15;\n        if (cVar14 != '\0') goto LAB_001e6e26;\nLAB_001e6d30:\n        if (*(uint *)(param_1 + 7) <= local_104) goto LAB_001e6e59;\nLAB_001e6d3a:\n        uVar15 = local_104;\n        if (local_104 < param_4) {\n          uVar6 = gettext("invalid section group %u refers to earlier section %u");\n                    \n          FUN_001d19e0(param_1,uVar6,param_4,uVar15);\n        }\n        puVar8 = (uint *)((ulong)(local_104 << 6) + param_6);\n        uVar15 = *puVar8;\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n          pcVar12 = (char *)0xffffffffffffffff;\n          __s = (char *)(uVar10 + param_7);\n          local_a8 = auStack_98;\n          if (__s != (char *)0x0) {\n            sVar9 = strlen(__s);\n            pcVar12 = __s + sVar9;\n          }\n                    \n          FUN_00174550(&local_a8,__s,pcVar12);\n          uVar15 = local_104;\n          if (local_121 == '\0') {\n            puVar11 = (ulong *)((ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9);\n            *puVar11 = *puVar11 | 1L << ((byte)local_104 & 0x3f);\n            if ((local_122 != '\0') && ((local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0')))) {\n              uVar10 = *(ulong *)(puVar8 + 8);\n              local_78 = local_f0;\n              local_88[0] = local_104;\n              local_80 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n              local_6c = 1;\n              local_70 = uVar4;\n                    \n              FUN_001e2560(param_1 + 0x36,local_88);\n            }\n          }\n          else if (local_122 != '\0') {\n            uVar10 = *(ulong *)(puVar8 + 8);\n            if (*(char *)(local_f0 + 0xc) == '\0') {\n                    \n                    \n              FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            uVar6 = *(undefined8 *)(local_f0 + 0x10);\n            local_68[0] = local_58;\n                    \n            FUN_0017d640(local_68,local_a8,local_a8 + local_a0);\n            local_48 = uVar15;\n            local_40 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n                    \n            FUN_001d9dc0(uVar6,local_68);\n            if (local_68[0] != local_58) {\n              FUN_002f1e60();\n            }\n          }\n          if (local_a8 != auStack_98) {\n            FUN_002f1e60();\n          }\n        }\n      }\n      else {\n        FUN_001dab60(param_1 + 0x1f);\n        uVar15 = uVar15 + (int)param_1[0x22];\n        local_104 = uVar15;\n        if (cVar14 == '\0') goto LAB_001e6d30;\nLAB_001e6e26:\n        local_104 = uVar15;\n        if (local_e0 == local_d8) {\n                    \n          FUN_001a8910(&local_e8,local_e0,&local_104);\n          goto LAB_001e6d30;\n        }\n        *local_e0 = uVar15;\n        local_e0 = local_e0 + 1;\n        if (uVar15 < *(uint *)(param_1 + 7)) goto LAB_001e6d3a;\nLAB_001e6e59:\n        uVar15 = local_104;\n        uVar6 = gettext("section %u in section group %u out of range");\n        FUN_001d19e0(param_1,uVar6,uVar15,param_4);\n      }" (if "if") (parenthesized_expression "(uVar15 < 0xff00)" (( "(") (binary_expression "uVar15 < 0xff00" (identifier "uVar15") (< "<") (number_literal "0xff00")) () ")")) (compound_statement "{\n        local_104 = uVar15;\n        if (cVar14 != '\0') goto LAB_001e6e26;\nLAB_001e6d30:\n        if (*(uint *)(param_1 + 7) <= local_104) goto LAB_001e6e59;\nLAB_001e6d3a:\n        uVar15 = local_104;\n        if (local_104 < param_4) {\n          uVar6 = gettext("invalid section group %u refers to earlier section %u");\n                    \n          FUN_001d19e0(param_1,uVar6,param_4,uVar15);\n        }\n        puVar8 = (uint *)((ulong)(local_104 << 6) + param_6);\n        uVar15 = *puVar8;\n        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);\n        if (uVar10 < param_8) {\n          pcVar12 = (char *)0xffffffffffffffff;\n          __s = (char *)(uVar10 + param_7);\n          local_a8 = auStack_98;\n          if (__s != (char *)0x0) {\n            sVar9 = strlen(__s);\n            pcVar12 = __s + sVar9;\n          }\n                    \n          FUN_00174550(&local_a8,__s,pcVar12);\n          uVar15 = local_104;\n          if (local_121 == '\0') {\n            puVar11 = (ulong *)((ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9);\n            *puVar11 = *puVar11 | 1L << ((byte)local_104 & 0x3f);\n            if ((local_122 != '\0') && ((local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0')))) {\n              uVar10 = *(ulong *)(puVar8 + 8);\n              local_78 = local_f0;\n              local_88[0] = local_104;\n              local_80 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n              local_6c = 1;\n              local_70 = uVar4;\n                    \n              FUN_001e2560(param_1 + 0x36,local_88);\n            }\n          }\n          else if (local_122 != '\0') {\n            uVar10 = *(ulong *)(puVar8 + 8);\n            if (*(char *)(local_f0 + 0xc) == '\0') {\n                    \n                    \n              FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            uVar6 = *(undefined8 *)(local_f0 + 0x10);\n            local_68[0] = local_58;\n                    \n            FUN_0017d640(local_68,local_a8,local_a8 + local_a0);\n            local_48 = uVar15;\n            local_40 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n                    \n            FUN_001d9dc0(uVar6,local_68);\n            if (local_68[0] != local_58) {\n              FUN_002f1e60();\n            }\n          }\n          if (local_a8 != auStack_98) {\n            FUN_002f1e60();\n          }\n        }\n      }" ({ "{") (expression_statement "local_104 = uVar15;" (assignment_expression "local_104 = uVar15" (identifier "local_104") (= "=") (identifier "uVar15")) (; ";")) (if_statement "if (cVar14 != '\0') goto LAB_001e6e26;" (if "if") (parenthesized_expression "(cVar14 != '\0')" (( "(") (binary_expression "cVar14 != '\0'" (identifier "cVar14") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_001e6e26;" (goto "goto") (statement_identifier "LAB_001e6e26") (; ";"))) (labeled_statement "LAB_001e6d30:\n        if (*(uint *)(param_1 + 7) <= local_104) goto LAB_001e6e59;" (statement_identifier "LAB_001e6d30") (: ":") (if_statement "if (*(uint *)(param_1 + 7) <= local_104) goto LAB_001e6e59;" (if "if") (parenthesized_expression "(*(uint *)(param_1 + 7) <= local_104)" (( "(") (binary_expression "*(uint *)(param_1 + 7) <= local_104" (pointer_expression "*(uint *)(param_1 + 7)" (* "*") (cast_expression "(uint *)(param_1 + 7)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 7)" (( "(") (binary_expression "param_1 + 7" (identifier "param_1") (+ "+") (number_literal "7")) () ")")))) (<= "<=") (identifier "local_104")) () ")")) (goto_statement "goto LAB_001e6e59;" (goto "goto") (statement_identifier "LAB_001e6e59") (; ";")))) (labeled_statement "LAB_001e6d3a:\n        uVar15 = local_104;" (statement_identifier "LAB_001e6d3a") (: ":") (expression_statement "uVar15 = local_104;" (assignment_expression "uVar15 = local_104" (identifier "uVar15") (= "=") (identifier "local_104")) (; ";"))) (if_statement "if (local_104 < param_4) {\n          uVar6 = gettext("invalid section group %u refers to earlier section %u");\n                    \n          FUN_001d19e0(param_1,uVar6,param_4,uVar15);\n        }" (if "if") (parenthesized_expression "(local_104 < param_4)" (( "(") (binary_expression "local_104 < param_4" (identifier "local_104") (< "<") (identifier "param_4")) () ")")) (compound_statement "{\n          uVar6 = gettext("invalid section group %u refers to earlier section %u");\n                    \n          FUN_001d19e0(param_1,uVar6,param_4,uVar15);\n        }" ({ "{") (expression_statement "uVar6 = gettext("invalid section group %u refers to earlier section %u");" (assignment_expression "uVar6 = gettext("invalid section group %u refers to earlier section %u")" (identifier "uVar6") (= "=") (call_expression "gettext("invalid section group %u refers to earlier section %u")" (identifier "gettext") (argument_list "("invalid section group %u refers to earlier section %u")" (( "(") (string_literal ""invalid section group %u refers to earlier section %u"" (" """) (string_content "invalid section group %u refers to earlier section %u") (" """)) () ")")))) (; ";")) (expression_statement "FUN_001d19e0(param_1,uVar6,param_4,uVar15);" (call_expression "FUN_001d19e0(param_1,uVar6,param_4,uVar15)" (identifier "FUN_001d19e0") (argument_list "(param_1,uVar6,param_4,uVar15)" (( "(") (identifier "param_1") (, ",") (identifier "uVar6") (, ",") (identifier "param_4") (, ",") (identifier "uVar15") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar8 = (uint *)((ulong)(local_104 << 6) + param_6);" (assignment_expression "puVar8 = (uint *)((ulong)(local_104 << 6) + param_6)" (identifier "puVar8") (= "=") (cast_expression "(uint *)((ulong)(local_104 << 6) + param_6)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulong)(local_104 << 6) + param_6)" (( "(") (binary_expression "(ulong)(local_104 << 6) + param_6" (call_expression "(ulong)(local_104 << 6)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(local_104 << 6)" (( "(") (binary_expression "local_104 << 6" (identifier "local_104") (<< "<<") (number_literal "6")) () ")"))) (+ "+") (identifier "param_6")) () ")")))) (; ";")) (expression_statement "uVar15 = *puVar8;" (assignment_expression "uVar15 = *puVar8" (identifier "uVar15") (= "=") (pointer_expression "*puVar8" (* "*") (identifier "puVar8"))) (; ";")) (expression_statement "uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18);" (assignment_expression "uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18)" (identifier "uVar10") (= "=") (call_expression "(ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18)" (( "(") (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                        uVar15 << 0x18" (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8" (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8" (binary_expression "uVar15 >> 0x18" (identifier "uVar15") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar15 & 0xff0000) >> 8" (parenthesized_expression "(uVar15 & 0xff0000)" (( "(") (binary_expression "uVar15 & 0xff0000" (identifier "uVar15") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar15 & 0xff00) << 8" (parenthesized_expression "(uVar15 & 0xff00)" (( "(") (binary_expression "uVar15 & 0xff00" (identifier "uVar15") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar15 << 0x18" (identifier "uVar15") (<< "<<") (number_literal "0x18"))) () ")")))) (; ";")) (if_statement "if (uVar10 < param_8) {\n          pcVar12 = (char *)0xffffffffffffffff;\n          __s = (char *)(uVar10 + param_7);\n          local_a8 = auStack_98;\n          if (__s != (char *)0x0) {\n            sVar9 = strlen(__s);\n            pcVar12 = __s + sVar9;\n          }\n                    \n          FUN_00174550(&local_a8,__s,pcVar12);\n          uVar15 = local_104;\n          if (local_121 == '\0') {\n            puVar11 = (ulong *)((ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9);\n            *puVar11 = *puVar11 | 1L << ((byte)local_104 & 0x3f);\n            if ((local_122 != '\0') && ((local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0')))) {\n              uVar10 = *(ulong *)(puVar8 + 8);\n              local_78 = local_f0;\n              local_88[0] = local_104;\n              local_80 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n              local_6c = 1;\n              local_70 = uVar4;\n                    \n              FUN_001e2560(param_1 + 0x36,local_88);\n            }\n          }\n          else if (local_122 != '\0') {\n            uVar10 = *(ulong *)(puVar8 + 8);\n            if (*(char *)(local_f0 + 0xc) == '\0') {\n                    \n                    \n              FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            uVar6 = *(undefined8 *)(local_f0 + 0x10);\n            local_68[0] = local_58;\n                    \n            FUN_0017d640(local_68,local_a8,local_a8 + local_a0);\n            local_48 = uVar15;\n            local_40 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n                    \n            FUN_001d9dc0(uVar6,local_68);\n            if (local_68[0] != local_58) {\n              FUN_002f1e60();\n            }\n          }\n          if (local_a8 != auStack_98) {\n            FUN_002f1e60();\n          }\n        }" (if "if") (parenthesized_expression "(uVar10 < param_8)" (( "(") (binary_expression "uVar10 < param_8" (identifier "uVar10") (< "<") (identifier "param_8")) () ")")) (compound_statement "{\n          pcVar12 = (char *)0xffffffffffffffff;\n          __s = (char *)(uVar10 + param_7);\n          local_a8 = auStack_98;\n          if (__s != (char *)0x0) {\n            sVar9 = strlen(__s);\n            pcVar12 = __s + sVar9;\n          }\n                    \n          FUN_00174550(&local_a8,__s,pcVar12);\n          uVar15 = local_104;\n          if (local_121 == '\0') {\n            puVar11 = (ulong *)((ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9);\n            *puVar11 = *puVar11 | 1L << ((byte)local_104 & 0x3f);\n            if ((local_122 != '\0') && ((local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0')))) {\n              uVar10 = *(ulong *)(puVar8 + 8);\n              local_78 = local_f0;\n              local_88[0] = local_104;\n              local_80 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n              local_6c = 1;\n              local_70 = uVar4;\n                    \n              FUN_001e2560(param_1 + 0x36,local_88);\n            }\n          }\n          else if (local_122 != '\0') {\n            uVar10 = *(ulong *)(puVar8 + 8);\n            if (*(char *)(local_f0 + 0xc) == '\0') {\n                    \n                    \n              FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            uVar6 = *(undefined8 *)(local_f0 + 0x10);\n            local_68[0] = local_58;\n                    \n            FUN_0017d640(local_68,local_a8,local_a8 + local_a0);\n            local_48 = uVar15;\n            local_40 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n                    \n            FUN_001d9dc0(uVar6,local_68);\n            if (local_68[0] != local_58) {\n              FUN_002f1e60();\n            }\n          }\n          if (local_a8 != auStack_98) {\n            FUN_002f1e60();\n          }\n        }" ({ "{") (expression_statement "pcVar12 = (char *)0xffffffffffffffff;" (assignment_expression "pcVar12 = (char *)0xffffffffffffffff" (identifier "pcVar12") (= "=") (cast_expression "(char *)0xffffffffffffffff" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffffffffffff"))) (; ";")) (expression_statement "__s = (char *)(uVar10 + param_7);" (assignment_expression "__s = (char *)(uVar10 + param_7)" (identifier "__s") (= "=") (cast_expression "(char *)(uVar10 + param_7)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar10 + param_7)" (( "(") (binary_expression "uVar10 + param_7" (identifier "uVar10") (+ "+") (identifier "param_7")) () ")")))) (; ";")) (expression_statement "local_a8 = auStack_98;" (assignment_expression "local_a8 = auStack_98" (identifier "local_a8") (= "=") (identifier "auStack_98")) (; ";")) (if_statement "if (__s != (char *)0x0) {\n            sVar9 = strlen(__s);\n            pcVar12 = __s + sVar9;\n          }" (if "if") (parenthesized_expression "(__s != (char *)0x0)" (( "(") (binary_expression "__s != (char *)0x0" (identifier "__s") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            sVar9 = strlen(__s);\n            pcVar12 = __s + sVar9;\n          }" ({ "{") (expression_statement "sVar9 = strlen(__s);" (assignment_expression "sVar9 = strlen(__s)" (identifier "sVar9") (= "=") (call_expression "strlen(__s)" (identifier "strlen") (argument_list "(__s)" (( "(") (identifier "__s") () ")")))) (; ";")) (expression_statement "pcVar12 = __s + sVar9;" (assignment_expression "pcVar12 = __s + sVar9" (identifier "pcVar12") (= "=") (binary_expression "__s + sVar9" (identifier "__s") (+ "+") (identifier "sVar9"))) (; ";")) (} "}"))) (expression_statement "FUN_00174550(&local_a8,__s,pcVar12);" (call_expression "FUN_00174550(&local_a8,__s,pcVar12)" (identifier "FUN_00174550") (argument_list "(&local_a8,__s,pcVar12)" (( "(") (pointer_expression "&local_a8" (& "&") (identifier "local_a8")) (, ",") (identifier "__s") (, ",") (identifier "pcVar12") () ")"))) (; ";")) (expression_statement "uVar15 = local_104;" (assignment_expression "uVar15 = local_104" (identifier "uVar15") (= "=") (identifier "local_104")) (; ";")) (if_statement "if (local_121 == '\0') {\n            puVar11 = (ulong *)((ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9);\n            *puVar11 = *puVar11 | 1L << ((byte)local_104 & 0x3f);\n            if ((local_122 != '\0') && ((local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0')))) {\n              uVar10 = *(ulong *)(puVar8 + 8);\n              local_78 = local_f0;\n              local_88[0] = local_104;\n              local_80 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n              local_6c = 1;\n              local_70 = uVar4;\n                    \n              FUN_001e2560(param_1 + 0x36,local_88);\n            }\n          }\n          else if (local_122 != '\0') {\n            uVar10 = *(ulong *)(puVar8 + 8);\n            if (*(char *)(local_f0 + 0xc) == '\0') {\n                    \n                    \n              FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            uVar6 = *(undefined8 *)(local_f0 + 0x10);\n            local_68[0] = local_58;\n                    \n            FUN_0017d640(local_68,local_a8,local_a8 + local_a0);\n            local_48 = uVar15;\n            local_40 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n                    \n            FUN_001d9dc0(uVar6,local_68);\n            if (local_68[0] != local_58) {\n              FUN_002f1e60();\n            }\n          }" (if "if") (parenthesized_expression "(local_121 == '\0')" (( "(") (binary_expression "local_121 == '\0'" (identifier "local_121") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            puVar11 = (ulong *)((ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9);\n            *puVar11 = *puVar11 | 1L << ((byte)local_104 & 0x3f);\n            if ((local_122 != '\0') && ((local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0')))) {\n              uVar10 = *(ulong *)(puVar8 + 8);\n              local_78 = local_f0;\n              local_88[0] = local_104;\n              local_80 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n              local_6c = 1;\n              local_70 = uVar4;\n                    \n              FUN_001e2560(param_1 + 0x36,local_88);\n            }\n          }" ({ "{") (expression_statement "puVar11 = (ulong *)((ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9);" (assignment_expression "puVar11 = (ulong *)((ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9)" (identifier "puVar11") (= "=") (cast_expression "(ulong *)((ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9)" (( "(") (binary_expression "(ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9" (call_expression "(ulong)(local_104 >> 3 & 0x1ffffff8)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(local_104 >> 3 & 0x1ffffff8)" (( "(") (binary_expression "local_104 >> 3 & 0x1ffffff8" (binary_expression "local_104 >> 3" (identifier "local_104") (>> ">>") (number_literal "3")) (& "&") (number_literal "0x1ffffff8")) () ")"))) (+ "+") (pointer_expression "*param_9" (* "*") (identifier "param_9"))) () ")")))) (; ";")) (expression_statement "*puVar11 = *puVar11 | 1L << ((byte)local_104 & 0x3f);" (assignment_expression "*puVar11 = *puVar11 | 1L << ((byte)local_104 & 0x3f)" (pointer_expression "*puVar11" (* "*") (identifier "puVar11")) (= "=") (binary_expression "*puVar11 | 1L << ((byte)local_104 & 0x3f)" (pointer_expression "*puVar11" (* "*") (identifier "puVar11")) (| "|") (binary_expression "1L << ((byte)local_104 & 0x3f)" (number_literal "1L") (<< "<<") (parenthesized_expression "((byte)local_104 & 0x3f)" (( "(") (binary_expression "(byte)local_104 & 0x3f" (cast_expression "(byte)local_104" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_104")) (& "&") (number_literal "0x3f")) () ")"))))) (; ";")) (if_statement "if ((local_122 != '\0') && ((local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0')))) {\n              uVar10 = *(ulong *)(puVar8 + 8);\n              local_78 = local_f0;\n              local_88[0] = local_104;\n              local_80 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n              local_6c = 1;\n              local_70 = uVar4;\n                    \n              FUN_001e2560(param_1 + 0x36,local_88);\n            }" (if "if") (parenthesized_expression "((local_122 != '\0') && ((local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0'))))" (( "(") (binary_expression "(local_122 != '\0') && ((local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0')))" (parenthesized_expression "(local_122 != '\0')" (( "(") (binary_expression "local_122 != '\0'" (identifier "local_122") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "((local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0')))" (( "(") (parenthesized_expression "(local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0'))" (( "(") (binary_expression "local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0')" (binary_expression "local_118 == 2" (identifier "local_118") (== "==") (number_literal "2")) (|| "||") (parenthesized_expression "(*(char *)(local_f0 + 0xc) != '\0')" (( "(") (binary_expression "*(char *)(local_f0 + 0xc) != '\0'" (pointer_expression "*(char *)(local_f0 + 0xc)" (* "*") (cast_expression "(char *)(local_f0 + 0xc)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_f0 + 0xc)" (( "(") (binary_expression "local_f0 + 0xc" (identifier "local_f0") (+ "+") (number_literal "0xc")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n              uVar10 = *(ulong *)(puVar8 + 8);\n              local_78 = local_f0;\n              local_88[0] = local_104;\n              local_80 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n              local_6c = 1;\n              local_70 = uVar4;\n                    \n              FUN_001e2560(param_1 + 0x36,local_88);\n            }" ({ "{") (expression_statement "uVar10 = *(ulong *)(puVar8 + 8);" (assignment_expression "uVar10 = *(ulong *)(puVar8 + 8)" (identifier "uVar10") (= "=") (pointer_expression "*(ulong *)(puVar8 + 8)" (* "*") (cast_expression "(ulong *)(puVar8 + 8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + 8)" (( "(") (binary_expression "puVar8 + 8" (identifier "puVar8") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "local_78 = local_f0;" (assignment_expression "local_78 = local_f0" (identifier "local_78") (= "=") (identifier "local_f0")) (; ";")) (expression_statement "local_88[0] = local_104;" (assignment_expression "local_88[0] = local_104" (subscript_expression "local_88[0]" (identifier "local_88") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "local_104")) (; ";")) (expression_statement "local_80 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;" (assignment_expression "local_80 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38" (identifier "local_80") (= "=") (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                         (uVar10 & 0xff00) << 0x28" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                         (uVar10 & 0xff000000) << 8" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                         (uVar10 & 0xff0000000000) >> 0x18" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28" (binary_expression "uVar10 >> 0x38" (identifier "uVar10") (>> ">>") (number_literal "0x38")) (| "|") (binary_expression "(uVar10 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar10 & 0xff000000000000)" (( "(") (binary_expression "uVar10 & 0xff000000000000" (identifier "uVar10") (& "&") (number_literal "0xff000000000000")) () ")")) (>> ">>") (number_literal "0x28"))) (| "|") (binary_expression "(uVar10 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar10 & 0xff0000000000)" (( "(") (binary_expression "uVar10 & 0xff0000000000" (identifier "uVar10") (& "&") (number_literal "0xff0000000000")) () ")")) (>> ">>") (number_literal "0x18"))) (| "|") (binary_expression "(uVar10 & 0xff00000000) >> 8" (parenthesized_expression "(uVar10 & 0xff00000000)" (( "(") (binary_expression "uVar10 & 0xff00000000" (identifier "uVar10") (& "&") (number_literal "0xff00000000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar10 & 0xff000000) << 8" (parenthesized_expression "(uVar10 & 0xff000000)" (( "(") (binary_expression "uVar10 & 0xff000000" (identifier "uVar10") (& "&") (number_literal "0xff000000")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "(uVar10 & 0xff0000) << 0x18" (parenthesized_expression "(uVar10 & 0xff0000)" (( "(") (binary_expression "uVar10 & 0xff0000" (identifier "uVar10") (& "&") (number_literal "0xff0000")) () ")")) (<< "<<") (number_literal "0x18"))) (| "|") (binary_expression "(uVar10 & 0xff00) << 0x28" (parenthesized_expression "(uVar10 & 0xff00)" (( "(") (binary_expression "uVar10 & 0xff00" (identifier "uVar10") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "0x28"))) (| "|") (binary_expression "uVar10 << 0x38" (identifier "uVar10") (<< "<<") (number_literal "0x38")))) (; ";")) (expression_statement "local_6c = 1;" (assignment_expression "local_6c = 1" (identifier "local_6c") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_70 = uVar4;" (assignment_expression "local_70 = uVar4" (identifier "local_70") (= "=") (identifier "uVar4")) (; ";")) (expression_statement "FUN_001e2560(param_1 + 0x36,local_88);" (call_expression "FUN_001e2560(param_1 + 0x36,local_88)" (identifier "FUN_001e2560") (argument_list "(param_1 + 0x36,local_88)" (( "(") (binary_expression "param_1 + 0x36" (identifier "param_1") (+ "+") (number_literal "0x36")) (, ",") (identifier "local_88") () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else if (local_122 != '\0') {\n            uVar10 = *(ulong *)(puVar8 + 8);\n            if (*(char *)(local_f0 + 0xc) == '\0') {\n                    \n                    \n              FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            uVar6 = *(undefined8 *)(local_f0 + 0x10);\n            local_68[0] = local_58;\n                    \n            FUN_0017d640(local_68,local_a8,local_a8 + local_a0);\n            local_48 = uVar15;\n            local_40 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n                    \n            FUN_001d9dc0(uVar6,local_68);\n            if (local_68[0] != local_58) {\n              FUN_002f1e60();\n            }\n          }" (else "else") (if_statement "if (local_122 != '\0') {\n            uVar10 = *(ulong *)(puVar8 + 8);\n            if (*(char *)(local_f0 + 0xc) == '\0') {\n                    \n                    \n              FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            uVar6 = *(undefined8 *)(local_f0 + 0x10);\n            local_68[0] = local_58;\n                    \n            FUN_0017d640(local_68,local_a8,local_a8 + local_a0);\n            local_48 = uVar15;\n            local_40 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n                    \n            FUN_001d9dc0(uVar6,local_68);\n            if (local_68[0] != local_58) {\n              FUN_002f1e60();\n            }\n          }" (if "if") (parenthesized_expression "(local_122 != '\0')" (( "(") (binary_expression "local_122 != '\0'" (identifier "local_122") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            uVar10 = *(ulong *)(puVar8 + 8);\n            if (*(char *)(local_f0 + 0xc) == '\0') {\n                    \n                    \n              FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");\n            }\n            uVar6 = *(undefined8 *)(local_f0 + 0x10);\n            local_68[0] = local_58;\n                    \n            FUN_0017d640(local_68,local_a8,local_a8 + local_a0);\n            local_48 = uVar15;\n            local_40 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n                    \n            FUN_001d9dc0(uVar6,local_68);\n            if (local_68[0] != local_58) {\n              FUN_002f1e60();\n            }\n          }" ({ "{") (expression_statement "uVar10 = *(ulong *)(puVar8 + 8);" (assignment_expression "uVar10 = *(ulong *)(puVar8 + 8)" (identifier "uVar10") (= "=") (pointer_expression "*(ulong *)(puVar8 + 8)" (* "*") (cast_expression "(ulong *)(puVar8 + 8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + 8)" (( "(") (binary_expression "puVar8 + 8" (identifier "puVar8") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (*(char *)(local_f0 + 0xc) == '\0') {\n                    \n                    \n              FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");\n            }" (if "if") (parenthesized_expression "(*(char *)(local_f0 + 0xc) == '\0')" (( "(") (binary_expression "*(char *)(local_f0 + 0xc) == '\0'" (pointer_expression "*(char *)(local_f0 + 0xc)" (* "*") (cast_expression "(char *)(local_f0 + 0xc)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_f0 + 0xc)" (( "(") (binary_expression "local_f0 + 0xc" (identifier "local_f0") (+ "+") (number_literal "0xc")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                    \n                    \n              FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");\n            }" ({ "{") (expression_statement "FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");" (call_expression "FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section")" (identifier "FUN_0018ff20") (argument_list "("../../gold/layout.h",0x135,"add_comdat_section")" (( "(") (string_literal ""../../gold/layout.h"" (" """) (string_content "../../gold/layout.h") (" """)) (, ",") (number_literal "0x135") (, ",") (string_literal ""add_comdat_section"" (" """) (string_content "add_comdat_section") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "uVar6 = *(undefined8 *)(local_f0 + 0x10);" (assignment_expression "uVar6 = *(undefined8 *)(local_f0 + 0x10)" (identifier "uVar6") (= "=") (pointer_expression "*(undefined8 *)(local_f0 + 0x10)" (* "*") (cast_expression "(undefined8 *)(local_f0 + 0x10)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_f0 + 0x10)" (( "(") (binary_expression "local_f0 + 0x10" (identifier "local_f0") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "local_68[0] = local_58;" (assignment_expression "local_68[0] = local_58" (subscript_expression "local_68[0]" (identifier "local_68") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "local_58")) (; ";")) (expression_statement "FUN_0017d640(local_68,local_a8,local_a8 + local_a0);" (call_expression "FUN_0017d640(local_68,local_a8,local_a8 + local_a0)" (identifier "FUN_0017d640") (argument_list "(local_68,local_a8,local_a8 + local_a0)" (( "(") (identifier "local_68") (, ",") (identifier "local_a8") (, ",") (binary_expression "local_a8 + local_a0" (identifier "local_a8") (+ "+") (identifier "local_a0")) () ")"))) (; ";")) (expression_statement "local_48 = uVar15;" (assignment_expression "local_48 = uVar15" (identifier "local_48") (= "=") (identifier "uVar15")) (; ";")) (expression_statement "local_40 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;" (assignment_expression "local_40 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38" (identifier "local_40") (= "=") (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |\n                       (uVar10 & 0xff00) << 0x28" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |\n                       (uVar10 & 0xff000000) << 8" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |\n                       (uVar10 & 0xff0000000000) >> 0x18" (binary_expression "uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28" (binary_expression "uVar10 >> 0x38" (identifier "uVar10") (>> ">>") (number_literal "0x38")) (| "|") (binary_expression "(uVar10 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar10 & 0xff000000000000)" (( "(") (binary_expression "uVar10 & 0xff000000000000" (identifier "uVar10") (& "&") (number_literal "0xff000000000000")) () ")")) (>> ">>") (number_literal "0x28"))) (| "|") (binary_expression "(uVar10 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar10 & 0xff0000000000)" (( "(") (binary_expression "uVar10 & 0xff0000000000" (identifier "uVar10") (& "&") (number_literal "0xff0000000000")) () ")")) (>> ">>") (number_literal "0x18"))) (| "|") (binary_expression "(uVar10 & 0xff00000000) >> 8" (parenthesized_expression "(uVar10 & 0xff00000000)" (( "(") (binary_expression "uVar10 & 0xff00000000" (identifier "uVar10") (& "&") (number_literal "0xff00000000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar10 & 0xff000000) << 8" (parenthesized_expression "(uVar10 & 0xff000000)" (( "(") (binary_expression "uVar10 & 0xff000000" (identifier "uVar10") (& "&") (number_literal "0xff000000")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "(uVar10 & 0xff0000) << 0x18" (parenthesized_expression "(uVar10 & 0xff0000)" (( "(") (binary_expression "uVar10 & 0xff0000" (identifier "uVar10") (& "&") (number_literal "0xff0000")) () ")")) (<< "<<") (number_literal "0x18"))) (| "|") (binary_expression "(uVar10 & 0xff00) << 0x28" (parenthesized_expression "(uVar10 & 0xff00)" (( "(") (binary_expression "uVar10 & 0xff00" (identifier "uVar10") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "0x28"))) (| "|") (binary_expression "uVar10 << 0x38" (identifier "uVar10") (<< "<<") (number_literal "0x38")))) (; ";")) (expression_statement "FUN_001d9dc0(uVar6,local_68);" (call_expression "FUN_001d9dc0(uVar6,local_68)" (identifier "FUN_001d9dc0") (argument_list "(uVar6,local_68)" (( "(") (identifier "uVar6") (, ",") (identifier "local_68") () ")"))) (; ";")) (if_statement "if (local_68[0] != local_58) {\n              FUN_002f1e60();\n            }" (if "if") (parenthesized_expression "(local_68[0] != local_58)" (( "(") (binary_expression "local_68[0] != local_58" (subscript_expression "local_68[0]" (identifier "local_68") ([ "[") (number_literal "0") (] "]")) (!= "!=") (identifier "local_58")) () ")")) (compound_statement "{\n              FUN_002f1e60();\n            }" ({ "{") (expression_statement "FUN_002f1e60();" (call_expression "FUN_002f1e60()" (identifier "FUN_002f1e60") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}"))))) (if_statement "if (local_a8 != auStack_98) {\n            FUN_002f1e60();\n          }" (if "if") (parenthesized_expression "(local_a8 != auStack_98)" (( "(") (binary_expression "local_a8 != auStack_98" (identifier "local_a8") (!= "!=") (identifier "auStack_98")) () ")")) (compound_statement "{\n            FUN_002f1e60();\n          }" ({ "{") (expression_statement "FUN_002f1e60();" (call_expression "FUN_002f1e60()" (identifier "FUN_002f1e60") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else {\n        FUN_001dab60(param_1 + 0x1f);\n        uVar15 = uVar15 + (int)param_1[0x22];\n        local_104 = uVar15;\n        if (cVar14 == '\0') goto LAB_001e6d30;\nLAB_001e6e26:\n        local_104 = uVar15;\n        if (local_e0 == local_d8) {\n                    \n          FUN_001a8910(&local_e8,local_e0,&local_104);\n          goto LAB_001e6d30;\n        }\n        *local_e0 = uVar15;\n        local_e0 = local_e0 + 1;\n        if (uVar15 < *(uint *)(param_1 + 7)) goto LAB_001e6d3a;\nLAB_001e6e59:\n        uVar15 = local_104;\n        uVar6 = gettext("section %u in section group %u out of range");\n        FUN_001d19e0(param_1,uVar6,uVar15,param_4);\n      }" (else "else") (compound_statement "{\n        FUN_001dab60(param_1 + 0x1f);\n        uVar15 = uVar15 + (int)param_1[0x22];\n        local_104 = uVar15;\n        if (cVar14 == '\0') goto LAB_001e6d30;\nLAB_001e6e26:\n        local_104 = uVar15;\n        if (local_e0 == local_d8) {\n                    \n          FUN_001a8910(&local_e8,local_e0,&local_104);\n          goto LAB_001e6d30;\n        }\n        *local_e0 = uVar15;\n        local_e0 = local_e0 + 1;\n        if (uVar15 < *(uint *)(param_1 + 7)) goto LAB_001e6d3a;\nLAB_001e6e59:\n        uVar15 = local_104;\n        uVar6 = gettext("section %u in section group %u out of range");\n        FUN_001d19e0(param_1,uVar6,uVar15,param_4);\n      }" ({ "{") (expression_statement "FUN_001dab60(param_1 + 0x1f);" (call_expression "FUN_001dab60(param_1 + 0x1f)" (identifier "FUN_001dab60") (argument_list "(param_1 + 0x1f)" (( "(") (binary_expression "param_1 + 0x1f" (identifier "param_1") (+ "+") (number_literal "0x1f")) () ")"))) (; ";")) (expression_statement "uVar15 = uVar15 + (int)param_1[0x22];" (assignment_expression "uVar15 = uVar15 + (int)param_1[0x22]" (identifier "uVar15") (= "=") (binary_expression "uVar15 + (int)param_1[0x22]" (identifier "uVar15") (+ "+") (cast_expression "(int)param_1[0x22]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "param_1[0x22]" (identifier "param_1") ([ "[") (number_literal "0x22") (] "]"))))) (; ";")) (expression_statement "local_104 = uVar15;" (assignment_expression "local_104 = uVar15" (identifier "local_104") (= "=") (identifier "uVar15")) (; ";")) (if_statement "if (cVar14 == '\0') goto LAB_001e6d30;" (if "if") (parenthesized_expression "(cVar14 == '\0')" (( "(") (binary_expression "cVar14 == '\0'" (identifier "cVar14") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_001e6d30;" (goto "goto") (statement_identifier "LAB_001e6d30") (; ";"))) (labeled_statement "LAB_001e6e26:\n        local_104 = uVar15;" (statement_identifier "LAB_001e6e26") (: ":") (expression_statement "local_104 = uVar15;" (assignment_expression "local_104 = uVar15" (identifier "local_104") (= "=") (identifier "uVar15")) (; ";"))) (if_statement "if (local_e0 == local_d8) {\n                    \n          FUN_001a8910(&local_e8,local_e0,&local_104);\n          goto LAB_001e6d30;\n        }" (if "if") (parenthesized_expression "(local_e0 == local_d8)" (( "(") (binary_expression "local_e0 == local_d8" (identifier "local_e0") (== "==") (identifier "local_d8")) () ")")) (compound_statement "{\n                    \n          FUN_001a8910(&local_e8,local_e0,&local_104);\n          goto LAB_001e6d30;\n        }" ({ "{") (expression_statement "FUN_001a8910(&local_e8,local_e0,&local_104);" (call_expression "FUN_001a8910(&local_e8,local_e0,&local_104)" (identifier "FUN_001a8910") (argument_list "(&local_e8,local_e0,&local_104)" (( "(") (pointer_expression "&local_e8" (& "&") (identifier "local_e8")) (, ",") (identifier "local_e0") (, ",") (pointer_expression "&local_104" (& "&") (identifier "local_104")) () ")"))) (; ";")) (goto_statement "goto LAB_001e6d30;" (goto "goto") (statement_identifier "LAB_001e6d30") (; ";")) (} "}"))) (expression_statement "*local_e0 = uVar15;" (assignment_expression "*local_e0 = uVar15" (pointer_expression "*local_e0" (* "*") (identifier "local_e0")) (= "=") (identifier "uVar15")) (; ";")) (expression_statement "local_e0 = local_e0 + 1;" (assignment_expression "local_e0 = local_e0 + 1" (identifier "local_e0") (= "=") (binary_expression "local_e0 + 1" (identifier "local_e0") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (uVar15 < *(uint *)(param_1 + 7)) goto LAB_001e6d3a;" (if "if") (parenthesized_expression "(uVar15 < *(uint *)(param_1 + 7))" (( "(") (binary_expression "uVar15 < *(uint *)(param_1 + 7)" (identifier "uVar15") (< "<") (pointer_expression "*(uint *)(param_1 + 7)" (* "*") (cast_expression "(uint *)(param_1 + 7)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 7)" (( "(") (binary_expression "param_1 + 7" (identifier "param_1") (+ "+") (number_literal "7")) () ")"))))) () ")")) (goto_statement "goto LAB_001e6d3a;" (goto "goto") (statement_identifier "LAB_001e6d3a") (; ";"))) (labeled_statement "LAB_001e6e59:\n        uVar15 = local_104;" (statement_identifier "LAB_001e6e59") (: ":") (expression_statement "uVar15 = local_104;" (assignment_expression "uVar15 = local_104" (identifier "uVar15") (= "=") (identifier "local_104")) (; ";"))) (expression_statement "uVar6 = gettext("section %u in section group %u out of range");" (assignment_expression "uVar6 = gettext("section %u in section group %u out of range")" (identifier "uVar6") (= "=") (call_expression "gettext("section %u in section group %u out of range")" (identifier "gettext") (argument_list "("section %u in section group %u out of range")" (( "(") (string_literal ""section %u in section group %u out of range"" (" """) (string_content "section %u in section group %u out of range") (" """)) () ")")))) (; ";")) (expression_statement "FUN_001d19e0(param_1,uVar6,uVar15,param_4);" (call_expression "FUN_001d19e0(param_1,uVar6,uVar15,param_4)" (identifier "FUN_001d19e0") (argument_list "(param_1,uVar6,uVar15,param_4)" (( "(") (identifier "param_1") (, ",") (identifier "uVar6") (, ",") (identifier "uVar15") (, ",") (identifier "param_4") () ")"))) (; ";")) (} "}")))) (expression_statement "local_110 = (long *)((long)local_110 + 1);" (assignment_expression "local_110 = (long *)((long)local_110 + 1)" (identifier "local_110") (= "=") (cast_expression "(long *)((long)local_110 + 1)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)local_110 + 1)" (( "(") (binary_expression "(long)local_110 + 1" (cast_expression "(long)local_110" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_110")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_110 < local_118)" (( "(") (binary_expression "local_110 < local_118" (identifier "local_110") (< "<") (identifier "local_118")) () ")")) (; ";")) (if_statement "if (cVar14 != '\0') {\nLAB_001e7093:\n      local_110 = &local_e8;\n                    \n      FUN_001caee0(param_3,param_2,param_1,param_4,param_5,local_c8[0],&local_100,\n                   uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                   local_110);\n    }" (if "if") (parenthesized_expression "(cVar14 != '\0')" (( "(") (binary_expression "cVar14 != '\0'" (identifier "cVar14") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\nLAB_001e7093:\n      local_110 = &local_e8;\n                    \n      FUN_001caee0(param_3,param_2,param_1,param_4,param_5,local_c8[0],&local_100,\n                   uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                   local_110);\n    }" ({ "{") (labeled_statement "LAB_001e7093:\n      local_110 = &local_e8;" (statement_identifier "LAB_001e7093") (: ":") (expression_statement "local_110 = &local_e8;" (assignment_expression "local_110 = &local_e8" (identifier "local_110") (= "=") (pointer_expression "&local_e8" (& "&") (identifier "local_e8"))) (; ";"))) (expression_statement "FUN_001caee0(param_3,param_2,param_1,param_4,param_5,local_c8[0],&local_100,\n                   uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                   local_110);" (call_expression "FUN_001caee0(param_3,param_2,param_1,param_4,param_5,local_c8[0],&local_100,\n                   uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                   local_110)" (identifier "FUN_001caee0") (argument_list "(param_3,param_2,param_1,param_4,param_5,local_c8[0],&local_100,\n                   uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,\n                   local_110)" (( "(") (identifier "param_3") (, ",") (identifier "param_2") (, ",") (identifier "param_1") (, ",") (identifier "param_4") (, ",") (identifier "param_5") (, ",") (subscript_expression "local_c8[0]" (identifier "local_c8") ([ "[") (number_literal "0") (] "]")) (, ",") (pointer_expression "&local_100" (& "&") (identifier "local_100")) (, ",") (binary_expression "uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18" (binary_expression "uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8" (binary_expression "uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8" (binary_expression "uVar1 >> 0x18" (identifier "uVar1") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar1 & 0xff0000) >> 8" (parenthesized_expression "(uVar1 & 0xff0000)" (( "(") (binary_expression "uVar1 & 0xff0000" (identifier "uVar1") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar1 & 0xff00) << 8" (parenthesized_expression "(uVar1 & 0xff00)" (( "(") (binary_expression "uVar1 & 0xff00" (identifier "uVar1") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar1 << 0x18" (identifier "uVar1") (<< "<<") (number_literal "0x18"))) (, ",") (identifier "local_110") () ")"))) (; ";")) (} "}"))) (} "}")))) (if_statement "if (local_e8 != 0) {\n    FUN_002f1e60();\n  }" (if "if") (parenthesized_expression "(local_e8 != 0)" (( "(") (binary_expression "local_e8 != 0" (identifier "local_e8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_002f1e60();\n  }" ({ "{") (expression_statement "FUN_002f1e60();" (call_expression "FUN_002f1e60()" (identifier "FUN_002f1e60") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (labeled_statement "LAB_001e70e8:\n  if (local_c8[0] != acStack_b8) {\n    FUN_002f1e60();\n  }" (statement_identifier "LAB_001e70e8") (: ":") (if_statement "if (local_c8[0] != acStack_b8) {\n    FUN_002f1e60();\n  }" (if "if") (parenthesized_expression "(local_c8[0] != acStack_b8)" (( "(") (binary_expression "local_c8[0] != acStack_b8" (subscript_expression "local_c8[0]" (identifier "local_c8") ([ "[") (number_literal "0") (] "]")) (!= "!=") (identifier "acStack_b8")) () ")")) (compound_statement "{\n    FUN_002f1e60();\n  }" ({ "{") (expression_statement "FUN_002f1e60();" (call_expression "FUN_002f1e60()" (identifier "FUN_002f1e60") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (return_statement "return local_121;" (return "return") (identifier "local_121") (; ";")) (} "}")))

/* WARNING: Type propagation algorithm not settling */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* DWARF original prototype: bool include_section_group(Sized_relobj_file<64,_true> * this,
   Symbol_table * symtab, Layout * layout, uint index, char * name, uchar * shdrs, char *
   section_names, section_size_type section_names_size, vector<bool,_std::allocator<bool>_> * omit)
    */

bool __thiscall
gold::var_9<64,var_10>::include_section_group
          (var_9<64,var_10> *this,Symbol_table *symtab,Layout *layout,type_5 var_15,
          char *name,type_7 *var_14,char *var_37,type_12 var_35,
          vector<bool,_std::var_3<bool>var_2> *omit)

{
  type_5 var_41;
  type_1 var_19;
  type_2 *var_28;
  _Rb_tree<var_55::__cxx11::var_34<var_4,_std::char_traits<var_4>,_std::var_3<var_4>var_2>,_std::pair<const_std::__cxx11::var_34<var_4,_std::char_traits<var_4>,_std::var_3<var_4>var_2>,_gold::type_13::var_1>,_std::_Select1st<var_55::pair<const_std::__cxx11::var_34<var_4,_std::char_traits<var_4>,_std::var_3<var_4>var_2>,_gold::type_13::var_1>var_2>,_std::less<var_55::__cxx11::var_34<var_4,_std::char_traits<var_4>,_std::var_3<var_4>var_2>var_2>,_std::var_3<var_55::pair<const_std::__cxx11::var_34<var_4,_std::char_traits<var_4>,_std::var_3<var_4>var_2>,_gold::Kept_section::var_1>var_2>var_2>
  *this_00;
  type_3 EVar4;
  char var_47;
  type_4 var_38;
  type_5 var_21;
  int iVar8;
  type_5 *puVar9;
  type_6 start;
  type_7 *var_24;
  type_5 *var_59;
  anon_union_16_2_edb7204a_for_basic_string<var_4,_std::char_traits<var_4>,_std::var_3<var_4>var_2>var_5
  *var_6;
  size_t var_51;
  char *pcVar14;
  type_1 var_20;
  type_1 *puVar16;
  type_8 extraout_var;
  bool *is_ordinary_00;
  bool *var_31;
  char *var_49;
  type_9 *var_16;
  type_5 var_27;
  type_10 LVar18;
  bool var_58;
  char var_54;
  type_1 var_42;
  vector<var_7,_std::var_3<var_7>var_2> *var_63;
  type_3 var_48;
  type_11 shdr;
  type_12 var_33;
  type_13 *kept_section;
  vector<var_7,_std::var_3<var_7>var_2> var_8;
  type_14 signature;
  type_14 mname;
  pair<var_7,_gold::var_9<64,var_10>::var_11> var_12;
  bool var_40;
  type_15 uStack_67;
  char var_61 [16];
  type_3 local_48;
  type_1 local_40;
  
  shdr.p_ = (var_13<64> *var_57)(var_14 + (var_15 << 6));
  var_16 = (this->super_Sized_relobj<64,var_10>).super_Relobj.super_Object.input_file_;
  var_20 = (shdr.p_)->sh_size;
  var_19 = (shdr.p_)->sh_offset;
  if (var_16 == (type_9 *)0x0) {
LAB_001e7390:
                    /* WARNING: Subroutine does not return */
    Object::var_17((type_16 *)var_16);
  }
  puVar9 = (type_5 *)File_read::var_18(&var_16->file_,
                                       (this->super_Sized_relobj<64,var_10>).super_Relobj.
                                       super_Object.offset_,
                                       var_19 >> 0x38 | (var_19 & 0xff000000000000) >> 0x28 |
                                       (var_19 & 0xff0000000000) >> 0x18 |
                                       (var_19 & 0xff00000000) >> 8 | (var_19 & 0xff000000) << 8 |
                                       (var_19 & 0xff0000) << 0x18 | (var_19 & 0xff00) << 0x28 |
                                       var_19 << 0x38,
                                       var_20 >> 0x38 | (var_20 & 0xff000000000000) >> 0x28 |
                                       (var_20 & 0xff0000000000) >> 0x18 |
                                       (var_20 & 0xff00000000) >> 8 | (var_20 & 0xff000000) << 8 |
                                       (var_20 & 0xff0000) << 0x18 | (var_20 & 0xff00) << 0x28 |
                                       var_20 << 0x38,true,false);
  var_41 = *puVar9;
  var_21 = (shdr.p_)->sh_link;
  var_21 = var_21 >> 0x18 | (var_21 & 0xff0000) >> 8 | (var_21 & 0xff00) << 8 | var_21 << 0x18;
  if (0xfeff < var_21) {
    elfcpp::Elf_file<64,var_10,_gold::type_16>::var_22(&this->elf_file_);
    var_21 = var_21 + (this->elf_file_).large_shndx_offset_;
  }
  start = elfcpp::Elf_file<64,var_10,_gold::type_16>::var_23(&this->elf_file_,var_21);
  var_16 = (this->super_Sized_relobj<64,var_10>).super_Relobj.super_Object.input_file_;
  if (var_16 == (type_9 *)0x0) goto LAB_001e7390;
  var_24 = File_read::var_18(&var_16->file_,
                                (this->super_Sized_relobj<64,var_10>).super_Relobj.super_Object.
                                offset_,start,0x40,true,true);
  var_20 = *(type_1 *)(var_24 + 0x20);
  var_21 = (shdr.p_)->sh_info;
  var_21 = var_21 >> 0x18 | (var_21 & 0xff0000) >> 8 | (var_21 & 0xff00) << 8 | var_21 << 0x18;
  if ((var_20 >> 0x38 | (var_20 & 0xff000000000000) >> 0x28 | (var_20 & 0xff0000000000) >> 0x18 |
       (var_20 & 0xff00000000) >> 8 | (var_20 & 0xff000000) << 8 | (var_20 & 0xff0000) << 0x18 |
       (var_20 & 0xff00) << 0x28 | var_20 << 0x38) / 0x18 <= (type_1)var_21) {
    pcVar14 = (char *)var_25("section group %u info %u out of range");
    var_20 = (type_1)var_15;
LAB_001e6ed5:
    Object::var_26((type_16 *)this,pcVar14,var_20,(type_1)var_21);
    return (bool)'\0';
  }
  var_20 = *(type_1 *)(var_24 + 0x18);
  var_16 = (this->super_Sized_relobj<64,var_10>).super_Relobj.super_Object.input_file_;
  if (var_16 == (type_9 *)0x0) goto LAB_001e7390;
  is_ordinary_00 = (bool *)0x18;
  var_59 = (type_5 *)File_read::var_18(&var_16->file_,
                                        (this->super_Sized_relobj<64,var_10>).super_Relobj.
                                        super_Object.offset_,
                                        (type_1)(var_21 * 0x18) +
                                        (var_20 >> 0x38 | (var_20 & 0xff000000000000) >> 0x28 |
                                         (var_20 & 0xff0000000000) >> 0x18 |
                                         (var_20 & 0xff00000000) >> 8 | (var_20 & 0xff000000) << 8 |
                                         (var_20 & 0xff0000) << 0x18 | (var_20 & 0xff00) << 0x28 |
                                        var_20 << 0x38),0x18,true,false);
  var_27 = *(type_5 *)(var_24 + 0x28);
  var_27 = var_27 >> 0x18 | (var_27 & 0xff0000) >> 8 | (var_27 & 0xff00) << 8 | var_27 << 0x18;
  if (0xfeff < var_27) {
    elfcpp::Elf_file<64,var_10,_gold::type_16>::var_22(&this->elf_file_);
    var_27 = var_27 + (this->elf_file_).large_shndx_offset_;
  }
  var_28 = (this->super_Sized_relobj<64,var_10>).super_Relobj.super_Object._vptr_Object[0xe];
  if (var_28 == var_29) {
    LVar18 = elfcpp::Elf_file<64,var_10,_gold::type_16>::var_30(&this->elf_file_,var_27);
    var_31 = (bool *)LVar18.data_size;
    var_24 = "";
    var_33 = (type_12)var_31;
    if (var_31 != (bool *)0x0) {
      var_16 = (this->super_Sized_relobj<64,var_10>).super_Relobj.super_Object.input_file_;
      if (var_16 == (type_9 *)0x0) goto LAB_001e7390;
      var_24 = File_read::var_18(&var_16->file_,
                                    (this->super_Sized_relobj<64,var_10>).super_Relobj.super_Object.
                                    offset_,LVar18.file_offset,(type_12)var_31,true,true);
      is_ordinary_00 = var_31;
    }
  }
  else {
    is_ordinary_00 = (bool *)0x1;
    iVar8 = (*var_28)(this,(type_1)var_27,&var_33);
    var_24 = (type_7 *)var_32(extraout_var,iVar8);
  }
  var_27 = *var_59;
  var_27 = var_27 >> 0x18 | (var_27 & 0xff0000) >> 8 | (var_27 & 0xff00) << 8 | var_27 << 0x18;
  if (var_33 <= var_27) {
    pcVar14 = (char *)var_25("symbol %u name offset %u out of range");
    var_20 = (type_1)var_21;
    var_21 = var_27;
    goto LAB_001e6ed5;
  }
  std::__cxx11::var_34<var_4,_std::char_traits<var_4>,_std::var_3<var_4>var_2>::var_34
            (&signature,(char *)(var_24 + var_27),(var_3<var_4> *)var_33);
  if ((*signature._M_dataplus._M_p == '\0') && ((var_59[1] & 0xf) == 3)) {
    var_38 = *(type_4 *)((long)var_59 + 6) << 8 | *(type_4 *)((long)var_59 + 6) >> 8;
    var_27 = (type_5)var_38;
    if (var_27 < 0xff00) {
      var_40 = true;
LAB_001e6f84:
      if (var_27 < (this->super_Sized_relobj<64,var_10>).super_Relobj.super_Object.shnum_) {
        var_27 = *(type_5 *)(var_14 + (var_27 << 6));
        var_20 = (type_1)(var_27 >> 0x18 | (var_27 & 0xff0000) >> 8 | (var_27 & 0xff00) << 8 |
                        var_27 << 0x18);
        if (var_20 < var_35) {
                    /* try { // try from 001e6fba to 001e6fbe has its CatchHandler @ 001e7432 */
          std::string::var_36((type_14 *)&signature,var_37 + var_20);
        }
        goto LAB_001e6c3f;
      }
    }
    else if (var_38 == 0xffff) {
      var_27 = type_16::var_39((type_16 *)this,var_21,(type_5)&var_40,is_ordinary_00);
      if (var_40 != false) goto LAB_001e6f84;
    }
    else {
      var_60 = (type_17)((type_1)uStack_67 << 8);
    }
    pcVar14 = (char *)var_25("symbol %u invalid section index %u");
                    /* try { // try from 001e7358 to 001e737a has its CatchHandler @ 001e7432 */
    Object::var_26((type_16 *)this,pcVar14,(type_1)var_21,(type_1)var_27);
LAB_001e735d:
    var_54 = '\0';
    goto LAB_001e70e8;
  }
LAB_001e6c3f:
  kept_section = (type_13 *)0x0;
  if ((var_41 >> 0x18 & 1) == 0) {
    var_20 = (shdr.p_)->sh_size;
    var_58 = false;
    var_42 = var_20 >> 0x38 | (var_20 & 0xff000000000000) >> 0x28 |
                (var_20 & 0xff0000000000) >> 0x18 | (var_20 & 0xff00000000) >> 8 |
                (var_20 & 0xff000000) << 8 | (var_20 & 0xff0000) << 0x18 | (var_20 & 0xff00) << 0x28
                | var_20 << 0x38;
LAB_001e6c9f:
    var_42 = var_42 >> 2;
    var_8.super__Vector_base<var_7,_std::var_3<var_7>var_2>._M_impl.
    _M_end_of_storage = (type_17)0x0;
    var_8.super__Vector_base<var_7,_std::var_3<var_7>var_2>._M_impl._M_finish =
         (type_17)0x0;
    var_8.super__Vector_base<var_7,_std::var_3<var_7>var_2>._M_impl._M_start =
         (type_17)0x0;
    if (parameters->options_ == (type_18 *)0x0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 001e73a8 to 001e73ac has its CatchHandler @ 001e73c5 */
      var_43("../../gold/parameters.h",0x5c,"options");
    }
    var_47 = (parameters->options_->relocatable_).value;
    if ((bool)var_47 != false) {
                    /* try { // try from 001e7314 to 001e7318 has its CatchHandler @ 001e73c5 */
      std::vector<var_7,_std::var_3<var_7>var_2>::var_44(&var_8,var_42 - 1);
      var_54 = var_47;
      if (1 < var_42) goto LAB_001e6cd9;
      goto LAB_001e7093;
    }
    var_54 = '\x01';
    if (1 < var_42) goto LAB_001e6cd9;
  }
  else {
                    /* try { // try from 001e71ff to 001e7228 has its CatchHandler @ 001e7432 */
    var_47 = Layout::var_45
                      (layout,&signature,(type_19 *)this,var_15,true,true,&kept_section);
    if ((bool)var_47) {
      if (layout->incremental_inputs_ != (type_20 *)0x0) {
        Incremental_inputs::var_46
                  (layout->incremental_inputs_,(type_16 *)this,signature._M_dataplus._M_p);
      }
      var_20 = (shdr.p_)->sh_size;
      var_42 = var_20 >> 0x38 | (var_20 & 0xff000000000000) >> 0x28 |
                  (var_20 & 0xff0000000000) >> 0x18 | (var_20 & 0xff00000000) >> 8 |
                  (var_20 & 0xff000000) << 8 | (var_20 & 0xff0000) << 0x18 |
                  (var_20 & 0xff00) << 0x28 | var_20 << 0x38;
      var_58 = (bool)var_47;
      goto LAB_001e6c9f;
    }
    var_8.super__Vector_base<var_7,_std::var_3<var_7>var_2>._M_impl._M_start =
         (type_17)0x0;
    var_8.super__Vector_base<var_7,_std::var_3<var_7>var_2>._M_impl._M_finish =
         (type_17)0x0;
    var_8.super__Vector_base<var_7,_std::var_3<var_7>var_2>._M_impl.
    _M_end_of_storage = (type_17)0x0;
    var_20 = (shdr.p_)->sh_size;
    var_42 = (var_20 >> 0x38 | (var_20 & 0xff000000000000) >> 0x28 |
                 (var_20 & 0xff0000000000) >> 0x18 | (var_20 & 0xff00000000) >> 8 |
                 (var_20 & 0xff000000) << 8 | (var_20 & 0xff0000) << 0x18 |
                 (var_20 & 0xff00) << 0x28 | var_20 << 0x38) >> 2;
    if (var_42 < 2) goto LAB_001e735d;
    var_54 = '\0';
    var_58 = true;
LAB_001e6cd9:
    var_63 = (vector<var_7,_std::var_3<var_7>var_2> *)0x1;
    var_6 = &mname.field_2;
    do {
      var_27 = puVar9[(long)var_63];
      var_27 = var_27 >> 0x18 | (var_27 & 0xff0000) >> 8 | (var_27 & 0xff00) << 8 | var_27 << 0x18;
      if (var_27 < 0xff00) {
        var_48 = var_27;
        if (var_47 != '\0') goto LAB_001e6e26;
LAB_001e6d30:
        if ((this->super_Sized_relobj<64,var_10>).super_Relobj.super_Object.shnum_ <= var_48)
        goto LAB_001e6e59;
LAB_001e6d3a:
        EVar4 = var_48;
        if (var_48 < var_15) {
          pcVar14 = (char *)var_25("invalid section group %u refers to earlier section %u");
                    /* try { // try from 001e6fe2 to 001e6fe6 has its CatchHandler @ 001e73c5 */
          Object::var_26((type_16 *)this,pcVar14,(type_1)var_15,(type_1)EVar4);
        }
        var_59 = (type_5 *)(var_14 + (var_48 << 6));
        var_27 = *var_59;
        var_20 = (type_1)(var_27 >> 0x18 | (var_27 & 0xff0000) >> 8 | (var_27 & 0xff00) << 8 |
                        var_27 << 0x18);
        if (var_20 < var_35) {
          pcVar14 = (char *)0xffffffffffffffff;
          var_49 = var_37 + var_20;
          mname._M_dataplus._M_p = (type_17)var_6;
          if (var_49 != (char *)0x0) {
            var_51 = var_50(var_49);
            pcVar14 = var_49 + var_51;
          }
                    /* try { // try from 001e6d98 to 001e6e77 has its CatchHandler @ 001e73c5 */
          std::__cxx11::var_34<var_4,_std::char_traits<var_4>,_std::var_3<var_4>var_2>::
          var_52<var_53*>(&mname,var_49,pcVar14);
          EVar4 = var_48;
          if (var_54 == '\0') {
            puVar16 = (type_1 *)((type_1)(var_48 >> 3 & 0x1ffffff8) +
                               (long)(omit->super__Bvector_base<var_55::var_3<var_56>var_2>var_57)._M_impl.
                                     super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p
                               );
            *puVar16 = *puVar16 | 1L << ((type_21)var_48 & 0x3f);
            if ((var_58 != false) && ((var_42 == 2 || (kept_section->is_comdat_ != false)))) {
              var_20 = *(type_1 *)(var_59 + 8);
              var_12.second.kept_section = kept_section;
              var_12.first = var_48;
              var_12.second.sh_size =
                   var_20 >> 0x38 | (var_20 & 0xff000000000000) >> 0x28 |
                   (var_20 & 0xff0000000000) >> 0x18 | (var_20 & 0xff00000000) >> 8 |
                   (var_20 & 0xff000000) << 8 | (var_20 & 0xff0000) << 0x18 |
                   (var_20 & 0xff00) << 0x28 | var_20 << 0x38;
              var_12.second.is_comdat = true;
              var_12.second.symndx = var_21;
                    /* try { // try from 001e706e to 001e7072 has its CatchHandler @ 001e73ca */
              var_55::
              _Rb_tree<var_7,_std::pair<unsigned_int_const,_gold::var_9<64,var_10>::var_11>,_std::_Select1st<var_55::pair<unsigned_int_const,_gold::var_9<64,var_10>::var_11>var_2>,_std::less<var_7>,_std::var_3<var_55::pair<unsigned_int_const,_gold::var_9<64,var_10>::var_11>var_2>var_2>
              ::
              _M_emplace_unique<var_55::pair<var_7,_gold::var_9<64,var_10>::var_11>var_2>
                        (&(this->kept_comdat_sections_)._M_t,&var_12);
            }
          }
          else if (var_58 != false) {
            var_20 = *(type_1 *)(var_59 + 8);
            if (kept_section->is_comdat_ == false) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 001e73c0 to 001e73c4 has its CatchHandler @ 001e73ca */
              var_43("../../gold/layout.h",0x135,"add_comdat_section");
            }
            this_00 = &((kept_section->u_).group_sections)->_M_t;
            var_60 = var_61;
                    /* try { // try from 001e7166 to 001e716a has its CatchHandler @ 001e73ca */
            var_55::__cxx11::var_34<var_4,_std::char_traits<var_4>,_std::var_3<var_4>var_2>::
            var_52<var_4*>((var_34<var_4,_std::char_traits<var_4>,_std::var_3<var_4>var_2> *
                                )&var_40,mname._M_dataplus._M_p,
                                mname._M_dataplus._M_p + mname._M_string_length);
            local_48 = EVar4;
            local_40 = var_20 >> 0x38 | (var_20 & 0xff000000000000) >> 0x28 |
                       (var_20 & 0xff0000000000) >> 0x18 | (var_20 & 0xff00000000) >> 8 |
                       (var_20 & 0xff000000) << 8 | (var_20 & 0xff0000) << 0x18 |
                       (var_20 & 0xff00) << 0x28 | var_20 << 0x38;
                    /* try { // try from 001e7189 to 001e718d has its CatchHandler @ 001e7437 */
            var_55::
            _Rb_tree<var_55::__cxx11::var_34<var_4,_std::char_traits<var_4>,_std::var_3<var_4>var_2>,_std::pair<const_std::__cxx11::var_34<var_4,_std::char_traits<var_4>,_std::var_3<var_4>var_2>,_gold::type_13::var_1>,_std::_Select1st<var_55::pair<const_std::__cxx11::var_34<var_4,_std::char_traits<var_4>,_std::var_3<var_4>var_2>,_gold::type_13::var_1>var_2>,_std::less<var_55::__cxx11::var_34<var_4,_std::char_traits<var_4>,_std::var_3<var_4>var_2>var_2>,_std::var_3<var_55::pair<const_std::__cxx11::var_34<var_4,_std::char_traits<var_4>,_std::var_3<var_4>var_2>,_gold::type_13::var_1>var_2>var_2>
            ::
            _M_emplace_unique<var_55::pair<var_55::__cxx11::var_34<var_4,_std::char_traits<var_4>,_std::var_3<var_4>var_2>,_gold::Kept_section::var_1>var_2>
                      (this_00,(pair<var_55::__cxx11::var_34<var_4,_std::char_traits<var_4>,_std::var_3<var_4>var_2>,_gold::type_13::var_1>
                                *var_57)&var_40);
            if (var_60 != var_61) {
              var_62(var_60);
            }
          }
          if ((anon_union_16_2_edb7204a_for_basic_string<var_4,_std::char_traits<var_4>,_std::var_3<var_4>var_2>var_5
               *)mname._M_dataplus._M_p != var_6) {
            var_62(mname._M_dataplus._M_p);
          }
        }
      }
      else {
        elfcpp::Elf_file<64,var_10,_gold::type_16>::var_22(&this->elf_file_);
        var_27 = var_27 + (this->elf_file_).large_shndx_offset_;
        var_48 = var_27;
        if (var_47 == '\0') goto LAB_001e6d30;
LAB_001e6e26:
        var_48 = var_27;
        if (var_8.super__Vector_base<var_7,_std::var_3<var_7>var_2>._M_impl.
            _M_finish ==
            var_8.super__Vector_base<var_7,_std::var_3<var_7>var_2>._M_impl.
            _M_end_of_storage) {
                    /* try { // try from 001e71be to 001e71c2 has its CatchHandler @ 001e73c5 */
          std::vector<var_7,_std::var_3<var_7>var_2>::
          _M_realloc_insert<unsigned_int_const&>
                    (&var_8,(iterator)
                              var_8.
                              super__Vector_base<var_7,_std::var_3<var_7>var_2>.
                              _M_impl._M_finish,&var_48);
          goto LAB_001e6d30;
        }
        *var_8.super__Vector_base<var_7,_std::var_3<var_7>var_2>._M_impl._M_finish =
             var_27;
        var_8.super__Vector_base<var_7,_std::var_3<var_7>var_2>._M_impl._M_finish =
             var_8.super__Vector_base<var_7,_std::var_3<var_7>var_2>._M_impl.
             _M_finish + 1;
        if (var_27 < (this->super_Sized_relobj<64,var_10>).super_Relobj.super_Object.shnum_)
        goto LAB_001e6d3a;
LAB_001e6e59:
        EVar4 = var_48;
        pcVar14 = (char *)var_25("section %u in section group %u out of range");
        Object::var_26((type_16 *)this,pcVar14,(type_1)EVar4,(type_1)var_15);
      }
      var_63 = (vector<var_7,_std::var_3<var_7>var_2> *var_57)((long)var_63 + 1);
    } while (var_63 < var_42);
    if (var_47 != '\0') {
LAB_001e7093:
      var_63 = &var_8;
                    /* try { // try from 001e70ce to 001e70d2 has its CatchHandler @ 001e73c5 */
      Layout::var_64<64,var_10>
                (layout,symtab,this,var_15,name,signature._M_dataplus._M_p,&shdr,
                 var_41 >> 0x18 | (var_41 & 0xff0000) >> 8 | (var_41 & 0xff00) << 8 | var_41 << 0x18,
                 var_63);
    }
  }
  if (var_8.super__Vector_base<var_7,_std::var_3<var_7>var_2>._M_impl._M_start !=
      (type_17)0x0) {
    var_62(var_8.super__Vector_base<var_7,_std::var_3<var_7>var_2>._M_impl.
                    _M_start);
  }
LAB_001e70e8:
  if ((anon_union_16_2_edb7204a_for_basic_string<var_4,_std::char_traits<var_4>,_std::var_3<var_4>var_2>var_5
       *)signature._M_dataplus._M_p != &signature.field_2) {
    var_62(signature._M_dataplus._M_p);
  }
  return (bool)var_54;
}


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

char MASKED(long *param_1,undefined8 param_2,long param_3,uint param_4,undefined8 param_5,
                 long param_6,long param_7,ulong param_8,long *param_9)

{
  uint uVar1;
  ulong uVar2;
  ushort uVar3;
  uint uVar4;
  uint *puVar5;
  undefined8 uVar6;
  long lVar7;
  uint *puVar8;
  size_t sVar9;
  ulong uVar10;
  ulong *puVar11;
  undefined8 extraout_RDX;
  char *pcVar12;
  undefined8 extraout_RDX_00;
  undefined8 extraout_RDX_01;
  undefined8 extraout_RDX_02;
  undefined4 *puVar13;
  char *__s;
  char cVar14;
  uint uVar15;
  undefined1 auVar16 [16];
  undefined8 uStack_1a0;
  char local_122;
  char local_121;
  ulong local_118;
  long *local_110;
  uint local_104;
  long local_100;
  ulong local_f8;
  long local_f0;
  long local_e8;
  uint *local_e0;
  uint *local_d8;
  char *local_c8 [2];
  char acStack_b8 [16];
  undefined1 *local_a8;
  long local_a0;
  undefined1 auStack_98 [16];
  uint local_88 [2];
  ulong local_80;
  long local_78;
  uint local_70;
  undefined1 local_6c;
  undefined1 *local_68 [2];
  undefined1 local_58 [16];
  uint local_48;
  ulong local_40;
  
  local_100 = (ulong)(param_4 << 6) + param_6;
  uVar10 = *(ulong *)(local_100 + 0x20);
  uVar2 = *(ulong *)(local_100 + 0x18);
  if (param_1[5] == 0) {
LAB_001e7390:
                    /* WARNING: Subroutine does not return */
    FUN_001d17f0();
  }
  puVar5 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],
                                uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 |
                                (uVar2 & 0xff0000000000) >> 0x18 | (uVar2 & 0xff00000000) >> 8 |
                                (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |
                                (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38,
                                uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |
                                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |
                                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |
                                (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38,1,0);
  uVar1 = *puVar5;
  uVar4 = *(uint *)(local_100 + 0x28);
  uVar4 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;
  if (0xfeff < uVar4) {
    FUN_001dab60(param_1 + 0x1f);
    uVar4 = uVar4 + (int)param_1[0x22];
  }
  uVar6 = FUN_001e0b10(param_1 + 0x1f,uVar4);
  if (param_1[5] == 0) goto LAB_001e7390;
  lVar7 = FUN_0018a760(param_1[5] + 0x28,param_1[6],uVar6,0x40,1,1);
  uVar10 = *(ulong *)(lVar7 + 0x20);
  uVar4 = *(uint *)(local_100 + 0x2c);
  uVar4 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;
  if ((uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |
       (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |
       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38) / 0x18 <= (ulong)uVar4) {
    uVar6 = gettext("section group %u info %u out of range");
    uVar15 = uVar4;
LAB_001e6ed5:
    FUN_001d19e0(param_1,uVar6,param_4,uVar15);
    return '\0';
  }
  uVar10 = *(ulong *)(lVar7 + 0x18);
  if (param_1[5] == 0) goto LAB_001e7390;
  puVar8 = (uint *)FUN_0018a760(param_1[5] + 0x28,param_1[6],
                                (ulong)(uVar4 * 0x18) +
                                (uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |
                                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |
                                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |
                                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38),0x18,1,0);
  uVar15 = *(uint *)(lVar7 + 0x28);
  uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;
  if (0xfeff < uVar15) {
    FUN_001dab60(param_1 + 0x1f);
    uVar15 = uVar15 + (int)param_1[0x22];
  }
  if (*(code **)(*param_1 + 0x70) == FUN_001e0d50) {
    auVar16 = FUN_001e0ca0(param_1 + 0x1f,uVar15);
    local_f8 = auVar16._8_8_;
    puVar13 = &DAT_00393c8a;
    if (local_f8 != 0) {
      if (param_1[5] == 0) goto LAB_001e7390;
      puVar13 = (undefined4 *)FUN_0018a760(param_1[5] + 0x28,param_1[6],auVar16._0_8_,local_f8,1,1);
    }
  }
  else {
    puVar13 = (undefined4 *)(**(code **)(*param_1 + 0x70))(param_1,uVar15,&local_f8,1);
  }
  uVar15 = *puVar8;
  uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;
  if (local_f8 <= uVar15) {
    uVar6 = gettext("symbol %u name offset %u out of range");
    param_4 = uVar4;
    goto LAB_001e6ed5;
  }
  uStack_1a0 = 0x1e6c17;
  FUN_001d26c0(local_c8,(long)puVar13 + (ulong)uVar15);
  uVar6 = extraout_RDX;
  if ((*local_c8[0] == '\0') && ((puVar8[1] & 0xf) == 3)) {
    uVar3 = *(ushort *)((long)puVar8 + 6) << 8 | *(ushort *)((long)puVar8 + 6) >> 8;
    uVar15 = (uint)uVar3;
    if (uVar15 < 0xff00) {
      local_68[0] = (undefined1 *)CONCAT71(local_68[0]._1_7_,1);
LAB_001e6f84:
      if (uVar15 < *(uint *)(param_1 + 7)) {
        uVar15 = *(uint *)(param_6 + (ulong)(uVar15 << 6));
        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |
                        uVar15 << 0x18);
        if (uVar10 < param_8) {
                    /* try { // try from 001e6fba to 001e6fbe has its CatchHandler @ 001e7432 */
          uStack_1a0 = 0x1e6fbf;
          FUN_002f9af0(local_c8,uVar10 + param_7);
          uVar6 = extraout_RDX_00;
        }
        goto LAB_001e6c3f;
      }
    }
    else if (uVar3 == 0xffff) {
      uStack_1a0 = 0x1e737b;
      uVar15 = FUN_001d1b60(param_1,uVar4,local_68);
      uVar6 = extraout_RDX_02;
      if ((char)local_68[0] != '\0') goto LAB_001e6f84;
    }
    else {
      local_68[0] = (undefined1 *)((ulong)local_68[0]._1_7_ << 8);
    }
    uVar6 = gettext("symbol %u invalid section index %u");
                    /* try { // try from 001e7358 to 001e737a has its CatchHandler @ 001e7432 */
    FUN_001d19e0(param_1,uVar6,uVar4,uVar15);
LAB_001e735d:
    local_121 = '\0';
    goto LAB_001e70e8;
  }
LAB_001e6c3f:
  local_f0 = 0;
  if ((uVar1 >> 0x18 & 1) == 0) {
    uVar10 = *(ulong *)(local_100 + 0x20);
    local_122 = '\0';
    local_118 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |
                (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |
                (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28
                | uVar10 << 0x38;
    uStack_1a0 = uVar6;
LAB_001e6c9f:
    local_118 = local_118 >> 2;
    local_d8 = (uint *)0x0;
    local_e0 = (uint *)0x0;
    local_e8 = 0;
    if (*(long *)(PTR_DAT_0045c708 + 0x10) == 0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 001e73a8 to 001e73ac has its CatchHandler @ 001e73c5 */
      FUN_0018ff20("../../gold/parameters.h",0x5c,"options");
    }
    cVar14 = *(char *)(*(long *)(PTR_DAT_0045c708 + 0x10) + 0x5051);
    if (cVar14 != '\0') {
                    /* try { // try from 001e7314 to 001e7318 has its CatchHandler @ 001e73c5 */
      FUN_001da300(&local_e8,local_118 - 1,uStack_1a0);
      local_121 = cVar14;
      if (1 < local_118) goto LAB_001e6cd9;
      goto LAB_001e7093;
    }
    local_121 = '\x01';
    if (1 < local_118) goto LAB_001e6cd9;
  }
  else {
                    /* try { // try from 001e71ff to 001e7228 has its CatchHandler @ 001e7432 */
    local_122 = FUN_001c1720(param_3,local_c8,param_1,param_4,1,1,&local_f0);
    if (local_122 != '\0') {
      if (*(long *)(param_3 + 0x378) != 0) {
        FUN_00197030(*(long *)(param_3 + 0x378),param_1,local_c8[0]);
        uStack_1a0 = extraout_RDX_01;
      }
      uVar10 = *(ulong *)(local_100 + 0x20);
      local_118 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |
                  (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |
                  (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |
                  (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;
      goto LAB_001e6c9f;
    }
    local_e8 = 0;
    local_e0 = (uint *)0x0;
    local_d8 = (uint *)0x0;
    uVar10 = *(ulong *)(local_100 + 0x20);
    local_118 = (uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |
                 (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |
                 (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |
                 (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38) >> 2;
    if (local_118 < 2) goto LAB_001e735d;
    local_121 = '\0';
    local_122 = '\x01';
    cVar14 = '\0';
LAB_001e6cd9:
    local_110 = (long *)0x1;
    do {
      uVar15 = puVar5[(long)local_110];
      uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;
      if (uVar15 < 0xff00) {
        local_104 = uVar15;
        if (cVar14 != '\0') goto LAB_001e6e26;
LAB_001e6d30:
        if (*(uint *)(param_1 + 7) <= local_104) goto LAB_001e6e59;
LAB_001e6d3a:
        uVar15 = local_104;
        if (local_104 < param_4) {
          uVar6 = gettext("invalid section group %u refers to earlier section %u");
                    /* try { // try from 001e6fe2 to 001e6fe6 has its CatchHandler @ 001e73c5 */
          FUN_001d19e0(param_1,uVar6,param_4,uVar15);
        }
        puVar8 = (uint *)((ulong)(local_104 << 6) + param_6);
        uVar15 = *puVar8;
        uVar10 = (ulong)(uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |
                        uVar15 << 0x18);
        if (uVar10 < param_8) {
          pcVar12 = (char *)0xffffffffffffffff;
          __s = (char *)(uVar10 + param_7);
          local_a8 = auStack_98;
          if (__s != (char *)0x0) {
            sVar9 = strlen(__s);
            pcVar12 = __s + sVar9;
          }
                    /* try { // try from 001e6d98 to 001e6e77 has its CatchHandler @ 001e73c5 */
          FUN_00174550(&local_a8,__s,pcVar12);
          uVar15 = local_104;
          if (local_121 == '\0') {
            puVar11 = (ulong *)((ulong)(local_104 >> 3 & 0x1ffffff8) + *param_9);
            *puVar11 = *puVar11 | 1L << ((byte)local_104 & 0x3f);
            if ((local_122 != '\0') && ((local_118 == 2 || (*(char *)(local_f0 + 0xc) != '\0')))) {
              uVar10 = *(ulong *)(puVar8 + 8);
              local_78 = local_f0;
              local_88[0] = local_104;
              local_80 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |
                         (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |
                         (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |
                         (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;
              local_6c = 1;
              local_70 = uVar4;
                    /* try { // try from 001e706e to 001e7072 has its CatchHandler @ 001e73ca */
              FUN_001e2560(param_1 + 0x36,local_88);
            }
          }
          else if (local_122 != '\0') {
            uVar10 = *(ulong *)(puVar8 + 8);
            if (*(char *)(local_f0 + 0xc) == '\0') {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 001e73c0 to 001e73c4 has its CatchHandler @ 001e73ca */
              FUN_0018ff20("../../gold/layout.h",0x135,"add_comdat_section");
            }
            uVar6 = *(undefined8 *)(local_f0 + 0x10);
            local_68[0] = local_58;
                    /* try { // try from 001e7166 to 001e716a has its CatchHandler @ 001e73ca */
            FUN_0017d640(local_68,local_a8,local_a8 + local_a0);
            local_48 = uVar15;
            local_40 = uVar10 >> 0x38 | (uVar10 & 0xff000000000000) >> 0x28 |
                       (uVar10 & 0xff0000000000) >> 0x18 | (uVar10 & 0xff00000000) >> 8 |
                       (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 |
                       (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;
                    /* try { // try from 001e7189 to 001e718d has its CatchHandler @ 001e7437 */
            FUN_001d9dc0(uVar6,local_68);
            if (local_68[0] != local_58) {
              FUN_002f1e60();
            }
          }
          if (local_a8 != auStack_98) {
            FUN_002f1e60();
          }
        }
      }
      else {
        FUN_001dab60(param_1 + 0x1f);
        uVar15 = uVar15 + (int)param_1[0x22];
        local_104 = uVar15;
        if (cVar14 == '\0') goto LAB_001e6d30;
LAB_001e6e26:
        local_104 = uVar15;
        if (local_e0 == local_d8) {
                    /* try { // try from 001e71be to 001e71c2 has its CatchHandler @ 001e73c5 */
          FUN_001a8910(&local_e8,local_e0,&local_104);
          goto LAB_001e6d30;
        }
        *local_e0 = uVar15;
        local_e0 = local_e0 + 1;
        if (uVar15 < *(uint *)(param_1 + 7)) goto LAB_001e6d3a;
LAB_001e6e59:
        uVar15 = local_104;
        uVar6 = gettext("section %u in section group %u out of range");
        FUN_001d19e0(param_1,uVar6,uVar15,param_4);
      }
      local_110 = (long *)((long)local_110 + 1);
    } while (local_110 < local_118);
    if (cVar14 != '\0') {
LAB_001e7093:
      local_110 = &local_e8;
                    /* try { // try from 001e70ce to 001e70d2 has its CatchHandler @ 001e73c5 */
      FUN_001caee0(param_3,param_2,param_1,param_4,param_5,local_c8[0],&local_100,
                   uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18,
                   local_110);
    }
  }
  if (local_e8 != 0) {
    FUN_002f1e60();
  }
LAB_001e70e8:
  if (local_c8[0] != acStack_b8) {
    FUN_002f1e60();
  }
  return local_121;
}

